このアーカイブを解凍して適当なディレクトリにコピーした後、FftFloat.slnをダブルクリックします(Visual
Studio 2008 Standard Editionを使用しますが、お持ちでない場合はDebugディレクトリのEXEファイルを実行してください)。

するとMicrosoft Visual Studioがスタートします。

左ウインドウの「ソリューション」タブを選択し、FftFloatView.cppをダブルクリックして開きます。

FftCal関数を探しましょう。iW[i]には入力波形が、tW[i]には三角関数が入ります。「ビット逆順ソート」に関しては専門書を参考にしてください。

入力波形と三角関数との積和が行われ、それらは3重ループ(”I"が最外周、”J”がその中、”K”が最内周)に挟まれています(「バタフライ演算」のメカニズムに関しても専門書に譲る)。ここで大事なのは乗算や加算がすべて浮動小数点(double)で行われていることです。

|