ingenieria
Universidad de Guanajuato
Señales y Sistemas
(Propedéutico de Maestria)
Profesor: Dr. Luis Javier Morales
Alumnos: Camarena Martínez David
Ramírez Gasca HumbertoJuárez Ramírez Eduardo Enrique
Ortiz López Emmanuel
16/06/2009
³Convolución Discreta´
Introducción:
Si x(n) es la entrada a un sistema lineal en invariante en el tiempo (tiempo discreto)caracterizado por T[.], entonces la salida y(n), está dada por:
g
y ( n) !
g
§ x ( k )h (n k ) ! § x ( n k ) h ( k )
k ! g
(1)
k ! g
Donde h(n) = T[į(n)], es decir la respuesta alimpulso
La ecuación 1 es llamada la convolución de x y h o viceversa, la cual la podemos
representar como:
y ( n ) ! x ( n ) h ( n ) ! h ( n ) x (n )
(2)
Procedimiento:
Para esta tarea seimplemento en MatLab el proceso de convolución sin ocupar la
función conv.
La secuencia de la multiplicación de los elementos de las matrices x(n) y h(n) es la
siguiente, considerando que tantox(n) como h(n) son de la misma longitud:
w(1) ! x(1) * h (1)
w(2) ! x(1) * h(2) x(2) * h(1)
w(3) ! x(1) * h(3) x(2) * h(2) x(3) * h(1)
/
w(n ) ! x (1) * h(n) x(2) * v(n 1) x(n) * v(1)La longitud de y(n) es igual a la longitud de x(n) más la longitud de h(n) menos uno, es
decir:
M N 1
Donde:
M = longitud de la secuencia x(n)
N = longitud de la secuencia h(n)
Por lo tantoel código utilizado en MatLab es el siguiente:
(3)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Convolucion
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y = convolucion(x,h)
m=length(x);n=length(h);
aux=m+n-1;
y=zeros(1,aux);
%longitud de la salida y
for k=1:aux
for j=1:m
if k+1-j=length(h)+1
yaux(k)=0;
else
yaux(k)=x(j)*h(k+1 -j);
end
end
y(k)=yaux(k)+y(k);
end
endk=0:aux-1;
stem(k,y)
grid on
xlabel('n')
ylabel('y(n)')
title('Convolucion y(n)=x(n)*h(n)' )
Comprobación:
Consideremos una señal x[n] con coeficientes 1, 2, 2, 1, 1, 0 y una señal h[n] con 3,2,1...
Regístrate para leer el documento completo.