Sei sulla pagina 1di 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 of
DFT de una señal pulsante
88

77

66

55

44

33

22

11

00
-8
-8 -6
-6 -4
-4 -2
-2 00 22 44 66 88
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 of
DFT de una señal pulsante
8
8

7
7

6
6

5
5

4
4

3
3

2
2

1
1

0
0
-8
-8 -6
-6 -4
-4 -2
-2 0
0 2
2 4
4 6
6 8
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 of
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)|')

Potrebbero piacerti anche