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

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

ダウンロード(3.6Mb)

超音波の音圧データ解析技術(R言語)

事例紹介

超音波伝搬状態の解析・評価

<<超音波の音圧データ解析・評価>>

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

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

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

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

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

注:解析には下記ツールを利用します
注:OML(Open Market License)
注:TIMSAC(TIMe Series Analysis and Control program)
注:「R」フリーな統計処理言語かつ環境

超音波の伝搬特性
1)振動モードの検出(自己相関の変化)
2)非線形現象の検出(バイスペクトルの変化)
3)応答特性の検出(インパルス応答の解析)
4)相互作用の検出(パワー寄与率の解析)

注:「R」フリーな統計処理言語かつ環境
 autcor:自己相関の解析関数
 bispec:バイスペクトルの解析関数
 mulmar:インパルス応答の解析関数
 mulnos:パワー寄与率の解析関数

このカタログについて

ドキュメント名 超音波の音圧データ解析技術(R言語)
ドキュメント種別 事例紹介
ファイルサイズ 3.6Mb
取り扱い企業 超音波システム研究所 (この企業の取り扱いカタログ一覧)

この企業の関連カタログ

このカタログの内容

Page1

超音波の音圧データ解析技術(R言語) 超音波伝搬状態の解析・評価 音圧グラフ 横軸:時間 縦軸:音圧 音圧データの解析(自己相関) 超音波システム研究所
Page2

音圧測定
Page3

1. 準備 解析用データの確認 超音波の音圧測定データ (例 オシロスコープの測定データ形式 PSDATA ファイル)から 解析用の Microsoft Office Excel CSV ファイル を作成・保存してください 例
Page4

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

3. 解析ソフトの読み込み 3-1:パッケージ-> ローカルにあるzipファイルからの・・・・ 3-2:デスクトップのzipファイル TIMSAC1.2.1 を選択する Package‘timsac’ (TimeSeriesAnalysisandControlPackage) Functionsforstatisticalanalysis,predictionandcontroloftimeseriesbasedmainl yonAkaikeandNakagawa(1988)
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

解析コマンド 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)
Page10

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()
Page11

参考 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)
Page12

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)
Page13

3)以下のようにテキストデータをコピーしてRの画面にペーストすると 自己相関の変化をグラフで確認できます 下記をコピー&ペースト par(mfrow=c(4,4)) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_01.csv", skip=6, sep=",", nrows=15000) autcor(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_02.csv", skip=6, sep=",", nrows=15000) autcor(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_03.csv", skip=6, sep=",", nrows=15000) autcor(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_04.csv", skip=6, sep=",", nrows=15000) autcor(data11$V2) ・・・ data11 <- read.table("C:/2024/20240301-0002/20240301-0002_30.csv", skip=6, sep=",", nrows=15000) autcor(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_31.csv", skip=6, sep=",", nrows=15000) autcor(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_32.csv", skip=6, sep=",", nrows=15000) autcor(data11$V2)
Page14

4)以下のようにテキストデータをコピーしてRの画面にペーストすると バイスペクトルの変化をグラフで確認できます 下記をコピー&ペースト par(mfrow=c(4,4)) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_01.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_02.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_03.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_04.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) ・・・ data11 <- read.table("C:/2024/20240301-0002/20240301-0002_29.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_30.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_31.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2) data11 <- read.table("C:/2024/20240301-0002/20240301-0002_32.csv", skip=6, sep=",", nrows=6000) bispec(data11$V2)
Page15

実施例:バイスペクトルの変化を確認する 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_16.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)
Page16

実施例:自己相関の変化を確認する 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)
Page17

