C言語によるFFTの記述 |
このアーカイブを解凍して適当なディレクトリにコピーした後、FftFloat.slnをダブルクリックします(Visual
Studio 2008 Standard Editionを使用しますが、お持ちでない場合はDebugディレクトリのEXEファイルを実行してください)。 するとMicrosoft Visual Studioがスタートします。 左ウインドウの「ソリューション」タブを選択し、FftFloatView.cppをダブルクリックして開きます。 FftCal関数を探しましょう。iW[i]には入力波形が、tW[i]には三角関数が入ります。「ビット逆順ソート」に関しては専門書を参考にしてください。 入力波形と三角関数との積和が行われ、それらは3重ループ(”I"が最外周、”J”がその中、”K”が最内周)に挟まれています(「バタフライ演算」のメカニズムに関しても専門書に譲る)。ここで大事なのは乗算や加算がすべて浮動小数点(double)で行われていることです。
|