Anda di halaman 1dari 14

UNIVERSIDAD DE ANTIOQUIA

FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

LABORATORIO N2
IMPLEMENTACIN DE SEALES BSICAS EN MATLAB
Nombre: _Danilo Andrs Orozco Gil_
Cdula: 1128472700
INSTRUCCIONES
Ejecute cada uno de los pasos descritos en la siguiente gua, completando los
campos que se encuentran habilitados para tal fin, guarde sus resultados
obtenidos, inserte las grficas obtenidas, analice y escriba las conclusiones.
Una vez finalizada la actividad, enve el informe diligenciado a la direccin
electrnica tatiana.villaudea@gmail.com
NOTA: Slo tendrn validez los informes recibidos en la direccin de
correo especificado y a ms tardar a la hora de terminacin de la
prctica. Despus de la sesin de laboratorio no se recibirn informes.

GENERACIN DE SEALES EN MATLAB


Considere los siguientes scripts, cada uno de ellos genera un tipo de seal
diferente y la grafica. Verifique el funcionamiento de cada una de las funciones
dadas y experimente con diferentes parmetros para cada una.
%1. Generacin de seales Peridicas
% --- Tren pulsado
A = 1;
w = 10 * pi;
rho = 0.5; % Ciclo de dureza
t = 0:0.001:1;
sq = A*square(w*t+rho);
plot(t,sq);
axis([-0.1, 2, -0.1,2]);
% --- Diente de sierra
A = 1;
w = 10 * pi;
Wdt = 0.5;
t = 0:0.001:1;

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

tri = A*sawtooth(w * t + Wdt);


plot(t,tri);
axis([-0.1, 1.1, -0.1,1.1]);
%2. Seales Exponenciales
%Seales de la forma F(t) =B * exp( a * t);
%Exponencial creciente
B = 5;
a = 6;
t = 0:0.001:1;
x = B * exp( -a * t ); % seal exponencial decreciente.
plot( t, x );
% Exponencial decreciente
B = 1;
a = 5;
t = 0:0.001:1;
x = B * exp( a * t );
plot( t, x);
% Usando el comando "stem" para graficar
B = 1;
r = 0.85;
n = -10:10;
x = B * r .^ n;
stem( n , x );
%3. Seales senoidales
%Seales de la forma A * sin (w0 * t
A = 4;
w0= 20 * pi;
phi = pi / 6;
t = 0:0.001:1;
coseno = A * cos( w0 * t + phi);
plot(t,coseno);

+ phi )

A = 0.5;
w0 = 20 * pi;
phi = pi / 2;
t = 0:0.001:1;
seno = A * sin( w0 * t + phi);
plot(t,seno);
%4. Seales senoidales con amortiguacin exponencial
%Seales de la forma A * sin( w0 * t + phi) .* exp ( -a * t)
A = 60;
w0 = 20 * pi;
phi = 0;
a = 6;

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

expsen = A * sin( w0 * t + phi) .* exp ( -a * t);


plot(t,expsen);
%Versin discreta del ejemplo anterior
A = 10;
a = -0.1;
w0 = 2 * pi / 12;
phi = 0;
n = -10 : 10;
x = A * sin( w0 * n + phi);
y = exp( a * n);
z = x .* y;
stem(n,z)
%5. Seal impulso unitario
delta=[zeros(1,10),1,zeros(1,10)];
t=-1:0.1:1;
plot(t,delta)
%Impulso con mejor resolucin
delta = [ zeros( 1 , 1000 ), 1 , zeros( 1 , 1000 ) ];
t=-1:0.001:1;
plot(t,delta)
%6. Seal rampa
n=0:30;
n1=0:60;
rampa1=n;
rampa = [zeros(1,30), rampa1];
stem(n1,rampa)
%En tiempo "continuo"
t1=0:0.1:10;
rampa1=t1;
rampa=[zeros(1,101),rampa1];
t2=-10:0.1:0;
t=[t2,t1];
plot(t,rampa)

1. Construya una interfaz grfica de usuario (GUI) en Matlab que le permita al


usuario elegir un tipo de funcin (considere todas las descritas arriba), le
pida los parmetros dependiendo de la seal elegida y le entregue la
grfica de la funcin solicitada.

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

Fig.1 Seal de pulsos cuadrados.

Fig.2 Seal diente de sierra.

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

Fig.3 Seal exponencial.

Fig.4 Seal cosenoidal.

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

Fig.5 Seal sinusoidal.

Fig.6 Seal seno con amortiguamiento exponencial.

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

Fig.7 Seal rampa.

Fig.8 Seal impulso.

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

