Sunteți pe pagina 1din 15

Realizări. Echivalenţă.

Transformări de coordonate.
Discretizarea sistemelor liniare.

Scop:
¾Prezentarea modului de-a obţine o reprezentare în spaţiul
stărilor a unui proces cu o intrare şi o ieşire pornind de la funcţia
de transfer a procesului

¾Prezentarea noţiunii de echivalenţă a sistemelor liniare şi a


modalităţii de efectua o transformare de coordonate

¾Prezentarea modului de obtinere a echivalentului discret pentru


un sistem liniar reprezentat in spatilu starilor sau printr-o functie de
transfer

Regulatoare Automate
2.3 Realizări
β (λ ) β n −1λn −1 + ... + β1λ + β 0
Realizare a unei funcţii de transfer H (λ ) = =
α (λ ) λn + α n −1λn −1 + ... + α1λ + α 0

c T (λI − A) b = H (λ )
−1
este orice triplet T
( A, b, c ) care îndeplineşte condiţia:

⎧s t ∈∈ RR operatorul transformatei Laplace pentru sistemele cu timp continuu


λλ == ⎨
⎩⎩z t ∈
∈ZZ sau operatorul transformatei Z pentru sistemele cu timp discret

Note:
1. H (λ ) grad numitor > grad numarator

Daca grad numitor = grad numarator H (λ ) = H ' (λ ) + d


2. Coeficientul lui λn trebuie sa fie 1.

S.S F.T
Fig. 3.1 Trecerea din spaţiul •
H (λ ) = c
T
(λI n − A)−1 b + d ⇒ unic
stărilor S.S în funcţie de x = Ax + bu
transfer F.T şi invers: o infinitate de realizari H (λ )
y = c x +Automate
T
Regulatoare du
Realizarea standard controlabilă

⎡ 0 1 0 ⎤ ⎡0 ⎤
⎢ M O O ⎥ ⎢0 ⎥
A=⎢ ⎥, b = ⎢ ⎥ , c T = [β β1 L β n−1 ]
0
⎢ 0 O 1 ⎥ ⎢M⎥
⎢ ⎥ ⎢ ⎥ H (λ ) = c (λI − A)−1 b
⎣− α 0 − α1 K − α n−1 ⎦ ⎣1⎦
T

Realizare standard observabilă


⎡0 L − α0 ⎤ ⎡ β0 ⎤
⎢1 O − α ⎥ ⎢β ⎥
A=⎢ 1 ⎥
b = ⎢ 1 ⎥ c T = [0 0 L 1]
⎢ O M ⎥ ⎢ M ⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 1 − α n −1 ⎦ β
⎣ n−1 ⎦ H (λ ) = b (λI − A )−1 c
T

Ao = AcT bo = cc co = bc
( Ac , bc , ccT ) ( Ao , bo , coT )

H (λ ) = H T (λ ) = (cT (λI − A) −1 b)T = bT (λI − AT ) −1 c


Regulatoare Automate
Exemplu

5 3 1 1
3
5 s + 3s + 1 s + s+
H (s ) = 4 H (s ) = 6 2 6
6s + s + 2 1 1
s4 + s +
6 3
Realizare standard controlabilă

⎡ 0 1 0 0⎤ ⎡0⎤
⎢ 0 0 1 0⎥⎥ ⎢0⎥
A= ⎢ , b = ⎢ ⎥, cT = [1/ 6 1/ 2 0 5 / 6]
⎢ 0 0 0 1⎥ ⎢0⎥
⎢ ⎥ ⎢ ⎥
⎣−1/ 3 −1/ 6 0 0⎦ ⎣1⎦

Realizare standard observabilă

⎡0 0 0 − 1 / 3⎤ ⎡1 / 6 ⎤
⎢1 0 0 − 1 / 6⎥⎥ ⎢1 / 2 ⎥
A=⎢ , b=⎢ ⎥, c T = [0 0 0 1]
⎢0 1 0 0 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 1 0 ⎦ ⎣5 / 6 ⎦

Regulatoare Automate
2.4 Echivalenţă
T
Două reprezentări în spaţiul stărilor ( A, b, c ) si ( Aˆ , bˆ, cˆT ) sunt echivalenta daca intre ele exista relatiile:

Aˆ = TAT −1

