Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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)|')