PRCTICAS 2006/2007
PRACTICAS
SEALES Y SISTEMAS
INTRODUCCIN
1.- Realizacin y presentacin de las prcticas
Para entregar las prcticas correctamente deber seguirse el siguiente criterio en
relacin al cdigo escrito y a las grficas generadas:
1. Las prcticas debern entregarse resueltas en el documento .doc adjunto a la direccin
arubio@ceit.es con el Subject 'Prctica 1', 'Prctica2', ... El archivo enviado debe estar
libre de virus, y el incumplimiento de este requisito conlleva el suspenso de la
asignatura.
2. El cdigo debe poder ejecutarse sin errores.
3. En todas las grficas deber aparecer:
- Ttulo (title()).
- Magnitud representada en eje de abscisas y unidades (xlabel()).
- Magnitud representada en eje de ordenadas y unidades (ylabel()).
- Leyenda en caso de representar ms de una seal un una grfica (legend()).
2.- Representacin de seales continuas en Matlab
Como ya es conocido, en Matlab todos los datos numricos se representan mediante
matrices, y por lo tanto las seales se expresarn mediante el uso de vectores. Una de las
diferencias ms importantes que vamos a encontrar con respecto a las seales estudiadas
de forma terica hace referencia a la naturaleza de las funciones que podemos generar. Al
igual que en otros sistemas o herramientas informticas de tratamiento de seal,
nicamente podremos representar seales de longitud o duracin finita, y stas han de ser
discretas. Es decir, nicamente podemos representar una serie de puntos que van a
aproximar la funcin continua que queremos analizar o con la que queremos operar.
La aproximacin a la seal continua ser tanto mejor cuanto mayor sea el nmero de
muestras que seleccionemos para representarla, es decir, cuanto menor sea el intervalo
temporal utilizado para obtener puntos de la seal. A este intervalo temporal lo
denominaremos perodo de muestreo, y a la operacin consistente en discretizar una seal
continua muestrear. El perodo de muestreo elegido debe ser suficientemente pequeo
para que la seal que queremos representar quede perfectamente identificada.
En Matlab, para representar seales en el tiempo, debemos calcular los valores que en
este eje corresponden a cada punto de la seal muestreada utilizando la informacin que
tenemos del intervalo de muestreo. Si queremos representar una seal constante de valor
1 entre 0 y 1 segundo mediante 100 muestras, generaremos 2 vectores, uno para el eje de
-1-
amplitudes y otro para el eje de tiempos. En este caso el intervalo ser de 0.01 segundos.
Los vectores necesarios sern:
x = ones(1,100);
t = [0.01:0.01:1];
plot(t,x);
xlabel('tiempo (seg)');
ylabel('amplitud');
title('Representacin continua de una seal discreta');
Representacin continua de una seal discreta
2
1.8
1.6
1.4
amplitud
1.2
0.8
0.6
0.4
0.2
0.1
0.2
0.3
0.4
0.5
tiempo (seg)
0.6
0.7
0.8
0.9
-2-
amplitud
0.5
-0.5
-1
-1.5
0.01
0.02
0.03
0.04
0.05
0.06
tiempo (seg)
0.07
0.08
0.09
0.1
0.09
0.1
stem([0:0.001:0.08], sin(2*pi*50*[0:0.001:0.08]));
axis([0 0.1 -1.5 1.5]);
xlabel('tiempo (seg)');
ylabel('amplitud');
title('Sinusoide 50 Hz muestreo 0.001 seg');
Sinusoide 50 Hz muestreo 0.001 seg
1.5
amplitud
0.5
-0.5
-1
-1.5
0.01
0.02
0.03
0.04
0.05
0.06
tiempo (seg)
0.07
0.08
-3-
y (t ) = x( t )
1.1.3.- Desplazamiento temporal
y (t ) = x(t T )
1.2.- Seales peridicas
Una seal continua x(t) es peridica si existe un valor T para el cual:
x(t ) = x(t + T )
x[n ] = x[n + N ]
Al valor de T o N ms pequeo lo denominaremos perodo fundamental.
-4-
x(t ) = x( t ) ; x[n] = x[ n]
Y ser impar si cumple:
x(t ) = x( t ) ; x[n] = x[ n]
Toda seal puede ser descompuesta en su parte par y su parte impar de la forma
siguiente:
x(t ) = x p (t ) + xi (t )
donde
1
[x(t ) + x( t )]
2
1
xi (t ) = [x(t ) x( t )]
2
x p (t ) =
1 n = 0
0 n 0
[n] =
n = -4:1:4;
x = zeros(size(n));
x(n==0) = 1;
stem(n,x);
axis([-4 4 -0.5 1.5]);
title('Seal impulso unidad');
xlabel('n (muestras)');
ylabel('x[n]');
-5-
x[n]
0.5
-0.5
-4
-3
-2
-1
0
n (muestras)
-6-
Seal escaln
1.5
x[n]
0.5
-0.5
-4
-3
-2
-1
0
n (muestras)
u[n] =
[k ]
k =
u[n] = [n k ]
k =0
x[n] [n n0 ] = x[n0 ] [n n0 ]
-7-
K u ( )dd 1 L d k 1 =
1 k
t u (t )
k!
Para definir el impulso unidad partimos de un pulso de rea unidad, cuya integral es
una aproximacin del escaln unidad. A medida que hacemos ms estrecho el pulso
manteniendo su rea constante, su integral es una mejor aproximacin del escaln unidad.
En el lmite podemos escribir:
(t ) =
d
u (t )
dt
u (t ) = ( )d
(at ) =
1
(t )
a
La energa total y la potencia media sobre un perodo [t1 ,t 2 ] o [n1 ,n2 ] de una seal
arbitraria se define como:
t2
n2
E = x[n]
E = x(t ) dt
2
n1
t1
P=
t2
1
2
x(t ) dt
t 2 t1 t1
P=
-8-
n2
1
2
x[n]
n2 n1 + 1 n1
1.7.- Sistemas
Un sistema es una relacin matemtica entre una seal de entrada y una seal de
salida.
x(t )
g ()
y (t )
y (t ) = g ( x(t ))
1.7.1.- Interconexiones bsicas
1.7.1.1.- Interconexin serie
1.7.1.2.- Interconexin paralelo
1.7.1.3.- Sistema realimentado
1.7.2.- Propiedades bsicas de los sistemas
1.7.2.1.- Linealidad
Un sistema es lineal si cumple las propiedades de aditividad y homogeneidad, es decir:
f ( 1 x1 (t ) + 2 x2 (t )) = f (1 x1 (t )) + f ( 2 x2 (t )) = 1 f ( x1 (t )) + 2 f ( x2 (t )) = 1 y1 (t ) + 2 y 2 (t )
La propiedad de linealidad se resume en el principio de superposicin: "La respuesta
a la una combinacin lineal de seales de entrada es igual a la combinacin de lineal de
sus correspondientes seales de salida".
1.7.2.2.- Memoria
Se dice que un sistema no tiene memoria si la salida y (t ) en el instante t depende
nicamente de la entrada en ese mismo instante de tiempo. De forma similar, un sistema
tendr memoria si su respuesta en un instante dado depende de valores a la entrada en
otros instantes de tiempo.
1.7.2.3.- Causalidad
Un sistema es causal si su salida en el instante t depende nicamente de valores
anteriores y del valor actual de la entrada. En caso contrario se dice que es un sistema no
causal.
-9-
2.- Enunciados
2.1.- Dibujar las siguientes seales sobre el intervalo 2 t 4 .
2+t
b) x2 (t ) = 2 0.5t
0
a) x1 (t ) = u (t 1)
2t <0
0t <2
resto
f ) x6 (t ) =
2 t
sen(6t )
6t
2
t
sen (intervalo ( 20, 20) )
t
2
Ejemplos:
a) Una posible solucin es:
u = inline('t>=0')
t=-10:0.01:10;
x1 = u(t-1);
plot(t,x1)
axis([-10 10 -0.1 1.1]);
title('Seal 1a');
grid;
xlabel('tiempo (segundos)');
ylabel('x1(t)');
Seal 1a
0.8
x1(t)
0.6
0.4
0.2
-10
-8
-6
-4
-2
0
2
tiempo (segundos)
- 10 -
10
0.8
u(t), u(t-1)
0.6
0.4
0.2
-10
-8
-6
-4
-2
0
2
tiempo (segundos)
10
b) Para resolver este apartado, puede ser conveniente el uso de parntesis lgicos. Por ejemplo, el alumno
puede considerar
fb = inline('(2+t).*(-2<=t).*(t<0) ')
y ampliarla para conseguir la funcin pedida.
Por qu se pone .* en vez de *? Si se pone * funciona fb(3)? Si se pone * funciona fb(0:.1:3)?
- 11 -
t0
a) Dibujar la seal x(t ) en el intervalo ( 2,2) para t 0 = 1, 0.5, 0.1, 0.05, 0.01 sobre la
misma grfica.
b) Calcula el rea de cada una de las seales obtenidas. Puede ser til la funcin
quad.
c) Qu ocurre con x(t ) cuando t 0 0 ?
2.3.- Dibujar las siguientes seales, su parte par e impar, y reconstruir la seal original a
partir de ellas:
a) x1 (t ) = e
t 1
c) x3 (t ) = 3sen(6t )
2 1 t 3
b) x2 (t ) =
resto
0
c) x4 (t ) = 4 cos(2t )
b) x(2 t )
c) x(2t + 1)
d ) x 4
2
e) [x(t ) + x( t )]u (t )
f ) x(t )[ (t + 1) (t 1)]
2.5.- Una forma aproximada de calcular la energa de una seal x(t ) es aproximar el rea
de x 2 (t ) utilizando un intervalo de muestreo muy pequeo. Si, adems, x(t ) es una seal
peridica, podemos calcular su potencia dividiendo la energa de un periodo entre el
periodo.
Dada la seal:
x(t ) = 3
sen(2t )
(t )
t
- 12 -
sen(2t )
?
t
a) x1 (t ) = 3 cos 4t +
3
b) x2 (t ) = Re e j (t 1)
- 13 -
c) x3 (t ) = cos 2 (2t )