高速フーリエ変換 (Fast Fourier Transform, FFT)

FFT

高速フーリエ変換は離散フーリエ変換を高速に計算するアルゴリズムのことで、その定義と計算ライブラリ FFTW についてごく簡単にまとめました。
なお、離散フーリエ変換を含むディジタル信号処理については、東北大学の鏡先生の やる夫で学ぶディジタル信号処理 で非常に分かりやすく解説されておりとても勉強になります。

離散フーリエ変換対

昔勉強したFFTの教科書(E. Oran Brigham, 宮川・今井 (訳): 高速フーリエ変換, 科学技術出版社 (1979), p.110)の表記に従って書いてます。

離散フーリエ変換 (Discrete Fourier Transform, DFT)

$$ G\left( \frac{n}{NT} \right) =\sum_{k=0}^{N-1} g(kT) e^{-j2\pi n k/N} \enspace \enspace n=0,1,\dots, N-1$$

離散フーリエ逆変換 (Inverse Discrete Fourier Transform, IDFT)

$$ g(kT) =\frac{1}{N} \sum_{n=0}^{N-1} G\left( \frac{n}{NT} \right)e^{j2\pi n k/N} \enspace \enspace k=0,1,\dots, N-1$$

FFTW

FFTW は MIT で開発された高速な FFT 計算ライブラリで、任意サイズ・任意次元に対応したアルゴリズムを実装しており、GPL の下でライセンスされ MATLAB でも使用されています。

文献

コメント