• ベストアンサー

信号に窓関数をかける?

現在プログラム作成中なのですが、窓関数をかけるとはどういうことなのでしょうか? 例えば、信号 cos(2πfnt)が与えられているときに、これにハニング 0.5-0.5cos(2πn/(N-1))をかけろと言われたら、信号cos(2πfnt)にどんな処理をすることをいうのでしょうか? アドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#6694
noname#6694
回答No.1

一般に信号にフーリエ変換などの処理を施す際にある分析点数で信号を切り出します。分析点数がちょうど周期信号の1周期分でなければ、その分析点数で切り出すことでひずみが大きくなるので、それを極力少なくするために窓関数をかけます。 一般には、[窓関数をかける」とは窓関数と呼ばれる関数を信号(この場合時系列信号)に乗算します。その後に、たとえばフーリエ変換などの処理を行います。 窓関数には、その性質によっていろいろな種類がありますので、このあたりは信号処理の本を参考にしてください。

その他の回答 (1)

  • gootara01
  • ベストアンサー率55% (22/40)
回答No.2

実際の信号波形をフーリエ変換するためには、実際には有限な時間波形を連続波形として扱う必要があります。具体的には、実際の信号波形のうちある時間からある時間までのデータを切り出して、それの繰り返し信号をつくって連続波形とみなします。このとき切り出したデータの開始点と終点がつながっていないと不連続になって高周波のノイズ成分が混入してしまいます。これを避けるために端っこ(開始点と終点)の信号の特性があまり変換結果に効かないような重み付けを行うのが窓関数です。 下のURLが非常に分かりやすいのでご参考に。 ここにハニング窓の例もあります。「ハニングをかける」とは文字通り乗算することを意味します。

参考URL:
http://www20.u-page.so-net.ne.jp/gd6/ssakai/mp3/16_fft.htm

関連するQ&A