UNIVERSIDAD POLITECNICA DE CARTAGENA
etsit
. — ‘ina po
"LECOMUNICACION ingeniera de telecamunicacién
ESCUBLA TECNICA SUPERIOR DE
INGENIERIA DE
Practica 1 de Sistemas Lineales
Grado en Ingenieria en Sistemas de Telecomunicacién
Grado en Ingenieria Telematica
Profesores
Juan Morales, Rafael Verdi, Jorge Larrey
Prélogo
El objetivo de esta prictica es que el alumno se familiarice con la generacién de distintos tipos de
seffales discretas, asi como que conozca las principales transformaciones que puede suftir la variable
independiente.
Las précticas de la asignatura Sistemas Lineales se llevan a cabo en el entomo MATLAB. Para
obtener ayuda sobre cualquier comando en MATLAB, introduzca help nombre del comando.
Funciones utiles para la realizacién de la practica
floor, ceil, round, length, size, find, mod, zeros, ones, rand,
randn, figure, subplot, plot, stem, cos, sin, tan, log, exp, abs,
angle, real, imag, sum
1. Generacién de sejiales discretas
Ejercicio guiado
= Generar la sefial x[n]
x=[0 0 -0.25 -0.5 -0.3 00.2 0.51.1 0.90.50 -0.2001;
= Generar el eje temporal
N=floor (Length (x) /2);
as[-N:N];
= Dibujar fa seital x(n]
stem(n,x,'.')
= Mostrar el valor de fa seital para el instante n=-2
x (find (n==-2))»
UNIVERSIDAD POLITECNICA DE CARTAGENA
[ESCURLA THCNICA SUPERIOR DE = etsit
INGENIERIA DE TELECOMUNICACION: ingenidra de Glenna
- Modificar el valor de la seftal, x{-2]
x (€ind (n==-2))=-0.5;
Problemas
Utilizando las variables creadas en el ejercicio anterior
4"
= Generar la sefial x2[n] = y{n)-x{n]
~ Generar Z[n] = 0.5(x{n]+x2[n])
- Generar la sefial E[n]= x{n}x{n] o Efn]=x{n]
- Generar la sefal yfn
- Calcular la energia y la potencia de x{n]
2. Transformaciones en la variable independiente
Desplazamiento temporal
Como ejemplo de programacién de una funcién en MATLAB, se muestra el eddigo una funcién que
aplica un desplazamiento temporal sobre una secuencia discreta, es decir yln}=x{n-No]
function y=desplazar (x,n0)
ong=length (x) @ Longitud del vector x
if (n0>=0) 4% Si nO es positivo o cero
ye[zeros(1,n0) x(1:1ong-n0) 1; & desplaz. a la derecha
else % Si nO es negative
n0=-n0;
ye[x(1#n0:1eng) zeros (1,n0)1; % desplaz. a la izquierda
end
La funcién tiene como nombre desplazar y recibe dos argumentos, x (el vector a desplazar) y nO
(un escalar que indica el niéimero de muestras a desplazar). La funcién devuetve un solo resultado, ta
secuencia desplazada, y. Para facilitar la visualizacién del vector original y del desplazado, este vector
resultante tendré las mismas dimensiones que el original, es decir, se eliminan parte de los valores una
vex realizado cl desplazamiento hasta que los tamafios coincidan, Por otra parte se afiaden ceros por la
derecha o por la izquierda segiin sea necesario.
Editar el fichero desplazar.m con el editor de MATLAB, que se puede ejecutar desde el menii File->
New-> Mefile. Veclee el cédigo anterior (sin los comentarios) y salvelo en disco con Save.
- Compruebe el correcto funcionamiento de dicha funcién ejecutando las siguientes instrucciones
x = rand(1,21);
n= -10:10;
y = desplazar(x,1);
subplot (2,1,1)
sten(n,x,".")
subplot (2,1,2)
stem(n/y,'.")UNIVERSIDAD POLITECNICA DE CARTAGENA.
etsit
ESCURLA TECNICA SUPERIOR DE -GLolt
INGENTERIA DE TELECOMUNICACION ingenierfa de telecamunicaciin
= Aplique ahora retardos de 3 (3 muestras hacia la derecha) y -2 (2 muestras hacia la izquierda) y
dibuje las gréficas correspondientes comprobando el correcto funcionamiento de forma similar a
la anterior.
Inversion temporal
A continuacién se muestra la funcién invertir.m, que realiza una inversién en el tiempo del vector x,
devolviendo el resultado en y, es decir y[n]=x[-n]. Teclee el cddigo de la funcién y sdlvelo en disco:
function [y,n2]=invertiz(x,n)
ind = Length (x) :-2:1;
y= x(ind); % Abatimos el vactor x
n2 = -n(ind); % Reordenamos 1a variable independiente
~ Utilice las secuencias x1=[1 2 3 4 5 6 7 8 9]; (definida entre n=O y n=8)y x2=[1 -2
3-4 3 -2 11; (definida entre n=-3 y n=3) para calcular sus correspondientes inversiones en
el tiempo y1 e y2, respectivamente.
Qué
= Compruebe mediante representacién grifica si la inversién se ha realizado correctamente.
ocurre con y2?
Compresién
A continuacién se muestra la funcién comprimir.m, que realiza una compresién temporal por un factor
yln]=x{an]. Teclee el cddigo de la funcién y
acN de la secuencia x, devolviéndola en y, es dec
silvelo en disco:
function [y,n2]=comprimiz(x,n,a)
ind = find (mod (n,a)==0) ; % Valores de n miltiplo de a
y= x (indy; 4 Valores de x para n maltiplo de a
a2 = alind)/a; 4 Variable independiente
= Utilice las secuencias del apartado anterior para calcular sus correspondientes compresiones en el
tiempo y1 e y2, respectivamente. Considere distintos valores del factor a.
- Compruebe mediante representacién grafica si la compresién se ha realizado correctamente. ,Qué
cocurre con las dimensiones del vector y con respecto a x?UNIVERSIDAD POLITECNICA DE CARTAGENA
a
ESCUELA TECNICA SUPERIOR DE
3. Sefiales periddicas
Ejercicio guiado
+ Generar la sefial x{n] y el eje temporal
xerandn (1,7);
N=floor (length (x) /2) ;
-NEN] +
- Dibujarla en la parte superior de la pantalla
subplot (2,1,1)
stem(n,x,".")
~ Mostrar la sefial en la ventana [-10,10] (en la parte inferior de ta pantalla)
n2=[-10:10];
40=£ind (n==n2(1)) ;
subplot (2,1,2)
stem(n2,x (i0:i0+Length(n2)-1))
Problemas
- Generar la seital x[n]=co8(x/5-n) en el intervalo [-100:100},
= {Cua es el periodo N de la sefial?
= Mostrar en la parte superior de fa pantalla fa seital en ef intervalo [-10:15]
- Mostrar en la parte inferior de la pantalla la seftal x[n-N] en el intervalo [-10:15]
~ Generar Ia sefal yln]=cos(0.6:n) entre [-100:100}.
=etsit
INGENIERIA DE TELECOMUNICACION Ingenieria de telecomunteacién
Mostrar la seftal y{n] en el intervalo [-10:15] en la parte inferior de la pantalla. {Es "parecida” a la
anterior?
- Crear 2[n]=yin}-y{n-N] y mostrarla en el intervalo [-10:15] ,Es y{n] periédica?=etsit
Sees
ingenierfa de telecomunicacién
4, Exponenciales complejas
Ejercicio guiado
- Crear los nimeros complejos 21=1+)0.5 y Z2=0.6+j0.9
zi-1+0.5*};
22=0.6+0.9*4;
= Fijar los ejes de la pantalla entre —1 y 1.5 para cada eje del plano complejo
cla reset
axis([-1 1.5 -1 1.5])
hold on
~ Dibujar los dos nimeros complejos z1 y 22, y su producto
plot(z1,'b.')
plot(z2,'g.")
plot (z1*z2,'r.')
- Mostrar el médulo y la fase de 21
abs (z1)
angle (z1)
= Generar la sefial xin]= e°'*" entre [-30,30]
n=[-30:30];
xsexp (3*0.1*pitn) ;
= Mostrar en la pantalla la sefial compleja x[n]
plot(x,'.')
- Mostrar en la parte superior de la pantalla la parte real de x{n] y en la inferior la parte imaginaria.
hold off
subplot (2,1,1)
stem(n,real(x),'.')
subplot (2,1,2)
stem(n,imag(x),'.')
Toga Cartel de tntigones, Campus Wi