窓関数とスペクトル漏れ
有限長で信号を「切り取る」と、純音でもスペクトルが広がる。窓関数の形でメインローブ幅とサイドローブ(漏れ)がどう変わるかを比べます。
8.00 cyc
128
窓関数
—
メインローブ幅 (両側)
—
最大サイドローブ
—
周波数 f(ビン)
—
時間波形:純音 × 窓 = 観測される信号
スペクトル(dB):ピークの広がりと漏れ
どんなにきれいな純音(サイン波)でも、観測できるのは有限の長さだけです。信号を有限区間で切り取る操作は、窓関数
切り取った信号のスペクトルは、本来の1本の線が窓関数のスペクトル形に「ぼやけ」ます。中央の山がメインローブ、その両脇のさざ波がサイドローブ=スペクトル漏れです。
矩形窓はメインローブが細いぶんサイドローブが大きく(−13 dB)漏れが目立ち、ハニング/ハミング/ブラックマンは漏れを抑える代わりにメインローブが太くなります。周波数を窓の整数周期に「収める/外す」で漏れの出方も劇的に変わります。
w[n] を掛けることに等しく、これがスペクトルに影響します。切り取った信号のスペクトルは、本来の1本の線が窓関数のスペクトル形に「ぼやけ」ます。中央の山がメインローブ、その両脇のさざ波がサイドローブ=スペクトル漏れです。
矩形窓はメインローブが細いぶんサイドローブが大きく(−13 dB)漏れが目立ち、ハニング/ハミング/ブラックマンは漏れを抑える代わりにメインローブが太くなります。周波数を窓の整数周期に「収める/外す」で漏れの出方も劇的に変わります。
いま何が起きている?
ここがポイント
- 有限長の観測=窓掛け ── 純音でもスペクトルは1本の線にならず広がる。これがスペクトル漏れ。
- メインローブ幅 ⇔ サイドローブ高さはトレードオフ ── 矩形は細いローブだが漏れ大、ブラックマンは漏れ小だがローブ太い。
- 周波数を窓に「収める」と漏れが消える ── 観測区間にちょうど整数周期入ると、各ビンの中心に乗り漏れがほぼゼロ。半端(+0.5)にすると盛大に漏れる。
- N を増やすと分解能が上がる ── メインローブはビン換算で同じでも、絶対的な周波数幅は細くなり、近い2音を見分けやすくなる。