LABORATORIO 2:
SISTEMAS DISCRETOS LINEALES E INVARIANTES EN EL TIEMPO
I.
OBJETIVO
Al finalizar la presente prctica de laboratorio usted podr caracterizar las
propiedades de los Sistemas Discretos Lineales e Invariantes en el Tiempo
(SDLIT), a partir de la obtencin de las caractersticas de los SDLIT a travs de
su respuesta impulsional, introducir la Convolucin como una herramienta
matemtica que permita conocer la respuesta del sistema ante una entrada
arbitraria. Finalmente introducir la operacin de Correlacin Cruzada entre dos
secuencias.
II.
ASPECTOS TERICOS PREVIOS
Los Sistemas Discretos se pueden caracterizar como una transformacin,
T{x[n]}, que modifica la secuencia de entrada x[n] para convertirla en una
secuencia de salida y[n]. Por lo tanto teniendo en cuenta que cualquier
secuencia puede expresarse como una combinacin lineal de impulsos
desplazados, la salida de un Sistema Discreto puede escribirse como:
Donde h[n] es la respuesta impulsiva del sistema (salida del sistema cuando en
la entrada se aplica la secuencia [n]). Al operador * se le denomina
convolucin. De 2.3 se puede concluir que para conocer la respuesta de un
sistema SDLIT ante cualquier entrada se requiere conocer solamente su
respuesta impulsional.
Secuencia x
1
0.5
0
10
12
14
16
18
20
grafica v
1
0.5
0
-30
-20
-10
10
20
30
40
grafica w
1
0.5
0
-45
-40
-35
-30
-20
-15
Convolucion x*v
50
-25
10
20
30
40
50
60
70
80
90
100
Convolucion v*w
40
20
0
10
20
30
40
50
60
70
80
90
Convolucion x*w
40
20
0
10
20
30
40
50
60
70
2.5 CONVOLUCIN
Una interpretacin de la ecuacin 2.3 es suponer que la seal de salida de un
sistema es la suma de las secuencias que se obtienen al introducir
individualmente las muestras que componen la secuencia de entrada. De esta
manera, la muestra de la seal de entrada correspondiente al instante n = k es
x[k][n k] y su salida asociada es x[k]h[n k].
Para comprender esta interpretacin se puede observar el ejemplo de la Fig.
2.1, donde consideramos un sistema SDLIT con respuesta impulsional
h[n] = u[n] u[n 8] y
x[1] = 1,
x[0] = 2,
x[1] = 0.5,
x[2] = 0.5
Ejercicio 2.2
Ejecute el siguiente cdigo y verifique que este es una posible realizacin de la
convolucin en Matlab :
nx = -1:2;
lx = length(nx);
x = [1 2 -0.5 0.5];
nh = 0:7;
lh = length(nh);
h = ones(lh,1);
ly = length(x) + length(h) -1;
ny = nx(1)+nh(1) : nx(lx) +nh(lh);
y = x(1)*[h; zeros(ly-lh,1)] + x(2)*[0; h; zeros(ly-lh-1,1)]+ x(3)*[0;0;h;zeros(lylh-2,1)] + x(4)*[zeros(ly-lh,1); h];
stem(ny, y)
1.En las tres primeras lneas de comandos definimos un vector x con los
valores de la secuencia de entrada, la longitud de dicho vector y los ndices
temporales en los que est definido. El valor del vector x[1] se corresponde con
la muestra x[1] de la secuencia discreta.
2. En las tres lneas siguientes, definimos el vector h, su longitud y los ndices
temporales
en los que est definido.
3. Calculamos la longitud del vector de salida as como sus ndices temporales.
4. Calculamos la convolucin como la suma del producto de cada muestra del
vector x por el vector h adecuadamente desplazado. Ntese que estos
desplazamientos se efectan mediante concatenaciones de ceros al vector h.
5. Finalmente dibujamos el resultado.
Ejercicio 2.3
En este ejercicio vamos a trabajar con la operacin de convolucin
entre secuencias partiendo del primer mtodo de aadir todas las
contribuciones existentes tal como se acaba de explicar.
(a) Vamos a considerar un sistema SDLIT con respuesta impulsional:
h[n] = 0.95n(u[n] u[n 10])
(2.5)
la que se debe excitar con la secuencia de entrada x1[n] que deber
elaborar en un fichero x1.mat y luego cargarlo. Considerar que el
primer elemento de este vector se corresponda con el valor de la
secuencia de entrada en el instante n = 0. Evalu con Matlab, la
secuencia que corresponde a la salida y1[n]. Represente dicha
secuencia prestando especial atencin al etiquetado del eje
horizontal.
x=[1 2 -0.5 0.5];
% Secuencia h[n]=0.95^n(u[n]-u[n-10])
n=0:10;%el intervalo del escalon unitario
h=0.95.^n;%secuencia n
% Convolucion
y=convolucion_inter(x,h);
figure(1);
subplot(3,1,1);
stem(-1:2,x);
title('grafica x');
subplot(3,1,2);
stem(n,h);
title('grafica h');
subplot(3,1,3);
stem(y);
title('Convolucion x*h');
grafica x
2
0
-2
-1
-0.5
0.5
1.5
grafica h
1
0.5
0
10
Convolucion x*h
4
2
0
10
12
14
Secuencia x
2
0
-2
-2
-1.5
-1
-0.5
0.5
Secuencia h
1
0.5
0
10
Convolucion y2
4
2
0
-2
10
12
grafica x
2
0
-2
3.5
4.5
5.5
grafica h
1
0.5
0
10
grafica y3
4
2
0
10
12
14
16
2.5
1.5
0.5
10
12
14
Ejercicio 2.4
Mediante la convolucin grfica de dos secuencias se puede calcular
el valor de la seal de salida en una muestra especfica. Considerar las
secuencias
n
3
u [n]
4
()
3
v [ n]=( )
4
x [n]=
|n|
stem(n,v); grid;
title('grafica v');
subplot(3,1,3);
stem(n1,w); grid;
title('grafica w');
figure(2)
subplot(3,1,1);
grafica x
400
200
0
-20
-15
-10
-5
10
15
20
10
15
20
grafica v
1
0.5
0
-20
-15
-10
-5
0
grafica w
50
0
-50
-30
-20
-10
stem(0:length(y1)-1,y1); grid;
title('Convolucion x*v');
subplot(3,1,2);
stem(0:length(y2)-1,y2); grid;
title('Convolucion v*w');
subplot(3,1,3);
stem(0:length(y3)-1,y3); grid;
title('Convolucion x*w');
10
20
30
Convolucion x*v
1000
500
0
10
20
30
40
50
60
70
80
Convolucion v*w
500
0
-500
10
20
30
40
50
60
70
80
90
100
70
80
90
100
Convolucion x*w
x 10
0
-5
10
20
30
40
50
60
x [ n ]y [ n ]=
x [ k ] y [ nk ]
k=
Sabemos que
Reemplazando
x [ n ]y [ n ]=
( x r [ k ] + j x i [ k ] )( y r [ nk ] + jyi [ nk ] )
k=
x [ n ]y [ n ]=
( x r [ k ] y r [ nk ] + j x r [ k ] y i [ nk ] + j x i [ k ] y r [ nk ] x i [ k ] y i [ nk ] )
k=
x [ n ]y [ n ]=
k=
k=
( x r [ k ] y r [ nk ] xi [ k ] y i [ nk ] ) + i ( x r [ k ] yi [ nk ] + x i [ k ] y r [ nk ] )
Ejercicio 2.6
Utilizando el editor de Matlab, programe una funcin conv_comp.m
cuya cabecera sea:
function [sal_re, sal_im] = conv_comp(ent1,ent2)
y=conv(ent1,ent2);%funcion de convolucion
sal_re=real(y);
sal_im=imag(y);
end
clear all;
clc;
x = [5+7i 5+5i 5 2+3i 8i 1-4i -3+2i];
y = [3+6i 3-7i 4+3i 23+2i 5 10i 10+30i];
[y_real, y_img] = conv_comp (x,y);
subplot(2,1,1);
stem(y_real); grid;
title('Parte Real');
subplot(2,1,2);
stem(y_img); grid;
title('Parte Imaginaria');
Parte Real
200
0
-200
-400
10
12
14
10
12
14
Parte Imaginaria
600
400
200
0
-200
Conclusiones
Aprendimos una herramienta importante como lo es la convolucin asi como
tambin las propiedades que conllevan a la convolucin
Bibliografa
Tratamiento Digital de Seales. John G. Proakis; Dimitris G. Manolakis.
Prentice Hall, 3era Edicin, 2000
Tratamiento de Seales en Tiempo Discreto. Alan. V. Oppenheim y
Ronald. W. Schafer. Prentice Hall, 2da. Edicin, 2000.