ファーストフーリエトランスフォーメーラートランスフォーメーラートランスフォーメーション(DFT)を計算するための効率的なアルゴリズムです。クールリー・キューキーアルゴリズムは、FFTを実装するための最も一般的な方法です。DFTの再帰的分解に頼っています。その数学的基礎を理解することで、アルゴリズムを効果的に最適化し適用するのに役立ちます。

FFTの数学的根拠

DFT は複雑な数値の配列を周波数コンポーネントに変換します。次のように定義します。

X(k)= Δn=0N-1x(n)e[]-2πi kn/N

[x(n)]は入力シーケンスで、[]X(k)は周波数コンポーネントであり、Nはシーケンス長さです。

クーリー・トゥキー・アルゴリズムの派生

Cooley-Tukey アルゴリズムは、DFT をより小さい DFT に分解し、シーケンスを均等に分け、奇妙な部分に分けます。

X(k) = Σ]n=0]N-1x(n)e-2πi kn/N

以下のように書き換えることができます。

⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ )) ⁇ ( ⁇ ( ⁇ ))) ⁇ ( ⁇ ( ⁇ ))) ⁇ ( ⁇ ( ⁇ )))) ⁇ ( ⁇ ( ⁇ ) ⁇ ( ⁇ )))) ⁇ ( ⁇ ( ⁇ )))) ⁇ ( ⁇ ( ⁇ ( ⁇ ))))))) ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ )))))) ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ )))))))))))))))) ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇ ( ⁇

この分離により、小径のDFTの再帰的計算が可能で、O(N2)からO(N)までの計算の複雑性を低減できます。

アルゴリズムを適用

FFT アルゴリズムは、サイズ 1 のベースケースに達するまで、再帰的分解を繰り返し適用します。結果は、複雑な指数関数的な用語である twiddle 因子を使用して組み合わせられます。

W[]N](k) = e[-2πi k/N]

これらの要因は、回転中の小さなDFTの段階を調整し、完全な変換の効率的な計算を可能にします。