dsp_practica3

9

Click here to load reader

Upload: elfrich

Post on 04-Jul-2015

296 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DSP_Practica3

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.

Page 2: DSP_Practica3

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

Page 3: DSP_Practica3

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

Page 4: DSP_Practica3

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

Page 5: DSP_Practica3

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

Page 6: DSP_Practica3

Imágenes

Page 7: DSP_Practica3

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.

Page 8: DSP_Practica3

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)

Page 9: DSP_Practica3

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