Documente Academic
Documente Profesional
Documente Cultură
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
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:
Note:
1. H (λ ) grad numitor > grad numarator
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
Ao = AcT bo = cc co = bc
( Ac , bc , ccT ) ( Ao , bo , coT )
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⎦
⎡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
cˆT = c T T −1
⎧• ⎧• ˆ
⎪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
⎡x ⎤ ⎡0 1⎤ ⎡0 1⎤⎡ x1 ⎤ ⎡x2 ⎤
x = ⎢ 1⎥ T =⎢ ⎥ => x̂ =Tx = ⎢ ⎥⎢ ⎥ = ⎢ ⎥
⎣x2 ⎦ ⎣1 0⎦ ⎣1 0⎦⎣x2 ⎦ ⎣ x1 ⎦
Â
se poate defini matricea modală S = [ x1...xn ] ∈ R nxn unde fiecare coloană xi , i = 1,..., n
−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
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 ⎦ ⎥ =
⎧•
⎪ 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
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⎦
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