窓関数|スペクトル漏れ抑制と分解能調整

窓関数

窓関数は、有限長のデータ列に重み付けを施して端点不連続を緩和し、フーリエ解析やFIRフィルタ設計におけるスペクトル漏れやリンギングを低減するための手法である。時間領域ではサンプル列に窓を乗算し、周波数領域では理想スペクトルと窓の周波数応答が畳み込みされるため、主ローブ幅とサイドローブ抑圧のトレードオフが発生する。用途に応じてHann、Hamming、Blackman、Kaiser、Flat-topなどを選択することが重要である。

基本概念と目的

有限観測におけるトランケーションは矩形窓に等価であり、強いサイドローブ(約−13 dB)を生む。窓関数は端点付近の振幅を滑らかに減衰させることで高周波成分のリークを抑え、弱い信号の検出性や振幅推定の安定性を改善する。必要なのは「分解能(主ローブが細い)」と「漏れ抑制(サイドローブが低い)」のバランス設計である。

時間窓と周波数特性

時間領域での乗算は周波数領域での畳み込みに対応する。従って窓の周波数応答の主ローブ幅はピーク分離能力を、サイドローブレベルは近接強信号からの汚染度を決める。代表的指標には主ローブ幅(主ローブ零交差までの半幅)、最大サイドローブレベル(dB)、等価雑音帯域幅(ENBW)、コヒーレントゲイン(CG)があり、スペクトル推定のバイアス補正やSNR換算に用いられる。

代表的な窓と特性比較

  • Rectangular:主ローブ最も狭い/最大サイドローブ約−13 dB。分解能重視だが漏れ大。
  • Hann(Hanning):最大サイドローブ約−31 dB、主ローブは矩形より広い。一般的な解析の初期選択肢。
  • Hamming:最大サイドローブ約−41 dB。近接漏れにやや強く、周波数推定で扱いやすい。
  • Blackman:最大サイドローブ約−58 dB。漏れ抑制を強化したい場合に有効。
  • Flat-top:振幅精度重視(スキャンロッピング誤差低減)。主ローブはかなり広い。
  • Kaiser:βで主ローブ幅とサイドローブを連続的に調整可能。設計の自由度が高い。

FIRフィルタ設計における窓法

FIRの窓法は、理想インパルス応答(例えば理想低域のsinc)に窓関数を掛けて有限長化する手順である。遷移帯域幅は主ローブ幅に依存し、阻止域リップルはサイドローブにほぼ対応する。Kaiser窓では必要タップ数NがおおよそN≃(A−8)/(2.285Δω)で見積もれ(Aは阻止域減衰dB、Δωは正規化遷移帯域)。βはAに応じて設定し、設計後は線形位相・安定性・固定小数点量子化誤差などを併せて評価する。

スペクトル解析の実務上の注意

周波数解析では、(1)コヒーレントサンプリング(観測長が整数周期)を満たせない場合に窓関数を適用してリークを抑える、(2)振幅推定には窓のCGで補正する、(3)ゼロパディングはスペクトルの補間であり分解能は上がらない、(4)長時間データはオーバーラップ分割と平均(Welch法)で分散低減を図る、といった運用が有効である。検出重視なら低サイドローブ、分解能重視なら狭主ローブを優先する。

実装上の要点

FFT用の窓は多くの場合「周期用(periodic)」と「対称(symmetric)」の生成が選べる。ブロックFFTでは端点重複を避けるためperiodicを、FIR係数生成では線形位相を得やすいsymmetricを用いるのが通例である。さらに窓関数の正規化(例えばCG=1やエネルギー一定)を明示し、系全体のゲイン定義を揃えることが重要である。固定小数点実装では量子化ノイズと飽和に注意する。

選択指針(用途別の目安)

  • 振幅精度重視:Flat-top、低リップル窓+CG補正。
  • 近接線の分離:主ローブが比較的狭いHann/Hamming、必要に応じて長いN。
  • 弱信号の埋没回避:低サイドローブ(Blackman、β高めのKaiser)。
  • 総合調整:KaiserでβとNを掃引し、ENBW・SNR・分解能の適正点を探索。

パラメータ設計の目安(Kaiser)

阻止域減衰Aが約30 dBならβ≃3、50〜60 dBならβ≃5、80 dB級でβ≃8.6が経験的目安である。βを大きくすると主ローブは広がる一方でサイドローブが下がる。FIRの遷移帯域要求と阻止域要求からAとΔωを定め、前述の近似式でNを初期決定し、シミュレーションで微修正する手順が現実的である。

用語補遺

  • 主ローブ:周波数応答の中心ピーク。分解能に直結。
  • サイドローブ:主ローブ周辺の波形。リーク・偽ピークの原因。
  • ENBW:雑音換算帯域幅。ノイズ床評価に用いる。
  • コヒーレントゲイン:正弦波振幅の減衰率。振幅補正係数。
  • スキャロッピング損失:周波数ビン中心から外れた場合の振幅低下。