LABORATORIO DE INTRODUCCION A LAS TELECOMUNICACIONES
PRACTICA N° 4
Tema: CONVOLUCION DE SEÑALES SENCILLAS USANDO MATLAB
Alumno: FELIX GUTIERREZ BILLY MARCOS
Código: 12190096
Horario: Grupo Miércoles 10 a 1pm
I. OBJETIVO:
Reforzar los conceptos teóricos sobre consolación, comprender las limitaciones del ordenador para trabajar con las señales y su consolación, comprender las limitaciones del ordenador para trabajar con las señales y su consolación, comparar los resultados del ordenador con analíticos.
II. PROCEDIMIENTO:
Para esta práctica hemos desarrollado una función que el ayudara a realizar cada ejercicio.
1º paso: En el programa Matlab, ingresar al menú File → New → M-File. Aquí crearemos la función “myconv.m”
2º paso: digitar en el editor lo siguiente:
Function[y,X]=myconv(x,h)%esta función evalúa la consolación de dos funciones finitasx=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;endy=X*h;y=y(1:1:ny);y=y/max(abs(y));
3º paso: guardar el archivo con el nombre “myconv”
1. Convolución de señales Finitas.
1.1. Vamos a calcular la consolació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.
SOLUCION
Veamos como generarla en Matlab:
>> t=-5:0.1:5; % base de tiempo de x>> L=length(t); % longitud>> p1=find(t==-1);>> p2=find(t==1); %localizar los puntos>> x=zeros(1,L);>> x(p1:p2)=1;% pulso entre -1 y 1>> figure(1)>> plot(t,x)>> h=x; %h es igual a x>> figure(2)>> plot(t,h)>> y=myconv(h,x);% usamos la funcion creada>> w=-10:0.1:10;% base de tiempo de y>> figure(3)>> plot(w,y)
1.2. Realizar la consolación de las siguientes señales:
x(t): pulso triangular en t=0, altura 1, entre t=-2 y t=2. h(t): pulso rectangular de altura 1, entre t=-2 y t=2.
SOLUCION
Para generar el pulso rectangular h(t9 lo haremos como en el ejercicio anterior, mientras que para generar la función triangular x(t) lo haremos de la siguiente manera:
>> 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 finitas.
Las convoluciones donde intervienen señales infinitas en tiempo son imposibles de calcular en Matlab ya que no se puede tener un vector de valores de tamaño infinito. Sin embargo, vamos a hacer algunos ejemplos donde veremos que si es posible hacer cálculos aproximados.
2.1 Empezaremos por generar una señal que podríamos llamar “cuasi-finita” como es el
caso de x (t )=32
e−3
2t .u(t)
(“cuasi-finita” porque a partir t=2 sus valores son prácticamente
nulos).
Luego haremos la consolación con la función rectangular del ejercicio anterior
SOLUCION:Para generar x(t) primero debemos generar la función pulso unitario u(t), que es una función igual 1 pata t>=0 y 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 Ahora vamos a cambiar la señal de entrada por h(t)=u(t). Nótese que vamos a 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).
>> h=u;>> figure(10)>> plot(t,h)>> y=myconv(h,x);>> figure(11)
>> plot(w,y)
3. Convolución con señales periódicas
Vamos a terminar la práctica con un ejemplo de señales periódicas. Mantendremos x(t) igual a la del apartado anterior (señal exponencial) y haremos h(t)=cos(2πt). Cuando una de las dos señales de una consolación es periódica, el resultado es periódico con el mismo periodo. En este caso, h(t)es periódica con periodo fundamental T0=2π/2π=1 seg.
>> h=cos(2*pi*t);>> figure(12)>> plot(t,h)>> y=myconv(h,x);>> figure(13)>> plot(w,y)
Top Related