Sunteți pe pagina 1din 13

PRACTICA

8
Respuesta temporal,
estabilidad y errores
de sistemas discretos.

Alumnas: Sheila Lpez, Andrea Fernndez, Celia


Gmez
Asignatura: Automtica II
Fecha: 27/11/2016

Antes de comenzar la prctica ejecutaremos las funciones clear all y


close all para borrar las variables existentes y cerrar las pestaas.

Apartado 1
Para el sistema discreto de primer orden con polo positivo que viene dada
por la ecuacin diferencial siguiente:

= 2 + 0.8-1
1.1

Obtenemos la funcin de transferencia del sistema


%Transformamos la ecuacin dada a z.
% Suponemos el periodo de muestreo de 1 segundo
t=0:24;
mz = tf([2 0],[1 -0.8], T)
mz =

1.2

2z
z0.8

Si la entrada al sistema es un impulso unitario


Calculamos la respuesta utilizando la funcin de transferencia y el
trmino general de la trasformada inversa de sta. Adems la
representaremos para las 25 primeras muestras.
% Declaramos la variable z
syms z
mz=2*z/(z-0.8)

% Definimos la entrada y la salida como simblica para el impulso


Xz_imp=1
Yz_imp=mz*Xz_imp
Yz_imp = (2*z)/(z - 4/5)

% Hacemos la transformada inversa


Yk_imp=iztrans(Yz_imp,'k')
Yk_imp = 2*(4/5)^k

% Queremos las 25 primeras muestras, por lo que creamos un vector


cuyos valores sustituiremos en la ecuacin.
vk=1:25;
Yval_imp=subs(Yk_imp,vk)

% Periodo de muestreo que suponemos de 1 segundo


t=0:24;
figure(1)
plot(t,Yval_imp)

% Sale continuo, seria nuestra envolvente de nuestra seal discreta,


para que salga con
muestras utilizaremos el stem.
hold on;
stem(t,Yval_imp)
hold off

1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0

10

15

20

25

1.3 Repetiremos el apartado anterior, pero en este caso,


consideraremos como entrada al sistema un escaln unitario.
% Definimos la entrada y la salida como simblica para el impulso
Xz_esc=(z/(z-1));
Yz_esc=mz*Xz_esc
Yz_esc =(2*z^2)/((z - 1)*(z - 4/5))

% Hacemos la transformada inversa de la respuesta


Yk_esc=iztrans(Yz_esc,'k')
Yk_esc = 10 - 8*(4/5)^k

%Queremos las 25 primeras muestras, por lo que creamos un vector


cuyos valores
sustituiremos en la ecuacin.
vk=1:25;
Yval_esc=subs(Yk_esc,vk)

%Periodo de muestreo que suponemos de 1 segundo


t=0:24;
figure(2)
plot(t,Yval_esc)
hold on;
stem(t,Yval_esc)
hold off

10
9
8
7
6
5
4
3
2
1
0

10

15

20

25

1.4 Ahora, consideraremos como entrada al sistema una rampa


unitaria
% Definimos la entrada y la salida como simblica para el impulso
Xz_ramp=(z/(z-1)^2);
Yz_ramp=mz*Xz_ramp
Yz_ramp = (2*z^2)/((z - 1)^2*(z - 4/5))

% Hacemos la transformada inversa de la respuesta


Yk_ramp=iztrans(Yz_ramp,'k')
Yk_ramp = 10*k + 40*(4/5)^k 40

%Queremos las 25 primeras muestras, por lo que creamos un vector


cuyos valores
sustituiremos en la ecuacin.

vk=1:25;
Yval_ramp=subs(Yk_ramp,vk)

%Periodo de muestreo que suponemos de 1 segundo


t=0:24;
figure(3)
plot(t,Yval_ramp)
hold on;
stem(t,Yval_ramp)
hold off
250

200

150

100

50

10

15

20

25

Apartado 2
En este apartado tenemos otro sistema discreto de primer
orden, pero a diferencia del apartado anterior este tiene un polo
negativo. viene dado por la ecuacin en dif
y k =2 X K 0.8 y k1
Repetimos los mismos apartados propuestos anteriormente.

2.1

Obtenemos la funcin de transferencia del sistema

Al tratarse de un sistema discreto, este depende de una conteste de


tiempo T por lo que habr que introducirla en la ft. La funcin de
transferencia por lo tanto quedara de tal manera.
Mz=(2*z)/(z+0.8)

Mz=

2z
z+0.8

2.2 Calculamos la respuesta del sistema y el termino de la


transformada inversa
%

Mz=

Yz
Xz nuestra respuesta ser

MzX z imp =Yz

Xz2_imp= 1
Yz2_imp=Mz*Xz2_imp

% Al ser un impulso de valor 1 la salida es idntica a la ft.


Yz2_imp=Mz*Xz2_imp
Yz2_imp = (2*z)/(z + 4/5)

% Volviendo al tiempo muestreado Yk calculamos la transformada


inversa
Yk2_imp=iztrans(Yz2_imp,'k')
Yk2_imp = 2*((-4/5))^k

