振動データに含まれる信号の周波数、強度、初期位相の情報をDIAdemで確認する方法

更新しました May 26, 2022

環境

ソフトウェア

  • DIAdem

振動データの解析にはフーリエ変換が頻繁に使用されます。フーリエ変換を使用する事で振動データに含まれる信号の周波数、強度、初期位相の情報を確認する事ができます。これらの情報は計測対象の特性を推測するのに使用します。この記事の内容を実行するにはDIAdem Professional EditionもしくはDIAdem Student Editionが必要となります。

目次
1.テスト用の振動データを作成する
2.フーリエ変換による周波数、強度、位相情報の取得
3.共通する周波数成分を持つ2つのデータの周波数成分強度と位相の比較

ここではDIAdem Analysisの1チャンネルFFTを使用して振動データから振動強度及び初期位相を取得します。また、同じ振動数のピークを持つ2つのデータに対して、2チャンネルFFTを使用して振動強度の変化と初期位相の変化を確認します。


 

テスト用データをVBScriptで作成し、Data Portalに登録する

DIAdemを起動し、SCRIPTを開きます。新規ファイルを追加からVBSスクリプトを作成します。
 
1新規スクリプト作成.png

下記のVBスクリプトをコピー&ペーストし、実行します。
 
'-------------------------------------------------------------------------------
'-- VBS スクリプトファイル
'-- 作成日: 2022/05/16 14:26:38
'-- 作成者: 
'-- コメント: 
'-------------------------------------------------------------------------------
Option Explicit   'スクリプト内のすべての変数の明示的な宣言を強制します。
Dim oMyGrp, oMyChnX, oMyChnY1,oMyChnY2, i, fs

'Data Portalのデータをすべて削除します
Data.Root.Clear

'Data Portalに新規のチャンネルグループ、チャンネルを作成します
'xは時間軸(0.0001 - 1.000秒、0.0001秒ステップ、10000点)、y1は振動データ1、y2は振動データ2
'振動データ1,2は次のステップで実際のデータを作成します

Set oMyGrp = Data.Root.ChannelGroups.Add("g1")
Set oMyChnX = oMyGrp.Channels.Add("x",DataTypeFloat64)
Set oMyChnY1 = oMyGrp.Channels.Add("y1",DataTypeFloat64)
Set oMyChnY2 = oMyGrp.Channels.Add("y2",DataTypeFloat64)

'振動データ1,2に下記の周波数成分の正弦波を含むデータを作成し、格納します
'振動データ1(y1) = 15 Hz (強度1, 初期位相 π/4)、40 Hz (強度1.2, 初期位相 -π/2)
'振動データ2(y2) = 15 Hz (強度1.4, 初期位相 π/2)、40 Hz (強度0.9, 初期位相 π/4) 

fs = 10000
For i = 1 to fs
  oMyChnX(i) = i/fs
  oMyChnY1(i) = 1*cos(2*3.14*15*i/fs + 3.14/4) + 1.2*cos(2*3.14*40*i/fs - 3.14/2)
  oMyChnY2(i) = 1.4*cos(2*3.14*15*i/fs + 3.14/2) + 0.9*cos(2*3.14*40*i/fs + 3.14/4)
Next

このスクリプトを実行すると下記の様にData Portal内のデータが上記のスクリプト内で指定された設定の振動データに書き換わります。
 
2スクリプトの実行とデータポータルの書き換え.png

上記のスクリプトを実行後、Data Portalを確認するとg1というチャンネルグループ内に3つのデータ(x, y1, y2)が保存されています。xは時間軸(0.0001 - 1.000秒、0.0001秒ステップ、10000点)、y1及びy2は振動データとなっており、それぞれ下記の周波数成分の信号を保有しています。

振動データ1(y1) は15 Hzの信号 (強度1, 初期位相 π/4)と40 Hzの信号 (強度1.2, 初期位相 -π/2)を保有します。
振動データ2(y2) は15 Hzの信号 (強度1.4, 初期位相 π/2)と40 Hzの信号 (強度0.9, 初期位相 π/4)を保有します。 


 

1チャンネルFFTで振動強度と初期位相を確認する

ANALYSISを選択し、ツールバーの信号解析から1チャンネルFFTを起動します。
 
3_0_1チャンネルFFTを起動.png

1チャンネルFFTの設定画面の解析対象チャンネルで時間チャンネルと信号チャンネルを指定します。ここでは時間チャンネルとしてx、信号チャンネルとしてy1を指定します。チャンネルの指定はData Portalからチャンネルのデータをドラッグ&ドロップする事で指定できます。信号チャンネルについては...の部分からチャンネルの選択画面を開き、Data Portalから使用するデータをドラッグ&ドロップします。
 
3 1チャンネルFFTの設定.png

