pow_spect



機能:
時系列[i]のパワースペクトル推定(自己相関後フーリエ変換)

書式:
pow_spect([i],[o])

解説:
時系列数値[i]のパワースペクトルの推定を行います。
入力時系列数値[i]に対して自己相関(得た結果の数値個数は半減)を求めてから高速フーリエ変換(2の正整数N乗個数値が必要)を施す方法が使用されます。入力数値の個数が2の正整数(N+1)乗個の倍の場合、得た結果の個数は2のN乗個になります。
高速フーリエ変換関数fft()を参照して下さい。

     [i] ・・・・・・・・・・・・・・・ 時系列の入力数値組

     [o] ・・・・・・・・・・・・・・・ 結果のパワースペクトルの出力数値組

例:次の例では、0.8Hz+0.85Hz+1Hz+1.4Hzの信号に対し、ノイズ混入無し場合と信号最大強度の5倍相当の強いランダムノイズを混入した場合のパワースペクトルを求めてみました。結果から、5倍のノイズを混入した場合(表示範囲調整のため、数式「[3][1]=0; [3][2]=0;で値の大きい最初の2セルを零クリアした)、元信号の区別が付きにくいことが分かります。
例:ノイズ混入無しの場合
val_fx(sin(0.8*2*PI*x)+sin(0.85*2*PI*x)+sin(1*2*PI*x)+sin(1.4*2*PI*x),[1],[2],0,0.1*1023,0.1);
pow_spect([2],[3]);
ノイズ混入有りの場合
rand_init(0);
val_fx(sin(0.8*2*PI*x)+sin(0.85*2*PI*x)+sin(1*2*PI*x)+sin(1.4*2*PI*x)+20*rand(),[1],[2],0,0.1*1023,0.1);
pow_spect([2],[3]); [3][1]=0;[3][2]=0;



return