Sunteți pe pagina 1din 79

7.

Sisteme numerice de reglare cu durată finită


a regimului tranzitoriu

Cuprins

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) .......................................................................................
1.1.2. Condiţiile necesare şi suficiente pentru ca un sistem discret să
fie sistem cu durată finită a regimului tranzitoriu (SDFRT) ......
1.1.3. Exemplu de sistem cu comportare DFRT diferită pentru
răspunsul liber şi cel forţat .........................................................
1.2. Descrierea în domeniul z a sistemelor cu durată finită a regimului
tranzitoriu ..........................................................................................
1.2.1. Transformata Z a unui şir de numere cu valoare constantă la
infinit ..........................................................................................
1.2.2. Răspunsul unui sistem discret cu funcţie de transfer proprie
cu număr finit de poli în origine .................................................
2. Sinteza sistemelor numerice folosind metoda dead beat clasic ..........
2.1. Formularea problemei .......................................................................
2.2. Metoda dead beat clasic pentru sisteme fără timp mort ....................
2.2.1. Algoritmul dead beat clasic pentru sisteme fără timp mort .......
2.2.2. Comportarea în circuit închis .....................................................
2.2.3. Evoluţia în circuit închis a mărimii de comandă ........................
2.2.4. Exemplu de aplicare şi implementare a metodei dead beat
clasic pentru sisteme fără timp mort de ordinul unu ..................
2.2.5. Exemplu de aplicare şi implementare a metodei dead beat
clasic pentru sisteme fără timp mort de ordinul doi ...................
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 .
2.3.2. Algoritmul dead beat clasic pentru sisteme cu timp mort ..........
2.3.3. Comportarea în circuit închis .....................................................
1
2.4. Metoda dead beat clasic cu număr extins de paşi ..............................
2.4.1. Formularea problemei ................................................................
2.4.2. Algoritmul dead-beat clasic cu număr extins de paşi cu un
grad de libertate ..........................................................................
2.4.3. Comportarea în circuit închis .....................................................
2.4.4. Evoluţia în circuit închis a mărimii de comandă ........................
3. Sinteza sistemelor numerice folosind metoda dead beat după stare ..
3.1. Formularea problemei .......................................................................
3.2. Extinderea problemei de conducere către o stare oarecare ...............
3.3. Controlabilitatea sistemului pur discret .............................................
3.3.1. Definiţii şi notaţii .......................................................................
3.3.2. Domeniile de controlabilitate .....................................................
3.4. Algoritmul de conducere în timp minim ...........................................
3.4.1. Legea de comandă în circuit deschis ..........................................
3.4.2. Legea de conducere în circuit închis ..........................................
3.4.3. Comportarea sistemului în circuit închis ...................................
3.4.4. Procedura de calcul a legii de conducere ...................................
3.5. Exemplu de aplicare a metodei dead-beat după stare pentru un
sistem de ordinul doi .........................................................................
3.6. Proiectarea legii de conducere discretă după criteriul timpului
minim pentru sisteme cu mai multe intrări ........................................
3.6.1. Formularea problemei de conducere ..........................................
3.6.2. Domenii de controlabilitate ........................................................
3.6.3. Algoritmul de conducere ............................................................

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

Sistemul (1.1.1), (1.1.2) este un sistem cu durată finită a regimului tranzitoriu


(SDFRT), dacă există un moment finit de timp k1 ≥ k0 astfel încât:
xk = x e , ∀k ≥ k1 , ∀u e ∈U , ∀x 0 ∈ X . (1.1.4)
Starea de echilibru x e asigură un regim staţionar în raport cu ieşirea dacă
relaţia de ieşire (1.1.2) este invariantă în timp, adică
y k = g ( xk , u k ) , (1.1.5)
astfel ca valoarea de regim staţionar a ieşirii este
y e = g ( xe , u e ) . (1.1.6)
O evoluţie cu DFRT este ilustrată în Fig. 1.1.1.
Evoluţia sistemului pentru k ≥ k0 în condiţiile de mai sus, reprezintă de fapt
răspunsul unui sistem discret la intrare treaptă de valoare u = u e aplicată la
momentul k = k0 , adică
uk = u e ⋅ 1(k − k0 ) (1.1.7)
din stare iniţială xk 0 = x oarecare.
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.2. Condiţiile necesare şi suficiente pentru ca un sistem discret să fie sistem


cu durată finită a regimului tranzitoriu (SDFRT)
Sistemul discret (1.1.1), (1.1.2) este un SDFRT dacă şi numai dacă sunt
îndeplinite următoarele două condiţii:
1. Condiţia de existenţă a stării de echilibru:
∃k1 finit, ∀u e ∈ U , ∃x e ∈ X , x e = f k ( x e , u e ), ∀k ≥ k1 . (1.1.11)
2. Condiţia de stare de echilibru la un moment finit de timp:
x = f k1 −1 ( f k1 − 2 ( f k1 − 3 (...( f k 0 +1 ( f k 0 ( x 0 , u e ), u e )...), u e ), u e ), u e ), ∀u e ∈U , ∀x 0 ∈ X .
e

(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

condiţia (1.1.12), aplicată pentru (1.1.14) cu notaţia (1.1.16), devine:

5
x e = A N ⋅ x 0 + ∑ j =0 A N − j −1 ⋅ B ⋅ u j .
N −1
(1.1.20)

Înmulţind relaţia (1.1.20) la stânga cu ( I − A) în care se substituie u j = u e şi


se foloseşte (1.1.17), după reducerea termenilor din dreapta, se obţine în final:
(I − A) ⋅ A N ⋅ x 0 − A N ⋅ B ⋅ u e = 0, ∀x 0 ∈ X , ∀u e ∈ U . (1.1.21)
Identitatea (1.1.21), la care se adaugă condiţia ∃N finit, exprimă condiţia
necesară şi suficientă pentru ca un SLITD să fie SDFRT.
Pentru sistemul (1.1.14), identitatea (1.1.21) este echivalentă cu condiţiile:
∃N finit, A N = 0 ⇔ ∆( z ) = det ( zI − A) = z N , (1.1.22)
adică toate valorile proprii ale matricei A sunt nule. Aceasta înseamnă că un
SDFRT se comportă ca o linie de întârziere cu N paşi.
Datorită condiţiei (1.1.22) matricea de transfer H (z ) a sistemului (1.1.14),
(1.1.15), dată de
H ( z ) = C ⋅ (zI − A) ⋅ B + D
−1
(1.1.23)
este de forma
H (z ) = N ⋅ M ( z ) ,
1
(1.1.24)
z
unde M (z ) este o matrice de polinoame.
Forma (1.1.24) a matricei de transfer face ca răspunsul forţat să fie de tip
medie alunecătoare ponderată. Un astfel de sistem are răspunsul la impuls nul
pentru k ≥ N adică este un sistem de tipul FIR ( Finite Impulse Response).
Valoarea finală la ieşire y e a unui SDFRT este

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)

Dacă polinomul caracteristic ∆(z ) al unui sistem complet controlabil şi


complet observabil are cel puţin o rădăcină nenulă, atunci sistemul nu mai are
proprietatea DFRT pentru nici o componentă a vectorului de ieşire.
Se notează prin
i M ij ( z )
H ij ( z ) = H uy j ( z ) = , (1.1.26)
Lij ( z )
componenta (ij) a matricei de transfer ce exprimă legătura dintre componenta j a
intrării, ukj , şi componenta i a ieşirii, yki . Este posibil ca anumite componente
H ij (z ) să îndeplinească condiţia de DFRT, adică să aibă Lij ( z ) = z , iar altele să
N ij

nu îndeplinească această condiţie. Astfel de situaţii sunt posibile numai dacă


sistemul (1.1.14), (1.1.15) nu îndeplineşte condiţia de controlabilitate sau
observabilitate.

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.

1.3. Descrierea în domeniul z a sistemelor cu durată finită a regimului


tranzitoriu
1.3.1. Transformata Z a unui şir de numere cu valoare constantă la infinit
Se consideră un şir de numere ykN { } k >0
pentru care primele N valori ykN au o
formă oarecare yk, iar restul sunt egale cu valoarea y N , unde N este un număr
întreg finit. Termenul general al acestui şir este:
 yk , 0 ≤ k ≤ N −1
ykN =  .
 yN , k≥N
{ }
Dacă yN = 0, şirul ykN k > 0 este denumit şir cu număr finit de termeni şi se
{ }
notează ykN ,0 k >0
.
Pentru evaluarea transformatei Z se aplică formula fundamentală. Rezultă:
{ }
N −1 ∞
Y N ( z ) = Z ykN = ∑ yk ⋅ z − k + ∑ yk ⋅ z − k , (1.2.1)
k =0 k=N
sau dezvoltat

Y N ( z ) = y0 ⋅ z −0 + y1 ⋅ z −1 + ⋅ ⋅ ⋅ + y N −1 ⋅ z −( N −1) + y N ⋅ ∑ z −k =
k =N
( N −1) (N −2) ∞
y0 ⋅ z + y1 ⋅ z
+ ⋅ ⋅ ⋅ + y N − 2 ⋅ z + y N −1 ⋅ z
1 0

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)

o raţională proprie dacă y 0 ≠ 0 , cu


Y N , 0 ( ∞ ) = y0 , (1.2.5)
şi N - 1 poli în originea planului complex.
Pentru un şir de numere cu valoare constantă la infinit nenulă y N ≠ 0 ,
transformata Z este o raţională proprie, dacă y0 ≠ 0 , dată de:
1  1  M N ( z) N
Y N ( z) = ⋅
N −1 
M ( z ) + y ⋅  = N −1
, | z | > 1 = RcY (1.2.6)
z − 1 z ⋅ ( z − 1)
N
z 
unde,
( ) (
M N ( z ) = y0 Z ( N ) + y1 − y0 z N −1 + ⋅ ⋅ ⋅ + ( y N −1 − y N −2 )z1 + y N − y N −1 z 0 ) (1.2.7)
este un polinom în z de gradul N dacă y0 ≠ 0 .

