Los sistemas pueden caracterizarse en base a lo que obtienen al recibir un impulso
unitario. Si se conoce como se comporta un sistema cuando entra un impulso unitario, se
puede calcular su salida para cualquier entrada usando la Convolución, de igual manera la
Convolución nos permite modelar sistemas en tiempo discreto
Para cualquier sistema LTI si tenemos en la entrada un impulso unitario, la salida se
denomina “Respuesta al impulso” y se denota y(n)=h(n).
Una señal x(n) es periódica con periodo N(N>0) si y solo si x(n+N) = x(n) para todo valor
de n. La definición matemática del operador de Convolución se define como:
Para n = -∞… -2, -1, 0, 1, 2 … ∞
Para calcular la Convolución de manera a manual se siguen los siguientes pasos. 1. Voltear uno de los vectores, por ejemplo, h(n), lo denominaremos h(n)’. 2. Alinear la primera posición de x(n) con la última de h(n)’. 3. Multiplicar los valores de x(n) y h(n)’ donde coincidan; sumar las multiplicaciones. Este será el valor de la Convolución en la operación donde inicio la coincidencia. 4. Deslizar h(n)’ hacia la derecha. 5. Repetir hasta que no existan más valores que comparar.
Propiedades de la Convolución
- Conmutativa.
- Distributiva.
- Asociativa.
Convolución con MATLAB
Para realizar la operación de Convolución en Matlab se tiene la función “conv”, con la
siguiente sintaxis:
>>w = conv(u,v)
La cual devuelve la Convolución de los vectores u y v. Si u y v son vectores de coeficientes
polinómicos, Convolución equivale a multiplicar los dos polinomios. Los
vectores u y v pueden ser diferentes longitudes o tipos de datos.
Cuando u o v son de tipo single, la salida es de tipo single. De lo contrario, “conv” convierte las entradas en el tipo double y devuelve el tipo doublé.
Como desventaja esta función no indica el vector de tiempo “ny” generado al realizar la Convolución de dos señales con diferentes vectores de tiempo, o que el origen de las señales no sea la posición 1 del vector.
Algoritmo en Matlab:
Archivo Tipo Script
clear all; clc; %Practica convolucion %Funcion 1 nx = -1:1:2 %Vector de tiempos "nx" x = 1+nx %Funcion 1 "x" %Funcion 2 nh = -1:1:1 %Vector de tiempo "nh" h = 1+nh %Funcion 2 "h" %Mandar a traer archivo tipo funcion "funconv" [ny,y] = funconv(x,nx,h,nh); %Figuras subplot(3,1,1) stem(nx,x) title('x')%señal xsubplot(3,1,2) stem(nh,h) title('h')%señal hsubplot(3,1,3) stem(ny,y) title('y')%señal y
Archivo Tipo Función
function [ny,y] = funconv(x,nx,h,nh)
%nx
minx = min(nx) %valor minimo
%nh
minh = min(nh) %valor minimo
%Convolucion de x y h
y = conv(x,h)
%tamaño del vector de la convolucion
a = length(y)
%valor minimo para ny
vmin = abs(minx) + abs(minh)
%valor maximo para ny
vxm = a - vmin-1
%vector de tiempos "ny"
ny = -1*vmin:1:vxm
end
Video para realizar convolución de Manera Manual
Video para realizar convolución En Matlab
Comments