目次
1.テスト用の振動データを作成する2.フーリエ変換による周波数、強度、位相情報の取得3.共通する周波数成分を持つ2つのデータの周波数成分強度と位相の比較ここではDIAdem Analysisの1チャンネルFFTを使用して振動データから振動強度及び初期位相を取得します。また、同じ振動数のピークを持つ2つのデータに対して、2チャンネルFFTを使用して振動強度の変化と初期位相の変化を確認します。
DIAdemを起動し、
SCRIPTを開きます。
新規ファイルを追加から
VBSスクリプトを作成します。
下記の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内のデータが上記のスクリプト内で指定された設定の振動データに書き換わります。
上記のスクリプトを実行後、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)を保有します。
ANALYSISを選択し、ツールバーの
信号解析から
1チャンネルFFTを起動します。
1チャンネルFFTの設定画面の解析対象チャンネルで時間チャンネルと信号チャンネルを指定します。ここでは時間チャンネルとしてx、信号チャンネルとしてy1を指定します。チャンネルの指定はData Portalからチャンネルのデータをドラッグ&ドロップする事で指定できます。信号チャンネルについては...の部分からチャンネルの選択画面を開き、Data Portalから使用するデータをドラッグ&ドロップします。
DIAdem ANALYSISにおけるフーリエ変換では窓関数を使用する事ができます。窓関数は元の信号データの一部を減衰するので、振幅減衰修正がない状態で使用すると信号強度が実際の値よりも低くなります。窓関数を使用せずにフーリエ変換を行う場合は矩形窓を選択します。矩形窓は信号に対して1をかける処理となるので信号は変化しません。ゼロ埋め(ゼロパディング)のオプションについてはDIAdemのフーリエ変換関数にはございません。
また、
FFT関数のメニューではフーリエ変換の結果として出力する項目を選択します。ここでは位相と振幅の結果を出力します。
インターバルの部分ではすべての信号データに対してフーリエ変換を行うか、信号データを分割し、各部分に対してフーリエ変換を行うかの設定を行います。ここでは全体に対してフーリエ変換を行うので
入力するパラメータは
すべてを選択し、
FFTデータ長は信号データの長さである10000を入力します。
解析を実行するとData PortalにFrequency, AmplitudePeak, Phaseの3つのデータが作成されます。次のこれらのデータをVIEWで表示し、結果を確認します。
VIEWを開き、下記の様にグラフを右クリック後に
すべてのカーブを削除を選択し、グラフを初期化します。AmplitudePeakとPhaseのデータをData Portalからグラフにドラッグ&ドロップして表示します。
グラフの一部を拡大する場合、例えば0 Hzから100 Hzまでの範囲を拡大したい場合、グラフ中の100 Hz付近で右クリックを押し込み、0 Hz付近まで移動した後、右クリックを放す事で拡大できます。デフォルトの表示に戻す場合はズームオフ(虫眼鏡マークに×印のアイコン)を選択します。
1チャンネルFFTで得られた振動スペクトル(AmplitudePeak, 赤)と位相スペクトル(Phase, 緑)の結果を確認するとそれぞれ下記の情報が得られます。
振動スペクトルには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つの振動データのある振動数に対して、強度と位相の比較を行う方法を2チャンネルFFTで確認します。
ANALYSISのツールバーの
信号解析から
2チャンネルFFTを選択します。
時間チャンネルとしてx、
入力チャンネルに振動データ1(y1)、
出力チャンネルに振動データ2(y2)を指定します。ここでは入力チャンネルから出力チャンネルのデータに変換する際の伝達関数を位相情報付きで確認するので、
FFT関数の部分では
伝達関数を選択し、
位相を選択します。また、
インターバルの部分では解析対象の領域を
すべてとし、
FFTデータ長を振動データの長さと同じ10000とします。
上記の解析を実行すると強度伝達関数(TransferFunctionAmplitude、赤)と位相(TransferFunctionPhase、緑)がData Portalに保存されます。これらは振動データ1から振動データ2に変換する際のそれぞれの周波数成分の強度の倍率と位相の変化量を確認できます。下記グラフの青色のデータは振動データ1の1チャンネルFFTの結果を比較用に表示したものです。下記の2チャンネルFFTの伝達関数を確認すると、15 Hzの成分は強度が1.4倍、初期位相が45°変化し、40 Hzの成分は強度が0.75倍、初期位相が135°変化している事が確認できます。
ここで使用している振動データ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°変化する事が推定されており、これは上記の解析結果と一致します。