Sie sind auf Seite 1von 7

UNIVERSIDAD NACIONAL DE SAN AGUSTIN ESUELA PROFESIONAL DE INGENIERIA ELECTRONICA PROCESAMIENTO DIGITAL DE SEALES

PRACTICA 3: CONVOLUCION

I.

OBJETIVOS

Familiarizacin con la secuencia de pasos que permite calcular grficamente la convolucin de dos seales discretas de duracin finita.

II.

MATERIALES Y/O EQUIPOS A UTILIZAR

PC

MATLAB

Toolbox de DSP

III.

DESARROLLO DE LA PRCTICA

CONVOLUCION: La respuesta al impulso de un sistema es la salida que produce dicho sistema cuando a la entrada se tiene el impulso unidad. La respuesta al impulso es especialmente importante cuando el sistema es lineal e invariante en el tiempo (LTI, Linear Time Invariant) porque proporciona toda la informacin necesaria para calcular

la salida ante cualquier entrada. La salida, y(n), se obtiene convolucionando la entrada x(n) con la respuesta al impulso del sistema h(n). Esta operacin se define como

donde el smbolo * denota convolucin.

La convolucin de dos seales puede efectuarse grficamente realizando la siguiente secuencia de pasos: o o Dibujar x(k). Dibujar h(n - k) interpretndola como una seal en la variable independiente k y considerando n como un parmetro de desplazamiento. Dado que h(n - k) = h(-(k - n)), esta seal es una versin invertida en el tiempo de h(k) que posteriormente ha sido desplazada n muestras respecto al eje k. As pues, h(n - k) se obtiene reflejando h(k) sobre el eje k alrededor del punto k = 0 para construir h(-k) y despus desplazndola |n| muestras a la izquierda si n es negativo o n muestras a la derecha si n es positivo. o o Multiplicar x(k) y h(n - k). Sumar respecto a k la seal producto x(k)h(n - k).

En el anexo de la prctica aparece el cdigo de MATLAB correspondiente a un programa que hace la convolucin entre dos seales de duracin finita.

1.

Analice detenidamente el programa y explique cmo funciona y qu hace.

Por razones de simplicidad, se ha supuesto que las dos seales comienzan en cero y que Lx y Lh son la duracin de x(n) y h(n) respectivamente. Por consiguiente, en el programa se supone que x(n) se extiende entre 0 y Lx - 1 y que h(n) se extiende entre 0 y Lh - 1.

2.

Demuestre que con las suposiciones anteriores sobre las duraciones de x(n) y h(n) la seal y(n) = x(n) * h(n) comienza en 0 y acaba en Lx + Lh - 2 (su duracin, por tanto, es Lx + Lh - 1).

3.

Escriba en un fichero el programa convolucion.m que aparece al final del enunciado. Utilice la instruccin help para consultar el funcionamiento y la sintaxis de aquellas funciones de MATLAB que no conozca. Haga la convolucin entre las dos siguientes seales:

x(n) = [1 2 1 1]

h(n) = [1 -1 1]

4.

Considere las siguientes seales: x1(n) = [1 4 2 3 5 3 3 4 5 7 6 9] x2(n) = [1 1] x3(n) = [1 2 1] x4(n) = [ ] x5(n) = [ ] x6(n) = [ - ] x7(n) = [ -]

Modifique el programa del apartado anterior para efectuar las siguientes convoluciones y observe los resultados obtenidos

a. b.

x1(n) * x2(n) x1(n) * x4(n). Compare con el apartado anterior y vea que es lo mismo pero multiplicado por .

c. d. e.

x1(n) * x7(n). Compare con el apartado anterior. x1(n) * x3(n) x1(n) * x5(n). Compare con el apartado anterior y vea que es lo mismo pero multiplicado por .

f.

x1(n) * x6(n). Compare con el apartado anterior.

5.

Ahora considere estas seales: x8(n) = u(n) - u(n - 5) x9(n) = u(n) - u(n - 10) 7 x10n un un 15 8

