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

2 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
回答済み: MathWorks Support Team 2013 年 10 月 25 日
Spectrum Scopeで表示される振幅値が、FFT点数の変更で変化してしまいます。

採用された回答

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

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeスコープおよびデータ ログ についてさらに検索

Community Treasure Hunt

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

Start Hunting!