1.3.2. Răspunsul unui sistem discret cu funcţie de transfer proprie cu număr


finit de poli în origine
Se consideră o funcţie Y (z ) raţională proprie cu un număr finit p ≥ 1 de poli
în originea planului z, pe care o notăm:
p −1
M ( z ) b p ⋅ z + b p −1 z + ⋅ ⋅ ⋅ + b1 ⋅ z + b0 ⋅ z
p 1 0
Y ( z) = p = , (1.2.8)
z zp
unde
M ( z ) = ∑i = 0 (bi ⋅ z i ) , b0 ≠ 0
p
(1.2.9)
este un polinom de gradul p cu termenul liber nenul.
Se arată că, dacă b0 ≠ 0 , transformata Z inversă a acestei funcţii, notată,
conform (1.2.4), prin
Y ( z ) = Y N ,0 ( z ) = Y p +1,0 ( z ),
este un şir finit de N = p + 1 termeni,

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

adică transformata Z inversă a unei funcţii raţionale proprii cu un număr finit p de


poli în originea planului z este un şir finit de p + 1 valori cu yk = b p − k , 0 ≤ k ≤ p .
Exemplu:
Funcţia raţională cu doi poli în origine:
z2 + 4z − 5
Y (z ) =
z2
se mai poate scrie
Y ( z ) = 1 ⋅ z −0 + 4 ⋅ z −1 − 5 ⋅ z −2 + 0 ⋅ z −4 + ⋅ ⋅ ⋅
astfel că se deduc:
y0 = 1, y1 = 4, y2 = -5, y3 = 0, y4 = 0, ...
Ca şi exerciţiu de validare a formulei cu reziduuri se calculează:
 z 2 + 4 z − 5 k −1   z 2 + 4z − 5 
yk = ∑
Polul
Rez 
z =0  z2
⋅ z  = ∑
 Polul z =0
Rez 
 z
2 − k +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.

2.2. Metoda dead-beat clasic pentru sisteme fără timp mort


2.2.1. Algoritmul dead-beat clasic pentru sisteme fără timp mort
Se consideră forma discretă a părţii fixe ca fiind o raţională strict proprie:

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

În acelaşi mod se exprimă funcţia de transfer dintre mărimea de comandă şi


referinţă, numită pe scurt funcţie de transfer de comandă:
U ( z)  z −m 
H c ( z) = = (1 − z −1 ) ⋅ u0 + u1 ⋅ z −1 + ⋅ ⋅ ⋅ + u m−1 ⋅ z −(m−1) + u m ⋅  (2.2.15)
V ( z)  1 − z −1 
care, prin identificare, conduce la
H c ( z ) = Q( z −1 ) , (2.2.16)
−1 −1
unde Q( z ) este un polinom în z de forma:
Q( z ) = q0 + q1 ⋅ z + ⋅ ⋅ ⋅ + qm ⋅ z − m
−1 −1
(2.2.17)
cu:
q0 = u0
q1 = u1 − u0
......................
qk = uk − uk −1 (2.2.18)
......................
qm = um − um −1 .
Prin însumarea relaţiilor (2.2.18) se obţine:
m

∑q
i =0
i = Q(1) = u m . (2.2.19)

Din prima relaţie (2.2.18) rezultă că prima comandă u0 aplicată de legea de


reglare, după variaţia treaptă unitate a referinţei este
u0 = q0 . (2.2.20)
Aşa cum se poate vedea în Fig. 2.1.1, funcţia de transfer a părţii fixe G(z) este
Y ( z)
G( z) = . (2.2.21)
U ( z)
Ţinând cont de (2.2.9) şi de (2.2.10), ieşirea sistemului este:
Y ( z ) = H v ( z ) ⋅ V ( z ) = P( z −1 ) ⋅ V ( z ) . (2.2.22)
Asemănător, utilizând (2.2.15) şi de (2.2.16), şi considerând numai efectul
mărimii impuse, adică Y p ( z ) ≡ 0 , pentru mărimea de comandă avem:

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

Din (2.2.1) şi (2.2.24) se obţine identitatea:


P( z −1 ) B ( z −1 )
G( z) = ≡ , (2.2.35)
Q( z −1 ) A( z −1 )
adică
P ( z −1 ) p1 z −1 + p 2 z −2 + ... + pm z − m q0 ⋅ (b1 z −1 + ... + bm z − m ) q0 B ( z −1 )
= ≡ = .
Q( z −1 ) q0 + q1 z −1 + ... + qm z −m q0 ⋅ (1 + a1 z −1 + ... + am z −m ) q0 A( z −1 )
(2.2.36)
Aceasta conduce la:
P ( z −1 ) = q0 ⋅ B ( z −1 ) , (2.2.37)
Q( z −1 ) = q0 ⋅ A( z −1 ) . (2.2.38)
În particular, pentru z = 1, şi ţinând cont că P(1) = 1, relaţia (2.2.37) conduce
la:
P (1) 1
q0 = = . (2.2.39)
B (1) b1 + ... + bm
Pentru structura din Fig. 2.1.1. se calculează
1 H v ( z)
H R ( z) = ⋅ , (2.2.40)
G( z) 1 − H v ( z)
în care, dacă se substituie (2.2.1) şi (2.2.10), se obţine:
A( z −1 ) P ( z −1 )
H R ( z) = ⋅ . (2.2.41)
B ( z −1 ) 1 − P ( z −1 )
Ţinând cont de (2.2.37) rezultă
16
A( z −1 ) q0 B ( z −1 ) q0 A( z −1 )
H R ( z) = ⋅ = .
B( z −1 ) 1 − q0 B ( z −1 ) 1 − q0 B ( z −1 )
Deci, legea de reglare obţinută prin metoda dead-beat clasic, pentru sisteme
fără timp mort, este:
q A( z −1 )
H R ( z) = 0 . (2.2.42)
1 − q0 B ( z −1 )
Prima comandă aplicată este
1 1
u0 = q0 = = , (2.2.43)
B(1) b1 + ... + bm
iar ultima comandă aplicată la ieşire de către legea de reglare este
1 1 A(1) 1 + a1 + ... + am
um = F ∗ = = = . (2.2.44)
Kp G (1) B(1) b0 + b1 + ... + bm
Algoritmul numeric de conducere automată implementat este deci:
q0
A( z −1 )
W ( z) 1 K AN K NA
D( z ) = N = ⋅ H R (Z ) = . (2.2.45)
E ( z ) K AN K NA 1 − q0 ⋅ B ( z −1 )

2.2.2. Comportarea în circuit închis


Funcţia de transfer în circuit închis realizată de acest sistem este
H v ( z ) = P( z −1 ) = p1 ⋅ z −1 + p2 z −2 + ... + pm ⋅ z − m )
sau
B ( z −1 ) 1
H v ( z ) = P( z −1 ) = q0 B ( z −1 ) = = ⋅ (b1 ⋅ z −1 + ... + bm ⋅ z − m ) . (2.2.46)
B (1) B (1)
Relația (2.2.46) care se poate rescrie sub forma:
b′ ⋅ z m−1 + b2′ ⋅ z m−2 + ... + bm′ −1 ⋅ z + bm′
H v ( z) = 1 (2.2.47)
zm
sau
H v ( z ) = b1′ ⋅ z −1 + b2′ ⋅ z −2 + ... + bm′ ⋅ z − m , (2.2.48)
unde
bi b
bi′ = = i = pi , 1 ≤ i ≤ m . (2.2.49)
b1 + b2 + ... + bm B (1)
Se observă că se asigură o comportare în circuit închis care depinde numai de
numărătorul funcţiei G(z).
De asemenea, sistemul are în circuit închis m poli în originea planului
complex z şi realizează o medie alunecătoare, întârziată cu un pas, pe ultimele m
valori ale mărimii prescrise.
Din (2.2.48) şi (2.2.22) rezultă
17
Y ( z ) = H v ( z ) ⋅ V ( z ) = (b1′ ⋅ z −1 + b2′ ⋅ z −2 + ... + bm′ ⋅ z − m ) ⋅ V ( z ) , sau
Y ( z ) = b1′ ⋅ z −1 ⋅ V ( z ) + b2′ ⋅ z −2 ⋅ V ( z ) + ... + bm′ ⋅ z − m ⋅ V ( z ) ,
care, în domeniul timp, reprezintă media alunecătoare cu suma coeficienţilor de
ponderare egală cu unitatea:
yk = b1′ ⋅ vk −1 + b2′ ⋅ vk −2 + ... + bm′ ⋅ vk −m , sau
yk = p1 ⋅ vk −1 + p2 ⋅ vk − 2 + ... + pm ⋅ vk − m . (2.2.50)
Un sistem de tip medie alunecătoare este denumit şi sistem discret cu răspuns
la impuls finit (FIR <=> Finite Impulse Response).
Această comportare este asigurată numai dacă comenzile uk nu depăşesc
anumite valori limită care menţin valabilă descrierea prin modele liniare.
Dacă mărimea impusă este un semnal treaptă, comportarea în circuit închis
este cea impusă prin condiţiile (2.1.5), (2.1.6), (2.1.7).
Pentru oricare alte intrări, răspunsul dat de (2.2.50) atinge o valoare de regim
staţionar egală cu valoarea constantă a mărimii impuse (dacă mărimea impusă
ramâne constantă m perioade de eşantionare), deci se asigură eroare staţionară de
poziţie nulă pentru oricare formă de variaţie a mărimii impuse, dacă aceasta se
menţine la o valoare constantă m perioade de eşantionare.
De asemenea, se observă că dacă toţi coeficienţii bi′ , i ∈ [0, m] au acelaşi
semn, atunci răspunsul sistemului în circuit închis este monoton, dacă, în plus,
valorile mărimii impuse vk păstrează acelaşi semn cel puţin m paşi.