n x11n sen un un 36 12 4 Vuelva a modificar el programa anterior para efectuar las siguientes convoluciones y observe los resultados obtenidos.

a. b. c. d.

x8(n) * x8(n) x9(n) * x9(n) x8(n) * x9(n) x8(n) * x9(n - 3). Compare con el apartado anterior y vea que es lo mismo pero desplazado 3 unidades.

e.

x8(n - 2) * x9(n - 4). Compare con los dos apartados anteriores y vea que es lo mismo pero el resultado esta desplazado.

f. g.

x11(n) * x8(n) x11(n) * x9(n). Compare con el apartado anterior y vea que es lo mismo pero el resultado esta desplazado.

h. i. j.

x11(n) * x10(n). Compare con los dos apartados anteriores. x10(n) * x9(n) x10(n) * x10(n)

6.

La convolucin tiene las siguientes propiedades: o o o Conmutativa: x(n) * h(n) = h(n) * x(n) Distributiva: x(n) * [h1(n) + h2(n)] = x(n) * h1(n) + x(n) * h2(n) Asociativa: [x(n) * h1(n)] * h2(n) = x(n) * [h1(n) * h2(n)]

Verifique que estas propiedades se cumplen efectuando las convoluciones de los dos lados de las siguientes igualdades:

a. b. c.

x1(n) * x2(n) = x2(n) * x1(n) x3(n) * [x1(n) + x2(n)] = x3(n) * x1(n) + x3(n) * x2(n) [x1(n) * x2(n)] * x4(n) = x1(n) * [x2(n) * x4(n)]

IV.

CONCLUSIONES Y OBSERVACIONES:

V.

BIBLIOGRAFA O REFERENCIAS UTILIZADAS EN EL DESARROLLO DE LA PRCTICA

VI.

ANEXO

Programa convolucion.m

%********************************************************************* % % Nombre: convolucion.m % % Objetivo: calcula la convolucin de dos seales paso % a paso visualizando los resultados intermedios % % %********************************************************************* clear all; % Definicion de las seales a convolucionar

Lx=48; %Longitud de x(n) equis=sin(pi*(0:Lx-1)/12 + pi/4); %x(n) if size(equis) ~= Lx error('Error: la senhal x(n) esta mal definida') end; Lh=15; %Longitud de h(n) hache=(7/8).^(0:Lh-1); %h(n) if size(hache) ~= Lh error('Error: la senhal h(n) esta mal definida') end; % % Dibujo de x(n) y h(n). Se aaden Lh ceros antes y despues para visualizar mejor las seales

ndib=-Lh:Lx+Lh; subplot(211) equisdib=[zeros(1,Lh) equis zeros(1,Lh+1)]; stem(ndib,equisdib); title('x(n)'); subplot(212) hachedib=[zeros(1,Lh) hache zeros(1,Lx+1)]; stem(ndib,hachedib); title('h(n)'); pause; % Bucle que realiza la convolucion

for n=0:Lx+Lh-1

Construccion y dibujo de x(k)

xdek=[zeros(1,Lh) equis zeros(1,Lh+1)]; subplot(221) stem(ndib,xdek); title('x(k)') xlabel('k') grid; % Construccion y dibujo de h(n-k)

hdenmenosk=[zeros(1,n+1) hache(Lh:-1:1) zeros(1,Lx+Lh-n)]; subplot(223) stem(ndib,hdenmenosk); title('h(n-k)') xlabel('k') grid; % Dibujo de x(k)h(n-k)

subplot(222) stem(ndib,xdek.*hdenmenosk); title('x(k)h(n-k)') xlabel('k') grid; % Obtencion y dibujo de y(n)

yden(n+1)=sum(xdek.*hdenmenosk); subplot(224) stem(-1:Lx+Lh,[0 yden zeros(1,Lx+Lh-n)]); title('y(n)') xlabel('n') grid; pause; end;

Das könnte Ihnen auch gefallen