窓関数とは

まどかんすう

DFTやFIRフィルタの設計で、信号や係数の有限の区間に掛ける重みの関数。区間で切り出しただけ(方形窓)だと両端が不連続になり、スペクトル漏れやリプルが生じるので、両端をなめらかに0に近づける窓を掛けて抑える。代表的なハン窓(ハニング窓)は、最大のサイドローブが約 −31 dB と方形窓の約 −13 dB より低いが、メインローブの幅は方形窓の約2倍になる。サイドローブの低さとメインローブの狭さのどちらを重視するかで、ハミング窓・ブラックマン窓・フラットトップ窓などを使い分ける。

「窓関数」は、1分野の2問の練習問題に出てきます(デジタル信号処理の基礎など)。

この用語の分野: デジタル信号処理の基礎

メインローブとサイドローブ

窓のスペクトルは、中央の大きな山(メインローブ)と、その両側の小さな山(サイドローブ)からなります。メインローブが狭いほど近い周波数の2つの成分を見分けやすく、サイドローブが低いほど強い成分の近くの弱い成分が埋もれにくくなります。両者はトレードオフの関係にあり、方形窓はメインローブが最も狭い代わりにサイドローブが高く、ハン窓はその逆です。

振幅の読み取りと補正

窓を掛けると信号の振幅が平均して小さくなるので、振幅を読むときは窓の平均値(ハン窓では0.5)で割って補正します。また、周波数がビンの中間にあると振幅が小さく読み取られ(スカロッピング損失)、その量は方形窓で約3.9 dB、ハン窓で約1.4 dBです。振幅を正確に測りたいときは、メインローブの頂上が平らなフラットトップ窓を使います。

FIRフィルタの設計での窓

理想的なローパスフィルタのインパルス応答(sinc関数)は無限に続くので、有限のタップ数で切り出す必要があります。単に切り出すと、通過帯域や阻止帯域にリプルが生じます(ギブス現象)が、窓関数を掛けてから使うと、リプルを抑えた特性が得られます。窓の種類によって、阻止帯域の減衰量と遷移帯域の幅のバランスが変わります。

窓関数の練習問題に挑戦

DFTの前に掛ける窓関数について、方形窓(何も掛けない場合)とハン窓(ハニング窓)を比べた説明として正しいものはどれか。

  1. Aハン窓はメインローブの幅が方形窓の約半分になり、サイドローブも低くなるので、どの点でも方形窓より優れている
  2. Bハン窓はサイドローブが低く遠くのビンへの漏れが小さいが、メインローブの幅は方形窓の約2倍に広がる
  3. Cハン窓はメインローブが狭くなる代わりに、サイドローブが方形窓より高くなる
答えと解説を見る

正解:B. ハン窓はサイドローブが低く遠くのビンへの漏れが小さいが、メインローブの幅は方形窓の約2倍に広がる

方形窓は、メインローブの幅(最初の零点まで)が ±1 ビンと狭い一方、最大のサイドローブが約 −13 dB と高く、漏れが遠くのビンまで広がります。ハン窓は区間の両端をなめらかに0にするので、最大のサイドローブが約 −31 dB まで下がりますが、メインローブの幅は ±2 ビンと約2倍になります。強い信号の近くにある弱い信号を見たいときはハン窓のような窓、周波数の近い同じくらいの強さの信号を見分けたいときは方形窓が向く、というように目的で使い分けます。

よくある質問

窓関数はいつ必要ですか?

測定する信号の周期が観測区間に整数個入る保証がないときは、ふつう窓関数を掛けます。周期が区間にちょうど合っている場合や、区間の中で減衰しきる過渡的な信号では、方形窓(窓なし)のままでも漏れは問題になりません。

ハン窓とハミング窓は何が違いますか?

どちらもコサインの形の窓ですが、ハン窓は両端がちょうど0になり、遠くのサイドローブが速く減衰します。ハミング窓は両端を0にせず約0.08を残すことで、最も高いサイドローブを約 −43 dB まで下げていますが、遠くのサイドローブの減衰は遅くなります。

解説の中の「窓関数」

「窓関数」が出てくる問題(2問)

  1. DFTの前に掛ける窓関数について、方形窓(何も掛けない場合)とハン窓(ハニング窓)を比べた説明として正しいものはどれか。
  2. DFTでスペクトル漏れが生じる主な原因として正しいものはどれか。

デジタル信号処理の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

スペクトル漏れ エイリアシング IIRフィルタ 移動平均フィルタ インパルス応答 FIRフィルタ 群遅延 高速フーリエ変換(FFT) 差分方程式 周波数分解能

用語集の一覧へ