informe n5

Upload: jordan-roa-valladares

Post on 13-Oct-2015

117 views

Category:

Documents


17 download

TRANSCRIPT

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS2014-I

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS(Universidad del Per, DECANA DE AMRICA)

FACULTAD DE INGENIERA ELECTRNICA, ELCTRICA Y TELECOMUNICACIONES

CURSO : PROCESAMIENTO DIGITAL DE SEALES

PROFESOR : ING. FLAVIO CARRILLO

TRABAJO : INFORME DE LABORATORIO N 5

TEMA : Respuesta en Frecuencia - DTFT

ALUMNO : ROA VALLADARES JORDAN WILMER

N MATRCULA : 11190223

LIMA - 2014I. Introduccin

En el laboratorio anterior, se present el mtodo de la Transformada Continua de Fourier y desarrollamos las diversas caractersticas de esa transformada que hacen de los mtodos de anlisis y la comprensin de las propiedades de las seales y sistemas continuos. En el presente laboratorio completamos nuestro desarrollo de las herramientas bsicas del anlisis de Fourier mediante la introduccin y el examen de la transformada de Fourier de tiempo discreto.

La caracterizacin en el dominio de la frecuencia de un sistema LTI en trminos de su respuesta en frecuencia, representa una alternativa a la caracterizacin en el dominio del tiempo que se logra mediante la convolucin. Al analizar los sistemas LTI, a menudo resulta particularmente conveniente utilizar el dominio de la frecuencia. Adems, conceptos tales como el filtrado selectivo en frecuencia se visualizan de manera rpida y sencilla en el dominio de la frecuencia

II. Resumen

En nuestro anlisis de la serie de Fourier en los laboratorios anteriores, vimos que hay muchas similitudes y un fuerte paralelismo en el anlisis de las seales continuas y discretas. Sin embargo, tambin hay diferencias importantes. Por ejemplo, como vimos anteriormente, la representacin en serie de Fourier de una seal peridica discreta es una serie finita, opuesta a la representacin en serie infinita requerida para las seales peridicas continuas. Como vemos en esta experiencia, existen diferencias que son correspondientes entre las transformadas de Fourier continua y de tiempo discreto. Aprovechando las similitudes entre el anlisis de Fourier de tiempo continuo y de tiempo discreto, comenzaremos extendiendo la descripcin de la serie de Fourier de seales peridicas para desarrollar una representacin de la transformada de Fourier para seales aperidicas discretas, y continuar con un anlisis de las propiedades y las caractersticas de la transformada de Fourier de tiempo discreto. No slo reafirmaremos la comprensin de los conceptos bsicos del anlisis de Fourier, que son comunes tanto al tiempo continuo como al tiempo discreto, sino que contrastamos sus diferencias a fin de profundizar en la comprensin de las distintas caractersticas de cada uno.En el diseo de sistemas surgen consideraciones tanto en el dominio del tiempo como en el dominio de la frecuencia, puede ser indeseable un comportamiento oscilatorio significativo en la respuesta al impulso de un filtro selectivo en frecuencia, y en consecuencia podramos desear sacrificar el nivel de selectividad en frecuencia de un filtro con el fin de alcanzar las tolerancias requeridas en el comportamiento de la respuesta al impulso. Por lo general, en el diseo y anlisis de sistemas es importante relacionar las caractersticas y compromisos en el dominio del tiempo y el dominio de la frecuencia.

III. Mtodos y Materiales Utilizados

En esta quinta experiencia, el equipo de experimentacin necesario fue un procesador AMD Turion (tm) X2 Dual-Core Mobile RM-72 2.10 GHz con el Sistema Operativo Windows 7 Professional y el software requerido fue Matlab R2013a, adems de libreras y archivos de soporte.

IV. Procedimiento ExperimentalEjercicio 5.1

Veamos en este ejercicio como se puede visualizar la Transformada de Fourier de una SealDiscreta, que necesariamente debe ser calculada dentro de un conjunto finito de frecuencias. Sea la seal discreta:h[n] = [n] + 0.5[n1] + 0.2[n2]

