Está en la página 1de 17

FAST FOURIER TRANSFORM(FFT)

1.¿Que es la FFT?
Es un algoritmo que permite calcular la DFT e IDFT de una señal con un
ahorro computacional enorme, e incluso se demostró que no puede haber
algoritmo mas eficiente que la de la FFT para el calculo de la DFT.
El algoritmo de la FFT nos proporciona un muestreo de la DFT de una señal,
para pocos datos de la señal x[n] la FFT no proporciona mucha información,
pero a medida que se incrementes los datos de la señal X[n] la FFT se va
aproximando mucho a la DFT.
Al realizar la DFT y FFT de una señal obtenemos:
Si aumentamos los puntos con el que realiza la FFT podemos aumentar la
resolución del la transformada.
2. Análisis del algoritmo de la FFT
Para realizar una DFT debemos realizar sumas y multiplicaciones complejas,
realizar estas operaciones directamente requiere de mucho coste
computacional, haciendo casi inviable la utilización para señales muy
grandes.
Tenemos la misma definición de la DFT,

Donde 𝑊𝑁 = 𝑒 −𝑗2𝜋/𝑁 , llamado factor de giro.


Donde k es el índice de cada frecuencia.
Para ahorrar costo computacional el ALGORITMO RADIX-2 FFT aprovecha las
propiedades de periodicidad y simetría de los factores de giro.
¿En cuanto mejora la velocidad de un proceso NLOG(N) vs 𝑁 2 ?
La tabla compara la cantidad de procesos que debe realizar un algoritmo con
diferentes complejidades.

Para una maquina de 1MFLOP (un millón de “puntos flotantes” de


operaciones por segundo). Sea N= 1 millón = 106 .
Un algoritmo de O(𝑁 2 ) toma 1012 procesos esto requiere 11.5 días.
Un algoritmo de O(𝑁𝐿𝑜𝑔2 (𝑁) ) toma 6 ∗ 106 procesos esto requiere 6 s.
Ejemplo FFT de 8 muestras
X(n)=2sen(2π(1)n)+5cos(2 π(3)n)
Colocamos las muestras en una tabla para mejorar los cálculos
Muestra Amplitud
X(0) 5.0000
X( 1) -2.1213
X( 2) 2.0000
X( 3) 4.9497
X( 4) -5.0000
X( 5) 2.1213
X( 6) -2.0000
X( 7) -4.9497
Lema De Danielson-Lanczos
• La transformada de unas señal de tamaño N se puede descomponer
en 2 transformadas de señales de tamaño N/2 es la base de la FFT
0 1 2 3 4 5 6 7

0 2 4 6 1 3 5 7

0 4 2 6 1 5 3 7

Dividimos la cantidad de muestras en múltiplos de dos para minimizar


los cálculos
𝑛
𝑁−1 −𝑗π𝑘
Para dos muestras x[K]= 𝑛=0 𝑥(𝑛)𝑒 𝑁

x(K)= 𝑁−1
𝑛=0 𝑥(𝑛) (𝑊 𝑁 ) 𝑛𝑘
𝑊𝑁𝑛𝑘 :twiddle factor
Entonces para 2 muestras 𝑊20.0 =1 y 𝑊24.0 =1 por definición
𝑛𝑘 𝑛 𝑛
𝑑𝑒 (𝑊𝑁 ) =cos πk - jsenπk
𝑁 𝑁

K:Armonico
DIAGRAMA DE MARIPOSA para las diferentes transformadas

X0 +
X0+(𝑊20 . 𝑋4)=X’’0 X’’0=0

𝑾𝟎𝟐 +
X4 -1 X0-(𝑊20 . 𝑋4)=X’’1 X’’1=10

X2 + X2+(𝑊20 . 𝑋6)=X’’2 X’’2=0

𝑾𝟎𝟐 +
X6 -1 X2-(𝑊20 . 𝑋6)=X’’3 X’’3=4
X1 + X1+(𝑊20 . 𝑋5)=X’’4 X’’4=0

