Anda di halaman 1dari 9

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

y su inversa es,

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
numricamente la DTFT se presentan dos problemas:
a) La secuencia x[n] puede tener un numero 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 esta 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
equidistantes en el intervalo [-,] con incrementos de 2/N, es decir se consideran el
conjunto discreto de frecuencias wk = 2k/N con k=0,1,...N-1. Si se elige N lo
suficientemente grande los valores X[2k/N] se aproximan a la funcin X(w) continua
origen del muestreo.
Al muestrear la DTFT de esta manera se obtiene la expresion correspondiente a la
trasformada discreta de Fourier DFT que en MATLAB se implementa mediante el
algoritmo conocido como FFT (Fast Fourier Transform).

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 como 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 valor 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 calcular 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.l.1(*).- Represente la dtft en mdulo y fase de la seal x[n]= 0.88n*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
resultados
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, ...N1.

Si no se da el segundo parametro 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.25n) + cos(0.5n)+ cos(0.52n). Se pide Calcular
la DFT utilizando la funcin matlab fft(x,N) con N=L= longitud de las secuencia x[n] y
representar 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 que valor de
Nson distinguibles 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
muestras de x[n] se rellena con ceros hasta N=128.
5.2.4(*).- Calcule la inversa de la funcion X(w) utilizando la funcion ifft (X) para recuperar
la seal en el dominio de tiempos..
3.2.5.- Suponga que se desea estudiar el contenido en fecuencias usando la FFT, de la
siguiente seal.
x(t) = 0.0472 cos(2)t + 1.5077) + 0.1362 cos(2)t + 1.8769) + 0.4884
cos(2)t - 0.1852) +

+0.2942 cos(2)t -1.4488) + 0.1223 cos(2)t).


Cual es su frecuencia fundamental? Que 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 funcion de w.
3.2.6 Calcule la inversa de la funcion X(w) utilizando la funcion ifft (X) para recuperar la
seal 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-l 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 numero suficiente de valores ( N=128) para explicar los
resultados 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 nica
frecuencia. Es decir si tenemos una seal como x(t) = sen wot que solo debera tener una
frecuencia fundamental w=wo, al calcular su FFT tomando una ventana cuadrada,
apareceran 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 termino ingles
"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 (2ft) con
f = 1KHz. 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 calular 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. Cual
es la frecuencia de muestreo Fs?
3.3.4.(*).- Suponga que toma N= 8 muestras considerando el intervalo 0 < t < 0.5 ms. Cual
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

3.3.8.- Representar la dtft de esta seal para N=128 y para L=25, 50 y 100. Que 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
lobulos laterales ms pequeos, pero esto provoca un aumento en la anchura del lobulo
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
definida por
w(n) = 1/2(1-cos(2n/(L-l))
w(n) = 0

para 0<= n <L-l


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 freccuencias que estan
presentes en una seal discreta.
El sistema mas simple que nos permite verificar si una seal tiene una componente con
frecuencia wl sera

donde se multiplica la seal de entrada por e-jw1n para desplazar la componente con
frecuencia w=w1 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= w1.
Repitiendo este proceso para cada frecuencia w= wk, 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


presentes en la seal y solo interesan la contribucion de estas componentes.
Para seales periodicas de periodo N el FPBJ puede sustiturise simplemente por un
acumulador que suma L puntos

En el caso N=L el comportamiento de este sistema es un filtro pasa baja ideal.


el sistema anterior 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 + 10 sen (2/10)n
3.4.1.- Represente la seal x[n] en un rango adecuado de valores para verificar que es
peridica
3.4.2.- Utilizando el sitema descito obentenga los componentes X[k]. Recuerde que el caso
estudiado en el ejemplo corresponde con N=L=10.
Qu componentes de frecuencia son distintos 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
razonadamente el funcionamiento del sistema. Por qu el acumulador se puede utilizar
como FPBJ?. Represente en el dominio de frecuencias los diferentes espectros que resultan
despus de aplicar el desplazamiento en frecuencias y su posterior filtrado.

Macabor!!
margaritaa
yo te sueo cada dia
dime como yo sabia
si esperando estas por mi
margaritaa

te he dado a ti toda la vida


sueo que tu has sido mia
algun dia te encontrare
"isamer ha ger
you mi colent
extrao decir
ahh lins tu my
xicas tentas
pera k ahy xumas"
muchachitaaa
"esponder ah jai
donde me voy?
poder culpar
y tumo echoes
escru jei contugey
escru jei tu fon"
margarita
margarita
margaritaaa
que tu siempre has sido miaa
eras tu mi compaia
desde otra vida lo se
margarita
hoy k estas en hagonia
se ke es nuestra muchachita
a la que no supe una vez
me fui y viaje
y aos despues
tu con tu flor
no era ilusion
entre la gente
al buscarte
un fusil me apuntaba
te vi alejar
y camine
cuando soar?
tanto cambie?
es increible que estes frente a mi
muchachita
margarita
(mendez)
dime cuantas veces pregunte por ti
al cielo, el mundo por ti recorri
mi amor te robe y mi suave te lo di

carisias, puro amor de ti recibi


mil noches en mi mundo me arranque
asumiendome y casi me olvide
de que mi vida sin ti no tiene razon
es como un alici sin su marcofon..
margarita
margarita
margarita