2.2.3. Evoluţia în circuit închis a mărimii de comandă


Din (2.2.16) şi (2.2.38) rezultă că funcţia de transfer de comandă este,
H c ( z ) = Q( z −1 ) = q0 ⋅ A( z −1 ) = q0 ⋅ (1 + a1 ⋅ z −1 + ... + am ⋅ z − m ) (2.2.51)
sau
H c ( z ) = a0′ + a1′ z −1 + a2′ z −2 + ... + am′ z − m = q0 + q1 ⋅ z −1 + ... + qm ⋅ z − m (2.2.52)
cu
ai a
qi = ai′ = = i , 0 ≤ i ≤ m, a0 = 1 . (2.2.53)
b1 + b2 + ... + bm B (1)
Din (2.2.23) şi (2.2.52) rezultă că:
U ( z ) = H c ( z ) ⋅ V ( z ) = (a0′ + a1′ z −1 + a2′ z −2 + ... + am′ z − m ) ⋅ V ( z ) , sau
U ( z ) = a0′ ⋅ V ( z ) + a1′ z −1 ⋅ V ( z ) + a2′ z −2 ⋅ V ( z ) + ... + am′ z − m ⋅ V ( z ) ,
de unde se obţine că
uk = a0′ ⋅ vk + a1′ ⋅ vk −1 + a2′ ⋅ vk − 2 + ... + am′ vk − m (2.2.54)
care, în domeniul timp, reprezintă media alunecătoare de m paşi, începând cu pasul
curent.

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.

2.2.4. Exemplu de aplicare şi implementare a metodei dead-beat clasic pentru


sisteme fără timp mort de ordinul unu
Fie un sistem cu funcţia de transfer a părţii fixe de ordinul unu
K1
H F (s) = (2.2.56)
T1 ⋅ s + 1
condus cu calculator numeric prevăzut cu extrapolator de ordinul zero, la care
perioada de eşantionare este T.
Se calculează funcţia de transfer discretă a părţii fixe:
−1
 H ( s )  K ⋅ (1 − λ) K1 ⋅ (1 − λ) ⋅ z B( z −1 )
G ( z ) = (1 − z −1 ) ⋅ Z  F  = 1 = = , (2.2.57)
 s  z −λ 1 − λ ⋅ z −1 A( z −1 )
unde:
T

λ=e , T1
(2.2.58)
B ( z −1 ) = K1 ⋅ (1 − λ ) ⋅ z −1 = b1 ⋅ z −1 ⇒ b1 = K1 ⋅ (1 − λ ) , (2.2.59)
A( z −1 ) = 1 − λ ⋅ z −1 = a0 + a1 ⋅ z −1 ⇒ a0 = 1, a1 = −λ . (2.2.60)
Dacă mărimea impusă are o variaţie treaptă unitate, din (2.2.43) se calculează
valoarea primei comenzi aplicate, astfel:
1 1
u0 = q0 = = . (2.2.61)
B(1) K1 ⋅ (1 − λ )
Folosind (2.2.42), expresia legii de reglare discrete va fi dată de:

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.

2.2.5. Exemplu de aplicare şi implementare a metodei dead-beat clasic pentru


sisteme fără timp mort de ordinul doi
Fie un sistem cu funcţia de transfer a părţii fixe H F (s ) de ordinul doi cu poli
reali, condus cu calculator numeric prevăzut cu extrapolator de ordinul zero, la care
perioada de eşantionare este T = 1 sec:
10 KF
H F (s) = = (2.2.68)
( s + 1) ⋅ ( s + 2) (T1 ⋅ s + 1)(T2 ⋅ s + 1)
Se calculează:
K F = 5 , T1 = 1 sec , T2 = 0.5 sec
şi H F (s ) se rescrie sub forma:
K1 K2
H F ( s) = + , unde
T1s + 1 T2 s + 1
K F ⋅ T2 5 ⋅1 K ⋅T 5 ⋅ 0.5
K1 = = = 10 , K 2 = F 2 = = −5 ,
T1 − T2 1 − 0.5 T2 − T1 0.5 − 1
T 1
− −
λ1 = e T1
=e 1 = 0.367879441... ≈ 0.368 ,
T 1
− −
λ2 = e =
T2
= 0.135335283... ≈ 0.135 .
e .5
0

Transformata Z a părţii fixe va fi:


 H (s)   HF 
G ( z ) = (1 − z −1 ) ⋅ Z  F  = (1 − z −1 ) ⋅ Z  ,
 s   s ⋅ (T1 ⋅ s + 1)(T1 ⋅ s + 1) 
sau
21
K 1 (1 − λ 1 ) K 2 (1 − λ 2 ) B ( z −1 )
G( z) = + = , (2.2.69)
z − λ1 z −λ2 A( z −1 )
unde
B( z −1 ) = b1 ⋅ z −1 + b2 ⋅ z −2 , A( z −1 ) = 1 + a1 ⋅ z −1 + a2 ⋅ z −2 ,
cu
T1T2  1 − λ1 1 − λ 2 
b1 = K F  −  ≈ 2,
T1 − T2  T2 T1 
T1T2  − λ 2 (1 − λ1 ) − λ1 (1 − λ 2 ) 
b2 = K F  −  ≈ 0.73 ,
T1 − T2  T2 T1 
a1 = −(λ1 + λ 2 ) ≈ −0.503 , a2 = λ1λ 2 ≈ 0.04968 .
Rezultă:
A( z −1 ) = 1 − 0.503 ⋅ z −1 + 0.04968 ⋅ z −2 , B ( z −1 ) = 2 ⋅ z −1 + 0.73 ⋅ z −2 ,
de unde:
B ( z −1 ) b1 ⋅ z −1 + b2 ⋅ z −2 2 ⋅ z −1 + 0.73 ⋅ z −2
G( z) = = = ,
A( z −1 ) 1 + a1 ⋅ z −1 + a2 ⋅ z − 2 1 − 0.503 ⋅ z −1 + a2 ⋅ z − 2
sau
2 ⋅ z −1 (1 + 0.365 ⋅ z −1 )
G( z) = . (2.2.70)
(1 − 0.368 ⋅ z −1 ) ⋅ (1 − 0.135 ⋅ z −1 )
Atunci:
B (1) = b1 + b2 = K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 ) = 2.73 .
1 1 1
q0 = = = = 0.366 .
B(1) K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 ) 2.73
Legea discretă de reglare cu număr minim de paşi, m = 2, este
q ⋅ A( z −1 ) q0 (1 + a1 ⋅ z −1 + a2 ⋅ z −2 )
H R ( z) = 0 = ,
1 − q0 ⋅ B ( z −1 ) 1 − q0 ⋅ (b1 ⋅ z −1 + b2 ⋅ z − 2 )
sau
0.336 ⋅ (1 − 0.503 ⋅ z −1 + 0.04968 ⋅ z −2 )
H R ( z) = , (2.2.71)
1 − 0.366 ⋅ (2 ⋅ z −1 + 0.73 ⋅ z − 2 )
0.366 − 0.185 ⋅ z −1 + 0.019 ⋅ z −2 0.366 − 0.185 ⋅ z −1 + 0.019 ⋅ z −2
H R ( z) = = .
1 − 0.732 ⋅ z −1 + 0.268 ⋅ z − 2 (1 − z −1 ) ⋅ (1 + 0.267 ⋅ z −1 )
Se observă că z = 1 este un pol, deci eroarea staţionară de poziţie este nulă,
oricare ar fi intrarea vk care atinge un regim staţionar.
Deoarece ambii coeficienţi b1 şi b2 sunt pozitivi, răspunsul este monoton la
variaţia monotonă a mărimii prescrise.

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)

2.3.2. Algoritmul dead-beat clasic pentru sisteme cu timp mort


Se poate aplica procedura anterioară de la sisteme fără timp mort dacă se
echivalează G (z ) din (2.3.3) ca fiind raportul a două polinoame cu gradele m + N
în variabila z −1 , astfel:
~
−N B ( z −1 ) B ( z −1 )
G( z) = z ⋅ = ~ , (2.3.6)
A( z −1 ) A( z −1 )
unde:
~
m
~ ~
B ( z −1 ) = z − N ⋅ B ( z −1 ) = b1 z − ( N +1) + ... + bm z − ( N + m ) = ∑ bi ⋅ z − i (2.3.7)
i =1

~ = 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

2.3.3. Comportarea în circuit închis


Dacă mărimea impusă vk se menţine constantă la o valoare V pe un interval
mai mare decât m,
vk = V , k ∈ [k0 , k0 + p ], p ≥ m , (2.3.15)
atunci, după m paşi, comanda rămâne constantă
m m
A(1)
uk = ∑ a~i′ ⋅ vk − i = V ⋅ ∑ ai′ = V ⋅ = V ⋅ q0 ⋅ A(1), k ∈ [k0 + m, p ] (2.3.16)
i=0 i =0 B(1)
atâta timp cât intrarea este constantă.
Şi în cazul sistemelor cu timp mort, comenzile aplicate ca urmare a variaţiei
treaptă unitate a mărimii impuse, vk = 1(k ) , pornind din regim staţionar cu stare
nulă, sunt date de relaţiile (2.2.55):
k
∑ ai′ , 0 ≤ k ≤ m
i = 0
uk =  m (2.3.17)
 a′ , k ≥ m + 1
i∑ i
 =0
