U N I VERSI DA D P Ú B L I C A D E E L A LTO
C A R R E R A I N G EN I ER Í A E L EC T RÓNI C A
FFT (Transformada
Rápida de Fourier)
¿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.
2
¿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.
3
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
obtener el espectro de las señales con MATLAB.
4
Revisión de transformadas
5
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.
6
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Ω
7
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.
8
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.
9
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:
10
Pulso
https://es.wikipedia.org/wiki/Seno_cardinal
11
DTFT de un pulso rectangular
|X()|
8
0
-8 -6 -4 -2 0 2 4 6 8
12
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
13
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 que da un valor igual a 8 y luego varios ceros
puede confundirnos.
14
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
15
16
DFT de una señal pulsante
8
0
-8 -6 -4 -2 0 2 4 6 8
17
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).
18
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
19
DFT de una señal pulsante
8
0
-8 -6 -4 -2 0 2 4 6 8
20
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
21
DFT con un incremento en el
número de muestras
8
0
-8 -6 -4 -2 0 2 4 6 8
22
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.
23
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)
24
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)|')
25
26
27
Aplicación de la DFT
Se obtiene la transformada discreta de Fourier de la señal y
podemos ver en el espectro de la señal transformada
(magnitud) la frecuencias de las señales portadoras de la
señal original.
28
GRACIAS
29