多分お待ちかねだと思うのでもういきなり行っちゃいます。
前回のスクリプトの
fs1=4 // 低い信号周波数
のところを、
fs1=4.5 // 低い信号周波数
と書き換えて実行します。その他のパラメータも念のため並べておきます。
fs1=4.5 // 低い信号周波数
fs2=13 // 観測したい信号の周波数
amp1=1 // 低い信号周波数の振幅
amp2=0.01 // 観測したい信号の振幅
波形:

FFT:

矩形窓だと 4.5 Hz という端数の影響を受けて高い周波数までノイズフロアが延びているのに対して、カイザー窓を通した場合はそれぞれが塊となってしまってはいますが、分離します。40dB のレベル差があっても検出することが出来ます。これが矩形窓以外でのダイナミックレンジの拡大効果といえるわけです。
さて、カイザー窓の良いところはパラメータをいじるとダイナミックレンジと分解能のバランスを変えることが出来るというのが特徴です。そこでスクリプトの次のパラメータを変更してみることにします。ウィキペディアではαとなっていて、これを 3 → 2 にすると云うことです。
Kaiser=window('kr',N,%pi*3) → Kaiser=window('kr',N,%pi*2) // Kaiser窓
結果はこうなります。


波形は違いが分かりにくいですが、FFT した結果は少し分解能がよく見えるか、というところでしょうか。
実際使うときはこの辺を調整して、見やすいポイントを探すと云うことになるのかも知れません。
次回はノイズなどを入れて見ようと思います。
前回のスクリプトの
fs1=4 // 低い信号周波数
のところを、
fs1=4.5 // 低い信号周波数
と書き換えて実行します。その他のパラメータも念のため並べておきます。
fs1=4.5 // 低い信号周波数
fs2=13 // 観測したい信号の周波数
amp1=1 // 低い信号周波数の振幅
amp2=0.01 // 観測したい信号の振幅
波形:

FFT:

矩形窓だと 4.5 Hz という端数の影響を受けて高い周波数までノイズフロアが延びているのに対して、カイザー窓を通した場合はそれぞれが塊となってしまってはいますが、分離します。40dB のレベル差があっても検出することが出来ます。これが矩形窓以外でのダイナミックレンジの拡大効果といえるわけです。
さて、カイザー窓の良いところはパラメータをいじるとダイナミックレンジと分解能のバランスを変えることが出来るというのが特徴です。そこでスクリプトの次のパラメータを変更してみることにします。ウィキペディアではαとなっていて、これを 3 → 2 にすると云うことです。
Kaiser=window('kr',N,%pi*3) → Kaiser=window('kr',N,%pi*2) // Kaiser窓
結果はこうなります。


波形は違いが分かりにくいですが、FFT した結果は少し分解能がよく見えるか、というところでしょうか。
実際使うときはこの辺を調整して、見やすいポイントを探すと云うことになるのかも知れません。
次回はノイズなどを入れて見ようと思います。