You are on page 1of 5

Prctica 3: Transformada de Fourier en tiempo discreto

DTFT >Transformada de Fourier en Tiempo Discreto


Introduccin.
La transformada de Fourier X(w) de una seal en tiempo discreto x[n] se calcula mediante la
expresin
X(w) = x|n]e
-jmn

n=-

y su inversa es,
x|n] =
1
2n
_X(w)c
]on
Jw
n
-n

La DTFT X(w) toma valores complejos y es una funcin continua y peridica en w. El
periodo es 2, representndose normalmente en el intervalo [-, ]. Al evaluar numricamen-
te la DTFT se presentan dos problemas:
a) La secuencia x[n] puede tener un nmero infinito de puntos
b) X(w) es una funcin continua de la frecuencia w y debe ser discretizada para trabajar en un
procesador digital.
Para resolver el primer problema consideraremos que la secuencia de entrada est formada
por un vector de L puntos siendo 0 para los valores comprendidos entre L + 1 e infinito. Para
el segundo, consideraremos que X(w) se evala en un numero N finito de frecuencias equidis-
tantes en el intervalo [-, ] con incrementos de 2/N, es decir se consideran el conjunto dis-
creto de frecuencias w
k
= 2 k/N con k=0,1,...N-1. Si se elige N lo suficientemente grande los
valores X[2 k/N] se aproximan a la funcin X(w) continua origen del muestreo.
Al muestrear la DTFT de esta manera se obtiene la expresin correspondiente a la trasfor-
mada discreta de Fourier DFT que en MATLAB se implementa mediante el algoritmo conocido
como FFT (Fast Fourier Transform).
X(w
k
) = X(k) = x|n]