În acelaşi timp, din (2.2.46)÷(2.2.50) rezultă că funcţia de transfer în circuit
închis în raport cu mărimea impusă, H v (z ) , este:
~ ~ z − N ⋅ B( z −1 ) 1
H v ( z ) = P ( z −1 ) = q~0 B ( z −1 ) = = ⋅ (b1 z − ( N +1) + ... + bm z − ( N + m ) )
B(1) B(1)
sau
bi
H v ( z ) = b1′ ⋅ z − ( N +1) + b2′ ⋅ z − ( N + 2) + ... + bm′ ⋅ z − ( N + m ) , bi′ = ,1≤ i ≤ m , (2.3.18)
B(1)
25
astfel că mărimea de ieşire la pasul k,
yk = b1′ ⋅ vk − ( N +1) + b2′ ⋅ vk − ( N + 2) + ... + bm′ ⋅ zk − ( N + m ) (2.3.19)
este dată de o medie alunecătoare întârziată cu N + 1 paşi.
Sistemul în circuit închis răspunde cu o întârziere de N + 1 paşi la
modificările mărimii impuse.
Şi în cazul sistemelor cu timp mort, răspunsul sistemului în circuit închis este
monoton dacă toţi coeficienţii bi′, i ∈ [0, m] , au acelaşi semn şi dacă valorile
mărimii impuse v k păstrează acelaşi semn cel puţin m paşi.

2.4. Metoda dead-beat clasic cu număr extins de paşi


2.4.1. Formularea problemei
Aşa cum s-a văzut, metoda dead-beat presupune atingerea regimului staţionar,
cu eroare staţionară nulă, într-un număr de paşi egal cu ordinul m al sistemului
discret G (z ) , care exprimă partea fixă liniară, cu extrapolator de ordinul zero.
Legea de reglare depinde strict de ordinul m şi de parametrii funcţiei de
transfer G (z ) .
Dacă m = 1 înseamnă că, pentru o aceeaşi instalaţie, trebuie să se atingă
regimul staţionar într-o singură perioadă de eşantionare, indiferent dacă perioada
este 1 msec sau 1 sec. Aceasta presupune aplicarea unor comenzi a căror valoare
este, în modul, cu atât mai mare cu cât perioada de eşantionare este mai mică.
Deoarece, practic, valorile comenzilor posibile sunt limitate, se poate extinde
metoda dead-beat introducând mai multe grade de libertate care să asigure valori
dorite ale primelor comenzi aplicate, în dauna duratei regimului tranzitoriu care
este prelungită cu un număr de paşi egal cu numărul de grade de libertate
considerat. De exemplu, dacă în loc de m paşi se impune atingerea regimului
staţionar în m + 1 paşi, apare un grad de libertate care se poate consuma impunând
o valoare dorită pentru prima comandă aplicată. Aceasta corespunde aşa-numitului
algoritm dead-beat clasic cu număr extins de paşi cu un grad de libertate.
Dacă se impune atingerea regimului staţionar în m + 2 paşi, atunci apar două
grade de libertate care se consumă impunând valori dorite pentru două comenzi
aplicate, şi algoritmul se numeşte Algoritmul dead-beat clasic cu număr extins de
paşi cu două grade de libertate.
Algoritmii cu număr extins de paşi se pot aplica atât pentru sisteme fără timp
mort, cât şi cu timp mort, procedând exact ca în cazul anterior.

2.4.2. Algoritmul dead-beat clasic cu număr extins de paşi cu un grad de


libertate
Se consideră sistemul numeric de reglare cu structura din Fig. 2.1 pentru care
s-au calculat:

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

Din condiţia 3 de mai sus, transformata Z a mărimii de comandă este:


27
z − ( m +1)
U ( z ) = u0 + u1 z −1 + ... + um −1 z − ( m −1) + um z − m + um +1 ⋅ , | z | >1. (2.4.12)
1 − z −1
Atunci, funcţia de transfer intrare-comandă este:
U ( z)  z − ( m +1) 
H c ( z) = = (1 − z −1 ) ⋅ u0 + u1 z −1 + ... + um z − m + um +1 ⋅ −1 
= Q( z −1 ) (2.4.13)
V ( z)  1− z 
adică, un polinom Q( z −1 ) , de gradul m + 1 în variabila z −1 , unde:
Q( z −1 ) = q0 ⋅ z 0 + q1 ⋅ z −1 + q2 ⋅ z −2 + ... + qm ⋅ z − m + qm +1 z − ( m +1) (2.4.14)
cu
q0 = u0 , qk = uk − uk −1 , 1 ≤ k ≤ m + 1 . (2.4.15)
Prin însumare se obţine:
m +1
∑ qi = Q(1) = um +1 , (2.4.16)
i =0

adică ultima comandă aplicată.


Se remarcă faptul că prima comandă aplicată este
u0 = q0 . (2.4.17)
Elementul esenţial al metodelor de tip dead-beat îl constituie identitatea dintre
două funcţii raţionale explicată şi interpretată prin relaţiile (2.2.21)÷(2.2.35).
Ultima relaţie din acest set este deci
P ( z −1 ) B ( z −1 )
G( z) = ≡ (2.4.18)
Q( z −1 ) A( z −1 )
în care, pentru cazul analizat, A şi B sunt polinoame de gradul m, iar P şi Q sunt
polinoame de gradul m + 1 în variabila z −1 .
O posibilitate de efectuare a identităţii (2.4.18) constă în exprimarea
polinoamelor P şi Q sub forma unor produse cu factorul comun (α − z −1 ) , unde α
este un parametru liber, astfel:
P( z −1 ) = P′( z −1 ) ⋅ (α − z −1 ) , (2.4.19)
Q( z −1 ) = Q′( z −1 ) ⋅ (α − z −1 ) , (2.4.20)
în care:
P′( z −1 ) = p1′ ⋅ z −1 + p2′ ⋅ z −2 + ... + pm′ ⋅ z − m , (2.4.21)
−1 −1 −2 −m
Q′( z ) = q0′ ⋅ z + q1′ ⋅ z + q2′ ⋅ z
0
+ ... + qm′ ⋅ z . (2.4.22)
Din (2.4.20), prin identificare, se obţin relaţiile:
q0 = α ⋅ q0′ , (2.4.23)
qk = α ⋅ qk′ − qk′ −1 , 1 ≤ k ≤ m , (2.4.24)

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)

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).

2.4.3. Comportarea în circuit închis


Funcţia de transfer în circuit închis realizată de acest sistem, conform (2.4.29),
poate fi exprimată în formele:
H v ( z ) = P( z −1 ) = q0′ ⋅ B( z −1 ) ⋅ (α − z −1 ) , (2.4.37)
H v ( z ) = p1 ⋅ z −1 + ... + pm ⋅ z − m + pm +1 ⋅ z − ( m +1) , (2.4.38)
p1 ⋅ z − m + p2 ⋅ z m −1 + ... + pm ⋅ z1 + pm +1 ⋅ z 0
H v ( z) = . (2.4.39)
z m +1
Prin identificare, din (2.4.37) şi (2.4.38), în (2.4.37) coeficienţii de ponderare
pi se exprimă în funcţie de valoarea dorită a primei comenzi u0 = û0 aplicată de
legea de reglare ca urmare a unui semnal treaptă unitate a mărimii impuse,
vk = 1(k ) , pornind dintr-un regim staţionar cu stare nulă.
Aceşti coeficienţi depind numai de numărătorul B ( z −1 ) al funcţiei discrete
G(z), adică:
uˆ ⋅ B(1)
α= 0 , (2.4.40)
uˆ0 ⋅ B(1) − 1
û0
q0′ = , (2.4.41)
α
p1 = q0′ ⋅ α ⋅ b1 ,
30
pk = q0′ ⋅ (α ⋅ bk − bk −1 ), 2 ≤ k ≤ m , (2.4.42)
pm +1 = −q0′ ⋅ bm .
Răspunsul general, în domeniul timp, este dat de media alunecătoare:
yk = p1 ⋅ vk −1 + p2 ⋅ vk − 2 + ... + pm ⋅ vk − m + pm +1 ⋅ vk − ( m +1) , (2.4.43)
la care suma coeficienţilor de ponderare este:
P(1) = p1 + p2 + ... + pm + pm +1 = 1 . (2.4.44)
Din (2.4.13), (2.4.20) şi (2.4.28) rezultă că funcţia de transfer de comandă
este:
H c ( z ) = Q( z −1 ) = q0′ ⋅ A( z −1 ) ⋅ (α − z −1 ) (2.4.45)
şi poate fi exprimată în formele:
H c ( z ) = q0 ⋅ z 0 + q1 ⋅ z −1 + ... + qm ⋅ z − m + qm+1 ⋅ z − ( m+1) , sau (2.4.46)
q0 ⋅ z m +1 + q1 ⋅ z m + ... + qm ⋅ z1 + pm +1 ⋅ z 0
H c ( z) = . (2.4.47)
z m +1
Prin identificare în (2.4.45) se exprimă coeficienţii de ponderare ai legii de
comandă în funcţie de valoarea dorită a primei comenzi aplicată de legea de reglare
ca urmare a unui semnal treaptă unitate a mărimii impuse, vk = 1(k ) , pornind dintr-
un regim staţionar cu stare nulă.
Aceşti coeficienţi depind atât de numitorul A( z −1 ) al funcţiei discrete G(z),
cât şi de numărătorul acesteia B ( z −1 ) , prin coeficientul q0′ . Se obţin:
uˆ0 ⋅ B(1) û
α= , q0′ = 0 , (2.4.48)
uˆ0 ⋅ B(1) − 1 α
q0 = q0′ ⋅ α ⋅ a1 , a0 = 1 , (2.4.49)
qk = q0′ ⋅ (α ⋅ ak − ak −1 ), 1 ≤ k ≤ m , (2.4.50)
qm +1 = −q0′ ⋅ am . (2.4.51)

2.4.4. Evoluţia în circuit închis a mărimii de comandă


Răspunsul general, în domeniul timp, al mărimii de comandă este dat de
media alunecătoare,
uk = q0 ⋅ vk + q1 ⋅ vk −1 + q2 ⋅ vk − 2 + ... + qm ⋅ vk − m + qm +1 ⋅ vk − ( m +1) , (2.4.52)
la care suma coeficienţilor de ponderare este:
Q (1) = q0 + q1 + q2 + ... + qm + qm +1 = q0′ ⋅ A(1) ⋅ (α − 1) , (2.4.53)
uˆ0 ⋅ B (1) − 1  1  A(1) 1 1
Q (1) = ⋅ A(1) ⋅   = = = F* . (2.4.54)
B (1)  uˆ0 ⋅ B (1) − 1  B(1) G (1) K p
31
Se calculează valoarea comenzii k aplicată de legea de reglare ca urmare a
unui semnal treaptă unitate a mărimii impuse, vk = 1(k ) , pornind dintr-un regim
staţionar cu stare nulă şi se obţine:
k
∑ qi , 0 ≤ k ≤ m +1
 i =0
