[pd] lab 02 sistema lit 13 ii

Upload: john-helver-pacheco-palacin

Post on 16-Oct-2015

9 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

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

    FACULTAD DE INGENIERIA ELECTRONICA Y ELECTRICA E.A.P. INGENIERIA DE TELECOMUNICACIONES

    LABORATORIO DE PROCESAMIENTO DIGITAL

    2.1 OBJETIVO

    Al finalizar este Laboratorio el estudiante ser capaz de comprender y manejar la operacin de

    Convolucin en sistemas continuos como discretos, lineales e invariantes en el tiempo.

    2.2 EQUIPOS Y MATERIALES REQUERIDOS

    El equipo de experimentacin necesario para realizar el presente laboratorio es:

    1. PC Pentium III o superior. 2. Sistema Operativo Windows 2000 o XP.

    2.3 SOFTWARE REQUERIDO

    El siguiente software es necesario para realizar este laboratorio:

    1. Scilab 4.1. (http://www.scilab.org) o Matlab V. 6.0. 2. Libreras y archivos de soporte.

    2.4 INTRODUCCIN A SISTEMAS LINEALES E INVARIANTES EN EL TIEMPO

    Un sistema usualmente es descrito mediante una ecuacin diferencial que relacione la

    entrada y la salida. Si el sistema es Lineal e Invariante en el Tiempo (LIT), puede tambin ser

    descrito mediante su respuesta impulsional que es la respuesta del sistema a una seal de

    entrada impulsional:

    x t t

    h t y t

    La respuesta de un sistema LIT puede ser calculado utilizando la integral de

    convolucin, convoluyendo la entrada x(t) con la respuesta impulsional h(t) para generar la

    respuesta o salida y(t):

    y(t) = x(t)*h(t)

    x h t d

    En Matlab, una forma de calcular la integral anterior es utilizando la funcin

    conv(x,h). Deber notarse que si la seal de entrada x(t) 0, t1 < t < t2 y la respuesta impulsional h(t) 0, t3 < t < t4 la salida ser y(t) 0, t1+t2 < t < t2+t4. Por ejemplo:

    2

    tx t rect

    LABORATORIO NO. 2: SISTEMAS LINEALES E INVARIANTES EN EL

    TIEMPO

  • 2

    2

    th t rect

    2

    ty t

    En Matlab:

    t=-1.2:0.0001:1.2; x=zeros(size(t)); h=zeros(size(t)); x(t>=-1 & t=-1 & t

  • 3

    *k k

    y n x k T n k x k h n k x n h n

    (2.3)

    donde h[n] es la respuesta impulsiva del sistema (salida del sistema cuando en la entrada se

    aplica la secuencia [n]). Al operador * se le denomina convolucin. De 3.3 se puede concluir que para conocer la respuesta de un sistema SDLIT ante cualquier entrada se requiere

    conocer solamente su respuesta impulsional.

    La convolucin es una herramienta matemtica empleada en el Procesamiento Digital

    de Seal. Aunque se ha definido como un operador que permite determinar la respuesta de un

    Sistema SDLIT, tambin se puede operar sobre dos seales arbitrarias.

    Ejercicio No. 2.2

    La convolucin de dos secuencias de longitud finita siempre proporciona una secuencia con un

    nmero finito de muestras. En este ejercicio se usarn las siguientes secuencias:

    x[n] = u[n] u[n 40] v[n] = u[n + 25] u[n 32] w[n] = u[n + 41] u[n + 15]

    (a) Calcular las muestras para las que estn definidas las siguientes secuencias

    y1[n] = x[n] * v[n] y2[n] = v[n] * w[n] y3[n] = x[n] * w[n]

    (b) Obtener una regla con la que se pueda calcular la muestra inicial y final de la convolucin

    de dos secuencias finitas.

    Una interpretacin de la ecuacin 3.3 es suponer que la seal de salida de un sistema es

    la suma de las secuencias que se obtienen al introducir individualmente las muestras que

    componen la secuencia de entrada. De esta manera, la muestra de la seal de entrada

    correspondiente al instante n = k es x[k][n k] y su salida asociada es x[k]h[n k].

    Para comprender esta interpretacin se puede observar el ejemplo de la Fig. 2.2, donde

    consideramos un sistema SDLIT con respuesta impulsional y en la Fig. 3.3 se muestra en forma

    grafica dicha interpretacin.

    h[n] = u[n] u[n 8] y x[1] = 1, x[0] = 2,

    x[1] = 0.5, x[2] = 0.5

    La evaluacin de la secuencia de salida para este ejemplo, vendr dada por:

    y[n] = x[1]h[n+1] + x[0]h[n] + x[1]h[n 1] + x[2]h[n 2] (2.4)

    [n] h[n]

    Fig. 2.2 Respuesta Impulsional de un Sistema SDLIT

    SDLIT

  • 4

    x[k][n-k] x[k]h[n-k]

    = =

    x[n] y[n]

    Fig. 2.3 Interpretacin grfica de la Convolucin

    Ejercicio 2.3

    Ejecute el siguiente cdigo y verifique que este es una posible realizacin de la convolucin en

    Matlab :

    nx = -1:2;

    lx = length(nx);

    x = [1 2 -0.5 0.5];

    nh = 0:7;

    lh = length(nh);

    h = ones(lh,1);

    ly = length(x) + length(h) -1;

    ny = nx(1)+nh(1) : nx(lx) +nh(lh);

    y = x(1)*[h; zeros(ly-lh,1)] + x(2)*[0; h; zeros(ly-lh-

    1,1)]+ x(3)*[0;0;h;zeros(ly-lh-2,1)] + x(4)*[zeros(ly-

    lh,1); h];

    stem(ny, y)

    SDLIT

    SDLIT

  • 5

    Explicacin del cdigo propuesto:

    1. En las tres primeras lneas de comandos definimos un vector x con los valores de la secuencia de entrada, la longitud de dicho vector y los ndices temporales en los que est

    definido. El valor del vector x[1] se corresponde con la muestra x[1] de la secuencia discreta.

    2. En las tres lneas siguientes, definimos el vector h, su longitud y los ndices temporales en los que est definido.

    3. Calculamos la longitud del vector de salida as como sus ndices temporales. 4. Calculamos la convolucin como la suma del producto de cada muestra del vector x por el

    vector h adecuadamente desplazado. Ntese que estos desplazamientos se efectan

    mediante concatenaciones de ceros al vector h.

    5. Finalmente dibujamos el resultado.

    Ejercicio 2.4

    En este ejercicio vamos a trabajar con la operacin de convolucin entre secuencias partiendo

    del primer mtodo de aadir todas las contribuciones existentes tal como se acaba de explicar.

    (a) Vamos a considerar un sistema SDLIT con respuesta impulsional:

    h[n] = 0.95n(u[n] u[n 10]) (2.5)

    la que se debe excitar con la secuencia de entrada x1[n] que deber elaborar en un fichero

    x1.mat y luego cargarlo. Considerar que el primer elemento de este vector se

    corresponda con el valor de la secuencia de entrada en el instante n = 0. Evalu con

    Matlab, la secuencia que corresponde a la salida y1[n]. Represente dicha secuencia

    prestando especial atencin al etiquetado del eje horizontal.

    (b) Obtenga la secuencia de salida que genera el mismo sistema SDLIT anterior con la

    secuencia de entrada del archivo x1.mat pero en este caso considerando que el primer

    elemento de x1 se corresponda con el valor de la secuencia en n = 2. Represente esta nueva secuencia de salida y2[n].

    (c) Para el mismo sistema SDLIT, considere ahora la secuencia de entrada almacenada en el

    fichero x1.mat, sabiendo que el primer elemento se corresponde con el valor de la

    secuencia x3[n] en el instante n = +3. Obtenga y represente la correspondiente secuencia de

    salida y3[n].

    (d) Comprobar los resultados anteriores utilizando la funcin conv de Matlab.

    Atendiendo a la interpretacin anterior, la salida de un sistema SDLIT se determina

    mediante la suma de las respuestas individuales de cada impulso desplazado que compone la

    seal de entrada. Sin embargo, esta aproximacin trae una dificultad de tipo computacional para

    calcular slo una muestra de la seal de salida, habr que determinar y sumar todas esas

    respuestas individuales.

    Ejercicio 2.5

    Mediante la convolucin grfica de dos secuencias se puede calcular el valor de la seal de

    salida en una muestra especfica. Considerar las secuencias:

    x[n] = (3/4)nu[n] v[n] = (3/4)|n| w[n] = (n + 12) (u[n + 12] u[n 30])

    Calcular, sin la ayuda del ordenador, los valores que se solicitan:

  • 6

    1. Si y[n] = x[n]*w[n], calcular y[12].

    2. Si y[n] = x[n]*v[n], calcular y[0], y[2].

    Compruebe ahora los resultados con el computador (emplee para ello distintos truncamientos

    de v[n] y observe cuando hay diferencias apreciables en los resultados).

    2.5 CONVOLUCIN DE SECUENCIAS COMPLEJAS

    Las seales con las que se operan en los sistemas fsicamente realizables son reales. Sin

    embargo, para modelar algunos sistemas, las seales complejas resultan ser muy tiles. Por

    ejemplo, en aplicaciones de electrnica de potencia es muy habitual trabajar con fasores. De

    igual forma, en sistemas de comunicaciones, las seales pasabanda suelen caracterizarse como

    seales complejas.

    Por esta razn se proponen los siguientes ejercicios.

    Ejercicio 2.6

    Obtenga la parte real e imaginaria de la secuencia resultante de la convolucin de dos

    secuencias complejas x[n] = xr[n] + j xi[n] e y[n] = yr[n] + j yi[n].

    Ejercicio 2.7

    Utilizando el editor de Matlab, programe una funcin conv_comp.m cuya cabecera sea:

    function [sal_re, sal_im] = conv_comp(ent1,ent2)

    % ent1: vector complejo a convolucionar % ent2: vector complejo a convolucionar % sal re: parte real de la convolucin entre ent1 y ent2 % sal im: parte imaginaria de la convolucin entre ent1 y ent2

    Cargue el archivo complejodat.mat que debe contener los vectores complejos x e y que

    usted debe elaborar previamente. Calcule la convolucin de ambos vectores utilizando la

    funcin que acaba de programar. Verifique el resultado utilizando la funcin conv().

    2.6 CORRELACIN CRUZADA

    En esta seccin vamos a analizar la operacin de correlacin entre seales, que es de

    gran inters de cara a las aplicaciones. Se define la correlacin cruzada entre dos seales, en

    general complejas, de la siguiente manera:

    *xyn

    r k x k y k n

    (2.6)

    La correlacin en el instante k mide la energa cruzada entre ambas seales, con un

    desplazamiento de longitud k en una de ellas. La correlacin da una idea del parecido entre las

    seales: a mayor correlacin, mayor parecido. Adems, la correlacin admite una interpretacin

    en forma de convolucin.

    Ejercicio 2.8

    Pruebe primeramente que:

    rxy[k] = x[k] * y* [k] (2.7)

  • 7

    Programe una funcin de correlacin cruzada en Matlab con la siguiente cabecera:

    [y,ky]=corrcruzada(x,kx,h,kh)

    donde ky, kx y kh son los vectores de ndices temporales de las 3 secuencias involucradas.

    Ahora compruebe, tericamente y con Matlab, la siguiente relacin de simetra de la

    correlacin:

    rxy[k] = r*

    xy[-k] (2.8)

    2.7 EJERCICIOS RECOMENDADOS

    Para fortalecer los conceptos asimilados durante este laboratorio, se le recomienda realizar los

    siguientes ejercicios:

    Tratamiento Digital de Seales. John G. Proakis; Dimitris G. Manolakis. Prentice Hall, 3era Edicin, 2000. Captulo 2: 2.16, 2.17, 2.19, 2.21, 2.22, 2.23, 2.25, 2.26, 2.27, 2.28, 2.29, 2.30,

    2.45, 2.58, 2.592.60,

    Tratamiento de Seales en Tiempo Discreto. Alan. V. Oppenheim y Ronald. W. Schafer. Prentice Hall, 2da. Edicin, 2000. Captulo 2: 2.4, 2.5, 2.6, 2.8, 2.9, 2.12, 2.15, 2.16, 2.18