n=-
e
-j(2akN)n
, poro k = u,1, , N 1.
Para evitar problemas de muestreo insuficiente se debe elegir N tal que N>L.
Para implementar la dtft usaremos el archivo dtft.m que se lista (si es necesario use help
para averiguar cmo funcionan las siguientes lneas)
function [H,W]=dtft(x,N)
% uso: [H W]=dtft(x,N)
% x: muestra de longitud L, se supone que de L+1 a infinito la muestra toma va-
lor 0.
% N: nmero de frecuencias a evaluar. N debe ser mayor que L.
% H: valores complejos de la DTFT
% W: vector de frecuencias correspondiente a la los valores H calculados
N=fix(N); %aproxima a entero redondeando al entero inferior
L=length(x);
if(L>N)
error('DTFT: numero de muestras, L, debe ser inferior al numero de frec a calcu-
lar N')
end
%
% wk=2*pi*k/N con k=0,1,2, ... ,N-1
w=2*pi/N*(0:N-1);
%
medio=ceil(N/2)+1 %aproxima a entero redondeando al entero inferior
%
% evaluamos la DTFT de -pi a pi
%
W(medio:N)=W(medio:N)-2*pi;
W=fftshift(W);
H=fftshift(fft(x,N));
En la funcin anterior se realiz un desplazamiento (fftshift) en frecuencias con objeto de
que los resultados de w se den en el intervalo [-, ].
Ejercicios del apartado 1:
3.1.1(*) Represente la dtft en mdulo y fase de la seal x[n]= 0.88
n
*exp(j(2/5)n), con L=
40 y N=128.
3.1.2 Compare los resultados y explique que sucede si se toman valores de N=40, N=64 y
N=1024.
3.1.3(*) Con N = 128 cambie el valor de L, por ejemplo L=15 y L=128 y comente los resulta-
dos
3.1.4 Repita los apartados anteriores para la seal x1[n] = exp(j(2/5)n) y
x2[n]=cos((2/5)n). Explique las diferencias con los apartados anteriores.

DFT y FFT>Algoritmto FFT para calcular la Transformada Discreta de
Fourier
El algoritmo FFT es una manera eficiente de calcular la DFT. En MATLAB la funcin es
X=fft(x,N)
Calcula la FFT de N puntos del vector x.
El resultado X es un vector de nmeros complejos ordenados con ndice k=0,1,...N-1.
Si no se da el segundo parmetro se considera como N la longitud del vector. Para que el
algoritmo sea eficiente N debe ser potencia de 2.
Si la longitud de x es menor que N, el vector se rellena con ceros. Si es mayor el vector es
truncado.
x = ifft(X)
Calcula la transformada de Fourier inversa del vector X. Tambin se puede especificar el
nmero de puntos N con ifft(X,N)
X=fftshift(x)
Reordena el vector X en orden creciente de frecuencias de tal manera que la componente
continua queda centrada.
Ejercicios del apartado 2
3.2.1(*) Sea la secuencia x[n] = cos(0.25pn) + cos(0.5pn)+ cos(0.52pn). Se pide Calcular la
DFT utilizando la funcin matlab fft(x,N) con N=L= longitud de las secuencia x[n] y repre-
sentar su mdulo para diferentes valores de nmero de muestras L. Pruebe por ejemplo los
siguientes valores N=16, N=32, N=64, N=128. Indique a partir de qu valor de N son distin-
guibles las tres frecuencias de la seal.
3.2.2 Cmo estn relacionados los valores de L, N y la resolucin en frecuencias?
3.2.3 Compruebe que sucede en el espectro de la seal si la una secuencia de L= 100 mues-
tras de x[n] se rellena con ceros hasta N=128.
3.2.4(*) Calcule la inversa de la funcin X(w) utilizando la funcin ifft(X) para recuperar la
seal en el dominio de tiempos.
3.2.5 Suponga que se desea estudiar el contenido en frecuencias usando la FFT, de la siguien-
te seal.
x(t) = 0.0472 cos(2(200)t + 1.5077) + 0.1362 cos(2(400)t + 1.8769) + 0.4884
cos(2(500)t - 0.1852) + 0.2942 cos(2(1600)t -1.4488) + 0.1223 cos(2(1700)t).
Cul es su frecuencia fundamental? Qu frecuencia de muestreo debe usarse? Estime un
valor adecuado de N para obtener suficiente precisin en frecuencias. Represente |X(w)| y la
fase de X(w) en funcin de w.
3.2.6 Calcule la inversa de la funcin X(w) utilizando la funcin ifft (X) para recuperar la se-
al en el dominio de tiempos.

Enventanado, "Leakage" y resolucin espectral.
Enventanado
Sea la secuencia x[n] = sen(2n/5)
Limitar la secuencia de entrada al intervalo 0, L-1 es equivalente a multiplicar la seal de
entrada x[n] por una ventana rectangular w(n) de longitud L= 40 donde
w[n] = l para 0 <= n < L - l
w[n] = 0 para el resto
Ejercicios del apartado 3
3.3.1.(*) Represente el espectro de las seales w[n], x[n] y del producto y[n]=w[n]*x[n].
Utilice la funcin fft calculando un nmero suficiente de valores (N=128) para explicar los re-
sultados anteriores.
3.3.2. Explique, a partir de los espectros anteriores, la relacin del valor mximo obtenido en
el eje de ordenadas al representar |Y(w)| con los parmetros L y N.
Leakage
Una consecuencia del enventanado es que el espectro de la seal no se localiza en una ni-
ca frecuencia. Es decir si tenemos una seal como x(t) = sen w
o
t que solo debera tener una
frecuencia fundamental w=w
o
, al calcular su FFT tomando una ventana cuadrada, aparecern
componentes adicionales la frecuencia w y su espectro se extiende por todo el intervalo de
frecuencias. Este efecto se conoce como derrame, o bien con el trmino ingls "Leakage"
Para comprender este efecto y estimar un valor adecuado para el tamao de la ventana se
pide realizar las siguientes representaciones y estudiar los comportamientos que se presentas
en los siguientes casos.
Ejercicios
Para todo el ejercicio se considera una seal continua infinita dada por x(t) = sen(2 f t) con f
= 1 KHz. El efecto de aplicar una ventana cuadrada es equivalente a reducir el intervalo de
muestreo en 0 < t < tamao de ventana. Para todos los casos se pide calcular x[n],
X(w)=DTFT(x[n]), y X[k]=DFT(x[k]), Representar |X(w)| y |X[k]|.
3.3.3.(*) Suponga que toma N= 8 muestras considerando el intervalo 0 < t < 1 ms. Cul es
la frecuencia de muestreo Fs?
3.3.4.(*) Suponga que toma N= 8 muestras considerando el intervalo 0 < t < 0.5 ms. Cul
es la frecuencia de muestreo Fs?
3.3.5. Suponga que toma N= 24 muestras considerando el intervalo 0 < t < 1.5 ms.
3.3.6. Suponga que toma N= 64 muestras considerando el intervalo 0 < t < 4 ms.
3.3.7.(*) Explique que valores de tamao de la ventana son los adecuados para reducir el
efecto de "Leakage"
Resolucin espectral
El enventanado reduce la resolucin espectral (diferencia entre la frecuencia de dos seales
para que pueden ser distinguidas). Para ello considerar que la seal de entrada viene dada por
x|n] = exp(]u.2 n) +exp(]u.22 n) +exp(]u.6 n)
3.3.8 Representar la dtft de esta seal para N=128 y para L=25, 50 y 100. Qu relacin hay
entre L y la resolucin en frecuencia?
Con el fin de reducir el derrame es posible elegir una ventana w(n) cuya dtft W(w) tenga lbu-
los laterales ms pequeos, pero esto provoca un aumento en la anchura del lbulo principal,
lo que provoca una disminucin en la resolucin espectral.
3.3.9 Comprobar este efecto para la seal x[n] anterior usando una ventana de Hamming de-
finida por
w(n) = 1/2(1-cos(2exp(]u.2 n)n/(L - 1)) para 0<= n <L-l
w(n) = 0 en el resto
3.3.10 Comparar la dfft de una ventana rectangular y de una ventana de Hamming usando el
mismo valor de L=50

