Vous êtes sur la page 1sur 7

ANLISIS DE SEALES Y SISTEMAS

PRIMERA PRCTICA DE LABORATORIO LUNES

P1) Generar la siguiente seal peridica en Matlab y graficarla. A la grfica se debe aadir
la leyenda, las etiquetas de cada variable y el ttulo de la grfica.


( +2)
() =
= ( 8) , 10 12 con () = 5 3 4

Solucin:

Si bien especifican el periodo de variacin de la funcin () (T=8), no especifican el


intervalo, por lo que se considerar 10 2 y 4 4 .

Solo se grafic el intervalo 10 12 para () pues es solo la parte que nos piden.

Para 10 2, se tiene el siguiente cdigo:

clear
close
clc
vp=inline('[5-3*exp(-t*0.25-2)].*(heaviside(t+10)-heaviside(t+2))','t');
vo=inline('[5-3*exp(-t*0.25-2)]','t');
t=linspace(-10,12,1000);
hold on
plot(t,vp(t)+vp(t-8)+vp(t-16),'LineWidth',3)
plot(t,vo(t),'--','LineWidth',1.5)
axis([-10 12 0 5])
title('Funcin Peridica','fontsize',14)
xlabel('Tiempo (t)','fontsize',14)
ylabel('v(t)','fontsize',14)
legend('v(t)','vp(t)')
grid on

Donde obtenemos el grfico:


Para 4 4, se tiene el siguiente cdigo:

clear
close
clc
vp = inline('[5-3*exp(-t*0.25-2)].*(heaviside(t+4)-heaviside(t-4))','t');
vo = inline('[5-3*exp(-t*0.25-2)]','t');
t=linspace(-10,12,1000);
hold on
plot(t,vp(t+8)+vp(t)+vp(t-8)+vp(t-16)+vp(t-24),'LineWidth',3)
plot(t,vo(t),'--','LineWidth',1.5)
axis([-10 12 0 5])
title('Funcin Peridica','fontsize',14)
xlabel('Tiempo (t)','fontsize',14)
ylabel('v(t)','fontsize',14)
legend('v(t)','vp(t)')
grid on

Donde obtenemos el grfico:

P3) Para la seal () = (), encuentre:


a) La potencia instantnea y la potencia promedio.

= = |()|2 = | ()|2 = 2 ()

= 2 ()
1 /2 1 /2
= = lim |()|2 = lim 2 ()
/2 /2

1 0 1 2(0) 2(/2) 1 1
= lim 2 = lim ( ) = lim ( )=0
/2 2 2 2

= 0

b) La energa.

0
= = |()|2 = 2 () = 2

2(0) 2(/2)
=( ) = 0.5
2 2

=0

Podemos verificar esta operacin usando el siguiente cdigo:

syms t
x = exp(t).*heaviside(-t);
P = (abs(x)).^2; %Potencia Instantnea
E=int(P,t,-inf,inf) %Energa

E =

1/2

c) La seal (), es una seal de energa o de potencia?

Se deduce entonces que () es una seal de energa puesto que posee un valor
finito de energa.

P4) Para las siguientes seales, () = () = determinar:

a) La expresin analtica 1 () = () (), para a=3 y b=5.


b) La expresin analtica 1() = ()(), para a=b=2. Graficarla usando Matlab.
c) Obtener la convolucin numrica de (a), z2(t). Graficar z1(t) y z2(t). Indique el
cdigo usado.
d) Obtener la convolucin numrica de (b), p2(t). Graficar p1(t) y p2(t). Indique el
cdigo usado.
e) Comente sus resultados.

Solucin:
Para que la convolucin de las funciones est bien definida es necesario redefinir las
funciones como sigue:

() = () () = ()

a) En esta regin hay que tener en cuenta que para < 0 y > , se tendr que
() = ( + ) = 1, por lo que:

0 0
1 2
1 () = 3 () 5 () = 3 5() = 5 2 = 5 ( )
2 2

3 5
1 () = ()
2

Hay que tener en cuenta que para > 0, tanto () como () son nulas.

Graficando esta funcin, obtenemos:

