Spectrum Scopeで表示され​る振幅値が、FFT点​数の変更で変化してし​まいます。

1 visualizzazione (ultimi 30 giorni)
MathWorks Support Team
MathWorks Support Team il 25 Ott 2013
Spectrum Scopeで表示される振幅値が、FFT点数の変更で変化してしまいます。

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 26 Ott 2013
Spectrum Scopeブロックの内部では、修正ピリオドグラムという手法を用いてパワースペクトル密度を計算しています。Spectrum Scopeを右クリックし「マスクブロックのモデル表示」を選択することで、Spectrum Scopeの内部を見ることが出来ます。
Spectrum Scopeの内部
修正ピリオドグラムはFFTの二乗を行い、窓関数を適用します。最後に窓関数の形に合わせた正規化を行います。Periodogramブロックの内部も同様に「マスクブロックのモデル表示」で表示できます。
Periodogramの内部
修正ピリオドグラムの振幅値は、FFT点数による正規化を行っておりません。したがってFFT点数の変更に伴って振幅値が変化してしまいますので、FFT点数に因らない結果を求めたい場合は Spectrum Scopeの前段にて、FFT点数の平方根で正規化を行ってください。
FFT点数に因らないパワースペクトル密度の計算例(複素信号)
複素信号と同じ振幅の実数信号を入力する場合は、複素信号と比較して電力が半分になり、折り返し成分も考慮しなければなりません。これらを考慮しますと正規化の値は sqrt(2*2/FFT点数) となりますので、下図のように正規化の値を変更してください。
FFT点数に因らないパワースペクトル密度の計算例(実数信号)

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!