Analizador de Espectros.
Un analizador de espectro es un sistema que permite obtener las frecuencias que estn pre-
sentes en una seal discreta.
El sistema ms simple que nos permite verificar si una seal tiene una componente con fre-
cuencia w
1
sera

donde se multiplica la seal de entrada por e
-jw
1
n
para desplazar la componente con frecuencia
w=w
1
al origen de frecuencias w=0 y al aplicar el filtro pasa bajas se obtendr la contribucin
de la componente de la seal con w= w
1
.
Repitiendo este proceso para cada frecuencia w= w
k
, se obtendra el espectro del sistema.
Un sistema como el descrito adolece de dos grandes inconvenientes:
Implica que se conocen las frecuencias presentes en la seal.
La respuesta en frecuencia del filtro pasa baja debe ser cero salvo para w=0.
No obstante tiene su utilidad si se pretende conocer si determinadas frecuencias estn pre-
sentes en la seal y solo interesa la contribucin de estas componentes.
Para seales peridicas de periodo N el FPBJ puede sustituirse simplemente por un acumu-
lador que suma L puntos

En el caso N=L el comportamiento de este sistema es un filtro pasa baja ideal. El sistema an-
terior tiene h[n]= [1, 1, 1,...1] con L puntos distintos de 0 y su H(w) para L=10 es

Ejercicios del apartado 4
Considere la seal discreta con periodo N=10.
x[n] = 8 + 10sen(2/10)n
3.4.1 Represente la seal x[n] en un rango adecuado de valores para verificar que es peridi-
ca
3.4.2 Utilizando el sistema descrito obtenga los componentes X[k]. Recuerde que el caso es-
tudiado en el ejemplo corresponde con N=L=10. Qu componentes de frecuencia son distin-
tos de cero? Qu valores toman y por qu?
3.4.3 Compare los resultados con los obtenidos mediante la fft
3.4.4 Conocido el espectro exacto de x[n] y del acumulador empleado, explique razonadamen-
te el funcionamiento del sistema. Por qu el acumulador se puede utilizar como FPBJ? Repre-
sente en el dominio de frecuencias los diferentes espectros que resultan despus de aplicar el
desplazamiento en frecuencias y su posterior filtrado.

You might also like