u k = m+1 (2.4.55)
∑ q = Q(1) = 1 , k ≥ m + 2
 i =0 i K pF *

Prima comandă aplicată, în condiţiile de mai sus, este

u0 = q0 = q0′ ⋅ α ⋅ 1 = 0 ⋅ α ⋅ 1 = uˆ0 , (2.4.56)
α
adică valoarea dorită û0 .
A doua comandă aplicată este,
1
u1 = ∑ qi = q0 + q1 = q0′ ⋅ α ⋅ a0 + q0′ ⋅ (α ⋅ a1 − a0 ) = q0′ ⋅ α ⋅ (1 + a1 ) − q0′ ,
i =0
deoarece a0 = 1 , sau
1
u1 = uˆ0 ⋅ a1 + . (2.4.57)
B(1)
Se pot impune condiţii suplimentare asupra valorii u1, de exemplu:
 1
uˆ0 > (1 − a ) ⋅ B (1) , 1 − a1 > 0

uˆ0 > 0 , u1 < uˆ0 ⇒ 
1
(2.4.58)
uˆ < 1
, 1 − a1 < 0
 0
(1 − a1 ) ⋅ B (1)
 1
uˆ0 < (1 − a ) ⋅ B(1) , 1 − a1 > 0

uˆ0 < 0 , u1 > uˆ0 ⇒ 
1
(2.4.59)
uˆ > 1
, 1 − a1 < 0
 0
(1 − a1 ) ⋅ B(1)
Egalitatea primelor două comenzi înseamnă
1
u0 = uˆ0 , u1 = uˆ0 ⇒ uˆ0 = , 1 − a1 ≠ 0 . (2.4.60)
(1 − a1 ) ⋅ B(1)
Procedând în aceeaşi manieră, metoda se poate extinde la mai multe grade de
libertate, impunând valori dorite, în mod independent, la mai multe comenzi
succesive.
De asemenea, se poate extinde şi la sisteme cu timp mort prin utilizarea
~ ~
polinoamelor extinse A( z −1 ) şi B ( z −1 ) :

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

3. Sinteza sistemelor numerice folosind metoda dead-beat după stare


3.1. Formularea problemei
Metoda dead-beat după stare, denumită şi metoda substituţiei, asigură legea de
conducere după stare a unui obiect condus descris printr-un sistem liniar invariabil
în timp de ordinul n astfel încât să se asigure evoluţia în originea spaţiului stărilor
într-un număr minim de paşi, durata regimului tranzitoriu fiind determinată de
perioada de eşantionare T.
Metoda se poate aplica la sisteme cu o singură intrare sau la sisteme cu mai
multe intrări.
Pentru început, considerăm cazul sistemului condus cu o singură intrare,
descris prin ecuaţiile de stare (3.1.1) şi (3.1.2)
x (t ) = A ⋅ x(t ) + b ⋅ u (t ) , (3.1.1)
y (t ) = cT ⋅ x(t ) + d ′ ⋅ u (t ) , (3.1.2)
în care vectorul de stare n-dimensional este,
[ ]
x(t ) = x1 (t ) ... x i (t ) ... x n (t ) , (3.1.3)
iar legea de conducere asigură o funcţie constantă pe porţiuni pe intervale cu
lungimi egale cu perioada de eşantionare T,
u (t ) = u (kT + ), t ∈ (kT , (k + 1)T ] . (3.1.4)
Se notează,
u (kT + ) = uk ,
iar şirul de valori uk este obţinut prin relaţia:
uk = hT ⋅ xk = h1 ⋅ x1k + ... + hi ⋅ xki + ... + hn ⋅ xkn , (3.1.5)
unde s-a notat,

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.

S-a notat prin d T vectorul coeficienţilor de ponderare care se înscriu în


programul de conducere,
d T = [d1 d 2 ... d i ... d n −1 d n ] (3.1.10)
şi prin KTr , KAN matricele coeficienţilor traductorului, respectiv ai conversiei AN:
 KTr
1
0 ... 0   K AN 0 ... 0 
 
= 0 K 2
Tr . . . 0  , K =  0 K AN ... 0 .
KTr AN  . . ... . 
(3.1.11)
 . . ... .   0
 0 . . . . KTr 
n
 . . . . K AN 
Mărimea de comandă la pasul k este

( )
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

u (t ) = uk , t ∈ (kT , (k + 1)T ] . (3.1.13)


Dacă se grupează toţi coeficienţii de mai sus într-un singur vector h dat de: T

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

Dacă det A ≠ 0 (matricea A este nesingulară), atunci vectorul g se poate


calcula cu relaţia:
[ ] [
g = A−1 e AT − I b = e AT − I A−1 b , ] (3.1.26)
T
altfel se evaluează analitic sau numeric integrala ∫ e − Aτ b dτ .
0
Deoarece, de obicei, vectorul b conţine multe elemente nule, se calculează mai
întâi vectorul
ψ (t ) = Φ (t ) ⋅ b = e At ⋅ b (3.1.27)
şi apoi se evaluează integrala
T 
g = e AT  ∫ ψ (T − τ) dτ . (3.1.28)
 0 
37
Sistemul din Fig. 3.1.3. caracterizat prin sistemul de ecuaţii:
xk +1 = Φ ⋅ xk + g ⋅ uk , (3.1.29)
u k = h ⋅ xk ,
T
(3.1.30)
este o structură clasică de conducere cu reacţie după stare către originea spaţiului
stărilor, xk = 0 . În circuit închis, acesta este un sistem liniar omogen de forma:
[
xk +1 = Ψ ⋅ xk , Ψ = Φ + g ⋅ hT ,] (3.1.31)
unde matricea Ψ trebuie să fie stabilă.
Problema de sinteză se referă la determinarea vectorului hT folosind diferite
criterii şi metode, iar problema de implementare constă în calculul vectorului d T
folosind relaţia
hi
di = , i = 1, ... , n . (3.1.32)
K NA ⋅ K AN
i
⋅ KTri
Vectorul h se poate determina în mai multe moduri, folosind:
1. Teoria controlului optimal prin care se extremizează diferite criterii globale
de calitate având ca metode de rezolvare Programarea dinamică discretă sau
Principiul maximului discret.
2. Metode de proiectare bazate pe tehnici de alocare poli-zerouri.
3. Proprietăţile de controlabilitate ale sistemelor discrete.
Metoda dead-beat după stare exploatează proprietăţile de controlabilitate ale
sistemelor discrete şi determină vectorul h, astfel încât sistemul să evolueze în
originea spaţiului stărilor cât mai repede posibil (într-un număr minim de paşi de
eşantionare) şi să rămână în origine.
Mai explicit, trebuie determinat vectorul h astfel încât, dacă sistemul pur
discret (3.1.29), rescris (3.1.33),
xk +1 = Φ ⋅ xk + g ⋅ uk (3.1.33)
se află la pasul k în starea xk , şi i se aplică comenzile (3.1.30), rescrise (3.1.34),
uk = hT ⋅ xk , (3.1.34)
sistemul să ajungă la pasul k + p, cu p minim posibil, în originea spaţiului stărilor şi
să rămână în origine:
xk ≠ 0 ⇒ xk + p = 0 , (3.1.35)
x j = 0, ∀j ≥ k + p , (3.1.36)
p minim posibil (3.1.37)
Această problemă de conducere se poate aplica oricărui sistem pur discret
exprimat de la început sub forma (3.1.33), (3.1.34) sau în structura din Fig. 3.1.3.

3.2. Extinderea problemei de conducere către o stare oarecare


38
Dacă se urmăreşte conducerea sistemului (instalaţiei), nu în originea
xˆ = xk + p = 0 a spaţiului stărilor, ci într-o altă stare oarecare xˆ ≠ 0 , se exprimă
această stare dorită sub forma unui produs
xˆ = Q ⋅ w , (3.2.1)
unde w ≠ 0 este un vector constituit dintr-o serie de parametri cu valori dorite
constante în timp, iar Q este o matrice constantă n × n .
Printr-o schimbare de variabilă
ξ = x − Q ⋅ w ⇔ ξ = x − xˆ , (3.2.2)
problema se poate transforma într-o problemă echivalentă de conducere în originea
unui spaţiu al stărilor extins, definit prin vectorul
~ ξ
x = . (3.2.3)
 w
De exemplu, dorim ca sistemul să aibă o evoluţie astfel încât mărimea sa de
ieşire y (considerăm sistemul strict propriu, adică d ′ = 0 în (3.1.2)),
y = cT ⋅ x (3.2.4)
să evolueze către o valoare dorită
yˆ = v (3.2.5)
şi să rămână în această valoare. Mărimea v are semnificaţia unei mărimi prescrise.
Aceasta înseamnă că starea x trebuie să evolueze către o valoare dorită x̂ care
satisface ecuaţia:
cT ⋅ xˆ = v . (3.2.6)
Ecuaţia (3.2.6) cu necunoscuta vectorul x̂ , adică
c1 ⋅ xˆ1 + c2 ⋅ xˆ 2 + ... + cn ⋅ xˆ n = v (3.2.7)
are n − 1 grade de libertate pe care le putem consuma după alte criterii. De
exemplu, alegem:
xˆ i = 0, i = 2, 3 , ... , n (3.2.8)
astfel că soluţia sistemului (3.2.6) sau (3.2.7) este
T
v 
xˆ =  0 0 ... 0 (3.2.9)
 c1 