X5 𝑾𝟎𝟐 -1 + X1-(𝑊20 . 𝑋5)=X’’5 X’’5=-4.2426

X3 + X3+(𝑊20 . 𝑋7)=X’’6 X’’6=0

X7 𝑾𝟎𝟐 -1 + X3-(𝑊20 . 𝑋7)=X’’7 X’’7=9.8994


Multiplo de cuatro N=4 para transformada de 4 puntos
entonces 𝑊𝑁𝑛𝑘 :twiddle factor ; n=0,1,2,3

Frecuencia Amplitud
X’’(0 ) 0.0000 𝑊40 =1
X’’( 1) 10.0000 𝑊41 =-j
𝑊80 =1
X’’( 2) 0.0000
X’’( 3) 4.0000
X’’( 4) 0.0000 𝑊82 =-j
X’’( 5) -4.2426
𝑊81 =1/ 2 − j1/ 2
X’’( 6) 0.0000
X’’( 7) 9.8994 𝑊83 =-1/ 2 − j1/ 2
Multiplo de cuatro N=4

X’’0 + X’’0+(𝑊40 . 𝑋 ′′ 2)=X’0 X’0=0


X’’1 + X’’1+(𝑊41 . 𝑋 ′′ 3)=X’1 X’1=10-j4
X’’2 𝑊40 -1 + X’’0-(𝑊40. 𝑋 ′′ 2)=X’2 X’2=0
X’’3 𝑊41 -1 + X’’1-(𝑊41 . 𝑋 ′′ 3)=X’3 X’3=10+j4

+
X’’4 X’’4+(𝑊40 . 𝑋 ′′ 6)=X’4 X’4=0
X’’5 + X’’5+(𝑊41 . 𝑋 ′′ 7)=X’5 X’5=-4.2426-j9.899
X’’6 𝑊40 -1 + X’’4-(𝑊40 . 𝑋 ′′6)=X’6 X’6=0
X’’7 𝑊41 -1 + X’’5-(𝑊41 . 𝑋′′7)=X’7 X’7= -4.2426+j9.899
Multiplo de ocho N=8
X’0 X’0+(𝑊80 . 𝑋 ′2)=X0 X0=0
X’1 X’1+(𝑊81 . 𝑋 ′3)=X1 X1=-j8
X’2 X’2+(𝑊82 . 𝑋 ′2)=X2 X2=0
X’3 X’3+(𝑊83 . 𝑋 ′3)=X3 X3=20
X’4 𝑊80 -1 X’0-(𝑊80 . 𝑋 ′6)=X4 X4=0
X’5 𝑊80 -1 X’1-(𝑊81 . 𝑋 ′7)=X5 X5=20
X’6 𝑊82- -1 X’2-(𝑊82. 𝑋 ′6)=X6 X6=0
X’7 𝑊83- -1 X’3-(𝑊83 . 𝑋′7)=X7 X7= -j8
x= 𝑅𝑒𝒙2 + 𝐼𝑚𝒙2
X:frecuencia final

frecuencia Amplitud frecuencia Amplitud


X0 0 X0 0
X1 8 X1 2
X2 0 𝑋 X2 0
𝑿 = .2
X3 20 𝑁 X3 5
X4 0 X4 0
X5 20 X5 5
X6 0 X6 0
X7 8 X7 2
Conclusiones:

* La FFT es un algoritmo que nos permite calcular de manera eficiente la TDF en


base a la división de tiempo logrando eliminar de esta forma cálculos repetitivos y
redundantes .
** Es un algoritmo que reduce el tiempo real de calculo si lo comparamos con el
calculo directo de la TDF. Para N:muestras grandes
***La FFT es así un algoritmo esencial para aplicaciones sensibles al tiempo y/o de
recursos limitados.
****la FFT nos reduce el numero de elevado operaciones con respecto TDF ,que
debe realizarse para su cálculo.

También podría gustarte