Fast Fourier Transform (FFT) er en effektiv algoritme for å databeregne Discrete Fourier Transform (DFT). Cooley-Tukey algoritmen er den vanligste metoden for å implementere FFT, avhengig av rekursiv nedbrytning av DFT. Å forstå den matematiske grunnlaget hjelper til å optimalisere og anvende algoritmen effektivt.

Matematisk grunnlag for FFT

DFT forvandler en sekvens av komplekse tall til frekvenskomponenter. Det er definert som:

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

hvor x(n) er inngangssekvensen, X(k)] er frekvenskomponenten, og N] er sekvenslengden.

Avbrutt av Cooley-Tukey-algoritmen

Coley-Tukey algoritmen demonterer DFT i mindre DFT-er ved å dele sekvensen i jevne og odde deler:

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

som kan skrives om som:

X(k) = ⁇ ]n=]]N/2-1] x(2n) e]-2πi 2n k/N] + e]-2πi k/N] ⁇ n=]]] x(2n+1) e-2πi 2n k/N

Denne separasjonen tillater rekursiv beregning av mindre DFT-er, noe som reduserer beregningskompleksiteten fra O(N2) til O(N log N).

Bruke algoritmen

FFT-algoritmen anvender den rekursive dekomponeringen gjentatte ganger til grunnsaken til størrelse 1 er nådd. Resultatene kombineres deretter ved hjelp av twidle-faktorer, som er komplekse eksponentielle termer:

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

Disse faktorene justerer fasen av de mindre DFT-ene under rekombinasjon, noe som muliggjør effektiv beregning av den fulle transformasjon.