şi relaţia (3.2.1) impune alegerea:
1 / c1 0 . . . 0
 0 0 . . . 0
Q=
. . . . .
, (3.2.10)
.
 
 0 0 . . . 0
w = v. (3.2.11)
39
Deci am exprimat starea dorită x̂ sub forma (3.2.1):
Q ⋅ w = xˆ . (3.2.12)
Pe modelul pur discret se impune ca, dacă la pasul k ieşirea este yk (adică
starea sistemului este xk care satisface cT xk = yk ), atunci această ieşire să
evolueze către
yk → yk + p = v , (3.2.13)
yj = v, ∀ j ≥ k + p . (3.2.14)
Trebuie menţionat faptul că, pentru comanda unui sistem continual, folosind
un calculator de proces cu perioada de eşantionare T, se pot controla numai valorile
ieşirii din momentele de eşantionare yk = y (kT ) şi, în această analiză, nu se poate
spune nimic despre valorile sale între momentele de eşantionare.
Dacă se impun mai multe condiţii asupra ieşirii, atunci este posibil ca vectorul
w să aibă mai multe componente.
Deci, dacă se doreşte o evoluţie către o valoare a stării xˆ ≠ 0 , se exprimă
aceasta sub forma (3.2.1), în care vectorul w este constant în timp,
xˆ = Q ⋅ w . (3.2.15)
Se defineşte o nouă variabilă
ξ = x−Q⋅w (3.2.16)
a cărei derivată în timp este,
ξ = x − Q ⋅ w (3.2.17)
ξ = x (3.2.18)
deoarece
w = 0 . (3.2.19)
Se poate defini un vector extins
~  ξ    ξ 
x =  , ~ x =  , (3.2.20)
 w  w 
~ ~
x = A ⋅ ~
~ x + b ⋅u , (3.2.21)
unde,
A A Q  ~ b 
A = 
~
, b = . (3.2.22)
 0 0  0 
Aceeaşi problemă de conducere rezolvată pentru perechea (A, b), dacă se
evoluează în originea spaţiului stărilor x = xˆ = 0 , se rezolvă şi pentru perechea
~ ~
( A, b ) care presupune evoluţia către ~x =~
xˆ = 0 , dar care, în realitate, asigură o
evoluţie către starea x = xˆ ≠ 0 , unde xˆ = Q ⋅ w .

40
Din această cauză, în continuare se va considera numai evoluţia către originea
spaţiului stărilor.

3.3. Controlabilitatea sistemului pur discret


3.3.1. Definiţii şi notaţii
Deoarece mărimea de intrare în instalaţia automatizată, adică mărimea de
ieşire din calculator, este o funcţie constantă pe porţiuni, rezultă că modelul
matematic care exprimă comportarea în momentele de eşantionare a obiectului
condus este unul exact, dat de (3.1.20), (3.1.24), (3.1.25), (3.1.26), rescris prin
(3.3.1), (3.3.2), (3.3.3), (3.3.4),
xk +1 = Φ (T ) ⋅ xk + g (T ) ⋅ uk , (3.3.1)
Φ (T ) = e AT = Φ ⇒ det Φ ≠ 0 , (3.3.2)
T
g (T ) = ∫ e A(T − τ) b dτ = g , (3.3.3)
0

[ ]
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

raport cu vectorii s1 , s2 , ... , s p .


Dacă vectorii s1 , s2 , ... , s p sunt liniar independenţi, adică
γ1s1 + γ 2 s2 + ... + γ p s p = 0 ⇔ γ i = 0, ∀i ∈ [0, p ] ,
atunci ei constituie o bază algebrică a subspaţiului S ( s1 ,..., s p ) şi reprezentarea
(3.3.16) este unică, în sensul că pentru un x ∈ S ( s1 ,..., s p ) oarecare pe care îl putem
reprezenta sub forma:
p p
 
x = ∑ γ i si şi x = ∑ γ i si ⇒ γ i = γ i , ∀i ∈ [0, p ] . (3.3.17)
i =0 i =0

Subspaţiul (3.3.15) este înzestrat cu produsul scalar din spaţiul X astfel că


putem interpreta scalarul γ i ca fiind componenta de-a lungul vectorului si a
proiecţiei ortogonale a vectorului x ∈ X pe acest subspaţiu, pe care o notăm,
42
γ i = c Pr{x / si } (3.3.18)
În particular, dacă
{
p = 1, S ( s1 ) = x ∈ X , x = γ1s1 , } (3.3.19)
adică mulţimea vectorilor de stare de-a lungul vectorului s1, iar dacă
 n

p = n, S ( s1 , ... , sn ) =  x ∈ X , x = ∑ γ i si  = X . (3.3.20)
 i =0 

Dacă o anumită valoare a vectorului de stare x ∈ S ( s1 ,..., s p ) este x = x şi
starea respectivă este referită la un pas k, scriem valoarea acestei stări prin simbolul
xk adică

x = x = xk (3.3.21)
şi atunci, în reprezentarea din (3.3.16), marcăm scalarii γ i cu indicele inferior k
adică γ i → γ ik = c Pr{xk / si } astfel că scriem:
p

x = x = xk = γ1k ⋅ s1 + γ k2 ⋅ s2 + ... + γ kp ⋅ s p = ∑ γ ik ⋅ si . (3.3.22)
i =0
În schimb, dacă o aceeaşi valoare a vectorului de stare x ∈ S ( s1 ,..., s p ) este

x = x şi starea respectivă este referită la un pas j, scriem valoarea acestei stări prin
simbolul x j adică,

x = x = xj (3.3.23)
şi atunci în reprezentarea din (3.3.16) marcăm scalarii γ i cu indicele inferior j
{ }
adică γ i → γ ij = c Pr x j / si astfel că scriem,
p

x = x = x j = γ1j s1 + γ 2j s2 + ... + γ pj s p = ∑ γ ij si (3.3.24)
i =0
şi, datorită unicităţii reprezentării avem
xk = x j ⇔ γ ik = γ ij , 1 ≤ i ≤ p . (3.3.25)
În discuţiile care urmează vom întâlni frecvent următoarea situaţie:
La pasul k starea are o valoare x = x a pe care o notăm x = x a = xk astfel că
scalarul γ i de-a lungul vectorului si are valoarea γ i = γ ik , iar la pasul j starea are o
valoare x = x b ≠ x a pe care o notăm x = x b = x j cu scalarul γ q de-a lungul
vectorului sq având valoarea γ q = γ qj , dar valorile x a şi x b sunt aşa fel încât
{
γ ik = γ qj , γ ik = Pr{xk / si }, γ qj = c Pr x j / sq . } (3.3.26)
Dacă în exprimările ulterioare vom întâlni relaţia (3.3.26), trebuie să se
înţeleagă faptul că are loc toată descrierea de mai sus.
43
3.3.2. Domeniile de controlabilitate
Conform definiţiei fundamentale, într-un sistem liniar pur discret (3.3.5),
starea x k la pasul k este controlabilă în originea spaţiului stărilor în p paşi dacă
există o secvenţă de comenzi finite
{ }
uk ,..., uk + p −1 = u[k , k + p −1] (3.3.27)
care să determine evoluţia din starea xk în starea xk + p = 0 .
Mulţimea tuturor valorilor stărilor xk din care este posibil controlul în origine
în p paşi se numeşte domeniul de controlabilitate în p paşi plecând de la pasul k
şi se notează D p (k ) , unde
{ }
D p (k ) = xk ∈ X , ∃u[k , k + p −1] , xk + p = 0 . (3.3.28)
Sistemul respectiv este complet controlabil dacă condiţia de mai sus are loc
pentru oricare stare xk ∈ X , adică D p (k ) = X şi ∀k întreg.
În continuare se vor analiza următoarele aspecte:
1. Care sunt domeniile din care se poate ajunge în origine în p paşi pentru
diferite valori ale lui p.
2. Cum se calculează valorile comenzilor uk care să asigure aceste evoluţii şi
cum se pot implementa într-o structură în circuit închis.
3. Care este succesiunea comenzilor pentru ca evoluţia în origine să se
realizeze într-un număr minim de paşi.
Domeniul D1(k).
Acesta este mulţimea stărilor xk din care sistemul poate fi condus în origine
într-o singură perioadă de eşantionare.
Presupunem că la pasul k sistemul se găseşte într-o stare xk astfel că la pasul
următor k + 1 va fi în starea xk +1 dacă se aplică o comandă uk , unde
xk +1 = Φ ⋅ xk + g ⋅ uk (3.3.29)
Impunând
xk +1 = 0 ⇒ Φ ⋅ xk + g ⋅ uk = 0 ⇒ xk = −Φ −1 ⋅ g ⋅ uk = −(uk ) ⋅ Φ −1 ⋅ g

