Guion 3
Guion 3
Guion 3
El objetivo de esta prctica es familiarizar al alumno con la suma de convolucin, fundamental en el estudio de los sistemas lineales, mediante la realizacin de ejercicios que ilustren las propiedades de dicha operacin. Para llevar a cabo la prctica, desarrolle cada ejercicio en un fichero de comandos ejercicio_X.m separado (salvo cuando se le solicite desarrollar una funcin, en cuyo caso el fichero llevar el nombre de la funcin). Justo antes de finalizar la prctica, comprima los ficheros .m generados en un nico fichero practica_3_Puesto_XX . zip, conctese al sistema de entrega de prcticas de la Intranet y entrguelo en el grupo que corresponda. Salvo que se le indique lo contrario en algn apartado concreto, no est permitido utilizar en los scripts las funciones de control de flujo del programa de MATLAB (for, if-else, etc.).
El objetivo de este ejercicio es llevar a cabo la convolucin de dos seales desarrollando directamente el significado de la operacin. Sean las seales:
El objetivo es calcular y[n] = x[n] h[n] . Para ello, genere las seales x[n] y h[n ] en el intervalo
puede escribirse:
y[n] =
k =
x[k ] h[n - k ] = x[0] h[n ] + x[1] h[n - 1] + ... + x[9] h[n - 9] + x[10] h[n - 10]
Para obtener y[n] , genere, sin utilizar bucles, cada una de las once funciones (es decir, sumandos) que indica la expresin anterior y a continuacin smelas. Para poder sumarlas, todas ellas han de estar definidas en el mismo intervalo de n, en decir, n [0,20] . Como gua para llevar a cabo esta operacin, definida h[n] y teniendo en cuenta que los ndices en Matlab comienzan en 1, se puede escribir:
>> y5=x(5+1).*[zeros(1,5) h(1:end-5)];
observe que para generar un vector con la seal y 5 [n] = x[5] h[n 5] en el mismo intervalo que est
Tenga en cuenta que esta operacin de desplazamiento en la seal h[n] es vlida porque h[n] se defini en un intervalo mucho mayor que el que ocupan sus valores no nulos. Represente en una figura con 12 grficas (12 filas) las 11 seales desplazadas yk[n] y la suma y[n].
n [0,20] . Represente en otra figura, en un mismo grfico de tres filas o subgrficos (utilice
Como resultado de la suma de las once subseales habr obtenido y[n] en el mismo intervalo
subplot),
las seales x[n] , h[n] e y[n] , y dibuje esta ltima en la grfica adjunta:
y[n]
analtica de y[n] , indique tambin qu relacin tiene su duracin e ndice de comienzo con las respectivas
3.1.2
Repita el ejercicio anterior, pero utilizando esta vez una respuesta al impulso unidad definida por:
n + 2, h[n] = 0,
2 n 3 resto
Defina ahora las seales involucradas en el intervalo o vector de ndices n [ 5,20] , y desarrolle la convolucin siguiendo el mismo procedimiento. Tenga en cuenta que en este caso el valor x k corresponde en MATLAB con el ndice x(k-(-5)+1) del vector x. nuevas seales h[n] e y[n] , y dibuje esta ltima en la grfica adjunta, indicando claramente qu ndices Represente en un mismo grfico de tres filas o subgrficos (utilice
subplot),
[]
Observe que las tres seales comparten un mismo vector de ndices, que es suficientemente amplio como para contener los valores no nulos de todas ellas. Indique de nuevo qu relacin tiene la duracin e ndice de comienzo de y[n] con las respectivas duraciones e ndices de comienzo de las seales x[n] y
h[n] :
3.1.3
Observe que la funcin conv toma como parmetros las seales x y h pero no sus vectores de ndices. Por lo tanto, la funcin no puede obtener ni devolver el vector de ndices correcto para la seal y; es responsabilidad del que llama a la funcin el definir de qu ndice a qu ndice va el vector de ndices de la seal y para poder representarlo adecuadamente. En conclusin, ny lo ha de definir usted. Repita los ejercicios 1 y 2 en dos scripts, ejercicio_3a.m y ejercicio_3b.m, utilizando la funcin Para ello defina los vectores x y h segn se ha indicado ms arriba, realice la convolucin, y defina el vector de ndices que corresponde a la seal y (teniendo en cuenta en qu ndice debe comenzar y qu longitud ha de tener). Represente al final de cada script las tres seales involucradas (como en los ejercicios anteriores), pero todas ellas sobre el vector de ndices mayor, o sea, sobre ny (para ello, aada ceros antes y/o despus de x y h, segn convenga). Compruebe que las seales obtenidas son iguales a las de los ejercicios anteriores.
conv.
3.1.4
u[n 2]
h[n] = u[n + 2]
Calcule
ak =
k =0
1 a n +1 ) 1 a
Expresin analtica
se truncan a intervalos finitos. Para ello, genere la seal x[n] en el intervalo n [0,24] y la seal h[n] en el intervalo n [ 2,14] , es decir, genere versiones truncadas de estas dos seales: xT [n] y hT [n] .
cuando x[n] y h[n] no se generan en intervalos infinitos (algo que no es posible en la prctica) sino que
conv
Obtenga a continuacin su convolucin yT [n] = xT [n] hT [n] , defina su vector de ndices, y represente
las tres seales involucradas (xT[n], hT [n], yT[n]) e y[n] sobre un vector de ndices que permita representar las cuatro seales. Si x[n] y h[n] tienen longitud infinita, y[n] = x[n] h[n] tambin ha de tenerla. Al truncar las seales involucradas, el resultado tambin habr quedado truncado. Deduzca en qu intervalo de valores de n se verifica que y[n] = yT [n] , y compruebe que sus deducciones se corresponden con lo observado. conclusiones son correctas. Explique el resultado obtenido:
Modifique los intervalos a que se han truncado las seales x[n] y h[n] para comprobar que sus
1, x[n] = 0,
0n4 resto
Genere x[n] en el intervalo n [0,9] y las otras dos en el intervalo n [0,20] . A partir de ahora, utilice siempre la funcin conv para efectuar convoluciones.
3.2.1
Ejercicio 5: conmutatividad
y 2 [n] = h1 [n] x[n] y defina su vector de ndices. Represente las cuatro seales involucradas sobre el
Obtenga la seal y1 [n] = x[n] h1 [n] y defina su vector de ndices. Obtenga a continuacin la seal
vector de ndices de mayor longitud (en un mismo grfico, como en los ejercicios anteriores), y verifique que y1 [n] = y 2 [n] . Si no se verificara, explique el motivo.
3.2.2
h[n] = h1 [n] + h2 [n] , es la misma que la suma de las seales resultantes x[n] h1 [n] y x[n] h2 [n] . Para
Compruebe que la convolucin de la seal x[n] con un sistema cuya respuesta al impulso unidad sea
ello, represente en cada caso, en dos grficos independientes, las seales involucradas (cinco en el primer caso y seis en el segundo), todas ellas sobre el vector de ndices de mayor longitud.
3.2.3
Ejercicio 7: asociatividad
totalmente caracterizado por hS 2 = h1 [n] . El objetivo es ver si la propiedad asociativa de la convolucin se verifica para estos dos sistemas, es decir, si:
Sea un sistema S1 cuya relacin entrada salida est definida por y[n] = (n + 1) x[n] , y otro sistema S2
[]
Para obtener la seal resultante de las operaciones a la derecha de la igualdad, proceda del siguiente modo:
Obtenga la respuesta al impulso unidad del sistema S1, es decir, obtenga la respuesta de este sistema al impulso unidad: hS1 [n] = (n + 1) [n] . Para ello defina [n ] en el mismo intervalo que lo estaba x[n ] . Obtenga la respuesta al impulso del sistema S1 en serie con S2, es decir h[n] = h S1 [n] h S 2 [n] . Observe
que para ello tendr que ampliar el rango de definicin de hS1 [n] .
Obtenga la respuesta de este nuevo sistema a la seal de entrada: w B [n] = x[n] h[n] .
Represente en cada caso, en dos grficos independientes, las seales involucradas (cuatro en ambos casos), todas ellas sobre el vector de ndices de mayor longitud. Compruebe que las seales w A [n] y
w B [n] son idnticas. Si no lo fueran, explique el motivo.