Documente Academic
Documente Profesional
Documente Cultură
dx
= Ax + Bu
dt
y = Cx + Du
s +1
H (s ) = 2
s +s+3
H (z ) = 5
(z + 1 + j )(z + 1 j )
(z + 2)(z + 3)
1
1.2 Exemplu de sistem cu o singur intrare i o singur ieire (single-input
single-output: SISO) motorul de c.c.
Unul dintre cele mai simple modele ale unui motor de curent continuu cu sarcin
are ca mrime de ieire viteza unghiular la arbore (t) i ca mrime de intrare
tensiunea aplicat app(t) la bornele motorului. Viteza unghiular poate fi controlat
prin modificarea tensiunii aplicate.
(t ) = K mi(t )
emf (t ) = K b (t )
unde K b este o constant care depinde de anumite proprieti fizice ale motorului.
Partea mecanic a ecuaiilor motorului poate fi modelat utiliznd legea lui
Newton, care afirm c produsul dintre momentul de inerie J i derivata vitezei
unghiulare este egal cu suma tuturor cuplurilor care acioneaz asupra arborelui
motor.
2
d
J = i = K f (t ) + K mi (t )
dt
di
app (t ) emf (t ) = L + Ri(t ) ,
dt
di
app (t ) = L + Ri(t ) + K b (t ) .
dt
di R K 1
= i (t ) b (t ) + app (t ) ,
dt L L L
d 1 1
= K f (t ) + K mi (t ) .
dt J J
R Kb
1
d i L L i + (t )
=
dt K m K f L app
0
J J
i
y (t ) = [0 1] + [0] app (t )
3
R= 2.0 % Ohms
L= 0.5 % Henrys
Km = .015 % torque constant
Kb = .015 % emf constant
Kf = 0.2 % Nms
J= 0.02 % kg.m^2
a =
x1 x2
x1 -4 -0.03
x2 0.75 -10
b =
u1
x1 2
x2 0
c =
x1 x2
y1 0 1
d =
u1
y1 0
sys_tf = tf(sys_dc)
4
Transfer function:
1.5
------------------
s^2 + 14 s + 40.02
sys_zpk = zpk(sys_dc)
Zero/pole/gain:
1.5
-------------------
(s+4.004) (s+9.996)
Observaie. Reprezentarea n spaiul strilor este cea mai potrivit pentru calcule
numerice, i prin urmare este cea recomandat pentru o ct mai mare precizie.
Transfer function:
1.5
------------------
s^2 + 14 s + 40.02
s = tf('s');
sys_tf = 1.5/(s^2+14*s+40.02)
5
Aceste comenzi au ca rezultat obinerea funciei de transfer:
Transfer function:
1.5
--------------------
s^2 + 14 s + 40.02
Zero/pole/gain:
1.5
-------------------
(s+9.996) (s+4.004)
Transfer function:
1.5
exp(-0.05*s) * ------------------
s^2 + 14 s + 40.02
Transfer function:
1
6
-----
z + 1
Sampling time: 0.01
Transfer function:
1
z^(-5) * -----
z + 1
Sampling time: 0.01
get(sys_dc)
a: [2x2 double]
b: [2x1 double]
c: [0 1]
d: 0
e: []
StateName: {2x1 cell}
InternalDelay: [0x1 double]
Ts: 0
InputDelay: 0
OutputDelay: 0
InputName: {''}
OutputName: {''}
InputGroup: [1x1 struct]
7
OutputGroup: [1x1 struct]
Name: ''
Notes: {}
UserData: []
Pentru manipularea datelor dintr-un obiect LTI se poate folosi comanda set;
pentru a vizualiza modul de utilizare se poate folosi comanda help sau Control
System Toolbox online reference.
O alt modalitate de a seta sau de a recupera proprietile unui model LTI const
n accesarea direct a acestuia folosind notaia bazat pe punct (.). De exemplu, dac
se dorete accesarea valorilor matricei A, n locul utilizrii comenzii get, se poate
tasta:
sys_dc.a
ans =
-4.0000 -0.0300
0.7500 -10.0000
Pentru mai multe informaii despre proprietile obiectelor LTI, se poate tasta
ltiprops la prompterul MATLAB.
8
2 Modele ale sistemelor liniare invariante n timp (LTI) multivariabile
(MIMO)
B = [ 0.0073 0
-0.4750 0.0077
0.1530 0.1430
0 0];
C = [0 1 0 0
0 0 0 1];
D = [0 0
0 0];
sys_mimo = ss(A,B,C,D,'statename',states,...
'inputname',inputs,...
'outputname',outputs);
sys_mimo
9
a =
beta yaw roll phi
beta -0.0558 -0.9968 0.0802 0.0415
yaw 0.598 -0.115 -0.0318 0
roll -3.05 0.388 -0.465 0
phi 0 0.0805 1 0
b =
rudder aileron
beta 0.0073 0
yaw -0.475 0.0077
roll 0.153 0.143
phi 0 0
c =
beta yaw roll phi
yaw rate 0 1 0 0
bank angle 0 0 0 1
d =
rudder aileron
yaw rate 0 0
bank angle 0 0
Continuous-time model.
Modelul are dou intrri i dou ieiri. Unitile de msur sunt radiani pentru
beta (unghiul de alunecare - sideslip angle) i phi (bank angle), respectiv radiani/sec
pentru deriv (yaw rate) i ruliu (roll rate). Unghiurile de deflecie pentru crm
(rudder) i eleron (aileron) sunt n grade.
Ca i n cazul SISO, se poate folosi tf pentru obinerea funciei de transfer (care
este o matrice n cazul multivariabil).
tf(sys_mimo)
10
0.0077 s^3 - 0.0005372 s^2 + 0.008688 s + 0.004523
yaw rate: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
s 1
H (s ) = s + 1
s+2
2
s + 4s + 5
sau, echivalent:
s = tf('s')
h11 = (s-1)/(s+1);
h21 = (s+2)/(s^2+4*s+5);
H = [h11; h21]
s 1 s +1
N (s ) = D (s ) = 2
s + 2 s + 4s + 5
s + 2
#2: -------------
s^2 + 4 s + 5
sys_mimo(3,1)
extrage subsistemul, prin maparea primei intrri la ieirea numrul trei. Indicele de
linie selecteaz ieirea i indicele de coloan selecteaz intrarea. n mod similar,
redefinete funcia de transfer ntre prima intrare i cea de-a treia ieire ca un
integrator.
12
2.4 Caracteristici ale modelelor
Pentru investigarea caracteristicilor modelelor create se pot utiliza comenzile
toolbox-ului Control System. Printre caracteristicile modelelor ce pot fi vizualizate se
numr dimensiunea, poli, zerouri, amplificare etc., att pentru modelele continue ct
i discrete, SISO i MIMO. Sintaxa comenzilor este bazat pe obiectele LTI i este
prezentat n continuare.
Comand Descriere
size(model_name) Numrul de intrri i de ieiri
ndims(model_name) Dimensiunea
isct(model_name) Returneaz 1 dac sistemul este continuu
isdt(model_name) Returneaz 1 dac sistemul este discret
hasdelay(model_name) True dac sistemul are ntrzieri
pole(model_name) Polii sistemului
zero(model_name) Zerourile sistemului
dcgain(model_name) Amplificarea de c.c.
norm(model_name) Normele sistemului ( H 2 i L )
covar(model_name,W) Covariana rspunsului la zgomot alb
bandwidth(model_name) Limea de band a rspunsului n frecven
lti/order(model_name) Ordinul modelului LTI
pzmap(model_name) Calculeaz repartiia poli-zerouri a modelelor LTI
damp(model_name) Frecvena natural i amortizarea polilor sistemului
class(model_name) Creeaz un obiect sau returneaz o clas de obiecte
isa(model_name) Determin dac o intrare este obiectul unei clase date
isempty(model_name) Determin dac modelul LTI conine elemente
isproper(model_name) Determin dac modelul LTI este corect
issiso(model_name) Determin dac modelul LTI este SISO
lti/isstable
(model_name) Determin dac sistemul este stabil
reshape(model_name) Modific forma unui tablou LTI
13
3 Conexiuni de sisteme liniare. Conversii de modele. Reducerea ordinului
modelelor
Deoarece Y (s ) = H (s ) U (s ) , obinem:
n
H (s ) = [H i (s )]
i =1
Transfer function:
s^2 + 2 s + 2
-------------
s^2 + 2 s
14
Funcia de transfer echivalent a unei conexiuni serie (de sisteme SISO) se obine
astfel:
Y (s ) = [H n (s ) H n 1 (s )...H 3 (s ) H 2 (s ) H1 (s )] U (s ) = H (s )U (s )
n
H (s ) = [H i (s )]
i =l
Transfer function:
2 s + 2
---------
s^2 + 2 s
Dac operanzii sunt modele de tipuri diferite, modelul rezultat este determinat de
regulile de preceden. Modelele de stare au cea mai mare prioritate, n timp ce
funciile de transfer au cea mai mic prioritate. Prin urmare, suma (conexiunea
paralel) dintre un model de tip funcie de transfer i un model de de stare va fi
ntotdeauna un model de stare.
Alte operaii disponibile n toolbox-ul Control System sunt inversarea sistemelor,
transpunerea, pre-transpunerea (a se vedea biblioteca Arithmetic Operations). De
asemenea, se pot realiza operaiuni matriceale de extragere a subsistemelor
(Extracting and Modifying Subsystems).
Ca alternativ la operaiile de nmulire i adunare, se pot utiliza funciile
series i parallel.
15
Schema bloc a unei conexiuni cu reacie invers (paralel-opus) este urmtoarea:
H (s ) = [I + H 1 (s ) H 2 (s )] H 1 (s )
1
Transfer function:
s + 2
-------------
s^2 + 3 s + 1
16
Figura urmtoare prezint schema bloc a conexiunii cu reacie invers:
Funcia lft poate fi folosit pentru construirea unor structuri cu reacie mai
complicate.
Ts=0.01;
sysd=c2d(sys_dc,Ts)
a =
x1 x2
17
x1 0.96079 -0.00027976
x2 0.006994 0.90484
b =
u1
x1 0.019605
x2 7.1595e-005
c =
x1 x2
y1 0 1
d =
u1
y1 0
fd=zpk(sysd)
Zero/pole/gain:
7.1595e-005 (z+0.9544)
------------------------
(z-0.9608) (z-0.9049)
step(sys_dc,sysd)
18
3.3 Reducerea ordinului modelelor
Reducerea ordinului modelelor SISO i MIMO se poate realiza cu comenzile
prezentate n tabelul urmtor:
Comenzi de reducere a
ordinului modelelor
hsvd Calculeaz valorile singulare Hankel pentru modele LTI
balred Aproximeaz modelele de ordin redus
minreal Realizarea minimal (anularea poli/zerouri)
balreal Calculeaz realizarea balansat intrare/ieire
modred Reducerea strilor n realizarea balansat I/O
sminreal Realizarea minimal structural
19
load ltiexamples
size(gasf)
se obine:
sys35 = gasf(3,5);
pzmap(sys35)
20
Se observ c modelul prezint perechi poli-zerouri apropiate, i prin urmare
acestea sunt candidate pentru realizarea reducerii ordinului modelului. Pentru a g[si
o reducere de ordin a modelului SISO, se parcurg urmtorii pai:
1. Se selecteaz un ordin corespunztor pentru sistemul redus prin examinarea
cantitii relative de energie per stare utiliznd o plotare de tip valoare singular
Hankel (HSV):
hsvd(sys35)
Valorile singulare Hankel mici indic faptul c strile asociate contribuie ntr-o
mic msur la comportamentul intrare/ieire al sistemului. Graficul arat c
reducerea ultimelor 10 variabile de stare (asociate celor mai mici 10 valori singulare
Hankel) are un impact mic asupra erorii de aproximare.
2. Pentru eliminarea ultimelor 10 stri i crearea unei aproximri de ordinul 15, se
folosete comanda:
rsys35 = balred(sys35,15);
bode(sys35,'b',rsys35,'r--')
21
Aa cum se observ din suprapunerea caracteristicilor din figur, modelul redus
ofer o bun aproximare a modelului original.
Pentru reducerea n continuare a ordinului modelului se poate repeta procedura i
se pot elimina mai multe stri. Modelul poate fi redus simultan la ordinele 5, 10, 15
prin utilizarea comenzii
bode(sys35,'b',rsys35,'r--')
hsvd(gasf)
Eliminarea celor 8 stri asociate celor mai mici valori singulare Hankel va avea
un impact mic asupra erorii de aproximare a modelului de ordin redus (orinul 17)
2. Pentru eliminarea ultimelor 7 stri i crearea unei aproximri de ordinul 17
pentru modelul MIMO, se folosete comanda:
rsys=balred(gasf,17);
Se poate folosi size(gasf) pentru a verifica faptul c sistemul redus conine doar
17 variabile de stare.
3. Pentru a facilita inspecia vizual a erorii de aproximare, se poate utiliza o
plotare a valorilor singulare (mai util dect caracteristicile Bode pentru modele
MIMO):
sigma(gasf,'b',gasf-rsys,'r')
Prin aceast comand se traseaz un grafic care compar sistemul original cu cel
redus din punct de vedere al valorilor singulare (eroarea de reducere).
23
Eroarea de reducere este mic n comparaie cu sistemul original, i prin urmare
modelul de ordin redus ofer o bun aproximare a modelului complet.
24