FAQ
FAMOS
シーケンス / 関数top
└スペクトラムキット&周波数解析関係
ID.p018
Q. パーシバルの定理について
理論的に、パワースペクトラムの積分値と時間信号の二乗平均とが等価とならねばなりませんが、うまくあいません。
A.
上記内容はパーシバルの定理といいます。この定理は周波数軸上でのエネルギと時間軸上でのエネルギが保存されるという定理です。
以下にサンプルシーケンスを紹介します。
;------------------------------ ;テストデータ作成 ; 2つの波形を合成しています。 ;------------------------------ datanum=1024 freq1 = 10 ;[Hz] gain1 = 0.5 freq2 = 20 ;[Hz] gain2 = 0.8 data = gain1*cos(ramp(0,pi2/datanum,datanum)*freq1)+ gain2*cos(ramp(0,pi2/datanum,datanum)*freq2) data = XDel(data,1/datanum) ;------------------------------ ;スペクトラムを求めます ; 関数Specは両側スペクトラム ; 関数FFTは片側スペクトラム ; この2つの関係はSpec=2*FFTです ;------------------------------ res=Spec(data) ;------------------------------ ;パワースペクトラムから算出したエネルギ ; FAMOSではFFT結果の振幅をピークで算出するので ; Sqrt(2)で除算しています ; ;Spec関数について納得できなければスペクトラムキット関数を ; 参照してください ;------------------------------ fftres=sum(res.M*res.M)/2 ;------------------------------ ;RMSから算出したエネルギ ;------------------------------ rmsres=RMS(data)*RMS(data) ;------------------------------ ;スペクトラムキット関数からパワースペクトラムを算出したエネルギ ; この結果を利用することにより、Spec関数で除算したSqrt(2)が ; 不要になります ;------------------------------ res2 = PowerSpectrum_1(data, datanum, 0, 0, 1) fftres2=sum(res2