(a) Hallar la DTFT de h[n] en forma analtica y luego graficarla en el intervalo 0 4radianes.

(b) La siguiente instruccin nos permite calcular 128 valores de su Transformada de Fourier de h[n]:

>> H=fft(h,128);

El vector H recoge los valores de la funcion H(ej) en las siguientes frecuencias:

k= 2k/128,k = 0, ....... ,127

Para visualizar la transformada hay que tener en cuenta que el vector H contiene valores complejos, por lo que tendremos que representar por separado su magnitud y su fase:

>> plot(2*pi*(0:127)/128,abs(H));>> plot(2*pi*(0:127)/128,angle(H));

En el eje de las abcisas se incluyen las frecuencias en las que est evaluada la transformada, mientras que en el eje de las ordenadas se coloca o bien la magnitud o la fase. El comando plot()crea una curva continua, que no es ms que la interpolacin entre los valores discretos(128 en este caso) de la transformada que han sido calculados. De esta manera se obtiene una representacion de la transformada entre 0 y 2.Compare los resultados obtenidos con los de (a).

Otra funcin de Matlab que nos permite obtener muestras de la Transformada de Fourier de una seal es el comando freqz, con la ventaja de que permite trabajar con filtros IIR (Respuesta Impulsional de Duracin Infinita) que se pueden expresar de forma racional en el dominio de la frecuencia.

Los filtros digitales son sistemas discretos, lineales e invariantes en el tiempo (SDLIT) descritos por una ecuacin en diferencias lineal con coeficientes constantes:

Utilizando las propiedades de desplazamiento y linealidad de la transformada de Fourier, se demuestra que la respuesta en frecuencia de un sistema SDLIT descrito por una ecuacin en diferencias con coeficientes constantes puede expresarse como:

Si necesitamos representar la respuesta en frecuencia de un filtro expresado de esta forma, podemos utilizar el siguiente cdigo:>> H = freqz(b,a,128,"whole"); >> plot(2*pi*(0:127)/128,abs(H)); >> plot(2*pi*(0:127)/128,angle(H));Ejercicio 5.2En este ejercicio se va a identificar la respuesta en frecuencia de un sistema discreto (la Transformada de Fourier de su respuesta impulsional) a determinadas frecuencias. Para ello, solo podemos introducir seales a la entrada y observar lo que ocurre en la salida.Utilizaremos exponenciales complejas como entradas, dado el carcter de las autofunciones. Observando la salida, podremos obtener informacin sobre cmo se comporta el sistema para cada frecuencia de inters. Consideremos el sistema discreto con respuesta impulsional:h[n]=0.03[n]+0.4[n1]+0.54[n2]+0.2[n3]-0.2[n4]+0.1[n5]+0.2[n-6] (4.7)

Para definir la respuesta impulsional, ejecutar en Matlab:

