Convolucion


         La formula siguiente que da la respuesta y(n) del sistema LTI como funcion de la señal de entrada x(n) y de la respuesta impulsional h(n) se denomina convolucion.

         Diremos que la entrada x(n) se convoluciona con la respuesta impulsional h(n) para producir la salida y(n). Explicaremos ahora el procedimiento para calcular y(n) y mostraremos un programa en matlab para la realizacion de la convolucion.

         El calculo de la convolucion entre x(k) y h(k) supone la realizacion de los siguientes cuatro pasos:

1.- Reflexion. Se refleja h(k) respecto de k=o para producir h(-k).
2.- Desplazamiento. Se desplaza h(-k) n0 hacia la derecha (izquierda) si n0 es positivo (negativo), para obtener h(n0-k)
3.- Multiplicacion. Multiplicamos x(k) por h(n0-k) para obtener la secuencia producto vn0(k)=x(k)h(n0-k).
4.- Suma. Se suman todos los valores de la secuencia producto vn0(k) y se obtiene el valor de la salida en el instante n=n0.

          Con este procedimiento se obtiene la salida del sistema en un instante determinado, digamos n = n0 . En general estaremos interesados en determinar la salida del sistema en cualquier instante de tiempo . En consecuencia, los pasos del 2 al 4 del procedimiento descrito deberan repetirse para todos los posibles valores del desplazamiento .
 

Programa en Matlab.


%****************************************************************
%** Convolucion                                                                                                    **
%**                                                                                                              UdeG **
%**                                                                                    Maestria en Electronica **
%** Ing. Jesus Norato Valencia                                                                               **
%** Materia: Matematicas II                                                                                   **
%** Maestro: M.C. Rodrigo Rodriguez                                        17/Febrero/2000 **
%****************************************************************

clear;
clc;

fprintf('PROGRAMA PARA REALIZAR \n');
fprintf('LA CONVOLUCION DE DOS\n');
fprintf('SEÑALES MUESTREADAS)\n\n');

%****************************************************************
%** Se ingresan los valores de cada una de las señales discretas                             **
%** tienes que ingresar vectores de 10 valores, si son menos completar con ceros   **
%****************************************************************

y=input('dame el primer vector [1;1;...n]: ');
x=1:1:10;
stem(x,y)

line([0,0],[0,2]);
line([0,0],[0,-2]);
line([0,2],[0,0]);
line([0,-2],[0,0]);
pause

yy=input('dame el segundo vector [1;1;...n]: ');
x=1:1:10;
stem(x,yy)

line([0,0],[0,2]);
line([0,0],[0,-2]);
line([0,2],[0,0]);
line([0,-2],[0,0]);
pause

%****************************************************************
%** Se realiza la convolucion con el comando conv  y se grafica                             **
%****************************************************************

yyy=conv(y,yy);
x=1:1:19;
stem(x,yyy)

line([0,0],[0,2]);
line([0,0],[0,-2]);
line([0,2],[0,0]);
line([0,-2],[0,0]);

%****************************************************************
%** Se imprimen los valores del vector que representa a la señal resultante              **
%****************************************************************

yyy'
 
 
 

Representacion grafica de la convolucion


C[n]=a[n]*b[n]

a[n]=(1,.5,-.5,1,1,-.5)


 

b[n]=(1,-1-1,1,1)
 


 
 

c[n]= (1,-.5,-2,2,2,-2.5,0,2.5,.5,-.5)