1/25ページ
カタログの表紙 カタログの表紙 カタログの表紙
カタログの表紙

このカタログをダウンロードして
すべてを見る

ダウンロード(4.1Mb)

超音波の音圧測定解析

事例紹介

超音波の音圧測定解析(自己相関、パワースペクトル、バイスペクトル)

超音波システム研究所は、
 多変量自己回帰モデルによるフィードバック解析技術を応用した、
 「超音波の伝搬状態を測定・解析・評価する技術」を利用して
 超音波利用に関するコンサルティング対応を行っています。

超音波テスターを利用したこれまでの
 計測・解析・結果(注)を時系列に整理することで
 目的に適した超音波の状態を示す
 新しい評価基準(パラメータ)を設定・確認します。

注:
 非線形特性(音響流のダイナミック特性)
 応答特性
 ゆらぎの特性
 相互作用による影響

統計数理の考え方を参考に
 対象物の音響特性・表面弾性波を考慮した
 オリジナル測定・解析手法を開発することで
 振動現象に関する、詳細な各種効果の関係性について
 新しい理解を深めています。

その結果、
 超音波の伝搬状態と対象物の表面について
 新しい非線形パラメータが大変有効である事例による
 実績が増えています。

特に、洗浄・加工・表面処理効果に関する評価事例・・
 良好な確認に基づいた、制御・改善・・・が実現します。

<統計的な考え方について>
 統計数理には、抽象的な性格と具体的な性格の二面があり、
 具体的なものとの接触を通じて
 抽象的な考えあるいは方法が発展させられていく、
 これが統計数理の特質である


<< 超音波の音圧測定・解析 >>

1)時系列データに関して、
 多変量自己回帰モデルによるフィードバック解析により
 測定データの統計的な性質(超音波の安定性・変化)について
 解析評価します

2)超音波発振による、発振部が発振による影響を
 インパルス応答特性・自己相関の解析により
 対象物の表面状態・・に関して
 超音波振動現象の応答特性として解析評価します

3)発振と対象物(洗浄物、洗浄液、水槽・・)の相互作用を
 パワー寄与率の解析により評価します

4)超音波の利用(洗浄・加工・攪拌・・)に関して
 超音波効果の主要因である対象物(表面弾性波の伝搬)
 あるいは対象液に伝搬する超音波の
 非線形(バイスペクトル解析結果)現象により
 超音波のダイナミック特性を解析評価します

この解析方法は、
 複雑な超音波振動のダイナミック特性を
 時系列データの解析手法により、
 超音波の測定データに適応させる
 これまでの経験と実績に基づいて実現しています。

注:解析には下記ツールを利用します
注:OML(Open Market License)
   https://www.ism.ac.jp/ismlib/jpn/ismlib/license.html
注:TIMSAC(TIMe Series Analysis and Control program)
   https://jasp.ism.ac.jp/ism/timsac/
注:「R」フリーな統計処理言語かつ環境
   https://cran.ism.ac.jp/

関連メディア

このカタログについて

ドキュメント名 超音波の音圧測定解析
ドキュメント種別 事例紹介
ファイルサイズ 4.1Mb
登録カテゴリ
取り扱い企業 超音波システム研究所 (この企業の取り扱いカタログ一覧)

この企業の関連カタログ

このカタログの内容

Page1

超音波技術(R言語) 超音波の音圧測定データ解析手順 音圧測定データ 音圧解析結果 超音波システム研究所
Page2

音圧測定
Page3

1. 準備 解析用データの確認 測定データ(PSDATA ファイル)から 解析用の Microsoft Office Excel CSV ファイル がホルダーにあることを確認してください ファイルがない場合は、CSVファイルに保存してください 例 C:/us-data2/20100101-0004/20100101-0004_01.csv 上記のサンプルデータを希望される方はメールで連絡してください
Page4

2. 解析ソフトの立ち上げ ダブルクリックして立ち上げる >| 左記のようなプロンプト表示が行われます エラー表示が行われた場合には、 その他の作業ファイル・・・を終了してから もう一度立ち上げてください
Page5

3. 解析ソフトの読み込み 3-1:パッケージ-> ローカルにあるzipファイルからの・・・・ 3-2:デスクトップのzipファイル TIMSAC1.2.1 を選択する
Page6

3-3:読み込み画面の確認 3-4:パッケージの読み込み パッケージ->パッケージ読み込み・・・ 選択する
Page7

3-5:timsacの選択 3-6:「OK」選択により読み込み 以上で解析準備完了です
Page8

