- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FFT フーリエ変換 について)
FFTフーリエ変換について質問
このQ&Aのポイント
- FFTについて質問があります。サンプリング周波数48kHz、量子化24ビット、1kHzのサイン波のデータを作って、それをFFTにかけてみると裾野が広がり、フロアの高いスペクトラムとなってしまいます。データポイントが少ないことによる劣化の可能性があるため、データポイントを65536ポイントに増やしてみたところ、綺麗なスペクトラムとなりました。しかし、少ないポイント数で綺麗なFFTを得る方法はあるのでしょうか?
- FFTを行う際にデータポイントが多い方が裾野が広がらず、シャープなスペクトルを得ることは一般的に知られています。しかし、少ないポイント数でも綺麗なFFTを得る方法があるのか疑問です。別のデータを入力とした場合には少ないポイントでも綺麗なFFTを得ることができるため、データを作るコツがあるのではないかと思っています。
- FFTについて質問です。サンプリング周波数48kHz、量子化24ビット、1kHzのサイン波のデータを作り、それをFFTにかけてみると裾野が広がり、フロアの高いスペクトラムとなってしまいます。データポイントを増やすことで綺麗なスペクトラムを得ることはできますが、少ないポイント数でも綺麗なFFTを得る方法はあるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
サイン波(あるいは一般に周期Tの関数)であるなら、窓関数など使わず、 データの幅を周期の整数倍に合わせればきれいになりますよ。 つまり、FFTのデータ数をN、nを任意の自然数として、 サンプリング周期をnT/Nにとります。 窓関数を使うなら、信号をf(x)、窓関数をw(x)、 それぞれのフーリエ変換をF(s), W(s)とすると、 窓関数をかけたフーリエ変換 ∫[-∞→+∞] f(x)w(x) e^{isx}dx はF(s)とW(s)の畳み込み (1/2π)F*G(s)=(1/2π)∫[-∞→+∞] F(t)W(s-t) dt になるので、W(s)をせまく、つまりw(x)を広く取れば広がりは抑えられるはずです。 (係数(1/2π)はフーリエ変換の定義により変わります。)
お礼
ご回答ありがとうございました。 確かに、周期関数であれば、窓関数をかけなくても 適切なポイント数を取れば不連続点が発生しないですね。 適切なポイント数を提示していただいたおかげで 無事解決することが出来ました。 本当にありがとうございました! これにて質問を締め切ります。