s1
rezultă
xk = (−uk ) ⋅ s1
deci, sistemul poate ajunge în origine într-un singur pas, aplicând o singură
comanda finită oarecare uk dacă
xk = γ1k ⋅ s1 ∈ S ( s1 ), γ1k = −uk , γ1k = c Pr{xk / s1} (3.3.30)
44
adică dacă starea xk se află de-a lungul vectorului s1 .
Condiţia (3.3.30) este o condiţie necesară, sistemul poate să atingă originea
numai după direcţia vectorului s1, adică numai dacă
xk ∈ S ( s1 ) ⇒ xk = γ1k ⋅ s1 , (3.3.31)
adică xk se află în subspaţiul subîntins de vectorul s1 şi în plus numai dacă se
aplică o comandă
uk = − γ1k . (3.3.32)
În cazul sistemelor liniare cu comanda uk fără restricţii, condiţiile (3.3.31),
(3.3.32) definesc împreună şi condiţia suficientă pentru a avea o evoluţie în origine
într-un pas.
Într-adevăr, dacă xk ∈ S ( s1 ) ⇒ ∃γ1k ∈ ℜ, xk = γ1k s1 şi (3.3.29) devine:
xk +1 = Φ ⋅ xk + g ⋅ uk = Φ ⋅ γ1k ⋅ s1 + g ⋅ uk = Φ ⋅ [ γ1k ⋅ s1 + Φ −1 ⋅ g ⋅ uk ] =
= Φ ⋅ [ γ1k s1 + s1 uk ] = Φ ⋅ [( γ1k + uk ) ⋅ s1 ] = Φ ⋅ [(0) ⋅ s1 ] = 0 ,
în care s-a folosit valoarea comenzii dată de (3.3.32).
Chiar dacă starea xk ∈ S ( s1 ) şi xk = γ1k s1 , numai valoarea uk = − γ1k a
comenzii asigură evoluţia în origine. Substituind (3.3.31) în (3.3.29) avem
xk +1 = Φ ⋅ ( γ1k s1 ) + g uk ,
dar, din (3.3.11) pentru i = 1, avem
Φ ⋅ s1 = s0 = g ,
xk +1 = ( γ1k + uk ) ⋅ g , (3.3.33)
adică dacă xk ∈ S ( s1 ) şi xk = γ1k ⋅ s1 , (3.3.31), se atinge originea la pasul următor
dacă şi numai dacă are loc (3.3.32), uk = − γ1k .
Considerăm că xk ∈ S ( s1 ) şi xk = γ1k ⋅ s1 , însă se aplică oricare altă comandă
uk ≠ − γ1k , atunci xk +1 ≠ 0 . Fie
uk ≠ − γ1k ⇔ uk = − γ1k + δ k , δ k ≠ 0
aplicat sistemului (3.3.29) în condiţiile (3.3.31).
Folosind relaţia (3.3.33) se obţine:
xk +1 = Φ ⋅ ( γ1k s1 ) + g ⋅ (− γ1k + δ k ) = γ1k ⋅ (Φs1 ) − γ1k ⋅ g + δ k ⋅ g ,
xk +1 = γ1k ⋅ ( g ) − γ1k ⋅ g + δ k ⋅ g ,
xk +1 = δ k ⋅ g = δ k ⋅ I ⋅ g ,
în care I = In este matricea unitate n × n .
Se ştie că orice matrice n × n se poate exprima sub forma,

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

adică, sistemul poate ajunge în origine în p paşi, aplicând secvenţa de p comenzi


( )
uk , uk +1 ,, uk + p −1 numai dacă
xk = (−uk ) ⋅ s1 + (−uk +1 ) ⋅ s2 + ... + (−uk + p +1 ) ⋅ s p ∈ S ( s1 ,..., s p ) , (3.3.66)
adică este necesar ca starea xk să se afle în subspaţiul liniar subîntins de vectorii
(
(s1, s2, ... , s p ) prin scalarii − uk ,−uk +1 ,,− uk + p −1 , adică )
− uk = c Pr{xk / s1} = γ1k

− 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).

3.4. Algoritmul de conducere în timp minim


3.4.1. Legea de comandă în circuit deschis
Considerăm că vectorii de controlabilitate {si } 1≤ i ≤ n din (3.3.9) sunt liniar
independenţi astfel că matricea de controlabilitate (3.3.12) este nesingulară
S = [s1  si  sn ], det ( S ) ≠ 0 , (3.4.1)
şi în plus vectorii si sunt aleşi ca vectori de bază pentru spaţiul stărilor X.
Relaţiile (3.3.70) ÷ (3.3.76) pot fi utilizate iterativ în raport cu p = n astfel
că se obţine schema de evoluţie către origine în n paşi:
Pasul 1 xk ∈ S (s1 ,, sn ) = X şi

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 .

3.4.2. Legea de conducere în circuit închis


Dorim să realizăm o lege de conducere în circuit închis a sistemului (3.24),
rescris (3.4.10),
54
xk +1 = Φ ⋅ xk + g ⋅ uk (3.4.10)
cu legea de conducere (3.1.30) , rescrisă (3.4.11),
u k h T ⋅ xk . (3.4.11)
S-a observat şi din (3.4.2) că pentru a conduce starea către originea spaţiului,
oricare ar fi valoarea acesteia şi oricare ar fi pasul, să spunem pasul k şi valoarea
stării la acest pas este notată prin xk , este necesar şi suficient să se aplice o primă
comandă având valoarea cu semn schimbat a componentei vectorului de stare xk
de la pasul respectiv în raport cu vectorul s1 adică,
uk = − γ1k = −q1T ⋅ xk (3.4.12)
Dacă legea de conducere (3.4.12) este valabilă pentru oricare k şi asigură
evoluţia în origine în număr minim de paşi, înseamnă că vectorul de conducere
h T ce trebuie determinat este
hT = − q1T . (3.4.13)
S-a demonstrat că secvenţa de comenzi (3.4.9) asigură evoluţia optimă. În
continuare se demonstrează că legea de conducere (3.4.12) în circuit închis asigură
aceleaşi valori ale comenzilor ca şi secvenţa (3.4.9), rescrisă concentrat
uk + j = −qTj+1 ⋅ xk , j ∈ [0, n − 1], ∀k ∈ Ζ . (3.4.14)
Legea (3.4.12) se consideră valabilă pentru oricare valoare k, deci şi pentru
k → k + j , j ∈[0, n − 1] deci,
uk + j = − q1T ⋅ xk , j ∈ [0, n − 1], ∀k ∈ Ζ . (3.4.15)
Trebuie demonstrat că (3.4.14) şi (3.4.15) dau aceleaşi valori pentru mărimea
de comandă oricare ar fi starea xk ∈ X , adică
uk + j = − qTj+1 ⋅ xk = − q1T ⋅ xk + j , j ∈ [0, n − 1], ∀k ∈ Ζ . (3.4.16)
Dacă folosim legea de conducere (3.4.12) în sistemul (3.4.10)
xk +1 = Φ ⋅ xk ≡ − q1T ⋅ xk + j , j ∈ [0, n − 1], ∀k ∈ Ζ ,
se obţine un sistem pur discret omogen,
[ ]
xk +1 = Φ − g ⋅ q1T ⋅ xk , ∀k ∈ Ζ (3.4.17)
care aplicat iterativ până la pasul k + j determină:
[
xk + j = Φ − g ⋅ q1T ] j
⋅ xk , j ∈ [0, n − 1], ∀k ∈ Ζ . (3.4.18)
Putem astfel exprima comanda uk + j la pasul k + j dată de legea de conducere
(3.4.15) în funcţie de starea xk prin:
[
xk + j = −q1T Φ − g ⋅ q1T ] j
⋅ xk , j ∈ [0, n − 1], ∀k ∈ Ζ , (3.4.19)
55
astfel că identitatea (3.4.16) ce trebuie demonstrată devine
[
uk + j = − qTj+1 ⋅ xk = − q1T ⋅ Φ − g ⋅ q1T ] j
⋅ xk , xk ∈ X
care este echivalentă cu:
[
q j +1 = q1T ⋅ Φ − g ⋅ q1T ],
j
j ∈ [0, n − 1], ∀k ∈ Ζ . (3.4.20)
Dacă (3.4.20) este adevărată, înseamnă că secvenţa de comenzi dată de legea
de conducere (3.4.12) este identică cu secvenţa de comenzi în circuit deschis
(3.4.9) care s-a demonstrat că asigură evoluţia în origine într-un număr minim de
paşi, adică se poate utiliza relaţia (3.4.13) pentru proiectare.
Exprimarea "evoluţia în origine într-un număr minim de paşi" trebuie înţeleasă
astfel: Dacă la un pas oarecare k starea are valoarea
( )
xk ∈ S s1 ,, s p ⊆ X , p ∈[1, n] , (3.4.21)
atunci se realizează o evoluţie în origine în p paşi, dacă se aplică secvenţa de
comenzi dată de legea de conducere (3.4.12):
uk = hT ⋅ xk = − q1T ⋅ xk . (3.4.22)
Dacă pe parcursul acestei evoluţii, de exemplu, la pasul k + j , din motive
oarecare, de exemplu, perturbaţii care nu sunt reprezentate în modelul (3.4.10), se
aplică o altă comandă decât cea optimă,
uk + j = u′ ≠ hT ⋅ xk + j (3.4.23)
se obţine
xk + j +1 = Φ ⋅ xk + j + g ⋅ u′∈ X (3.4.24)
conform celor prezentate anterior, de exemplu, în (3.3.77) o stare xk + j +1 care nu
mai respectă succesiunea de apartenenţă la subspaţii care permit accesul în origine.
În această situaţie starea xk + j +1 constituie starea iniţială din care legea de
reglare realizează evoluţia, dar cu algoritmul anterior, în care k → k + j + 1 şi deci
numărul de paşi în total va fi mai mare decât n. Avem astfel o nouă problemă de
conducere începând cu pasul k ′ = k + j + 1 .
În Fig. 3.4.1 este ilustrat modul de acţiune al legii de conducere optimă către
originea spaţiului stărilor.
Demonstrarea identităţii (3.4.20) se bazează pe proprietăţile matricei de
controlabilitate nesingulare S din (3.4.1)
S = [s1  si  sn ], det (S ) ≠ 0 . (3.4.25)
Se reamintesc relaţiile:
si = Φ −i ⋅ g , Φ ⋅ si = si −1 , Φ ⋅ s1 = g (3.4.26)
Deoarece S −1 = P şi det( S ) ≠ 0 , putem scrie

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

