Covolucion De Un Senal
Universidad de Guanajuato
Señales y Sistemas (Propedéutico de Maestria)
Profesor: Dr. Luis Javier Morales
Alumnos: Camarena Martínez David Ramírez Gasca Humberto JuárezRamí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) caracterizadopor T[.], entonces la salida y(n), está dada por:
g g
y ( n) !
§ x ( k )h (n k ) ! § x ( n k ) h ( k )
k ! g k ! g
(1)
Donde h(n) = T[ (n)], es decir la respuesta al impulso Laecuació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 ) Procedimiento: Para esta tarea se implemento en MatLab elproceso 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 tanto x(n) como h(n) son de la mismalongitud: 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 lalongitud de x(n) más la longitud de h(n) menos uno, es decir:
M N 1
(2)
(3)
Donde: M = longitud de la secuencia x(n) N = longitud de la secuencia h(n) Por lo tanto el código utilizado enMatLab es el siguiente:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 end k=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 como coeficientes. Realizando la convolución el código...
Regístrate para leer el documento completo.