解析の詳細・解析結果の解釈・・・については 以下の参考書籍・・・の専門書を読んでください 参考書籍 1:統計数理 1)叩いて超音波で見る―非線形効果を利用した計測 佐藤 拓宋 (著) 出版社: コロナ社 (1995/06) 2)電気系の確率と統計 佐藤 拓宋 (著) 出版社: 森北出版 (1971/01) 3)不規則信号論と動特性推定 宮川 洋 (著), 佐藤拓宋 (著), 茅 陽一 (著) 出版社: コロナ社 (1969) 4)赤池情報量規準 AIC―モデリング・予測・知識発見 赤池 弘次 (著), 室田 一雄 (編さん), 土谷 隆 (編さん) 出版社: 共立出版 (2007/07) 5)ダイナミックシステムの統計的解析と制御 赤池 弘次 (著), 中川 東一郎 (著) 出版社: サイエンス社(1972) 2:超音波技術 1)超音波工学と応用技術 ベ.ア.アグラナート (他共著),青山 忠明 (訳),遠藤 敬一 (訳) 発行年月:1991 出版社: 日ソ通信社 2)超音波入門 (科学普及新書) エリ・デ・ローゼンベルク 著, 上田光隆 訳 発行年月:1967 出版社:東京図書 参考資料 超音波の相互作用を評価する技術2 http://ultrasonic-labo.com/?p=12202 超音波加工・溶接技術(特開 2021-171909) http://ultrasonic-labo.com/?p=3963 AIC(情報量規準)を利用した超音波技術 http://ultrasonic-labo.com/?p=1074 超音波技術:多変量自己回帰モデルによるフィードバック解析 http://ultrasonic-labo.com/?p=15785
Page18

<<超音波の音圧データ解析・評価>> 1)時系列データに関して、 多変量自己回帰モデルによるフィードバック解析により 測定データの統計的な性質(超音波の安定性・変化)について解析評価します 2)超音波発振による、発振部が発振による影響を インパルス応答特性・自己相関の解析により 対象物の表面状態・・に関して、超音波振動現象の応答特性として解析評価します 3)発振と対象物(洗浄物、洗浄液、水槽・・)の相互作用を パワー寄与率の解析により評価します 4)超音波の利用(洗浄・加工・攪拌・・)に関して 超音波効果の主要因である対象物(表面弾性波の伝搬) あるいは対象液に伝搬する超音波の非線形(バイスペクトル解析結果)現象により 超音波のダイナミック特性を解析評価します この解析方法は、 複雑な超音波振動のダイナミック特性を 時系列データの解析手法により、 超音波の測定データに適応させるこれまでの経験と実績に基づいて実現しています。 超音波の伝搬特性 1)振動モードの検出(自己相関の変化) 2)非線形現象の検出(バイスペクトルの変化) 3)応答特性の検出(インパルス応答の解析) 4)相互作用の検出(パワー寄与率の解析) 注:「R」フリーな統計処理言語かつ環境 autcor:自己相関の解析関数 bispec:バイスペクトルの解析関数 mulmar:インパルス応答の解析関数 mulnos:パワー寄与率の解析関数
Page19

解析ソフトについて TIMSAC for R package 統計数理研究所 November 1, 2006 TIMSAC(TIMe Series Analysis and Control program package) は,統計数理研 究所で開発された時系列データの解析,予測,制御のための総合的プログラムパッ ケージです.・・・ TIMSAC はFORTRANで書かれたプログラムですが,ユーザーが作成した FORTRAN,C,Java のプログラムにこのライブラリをリンクすることにより,よ り扱い易い環境が実現されました. バイスペクトルの解析関数 bispec() : バイスペクトルの計算 自己相関の解析関数 autcor() : 直接法による自己共分散関数の計算 3)TIMSAC for R package http://jasp.ism.ac.jp/ism/timsac/
Page20

参考データ 解析結果 自己相関(最大 200Lag) 音圧データ1:青 音圧データ1:赤 音圧データ2:青 音圧データ2:赤 バイスペクトル(最大周波数 62MHz) 音圧データ1:青 音圧データ1:赤 音圧データ2:青 音圧データ2:赤 100μ秒でこのような音圧変化を実現することが、新しい超音波制御技術です