Sei sulla pagina 1di 6

Prctica 3: Convolucin

Apellidos, nombre Apellidos, nombre

Grupo Puesto Fecha

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.).

3.1 Convolucin de seales discretas


3.1.1 Ejercicio 1: convolucin manual de seales causales finitas

El objetivo de este ejercicio es llevar a cabo la convolucin de dos seales desarrollando directamente el significado de la operacin. Sean las seales:

n + 1 0 n 10 x[n] = resto 0 1 0 n 3 h[n] = resto 0


n [0,20] . Teniendo en cuenta que la seal x[n] slo toma valor en un nmero finito de puntos, y[n]

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]

duraciones e ndices de comienzo de las seales x[n] y h[n] :

analtica de y[n] , indique tambin qu relacin tiene su duracin e ndice de comienzo con las respectivas

Indique cul es la duracin de la seal y[n] y en qu ndice comienza. A la vista de la expresin

3.1.2

Ejercicio 2: convolucin manual de seales no causales finitas

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),

[]

la seal x[n] y las

abarcan los valores no nulos de y[n] :


y[n]

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

Ejercicio 3: la funcin conv de MATLAB

La invocacin de esta funcin de MATLAB se realiza del siguiente modo:


nx=... x=... nh=... h=... y=conv(x,h); ny=... % % % % % % Intervalo nx de valores Definicin del vector x Intervalo nh de valores Definicin del vector h Devuelve un vector y de Intervalo ny de valores no nulos de la seal x en el intervalo nx no nulos de la respuesta al impulso h en el intervalo nh longitud nx+nh-1 no nulos de la salida y

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

Ejercicio 4: convolucin de seales de duracin infinita

Sean las seales de duracin infinita:


1 x[n] = 2
n2

u[n 2]

h[n] = u[n + 2]

Calcule

y[n] = x[n] h[n]

de forma analtica e indquela a continuacin (recuerde que

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

El objetivo es calcular y[n] = x[n] h[n] utilizando la funcin

conv

y evaluar la validez del resultado

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

3.2 Operaciones sobre sistemas LTI discretos


Sean las seales:
1, 1, h1 [n] = 3, 1, 0, n=0 n =1 n=2, n=4 resto 2, 5, h2 [n] = 4, 1, 0, n =1 n=2 n=3 n=4 resto

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

Ejercicio 6: distribucin respecto de la suma

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

(x[n] hS1 [n]) hS 2 [n] = x[n] (hS1 [n] hS 2 [n])


Para obtener la seal resultante de las operaciones a la izquierda de la igualdad, proceda del siguiente modo:
Obtenga la seal y n

y[n] = (n + 1) x[n] , en vez de aplicando la convolucin.

[]

aplicando directamente su expresin en funcin de la entrada, es decir

Obtenga la seal resultante w A [n] = y[n] hS 2 [n]

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.

Potrebbero piacerti anche