信号処理が新しく、ちょっと冗談を言うと私を許します。私はWindows用のFFTWをダウンロードしてインストールしました。ドキュメントは大丈夫ですが、まだクエリがあります。FFTWでオーディオデータの離散フーリエ変換を計算する
私の全体的な目的は、コンピュータのサウンドカードから44100 samps/secでサンプリングされた生のオーディオデータをキャプチャして(このタスクは既にライブラリとマイコードを使用して実装されています)、このオーディオデータのブロックに対してDFTを実行することです。
私はオーディオの周波数成分の範囲を見つけることに興味があり、私は逆DFTを実行しません。この場合、必要なものすべてが実際から実際に変換されているので、fftw_plan_r2r_1d()
の機能はありますか?
変換するデータのブロックは、11025サンプルの長さです。私の関数は以下のように呼び出されます。これにより、11025ビンのスペクトルアレイが得られます。結果の最大周波数成分をどのように知ることができますか?
ビン間隔はFs/n、44100/11025なので、私はそれを信じています。4. 0Hzから44100Hzまでの周波数スペクトルを4ステップで、ナイキスト周波数22200の半分まで?
これは、私が60Hzから3000Hzまでの周波数を検索したいので、私にとっては問題になります。変換範囲を制限する方法はありますか?
この関数の引数はありませんか、別の方法がありますか?
これに関する助けを前もって多くのお客様に感謝します。
p = fftw_plan_r2r_1d(11025, audioData, spectrum, FFTW_REDFT00, FFTW_ESTIMATE);
1つにつき1つ質問してください。 –