参考 バイスペクトル バイスペクトルは以下のように 周波数 f1、f 2、f1 + f 2のスペクトルの積で表すことができる。 B( f1 , f 2 ) = X ( f1 )Y( f 2 )Z ( f1 + f 2 ) 主要周波数が f1であるとき、 f1 + f1 = f 2、f1 + f 2 = f3で表される f 2、f3という周波数成分 が存在すればバイスペクトルは値をもつ。 これは主要周波数 f1の整数倍の周波数成分を持つこと と同等であるので、バイスペクトルを評価することにより、 高調波の存在を評価できる。 詳しい説明は専門書・・・を読んで確認してください エクセルファイルのデータ列
Page9

解析 1(結果をpngファイルで保存) コマンドファイル::解析 1(結果をpngファイルで保存).txt data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=6000) png(file="C:/us-data2/20100101-0020/20100101-0020_01.png") plot(data11$V2, main="音圧測定データ chA") dev.off() data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=6000) png(file="C:/us-data2/20100101-0020/20100101-0020sp0001_01.png") a <- spectrum(data11$V2,method="ar") plot(a, sub="パワースペクトル") dev.off() data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=6000) png(file="C:/us-data2/20100101-0020/20100101-0020bi0001_01.png") bispec(data11$V2) dev.off() data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=6000) png(file="C:/us-data2/20100101-0020/20100101-0020au0001_01.png") autcor(data11$V2) dev.off() ・・・・・ ・・・・・ 実行結果(C:/us-data2/20100101-0020/)
Page10

解析 2(結果を画面にグラフで表示) コマンドファイル::解析 2(結果を画面にグラフで表示).txt par(mfrow=c(2,4)) data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=3000) plot(data11$V2, main="音圧測定データ chA") data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=3000) a <- spectrum(data11$V2,method="ar") data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=3000) bispec(data11$V2) data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=3000) autcor(data11$V2) ・・・ ・・・ 実行結果(C:/us-data2/20100101-0020/20100101-0020_01.csv C:/us-data2/20100101-0020/20100101-0020_02.csv)
Page11

解析 3(バイスペクトルを画面にグラフで表示) コマンドファイル::解析 3(バイスペクトルを画面にグラフで表示).txt par(mfrow=c(2,4)) data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_01.csv", skip=6, sep=",", nrows=3000) bispec(data11$V2) data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_02.csv", skip=6, sep=",", nrows=3000) bispec(data11$V2) data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_03.csv", skip=6, sep=",", nrows=3000) bispec(data11$V2) data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_04.csv", skip=6, sep=",", nrows=3000) bispec(data11$V2) data11 <- read.table("C:/us-data2/20100101-0020/20100101-0020_05.csv", skip=6, sep=",", nrows=3000) bispec(data11$V2) ・・・ ・・・ 実行結果(C:/us-data2/20100101-0020/20100101-0020_01.csv ・・・ C:/us-data2/20100101-0020/20100101-0020_32.csv)
Page12

解析コマンド dev.off() par(mfrow=c(2,2)) : 2行 2 列のグラフ表示設定 data11 <- read.table("C:/20191220/20191220-0030/20191220-0030_12.csv", skip=6, sep=",", nrows=6000) plot(data11$V2) data11 <- read.table("C:/20191220/20191220-0030/20191220-0030_12.csv", skip=6, sep=",", nrows=6000) spectrum(data11$V2,method="ar") data11 <- read.table("C:/20191220/20191220-0030/20191220-0030_12.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0030/20191220-0030_12.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2)
Page13

dev.off() 解説 終了 plot(data11$V2) 解説 data11 の 2番目のデータ列(1chの測定データ)に対して プロット(音圧測定データのグラフ作成)を行う spectrum(data11$V2,method="ar") 解説 data11の 2 番目のデータ列(1chの測定データ)に対して AR(自己回帰)モデルによるスペクトル解析を行う bispec(data11$V2) 解説 data11の 2 番目のデータ列(1chの測定データ)に対して バイスペクトル解析を行う autcor(data11$V2) 解説 data11の 2 番目のデータ列(1chの測定データ)に対して 自己相関の解析を行う dev.off()
Page14

参考 1)以下のようにテキストデータをコピーしてRの画面にペーストすると 1chと2chのデータ比較ができます dev.off() par(mfrow=c(4,2)) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) plot(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) spectrum(data11$V2,method="ar") data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) plot(data11$V3) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) spectrum(data11$V3,method="ar") data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) bispec(data11$V3) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) autcor(data11$V3)
Page15