bˆ = Tb T ∈ Rn×n matrice nesingulară ( detT ≠ 0 )

cˆT = c T T −1

xˆ = Tx , respectiv x = T −1 xˆ T - matrice de transformare de coordonate

⎧• ⎧• ˆ
⎪Tx = TA ⋅ T xˆ + Tb ⋅ u ⎪ xˆ = Axˆ + bˆ ⋅ u
−1
⎨ =⎨
⎪⎩ y = cT ⋅ T −1xˆ + d ⋅ u ⎪⎩ y = cˆT xˆ + d ⋅ u

Regulatoare Automate
Exemple de transformări de coordonate

Inversarea ordinii mărimilor de stare

⎡x ⎤ ⎡0 1⎤ ⎡0 1⎤⎡ x1 ⎤ ⎡x2 ⎤
x = ⎢ 1⎥ T =⎢ ⎥ => x̂ =Tx = ⎢ ⎥⎢ ⎥ = ⎢ ⎥
⎣x2 ⎦ ⎣1 0⎦ ⎣1 0⎦⎣x2 ⎦ ⎣ x1 ⎦

Diagonalizarea unei matrice


Dacă vectorii proprii ai matricei A sunt liniari independenţi ( λ i ≠ λ j , ∀i ≠ j


se poate defini matricea modală S = [ x1...xn ] ∈ R nxn unde fiecare coloană xi , i = 1,..., n

este un vector propriu al lui A.


⎡λ1 0 ⎤
⎢ ⎥
Proprietate a ⎢ λ2 ⎥
matricei modale: S − 1 AS = Λ = ⎢ ⎥ Λ - matrice diagonală
⎢ O ⎥
⎢ ⎥
⎣0 λm ⎦

−1
Dacă
T =S matricea  a sistemului echivalent devine o matrice diagonală având valorile proprii ca elemente
Regulatoare Automate
Notă: În Matlab, valorile şi vectorii proprii al unei matrice se obţin cu funcţia eig

Exemplu:
A=[1 2;0 2];
[S,Lambda]=eig(A); %S - matricea modala cu vectorii proprii ai lui A pe coloane
%Lambda - matrice diagonală cu valorile proprii ale A
S=
1.0000 0.8944
0 0.4472
Lambda =
1 0
0 2
T=inv(S);
A1=T*A*inv(T)
A1=
1 0
0 2

Regulatoare Automate
2.5 Discretizarea sistemelor liniare
Sisteme de reglare automată cu comandă numerică
[biti] [biti] [V ] [V ]

t t t t
*
y + e ud u y
CAN
REGULATOR PROCES
EOZ

y

CAN
[biti] S &H
μP / μC
t

discret continuu

EOZ – extrapolator de ordin zero. În Matlab apare sub iniţialele ZOH (zero order hold)
CAN – convertor analogic numeric. Utlizat pentru conversia A/N a marimii masurate y
(frecvent se foloseste si CAD – convertor analogic digital)
CNA – convertor numeric analogic. Utilizat pentru conversia N/A a marimii de c-da ud
(frecvent se foloseste si CDA – convertor digital analogic)
Regulatoare Automate
a)

b)

T 2T 3T 4T 5T

c)

1 2 3 4 5

Fig. 3.3.2 a) Semnal cu timp continuu, b) Semnal discretizat cu pasul T,


c) Semnal discret
Regulatoare Automate
Rutina care implementează regulatorul se apelează la intervale de timp echidistante
numite pas sau perioadă de eşantionare. La fiecare apel, se execută următoarele
operaţii:
¾ Se citeşte mărimea măsurată y şi se converteşte într-o valoare numerică utilizând
convertorul analog-digital. Această operaţie are 2 faze:
1) eşantionează şi reţine –eng.: sample & hold (S & H), se citeşte şi se
memorează mărimea analogică care trebuie convertita
2) mărimea memorată este convertită în echivalentul numeric
¾ Se citeşte sau se calculează mărimea de referinţă y*
¾ Se calculează noua comandă şi se converteşte într-o tensiune proporţională cu
ea utilizand convertorul numeric analogic
¾ Noua comandă se aplică procesului menţinându-se constantă pe toată durata
unei perioade de eşantionare, până când la pasul următor se aplică o nouă
comandă