clear
close
clc
z1 = inline('0.5*[exp(3*t)-exp(5*t)].*heaviside(-t)','t');
t=linspace(-10,2,10000);
plot(t,z1(t),'LineWidth',3)
title('Convolucin','fontsize',14)
xlabel('Tiempo (t)','fontsize',14)
ylabel('z1(t)=x(t)*h(t)','fontsize',14)
grid on
b) En esta regin hay que tener en cuenta (al igual que el problema anterior) que para
< 0 y > , se tendr que () = ( + ) = 1, por lo que:

0 0
1 () = 2 () 2 () = 2 2() = 2 1 = 2 ()

1 () = 2 ()

Graficando esta funcin, obtenemos:

clear
close
clc
z2 = inline('-t.*[exp(2*t)].*heaviside(-t)','t');
t=linspace(-10,2,10000);
plot(t,z2(t),'LineWidth',3)
title('Convolucin','fontsize',14)
xlabel('Tiempo (t)','fontsize',14)
ylabel('z2(t)=x(t)*h(t)','fontsize',14)
grid on

P5) Sea la funcin de transferencia en variable compleja s de un sistema lineal e invariante


en el tiempo:

2 + 6 + 2
() =
3 + 6 2 + 4 + 8
a) Para [0.01 ,100 ] y =, ()=()|=, determinar las expresiones analticas
y valores de |()|=20log|()| y ()=tan1({()}/{()}).

Escribiremos la funcin de forma adecuada:

2
(( ) + 3 + 1)
1 2
() =
4 3 3 2
(( ) + + + 1)
2 4 2
Aplicaremos ahora:

Magnitud

|()|=20log|()|:
1 2 3 3
|()| = 20log ( ) + 20 log |( ) + 3 + 1| 20log |( ) + ()2 + + 1|
4 2 2 4 2

Analizando cada trmino:


1
20log ( ) = 12
4
2 0, 2
20 log |( ) + 3 + 1| {
2 40log ( ) , 2
2

3 3 0, 2
20log |( ) + ()2 + + 1| {
2 4 2 60log ( ) , 2
2

Aproximando los diagramas de Bode a rectas, obtenemos:


12, < 2

12 + 40log ( ) , 2 < < 2
|()| = 2

12 + 40log ( ) 60log ( ) , >2
{ 2 2
Fase
{()}
() = tan1 ( )
{()}
0, 0
2
1 () = tan1 |( ) + 3 + 1| { 90, 2
2 180,

3 3 0, 0
2 () = tan1 |( ) + ()2 + + 1| { 135, 2
2 4 2 270,

Aproximando los diagramas de Bode a rectas, obtenemos:


0, >0
2
90log ( ), < < 0.2
0.12 10

() = 90 log ( ) 135 log ( ) , 0.2 < < 102
0.12 0.2

180 135 log ( ) , 102 < < 20
0.2
{ 90, 20 <

b) Dibujar, usando funciones de Matlab explicados en clase (con eje horizontal de


frecuencias logartmico), las grficas de |H()| y () superpuestas en una misma
grfica y con un eje vertical izquierdo para |()| y un eje vertical derecho para ().
Para cada grfica se debe aadir la leyenda, las etiquetas de cada eje y el ttulo de la
grfica. Use funciones de Matlab para hallar los valores mximos y mnimos de |()| y
().

close all;clc;clear;
f=linspace(0.1,10000,10001);
w=2*pi*f;
H=-12+40*log10(w/sqrt(2)).*(sqrt(2)<w)-60*log10(w/2).*(w>2);
T1=90*log10(w/(0.1*sqrt(2)))-90*log10(w/(0.1*sqrt(2))).*(w>10*sqrt(2));
T2=T1+180.*(w>10*sqrt(2));
T3=-135*log10(w/0.2)+135*log10(w/0.2).*(w>20)-270.*(w>20);
T4=T3+T2;
plotyy(w,H,w,T4,'semilogx','semilogx')
title('|H|db','fontsize',16)
xlabel('w(rad/s)','fontsize',14)
ylabel('|H|db - Theta(w)','fontsize',14)
legend('|H|db','Theta(w)')
grid on

Vous aimerez peut-être aussi