FAQ
FAMOS
シーケンス / 関数top
└スペクトラムキット&周波数解析関係
ID.p008
Q. パワースペクトル密度関数(PSD)の計算
A.
計算結果を比較するために1ブロックを256点として、1番目の区間と2番目の区間、1&2をまとめた区間を考えます。
振幅スペクトラムの結果
1ブロック 0.63282
2ブロック 0.010443
トータル 0.321632
パワースペクトラム密度関数の結果
1ブロック 0.200231
2ブロック 0.000054502
トータル 0.100143
振幅スペクトラムの平均された値について
平均化されて算出された値は以下のように算出されます。
平均値 = (1ブロック+2ブロック) / 2
【計算例】
0.321632 = ( 0.63282 + 0.010443 )/2
パワースペクトラム密度関数の平均化された値について
パワースペクトル密度の算出は以下のようになります。
1ブロックのPSD = 1ブロックの振幅スペクトラム^2/周波数分解能(2Hz)
【計算例】
0.0200231 = ( 0.63282^2 )/2
平均化されて算出された値は以下のように算出されます。
平均値 = (1ブロック^2 + 2ブロック^2) / 2 /周波数分解能(2Hz)
【計算例】
0.100143 = ( 0.63282^2 + 0.010443^2 )/2
FFTアナライザーで計算される値との相違
FFTアナライザーなどでは以下のように算出されます。
平均値 = 平均化された振幅スペクトラム^2 /周波数分解能(2Hz)
【計算例】
0.0517236 = ( 0.0321632^2 )/2
また、等価ノイズバンド幅を考慮し
PSD = 平均化された振幅スペクトラム^2 /周波数分解能(2Hz) /等価ノイズバンド幅
等価ノイズバンド幅
Ver6.0までのFAMOS関数は等価ノイズバンド幅を考慮していません。
パワースペクトル密度関数を算出後に各ウィンドウに対応した等価ノイズバンド幅で除算してください。
Ver6.1以降のPowerDS*(), CrossPowerDS*()関数は等価ノイズバンド幅を考慮しているため除算は不要です。
サンプルシーケンス
;************************************************* ;PSD計算について ; データ長が256×2のデータを例にします。 ;************************************************* ;1ブロック目のデータ Base1 = CutIndex( ch__1, 1, 256) PDS1 = PowerDS_1( Base1, 256, 2, 0, 1) AMP1 = AmpSpectrumRMS_1( Base1, 256, 2, 0, 1) ;2ブロック目のデータ Base2 = CutIndex( ch__1, 1+256, 256+256) PDS2 = PowerDS_1( Base2, 256, 2, 0, 1) AMP2 = AmpSpectrumRMS_1( Base2, 256, 2, 0, 1) ;1&2ブロックのデータ Base3 = CutIndex( ch__1, 1, 256+256) PDS3 = PowerDS_1( Base3, 256, 2, 0, 1) AMP3 = AmpSpectrumRMS_1( Base3, 256, 2, 0, 1) ;----------------------------------------- ;1ブロックのピークに相当する各関数の振幅値について考察します。 ;周波数データの分解能は2Hzです。 ;----------------------------------------- A1 = Max(AMP1) Freq = Pos( AMP1, A1) A2 = Value( AMP2, Freq) A3 = Value( AMP3, Freq) ;平均化された値は次式と等価になります CompareA3 = (A1+A2)/2 P1 = Value( PDS1, Freq) P2 = Value( PDS2, Freq) P3 = Value( PDS3, Freq) ;パワースペクトル密度は次式で算出されます。 CompareP1 = A1^2/xDel?(AMP1) ;平均化されたパワースペクトル密度は次式で算出されます。 CompareP3 = (A1^2+A2^2)/2/xDel?(AMP1) ;FFTアナライザーなどで計算される値は次式となります。 CompareFFT = Sqrt(A3^2/xDel?(AMP3)/ENBW)