Fast Fourier Transform (FFT) on tehokas algoritmi Discrete Fourier Transformin (DFT) laskentaan. Cooley-Tukey-algoritmi on yleisin menetelmä FFT:n toteuttamiseen, joka perustuu DFT:n rekursiiviseen hajoamiseen. Sen matemaattisten säätiöiden ymmärtäminen auttaa optimoimaan ja soveltamaan algoritmia tehokkaasti.

FFT:n matemaattiset perusteet

DFT muuntaa kompleksilukujen sarjan taajuuskomponenteiksi. Se määritellään seuraavasti:

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

jossa x on syöttöjakso, X(k) on taajuuskomponentti ja N on sekvenssipituus.

Cooley-Tukey Algoritmin derivaation

Cooley-Tukey-algoritmi hajottaa DFT:n pienemmiksi DFT:iksi jakamalla sekvenssin tasaisiin ja oudoihin osiin:

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

joka voidaan kirjoittaa uudelleen seuraavasti:

X(k) = ...[[n=.[[[[]].......................................................................................................................................................................................................................

Tämä erottelu mahdollistaa pienempien DFT-arvojen rekursiivisen laskemisen, mikä vähentää laskentakompleksisuutta O(N2):sta O(N log N:ään.

Algoritmin soveltaminen

FFT:n algoritmi soveltaa rekursiivista hajoamista toistuvasti, kunnes perustapaus koko 1 saavutetaan. Tulokset yhdistetään käyttämällä twddd-kertoimia, jotka ovat monimutkaisia eksponentiaalisia termejä:

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

Nämä tekijät muuttavat pienempien DFT-arvojen vaihetta yhdistelmäkäytön aikana, mikä mahdollistaa täydellisen muutoksen tehokkaan laskemisen.