Escolar Documentos
Profissional Documentos
Cultura Documentos
EXPERIENCIA N°4
CONVOLUCIÓN DE SEÑALES SENCILLAS USANDO
MATLAB
I. OBJETIVOS:
III. PROCEDIMIENTO:
Primer paso:
Segundo paso:
Digitar en el editor lo siguiente:
function[y,X]=myconv(x,h)
%esta función evalúa la convolución de dos funciones finitas
x=x(:);
h=h(:);
nx=length(x);
nh=length(h);
ny=nx+nh-1;
X=zeros(nh,ny)';
for i=1:nh
X((1:nx)+(i-1),i)=x;
end
y=X*h;
y=y(1:1:ny);
y=y/max(abs(y));
Así habremos creado una nueva función, la cual nos permitirá hacer
convoluciones:
1. Convolución de señales finitas
1.1. Vamos a calcular la convolución entre dos señales x(t) y h(t) que ,
en este caso, van a ser iguales, x y h van a ser (ambas) un pulso
rectangular centrado en t=0, de amplitud 1 y que se extenderá desde
t=-1 a t=1.
Solución:
Solución:
p3=find(t==-2);
p4=find(t==0);
p5=find(t==2);
x=zeros(1,L);
x(p3:p4)=t(p3:p4)/2+1;
x(p4:p5)=-t(p4:p5)/2+1;
figure(4)
plot(t,x)
h=zeros(1,L);
h(p4:p5)=1;
figure(5)
plot(t,h)
y=myconv(h,x);
figure(6)
plot(w,y)
2. Convolución de señales infinitas
2.1. Empezaremos por generar una señal que podríamos llamar “casi-
−3
3 t
finita” como es el caso de x ( t )= e 2 .u (t ) , la haremos
2
convolucionar con la función rectangular del ejercicio anterior.
Solución:
Para generar x(t) primero debemos generar la función pulso
unitario u(t), que es una función igual a 1 para t>=0 y o para t<0.
p6=find(t==5);
u=zeros(1,L);
u(p4:p6)=1;
figure(7)
plot(t,u)
x=(3/2)*exp(-3*t/2).*u;
figure(8)
plot(t,x)
y=myconv(h,x);
figure(9)
plot(w,y)
2.2. Cambiamos h(t) por u(t). Nótese que vamos aumentar
considerablemente la complicación porque se trata de dos señales
infinitas y, además, la h(t) no tiende a cero como si lo hace x(t).
Solución:
h=u;
figure(10)
plot(10)
plot(t,h)
y=myconv(h,x);
figure(11)
plot(w,y)
3. Convolución de señales periódicas
Solución:
h=cos(2*pi*t);
figure(12)
plot(t,h)
y=myconv(h,x);
figure(13)
plot(w,y)
IV. DATOS FIRMADOS: