You are on page 1of 23

FFT

Ing. José Arturo Marín Thames


Basado en el documento de la Universidad de Rhode
Island asignatura ELE 436 Sistemas de comunicaciones
y Steve on Image Processing de Mathworks
¿Qué es la FFT?
• La FFT es la Transformada Rápida de Fourier
(Fast Fourier Transform) es una versión rápida
de la transformada Discreta de Fourier (DFT).
• Realiza los mismos cálculos que la DFT pero en
forma más rápida o sea en menor tiempo.
¿Qué es la DFT?
• La DFT es muy importante en el área del
análisis de frecuencia (espectro de frecuencia)
porque toma una señal discreta en el dominio
del tiempo y transforma dicha señal en una
representación en el dominio de la frecuencia
discreta.
Importancia de la DFT
• Sin una transformada de tiempo discreto a
frecuencia discreta no seríamos capaces de
calcular la transformada de Fourier con un
microprocesador o DSP.
• La velocidad de ejecución y la forma de la FFT
nos permite el espectro de las señales con
MATLAB.
Revisión de transformadas
Revisión de transformadas
• La transformada de Laplace consiste en
encontrar la representación de un sistema en
forma de polo y cero en el plano complejo
equivalente de un sistema en tiempo
continuo.
• La transformada z es utilizada para encontrar
la representación de polo y cero en el plano Z
de un sistema en tiempo discreto.
Revisión de transformadas
• La transformada continua de Fourier (CTFT)
puede ser encontrada al evaluar la
transformada de Laplace en s = jw.
• La transformada discreta de Fourier (DTFT)
puede ser encontrada al evaluar la
transformada z en z = e jΩ
Comprensión de la DFT
• La DFT no es el mismo tipo de transformada
que la DTFT. Ambas trabajan sobre señales
discretas pero la DFT produce una
representación en el dominio de frecuencias
discretas, mientras que la DTFT produce una
representación continua en el dominio de la
frecuencia.
• Ambas transformadas tienen varias
características comunes que es necesario
resaltar.
Periodicidad y simetría
• La DTFT es periódica. Un periodo se extiende
desde f = 0 hasta fs, donde fs es la frecuencia
de muestreo. Tomando esta característica de
redundancia la DFT es definida solo en la
región entre 0 y fs.
• Cuando se revisa la región entre 0 y fs, se
observa que existe simetría par alrededor del
punto central 0.5 fs.
Ejemplo comparativo entre la DTFT y la
DFT
• Considerando un pulso rectangular x[n] = 1
para el rango de 0 ≤ n ≤ M.
• La DTFT de x[n] es:
• X(ω)=[sin(ωM/2)/sin(ω/2)] e−jω(M−1)/2
• Si obtenemos la magnitud de X(ω) para M = 8,
obtenemos el siguiente gráfico:
DTFT de un pulso rectangular
|X()|
8

0
-8 -6 -4 -2 0 2 4 6 8
DFT
• Resulta que, bajo ciertas condiciones, la DFT
es igual a la DTFT con muestras equidistantes.
• Suponga que XP[k] es el punto P de la DFT de
x[n]. Si x[n] no es cero sobre el dominio
0≤n<M, entonces XP[k] es igual a X(ω) en
intervalos igualmente espaciados de ω.
XP[k]=X(2πk/P), k=0,…,P−1
DFT
• La función de MATLAB que permite calcular la
DFT es fft.
• Calculando la fft del pulso rectangular
tenemos:
• x = ones(1, M); X = fft(x)
• X=80000000
• Este resultado de un valor igual a 8 y luego
varios ceros puede confundirnos.
DFT
• Cuando combinamos este resultado con el de la
DTFT de la señal pulso obtenemos:
P = 8;
w_k = (0:P-1) * (2*pi/P);
X = fft(x);
plot(w, abs(X_dtft))
hold on
plot(w_k, abs(X), 'o')
hold off
DFT de una señal pulsante
8

0
-8 -6 -4 -2 0 2 4 6 8
DFT de una señal pulsante
• Ahora puede ver que los siete ceros en la
salida de fft corresponden a los siete lugares
(en cada período) donde la DTFT es igual a
cero.
• Puede obtenerse más muestras de la DTFT
simplemente aumentando la P.
• Una forma de hacerlo es con el rellenado de
ceros (zero padding).
DFT de una señal pulsante
x16 = [x, zeros(1, 8)];
P = 16;
X16 = fft(x16);
w_k = (0:P-1) * (2*pi/P);
X = fft(x);
plot(w, abs(X_dtft))
hold on
plot(w_k, abs(X16), 'o')
hold off
DFT de una señal pulsante
8

0
-8 -6 -4 -2 0 2 4 6 8
DFT con un incremento en el número
de muestras
P = 50;
x = ones(1, M);
Xp = fft(x, P);
w_k = (0:P-1) * (2*pi/P);
X = fft(x);
plot(w, abs(X_dtft))
hold on
plot(w_k, abs(Xp), 'o')
hold off
DFT con un incremento en el número
de muestras
8

0
-8 -6 -4 -2 0 2 4 6 8
Aplicación de la DFT
• Un uso común de las transformadas de
Fourier es encontrar los componentes de
frecuencia de una señal afectada por una
señal de ruido. Considere datos muestreados
a 1000 Hz. Forme una señal que contenga una
sinusoide de 50 Hz de amplitud 0.7 y 120 Hz
sinusoidal de amplitud 1 y sumada con un
ruido aleatorio de media cero.
Aplicación de la DFT
Señal corrompida por ruido aleatorio gaussiano
8

-2

-4

-6
0 5 10 15 20 25 30 35 40 45 50
tiempo (milisegundos)
Aplicación de la DFT
• NFFT = 2^nextpow2(L);
• % Next power of 2 from length of y
• Y = fft(y,NFFT)/L;
• f = Fs/2*linspace(0,1,NFFT/2+1);
• % Plot single-sided amplitude spectrum.
• plot(f,2*abs(Y(1:NFFT/2+1)))
• title('Single-Sided Amplitude Spectrum of y(t)')
• xlabel('Frequency (Hz)')
• ylabel('|Y(f)|')