2)以下のようにテキストデータをコピーしてRの画面にペーストすると すべての解析を連続的に行います dev.off() par(mfrow=c(2,2)) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) plot(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) spectrum(data11$V2,method="ar") data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_12.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2) ・・・・・・・・ ・・・・・・・・ data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_24.csv", skip=6, sep=",", nrows=6000) plot(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_24.csv", skip=6, sep=",", nrows=6000) spectrum(data11$V2,method="ar") data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_24.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_24.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2)
Page16

3)以下のようにテキストデータをコピーしてRの画面にペーストすると 各種データの関係をグラフで確認できます 下記をコピー&ペースト setwd("D:/R-data") df <- read.csv("20170905-0054/20170905-0054_03.csv",skip=2,header=T,row.names=1) ndf <- na.omit(df)#欠損(NA)を除く ndf daBbb <- as.numeric(ndf[,1])#ndf[,1]を数字に変換 daCcc <- as.numeric(ndf[,2])#ndf[,2]を数字に変換 A1 <- ts(daBbb) B1 <- ts(daCcc) df <- read.csv("20170905-0054/20170905-0054_04.csv",skip=2,header=T,row.names=1) ndf <- na.omit(df)#欠損(NA)を除く ndf daBbb <- as.numeric(ndf[,1])#ndf[,1]を数字に変換 daCcc <- as.numeric(ndf[,2])#ndf[,2]を数字に変換 A2 <- ts(daBbb) B2 <- ts(daCcc) df <- read.csv("20170905-0054/20170905-0054_05.csv",skip=2,header=T,row.names=1) ndf <- na.omit(df)#欠損(NA)を除く ndf daBbb <- as.numeric(ndf[,1])#ndf[,1]を数字に変換 daCcc <- as.numeric(ndf[,2])#ndf[,2]を数字に変換 A3 <- ts(daBbb) B3 <- ts(daCcc) df <- read.csv("20170905-0054/20170905-0054_06.csv",skip=2,header=T,row.names=1) ndf <- na.omit(df)#欠損(NA)を除く ndf daBbb <- as.numeric(ndf[,1])#ndf[,1]を数字に変換 daCcc <- as.numeric(ndf[,2])#ndf[,2]を数字に変換 A4 <- ts(daBbb) B4 <- ts(daCcc)
Page17

par(mfrow=c(4,2)) ts.plot(A1,main="A1") ts.plot(B1,main="B1") ts.plot(A2,main="A2") ts.plot(B2,main="B2") ts.plot(A3,main="A3") ts.plot(B3,main="B3") ts.plot(A4,main="A4") ts.plot(B4,main="B4") 下記をコピー&ペースト par(mfrow=c(2,2)) plot(A1,B1) plot(A2,B2) plot(A3,B3) plot(A4,B4)
Page18

実施例:バイスペクトルの変化を確認する dev.off() par(mfrow=c(3,2)) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_13.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_14.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_15.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_15.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_17.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_18.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2)
Page19

実施例:自己相関の変化を確認する dev.off() par(mfrow=c(3,2)) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_13.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_14.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_15.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_15.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_17.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2) data11 <- read.table("C:/20191220/20191220-0022/20191220-0022_18.csv", skip=6, sep=",", nrows=6000) autcor(data11$V2)
Page20

解析の詳細・解析結果の解釈・・・については 以下の参考書籍・・・の専門書を読んでください 参考書籍 1:統計数理 1)叩いて超音波で見る―非線形効果を利用した計測 佐藤 拓宋 (著) 出版社: コロナ社 (1995/06) 2)電気系の確率と統計 佐藤 拓宋 (著) 出版社: 森北出版 (1971/01) 3)不規則信号論と動特性推定 宮川 洋 (著), 佐藤拓宋 (著), 茅 陽一 (著) 出版社: コロナ社 (1969) 4)赤池情報量規準 AIC―モデリング・予測・知識発見 赤池 弘次 (著), 室田 一雄 (編さん), 土谷 隆 (編さん) 出版社: 共立出版 (2007/07) 5)ダイナミックシステムの統計的解析と制御 赤池 弘次 (著), 中川 東一郎 (著) 出版社: サイエンス社(1972) 参考資料 統計的な考え方を利用した超音波 http://ultrasonic-labo.com/?p=12202 超音波の洗浄・攪拌・加工に関する「論理モデル」 http://ultrasonic-labo.com/?p=3963 物の動きを読む http://ultrasonic-labo.com/?p=1074 超音波技術:多変量自己回帰モデルによるフィードバック解析 http://ultrasonic-labo.com/?p=15785