DIAdem ANALYSISにおけるフーリエ変換では窓関数を使用する事ができます。窓関数は元の信号データの一部を減衰するので、振幅減衰修正がない状態で使用すると信号強度が実際の値よりも低くなります。窓関数を使用せずにフーリエ変換を行う場合は矩形窓を選択します。矩形窓は信号に対して1をかける処理となるので信号は変化しません。ゼロ埋め(ゼロパディング)のオプションについてはDIAdemのフーリエ変換関数にはございません。

また、FFT関数のメニューではフーリエ変換の結果として出力する項目を選択します。ここでは位相と振幅の結果を出力します。

インターバルの部分ではすべての信号データに対してフーリエ変換を行うか、信号データを分割し、各部分に対してフーリエ変換を行うかの設定を行います。ここでは全体に対してフーリエ変換を行うので入力するパラメータすべてを選択し、FFTデータ長は信号データの長さである10000を入力します。

解析を実行するとData PortalにFrequency, AmplitudePeak, Phaseの3つのデータが作成されます。次のこれらのデータをVIEWで表示し、結果を確認します。

VIEWを開き、下記の様にグラフを右クリック後にすべてのカーブを削除を選択し、グラフを初期化します。AmplitudePeakとPhaseのデータをData Portalからグラフにドラッグ&ドロップして表示します。
 
VIEWで表示.png

グラフの一部を拡大する場合、例えば0 Hzから100 Hzまでの範囲を拡大したい場合、グラフ中の100 Hz付近で右クリックを押し込み、0 Hz付近まで移動した後、右クリックを放す事で拡大できます。デフォルトの表示に戻す場合はズームオフ(虫眼鏡マークに×印のアイコン)を選択します。

1チャンネルFFTで得られた振動スペクトル(AmplitudePeak, 赤)と位相スペクトル(Phase, 緑)の結果を確認するとそれぞれ下記の情報が得られます。
 
5results.png

振動スペクトルには15 Hzと40 Hzにピークが存在する事が確認できます。これらのピークの強度、初期位相はそれぞれ
15 Hzのピークは強度1.00、初期位相44.1°、40 Hzのピークは強度1.19、初期位相-92.1°であることが確認できます。元の信号は15 Hz (強度1, 初期位相 π/4 = 45°)と40 Hz (強度1.2, 初期位相 -π/2 = -90°)の重ね合わせで作成されているのでおおよそ一致している事が確認できます。振動データ2についても同様の方法で信号の解析と結果の比較を行う事ができます。


 

2チャンネルFFTで2つの振動データの振動強度、初期位相の変化を確認する

測定対象物の特性評価の際に特定の振動数における信号強度と位相の比較が重要な場合があります。ここでは2つの振動データのある振動数に対して、強度と位相の比較を行う方法を2チャンネルFFTで確認します。

ANALYSISのツールバーの信号解析から2チャンネルFFTを選択します。時間チャンネルとしてx、入力チャンネルに振動データ1(y1)、出力チャンネルに振動データ2(y2)を指定します。ここでは入力チャンネルから出力チャンネルのデータに変換する際の伝達関数を位相情報付きで確認するので、FFT関数の部分では伝達関数を選択し、位相を選択します。また、インターバルの部分では解析対象の領域をすべてとし、FFTデータ長を振動データの長さと同じ10000とします。
 
7_2チャンネルFFT.png

上記の解析を実行すると強度伝達関数​(TransferFunctionAmplitude、赤)​​​​​​と位相(TransferFunctionPhase、緑)がData Portalに保存されます。これらは振動データ1から振動データ2に変換する際のそれぞれの周波数成分の強度の倍率と位相の変化量を確認できます。下記グラフの青色のデータは振動データ1の1チャンネルFFTの結果を比較用に表示したものです。下記の2チャンネルFFTの伝達関数を確認すると、15 Hzの成分は強度が1.4倍、初期位相が45°変化し、40 Hzの成分は強度が0.75倍、初期位相が135°変化している事が確認できます。
8_2channelFFT結果.png

ここで使用している振動データ1と2は下記の設定で作成されています。

振動データ1(y1) は15 Hzの信号 (強度1, 初期位相 π/4)と40 Hzの信号 (強度1.2, 初期位相 -π/2)を保有します。
振動データ2(y2) は15 Hzの信号 (強度1.4, 初期位相 π/2)と40 Hzの信号 (強度0.9, 初期位相 π/4)を保有します。 

これら2つを比較すると15 Hzの信号については強度が1.4倍、初期位相は45°、40 Hzの信号については強度が0.75倍、初期位相は135°変化する事が推定されており、これは上記の解析結果と一致します。

次のステップ

DIAdemにおけるフーリエ変換を使用する事例は下記の物があります。 回転体に対する振動数解析の場合、下記の次数解析があります。 振動スペクトルのピーク検出において、ガウシアンフィッティングを使用して振動数、スペクトル幅、FWHMなどの決定を行う場合、下記の手法を使用します。