Table of Contents
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.