El algoritmo Fast Fourier Transform (FFT) es un algoritmo eficiente para calcular la Transformación de Fourier Discrete (DFT). El algoritmo Cooley-Tukey es el método más común para implementar FFT, contando con la descomposición recurrente del DFT. Comprender sus bases matemáticas ayuda a optimizar y aplicar el algoritmo de manera efectiva.

Base matemática de FFT

El DFT transforma una secuencia de números complejos en componentes de frecuencia. Se define como:

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

x(n)] es la secuencia de entrada, X(k)] es el componente de frecuencia, y N es la longitud de secuencia.

Derivación del Algoritmo de Cooley-Tukey

El algoritmo Cooley-Tukey descompone el DFT en DFT más pequeños dividiendo la secuencia en partes iguales y extrañas:

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

que puede ser reescrito como:

[LT:] [LT] [LT] [LT] [X]] [L] [L]] [L]] [FLT] [L]] [FLT] [2]] [2n] e[FLT] [L] [L]] [L] [L]] [L]] [L]] [L]] [L]] [L]] [L] [L]

Esta separación permite la computación recursiva de los DFT más pequeños, reduciendo la complejidad computacional de O(N2) a O(N log N).

Aplicando el Algoritm

El algoritmo FFT aplica la descomposición recursiva repetidamente hasta que se alcance el caso base del tamaño 1. Los resultados se combinan utilizando factores twiddle, que son términos exponenciales complejos:

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

Estos factores ajustan la fase de los DFT más pequeños durante la recombinación, lo que permite una computación eficiente de la transformación completa.