Nota: Menţinerea constantă a comenzii pe durata unei perioade de eşantionare,


echivalează cu o extrapolare de ordin zero (EOZ) aplicată unui tren de impulsuri
care reprezintă comenzile calculate la fiecare pas de eşantionare

Regulatoare Automate
Echivalentul discret al reprezentării în spaţiul stărilor

ud u y yd
CNA SISTEM CAN
CONTINUU

Fig. 3.3.3 Echivalentul discret al unui proces cu timp continuu comandat numeric

t∈R t∈Z

⎧ • dx
⎪x = = A⋅ x + B ⋅u + E ⋅v discretizare ⎧x(t + 1) = Ad x(t ) + Bd u(t ) + Ed (t )
⎨ ⎨
⎩ y(t ) = Cd x(t ) + Dd u(t )
dt
⎪y = C ⋅ x + D ⋅u

( A, B, C , D, E ) ( Ad , Bd , C d , Dd , E d )

T T
Ad = eAT = eAt , Bd = ∫ eAθB dθ, Ed = ∫ eAθE dθ
t=T
0 0

d = C,
CRegulatoare Dd = D T - pasul de eşantionare
Automate
Echivalentul discret al reprezentării prin funcţie de transfer
f (t ) - semnal cu timp continuu

F (s ) = L [ f (t )]
discretizare
F(z) = Z[F(s)]

1 e − sT
EOZ are funcţia de transfer: H EOZ (s ) = −
s s

u (t )
1 1
Figura 3.3.4 Descompunerea = +
ieşirii unui CNA cu EOZ T
în 2 semnale treaptă t t
0 T 0

H ( s) ⎤
Obţinerea echivalentului discret
al funcţiei de transfer H (s )
H (z ) ⎡

(
H( z) = Z[HEOZ(s)H(s)] = Z ⎢ 1− e−sT )
s ⎦ ⎥ =

⎡ H(s)⎤ ⎡ −sT H(s)⎤ −1 ⎡ H (s) ⎤ z −1 ⎡ H (s) ⎤


a unui proces: −
= ZRegulatoare Z e
⎢⎣ s ⎥⎦ Automate
⎢⎣ s ⎦⎥ = 1(− z )
Z⎢
⎣ s ⎦ ⎥ =
z ⎢⎣ s ⎥⎦
z − 1 ⎡ H (s ) ⎤
Calculul funcţiei de transfer H ( z ) din H (s ) H (z ) = Z⎢
z ⎣ s ⎥⎦ prin residuuri

⎧•
⎪ x = Ax + bu EOZ ⎧⎪ x(t + 1) = Ad x(t ) + bd u (t )
⎨ ⎨
⎪⎩ y = c T x ⎪⎩ y (t ) = cd T x(t )
t∈Z
t ∈R

EOZ
H (s ) = c ( zI − A) b
T −1 H ( z ) = cd T ( zI − Ad )−1 bd
z − 1 ⎡ H (s ) ⎤
H (z ) = Z⎢
z ⎣ s ⎥⎦
Figura 3.3.5 Modalităţi de obţinere a funcţiei de transfer a unui sistem discretizat

Calculul funcţiei de transfer discretizată H ( z )


prin aplicarea formulei de calcul:
⎧⎪ x(t + 1) = Ad x(t ) + bd u (t )

⎪⎩ y (t ) = c T x(t ) + d
H ( z ) = c T ( zI − Ad )−1 bd + d

În Matlab conversia din continuu în Regulatoare


discret se poate face cu funcţiile c2d sau c2dm.
Automate
2
Exemplu: Un proces are funcţia de transfer H (s ) =
s 2 + 3s + 2
1. Să se discretizeze o realizare a acestei funcţii de transfer. Verificare calcul analitic utilizând Matlab

a) Calcul analitic
⎡0
A=⎢
1⎤

