DFT(離散フーリエ変換)は、連続的な時間信号から N 点サンプルすることにより有限の時間窓長(標本化時間、T = NΔt)を切り取り、その切り取った標本化時間T 秒を基本周期として繰り返す時間波形と見なして、フーリエ級数展開を実行します。
T が入力信号の周期(周波数の逆数)の整数倍であれば、時間波形が連続的となり正しい周波数スペクトルが計算されますが、そうでない場合(一般的にはほとんどこの場合です)は、切り取った時間窓長 Tの始点と終点で不連続な時間波形となり、波形に歪みが生じこの不連続による波形の歪みのために、周波数スペクトルに誤差が生じます。
具体的には、入力周波数のピークが鈍化して両側にはなだらかな広がり(すそ)が生じてしまいます。スペクトルのピークは、真値と比較して小さくなり、その分だけパワーが両側の広がりに漏れた形となります。
このように、スペクトルのピークが小さくなり幅が広がる誤差をリーケージ(漏れ)誤差と言い、大きな周波数成分の近傍にある小さなピークを隠してしまうような現象が生じ、実質的にスペクトルのダイナミックレンジを低下させてしまいます。
①
-
元波形
②
-
元波形を T 時間分切り取る。
③
-
②をフーリエ級数展開すると、T の波形が繰り返し続く波形として仮定される。
④
-
③の波形を FFT すると、上図2の不連続点 A、B で急に変化した波形なので、高い周波数が含まれ、裾が広がったスペクトルになる(リーケージ誤差)。
上記のような誤差をなるべく少なくするために、切り取った時間波形にその両端を0 に収束させるような重み関数を掛けることを、「時間窓を掛ける」と言い、そのような重み関数を時間窓または時間窓関数を呼びます。
⑤
-
③の波形に時間窓関数(ハニング)をかけると、不連続点 A、B がなめらかに繋がり連続波形となる。
⑥
-
⑤の波形をFFTすると、裾の広がりの少ないスペクトルとなる。ただし、時間窓関数によりこのままでは振幅がV0より小さくなる。
⑦
-
FFT アナライザーでは、周波数分解能に合った正弦波の入力信号の振幅がV0になるように、時間窓関数に応じて補正され、表示されている。
FFT アナライザーでよく使用される重要な時間窓(ウィンドウ)について以下簡単に説明します。
方形窓
一番基本的なウィンドウは方形窓です。これは単純に時間窓 T の区間だけ切り取った関数で、最も基本的でまた他の時間窓関数の基準となる重要な時間窓です。
上述のように漏れ誤差が大きく出るので普通の時間波形には適用されませんが、ハンマリング試験などの場合のように過渡的な信号には、波形を逆に歪ませることはないので、よく使われます。
ハニング窓
最も一般的に使われるウィンドウはハニング窓で、大抵の市販 FFTアナライザーの初期設定となっています。時間原点を中心にしてハニング窓関数を式で書くと;
(1+cos(2πt/T))/2=cos2(πt/T)(-T/2 ≦ t ≦ T/2)
となり、中心(t=0)で最大値 1、両端で 0 となる窓関数です。
またコサイン波形を持ち上げた波形なので、Raised Cosine とも呼ばれています。ピーク幅は方形窓の 1.6 倍ほど広く(周波数分解能が悪く)なりますが、漏れ誤差は、方形窓と比較してかなり改善されます。
このように元の波形に窓関数を掛けると、入力信号のパワーが減少します(ハニング窓では、3/8 となる)が、実際の FFT アナライザーでは、ラインスペクトルのピーク値やオーバオール値などの値はウィンドウの種類に合わせて自動的に補正をしています。
なお、窓関数を選ぶ目安ですが、過渡的な波形は方形窓、その他はハニング窓となります。
窓関数をより詳しく知りたい方は、城戸健一著「デジタル信号処理入門」丸善(1985)の7.1節
小野測器技術レポート「FFTアナライザーについて」 7章 “FFTと時間窓”
(2003年4月24日発行メールマガジンより抜粋)