Documente Academic
Documente Profesional
Documente Cultură
Cuprins
2
1. Sisteme cu durată finită a regimului tranzitoriu
1.1. Caracterizarea sistemelor cu durată finită a regimului tranzitoriu
(SDFRT)
1.1.1. Formularea proprietăţii de durată finită a regimului tranzitoriu (DFRT)
Prin sistem cu durată finită a regimului tranzitoriu (SDFRT) se înţelege un
sistem a cărui evoluţie intră în starea de echilibru după un interval finit de timp, cu
condiţia ca intrarea să fie constantă, oricare ar fi acea valoare constantă a intrării şi
oricare a fost evoluţia anterioară momentului din care intrarea se menţine
constantă. Proprietatea “durată finită a regimului tranzitoriu (DFRT)” este specifică
sistemelor discrete în timp. Sistemele liniare în timp continuu nu au această
proprietate. Există cazuri particulare de sisteme neliniare în timp continuu ce au
proprietatea DFRT.
Pentru concretizare se consideră un sistem discret în timp, cu intrarea şirul de
valori uk ∈U , ieşirea şirul yk ∈ Y şi starea xk ∈ X , descris prin ecuaţiile de stare:
xk +1 = f k ( xk , u k ) , (1.1.1)
Error! Bookmark not defined. yk = g k ( xk , uk ) .
(1.1.2)
Se consideră că pentru k ≥ k0 intrarea este menţinută constantă la o valoare,
notată u e , adică
uk = u e , ∀ k ≥ k0 (1.1.3)
şi că rezultatul evoluţiei anterioare este concentrat în starea xk 0 = x .
0
3
Fig. 1.1.1.
Echivalent, se poate exprima că un sistem discret este SDFRT dacă răspunsul
prin stare şi ieşire la intrare treaptă oarecare şi condiţii iniţiale nenule oarecare,
rămâne constant după un număr finit de paşi.
Numărul finit de paşi în care se atinge regimul de echilibru, definit prin
N = k1 − k0 , (1.1.8)
în general nu este constant. Pentru sistemele liniare el depinde numai de starea
iniţială xk 0 , iar la sistemele neliniare depinde şi de valoarea u e a semnalului
treaptă aplicat.
Sistemul (1.1.1), (1.1.2) poate reprezenta modelul matematic al unui sistem de
reglare în care intrarea uk este mărimea prescrisă a sistemului.
În acest caz, sistemul asigură un răspuns în raport cu mărimea impusă cu
durată finită a regimului tranzitoriu, iar condiţia de eroare staţionară nulă în raport
cu mărimea prescrisă se exprimă, prin relaţia:
y e = u e ⇔ g ( x e , u e ) = u e , ∀u e ∈ U . (1.1.9)
În alte exemple, sistemul (1.1.1), (1.1.2) poate reprezenta modelul matematic
al unui sistem de reglare în care intrarea uk este o perturbaţie aplicată sistemului de
reglare. În acest caz, sistemul asigură un răspuns în raport cu perturbaţia, cu durată
finită a regimului tranzitoriu, iar condiţia de rejecţie a perturbaţiei se exprimă, prin
relaţia:
y e = 0 ⇔ g ( x e , u e ) = 0, ∀u e ∈U . (1.1.10)
În multe probleme de sinteză se impune ca modelul matematic al unui sistem
de conducere în circuit închis, în raport cu mărimea prescrisă sau în raport cu o
perturbaţie, să fie un SDFRT.
Se poate sintetiza legea de conducere din acel sistem astfel încât numărul N de
paşi în care se atinge regimul de echilibru să aibă valoare minimă sau să aibă o
valoare prestabilită.
Sinteza legilor de conducere pentru a asigura o evoluţie în circuit închis cu
DFRT, se poate realiza, la modul general, inclusiv pentru sisteme neliniare sau
sisteme liniare variabile în timp, folosind teoria sistemelor optimale.
4
Pentru sistemele liniare sunt larg utilizate o serie de metode de sinteză simple,
care fac şi obiectul prezentului curs.
Există numeroase exemple de procese, tehnice, economice, biologice în care
condiţia de DFRT este esenţială.
(1.1.12)
Condiţia (1.1.11) presupune existenţa unor stări de echilibru, ce sunt soluţii ale
ecuaţiei algebrice:
xe = f k ( xe , u e ) . (1.1.13)
Condiţia (1.1.12) impune ca starea xk1 în care se ajunge la pasul k1 finit, în
urma evoluţiei cu intrarea uk = u e , k ≥ k0 din starea iniţială oarecare xk 0 = x 0 , să
fie una din stările de echilibru date de (1.1.13).
În cazul unui sistem liniar invariabil în timp discret (SLITD), cu mai multe
intrări şi mai multe ieşiri:
xk +1 = A ⋅ xk + B ⋅ uk , (1.1.14)
yk = C ⋅ xk + D ⋅ uk , (1.1.15)
în care se notează
k0 = 0, k1 = N , (1.1.16)
condiţia (1.1.11) implică existenţa unor soluţii x e , ∀u e ∈U ale ecuaţiei
x e = A ⋅ x e + B ⋅ u e sau ( I − A) ⋅ x e = B ⋅ u e . (1.1.17)
Dacă det ( I − A) ≠ 0 , adică sistemul (1.1.14) nu are caracter integrator, atunci
există o soluţie unică:
x e = (I − A) B ⋅ u e , ∀u e ∈ U .
−1
(1.1.18)
Având în vedere expresia soluţiei unui SLITD,
xk = Ak − k 0 ⋅ xk 0 + ∑ j = k Ak − j −1 ⋅ B ⋅ u j , k ≥ k0 + 1 ,
k −1
(1.1.19)
0
5
x e = A N ⋅ x 0 + ∑ j =0 A N − j −1 ⋅ B ⋅ u j .
N −1
(1.1.20)
z →1
[ −1
]
y e = lim (1 − z −1 ) ⋅ Y ( z ) = H (1) ⋅ u e = C ⋅ (I − A) ⋅ B + D ⋅ u e . (1.1.25)
6
Este posibil ca răspunsul forţat, descris prin funcţii de transfer, să fie de tip
DFRT însă nu şi răspunsul liber.
1.1.3. Exemplu de sistem cu comportare DFRT diferită pentru răspunsul liber
şi cel forţat
Se consideră un sistem discret de forma (1.1.14), (1.1.15), cu o singură intrare
B = b şi o singură ieşire C = cT , D = d , caracterizat prin matricele:
Error! Bookmark not defined.Error! Bookmark not
0.95 0 0 0 2 0.5
defined. A = 2 0 0 0 , b = , c = − 1.2375 , d = [2] .
0 (1.1.27)
0 2 0 0 0 0.6625
0 0 0.5 0 0 − 0.3562
Se calculează polinomul caracteristic,
∆ ( z ) = z 3 ⋅ ( z − 0.95) , (1.1.28)
deci nu îndeplineşte condiţia de DFRT (1.1.22).
Funcţia de transfer a sistemului (1.1.27) este descrisă prin
2( z + 1.823)( z − 0.95)( z − 0.8229)( z − 0.5)
H ( z) = , (1.1.29)
z 3 ( z − 0.95)
adică o funcţie reductibilă cu factorul comun (z - 0.95).
Forma redusă a funcţiei de transfer
2( z + 1.823)( z − 0.8229)( z − 0.5)
H ( z) = (1.1.30)
z3
îndeplineşte condiţia de DFRT (1.1.22).
În Fig. 1.1.2.a sunt reprezentate răspunsul liber ykliber generat de starea iniţială
x0 = [0.01 0.01 0.01 0.01]T şi răspunsul forţat ykfortat determinat de intrarea u e = 1 .
Se observă că răspunsul forţat are caracter DFRT, dar cel liber nu este cu DFRT. În
Fig. 1.1.2.b este reprezentat răspunsul global ykglobal = ykliber + ykfortat .
7
Fig. 1.1.2.
N −1
+ yN ⋅ z − N ⋅ ∑ z −i .
z i =0
Evaluînd și ultima sumă, în condițiile precizate, rezultă:
M ( z) z
Y N ( z ) = N −1 + y N ⋅ z − N ⋅
N
, | z | > 1 = RcY , (1.2.2)
z z −1
8
unde,
M ( z ) = y0 ⋅ z ( N −1) + y1 ⋅ z N − 2 + ⋅ ⋅ ⋅ + y N − 2 ⋅ z1 + y N −1 ⋅ z 0
este un polinom în z de gradul N − 1 , dacă y0 ≠ 0 .
{ } { }
Un şir cu un număr finit de termeni ykN = ykN ,0 , unde yk = y N = 0, ∀k ≥ N ,
definit prin
{y }= {y }
N ,0
k
N
k 0 < k < N −1 = {y0 , y1 ,⋅ ⋅ ⋅, y N − 2 , y N −1} (1.2.3)
are transformata Z
M ( z ) y0 ⋅ z ( N −1) + y1 ⋅ z N − 2 + ⋅ ⋅ ⋅ + y N − 2 ⋅ z1 + y N −1 ⋅ z 0
{ }
Y N ,0 ( z ) = Z ykN ,0 =
z N −1
=
z N −1
, (1.2.4)
9
∑ p b ⋅ zi
{ }
ykp +1,0 k ≥ 0 =Z Y −1
{ p +1, 0
( z) = Z } z
−1
i=0 i
p
= { y0 , y1 ,, y p −1 , y p } =
= {b p , b p−1 , , b1 , b0 } (1.2.10)
cu termenul general
{y k
b
}
p +1, 0
= p−k,
k ≥0
0≤k ≤ p
k ≥ p +1
. (1.2.11)
0,
Într-adevăr, dacă expresia (1.2.8) se interpretează ca şi serie infinită
degenerată (prin împărţire cu z p ), se obţine
Y ( z ) = b p ⋅ z −0 + b p −1 ⋅ z −1 + ⋅ ⋅ ⋅ + b1 ⋅ z − ( p −1) + b0 ⋅ z − ( p ) + 0 ⋅ z − ( p +1) + ⋅ ⋅ ⋅
care, prin interpretarea ei ca şi formulă fundamentală, conduce la (1.2.11).
Expresia (1.2.11) poate fi obţinută şi prin aplicarea formulei de inversiune cu
reziduuri, (2.3.12) pentru care structura polilor în funcţie de parametrul p este dată
de polii familiei de funcţii
M ( z)
Gk ( z ) = Y ( z ) ⋅ z k −1 = p ⋅ z k −1 , z ≠ 0, p ≥ 1, b0 ≠ 0 .
z
Pentru k ≥ p + 1 , funcţia
Gk ( z ) = z k −1− p , z ≠ 0, p ≥ 1, b0 ≠ 0
nu are nici un pol astfel că:
M ( z)
[
yk = ykp +1,0 = Z −1 p = ∑ Rez M ( z ) ⋅ z k −1− p = 0, k ≥ p + 1 . (1.2.12) ]
z Nici un pol
Pentru 0 ≤ k ≤ p , funcţia
M ( z ) ∑i = 0 (bi ⋅ z )
i p
Gk ( z ) = p − k +1 = , z ≠ 0, p ≥ 1, b0 ≠ 0
z z p − k +1
are un pol, z = 0, multiplu de ordinul ( p − k + 1) . Atunci
M ( z) M ( z) 1
yk = Z −1 p =
z Polul z = 0
∑
Rez p ⋅ z k −1 =
z Polul z =0 z
∑
Rez M ( z ) ⋅ p − k +1 .
Se obţine:
( p−k )
1
⋅ [M ( z )]
1 1 ( p−k )
yk = ⋅ z p − k +1 ⋅ M ( z ) ⋅ p − k +1 = z =0 , 0≤k ≤ p,
( p − k )! z ( p − k )!
z =0
sau
( p−k )
1 p 1 p
yk = ⋅ ∑ bi ⋅ z i = ⋅ ∑ bi ⋅ ( z i ) ( p − k ) z =0 = bp − k , 0 ≤ k ≤ p .
( p − k )! i = 0 ( p − k )! i = 0
z =0
Deoarece:
10
0 , i< p−k
i ( p−k )
(z ) = ( p − k ) !, i = p−k (1.2.13)
i! i− p+k
(i − p + k )! ⋅ z , i > p−k
se obține că
i ≠ p−k
( z i ) ( p − k ) z = 0 =
0,
. (1.2.14)
( p − k ) !, i = p−k
Reunind cele două ramuri, pentru k ≥ p + 1 şi 0 ≤ k ≤ p se scrie:
∑ p b z i b , 0≤k ≤ p
−1
yk = Z i p = p − k = ykp +1,0 ,
i
(1.2.15)
z 0, k ≥ p +1
k = 0, y0 = Rez
z =0
z 2 + 4z − 5
3 =
(
1
− )
[ ](3−1) 1
z 2 + 4 z − 5 z =0 = ⋅ 2 = 1
z 3 1 ! 2 !
k = 1, y1 = Rez
z2 + 4z − 5
=
1
[ ] (2 −1) 1
z 2 + 4 z − 5 z =0 = ⋅ 4 = 4
(2 − 1)!
z =0 2
z 1!
k = 2, y2 = Rez
z =0
z 2 + 4z − 5
=
(
1
− )
[ ]
(1−1)
z 2 + 4 z − 5 z =0 = ⋅ (− 5) = (− 5)
1
z 1 1 ! 0 !
[( )
k ≥ 3, yk = Rez z 2 + 4 z − 5 ⋅ z 2 + k +1 = 0 .
Nici un pol
]
2. Sinteza sistemelor numerice folosind metoda dead-beat clasic
11
2.1. Formularea problemei
Se consideră sistemul numeric de reglare convenţională reprezentat în timp
discret în variaţii faţă de un regim staţionar ca în Fig. 2.1.1, unde:
H R ( z ) = K AN K NA ⋅ D( z ) , (2.1.1)
H (s)
G ( z ) = (1 − z −1 ) ⋅ Z F , (2.1.2)
s
{ }
Yp ( z ) = Z H F p ( s) ⋅ P( s) . (2.1.3)
Fig. 2.1.1.
Sinteza după metoda dead-beat clasică presupune determinarea funcţiei de
transfer Z a legii de reglare H R (z ) astfel încât să fie îndeplinite următoarele
performanţe definite, în momentele de eşantionare, pe răspunsul la intrare treaptă
unitate a mărimii impuse:
1
vk = 1, k ≥ 0 ⇔ V ( z ) = . (2.1.4)
1 − z −1
1. Durată finită a regimului tranzitoriu
∃m finit, astfel încât yk = ym , ∀k ≥ m . (2.1.5)
2. Eroare staţionară de poziţie nulă:
yk = vk = 1, k ≥ m ⇔ ε k = vk − yk = 0, k ≥ m ⇒ ε*0∞ = lim ε k = 0 . (2.1.6)
k →∞
3. Mărimea de comandă uk rămâne constantă la atingerea noului regim
stationar:
uk = um , ∀k ≥ m . (2.1.7)
4. Timp minim de răspuns, exprimat prin valoarea minimă a pasului m la care
se atinge noul regim staţionar.
12
B ( z −1 )
G( z) = , (2.2.1)
A( z −1 )
unde:
B( z −1 ) = b1 ⋅ z −1 + ⋅ ⋅ ⋅ + bm ⋅ z − m , (2.2.2)
−1 −1 −m
A( z ) = 1 + a1 ⋅ z + ⋅ ⋅ ⋅ + am ⋅ z . (2.2.3)
Faptul că G(z) este strict proprie, implică
b0 = 0 şi deci y0 = 0 , (2.2.4)
adică valoarea răspunsului yk la pasul iniţial k = 0 este nulă. Ţinând cont de
(2.2.4) şi de (2.1.6), transformata Z a răspunsului trebuie să fie de forma:
[ ]
Y ( z ) = y1 ⋅ z −1 + ⋅ ⋅ ⋅ + ym −1 ⋅ z − (m −1) + ym ⋅ z − m + z − (m +1) + ⋅ ⋅ ⋅ , ym = vm = 1 . (2.2.5)
−1
Termenul din paranteză este o serie geometrică cu raţia z , convergentă
pentru | z | > 1 , astfel că pentru Y (z ) se obţine:
z −m
Y ( z ) = y1 ⋅ z −1 + ⋅ ⋅ ⋅ + ym −1 ⋅ z − (m −1) + . (2.2.6)
1 − z −1
În acelaşi mod se exprimă şi transformata Z a mărimii de comandă:
z −m
U ( z ) = u0 + u1 ⋅ z −1 + ⋅ ⋅ ⋅ + ym−1 ⋅ z −(m−1) + u m ⋅ , | z | >1, (2.2.7)
1 − z −1
în care s-a folosit condiţia (2.1.7).
Dacă referinţa are o variaţie treaptă unitate (2.1.4) atunci,
1
V ( z) = (2.2.8)
1 − z −1
şi funcţia de transfer Z în circuit închis, H v (z ) , este:
Y ( z) z −m
H v ( z) = = (1 − z −1 ) ⋅ y1 z −1 + ⋅ ⋅ ⋅ + ym−1 ⋅ z −(m−1) + . (2.2.9)
V (z ) 1 − z −1
Se vede că H v (z ) se poate exprima prin
H v ( z ) = P ( z −1 ) , (2.2.10)
unde
P( z −1 ) = p1 ⋅ z −1 + p2 ⋅ z −1 + ⋅ ⋅ ⋅ + pm ⋅ z − m (2.2.11)
−1
este un polinom în z ai cărui coeficienţi pk , 1 ≤ k ≤ m , se obţin prin identificare
cu cei din (2.2.9) şi sunt daţi de:
p1 = y1
p2 = y2 − y1
......................
pk = yk − yk −1 (2.2.12)
......................
13
pm = 1 − ym −1 ( pm = ym − ym−1 , dar ym = vm = 1) .
Prin însumarea relaţiilor (2.2.12) se obţine:
∑i
m
pi = P(1) = 1 ⇒ H v (1) = 1 ⇒ ε*0∞ = 0 . (2.2.13)
Se ştie că, eroarea staţionară de poziţie în momentele de eşantionare ε*0∞ este
dată de:
{ }
ε*0∞ = lim(1 − z −1 ) ⋅ E ( z ) = lim (1 − z −1 ) ⋅ [1 − H v ( z )] ⋅ V ( z ) = 1 − H v (1) . (2.2.14)
z →1 z →1
∑q
i =0
i = Q(1) = u m . (2.2.19)
14
U ( z ) = H c ( z ) ⋅ V ( z ) = Q( z −1 ) ⋅ V ( z ) . (2.2.23)
Substituind aceste ultime două relaţii în (2.2.21) se obţine:
H ( z )V ( z ) H v ( z ) P( z −1 )
G( z) = v = = , (2.2.24)
H c ( z )V ( z ) H c ( z ) Q( z −1 )
sau
P( z −1 ) p1 ⋅ z −1 + p2 ⋅ z −2 + ... + pm ⋅ z − m
G( z) = = . (2.2.25)
Q( z −1 ) q0 + q1 ⋅ z −1 + ... + qm ⋅ z − m
Se cunoaşte faptul că factorul de amplificare de poziţie al părţii fixe din
(1.2.1), în momentele de eşantionare, este
lim yk y B(1)
K pF * = lim G ( z ) = k → ∞ = ∞ = , (2.2.26)
z →1 lim uk u∞ A(1)
k →∞
unde se reaminteşte că yk şi uk reprezintă valorile în momentele de timp t = kT
ale mărimilor y(t) şi u F (t ) , care exprimă variaţiile mărimilor fizice y a (t ) = yFa (t )
şi respectiv u Fa (t ) faţă de anumite valori în regim staţionar YFst
a a
, U Fst .
Ieşirea din partea fixă şi deci intrarea în CAN, notată y a (t ) = yFa (t ) , este o
funcţie oarecare de timp cu o reprezentare în variaţii, faţă de o valoare YFst
a
:
y (t ) = y a (t ) − YFst
a
= yFa (t ) − YFst
a
. (2.2.27)
Aceasta determină la ieşirea din CAN, deci la intrarea în legea de reglare, un
şir de numere a cărui reprezentare în variaţii este:
yk = y (kT ) = y a (kT ) − YFst
a
= yFa (kT ) − YFst
a
. (2.2.28)
Ieşirea din CNA şi deci intrarea în partea fixă, notată u Fa (t ) , este o funcţie de
timp constantă pe porţiuni (în ipoteza utilizării unui extrapolator de ordinul zero la
CNA) a cărei reprezentare în variaţii, faţă de o valoare U Fst
a
, este:
u F (t ) = u Fa (t ) − U Fst
a
. (2.2.29)
Expresia în timp a acestei variabile în variaţii u F (t ) este:
u F (t ) = u Fst
a
(t ) − U Fst
a
= uk −1 , ∀t ∈ ((k − 1)T , kT ]
(2.2.30)
dependentă de şirul de numere uk , care apare la ieşirea legii numerice de reglare
considerată în variaţii.
Algoritmul numeric de conducere, implementat prin program, generează de
fapt un şir de numere exprimat la ieşirea CNA printr-o variabilă uka .
Această variabilă este reprezentată în variaţii faţă de o valoare de bias
echivalentă la ieşirea CNA, U bias = K NAW bias , prin şirul uk , definit prin
15
uk = uka − U bias . (2.2.31)
Faptul că intervalul de timp din (2.2.30) este închis la dreapta, asigură pentru
t = kT , valorile
u F (t ) t = kT = u F (kT ) = u Fst
a
− U Fst
a
= uk −1 , (2.2.32)
adică, se confirmă afirmaţia de mai sus, cum că uk −1 reprezintă valoarea mărimii
uF(t) în momentul t = kT .
În cazul de faţă, ţinând cont de (2.2.25),
P (1) 1
K pF * = G (1) = = , (2.2.33)
Q(1) um
în care s-au folosit condiţiile (2.2.13) şi (2.2.19).
Ultima valoare a mărimii de comandă um aplicată de legea de reglare este
deci,
m
1 1
um = F ∗ = = Q(1) = ∑ qi . (2.2.34)
Kp G (1) i =0
18
Pentru intrare treaptă unitate, din (2.2.18) sau din (2.2.54) se obţine
succesiunea comenzilor aplicate de către legea de reglare, date de:
u0 = q0 u0 = a0′
u1 = u 0 + q1 = q0 + q1 u1 = a0′ + a1′
u2 = u1 + q2 = q0 + q1 + q2 u 2 = a0′ + a1′ + a2′
.......................... .......................... (2.2.55)
uk = uk −1 + qk = q0 + q1 + ... + qk −1 + qk uk = a0′ + a1′ + ... + ak′ −1 + ak′
.......................... ..........................
um = um −1 + qm = q0 + q1 + ... + qm −1 + qm um = a0′ + a1′ + ... + am′ −1 + am′
unde: u0 înseamnă prima comandă aplicată, u1 înseamnă a doua comandă aplicată,
... , um înseamnă ultima comandă aplicată, dacă mărimea impusă are o variaţie
treaptă unitate aplicată la momentul k = 0 şi sistemul se află în regim staţionar cu
starea nulă.
Această comportare este asigurată numai dacă comenzile uk nu depăşesc
anumite valori limită care menţin valabilă descrierea prin modele liniare.
19
1
−1 ⋅ (1 − λ ⋅ z −1 )
q ⋅ A( z ) K1 ⋅ (1 − λ)
H R ( z) = 0 −1
= , sau
1 − q0 ⋅ B ( z ) 1 − 1 −1
⋅ [ K1 ⋅ (1 − λ ) ⋅ z ]
K1 ⋅ (1 − λ)
1
⋅ (1 − λ ⋅ z −1 )
K1 ⋅ (1 − λ) q0 ⋅ (1 − λ ⋅ z −1 ) q0 ⋅ ( z − λ)
H R ( z) = = = . (2.2.62)
1 − z −1 1 − z −1 z −1
Se observă că legea de reglare are un pol z = 1, deci are caracter integrator,
care de fapt garantează că eroarea staţionară de poziţie este nulă în momentele de
eşantionare, adică este îndeplinită condiţia (2.1.4).
Dacă factorii de conversie AN şi NA sunt respectiv KAN, KNA, algoritmul
numeric de reglare ANRA este este dat de
1 W ( z ) C ⋅ (1 − λ ⋅ z −1 )
D( z ) = ⋅ H R ( z ) := N = , (2.2.63)
K AN ⋅K NA E ( z) 1 − z −1
unde s-a notat
q0
C= . (2.2.64)
K AN ⋅ K NA
Transformata Z a mărimii de comandă numerică este:
C ⋅ (1 − λ ⋅ z −1 ) N
W ( z) = ⋅ E ( z) , (2.2.65)
1 − z −1
care, în domeniul timp, conduce la relaţia recursivă de implementare a ANRA dată
de:
wk = wk −1 + C ⋅ ε kN − λ ⋅ C ⋅ ε kN−1 . (2.2.66)
Programul de implementare:
Dacă initializare,
Read C, λ, W, E1
Altfel, la fiecare pas
Read V, Y
E=V-Y
W = W + C * (E - λ * E1)
E1 = E
Write W
Din (2.2.61) se observă că valoarea primei comenzi aplicate u0 (în cazul
sistemului de ordinul întâi aceasta este şi ultima) este puternic dependentă de
valoarea perioadei de eşantionare.
Se poate reprezenta grafic valoarea produsului K1u0 în funcţie de raportul
x = T / T1 , ca în Fig. 2.2.
20
1 1 T
K1 ⋅ u0 = = −x
,x= (2.2.67)
(1 − λ) (1 − e ) T1
Fig. 2.2.
22
Ca urmare a variaţiei treaptă unitate a mărimii prescrise, din (2.2.55) se
calculează prima comandă aplicată, dată de
1
u0 = a0′ = q0 ⋅ a0 = q0 ⋅1 = = 0.366 ,
K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 )
iar a doua comandă, care este şi ultima, va fi:
1 − (λ1 + λ 2 )
u1 = a0′ + a1′ = q0 ⋅ a0 + q0 ⋅ a1 = q0 ⋅ (1 + a1 ) = ,
K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 )
u1 = 0.366 ⋅ (1 − 0.503) = 0.1819 .
Ambele comenzi au valori subunitare şi de acelaşi semn.
Dacă însă perioada de eşantionare este de 5 ori mai mică, T = 0.1 sec, atunci
T 0.5
− −
λ1 = e T1
=e 1 = 0.9048374... ≈ 0.905 ,
T 1
− −
λ2 = e T2
=
= 0.818730... ≈ 0.819 ,
e .5
0
1 1 1
q0 = = = = 11.59416 ,
B (1) K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 ) 0.08625
u0 = 11.59416 ,
u1 = q0 ⋅ [1 − (λ1 + λ 2 )] = −8.389172 .
În acest caz, pe lângă faptul că ambele comenzi sunt supraunitare în modul, au
şi semne diferite. Pentru ca o instalaţie cu constante de timp de ordinul secundelor
să atingă regimul staţionar în 2 zecimi de secundă evident sunt necesare comenzi
de valori mari.
Step Response
1
0.8
0.6
Amplitude
0.4
0.2
0
0 0.5 1 1.5
Time (sec)
2.3. Metoda dead-beat clasic pentru sisteme cu timp mort
2.3.1. Forma discretă a funcţiei de transfer a părţii fixe cu timp mort
23
Dacă partea fixă a sistemului are un timp mort τ , echivalat la intrare sau la
ieşire, şi este descrisă prin funcţia de transfer
H Fτ ( s ) = H F ( s ) ⋅ e − τ⋅ s , (2.3.1)
iar timpul mort se află faţă de perioada de eşantionare T în relaţia:
τ = ( N + 1) ⋅ T − α ⋅ T , α ∈ (0, 1], N ∈ℵ , (2.3.2)
atunci funcţia de transfer discretă a părţii fixe comandată prin extrapolator de
ordinul zero, este
H τ ( s) M ( z , α) B( z −1 )
G ( z ) = (1 − z −1 ) ⋅ Z F = z − ( N +1) ⋅ G = z−N ⋅ , (2.3.3)
s LG ( z , α) A( z −1 )
unde M G ( z , α) şi LG ( z , α) sunt polinoame în z de acelaşi grad, dacă α ∈ (0, 1) .
Pentru α = 1 şi H F (s ) strict proprie, atunci grd {M G } < grd {LG } ,
unde:
B( z −1 ) = b1 ⋅ z −1 + ... + bm ⋅ z − m , (2.3.4)
A( z −1 ) = 1 + a1 ⋅ z −1 + ... + am ⋅ z − m . (2.3.5)
~ = m + N , b~ = 0, 0≤i≤ N
m ~ (2.3.8)
N +1 ≤ i ≤ m
i
bi − N ,
~
m
~ −1
A( z ) = A( z ) = 1 + a1 z + ... + am z = ∑ a~i ⋅ z − i
−1 −1 −m
(2.3.9)
i =1
~ = m + N , a~ = ai , 0≤i≤m ~
m i
+ ≤ ≤ ~ , a0 = a0 = 1 . (2.3.10)
0 , m 1 i m
Polinoamele (2.3.7), (2.3.9) au forma polinoamelor (2.2.2), (2.2.3) în care, în
loc de m apare m~ , astfel că se pot considera condiţiile (2.1.4)÷(2.1.7) cu m
~ în loc
de m pentru care sunt valabile toate relaţiile (2.2.4)÷(2.2.55), dar în care fiecărei
mărimi i se ataşează semnul ~ .
Folosind (2.3.7), (2.3.9), legea de reglare (2.2.42) devine
24
~
q~0 ⋅ A( z −1 ) q0 ⋅ A( z −1 )
H R ( z) = ~ = , (2.3.11)
1 − q~0 ⋅ B ( z −1 ) 1 − q0 ⋅ z − N ⋅ B ( z −1 )
deoarece
1 1 1 1
q~0 = ~ = − N = = = q0 . (2.3.12)
B (1) 1 ⋅ B(1) B(1) b1 + ... + bm
De asemenea, din (2.2.54), comanda la pasul k este dată de media
alunecătoare,
~
m
u k = ∑ a~i′ ⋅ vk −i = a0′ ⋅ vk + a1′ ⋅ vk −1 + a2′ ⋅ vk −2 + ... + am′ ⋅ vk −m (2.3.13)
i =0
deoarece,
a′ = ai / q0 , 0≤i≤m
a~i′ = i ~ =m+ N . (2.3.14)
0, m +1 ≤ i ≤ m
26
B ( z −1 )
G( z) = , cu (2.4.1)
A( z −1 )
B( z −1 ) = b1 ⋅ z −1 + ... + bm ⋅ z − m , b0 = 0 ⇒ y0 = 0 , (2.4.2)
−1 −1 −m
A( z ) = 1 + a1 ⋅ z + ... + am ⋅ z , a0 = 1 . (2.4.3)
Pentru variaţia treaptă a mărimii prescrise
1
vk = 1, k ≥ 0 pentru care V ( z ) = , (2.4.4)
1 − z −1
se impun performanţele:
1. Durată finită a regimului tranzitoriu
∃ m finit , yk = ym +1 , ∀k ≥ m + 1 . (2.4.5)
2. Eroare staţionară nulă
yk = vk = 1, k ≥ m + 1 ⇔ ε k = vk − yk = 0, k ≥ m + 1 ⇒
ε*0∞ = lim ε k = 0 . (2.4.6)
k →∞
3. Mărimea de comandă rămâne constantă la atingerea noului regim stationar
uk = um +1 , ∀k ≥ m + 1 . (2.4.7)
4. Timp minim de răspuns, exprimat prin valoarea minimă a pasului m + 1 la
care se atinge noul regim staţionar.
Din condiţia 1, şi deoarece s-a presupus b0 = 0 ⇒ y0 = 0 , transformata Z a
mărimii de ieşire în circuit închis pentru intrarea (2.4.4) este de forma:
Y ( z ) = y1 z −1 + y2 z −2 + ... + ym −1 z − ( m −1) + ym z − ( m ) + ym +1 ⋅ [ z − ( m +1) + z − ( m + 2) + ...] cu
y m +1 = v m +1 = 1 , (2.4.8)
astfel că, funcţia de transfer z în circuit închis, este
Y ( z) z − ( m +1)
H v ( z) = = (1 − z −1 ) ⋅ y1 z −1 + ... + ym −1 z − ( m −1) + ym z − m + −1
= P ( z −1 ) ,
V (Z ) 1 − z
adică un polinom P ( z −1 ) , de gradul m + 1 , în z −1 , unde:
P ( z −1 ) = p1 ⋅ z −1 + p2 ⋅ z −2 + pm ⋅ z − m + p m +1z − ( m +1) , cu (2.4.9)
p1 = y1 ,
pk = yk − yk −1 , 2 ≤ k ≤ m , (2.4.10)
p m +1 = 1 − y m . ( pm +1 = ym +1 − ym , dar ym +1 = vm +1 = 1) .
Prin însumare se obţine:
m +1
∑ pi = P(1) = 1 ⇔ H v (1) = 1 ⇔ ε*0∞ = 0 . (2.4.11)
i =1
28
qm +1 = − qm′ . (2.4.25)
Identitatea (2.4.18) ce asigură performanţele impuse, se exprimă pentru
α − z −1 ≠ 0, q0′ ≠ 0 în mod echivalent prin:
B( z −1 ) P′( z −1 ) ⋅ (α − z −1 ) B( z −1 ) P′( z −1 ) q0′ ⋅ B( z −1 ) P′( z −1 )
≡ ⇔ ≡ ⇔ ≡ . (2.4.26)
A( z −1 ) Q′( z −1 ) ⋅ (α − z −1 ) A( z −1 ) Q′( z −1 ) q0′ ⋅ A( z −1 ) Q′( z −1 )
O condiţie suficientă, pentru ca (2.4.18) să aibă loc, este ca să fie simultan
îndeplinite identităţile:
P′( z −1 ) = q0′ ⋅ B ( z −1 ) , (2.4.27)
−1 −1
Q′( z ) = q0′ ⋅ A( z ) . (2.4.28)
−1
În aceste condiţii, cu (2.4.27), polinomul P ( z ) din (2.4.18) devine:
P( z −1 ) = q0′ ⋅ B( z −1 ) ⋅ (α − z −1 ) . (2.4.29)
Înlocuind z = 1 în (2.4.29), şi ţinând cont de condiţia (2.4.11), pentru α ≠ 1 ,
rezultă:
1
q0′ = , (2.4.30)
B(1) ⋅ (α − 1)
astfel că, folosind (2.4.17) şi (2.4.23) se obţine
u 1 uˆ
q0′ = 0 = = 0, (2.4.31)
α B (1) ⋅ (α − 1) α
de unde se deduce expresia valorii primei comenzi aplicate, ca o funcţie de
parametrul liber α , astfel:
α
u0 = . (2.4.32)
B(1) ⋅ (α − 1)
Invers, dacă în (2.4.32) se impune o valoare dorită u0 = û0 , se obţine valoarea
parametrului α :
uˆ ⋅ B(1)
α= 0 . (2.4.33)
uˆ0 ⋅ B(1) − 1
Conform celor prezentate în (2.2.40), (2.2.41), legea discretă de reglare este:
1 H v ( z) A( z −1 ) P( z −1 )
H R ( z) = ⋅ = ⋅ , (2.4.34)
G ( z ) 1 − H v ( z ) B( z −1 ) 1 − P( z −1 )
care, ţinând cont de (2.4.19), în care se substituie (2.4.27), devine:
A( z −1 ) P′( z −1 ) ⋅ (α − z −1 ) A( z −1 ) q0′ ⋅ B( z −1 ) ⋅ (α − z −1 )
H R ( z) = ⋅ = ⋅ .
B( z ) 1 − P′( z ) ⋅ (α − z ) B( z −1 ) 1 − q0′ ⋅ B( z −1 ) ⋅ (α − z −1 )
−1 −1 −1
29
În final, după simplificare şi substituirea expresiei (2.4.31), se deduce:
uˆ0
⋅ A( z −1 ) ⋅ (α − z −1 )
H R ( z) = α . (2.4.35)
uˆ
1 − 0 ⋅ B( z −1 ) ⋅ (α − z −1 )
α
Folosind şi condiţia (2.4.33) se exprimă direct legea discretă de reglare în
funcţie de valoarea dorită a primei comenzi u0:
1 uˆ ⋅ B (1)
uˆ0 − ⋅ A( z −1 ) ⋅ 0 − z −1
H R ( z) =
B (1) uˆ0 ⋅ B (1) − 1 . (2.4.36)
1 −1 u ˆ0 ⋅ B (1) −1
1 − uˆ0 − ⋅ B ( z ) ⋅ − z
B (1) uˆ0 ⋅ B (1) − 1
Deci, pentru sinteza, în această variantă, a legii de reglare, pentru sistemul cu
structura din Fig. 2.1, se dau funcţia de transfer H F (s ) , perioada de eşantionare T
şi valoarea dorită û0 a primei comenzi. Se calculează, folosind (2.1.2),
polinoamele A( z −1 ) , B ( z −1 ) şi parametrul α din (2.4.33) care se substituie în
(2.4.36).
32
~
B( z −1 ) B ( z −1 )
G( z) = z − N ⋅ = ~ (2.4.61)
A( z −1 ) A( z −1 )
şi se obţine:
uˆ0
⋅ A( z −1 ) ⋅ (α − z −1 )
H R ( z) = α , (2.4.62)
uˆ0 −1 −1
1 − ⋅ B ( z ) ⋅ (α − z )
α
unde
uˆ0 ⋅ B(1)
α= . (2.4.63)
uˆ0 ⋅ B(1) − 1
33
[
x(kT ) = x1 (kT ) ... x i (kT ) ... x n (kT ) ]
T
[
= xk = x1k ... xki ... xkn ]
T
. (3.1.6)
Această structură de conducere este ilustrată în Fig. 3.1.1 şi exprimă modelul
în timp continuu al sistemului în circuit închis.
Fig. 3.1.1.
Se consideră că sistemul de conducere cu calculator de proces primeşte
informaţii despre starea instalaţiei conduse x(t ) având câte un traductor, cu
factorul KTri , pentru fiecare componentă x i (t ) a vectorului de stare.
Aceste informaţii sunt convertite numeric, cu un acelaşi factor de conversie
analog-numerică KAN pentru fiecare componentă a vectorului de stare x i (t ) , în
variabilele numerice X i , i = 1, 2,, n , memorate la pasul k, astfel:
X i = K AN ⋅ KTri ⋅ x i (kT ) , i = 1, ... , n . (3.1.7)
La fiecare pas k se calculează suma valorilor X i ponderată prin n coeficienţi
d i , i = 1, 2,, n , sub forma:
U = d1 ⋅ X 1 + ... + d i X i + d n X n . (3.1.8)
Valoarea numerică U este convertită, prin factorul de conversie numeric-
analogică KNA, într-o mărime, tensiune sau curent, uk, ca şi intrarea u în procesul
condus,
uk = K NA ⋅ U , (3.1.9)
care se menţine constantă pe un interval de timp T conform (3.1.4).
Procedura descrisă mai sus este ilustrată în schema bloc din Fig. 3.1.2.
34
Fig. 3.1.2.
( )
n
uk = K NA d T K AN KT r x(kT ) = ∑ K NA d i K AN
i
KTri x i (kT ) (3.1.12)
i =1
hT = K NA ⋅ d T ⋅ K AN ⋅ KT r (3.1.14)
hT = [h1 h2 ... hi ... hn−1 hn ] (3.1.15)
cu
hi = K NA ⋅ d i ⋅ K AN
i
⋅ KTri , (3.1.16)
mărimea de comandă se scrie sub forma:
uk = hT ⋅ x(kT ) = hT ⋅ xk , sau (3.1.17)
n
uk = ∑ hi ⋅ x i (kT ) = h1 ⋅ x1k + h2 ⋅ xk2 + ... + hi ⋅ xki + ... + hn ⋅ xkn . (3.1.18)
i =1
Aceste relaţii echivalente stau la baza reprezentării schemei bloc din Fig.
3.1.1.
35
Un program de calculator care execută procedura de mai sus, fără a prezenta
condiţiile de iniţializare, poate fi de forma:
FOR i =1, n
Citeste Xi
END
U = d1*X1+d2*X2+...+dn*Xn
Scrie U
Se observă că în acest program se implementează numai coeficienţii d i ,
ceilalţi parametri, K AN , K NA , KTr , nu apar explicit în programul de calculator, dar
trebuie să se ţină cont de ei.
Schemele bloc din Fig. 3.1.1 şi Fig. 3.1.2 evidenţiază modelele în timp
continuu.
Putem însă pune în evidenţă şirurile de numere uk şi xk astfel că sistemul de
conducere în circuit închis apare ca un sistem pur discret în timp ca în Fig. 3.1.3.
Fig. 3.1.3.
Această formă pur discretă este posibilă deoarece în procesul de conducere se
folosesc numai valorile xk = x(kT ) ale vectorului de stare şi din punct de vedere
fizic intrarea sistemului continual este o mărime constantă pe porţiuni:
u (t ) = uk , t ∈ (kT , (k + 1)] . (3.1.19)
Modelul discret al părţii continuale este exact, adică valorile şirului xk
reprezintă valorile x(kT ) ale sistemului continuu fără nici o aproximaţie.
În Fig. 3.1.4 se ilustrează modul de încorporare în partea ce se discretizează a
elementelor din structura continuală prezentate în Fig. 3.1.2.
Este bine cunoscut modelul discretizat al unui sistem continual liniar (3.1.1)
cu intrări constante pe porţiuni, obţinut cu ajutorul matricei de tranziţie:
xk +1 = Φ (T ) ⋅ xk + g (T ) ⋅ uk . (3.1.20)
În acest scop se calculează matricea de tranziţie Φ(t) cu relaţia:
{ }
Φ (t ) = L−1 ( sI − A) −1 = L−1{Φ ( s )} = e At (3.1.21)
36
sau, folosind diagrama de stare, se evaluează componentele Φ ij (s ) ale
transformatei Laplace Φ (s ) a matricei de tranziţie:
Fig. 3.1.4.
X i ( s)
Φ ij ( s ) = , (3.1.22)
x j (0) x k ( 0) = 0, k ≠ j , U ( s ) = 0
din care se deduc componentele în domeniul timp:
{
Φ ij (t ) = L−1 Φ ij ( s ) . } (3.1.23)
În ecuaţia de stare (3.1.20) matricele sunt:
Φ (T ) = e AT = Φ , (3.1.24)
T
g (T ) = ∫ e A(T − τ) b dτ = g . (3.1.25)
0
40
Din această cauză, în continuare se va considera numai evoluţia către originea
spaţiului stărilor.
[ ]
g = A−1 ⋅ e AT − I ⋅ b , dacă det A ≠ 0 , (3.3.4)
adică un sistem pur discret de ordinul n,
xk +1 = Φ ⋅ xk + g ⋅ uk , cu det Φ ≠ 0 (3.3.5)
în care mărimea de comandă uk este un scalar, iar xk este un vector coloană n-
dimensional din spaţiul stărilor notat X:
[
xk = x1k , ... , xkj , ... , xkn ] T
∈ X = ℜn , (3.3.6)
vectorul g este un vector coloană n-dimensional
[
g = g 1 , ... , g j , ... , g n ] T
∈ ℜn , (3.3.7)
iar matricea Φ este o matrice reală (n × n) .
Notăm
Φ (−T ) = Φ −1 (T ) = Φ −1 (3.3.8)
şi definim vectorii coloană n-dimensionali
si = Φ −i g , i ≥ 0 , (3.3.9)
si = [ ]
si1 , ... , sij , ... , sin
T
∈ X = ℜn
numiţi şi vectorii de controlabilitate, în care
s0 = g (3.3.10)
şi are loc relaţia recursivă
Φ ⋅ si = si −1 . (3.3.11)
41
Se poate demonstra că sistemul poate fi condus în originea spaţiului stărilor
într-un număr mininim de paşi p = n, unde n este ordinul sistemului continual, dacă
şi numai dacă vectorii s1, s2, ...., sn sunt liniari independenţi, cu alte cuvinte
sistemul este controlabil în n paşi, dacă şi numai dacă matricea de controlabilitate
S, alcătuită din vectorii coloană si , i = 1, 2,, n ,
S = [s1 ... si ... sn ] (3.3.12)
are rang maxim.
Pe componente, matricea S se scrie,
s11 ... si1 ... s1n
... ... ... ... ...
S = s1j ... si j ... snj (3.3.13)
... ... ... ... ...
s1n ... sin ... snn
Notăm prin
s1 , s2 , ... , s p = {si } 1≤i≤ p (3.3.14)
p-familia de vectori de controlabilitate daţi de (3.3.9), iar prin
S ( s1 , ... , s p ) ⊆ X = ℜ n (3.3.15)
notăm subspaţiul liniar generat de aceşti vectori,
{
S ( s1 ,..., s p ) = x ∈ X , x = γ1s1 + γ 2 s2 + ... + γ p s p } (3.3.16)
p
S ( s1 ,..., s p ) = x ∈ X , x = ∑ γ i ⋅ si
i =0
unde γ , γ , ... , γ sunt p valori scalare care exprimă componentele vectorului x în
1 2 p
45
Φ n = α1 ⋅ Φ n−1 + α 2 ⋅ Φ n−2 + ... + α n−1 ⋅ Φ + α n ⋅ I .
Deoarece det(Φ ) ≠ 0 avem,
I = α1 ⋅ Φ −1 + α 2 ⋅ Φ −2 + ... + α n −1 ⋅ Φ − ( n −1) + α n ⋅ Φ − n , (3.3.34)
[ ]
deci, xk +1 = δ k ⋅ α1 ⋅ Φ −1 + α 2 ⋅ Φ − 2 + ... + α n −1 ⋅ Φ − ( n −1) + α n ⋅ Φ − n ⋅ g sau
xk +1 = δ k ⋅ α1 ⋅ s1 + δ k ⋅ α 2 ⋅ s2 + ... + δ k ⋅ α n −1 ⋅ sn ≠ 0 .
Din această analiză se extrag următoarele observaţii:
1. Originea spaţiului stărilor poate fi atinsă într-un pas dacă ultima stare xk
înaintea atingerii originii aparţine subspaţiului subîntins de vectorul
s1 = Φ −1 ⋅ g , (3.3.35)
adică
xk ∈ S ( s1 ) şi xk = γ1k ⋅ s1 , (3.3.36)
deci putem spune că
D1 (k ) = S ( s1 ) . (3.3.37)
2. Dacă condiţia 1 este îndeplinită originea poate fi atinsă într-un pas, dacă şi
numai dacă, ultima comandă este
uk = − γ1k , γ1k = c Pr{xk / s1}, (3.3.38)
adică este egală cu valoarea cu semn schimbat a coordonatei stării xk de-a lungul
vectorului s1 .
3. În orice evoluţie către origine va exista un ultim pas care nu poate fi decât
cel conform observaţiilor 1 şi 2 de mai sus.
Această situaţie este ilustrată în Fig. 3.3.1, unde s-a considerat pentru o
reprezentare grafică uşoară, n = 2 şi x = [ x1 x 2 ]T .
Fig. 3.3.1.
Domeniul D2(k).
46
Acesta este mulţimea stărilor xk din care sistemul poate fi condus în origine
în două perioade de eşantionare, adică
D2 (k ) = {xk ∈ X , ∃(uk , uk +1 ), xk + 2 = 0} . (3.3.39)
Presupunem că suntem într-o stare xk , deci avem,
xk +1 = Φ ⋅ xk + g ⋅ uk
xk + 2 = Φ 2 ⋅ xk + Φ ⋅ g ⋅ uk + g ⋅ uk +1
xk + 2 = 0 ⇒ xk = − (Φ −1 ⋅ g ) ⋅ uk − (Φ −2 ⋅ g ) ⋅ uk +1
s1 s2
deci, sistemul poate ajunge în origine în doi paşi, aplicând secvenţa de 2 comenzi
(uk , uk +1 ) numai dacă
xk = −(u k ) ⋅ s1 + (−u k +1 ) ⋅ s2 ∈ S ( s1 , s2 ) , (3.3.40)
adică este necesar ca starea xk să se afle în subspaţiul liniar subîntins de vectorii
( s1 , s2 ) prin scalarii − uk şi − uk +1 , adică
− uk = c Pr{xk / s1} = γ1k , (3.3.41)
− uk +1 = c Pr{xk / s2 } = γ 2k .
Această situaţie este ilustrată în Fig. 3.3.2, unde s-a considerat pentru o
reprezentare grafică uşoară, n = 2 şi x = [ x1 x 2 ]T .
Fig. 3.3.2.
Se observă că dacă s1 şi s2 sunt liniari independenţi şi n = 2 înseamnă că se
poate ajunge în origine în doi paşi din oricare stare a spaţiului X.
Dacă n > 2, atunci s1, s2 subîntind numai un subspaţiu S ( s1 , s2 ) ⊂ X .
Reciproc, considerăm că xk ∈ S ( s1 , s2 ) adică xk este de forma,
xk = γ1k ⋅ s1 + γ k2 ⋅ s2 , (3.3.42)
unde,
47
γ1k = c Pr{xk / s1} γ 2k = c Pr{xk / s2 } (3.3.43)
astfel că starea xk +1 la pasul k + 1, obţinută din xk cu o comandă uk va fi:
xk +1 = Φ ⋅ ( γ1k ⋅ s1 + γ 2k ⋅ s2 ) + g ⋅ uk , (3.3.44)
xk +1 = ( γ1k + uk ) ⋅ g + γ 2k ⋅ s1 , (3.3.45)
în care s-a ţinut cont că
Φ ⋅ s1 = s0 = g , Φ ⋅ s2 = s1 . (3.3.46)
Pentru că dorim ca xk + 2 = 0 înseamnă că starea xk +1 din (3.3.45) reprezintă
ultima stare nenulă din care, într-un singur pas, trebuie să se ajungă în origine.
Ţinând cont de cele discutate anterior trebuie ca
xk +1 ∈ S ( s1) ⇔ xk +1 = γ1k +1 ⋅ s1 (3.3.47)
unde,
γ1k +1 = c Pr{xk +1 / s1} (3.3.48)
Cu alte cuvinte în (3.3.45) coeficientul vectorului g trebuie să fie nul, deci
uk = − γ1k (3.3.49)
astfel că, ţinând cont de forma (3.3.47), vectorul x k +1 din (3.3.45) este
xk +1 = γ 2k ⋅ s1 = γ1k +1 ⋅ s1 ∈ S ( s1 ) (3.3.50)
ceea ce implica
γ 2k = γ1k +1 (3.3.51)
Deoarece starea x la pasul k + 1 din (3.3.50), x = xk +1 trebuie sa permită o
evoluţie în origine într-un singur pas ea va aparţine domeniului de controlabilitate
în origine într-un pas plecând de la pasul k + 1 adică D1( k + 1 ), exact cazul anterior
numai că în loc de pasul k avem acum pasul k + 1 , deci
xk +1 = γ1k +1 ⋅ s1 ∈ D1 (k + 1) = S ( s1 ) . (3.3.52)
Evoluţia din această stare, cu o comandă u k +1 este
xk + 2 = Φ ⋅ ( γ k2 ⋅ u1 ) + g ⋅ uk +1 = ( γ k2 + uk +1 ) ⋅ g = 0 ⇒
uk +1 = − γ 2k . (3.3.53)
În concluzie, pentru a asigura evoluţia în origine în 2 paşi plecând din pasul k
trebuie ca starea xk ∈ S ( s1 , s2 ) , adică să fie de forma
xk = γ1k ⋅ s1 + γ k2 ⋅ s2 ∈ S ( s1 , s2 ) (3.3.54)
şi să se aplice comenzile
uk = − γ1k γ1k = c Pr{xk / s1} (3.3.55)
48
uk = − γ k2 = − γ1k +1 γ 2k = c Pr{xk / s2 } = c Pr{xk +1 / s1} = γ1k +1 (3.3.56)
în care prima comandă aplicată uk este coeficientul lui xk , ca element al
subspaţiului S ( s1 , s2 ) , de-a lungul lui s1 cu semn schimbat, iar a doua comandă
aplicata uk +1 este coeficientul lui xk de-a lungul lui s2 cu semn schimbat care este
egală cu coeficientul lui xk +1 de-a lungul lui s1cu semn schimbat .
Se poate demonstra că oricare alte comenzi diferite de (3.3.55) şi (3.3.56) nu
permit evoluţia în origine în 2 paşi, chiar dacă are loc (3.3.54).
Într-adevăr, dacă prima comandă aplicată în loc de (3.3.55) este,
uk ≠ − γ1k ⇔ uk = − γ1k + δ k , δ k ≠ 0 , (3.3.57)
atunci (3.3.44) devine
xk +1 = Φ ⋅ ( γ1k ⋅ s1 + γ 2k ⋅ s2 ) + g ⋅ uk = Φ ⋅ ( γ1k ⋅ s1 + γ 2k ⋅ s2 ) + g ⋅ (− γ1k + δ k )
xk +1 = γ1k ⋅ g + γ k2 ⋅ s1 + g ⋅ (− γ1k ) + g ⋅ δ k ⇒
xk +1 = γ k2 ⋅ s1 + δ k ⋅ I ⋅ g (3.3.58)
ţinând cont de (3.3.34),
I = α1 ⋅ Φ −1 + α 2 ⋅ Φ −2 + ... + α n −1 ⋅ Φ − ( n −1) + α n ⋅ Φ − n
astfel că avem:
xk +1 = γ 2k ⋅ s1 + δ k ⋅ (α1 ⋅ Φ −1 + α 2 ⋅ Φ −2 + ... + α n −1 ⋅ Φ − ( n −1) + α n ⋅ Φ − n ) ⋅ g ,
xk +1 = γ k2 ⋅ s1 + δ k ⋅ (α1 ⋅ Φ −1 ⋅ g + α 2 ⋅ Φ −2 ⋅ g + ... + α n ⋅ Φ − n ⋅ g ) ,
xk +1 = γ k2 ⋅ s1 + δ k ⋅ (α1 ⋅ s1 + α 2 ⋅ s2 + ... + α 2 ⋅ sn −1 + α n ⋅ sn ) ,
xk +1 = ( γ k2 + δ k ⋅ α1 ) ⋅ s1 + (δ k ⋅ α 2 ) ⋅ s2 + ... + (δ k ⋅ α n −1 ) ⋅ sn −1 + (δ k ⋅ α n ) ⋅ sn ≠ 0 .
(3.3.59)
Din (3.3.59) se observă că xk +1 ∉ S ( s1 ) dacă există cel puţin doi vectori si
liniar independenţi adică sistemul discret (3.3.5) are un subspaţiu de
controlabilitate în doi paşi.
Cum starea xk +1 este ultima stare nenulă înainte de a se atinge originea,
conform celor discutate anterior, aceasta trebuie să aparţină subspaţiului S(s1).
Singura posibilitate, privind (3.3.59), este ca
δ k = 0 ⇔ uk = − γ1k , (3.3.60)
adică (3.3.55) este unica valoare posibilă a primei comenzi.
Dacă s-a aplicat prima comandă dată de (3.3.55) atunci sistemul atinge starea
(3.3.52) care aparţine domeniului D1(k + 1) şi conform celor discutate anterior,
singura comandă posibilă pentru a atinge originea este cea dată de (3.3.56).
Din această discuţie se pot trage următoarele concluzii:
1. Domeniul de controlabilitate în doi paşi este
49
D2 (k + 1) = S ( s1 , s2 ) (3.3.61)
2. Dacă
xk ∈ S ( s1 , s2 ), xk = γ1k ⋅ s1 + γ 2k ⋅ s2 (3.3.54)
şi se aplică o comandă
uk = − γ1k = −c Pr{xk / s1} (3.3.55)
atunci
xk +1 = γ 2k ⋅ s1 = γ1k +1 ⋅ s1 ∈ S ( s1 ) (3.3.50)
după care dacă se aplică
uk +1 = − γ1k +1 = −c Pr{xk +1 / s1} (3.3.56)
Se obţine
xk + 2 = 0 .
3. Se conturează ideea unei reguli generale, şi anume:
Dacă pentru oricare pas k şi oricare valoare a stării xk se aplică o comandă
egală cu valoarea cu semn schimbat a componentei proiecţiei vectorului xk de-a
lungul vectorului s1, se asigură evoluţia în origine într-un număr de paşi minim
posibil.
Această strategie, pentru n = 2, este ilustrată în Fig. 3.3.3.
Fig. 3.3.3.
Domeniul D p (k ) .
50
Acesta este mulţimea stărilor xk din care sistemul poate fi condus în origine în
p perioade de eşantionare, adică
{
D p (k ) = xk ∈ X , ∃(uk , uk +1 ,..., uk + p −1 ), xk + p = 0 . (3.3.62) }
În cazul general, starea xk din care se ajunge în p paşi în origine, adică
xk + p = 0 , (3.3.63)
se obţine având în vedere expresia răspunsului unui sistem pur discret,
k + p −1
xk + p = Φ p ⋅ xk + ∑ Φ k + p −i −1 ⋅ g ⋅ ui (3.3.64)
i=k
k + p −1 p −1
xk + p = 0 ⇒ xk = − ∑ Φ k − i −1 ⋅ g ⋅ ui = − ∑ si +1 ⋅ ui (3.3.65)
i=k i −0
− uk +1 = c Pr{xk / s2 } = γ 2k
.............. (3.3.67)
{
− uk + p −1 = c Pr xk / s p = γ kp }
deci din starea
xk = γ1k ⋅ s1 + γ k2 ⋅ s2 + ... + γ kp ⋅ s p ∈ S ( s1 , s p ) . (3.3.68)
În particular, dacă p = n se ajunge în origine din
xk = γ1k ⋅ s1 + γ 2k ⋅ s2 + ... + γ nk ⋅ sn ∈ S ( s1 , sn ) , (3.3.69)
iar dacă vectorii ( s1 ,..., sn ) sunt liniar independenţi
S ( s1 ,..., sn ) = X n (3.3.69a)
se poate ajunge în origine în n paşi din oricare stare a spaţiului X.
Se poate demonstra că pentru oricare k şi oricare p ≥ 1 , întregi, dacă
xk ∈ S ( s1 ,..., s p ) (3.3.70)
de forma
51
p
xk = γ1k ⋅ s1 + γ k2 ⋅ s2 + ... + γ kp ⋅ s p = ∑ γ ik ⋅ si (3.3.71)
i =1
şi se aplică comanda
uk = −c Pr{ xk / s1} = − γ1k (3.3.72)
atunci starea următoare xk +1 este
xk +1 ∈ S ( s1 ,..., s p −1 ) (3.3.73)
de forma
xk = γ 2k ⋅ s1 + γ 3k ⋅ s2 + ... + γ kp ⋅ s p −1 (3.3.74)
xk = γ1k +1 ⋅ s1 + γ k2 +1 ⋅ s2 + ... + γ kp+−11 ⋅ s p −1 (3.3.75)
unde
γ ik +1 = γ ik+1 , i = 1, ..., p − 1 (3.3.76)
şi oricare altă comandă
uk ≠ − γ1k ⇒ xk +1 ∈ S ( s1 ,..., sn −1 , sn ) = X . (3.3.77)
Într-adevăr, substituind (3.3.71) şi (3.3.72) în (3.3.29), avem
p p
xk +1 = Φ ⋅ xk + g ⋅ uk = Φ ⋅ ∑ γ ik ⋅ si + g ⋅ (− γ1k ) = ∑ γ ik ⋅ (Φ ⋅ si ) − γ1k ⋅ g
i =1 i =1
p
p
p
xk +1 = ∑ γ ik ⋅ (⋅si −1 ) − γ1k ⋅ g = γ ik ⋅ s0 + ∑ γ ik ⋅ si −1 − γ1k ⋅ g = ∑ γ ik+1 ⋅ si
i =1 i =1 i =1
deci, xk +1 = γ k ⋅ s1 + γ k ⋅ s2 + ... + γ k ⋅ s p −1 ∈ S ( s1 ,...., s p −1 ) în care s-a ţinut cont că
2 3 p
Φ ⋅ s1 = si −1 si s0 = g .
Procedănd ca în cazurile p = 1 şi p = 2 dacă se utilizează uk = − γ1k + δ k ≠ − γ1k
se demonstrează (3.3.77).
52
uk = −c Pr{xk / s1} = − γ1k ⇒ xk +1 ∈ S (s1 ,, sn −1 )
Pasul 2 xk +1 ∈ S (s1 ,, sn −1 ) şi
uk +1 = −c Pr{xk +1 / s1} = − γ1k +1 = − γ 2k ⇒ xk + 2 ∈ S (s1 ,, sn − 2 )
....................
Pasul j (
xk + j −1 ∈ D s1 ,, sn − j +1 şi )
{ }
uk + j +1 = −c Pr xk + j −1 / s1 = − γ1k + j −1 = − γ kj ⇒ xk + j ∈ S (s1 ,, sn − 2 )
....................
Pasul n-1 xk + n − 2 ∈ S (s1 , s2 ) şi
uk + n − 2 = −c Pr{xk + n − 2 / s1} = − γ1k + n − 2 = − γ nk −1 ⇒ xk + n −1 ∈ S (s1 )
Pasul n xk + n −1 ∈ S (s1 , s2 ) şi
uk + n −1 = −c Pr{xk + n −1 / s1} = − γ1k + n −1 = − γ nk ⇒ xk + n = 0
Se observă că succesiunea comenzilor în evoluţia către origine este:
uk = − γ1k
uk +1 = − γ1k +1 = − γ k2
................
uk + j −1 = − γ1k + j −1 = − γ kj (3.4.2)
...............
uk + n + 2 = − γ1k + n − 2 = − γ nk −1
uk + n −1 = − γ1k + n −1 = − γ nk
astfel că la fiecare pas se foloseşte valoarea cu semn schimbat a componentei
vectorului de satre de la pasul respectiv în raport cu vectorul s1.
În plus are loc relaţia,
γ1k + j = γ kj +1 , j ≥ 0, ∀k . (3.4.3)
Pentru deducerea algoritmului de conducere se calculează coeficientul γ1k din
reprezentarea vectorului de stare xk în baza (s1 ,, s2 ) .
Relaţia de reprezentare (3.4.3)
n
xk = γ1k ⋅ s1 + γ 2k ⋅ s2 + + γ nk ⋅ s p = ∑ γ ik ⋅ si (3.4.4)
i =1
se exprimă matriceal sub forma,
53
γ1k γ1k
i
[
xk = [s1 si sn ] ⋅ γ k = S ⋅ γ ik = S ⋅ γ1k ,, γ ik ,, γ nk ] (3.4.5)
γ nk γ nk
din care se deduce,
[γ 1
k , , γ ik , , γ nk ]
T
= S −1 ⋅ x k , (3.4.6)
unde matricea S este matricea de controlabilitate (3.4.1)
Definim matricea P prin vectorii săi linie qiT
q1T
T
P = S −1 = q2 (3.4.7)
qnT
astfel că (3.4.6) se scrie,
γ1k γ1k = q1T ⋅ xk
i
γ
k = P ⋅ x ⇔ γ i
k = qiT ⋅ xk (3.4.8)
γ nk γ nk = qnT ⋅ xk
Putem exprima acum secvenţa de comenzi (3.4.2) în funcţie de vectorul de
stare xk la pasul k,
uk = − γ1k = −q1T ⋅ xk
uk +1 = − γ k2 = −q2T ⋅ xk
..................
uk + j = − γ kj +1 = −qTj+1 ⋅ xk , j ∈ [0, n − 1] (3.4.9)
..................
uk + n −1 = − γkn = − qnT ⋅ xk
Secvenţa comenzilor (3.4.9) asigură evoluţia în originea spaţiului stărilor în n
paşi, minimul posibil pentru un sistem de ordinul n însă nu este indicată practic
deoarece constituie o lege de comandă în circuit deschis.
Comenzile aplicate la toţi paşii ulteriori pasului k sunt dependente numai de
stare xk .
56
[
Φ = Φ ⋅ I = Φ ⋅ S ⋅ S −1 = Φ ⋅ s1 s2 si sn ⋅ S −1 ]
[
Φ = [Φ ⋅ s1 Φ ⋅ s2 Φ ⋅ si Φ ⋅s n ] ⋅ S −1 = g s1 si −1 sn −1 ⋅ P ]
Ţinând cont de (3.4.7) avem
q1T
T
q2
Φ = [g s1 si −1 s n −1 ]⋅ S −1 = [g s1 si −1 ]⋅ T (3.4.27)
qi
q T
n
Spaţiul X
p = 1:n
x k +1 ∈ X S(s1,s2,…, sp-1,sp) ⊆ X
Dacă uk ≠ hT·
uk
xk ∈ S(s1,s2,…, sp-
Dacă
x k +2 ∈ X uk = hT· xk
S(s1,s2,…, sp-1,sp)
Dacă ⊂ S(s1,s2,…, sp-1,sp)
uk+1 ≠ hT· uk+ 1
Dacă
x k + p −1 ∈ X uk+j = hT· xk+j
Dacă S(s1,s2,…, sp-j-
uk+p 2 ≠ hT· xk+j+1 ∈
uk+ j+1 S(s1,s2,…, sp-j-
uk+ p-2 xk+p-2 ∈
x k +p ∈ X S(s1,s2
Dacă
Dacă uk+p-2 =57hT·
uk+p 1 ≠ hT· xk+p 1 S(s1)
uk+ p-1
xk+p-1 ∈ S(s1)
Dacă
Fig. 3.4.1.
Vectorul linie q1T din matricea în (3.4.7) se extrage prin operaţia
q1T
T
q2
q1 = e1 ⋅ S = [1 0 0 0] ⋅ T
T T −1
(3.4.28)
qi
qT
n
astfel că produsul g ⋅ q1 se exprimă
T
q1T q1T
T T
q2 q2
T
qi
[
g ⋅ q1 = [1 0 0 0] ⋅ T = g 0n 0n 0n ] ⋅ T
qi
qT qT
n n
g ⋅ q1T = [g 0n 0n 0n ] ⋅ S −1 (3.4.29)
Sistemul în circuit închis (3.4.17)
[ ]
xk +1 = Φ − g ⋅ q1T ⋅ xk , ∀k ∈ Z , (3.4.30)
se mai scrie
xk +1 = Ψ ⋅ xk , ∀k ∈ Z , (3.4.31)
unde
[
Ψ = Φ − g ⋅ q1T ] (3.4.32)
este matricea de tranziţie în circuit închis, iar relaţia (3.4.20) care trebuie
demonstrată, se scrie,
qTj+1 = q1T ⋅ Ψ j , j ∈ [0, n − 1] , ∀k ∈ Z , (3.4.33)
58
[ ]
Ψ = Φ − g ⋅ q1T = [g s1 si −1 sn −1 ] ⋅ S −1 − [g 0n 0n 0n ] ⋅ S −1
Ψ = [Φ − g ⋅ q ] = [0
T
1 n s1 si −1 sn −1 ] ⋅ S −1 = [0n C ] ⋅ S −1 , (3.4.34)
unde am notat prin simbolul 0n de mai sus un vector coloană (n ×1) cu toate
elementele nule iar prin C am notat matricea (n × (n − 1)) alcătuită din vectorii
s1 si −1 sn −1 ,
C = [s1 si −1 s n −1 ]. (3.4.35)
Putem exprima matricea [0 C], care este o matrice (n× n) , introducând un
vector (n ×1) oarecare notat ξ astfel,
[ ] 0 I
Ψ = Φ − g ⋅ q1T = [0n C ] ⋅ S −1 = S ⋅ n −1 nT−1 ⋅ S −1 (3.4.37)
0 0n −1
Notăm prin ei vectorul de componentă nenulă i al bazei canonice a spaţiului
Euclidian ℜ n adică
ei = [0 0 1 0]
T
(3.4.38)
1 2 i n
Se poate extrage linia indice i din matricea P = S −1 reprezentată în (3.4.7),
adică vectorul qiT cu relaţia,
qiT = eiT ⋅ S −1 , ∀ 1 ≤ i ≤ n (3.4.39)
astfel că putem scrie
[ ] 0 I
qiT ⋅ Φ − g ⋅ q1T = qiT ⋅ [Ψ ] = eiT ⋅ S −1 ⋅ S ⋅ n −1 nT−1 ⋅ S −1
0 0n −1
[ ] 0 I
qiT ⋅ Φ − g ⋅ q1T = eiT ⋅ n −1 nT−1 ⋅ S −1 = eiT+1 ⋅ S −1 = qiT+1
0 0n −1
59
deci
[ ]
qiT+1 = qiT ⋅ Φ − g ⋅ q1T , ∀ 1 ≤ i ≤ n − 1 (3.4.40)
deoarece relaţia
0 I
eiT ⋅ n -1 nT−1 = eiT+1 (3.4.41)
0 0n −1
este adevărată numai pentru ∀1 ≤ i ≤ n − 1 .
Înmulţind relaţiile (3.4.40) obţinute cu valorile
i ∈ [1, j ], ∀j ∈[1, n − 1]
se obţine
[ ]
qTj+1 = q1T ⋅ Φ − g ⋅ q1T , j ∈ [1, n − 1]
j
care este adevărată formal şi pentru j = 0 astfel că este adevărată relaţia (3.4.20)
[
qTj+1 = q1T ⋅ Φ − g ⋅ q1T ],
j
j ∈ [1, n − 1] , ∀k ∈ Ζ . (3.4.42)
Se poate demonstra că
[Ψ ] n = 0 , (3.4.47)
astfel că
xk + n = [Ψ ] ⋅ xk , ∀k ∈ Z ,
n
(3.4.48)
şi
xk + n + j = 0, ∀j ≥ 0 , (3.4.49)
Polinomul caracteristic al sistemului în circuit închis este,
L(λ ) = det (λI − Ψ ) = λn , (3.4.50)
60
adică toate valorile proprii ale sistemului în circuit închis se află în originea
planului complex, caracteristică comună a sistemelor discrete de conducere în
origine într-un număr finit de paşi.
sau
[ ]
g = A−1 ⋅ e AT − I ⋅ b dacă det A ≠ 0 (3.1.26)
4. Se consideră sistemul pur discret (3.1.29) sau (3.4.10)
xk +1 = Φ ⋅ xk + g ⋅ uk (3.4.10)
cu matricea Φ şi vectorul g calculaţi ca la punctul 2 cu xk = x(kT ) sau daţi iniţial
dacă se cere conducerea unui sistem original pur discret.
5. Se calculează vectorii
[
si = si1 , , sij ] T
∈ Χ = ℜn (3.3.9)
−i
si = Φ ⋅ g , i ≥ 0 , Φ ⋅ si = si −1 (3.3.8), (3.3.11)
şi matricea de controlabilitate (3.3.12) sau (3.3.13) sau (3.4.1)
[
S = s1 si sn ] (3.3.12)
6. Se verifică independenţa liniară eventual evaluând,
61
[
det S = det s1 si sn ≠ 0 . ] (3.4.1)
7. Se calculează matricea
q1T
T
P = S −1 = q2 . (3.4.7)
T
q n
8. Se extrage linia q1T şi se notează
hT = − q1T (3.4.13)
hT = [h1 h2 hi hn −1 hn ] (3.1.15)
9. Legea de conducere (3.1.30) sau (3.1.34) sau (3.4.22) este
uk = hT ⋅ xk (3.4.22)
10. Se calculează vectorul
d T = [d1 d 2 d i d n −1 d n ] cu (3.1.10)
hi
di = ,i = 1 n (3.1.32)
K NA ⋅ KTri ⋅ KTri
11. Se scrie programul de implementare şi se verifica rezultatele, inclusiv
comportarea mărimii de comandă uk .
62
x1 = x 2
x 2 = − x 2 + u (3.5.4)
y=x 1
care se reprezintă grafic printr-o diagramă de stare ca în Fig. 3.5.1, în două forme.
Funcţia de transfer (3.5.1) poate reprezenta, de exemplu, un sistem fizic de
poziţionare în care variabila x1 ∈ [−200, 200] mm reprezintă poziţia unui organ de
lucru în care s-a făcut o schimbare de variabilă
x1 = z − zˆ
unde ẑ reprezintă valoarea dorită a poziţiei fizice a acelui obiect, iar variabila
x 2 ∈ [−10, 10] mm / sec reprezintă viteza de deplasare a obiectului respectiv.
Mărimea de comandă u ∈ [−10, 10] Volt este mărimea de ieşire din
calculatorul de proces, echivalent ieşirea din convertorul numeric analogic CNA.
x2(0+) x1(0+)
u + x 2 + 1 x
2
x 1 + + 1
1 x =y
U(s) + ≡
+ s s
X2(s X1(s
-1
x2(0+) x1(0+)
u + 1 x2 + + 1
1 x =y
+ s +1 s 1
U(s) X2(s) X (s)
Fig. 3.5.1.
63
5 − (− 5) 10 V
KTr 2 = = = 0.5 (3.5.6)
10 − (− 10 ) 20 mm / sec
Structura sistemului de conducere este prezentată în Fig. 3.5.2.
Un program de calculator care implementează această structură poate fi,
Citeşte X1 Χ1 = x1N = K AN ⋅ KTR1 ⋅ x1 (kT ), x1 (kT ) = x1k
Citeşte X2 Χ 2 = x 2 N = K AN ⋅ KTR 2 ⋅ x 2 (kT ) , x 2 (kT ) = xk2
Calculează W = d1 ∗ Χ1 + d 2 ∗ Χ 2
⇔ wk = d1 ⋅ x1k + d 2 ⋅ xk2
Scrie W ⇔ u (t ) = K NA ⋅ wk , t ∈ (kT , (k + 1)T ]
⇔ u (t )uk , t ∈ (kT , (k + 1)T ], uk = K NA ⋅ wk
Deci putem scrie
uk = K NA ⋅ K AN ⋅ KTr1 ⋅ d1 ⋅ x1k + K NA ⋅ K AN ⋅ KTr 2 ⋅ d 2 ⋅ xk2 (3.5.7)
Fig. 3.5.2.
şi notăm
h1 = K NA ⋅ K AN ⋅ KTr1 ⋅ d1 , (3.5.8)
h2 = K NA ⋅ K AN ⋅ KTr 2 ⋅ d 2 , (3.5.9)
unde componentele vectorului
hT = [h1 h2 ] (3.5.10)
se calculează conform procedurii de proiectare 3.4.4.
64
După efectuarea acestor calcule, în programul de calculator se implementează
valorile,
h1
d1 = (3.5.11)
K AN ⋅ K NA ⋅ KTr1
h2
d2 = (3.5.12)
K AN ⋅ K NA ⋅ KTr 2
Structura sistemului de conducere din Fig. 3.5.2 este echivalentă cu schema
din Fig. 3.5.3 în care legea de conducere este
uk = h1 ⋅ x1k + h2 ⋅ xk2 (3.5.13)
Se calculează
1 1
Φ(s ) = (sI − A) = s − 1 = s s(s + 1)
−1
(3.5.14)
0 s + 1
0 1
s + 1
Fig. 3.5.3.
Componentele transformatei Laplace a matricei de tranziţie Φ(s) pot calcula
folosind relaţia
X ( s ) = Φ ( s ) ⋅ x (0 + ) + Φ ( s ) ⋅ b ⋅ U ( s ) (3.5.15)
adică Φij(s) este raportul dintre răspunsul dat de componenta X i (s ) a stării,
determinat numai de condiţia iniţială xq (0+ ) , dacă U(s) = 0 şi toate celelalte
condiţii iniţiale sunt nule, xq (0 + ) = 0, ∀q ≠ j .
65
În acest scop se pot manipula reprezentările grafice date de diagrama de stare,
în cazul de faţă din Fig. 3.4.2.
Φ ij (s ) =
X i ( s)
(3.5.16)
x j (0 + )
( )
U ( s )= 0 , x q 0 + = 0 , ∀q ≠ j
Se calculează
−λ
Φ (λ ) = L−1{Φ (s )} = 1 1 − −eλ , (3.5.17)
0 e
−λ
Φ = Φ (T ) = 1 1 − −eλ , (3.5.18)
0 e
(
T 1 − e − (T − τ ) dτ )
g (T ) = ∫ [Φ(T − τ) ⋅ b] ⋅ dτ = ∫0 T −(T − τ ) ,
T
∫0
0
e dτ
−T
g (T ) = T − 1 +−eT . (3.5.19)
1 − e
Se calculează vectori s1 şi s 2 .
−T
s1 = Φ(− T ) ⋅ g = 1 1 −Te ⋅ T − 1 +−eT = T +T1 − e
T T
(3.5.20)
0 e 1 − e e − 1
−T
s2 = Φ(− 2T ) ⋅ g (T ) = 1 1 − 2eT ⋅ T − 1 +−eT = T −2eT +Te
2T 2T T
(3.5.21)
0 e 1− e e −e
Matricea de controlabilitate este:
S = [s1 s2 ] = T +T1 + e T −2eT +Te
T 2T T
(3.5.22)
e − 1 e − e
eT e 2T − eT − T
P = S −1 =
T ( ) (
eT − 1 T eT − 1 2 q1T
= T ) (3.5.23)
1 T + 1 − eT q2
T ( ) (
eT − 1 T eT − 1
)
Deci,
eT e 2T − eT − T
hT = − q1T = − T 2
(
T e − 1 T eT − 1 ) (
, cu
)
(3.5.24)
eT
h1 =
(
T eT − 1 ) (3.5.25)
66
e 2T − eT − T
h2 =
( ) 2
(3.5.26)
T eT − 1
din care se calculează d1 şi d2 cu relaţiile (3.5.11) şi (3.170 ) care se introduc în
algoritmul de implementare.
67
Se consideră aceeaşi structură de conducere ca în paragraful anterior, cu
modelul discret,
xk +1 = Φ(T ) ⋅ xk + G (T ) ⋅ uk (3.6.3)
unde matricele Φ şi G au dimensiunile n× n respectiv n× r şi se calculează cu
Φ(T ) = e AT = Φ , (3.6.4)
[ ] [
G (T ) = ∫ e A(T − τ ) ⋅ dτ ⋅ B = G = g1 g j g r ,
T
0
] (3.6.5)
unde g j , 1 ≤ j ≤ r este un vector coloană n-dimensional
[
g j = g 1j g ij g nj . ] (3.6.6)
Deoarece matricea B poate conţine multe elemente nule, este uneori mai
eficient să se calculeze
Ψ (t ) = Φ (t ) ⋅ B (3.6.7)
şi să se efectueze pe componente integrala
T
0
[
G (T ) = ∫ Ψ (T − τ) ⋅ dτ = G = g1 g j g r . ] (3.6.8)
De asemenea, dacă det A ≠ 0 (matricea A este nesingulară) atunci pentru
matricea G se poate utiliza relaţia
[ ] [
G (T ) = A−1 ⋅ e AT − I ⋅ B = e AT − I ⋅ A−1 ⋅ B . ] (3.6.9)
S-ar putea formula de la început o problemă de conducere a unui sistem pur
discret original de forma:
xk +1 = Φ ⋅ xk + G ⋅ uk : (3.6.10)
Legea de conducere este de forma
uk = H ⋅ xk (3.6.11)
cu matricea de conducere H având dimensiunea r × n exprimată prin r vectori n-
dimensionali linie hTj , 1 ≤ j ≤ r :
[
hTj = h1j h ij h nj ]
T
∈ Rn (3.6.12)
h1T
H = hTj (3.6.13)
hrT
astfel că se poate exprima pe componente comanda (3.6.11) la pasul k,
[
uk = u1k ukj ukr ] = [h
T T
1 ⋅ xk hTj ⋅ xk hrT ⋅ xk ] (3.6.14)
în care componenta j a vectorului de comandă u la pasul k este:
68
n
ukj = hTj ⋅ xk = ∑ hij ⋅ xki . (3.6.15)
i =1
[ ]
T
sij = sij ,1 sij , s sij , n , 1 ≤ j ≤ r . (3.6.18)
În particular pentru i = 0 se obţine:
[ ] [ ]
S0 = Φ −0 ⋅ G = G = s10 s0j s0r = g1 g j g r . (3.6.19)
Are loc relaţia recursivă
Φ ⋅ Si = Si −1 , ∀ i ≥ 1 , (3.6.20)
care se scrie pe componente
[ ] [
Φ ⋅ si1 sij sir = si1−1 sij−1 sir−1 ] (3.6.21)
astfel că
Φ ⋅ sij = sij−1 , 1 ≤ j ≤ r . (3.6.22)
Conform acestor relaţii se vede că sistemul poate ajunge în origine într-un
singur pas, aplicând un vector de r comenzi simultane uk
[
uk = u1k ukj ukr ]
T
(3.6.23)
finite oarecare, dacă se află în starea (3.6.16) care se mai exprimă
69
u1k
−1 r j
xk = −Φ ⋅ G ⋅ uk = − S1 ⋅ uk = − s1 s1 s1 ⋅ hk
1 j
[ ]
r
hk
adică,
( ) ( ) ( )
xk = − u1k ⋅ s11 + + − ukj ⋅ s1j + + − ukr ⋅ s1r ∈ S s11 ,, s1j ,, s1r , ( )
= ∑ (− u ) ⋅ s ∈ S (s ,, s ,, s ) .
r
j j 1 j r
xk k 1 1 1 1 (3.6.24)
j =1
Deci, sistemul poate ajunge în origine într-un singur pas, aplicând simultan
setul (3.6.23) de comenzi, numai dacă starea xk se află în subspaţiul liniar
[
] ce constituie matricea S , prin scalarii
subîntins de vectorii s11... s1j ... s1r 1
[(− u ) (− u ) (− u )]
1
k k
j r
k
adică ,
{
− ukj = c Pr xk / s1j = γ kj , 1 ≤ j ≤ r } (3.6.25)
Reciproc, dacă
(
xk ∈ S s11 ,, s1j , , s1r )
adică xk este de forma
( )
r
xk = ∑ γ kj ⋅ s1j ∈ S s11 , , s1j , , s1r , (3.6.26)
j =1
( ) ( )
r r r r
xk +1 = ∑ γ kj Φ ⋅ s1j + ∑ ukj ⋅ g j = ∑ γ kj s0j + ∑ ukj ⋅ g j ⇒
j =1 j =1 j =1 j =1
( )
r
xk +1 = ∑ γ kj + ukj ⋅ g j (3.6.27)
j =1
deoarece
Φ ⋅ s1j = s0j = g j , 1 ≤ j ≤ r . (3.6.28)
Dacă se aleg
70
ukj = − γ kj , 1 ≤ j ≤ r , (3.6.29)
atunci
r
xk +1 = ∑ (0 ) ⋅ g j = 0 . (3.6.30)
j =1
Altfel,
( )
dacă ∃j a.î. γ kj + ukj = δ j ≠ 0 ⇒ xk ∈ S (s1 , , si , , sn ) = X , unde s1, ... , si, ...
, s n este o bază algebrică a spaţiului liniar X.
Rezultă că
(
D1 (k ) = S s11 , , s1j , , s1r , ) (3.6.31)
adică dacă se folosesc r intrări simultane subspaţiul din care se poate atinge
originea într-un pas este de ordinul r.
Domeniul D p (T )
În cazul general, starea xk din care se ajunge în p paşi în origine, adică
x k + p = 0 este,
k + p −1 p −1
xk + p = 0 ⇒ xk = − ∑ Φ k −i −1 ⋅ G ⋅ ui = − ∑ Si +1ui (3.6.32)
i=k i =0
({ } ),
p −1 p −1 r
xk = − ∑ Si +1ui = − ∑∑ sij uij ∈ S sij 0 ≤ i ≤ p −1; 1≤ j ≤ r
(3.6.33)
i =0 i = 0 j =1
adică
({ }
xk ∈ S sij 0 ≤ i ≤ p −1; 1≤ j ≤ r
) = S (S , , S , , S ) ,
1 i p (3.6.35)
(
unde S S1 , , Si , , S p ) este subspaţiul generat de toţi vectorii sij din cele p
matrici Si.
Domeniul de controlabilitate în p paşi este deci,
(
D p (k ) = S S1 , , Si , , S p . ) (3.6.36)
71
3.6.3. Algoritmul de conducere
Se construieşte matricea de p-controlabilitate
[ ] [
S p = S1 Si S p = s11 s1r si1 sir s1p s rp ] (3.6.37)
care este o matrice ( n × r ⋅ p )-dimensională.
Se poate ajunge în originea spaţiului în p paşi din oricare stare a spaţiului X
dacă şi numai dacă matricea S p are rangul n.
Numărul minim de paşi p în care se poate ajunge în origine din oricare stare
este
pmin = min{p ⋅ r ≥ n} (3.6.38)
p
[
hTj = h1j h ij h nj ] T
∈ Rn , (3.6.48)
iar componenta u a vectorului de comandă uk la pasul k este,
73
n
ukj = hTj ⋅ xk = ∑ hij ⋅ xki . (3.6.49)
i =1
Fig. 3.6.1.
1 1
s + 2 s + 1
H ( s) =
1
. (3.6.52)
1
s +1 s
Acest proces, prezentat în Tou J., Modern control theory, Mc. Graw Hill, New
York, 1968, poate reprezenta un motor turbo-propulsor comandat prin
u1k - variaţia unghiului de atac al elicei;
uk2 - variaţia debitului de combustibil la care se urmăresc;
y1k - variaţia vitezei de rotaţie a motorului;
yk2 - variaţia temperaturi turbinei în zona de admisie.
Toate aceste mărimi reprezintă variaţii ale mărimilor fizice respective faţă de
un regim staţionar.
Matricea de transfer H (s ) exprimă relaţiile intrare-ieşire în domeniul
complex s, adică
1 1
Y1 ( s ) = ⋅ U1 ( s ) + ⋅ U 2 (s) , (3.6.53)
s+2 s+2
74
1 1
Y2 ( s ) = ⋅ U1 ( s ) + ⋅ U 2 ( s ) , (3.6.54)
s +1 s
ilustrate în schema bloc din Fig.3.6.2, pe baza căreia se deduce o realizare prin
ecuaţii de stare:
x1 = −2 x1 + u1
= − +
x2 x2 u1
sau (3.6.55)
x3 = − x3 + u2
x4 = u2
− 2 0 0 0 1 0
x = A ⋅ x + B ⋅ u , cu A = 0 − 1 0 0 , B = 1 0 . (3.6.56)
0 0 − 1 0 0 1
0 0 0 0 0 1
Se calculează:
1
s + 2 0 0 0
1
0 0 0
Φ( s) = ( sI − A) =
−1 s +1 (3.6.57)
0 0
1
0
s +1
1
0 0 0
s
75
Fig. 3.6.2.
e −2⋅t 0 0 0
e −1⋅t 0 0
Φ (t ) = L−1 {Φ ( s )} = 0 −1⋅t (3.6.58)
0 0 e 0
0 0 1
0
α 2 0 0 0
α 0
Φ (T ) = 0 0 (3.6.59)
0 0 α 0
0 0 0 1
unde
α = e −T . (3.6.60)
Se calculează:
e −2⋅t 0
−1⋅t 0
Ψ (t ) = Φ (t ) ⋅ B = e
0 e −1⋅t
, (3.6.61)
0 1
1 − α 2 0
G (T ) = 1 − α 0 = [g1 , g 2 ] , (3.6.62)
0 1− α
0 T
α2 −1 0
−1
0 α −1
[ ]
S1 = Φ (−T ) ⋅ G (T ) = α − 1 −10 = s11 s12 , α − 2 = e 2 , (3.6.63)
0 T
α −2 (α −2 − 1) 0
α −1 (α −1 − 1)
S 2 = Φ (−2T ) ⋅ G (T ) = −1
0
−1
[
= s12 s22 .
α (α − 1)
] (3.6.64)
0
0 T
Evident p = 2 astfel că
[
S = s11 s12 s12 s22 ,] (3.6.65)
76
− α3 −α
0 0
1 − α (1 − α ) (1 − α )
2 2
− α2 −1
0 0
(1 − α ) 2 T (1 − α ) Q1
P=S =−1
= , (3.6.66)
α4 − α3 Q2
1 − α 2 (1 − α) 1 − α 0 0
α 2
−α 2
0 0
(1 − α) 2 T (1 − α) 2
Matricea de conducere este:
− α3 −α
0 0
1 − α (1 − α) (1 − α)
2 2
L = −Q1 = , (3.6.67)
α2 − α2
0 0
(1 − α) 2 T (1 − α) 2
Dacă T = 2 sec, matricea L devine,
L = 0.091 − 0.92 0 0 (3.6.68)
0 0 0.338 − 1.58
şi
u1k = 0.091 ⋅ x1k + 0.92 ⋅ xk2 , uk2 = 0.338 ⋅ xk3 − 1.58 ⋅ xk4 (3.6.69)
Se observă că pentru realizarea legii de conducere este necesară măsurarea
componentelor vectorului de stare.
Există tehnici de reconstituire a vectorului de stare bazate pe aşa numiţii
observeri de stare.
77
Bibliografie
1. Marin C., Petre E., Popescu D., Ionete C., Selişteanu D., Teoria sistemelor - Probleme,
Editura SITECH Craiova, 1997.
2. Marin C., Petre E., Popescu D., Ionete C., Selişteanu D., Sisteme de reglare automată-
Lucrări practice I, Editura SITECH Craiova, 1997.
3. Marin C., Petre E. , Popescu D., Ionete C., Selişteanu D., Sisteme de reglare automată-
Lucrări practice II, Editura SITECH Craiova, 1998.
4. Marin C., Structuri şi legi de reglare automată, Editura Universitaria, 2000.
5. Marin C., Popescu D., Petre E., Ionete C., Selişteanu D., Teoria sistemelor, Editura
SITECH, Craiova, 2001.
78
6. Marin C., Ingineria reglării automate - Elemente de analiză şi sinteză, Editura SITECH,
Craiova, 2004.
7. Marin C., Sisteme neconvenţionale de reglare automată, Editura SITECH, Craiova,
2004.
8. Marin C., Analiza în domeniul timp a sistemelor discrete, Editura SITECH,Craiova,
2004.
9. Marin C., Sisteme discrete în timp, Editura Universitaria, Craiova, 2005.
79