>> h=[0.03 0.4 0.54 0.20 -0.20 0.10 0.20

Generar un conjunto de 10 exponenciales complejas con 48 puntos de longitud de la forma e jk n para las siguientes frecuencias discretas: = 2k/10,k = 0, ....... ,9k

>> omegak =(2*pi*(0:9))/10;>> e1 = exp(j*omegak(1)*(0:47));>> e2 = exp(j*omegak(2)*(0:47));>> ...

Tambin se puede realizar un bucle for para generar estas diez seales, introducindolas como filas o columnas de una matriz.

Calcule la salida del filtro para cada una de las exponenciales, convolucionando cada seal de entrada con el filtro definido al inicio:

>> y1 = conv(e1,h);>> y2 = conv(e2,h);>> ...

Superponer en la misma grfica la entrada e1 y la salida y1:

>> plot(e1);>> hold;>> plot(y1);>> hold;

Razonar el porqu de la aparicin de los efectos en los bordes. Repetir la operacin para las partes reales de e2 e y2, notando los efectos de borde de nuevo.

En el ejercicio anterior la fase y amplitud de la seal de salida son diferentes a las de la seal de entrada. Esa diferencia viene determinada por la respuesta en frecuencia para =omegak(2). Por lo tanto, sabiendo que la seal de salida es en cada caso la seal de entrada multiplicada por la respuesta en frecuencia evaluada a esa frecuencia:

Ejercicio 5.3Construir un vector Haprox a partir de esos 10 valores, y visualizar un dibujo aproximado de la Transformada de Fourier de h de la forma:

>> plot(omegak,abs(Haprox));

Ese dibujo nos proporciona una aproximacin a la magnitud de la respuesta en frecuencia del sistema. Podemos superponer la respuesta en frecuencia evaluada en muchos ms puntos, de la forma:

>> hold;>> H=fft(h,128);>> plot(2*pi*(0:127)/128,abs(H));

Comprobar que, efectivamente, H es igual a la respuesta en frecuencia en las frecuencias k=2k/10, k = 0, ....... ,9. Note la simetra de la representacin, dado que estamos visualizando la transformada en el intervalo [0, 2, y la magnitud es par (h[n] real).

Ejercicio 5.4

Considerar la secuencia pulso rectangular de ancho L definido como:

Obtener la expresin analtica de la Transformada de Fourier de x[n] a partir de la ecuacin (5.1). Observar en la ecuacin resultante el trmino de la fase debido a que el pulso est centrado en (L1)/2.

Utilizando la funcin fft(), obtener 256 puntos de la transformada de un pulso de longitud L=16. Dibujar en diagramas separados el mdulo y fase, razonando la forma en base al clculo analtico de la transformada realizada anteriormente:

>> pulso = ...>> H = fft(pulso,256);>> % Para dibujar la magnitud>> plot(2*pi*(0:255)/256,abs(H));>> figure(1);>> plot(2*pi*(0:255)/256,angle(H)); % Para dibujar la fase

Calcular tericamente las frecuencias a las cuales se hace 0 la transformada, en funcin de L.

Razonar para que valores de frecuencia se producen las discontinuidades en la fase. Para L = 9, pensar que desplazamiento debera sufrir el pulso definido anteriormente para que el espectro de la seal resultante fuese real. Es causal el sistema resultante representado por esa respuesta impulsional?

Para vectores cuyo primer valor representa un instante de tiempo distinto del cero habra que introducir una correccin.

Ejercicio 5.5

Escribir el cdigo de una funcin que, utilizando la funcin fft(), calcule la Transformada de Fourier de una seal discreta de la siguiente forma:

function [H,w] = dtft(h,no,N)% h: vector de entrada% no: instante de tiempo en el cual comienza h% N: nmero de puntos a calcular de la transformada de h% H: vector de la transformada de Fourier de H% w: frecuencias en las que se evalua la transformada

Para realizar la funcin hay que tener en cuenta la propiedad de desplazamiento de la Transformada de Fourier, cuyo significado implica que un desplazamiento en el tiempo equivale a un desplazamiento en frecuencia:

Tener en cuenta que la funcin fft()considera el instante de inicio de la seal en n0=0. Recuerde adems que los valores de las frecuencias en los cuales la funcin fft() calcula la Transformada vienen dadas por:

en donde N es el nmero de valores que se calcula con la Transformada de Fourier, en la que se puede ver que, estn equiespaciados entre 0 y 2. Efectuar el producto punto a punto entre dos vectores de tal modo que los dos sean filas o columnas. De lo contrario se obtendra un error de no correspondencia entre matrices.

A fin de probar la funcin, calcular la Transformada de Fourier de una secuencia de pulso rectangular de longitud 9 y centrado en 0, comprobando que la parte imaginaria de su transformada es 0. Representar la parte real de dicha transformada. Razonar acerca de la forma de la Transformada de Fourier del pulso entre L/2 y L/2 a medida que L tiende a 1.

En general, podemos descomponer una seal compleja en parte real y parte imaginaria y luego en parte par e impar:

en donde la parte par de una seal x[n] se define como (x[n]+x[-n])/2, y la parte impar como (x[n]-x[-n])/2. Hay que tener en cuenta que aunque una seal sea la respuesta de un sistema causal, las partes par e impar no lo son, debido a la simetra que presentan respecto al origen.

Ejercicio 5.6

Sea la descomposicin vista anteriormente de una seal x[n]:

y de su transformada X(ej )

Asociar las componentes temporales con sus respectivas componentes espectrales.

Ahora podemos constatar las propiedades de simetra de la Transformada de Fourier, que de forma resumida son:

La Transformada de x*[n] es X*(ej). La Transformada de una seal real es conjugada simtrica, es decir, el mdulo es par y la fase impar. La Transformada de una seal imaginaria pura es conjugada antisimtrica, es decir, X(ej)=.X*(ej).

Ejercicio 5.7

Verificar que la transformada de la seal para es conjugada simtrica, observando los diagramas de mdulo y fase. Para observar el mdulo, utilizar la funcin plot() sobre el mdulo de la salida que se obtiene de fft(), mientras que para la fase utilizar simplemente plot()sobre la fase de la transformada, anlogamente a lo realizado en el primer ejercicio. Comprobar que la transformada de la seal chirp para es par, usando la funcin dtft() desarrollada en el ejercicio anterior.

Ejercicio 5.8

Sea el sistema SDLIT descrito mediante la ecuacin en diferencias siguiente:

y[n] = 1/2y[n-1] + x[n] + x[n-1](5.16)

Utilizar la funcin freqz() para obtener una representacin en frecuencia de la respuesta impulsional del sistema, en 512 valores entre 0 y 2:

>> b = [... ];>> a = [... ];>> [H,w] = freqz(b,a,512,"whole");

Tener en cuenta que b representa a los coeficientes de la parte directa del filtro, mientras que a a los coeficientes de la parte realimentada.

Averiguar a qu frecuencia se hace 0 la respuesta en frecuencia del sistema. A partir de esa frecuencia, deducir para que seal de entrada se har 0 la salida (dicha seal ha de ser una auto funcin). Razonar en el dominio del tiempo y para dicha seal de entrada, por qu la salida es 0, evaluando manualmente un par de expresiones recursivas de la ecuacin en diferencias.

Ejercicio 5.9

Demostrar que la transformada de Fourier de la parte par de una seal real x[n] es la parte real de la transformada de Fourier X(ej). Evaluar, si x[n]=0, n < 0, entonces X(ej) se puede obtener a partir de Re{ X(ej)}.

Ejercicio 5.10

Sea un pulso x[n] de longitud 21, que podra representar el resultado de muestrear un pulso utilizado en radar (emplear la funcin ones()). Para enviarlo es necesario modularlo, de modo que el espectro resultante se ubique en la frecuencia que interese. Dado que la seal a enviar ser real, la modulacin se lleva a cabo con un coseno, que en este caso ser cos(n/2). Representar el espectro de las seales moduladas y sin modular, utilizado para ello las funciones fft() y plot(), comprobando en donde se encuentra el pico de la transformada. Razonar la forma del espectro.

Este ejercicio que se acaba de realizar se puede ver tambin desde la perspectiva del enventanado, en la cual la ventana sera el pulso original, y la seal deseada la exponencial compleja. Entonces, la multiplicacin en el tiempo significa que las deltas originales en frecuencia son ensanchadas debido a la convolucin con la funcin sinc, transformada del pulso, como se puede apreciar en la Fig. 5.1, que representa la transformada de un coseno de frecuencia 2/8 y longitud de 50 muestras. En frecuencia no hay dos deltas sino un par de sinc centradas a las frecuencias 2/8 y 2 - 2/8. Existen muchsimos tipos de ventanas, cada una de las cuales con propiedades diferentes. Acabamos de ver la ms simple, la ventana rectangular, 1 en el intervalo de definicin y 0 fuera del mismo. Tambin es posible el uso de otras ventanas que no son constantes, sino que van disminuyendo su amplitud a medida que se alejan del punto central. La ventaja principal que ofrecen frente a la rectangular es que los lbulos laterales de sus transformadas son mucho ms pequeos que los de una sinc, con lo que esa cada ms rpida en frecuencia hace posible una menor distorsin del espectro original. Como inconveniente hay que resaltar que la anchura del lbulo central es mayor que la

Fig. 5.1 Efecto ventana en la Transformada de Fourier de un coseno.correspondiente a una sinc. A modo de ejemplo ponemos la ecuacin de la ventana de Hamming, de uso muy extendido:

Ejercicio 5.11

En este ejercicio compararemos la magnitud del espectro de una ventana Hamming y de una ventana rectangular de igual longitud, comentando las principales diferencias.

Para ello, generar un pulso de 32 unos, y calcular con fft()128 puntos de su transformada. Utilizando la funcin hamming(), obtener una ventana de Hamming de 32 muestras, visualizando su forma con plot(). Calcular 128 de su Transformada de Fourier. Representar los espectros superpuestos de ambas seales. Observar las diferencias en trminos de anchura del lbulo principal y altura de lbulos laterales. Razonar que ventana sera ms apropiada si nuestro objetivo es distorsionar lo menos posible el espectro de la seal enventanada. A modo de ejemplo de empleo de ambas ventanas, visualicemos el espectro de una seal compuesta de dos tonos, uno de los cuales es mucho ms potente que el otro:

>> x=cos(0.5*(0:31))+20*cos(1.5*(0:31));>> figure(0)>> plot(2*pi*(0:127)/128,abs(fft(x.*ones(1,32),128)));>> figure(1)>> plot(2*pi*(0:127)/128,abs(fft(x.*hamming(32),128)));

Observar que en el caso de la ventana de Hamming resulta mucho ms fcil apreciar el tono de menor intensidad en el espectro.

La propiedad de enventanado se puede utilizar para analizar el efecto sobre la tomade registros finitos de seales de longitud infinita. Es decir, se puede pensar en considerar la seal original multiplicada por una ventana de longitud igual a la duracin del intervalo considerado, como se ver en el siguiente ejercicio.

Ejercicio 5.12

Sea la seal h[n]=nu[n] la respuesta impulsional de un sistema definido por la ecuacin en diferencias y[n] = y[n-1] + x[n]. Por lo visto anteriormente podemos calcular valores de su transformada exacta, utilizando la funcin freqz(). Obtener 512 de esos valores para =0.5, y compararlos con los valores obtenidos a partir de un registro finito de esa seal, es decir:

[H,w] = freqz(b,a,512,"whole");% a,b representan los coeficientes de la ecuacin en%diferencias plot(2*pi*(0:511)/512,abs(H)); Htrunc=fft(htrunc,512);hold plot(2*pi*(0:511)/512,abs(Htrunc));

Comprobar a partir de que longitud de la seal truncada la diferencia entre los espectros es inapreciable.

Obtener la respuesta en frecuencia del resultado de poner en cascada el filtro anterior con el filtro de respuesta al impulso h[n] = [n-1]. Determinar el valor de dicha respuesta en frecuencia para =/4.

V. Resultados

Ejercicio 5.1%Respuesta en Frecuencia %(A)Grafica de la solucin analtica%h[n]=d[n]+0.5d[n-1]+0.2d[n-2]%H(omega)=1+0.5*EXP(-j*omega)+0.2*EXP(-j*2*omega) k=0:127;omega=(4*pi.*k)/128; % en radianes % Expresion analitica de H(omega)b=[1 0.5 0.2];a=1;H=1+0.5*exp(-1j*omega)+0.2*exp(-1j*2*omega); figure(1);plot(omega,abs(H),'r');grid on;title('Magnitud de H(omega), cuando 0=