% Obteniendo la transformada inversa. Creamos el vector de las 25


muestras
vk=1:25

% sustituimos los valores del vector en la ecuacin.


Yval2_k=subs(Yk2_imp,vk)

% para mostrarlo en una figura esta funcion dependera del periodo de


muestreo t=0:24 siendo el periodo de muestreo de 1 segundo
figure(4)
hold on

% Para comparar los dos sistemas utilizamos plot para las muestras
en continuo y para las muestras discretas el comando stem
plot(t,Yval2_k)
stem(t,Yval2_k)
hold off

2.3

Repetimos lo mismo para una entrada escaln unitario

% Si la entrada impulso es 1 la del escalon es z/(z-1) por lo que


nuestra entrada ser
Xz2_esc=z/(z-1);

% Hallamos el valor de la salida


Yz2_esc=Mz*Xz2_esc

Yz2_esc =(2*z^2)/((z - 1)*(z + 4/5))

% Hallamos el valor de la transformada inversa


Yk2_esc=iztrans(Yz2_esc,'k')
Yk2_esc =(8*((-4/5))^k)/9 + 10/9

% Obteniendo la transformada inversa. Vamos a dar valor a la k con


una muestra de 25 valores.
vk=1:25
Yval2_kesc=subs(Yk2_esc,vk)

% Comparamos la salida de las muestras en continuo respecto al


sistema discreto quedando una grafica tal que
figure(5)
hold on
plot(t,Yval2_kesc)
stem(t,Yval2_kesc)
hold off

2.4

Repetir apartados 1 y 2 con una rampa unitaria


% Al tratarse de una entrada rampa, debemos de saber que esta
depende del tiempo por lo que damos el valor T
T=1;

% Definimos el valor de la entrada para obtener la salida del sist


Xz2_ramp=z*T/(z-1)^2;

% Calculamos el valor de la salida


Yz2_ramp=Mz*Xz2_ramp

Yz2_ramp = (2*z^2)/((z - 1)^2*(z + 4/5))

% Calculamos la transformada inversa


Yk2_ramp=iztrans(Yz2_ramp,'k')
Yk2_ramp =(10*k)/9 - (40*((-4/5))^k)/81 + 40/81

% vamos a dar valor a la k con una muestra de 25 valores


vk=1:25
Yv_ramp2=subs(Yk2_ramp,vk)

% Para mostrarlo en una figura esta funcion dependera del periodo de


muestreo
siendo el periodo de muestreo de 1 segundo
t=0:24

% Representamos los valores de las muestras en el tiempo

figure(6)
hold on
plot(t,Yv_ramp2)
stem(t,Yv_ramp2)
hold off

Apartado 3
3.1

Calcular un periodo de muestreo T adecuado


gs=tf([6],[1 6])
hs=tf([4],[1 8])
Ms=gs/(1+gs*hs)
figure(7)

step(Ms)
stepinfo(Ms,'RiseTimeLimits',[0,1])

10

RiseTime: 0.2452
SettlingTime: 0.5703
SettlingMin: 0.6664
SettlingMax: 0.6972
Overshoot: 4.5806
Undershoot: 0
Peak: 0.6972
PeakTime: 0.3684

% El tiempo de muestreo ser una tercera parte del tiempo de


subida
tr=0.2452
Ts=round(tr/3,2)
Ts = 0.0800

3.2
Calculamos el sistema discreto equivalente con un mantenedor
de orden cero y un muestreador con periodo de muestreo T.
% Discretizamos por separado la cadena directa y la FTLA.
gz=c2d(gs,Ts,'zoh')
ghz=c2d(gs*hs,Ts,'zoh')
mz=gz/(1+ghz)
mz =

0.3812 z^2 - 0.4369 z

+ 0.1244

-----------------------------------z^3 - 1.711 z^2

+ 1.039 z

- 0.2246

3.3
Comparamos la respuesta al escaln del sistema continuo con
la respuesta del sistema discreto equivalente
figure(8)
step(Ms)
hold on
step(mz)

11

% Calculamos las carecteristicas del sistema


RiseTime: 0.4921
SettlingTime: 0.8590
SettlingMin: 0.4518
SettlingMax: 0.4995
Overshoot: 0
Undershoot: 0
Peak: 0.4995
PeakTime: 1.3739

% Calculamos las caractersticas del sistema discreto


stepinfo(mz)
RiseTime: 0.1600
SettlingTime: 0.6400
SettlingMin: 0.6653
SettlingMax: 0.7218
Overshoot: 8.2704
Undershoot: 0
Peak: 0.7218
PeakTime: 0.3200

3.4
Representamos la seal del error del sistema discretizado y
calculamos su valor en rgimen permanente.

12

error=1/(1+ghz);
figure(9)
step(error)

3.5
Suponemos que introducimos un regulador proporcional a la
salida del comparador y analizamos su estabilidad.
figure(10)
rlocus(gs*hs)

El sistema siempre ese estable.


figure(11)
rlocus(ghz)

13

El sistema en estable para 0<K<18, que es el punto en el cual la circunferencia


unidad corta con la de estabilidad.

S-ar putea să vă placă și