Click here to load reader
Upload
elfrich
View
296
Download
0
Embed Size (px)
Citation preview
Práctica 3
Manejo de la Convolución en MatlabReyes López Misael, González Arevalo Elfrich, Ruiz Pérez Christian.
ResumenConvolución 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 esaprender el uso de las funciones en Matlab para la convolucion en los sistemas
discretos.
IntroducciónLa convolución es un instrumento poderoso al determinar el resultado de un sistema
a una entrada arbitrariay la respuesta al impulso del sistema. Como se ha comprobado en las practicas
pasadas, Matlab posee varias funciones que facilitan el procesado y tratado deinformacion.
Para esta practica las funciones base usadas son: convolm y conv.
Problema 1Con 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).
Ly=Lx+Lh-1
Problema 3Compruebe la funcion "conv" de Matlab realizando la convolucion de 2 pulsos
rectangulares, el resultado sera una señal trapezoidal.
Código
x=[ones(1,20)];
h=[ones(1,5)];y=conv(x,h);subplot(2,1,1),stem(1:24,y);subplot(2,1,2),plot(1:24,y);
Imágenes
yn 1 n 24
plot1 : 24, y
Problema 4Si 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(n+2)+x(n+1)+x(n)+x(n-1)+x(n-2))
Códigox=[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 n=3:34y(n)=0.2*(x(n+2)+x(n+1)+x(n)+x(n-1)+x(n-2));endsubplot(2,1,1),stem(-2:33,x);subplot(2,1,2),stem(-2:31,y);
Imágenes
xn 0 n 30
yn = 0. 2 ∗ xn + 2 + xn + 1 + xn + xn − 1 + xn − 2 −2 n 31
Problema 5Realice la convolucion de x(n) (del paso anterior) con h(n)=[1 1 1 1 1] −2 ≤ n ≤ 2
Código
x=[0 0 17 15 16 19 15 16 14 15 13 15 20 19 20 17 17 13 15 20 15 1318 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 n=3:34y(n)=0.2*(x(n+2)+x(n+1)+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);
Imágenes
y2n = yn ∗ hn
Problema 6Realice 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?
Código
x=[0 0 17 15 16 19 15 16 14 15 13 15 20 19 20 17 17 13 15 20 15 1318 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 n=3:34y(n)=0.2*(x(n+2)+x(n+1)+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);
Imágenes
Ecuaciones en Diferencias
∑k=0
No
akyn − k = ∑i=0
Nb
bixn − i
1.- a) Cree los vectores b y a, que contengan respectivamente los coeficientes dex(n) y y(n) de la siguiente ecuación 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 analítico de y(n) para una entrada impulso.
c) Vector impulso unidad de longitud 128.
2.- a) Usando la función 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 función de convolución en Matlab nos facilita el trabajomatemático puesto que dependiendo del tamaño de la secuencia queforma una señal es la complejidad por el número de elementos de lamisma y hacerlo por otro método no sería tan práctico y transparentecomo con Matlab.
Se comprobó que efectivamente la longitud de la señal queconforma a la convolución es igual a la suma de las longitudes de lasseñales a convolucionas menos 1.
Los resultados para la función "convolm" no pudieron sercomprobados debido a que no se encuentra definida en las versiones6.5 ni en la 7.1 de Matlab.
Bilbliografía.TRATAMIENTO DIGITAL DE SEÑALESPROAKIS, JOHN G. \ MANOLAKIS DIMITRIS G.1998