Você está na página 1de 8

Laboratorio: Nro.

:002a Manejo de matrices con MATLAB

Guia-Practica-Laboratorio-Nro-2a
TEMA: Tren de impulsos unitarios

OBJETIVOS:
a) Conocer el uso de las matrices unidimensionales en MATLAB (vectores)
b) Simular la función Seno cardinal normalizada
c) Simular un tren de impulsos unitarios a partir de la función seno cardinal.

EQUIPOS Y MATERIALES:
Una PC compatible con Windows de 32 o 64 bits.
Un software de simulación (MATLAB)

INTRODUCCION TEORICA:

Vectores en MATLAB:
Un vector en MATLAB es una matriz de una sola fila o de una sola columna que puede
servir en general para representar lo siguiente:
a) Una señal (para representación de una función o variable aleatoria).
b) Una base de tiempo (para representación en el tiempo).
c) Una base de frecuencias (para representación en la frecuencia).

La función seno cardinal:


La función seno cardinal es una función matemática definida de la siguiente manera:
 sen(t )
 para t  0
 t
sin c(t )  
 1 para t  0

 Ecuación Nro 1
También la función seno cardinal se expresa en su forma normalizada usada en PDS de
la siguiente manera:

 sen (t )
 para t  0
 t
sin c(t )  
 1 para t  0

 Ecuación Nro 2

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 1


FIEE-UNMSM Milton Rios Julcapoma
Laboratorio: Nro.:002a Manejo de matrices con MATLAB

Aproximación de un impulso unitario con la función seno


cardinal:

Se puede hacer una aproximación de un impulso unitario de la siguiente manera:

1 t
 (t )  lim sin c ( )
a0 a a Ecuación Nro 3

También:

1 sen(t / a)
 (t )  lim
a 0 a (t / a) Ecuación Nro 4

SIMULACIONES EN MATLAB

Comparación del Seno cardinal matemático y el seno cardinal


normalizado:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Comparación entre las funciones "seno cardinal matemático
% y "seno cardinal normalizado", esta última también conocida
% como función "Sampling" por su utilidad en PSD y Teoría de
% la Información.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc
close all
clear all

% Generamos una base de tiempo simétrica


t=-10:.1:10;

% Generamos la función "x" SENO CARDINAL Matemático


x=sin(t)./t;

% Generamos la función "y" SENO CARDINAL normalizado


y=sin(pi*t)./(pi*t);

% Graficamos las dos funciones superpuestas para comparar


plot(t,x,t,y,'r')
grid on
legend('seno cardinal matemático','seno cardinal normalizado')

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 2


FIEE-UNMSM Milton Rios Julcapoma
Laboratorio: Nro.:002a Manejo de matrices con MATLAB

Fig.1: Comparación gráfica del seno cardinal matemático y normalizado

Gráfica comparativa del Seno cardinal generado con el


comando “sinc” del MATLAB:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Seno cardinal generado por el comando "sinc" del MATLAB
% en comparación con la grafica matemática y normalizada
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc
close all
clear all

% Generamos una base de tiempo común


t=-10:.1:10;

% Generamos la función "x" SENO CARDINAL Matemático


x=sin(t)./t;

% Generamos la función "y" SENO CARDINAL normalizado


y=sin(pi*t)./(pi*t);

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 3


FIEE-UNMSM Milton Rios Julcapoma
Laboratorio: Nro.:002a Manejo de matrices con MATLAB

% Generamos la función "z" SENO CARDINAL normalizado


% mediante el comando "sinc" del MATLAB
z=sinc(t);

subplot(3,1,1)
plot(t,x)
grid on
legend ('Seno Cardinal matemático')

subplot(3,1,2)
plot(t,y,'r')
grid on
legend ('Seno Cardinal normalizado')

subplot(3,1,3)
plot(t,z)
grid on
legend ('Seno Cardinal generado con el comando “sinc” del MATLAB')

