Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEALES Y SISTEMAS
Sangolqui - Ecuador
TEMA:
Introduccin al uso de seales.
OBJETIVOS:
o Utilizar de Matlab para la generacin y visualizacin de seales
o Analizar las propiedades y transformaciones de la variable independiente de seales.
E. W. Kamen y B.S Heck, Fundamentos de Seales y Sistemas usando la web y Matlab. 3ra Ed.,
Mxico, Pearson Education, 2008;
Ejercicio # 1.1 Considere las seales de tiempo continuo de la figura P1.1
i)
Muestre que cada una de estas seales es igual a la suma de los pulsos
| |
rectangulares
y/o los pulsos triangulares
.
ii)
title('rec(t/2)')
subplot(2,3,5)
plot(s,pa3), axis([-3 3 -1 3])
title('x(t)=rec(t/2)+rec(t/4)')
grid on
figure(2)%GRAFICA B
pb1=2*x2(s/8);
pb2=x1(s/4);
pb3=pb1.*(pb2)-pb2;
pb4=pb1-pb3;
subplot(2,3,1)
plot(s,pb1), axis([-5 5 -1 3])
title('2*tripulso(t/8)')
grid on
subplot(2,3,2)
plot(s,pb2), axis([-5 5 -1 3])
title('rect(t/4)')
grid on
subplot(2,3,3)
plot(s,pb3), axis([-5 5 -1 3])
title('rect(t/8)*tripulso(t/2)-rect(t/8)')
grid on
subplot(2,3,5)
plot(s,pb4), axis([-5 5 -1 3])
title('x(t)=tripulso(t/8)+rect(t/8)*tripulso(t/2)-rect(t/8)')
grid on
figure(3)%GRAFICA C
pc1=2*x1(s/12);
pc2=2*x1(s/6);
pc3=2*x2(s/6);
pc4=pc1+pc2+pc3;
subplot(2,3,1)
plot(s,pc1), axis([-7 7 -1 7])
title('2*rect(t/12)')
grid on
subplot(2,3,2)
plot(s,pc2), axis([-7 7 -1 7])
title('2*rect(t/6)')
grid on
subplot(2,3,3)
plot(s,pc3), axis([-7 7 -1 7])
title('2*tripulso(t/6)')
grid on
subplot(2,3,5)
plot(s,pc4), axis([-7 7 -1 7])
title('x(t)=2*(rect(t/6)+rect(t/12)+tripulso(t/6))')
grid on
figure(4)%GRAFICA D
pd1=4*x1(s/4);
pd2=2*x2(s/4);
pd3=pd1-pd2;
subplot(2,3,1)
plot(s,pd1), axis([-3 3 -1 5])
title('4*rect(t/4)')
grid on
subplot(2,3,3)
plot(s,pd2), axis([-3 3 -1 5])
title('2*tripulso(t/4)')
grid on
subplot(2,3,5)
plot(s,pd3), axis([-3 3 -1 5])
title('x(t)=4*rect(t/4)-2*tripulso(t/4)')
grid on
figure(5)%GRAFICA E
m=100;
pe1=0;
for i=0:2:m
pe1=pe1+x1(s-(0.5+i));
pe2=x1(s-(0.5));
end
subplot(1,2,1)
plot(s,pe2), axis([-1 6 -1 3])
title('rect(t-0.5)')
grid on
subplot(1,2,2)
plot(s,pe1), axis([-1 6 -1 3])
title('x(t)=rect(t-(0.5+n))')
grid on
GRFICA A
GRFICA B
GRFICA C
GRFICA D
GRFICA E
Ejercicio # 1.2 Obtener la grfica por computadora de una seal de tiempo continuo requiere algo
de cuidado al elegir el incremento de tiempo
(el espacio entre los puntos) Como explicamos en
la seccin 1.1, un incremento muy grande provocar una grfica dentada. Ms an, un incremento
muy grande podra provocar un fenmeno conocido como aliasing o apodamiento, el cual
distorsiona la informacin dada de una seal. Para evitar el aliasing al definir una funcin sinusoide
. Una regla de oro en el caso de una
mediante computadora. Como x(t)=cos(wt+b), elija
es elegir
, se tiene que
Donde podemos ver que el valor mximo que se nos recomienda para usar en los
incrementos de tiempo es de 1.
A continuacin comprobaremos lo anteriormente dicho graficando la seal
para
, con aumentos t de :
,
,
,
Para
xt
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
Codigo fuente
clc
clear all
t=[0:0.1:20]
xt=sin(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
10
t
12
14
16
18
20
Para
Sin (pi*t) Aumentos de 0.5
1
0.8
0.6
0.4
xt
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
10
t
12
14
16
18
20
14
16
18
20
Codigo fuente
clc
clear all
t=[0:0.5:20]
xt=sin(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('Sin (pi*t) Aumentos de 0.5')
hold off
Para
Sin (pi*t) Aumentos de 0.9
1
0.8
0.6
0.4
xt
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
10
t
12
Codigo Fuente
clc
clear all
xt
Para
t=[0:0.9:20]
xt=sin(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('Sin (pi*t) Aumentos de 0.9')
hold off
.
-0.2
-0.4
-0.6
-0.8
-1
10
t
Codigo fuente
clc
clear all
t=[0:1.5:20]
xt=sin(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('Sin (pi*t) Aumentos de 1.5')
hold off
12
14
16
18
20
. Verifique
s
, se tiene que
, por lo
Donde podemos ver que el valor mximo que se nos recomienda para usar en los
incrementos de tiempo es de 0.25
A continuacin comprobaremos lo anteriormente dicho graficando la seal
para
, con aumentos t de :
,
,
.
Para
.
e-0.1tCos(pi*t) Aumentos de 0.1
1
0.8
0.6
0.4
xt
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
10
t
12
14
Codigo fuente
clc
clear all
t=[0:0.1:20]
xt=exp(-0.1*t)*cos(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('e^{-0.1t}Cos(pi*t) Aumentos de 0.1')
hold off
16
18
20
Para
.
e-0.1tCos(pi*t) Aumentos de 0.5
1
0.8
0.6
0.4
xt
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
10
t
12
14
16
18
20
16
18
20
Cdigo Fuente
clc
clear all
t=[0:0.5:20]
xt=exp(-0.1*t)*cos(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('e^{-0.1t}Cos(pi*t) Aumentos de 0.5')
hold off
Para
.
e-0.1tCos(pi*t) Aumentos de 1
1
0.8
0.6
0.4
xt
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
Codigo Fuente
clc
clear all
10
t
12
14
t=[0:1:20]
xt=exp(-0.1)*cos(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('e^{-0.1}Cos(pi*t) Aumentos de 1')
hold off
.
e-0.1tCos(pi*t) Aumentos de 1.5
1
0.8
0.6
0.4
0.2
xt
Para
0
-0.2
-0.4
-0.6
-0.8
10
t
12
14
Codigo Fuente
clc
clear all
t=[0:1.5:20]
xt=exp(-0.1)*cos(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('e^{-0.1}Cos(pi*t) Aumentos de 1.5')
hold off
16
18
20
Para
.
e-0.1tCos(pi*t) Aumentos de 2
1
0.9
0.8
0.7
xt
0.6
0.5
0.4
0.3
0.2
0.1
10
t
12
14
16
18
20
Cdigo Fuente
clc
clear all
t=[0:2:20]
xt=exp(-0.1)*cos(pi*t)
grid on
hold on
plot(t,xt)
xlabel('t')
ylabel('xt')
title('e^{-0.1}Cos(pi*t) Aumentos de 2')
hold off
(
). Verifique
El problema con el aliasing existe no solamente con las grficas, sino tambin con el
procesamiento digital de seales continuas en el tiempo. Un programa de
computadora que emula un sistema de tiempo continuo debe tener una seal de
entrada definida de tal manera que esta tenga el mnimo aliasing.
En referencia al ejercicio 1.2 realice un resumen sobre el fenmeno conocido como
aliasing y relacione con lo aprendido en muestreo. Cite por lo menos 2 ejemplos
prcticos.
Intentamos graficar la funcin
debera usar est dado por:
, se tiene que
, por lo tanto
Donde podemos ver que el valor mximo que se nos recomienda para usar en los
incrementos de tiempo es de 0.61
A continuacin comprobaremos lo anteriormente dicho graficando la seal
para
, con aumentos t de :
,
,
e-tCos((pi/4)*t) Aumentos de 0.1
1.2
0.8
xt
0.6
0.4
0.2
-0.2
Para
10
t
clc
clear all
syms t
x=(exp(-t)*cos((pi/4)*t));
t=[0:0.1:20];
xt=eval(x);
grid on
hold on
plot(t,xt);
xlabel('t')
ylabel('xt')
title('e^{-t}Cos(pi*t) Aumentos de 0.1')
hold off
Para
12
14
16
18
20
0.8
xt
0.6
0.4
0.2
-0.2
10
t
12
14
16
18
20
clc
clear all
syms t
x=(exp(-t)*cos((pi/4)*t));
t=[0:1.2:20];
xt=eval(x);
grid on
hold on
plot(t,xt);
xlabel('t')
ylabel('xt')
title('e^{-t}Cos(pi*t) Aumentos de 1.2')
hold off
Para
e-tCos((pi/4)*t) Aumentos de 3
1.2
0.8
xt
0.6
0.4
0.2
-0.2
10
t
Codigo Fuente
clc
clear all
syms t
x=(exp(-t)*cos((pi/4)*t));
t=[0:3:20];
xt=eval(x);
12
14
16
18
grid on
hold on
plot(t,xt);
xlabel('t')
ylabel('xt')
title('e^{-t}Cos(pi*t) Aumentos de 3')
hold off
Aliasing
Sabemos que una seal continua definida en el tiempo no puede ser de banda limitada. Debido a
que las seales reales son limitadas en el tiempo.
Si se muestrea una seal limitada en el tiempo con un intervalo de muestreo T no importa que tan
pequeo sea este intervalo
Se dice que se produce aliasing cuando se pretende discretizar una funcin continua, y la
frecuencia de muestreo que se usa es inferior a la frecuencia de Nyquist, por lo cual la frecuencia
de muestreo es insuficiente para realizar una correcta reconstruccin de la seal original.
Segn el teorema de Nyquist o de Muestreo cuando se pretende discretizar una seal continua es
necesario que la frecuencia de muestreo sea superior al doble de la mxima frecuencia a
muestrear, para que se pueda realizar una correcta reconstruccin de la seal original
Dnde:
Frecuencia de muestreo
Mxima frecuencia de la seal a discretizar
Ejercicio # 1.5
Utilice MATLAB para graficar las siguientes seales, sobre el intervalo de
[
]
a)
b)
* (
)
+
(
)
GRFICA A
GRFICA B
Ejercicio # 1.9
Utilice un mtodo analtico para determinar si las seales de la (a) a la (f) son peridicas; si
lo son, encuentre el periodo fundamental. Utilice MATLAB para graficar cada seal y
(
[ ]
[ ]
[ ]
LA SEAL ES PERIDICA
LA SEAL ES PERIDICA
LA SEAL NO ES PERIDICA
CDIGO DEL PROGRAMA
GRFICA D
n=0:0.1:4;
x=sin(10*n);
stem(n,x);
title('Grfica 1.9d')
xlabel('n')
ylabel('x[n]')
grid on
La seal no es peridica debido a que consta de un solo periodo en este caso es: 10
Es una seal PERIODICA debido a que consta de un solo periodo en este caso es:
CDIGO DEL PROGRAMA
GRFICA F
Donde:
t : tiempo
n: numero de muestras
T :Periodo de muestreo
El periodo de muestreo se selecciona en base a la frecuencia que se va a discretizar
mediante la siguiente ecuacin
Donde:
: Frecuencia del muestreo
Para seales de audio generalmente se trabaja con una frecuencia de muestreo mxima
de 44100Hz que es con la que se grab la seal del trabajo, por lo tanto el periodo de
muestreo est dado por:
title('Seal x(2t)')
xlabel('t')
ylabel('x(t)')
sound(z,2*Fs)
grid on
figure(4)
plot(s/2)
title('Seal x(0.5t)')
xlabel('t')
ylabel('x(t)')
sound(s,Fs/2)
grid on
figure(5)
plot(s-3)
title('Seal x(t-c)')
xlabel('t')
ylabel('x(t)')
grid on
%Frecuencia maxima
XX=abs(fft(s));
max(XX)
[ ]|
[ ]|
0.015
0.01
y(t)
0.005
-0.005
-0.01
-0.015
5
t
9
4
x 10
Frecuencia Max =
126.9984