⎣− 2 − 3⎦
⎡0 ⎤
, b = ⎢ ⎥, cT = [2 0] − RSC
⎣1 ⎦
calcul e At [
e At = L −1 (s ⋅ I n − A)−1 ]
⎡ s + 3 1⎤ ⎡ s+3 1 ⎤
( ⎢
sI − A)* ⎣ − 2 s ⎦
⎥ ⎢ (s + 1)(s + 2) ⎡ − e − 2 t + 2e −t − e − 2 t + e −t ⎤
(sI − A) =
−1
= == ⎢
(s + 1)(s + 2)⎥⎥ e At
= ⎢ − 2t ⎥
det s ( s + 3) + 2 ⎢− 2 s ⎥ ⎢⎣ 2e − 2e − t 2e −2t − e −t ⎥⎦
⎢⎣ (s + 1)(s + 2) (s + 1)(s + 2)⎥⎦
pas de esantionare T = 0,1 s
⎡− e − 2T −T − 2T −T ⎤
+ 2e −e +e ⎡ 0,99 0,086 ⎤
Ad = e AT = ⎢ −2T ⎥ Ad = ⎢ ⎥
⎣ 2e − 2e −T 2e −2T − e −T ⎦ T =0.1 ⎣− 0,172 0,7326⎦

T⎡− e −2t + 2e −t − e −2t + e −t ⎤ ⎡0⎤


Bd = ∫ ⎢ −2t −t − 2t

−t ⎥ ⎢1 ⎥
⋅ dt = b) Calcul utilizând Matlab
⎣ 2e
0 14444 − 2e 2e − e ⎦ ⎣ ⎦ T=0.1; % pas de esantionare
4244444 3 {
e At B A=[0 1;-2 -3];
B=[0;1]; % matricele sist continuu
⎡ T − 2t ⎤
T⎡ − 2t
e +e −t ⎤
( −t
⎢ ∫ e + e dt ⎥ ) [Ad,Bd]=c2d(A,B,T) % determinare matricele
% sistemului discret
= ∫⎢ −t ⎥
dt = ⎢T 0 ⎥=
⎢ ⎥ Ad =
( )
− 2t
0 ⎣ − 2e −e ⎦ − 2t −t
⎢ ∫ − 2e − e dt ⎥ 0.9909 0.0861
⎣⎢ 0 ⎦⎥ -0.1722 0.7326
⎡ 1 −2T 1⎤ Bd =
⎢ e − e −T + ⎥ ⎡0,0045⎤ 0.0045
= 2 2 ⇒ Bd = ⎢ ⎥
⎢ −2T −T ⎥ ⎣ 0,0861⎦ 0.0861
⎣ −e +e ⎦T =0,1

Cd = C Regulatoare Automate
2) Să se discretizeze funcţia de transfer H (s) . Să se verifice calculul analitic utilizând Matlab.

a) Calcul analitic H (s ) 2 2 1 2 1
= = = − +
s s( s 2 + 3s + 2) s ( s + 1)( s + 2) s + 2 s + 1 s
Calculul prin reziduuri
z −1 ⎡ H (s ) ⎤ z − 1 ⎧ ⎡ 1 z ⎤ ⎡ ⎛ −2 ⎞ z ⎤
H (z ) = ZH (s ) ⎢⎣ = ⎨ res ( s + 2 ) + res ( s + 1)⎜ ⎟ +
z s ⎥⎦ z ⎩ s =−2 ⎢⎣ s + 2 z − eTs ⎥⎦ s =−1 ⎢⎣ ⎝ s + 1 ⎠ z − eTs ⎥

polii
s

⎡ 1 z ⎤⎫
+ res ⎢ s Ts ⎥ ⎬
=
s =0 ⎣ s z − e ⎦ ⎭ b) Calcul utilizând Matlab
z −1⎛ z 2z z ⎞ >>num=[2];
= ⎜ − + ⎟= >>den=[1 3 2];
z ⎝ z − e −2T z − e −T z − 1 ⎠
>>[p,g]=c2dm(num,den,T,'zoh')
=
(− 2e −T
)
+ e −2T + 1 z + e −T − 2e −2T + e −3T p=
( )
z 2 + − e −T − e −2T z + e −3T 0 0.0091 0.0082
g=
1.0000 -1.7236 0.7408
Particularizare pentru T=0.1:
>>T=0.1;
>>num_d=[-2*exp(-T)+exp(-2*T)+1 exp(-T)+exp(-3*T)-2*exp(-2*T)]
num_d =
0.0091 0.0082
>>den_d=[1 -exp(-T)-exp(-2*T) exp(-3*T)]
den_d =
1.0000 -1.7236 0.7408 Regulatoare Automate

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