Fig.2: Gráfica comparativa del seno cardinal generado por el comando “sinc” de
MATLAB

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 4


FIEE-UNMSM Milton Rios Julcapoma
Laboratorio: Nro.:002a Manejo de matrices con MATLAB

Aproximación del impulso unitario con la función seno


cardinal normalizado:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Simulación de un Impulsos unitario
% a partir de la función Seno Cardinal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all

% Generamos la base de tiempo


t1=-10:.01:10;
t2=-10:.01:10;
t3=-10:.001:10;

% Parámetro que aproxima el senoC al impulso


a1=1;
a2=.25;
a3=.025;

% Generamos la función impulso unitario


delta1=(1/a1)*sinc((t1)/a1);
delta2=(1/a2)*sinc((t2)/a2);
delta3=(1/a3)*sinc((t3)/a3);

subplot(3,1,1)
plot(t1,delta1)
grid on
legend('a=1 , dt=0.1')
title('Función Seno cardinal sinc(t)')

subplot(3,1,2)
plot(t2,delta2)
grid on
legend('a=0.25 , dt=0.01')
title('Aproximación del Impulso unitario con el Seno cardinal')

subplot(3,1,3)
plot(t3,delta3)
grid on
legend('a=0.025 , dt=0.001')
title('Aproximación del Impulso unitario con el Seno cardinal')

Según la Ecuación Nro 3 dando valores cada vez más pequeños al parámetro “a” se
podrá aproximar tanto como se quiera a la función impulso unitario.

En la siguiente figura se pude ver los resultados gráficos de la aproximación.

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 5


FIEE-UNMSM Milton Rios Julcapoma
Laboratorio: Nro.:002a Manejo de matrices con MATLAB

Fig.3: Gráfica de dos aproximaciones del Impulso unitarios en comparación a la


función Seno cardinal

Simulación de un Tren de impulsos unitarios


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Simulación de un Tren de impulsos unitarios
% a partir de la función Seno Cardinal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all

% Generamos la base de tiempo


t1=-10:.01:10;
t2=-10:.001:10;

% Parámetro que aproxima el senoC al impulso


a1=.01;
a2=.01;

% Periodo del tren de impulsos


T=1;

% Valor inicial de los instantes (enteros)


% donde aparecerán unos impulsos unitarios (tren)
n=0;

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 6


FIEE-UNMSM Milton Rios Julcapoma
Laboratorio: Nro.:002a Manejo de matrices con MATLAB

% Valor inicial del vector donde se construirá


% el tren de impulsos
delta1=0.0;
delta2=0.0;

for n=min(t1) : max(t1)


delta1=delta1+(1/a1)*sinc((t1-T*n)/a1);
end

for n=min(t2) : max(t2)


delta2=delta2+(1/a2)*sinc((t2-T*n)/a2);
end

subplot(2,1,1)
plot(t1,delta1)
grid on
title('Tren de impulsos unitarios con: a=0.01, dt=0.01')

subplot(2,1,2)
plot(t2,delta2)
grid on
title('Tren de impulsos unitarios con: a=0.01, dt=0.001')

Fig.4: Simulaciones de un tren de Impulsos unitarios

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 7


FIEE-UNMSM Milton Rios Julcapoma
Laboratorio: Nro.:002a Manejo de matrices con MATLAB

TAREA:
Utilizando la ecuación Nro.3 hacer un programa en MATLAB para:

1. Graficar y presentar en pantalla la aproximación de un impulso unitario utilizando


los siguientes valores para “a”: a = 1, a = 0.5, a = 0.1 y a=0.01. (presentar los
gráficos en una matriz 4x1 para observar la aproximación del impulso unitario).
2. Elaborar una rutina complementaria para verificar que el “área” bajo la curva
aproximada del impulso es unitaria.

CU, 10 de setiembre de 2014

Sistemas de Comunicaciones Digitales I Lab.: 001 Setiembre 2014 8


FIEE-UNMSM Milton Rios Julcapoma

Você também pode gostar