以前に理想フィルタもどきを作ってみた際、窓関数というのを使って少しでもそれらしい特性になるようなことをしてみました。
その時はもともとあった sinc カーブのそれぞれの値に窓関数(その時はハミング)を掛けて、その結果を入力信号に畳み込みする形(FIR)で利用しました。

FFT で活用する際は、元の波形と重畳して波形を変形させて一見繰り返し波形に見えるように加工するという使い方になります。

で、実は今までの観測期間の設定というのはそのこと自体が窓関数を適用していました。その関数とは矩形波ということになります。
図で示すとこんな感じです。2.4Hz の場合です。
イメージ 1
このように連続波であることを前提にその一部を切り取って、FFT でスペクトラム分析をしていたため、実際の分析結果は今までの説明にあったように、以下のような元の波形とは違ったものを見ていたことになります。

とはいえ、どんな周波数がどんなタイミングで来るか分かっているわけではないし、観測時間を長くすればそれでも精度は上がるとはいえ特に組み込み機器などでは限界があります。そこで窓関数として矩形波ではなく別のものを用いることで、できるだけ見たいものが見えるようにしていきたいわけです。

基礎知識はやはりこちらをご覧下さい。

ウィキペディア:窓関数
https://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0

スペクトラムアナライザなどでオプションのところを見ると、Rectangular, とか Hamming とか書いてあるのを見かけたことがあると思いますが、これのことを指しています。観測時間が十分長い場合はたいていデフォルトの Rectangular でよいと思いますが、孤立波に近い波形などは適切なものを選ぶ必要があるかも知れません。上述の Wiki にはこういう場合はこう、とか書いてくれていないので自分でカットアンドトライで探すしかなさそうです。

次回以降は代表的な窓関数を使って、色々な特性を調べてみたいと思います。