Sei sulla pagina 1di 9

Prctica 3

Manejo de la Convolucin en Matlab


Reyes Lpez Misael, Gonzlez Arevalo Elfrich, Ruiz Prez Christian.

Resumen
Convolucin es un valor que se extiende a todos los sistemas que son invariantes lineales en el tiempo (LTI - Linear Time Invariant). El objetivo de la practica es aprender el uso de las funciones en Matlab para la convolucion en los sistemas discretos.

Introduccin
La convolucin es un instrumento poderoso al determinar el resultado de un sistema a una entrada arbitraria y la respuesta al impulso del sistema. Como se ha comprobado en las practicas pasadas, Matlab posee varias funciones que facilitan el procesado y tratado de informacion. Para esta practica las funciones base usadas son: convolm y conv.

Problema 1
Con la ayuda de Matlab determine la funcion sintaxis y resultado de: convolm(x,M,)

Problema 2
Sabemos q y(n)x(n)*h(n). si la longitud de x(n) es Lx y la longitud de h(n) es Lh. Determine la longitud de y(n).

LyLxLh-1

Problema 3
Compruebe la funcion "conv" de Matlab realizando la convolucion de 2 pulsos rectangulares, el resultado sera una seal trapezoidal.

Cdigo
x[ones(1,20)]; h[ones(1,5)]; yconv(x,h); subplot(2,1,1),stem(1:24,y); subplot(2,1,2),plot(1:24,y);

Imgenes

yn

1  n  24

plot 1 : 24, y

Problema 4
Si x[17 15 16 19 15 16 14 15 13 15 20 19 20 17 17 13 15 20 15 13 18 18 13 18 15 14 16 18 16 18], obtenga y(n) si la ecuacion del sistema es: y(n)0.2*(x(n2)x(n1)x(n)x(n-1)x(n-2))

Cdigo
x[0 0 17 15 16 19 15 16 14 15 13 15 20 19 20 17 17 13 15 20 15 13 18 18 13 18 15 14 16 18 16 18 0 0 0 0]; %size(x) y(1)0.2*x(3); y(2)0.2*(x(3)x(4)); for n3:34 y(n)0.2*(x(n2)x(n1)x(n)x(n-1)x(n-2)); end subplot(2,1,1),stem(-2:33,x); subplot(2,1,2),stem(-2:31,y);

Imgenes

xn

0  n  30

y n  0. 2

x n2 x n1 x n x n

1 x n

2  n  31

Problema 5
Realice la convolucion de x(n) (del paso anterior) con h(n)[1 1 1 1 1] 2 n 2

Cdigo
x[0 0 17 15 16 19 15 16 14 15 13 15 20 19 20 17 17 13 15 20 15 13 18 18 13 18 15 14 16 18 16 18 0 0 0 0]; %size(x) y(1)0.2*x(3); y(2)0.2*(x(3)x(4)); for n3:34 y(n)0.2*(x(n2)x(n1)x(n)x(n-1)x(n-2)); end % subplot(2,1,1),stem(-2:33,x); % subplot(2,1,2),stem(-2:31,y); % Problema 5, realice la convolucion entre x[n] y h[n]  [1 1 1 1 1] h [1 1 1 1 1]; y2 conv(x,h); subplot(3,1,1),stem(-2:33,x); subplot(3,1,2),stem(-2:31,y); subplot(3,1,3),stem(-2:37,y2);

Imgenes

y2 n  y n

hn

Problema 6
Realice los ejercicios 4 y 5 ahora con una funcion aleatoria de 100 muestras y un escalon centrado de longitud 5, 10, 20. A que conclusion se llega?

Cdigo
x[0 0 17 15 16 19 15 16 14 15 13 15 20 19 20 17 17 13 15 20 15 13 18 18 13 18 15 14 16 18 16 18 0 0 0 0]; %size(x) y(1)0.2*x(3); y(2)0.2*(x(3)x(4)); for n3:34 y(n)0.2*(x(n2)x(n1)x(n)x(n-1)x(n-2)); end % subplot(2,1,1),stem(-2:33,x); % subplot(2,1,2),stem(-2:31,y); % Problema 5, realice la convolucion entre x[n] y h[n]  [1 1 1 1 1] h [1 1 1 1 1]; y2 conv(x,h); subplot(3,1,1),stem(-2:33,x); subplot(3,1,2),stem(-2:31,y); subplot(3,1,3),stem(-2:37,y2);

Imgenes

Ecuaciones en Diferencias
No Nb

aky n
k0

k 
i0

bix n

1.- a) Cree los vectores b y a, que contengan respectivamente los coeficientes de x(n) y y(n) de la siguiente ecuacin en diferencias: y(n) 0.9 y(n-2)0.3 x(n-1) 0.6 x(n-1)  0.3 x(n-2)

a[1 0 0.9 0]; b[0.3 0.6 0.3 0];

b) Calculo analtico de y(n) para una entrada impulso.

c) Vector impulso unidad de longitud 128.

2.- a) Usando la funcin filter para generar y representar la respuesta al impulso h(n) de la siguiente ec. en diferencias para el rango de [-10 100] y(n)-1.8cos(pi/16) y(n-1) 0.81y(n-2)x(n)0.5x(n-1)

Conclusiones
La funcin de convolucin en Matlab nos facilita el trabajo matemtico puesto que dependiendo del tamao de la secuencia que forma una seal es la complejidad por el nmero de elementos de la misma y hacerlo por otro mtodo no sera tan prctico y transparente como con Matlab. Se comprob que efectivamente la longitud de la seal que conforma a la convolucin es igual a la suma de las longitudes de las seales a convolucionas menos 1. Los resultados para la funcin "convolm" no pudieron ser comprobados debido a que no se encuentra definida en las versiones 6.5 ni en la 7.1 de Matlab.

Bilbliografa.
TRATAMIENTO DIGITAL DE SEALES PROAKIS, JOHN G. \ MANOLAKIS DIMITRIS G. 1998

Potrebbero piacerti anche