Está en la página 1de 13

TRANSFORMADA RAPIDA DE FOURIER

La transformada rápida de Fourier FFT es un algoritmo que reduce el tiempo de cálculo de n2


pasos a n·log2(n). El único requisito es que el número de puntos en la serie tiene que ser una
potencia de 2 (2n puntos), por ejemplo 32, 1024, 4096, etc.
Su velocidad proviene del hecho de que utiliza los resultados de cálculos previos para reducir el
número de operaciones. En particular, aprovecha la periodicidad y simetría de las funciones
trigonométricas para calcular la transformada con aproximadamente N log2 N operaciones. Así,
para N = 50 muestras, la TRF es cerca de 10 veces más rápida que la TDF estándar. Para N = 1
000, es alrededor de 100 veces más rápida.

Figura 1

ALGORITMO DE SANDE-TUKEY
En el presente caso, se supondrá que N es una potencia entera de 2,
N = 2M
donde M es un entero. Se introduce esta restricción para simplificar el algoritmo resultante.
Ahora, recuerde que la TDF se puede representar de manera general como:

donde 2π/N = ω0. La anterior ecuación se expresa también como:

donde W es una función ponderada de valor complejo definida como


2𝜋
−𝑖( )
𝑊=𝑒 𝑁
Suponga ahora que la muestra se divide a la mitad y la ecuación se expresa en términos de
los primeros y últimos N/2 puntos:

donde k=0,1, 2, …, N-1. Se crea una nueva variable m=n-N/2, para que los limites de la
segunda sumatoria sean consistentes con la primera,

Ahora, advierta que el factor 𝑒 −𝑖 𝜋 𝑘 = (−1)𝑘 . De esta forma, para puntos pares es igual a 1 y
para los impares es igual a -1 por lo tanto, el siguiente paso en el método consiste en
separar la ecuación anterior de acuerdo con los valores pares o impares de k. para los
valores pares,

Y para los valores impares,

para k= 0, 1, 2, …, (N/2)-1.
Estas ecuaciones se expresan también para los valores pares de la siguiente manera,

y para los valores impares,


Ahora, realizaremos una observación clave: esas expresiones pares e impares se pueden
interpretar como si fueran iguales a las transformadas secuenciales de longitud (N/2)

De esta manera, en forma directa resulta que

En otras palabras, se remplazo un calculo de N puntos por dos cálculos de(N/2) puntos.
Puesto que cada uno de los últimos requiere aproximadamente (N/2)2 multiplicaciones y
sumas complejas, el procedimiento permite un ahorro de un factor de 2 es decir, N2 contra
2(N/2)2=N2/2.
El esquema se ilustra en la figura para N = 8. La TDF se calcula formando primero la
secuencia gn y hn y calculando después las N/2 TDF para obtener las transformadas
numeradas pares e impares. Algunas veces los pesos W n se llaman factores de giro.

Figura 2

Ahora es claro que este procedimiento de “divide y vencerás” se puede repetir en la


segunda etapa. Así, calculamos la TDF de N/4 puntos de las cuatro secuencias de N/4
Compuestas de los primeros y últimos N/4 puntos de las dos ecuaciones anteriores.
Se continua su estrategia hasta su inevitable conclusión, cuando N/2 de TDF de dos puntos
se hayan calculado visto en la figura3. El número total de cálculos para el cálculo completo
es del orden de N log2 N. la diferencia entre este nivel de esfuerzo y el de la TDF estándar
(figura 1) ilustra porque es tan importante la TRF.

Figura 3

ALGORITMO COMPUTACIONAL.
Es relativamente sencillo expresar la figura 3como un algoritmo. Se usará la identidad de
Euler.

para implementar el algoritmo en lenguajes que no emplean en forma explícita variables


complejas.

Figura 4 a) una red mariposa que representa el cálculo fundamental de la figura 3. b) seudocódigo para
implementar a).
Una inspección cercana a la figura 19.16 indica que su molécula computacional
fundamental es la llamada red mariposa, ilustrada en la figura 19.17a. El seudocódigo para
implementar una de esas moléculas se muestra en la figura 19.17b.
El seudocódigo para la TRF se da en la figura 19.18. La primera parte consiste, en esencia,
en tres ciclos anidados para implementar el cuerpo computacional de la figura 19.16.
Observe que los datos reales se guardan originalmente en el arreglo x. También observe
que el ciclo exterior pasa a través de las M etapas [recuerde la ecuación (19.31)] del
diagrama de flujo.
Después de que se ejecuta esta primera parte, se habrán calculado las TDF, pero en
desorden (véase el lado derecho de la figura 19.16). Es posible ordenar esos coeficientes

Figura 5

Seudocódigo para implementar una TRF con partición en frecuencia. Observe que el
seudocódigo está compuesto por dos partes:
a) la TRF en sí
b) una rutina de inversión de bits para ordenar los coeficientes de Fourier resultantes.
EJEMPLO1
EJEMPLO2
Y=2sen (2π t)+5cos (6πt)

Muestra Amplitud
X0 5.0000
X1 -2.1213
X2 2.0000
X3 4.9497
X4 -5.0000
X5 2.1213
X6 -2.0000
X7 -4.9497

Primera etapa
X’’0=X0+X4=0
X’’1=X0-X4=10

X’’2=X2+X6=0
X’’3=X2-X6=4

X’’4=X1+X5=0
X’’5=X1-X5= - 4.2426

X’’6=X3+X7=0
X’’7=X3-X7=9.8994
Segunda etapa
X’0=X’’0+(W 0/4 X’’2) =0
X’1=X’’1+(W 1/4 X’’3) =10-i4
X’2= X’’0-(W 0/4 X’’2) =0
X’3= X’’1-(W 1/4 X’’3) =10+i4

X’4=X’’4+(W 0/4 X’’6) =0


X’5=X’’5+(W 1/4 X’’7) = - 4.2426 – i 9.8984
X’6= X’’4-(W 0/4 X’’6) =0
X’7= X’’5-(W 1/4 X’’7) = - 4.2426 + i 9.8984
Etapa final
X0=X’0+(W 0/8 X’4) =0
X1=X’1+(W 1/8 X’5) = - i 8
X2=X’2+(W 2/8 X’6) =0
X3=X’3+(W 3/8 X’7) =20
X4=X’0+(W 0/8 X’4) =0
X5=X’1+(W 1/8 X’5) =20
X6=X’2+(W 2/8 X’6) =0
X7=X’3+(W 3/8 X’7) = i 8

Z = √𝑟𝑒(𝑋)2 + 𝑖𝑚 (𝑋)2
Z0=0
Z1=8
Z2=0
Z3=20
Z4=0
Z5=20
Z6=0
Z7=8
𝑍∗2
𝑥=
𝑁
FRECUENCIA AMPLITUD
x0 0
x1 2
x2 0
x3 5
x4 0
x5 5
x6 0
x7 2

También podría gustarte