2. Escriba una funcin en MATLAB para implementar las siguientes seales


peridicas en tiempo continuo, dibujando 5 ciclos de cada una:

5 Volts, frecuencia fundamental 20 Hz y

a. Onda Cuadrada, de amplitud

60 .

ciclo til del

Modificando el script para recibir parmetros de forma general


function []=Scuadrada(A,F,duty)
%A = 1;
%w = 10 * pi;
%rho = duty % Ciclo de dureza
t = 0:0.00001:5/F;
%sq = A*square(w*t+rho);
sq = A*square((2*pi*F)*t,duty);
plot(t,sq,'r');
axis([0, 5/F , -0.1,A+1]);
grid on
end

0.05

0.1

0.15

0.2

0.25

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

b. Seal diente de sierra, amplitud

5 Volts y frecuencia fundamental 20Hz.

De igual forma para esta seal, script modificado del cual tambin se puede
obtener un tren de pulsos triangulares para el mximo en 0.5*w*t.
function [] = Ssierra( A,F,Angulodemaximo )
%SSIERRA Summary of this function goes here
%
Detailed explanation goes here
%w = 10 * pi;
%Wdt = 0.5;
t = 0:0.00001:5/F;
tri = A*sawtooth((2*pi*F)*t,Angulodemaximo);
plot(t,tri,'g');
axis([0,5/F , -0.1,A+1]);
end

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

0.05

0.1

0.15

0.2

0.25

3. Considere la siguiente expresin:

x ( t )=10 et5 e0.5 t


Usando MATLAB, grafique la ecuacin en el intervalo [0,5] con una
frecuencia de muestreo de

100 Hz .

Script para la funcin propuesta:


function [ ] = Espuntotres( B , a, Fmuestreo)
% Exponencial decreciente B = 1; a = 5;
t=1/Fmuestreo;
t = 0:t:5;
x = B * exp( -a * t )-(B/2) * exp( -(a/2) * t );
plot( t, x,'m');
end

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

-1

0.5

1.5

2.5

3.5

4. Repita el ejercicio anterior con la siguiente expresin:


t

0.5t

x ( t )=10 e +5 e

Script modificado para la funcin propuesta:


function [ ] = Espuntotres( B , a, Fmuestreo)
% Exponencial decreciente B = 1; a = 5;
t=1/Fmuestreo;
t = 0:t:5;
x = B * exp( -a * t )-(B/2) * exp( -(a/2) * t );
plot( t, x,'m');
end

4.5

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

15

10

0.5

1.5

2.5

3.5

4.5

5. Considere la siguiente expresin:

x ( t )=20 sen(2000 t )eat


3
Analice el efecto que tiene la variacin del parmetro
ciclos en MATLAB.
Script utilizado
function [ ] = Espuntocinco( )
%ESPUNTOCINCO Summary of this function goes here
%
Detailed explanation goes here

'a'

usando

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

a=0;
aux=-1;
%t=linspace(0, 0.1, 1000);
t=0:1/20000:0.01;
for i=2:8
if i==2
subplot(4,2,[1 i])
y = 20*sin(1000*2*pi*t-(pi/3)).*exp(-a*t);
plot(t,y,'m');
text( 0.001,max(y)/2,['\itAtenuacion= ',num2str(a),'
'])

%ylabel('a=0')
%xlabel('\it20*sin(1000*2*pi*t-(pi/3)).*exp(-a*t)')
axis([0 0.01 -max(y) max(y)])
else

if i==3
a=500;
elseif i==5
a=300;
elseif i==7
a=100;
end
a=a*aux;
subplot(4,2,i)
y = 20*sin(1000*2*pi*t-(pi/3)).*exp(-a*t);
plot(t,y,'m');
text( 0.001,max(y)/2,['Atenuacion=',num2str(a),' '])
axis([0 0.01 -max(y) max(y)])

end
end
end

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA ELECTRNICA
CURSO: PROCESAMIENTO DIGITAL DE SEALES
2014 I

10
0
-10
2000

Atenuacion= 0

Atenuacion=500

0.005

0.01

0.005

0.01

0.005

0.01

0.005

0.01

Atenuacion=300

0
10
0
-10

Atenuacion=-100

0
10
0
-10

Atenuacion=-300

0
-50

0.01

-10

200
0
-200
50

10

Atenuacion=-500

0
-2000

0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009

0.005

0.01

Atenuacion=100

0.005

0.01

Se aprecia como la exponencial al ser multiplicada por la seal seno, se


muestra como la envolvente resultante en las seales obtenidas,
dependiendo de su atenuacin y si es creciente o decreciente.

Anda mungkin juga menyukai