パワースペクトル
「パワースペクトル」は「信号の電力がどの周波数に含まれるか」という問いに答えます。答えは、周波数の関数としての電力値の分布という形で示され、ここで「電力」とは信号の二乗平均値とみなされます。周波数領域では、これは FFT の振幅の二乗に相当します。
パワースペクトルは信号全体に対して一括してコンピューターで計算することもできます(スペクトログラム)。あるいは時間信号の区間のスペクトログラムを平均化して「パワースペクトル密度」を形成することもできます。
ピリオドグラム
ピリオドグラムは入力信号全体のパワースペクトルを計算します。

ここで F(信号)は信号のフーリエ変換であり、N は正規化係数です。Igor Pro の DSPPeriodogram コマンドでは、この正規化係数はデフォルトで信号のサンプル数に設定されます。
スペクトルウインドウ処理によりピリオドグラムの計算が改善され、Igor Pro の DSPPeriodogram コマンドは FFT 操作と同様のウインドウをサポートします。
ピリオドグラムの結果は、Parseval の定理を満たすように乗数で正規化されることが多いです。

これは、双方向の周波数領域 FFT の結果が時間領域信号データから計算されることを前提としており、ここで N は再び信号内の時間領域値の数を表します。
この基準を満たすためのピリオドグラム結果の正規化は、文献によっていくつかの異なる慣例に従います(また、スペクトルウィンドウ関数の平均電力やピリオドグラムが片側か両側かによっても異なります)。そのため、DSPPeriodogram コマンドでは /NOR パラメーターを使ってユーザーが希望する正規化を指定できるようにしています。
ウィンドウ関数を使うと、信号の電力が減少します。これを補正するため、結果に 1/average(window[i]^2) の補正係数を乗算する必要があります。Hanning ウィンドウの場合、この値は理論上 0.375 です。正規化係数は分母となるため、Hanning ウィンドウを補正するには N を 0.375 で除算します。
-
DSPPeriodogram/NOR=(numpnts(signal)/(2*0.375)) signal
パワースペクトル密度
パワースペクトル密度(PSD)は、周波数に対する 1Hz あたりの電力の周波数領域プロットです。
長時間信号のセグメントのピリオドグラムを平均化することで、電力が正しい周波数により正確に割り当てられ、平均化により電力振幅のノイズによる変動が低減されます。その代償として、各 FFT 計算で利用可能なデータポイントが減少するため、周波数分解能が低下します。
スペクトルウィンドウ処理(各セグメントにウィンドウ関数を適用)によって PSD の精度も向上しますが、ウィンドウ処理によりセグメント末端付近の信号成分が除去されます。解決策としてセグメントを重畳させます。

サンプリングされた音声の重複するセグメントから8つのピリオドグラムを平均化した例は以下の通りです。

Igor Pro® のパワースペクトル密度プロシージャファイルは、PowerSpectralDensity ルーチンを通じて PSD を実装します。この機能を使うには、Igor Pro のプロシージャウィンドウに以下を入力します。
-
#include <Power Spectral Density>
そして Igor Pro の Macros メニューから PowerSpectralDensity を選択します。
PSD Demo エクスペリメントには、パワースペクトル密度を計算するために使われる正規化に関する完全な説明が含まれています。
参考文献
- Press, William H. [et. al.], "Power Spectrum Estimation Using the FFT", sec. 13.4, Numerical Recipes in C, 2nd ed., Cambridge University Press, 1992.
Forum
Support
Gallery
Igor Pro 10
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More