xk+1 ∈ S(s1,s2,…, sp-


Dacă
uk+1 = hT· xk+1
x k + j+1 ∈ X
uk+ 2
Dacă xk+j ∈ S(s1,s2,…, sp-
uk+j ≠ hT· uk+ j

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)

Substituind (3.4.27) şi (3.4.29) în (3.4.32), se obţine:

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,

[0n C ] = [C ξ]⋅ 00n−1 0I nT−1  , (3.4.36)


 n−1 

unde prin I n −1 s-a notat matricea unitate de ordinul n − 1 , prin 0 n −1 un vector


coloană ((n − 1) × 1) , iar prin 0 Tn −1 un vector linie (1× (n − 1)) , ambii cu toate
elementele nule.
Dacă alegem ξ = sn , matricea (3.5.9) se scrie sub forma,

[0n C ] = [C sn ]⋅ 0n0−1 0I nT−1  = [s1  si −1  sn −1 | sn ]⋅ 0n0−1 0I nT−1  = S ⋅ 0n0−1 0I nT−1 


 n −1   n −1   n −1 

astfel că matricea Ψ din (3.4.33) devine,

[ ] 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)

3.4.3. Comportarea sistemului în circuit închis


Sistemul pur discret (3.4.10) n-dimensional cu o intrare scalară
xk +1 = Φ ⋅ xk + g ⋅ uk (3.4.43)
controlat cu legea de conducere (3.4.11)
uk = hT ⋅ xk (3.4.44)
se comportă în circuit închis ca un sistem omogen (3.4.17)
[ ]
xk +1 = Φ − g ⋅ q1T ⋅ xk , ∀k ∈ Ζ (3.4.45)
cu matricea de tranziţie (3.4.32)
[
Ψ = Φ − g ⋅ q1T ] (3.4.46)
Starea la un pas k ≤ j , pornind din pasul k cu starea x = xk , este
xk + j = [Ψ ] ⋅ xk , ∀k ∈ Z , ∀j ≥ 0 ,
j

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.

3.4.4. Procedura de calcul a legii de conducere


Pentru calculul legii de conducere se procedează astfel:
1. Se determină matricea A şi vectorul b ai sistemului continual, presupus de
ordinul n, condus prin reacţie după stare cu un echipament numeric cu perioada de
eşantionare T şi factorii de conversie K NA şi K AN i
, KTri pe canalul i = 1 : n ,
conform (3.1.10). Se exprimă sistemul (3.1.1)
x (t ) = A ⋅ x(t ) + b ⋅ u (t ) . (3.1.21)
2. Se apreciază dacă este vorba de conducere către starea nulă sau către o altă
stare x̂ . În acest caz se exprimă, folosind (3.2.1)÷(3.2.14)
xˆ = Q ⋅ w (3.2.1)
şi se determină sistemul echivalent cu (3.2.15)÷(3.2.22)
~ ~
~x = A ⋅ ~
x + b ⋅u (3.2.22)
~ ~
după care se va considera A = A şi b = b
3. Se calculează
Φ(T ) = e AT = Φ (3.1.24)
T
g (T ) = ∫ e A(T − τ ) ⋅ b ⋅ dτ = g  (3.1.25)
0

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 .

3.5. Exemplu de aplicare a metodei dead-beat după stare pentru un sistem de


ordinul doi
În acest exemplu se va calcula legea de conducere folosind metoda dead-beat
după stare, pentru o instalaţie continuală cu funcţia de transfer,
Y (s )
H (s ) =
1
= (3.5.1)
s ⋅ (s + 1) U (s )
care să asigure evoluţia în origine în timp minim.
Se realizează funcţia de transfer (3.5.1) prin ecuaţii de stare în forma
compagnon controlabilă,
x (t ) = A ⋅ x(t ) + b ⋅ u (t ) , y = cT ⋅ x (3.5.2)
cu
0 1 
A= , b = 0  , c = 1 (3.5.3)
0 − 1 1 0
Ecuaţiile de stare (3.5.2), (3.5.3) se scriu pe componente,

62
x1 = 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.

Mărimea de comandă u este o funcţie constantă pe porţiuni,


u (t ) = wk , t ∈ (kT , (k + 1)T ] ,
unde numărul wk este obţinut din algoritmul numeric.
Sunt folosite două traductoare care furnizează la ieşire tensiuni
r1 , r2 ∈ [−5, 5] Volt , cu factorii de conversie,
5 − (− 5) 10  V 
KTr1 = = = 0.025   (3.5.5)
200 − (− 200 ) 400  mm 

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.

3.6. Proiectarea legii de conducere discretă după criteriul timpului minim


pentru sisteme cu mai multe intrări
3.6.1. Formularea problemei de conducere
Se consideră un sistem liniar continuu cu mai multe intrări, de forma
x = A ⋅ x + B ⋅ u , (3.6.1)
unde
[
u = u1  u j  u r ]
T
(3.6.2)
este un vector r-dimensional iar matricele A şi B au dimensiunile n× n respectiv
n× r .

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

Problema de sinteză constă în determinarea matricei H astfel încât sistemul să


evolueze în origine într-un număr minim de paşi.

3.6.2. Domenii de controlabilitate


Domeniul D1(k)
Ca şi în cazul r = 1 se presupune că sistemul se află în starea xk şi trebuie
determinat domeniul de controlabilitate într-un pas D1(k):
xk +1 = Φ ⋅ xk + G ⋅ uk
xk +1 = 0 ⇒ Φ ⋅ xk + G ⋅ uk = 0 ⇒ (3.6.16)
−1
xk = −Φ ⋅ G ⋅ uk
Se notează prin Si matricea de dimensiune n× r
Si = Φ − i ⋅ G
alcătuită din r vectori coloană n-dimensionali sij
[
Si = si1  sij  sir , ] (3.6.17)
unde vectorul indice j, 1≤ j ≤ r al matricei Si este:

[ ]
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

atunci starea la pasul următor k + 1 va fi:


u1k 

 r 
 j =1   
[
xk +1 = Φ ⋅ xk + G ⋅ uk = Φ ⋅  ∑ γ kj ⋅ s1j  + g1  g j  g r ⋅ ukj  ]
  r 
uk 

( ) ( )
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

care se mai scrie

({ } ),
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

unde pentru fiecare i şi j, sij este un vector n-dimensional.


În (3.6.33) s-a notat prin S sij ({ } 0 ≤ i ≤ p −1; 1≤ j ≤ r
) subspaţiul generat de cei p ⋅r
vectori sij . Relaţia (3.6.33) se mai scrie,
p −1 p −1 r
xk = − ∑ Si +1ui = − ∑∑ sij uij (3.6.34)
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

De exemplu, dacă n = 3, r = 2, p = 2 atunci


pmin = min{p ⋅ 2 ≥ 3} = 2
p

Deoarece spaţiul de stare X este de dimensiune n finit, în (3.6.37) nu pot exista


decât n vectori sij liniar independenţi.
Se aleg primii n vectori sij liniar independenţi pe care-i vom nota simplu (s1,
s2, ... , s n ) şi vor constitui o bază algebrică pentru X. Aceştia sunt constituiţi din toţi
cei r vectori ai matricelor S1, ... ,Sp-1 şi încă i ≤ r vectori din matricea S p care
satisfac relaţia
( p −1) ⋅ r + i = n . (3.6.39)
Cu aceştia se alcătuieşte matricea de controlabilitate S, o matrice ( n × n ):
[ ] [
S = s1  s2  s p = s11  s1r  s1p −1  s rp −1 | s1p  s ip . ] (3.6.40)
Starea xk în baza (s1, s2, ... , s n ) se scrie:
xk = γ1k ⋅ s1 +  + γ rk ⋅ sr + γ rk +1 ⋅ sr +1 +  + γ kn ⋅ s p , (3.6.41)
xk ∈ S (s1 ,  , sr , sr +1 ,  , sn ) , (3.6.42)
în care s-au evidenţiat primii r coeficienţi γ ik , care subîntind subspaţiul S(s1,..., s r )
ce constituie D1(k).
Prima comandă uk aplicată pornind din starea xk va avea cele r componente
ukj , 1 ≤ j ≤ r , egale cu primii r coeficienţi γ ik cu semn schimbat.
Pentru a obţine această comandă se extrag din aceasta primii r coeficienţi γ ik
din (3.6.41) care sunt de fapt componentele de-a lungul vectorilor coloană ai
matricei S1.
Se scrie,
72
 γ1k 

 γr 
xk = γ1k ⋅ s1 +  + γ rk ⋅ sr + γ rk +1 ⋅ sr +1 +  + γ nk ⋅ s p = S  r k+1  (3.6.43)
γ k 

 γn 
 k 
şi se extrage,
 γ1k 

 γr 
 r k+1  = S −1 ⋅ xk . (3.6.44)
γ k 

 γn 
 k 
Se notează
 Q1 
 Q2 
−1   
P = S ⋅ , (3.6.45)
Q p −1 
 
 Q ip 
în care s-au evidenţiat matricele Qi , 1 ≤ i ≤ p − 1 , de dimensiunea (r × n) şi ultima
matrice Q ip alcătuită din ultimele i rânduri conform relaţiei (3.6.39).
Primii coeficienţi γ ik cu semn schimbat constituie vectorul de comandă la
pasul k, sunt,
 γ1k 
uk = −  = −Q1 ⋅ xk = H ⋅ xk , (3.6.46)
γ r 
 k 
adică legea de conducere este dată de matricea
h1T 
 
H = −Q1 = hTj  , unde (3.6.47)
 
 
hrT 

[
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

Ţinând cont de factorii de conversie şi cei ai traductoarelor, se exprimă


hij = K NA
j
⋅ K AN
i
⋅ KTri ⋅ d ij (3.6.50)
astfel că, pentru implementare, în program se calculează
hij
d ij = , 1 ≤ i ≤ n, 1 ≤ j ≤ r , (3.6.51)
j
K NA ⋅ K AN
i
⋅ KTri
coeficientul de ponderare a componentei i a stării pentru componenta j a mărimii
de comandă.

3.6.4. Exemplu de aplicare pentru un sistem cu două intrări şi două ieşiri


Se consideră un proces condus cu 2 intrări şi 2 ieşiri reprezentat în Fig. 3.6.1
cu matricea de transfer, H(s) dată de:

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:
 x1 = −2 x1 + u1
 = − +
 x2 x2 u1
 sau (3.6.55)
 x3 = − x3 + u2
 x4 = 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

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