Sunteți pe pagina 1din 8

SEMINAR 2

REPREZENTAREA SISTEMELOR DINAMICE LINIARE


MULTIVARIABILE PRIN MATRICE DE TRANSFER

1. Matricea de transfer; legătura cu reprezentările de tip intrare -


stare - ieşire
În multe situaţii practice, modelarea intrare - stare - ieşire a unui sistem dinamic
liniar este dificil realizabilă prin metode analitice datorită complexitătii relaţiilor
funcţionale ce descriu comportarea procesului investigat sau datorită imposibilităţii
determinării valorilor numerice ale unor constante de material ce intervin în modelul
respectiv. Pentru astfel de procese (deseori întâlnite în industria metalurgică,
chimică) este mult mai convenabilă utilizarea unor metode de modelare
experimentală (identificare); deoarece în astfel de metode sunt prelucrate valori
referitoare la evoluţia semnalelor (măsurabile) de intrare şi ieşire ale procesului,
modelul matematic asociat sistemului va corespunde unei explicitări directe a
relaţiilor de transfer intrare - ieşire.
Prin generalizarea noţiunii de răspuns la impuls cunoscută de la procesele
monovariabile, ieşirea unui sistem multivariabil este dependentă de vectorul intrării
prin integrala de convoluţie:
t
y (t )   g (t   )r ( )d , y   p , r   m (1)
0

unde g (t )   pxm defineşte matricea de răspuns la impuls a sistemului dinamic


liniar. Pentru a se evita calculul integro - diferenţial solicitat de exploatarea
modelului intrare - ieşire (1) se utilizează metode operaţionale (bazate pe aplicarea
transformatei Laplace L . ); ecuaţia transferului intrare - ieşire se poate explicita
astfel prin:
Y ( s )  G ( s ) R( s ) , Y ( s )  L y (t ), R( s )  L r (t ), G ( s )  L g (t )
(2)
G(s) fiind matricea de transfer a sistemului - matrice cu pxm elemente de tip fracţii
raţionale:
 G11 (s ) G12 (s ) . . . G1m (s ) 
 G (s ) G (s ) . . . G (s ) 
21 22 2m 
G (s )   (3)
 ... ... ... ... 
 G (s ) G (s ) . . . G (s )
 p1 p2 pm 
Modelul intrare - ieşire (2), (3) prezintă avantajul conferit de utilizarea strictă a
calculului algebric în analiza şi sinteza sistemelor automate, oferind de asemenea
posibilitatea interpretării frecvenţiale a comportării sistemului dinamic (prin
substituţia s=0+j). Deoarece modelele intrare - ieşire evită explicitarea transferului
realizat de sistem prin intermediul variabilelelor de stare aplicabilitatea acestora se
rezumă la cazul transferului forţat în condiţii iniţiale nule.
Pentru un sistem dinamic liniar, invariant în timp, reprezentat prin modelul intrare -
stare - ieşire:
 x  Ax  Br
 , x  n , r  m , y   p (4)
 y  Cx  Dr
modelul intrare - ieşire poate fi determinat cu relaţia de calcul:
1
G (s )  C I n s  A  B  D (5)
respectiv:
g (t )  L-1 G (s )  Ce At B (t )  D (t )
. (6)
Problema inversă, de asociere a unui model intrare - stare - ieşire pentru un sistem
dinamic liniar a cărui matrice de transfer este cunoscută, acceptă o infinitate de
soluţii; modelul de stare obţinut se numeşte realizare a matriciide transfer.
Considerând cazul sistemelor strict cauzale, matricea de transfer poate fi reprezentată
în următoarele forme echivalente:
 Q ( s ) ... Q ( s ) 
1  
11 1m
G (s )   ... ... ...  (7)
Pc ( s )  
Q p1 ( s ) ... Q pm ( s ) 

G (s ) 
1
Pc ( s )
r 1 r 1
G s
1 0 k
 . . . G s  G , G  
pxm

, k  1, r  1 (8)

unde Pc(s) este c.m.m.m.c. al numitorilor elementelor matricii de transfer G(s)


r r 1
Pc ( s )  s  p r 1 s . . . p1 s  p 0 , r  n , (9)
Qij(s) sunt polinoamele de la numărătorii elementelor matricii de transfer obţinute
după aducerea la acestora la numitor comun:
r 1 r 1 1 0
Qij ( s )  q s  . . . q s  q , i = 1, p , j = 1, m (10)
ij ij ij
respectiv matricile Gkdin reprezentarea (8) sunt matrici constante, unic determinate,
de forma.
 qk . . . q1m 
k
 11 
G   ... ... ... 
k
(11)
 k k 
 q p1 . . . q pm 
Folosind factorizarea matricii de transfer (8), de tip polinomial cu coeficienţi
matriciali, o reprezentare intrare - stare - ieşire de tip (4) a sistemului poate fi
construită prin relaţiile:
 p r 1 I m  p r  2 I m . . .  p1 I m  p 0 I m  I m 
   
 Im 0 ... 0 0   0 
 0 Im ... 0 0   0 
A   , B  (12)
 ... ... ... ... ...   ... 
   
 0 0 ... 0 0   0 
   
 0 0 ... Im 0   0 
C G r 1
G
r2
... G
1
G
0

2. Utilizarea funcţiilor MATLAB pentru reprezentarea matricilor
de transfer
Datorită faptului că în MATLAB reprezentarea unui polinom se face prin
specificarea unui vector linie având ca elemente coeficienţii polinomiali în ordine
descrescătoare a puterilor, există dificultăţi inerente de reprezentare a matricii de
transfer în forma (7). Concret, în mediul MATLAB este posibilă reprezentarea
compactă numai a matricilor de transfer asociate sistemelor cu o intrare (m=1) şi p
ieşiri (în acest caz matricea de transfer este un vector cu elemente de tip fracţii
raţionale):
 Y1 ( s )   Q1 ( s ) 
Y ( s )   
Y (s)  
2   G ( s ) R ( s )  1  Q2 ( s ) U ( s )
 ...  Pc ( s )  ... 
   
Y p ( s ) Q p ( s )
(13)
Definirea matricii de transfer se va face prin specificarea vectorului linie den asociat
polinomului Pc comun tuturor elementelor matricii de transfer, respectiv prin
matricea num având p linii, pe fiecare linie regăsindu-se polinoamele Qi.
În cazul general, al sistemelor cu m>1 intrări, reprezentarea se va face prin
intermediul a m vectori Gi(s), coloane ale matricii de transfer, conform
descompunerii sistemului în m subsisteme paralele:
Y ( s )  Y u1 ( s )  Y u 2 ( s )  ...Y um ( s ) (14)
Yui ( s )  Gi ( s ) Ri ( s ) , i  1, m (15)
Simularea sistemelor cu o intrare, descrise de (13), se poate realiza cu ajutorul
comenzilor MATLAB:
>>Y=lsim(num,den,u,t);
pentru o intrare cu evoluţie oarecare, descrisă de vectorul u al valorilor intrării la
momentele de timp corespunzând vectorului de timp t, respectiv:
>>Y=impulse(num,den,t);
>>Y=step(num,den,t);
pentru cazul în care intrarea are evoluţii standard de tip impuls sau treaptă unitară. În
toate cazurile Y este o matrice cu p coloane (numărul de ieşiri ale sistemului), fiecare
reprezentând descrierea evoluţiei în timp a ieşirii asociate.
În cazul mai multor intrări, se vor simula separat componentele ieşirii asociate
fiecărui semnal de intrare în parte (conform (15)), sumându-se în final soluţiile
obţinute (conform (14)).
Conversia modelului de stare în m vectori de transfer (asociaţi celor m intrări ale
sistemului) poate fi realizată cu funcţia MATLAB ss2tf apelată succesiv de m ori:
>>[num1,den]=ss2tf(a,b,c,d,1);
>>[num2,den]=ss2tf(a,b,c,d,2);
...
>>[numm,den]=ss2tf(a,b,c,d,m);
În cazul operaţiei inverse, de construire a unei realizări intrare - stare - ieşire plecând
de la setul de vectori de transfer asociaţi celor m subsisteme paralele, se poate folosi
funcţia de conversie a modelului tf2ss apelată de m ori:
>>[a1,b1,c1,d1]=tf2ss(num1,den);
>>[a2,b2,c2,d2]=tf2ss(num2,den);
...
>>[am,bm,cm,dm]=tf2ss(numm,den);
urmată de conectarea celor m susbsiteme cu ajutorul funcţiei parallel:
>>[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,[],[],[1 2 ..p],[ 1 2 ..p]);
>>[a,b,c,d]=parallel(a,b,c,d,a3,b3,c3,d3,[],[],[ 1 2 ..p],[ 1 2 ..p]);
...
>>[a,b,c,d]=parallel(a,b,c,d,am,bm,cm,dm,[],[],[ 1 2 ..p],[ 1 2 ..p]);
Rezultatul produs este de tipul (12) şi poate fi minimizat, prin eliminarea stărilor
redundante cu:
>>[a,b,c,d]=minreal(a,b,c,d);

3. Exerciţii rezolvate; probleme propuse


Exerciţiul 1
Se consideră cuptorul electric de tratament termic cu încărcare verticală prezentat în
figura 1:
cuptor
i1
u1 1 y1
DCG A

i2
2 y2
u2
DCG A

piesã

Figura 1
Cuptorul este încălzit prin intermediul a două rezistoare parcurse de curenţii i1, i2.
Controlul puterii calorice cedate incintei cuptorului de către rezistoarele de încălzire
se realizează prin modificarea valorilor medii ale celor doi curenţi cu punţi
redresoare realizate cu tiristoare; unghiul de aprindere a tiristoarelor este modificat
de către dispozitive de comandă pe grilă (DCG) comandate cu semnalele unificate de
tensiune (în gama [0,10]V) u1, u2. Temperaturile obţinute în cele două zone ale
cuptorului 1, 2 sunt măsurate cu ajutorul a două termocuple. Semnalele de măsură
sunt amplificate de către blocuri adaptoare (A) obţinându-se tensiunile de ieşire y1,
y2; cele două ieşiri sunt semnale unificate de tensiune (în gama [0,10]V)
proporţionale cu temperaturile măsurate în plaja termică [0,600] oC.
a) Să se realizeze modelarea sistemului multivariabil utilizând reprezentarea de tip
matrice de transfer;
b) Să se simuleze comportare sistemului la intrări de forma u(t)=[1 1]T(t).
c) Să se construiască o realizare intrare - stare - ieşire a sistemului şi să se simuleze
răspunsul forţat al sistemului produs de intrarea u(t)=[1 1]T(t).
a) Modelarea analitică a sistemului este dificilă datorită complexităţii ridicate a
relaţiilor de bilanţ ce descriu fenomenele de transfer termic. În ecuaţiile de bilanţ
respective trebuie luate în consideraţie diversele forme de transmitere a căldurii
(radiaţie, conducţie, convecţie) atât între radiatorul electric şi incinta cuptorului, cât
şi între masa gazoasă din incintă şi piesa supusă tratamentului termic; de asemenea
nu trebuie neglijate fluxurile termice de pierderi către exteriorul cuptorului prin
pereţii acestuia. O modalitate practică de deducere a unui model aproximativ, liniar,
al sistemului multivariabil constă în înregistrarea efectelor produse de aplicarea unor
semnale de intrare standardizate (spre exemplu cu evoluţie de tip treaptă) şi
interpretarea analitică a răspunsurilor obţinute.
Evoluţia ieşirilor sistemului la aplicarea succesivă a unor semnale de intrare cu
variaţie treaptă de tipul
u(t)=[5 0]T(t), respectiv u(t)=[0 5]T(t) sunt prezentate în figura 2.
7 8

6 7
y1 y2
6
5
y2
5
4 y1
4
3
3

2
2

1 1

0 0
0 0.5 1 1.5 2 2.5 3 ore 0 0.5 1 1.5 2 2.5 3
ore

a) răspunsul sistemului pentru u(t)=[5 0]T(t); b) răspunsul sistemului pentru u(t)=[0


5]T(t)
Figura 2
Se observă că atât comanda u1 cât şi comanda u2 produc evoluţii exponenţiale,
amortizate, ale mărimilor de ieşire; relaţiile de transfer intrare - ieşire se pot
aproxima în consecinţă prin funcţii de transfer de ordinul I:
Y ( s )  Yu1 ( s )  Yu 2 ( s )  G1 ( s )U1 ( s )  G2 ( s )U 2 ( s ) 
 k11   k12 
T s  1  T s  1
  11 U1 ( s )   12 U 2 ( s )
 k21   k22 
 T21s  1   T22 s  1 
unde vectorii Yu1, Yu2 reprezintă ieşirile sistemului sub influenţa exclusivă a intrării
u1, respectiv u2.
Din rezultatele precizate în figura 2, măsurând factorii statici de amplificare Kij şi
constantele de timp Tij exprimate în ore (se consideră că durata regimului tranzitoriu
asociat elementelor de ordinul I este de aproximativ 4 constante de timp) se obţin:
k11  1.35, k12  1.25, k21  1.3, k22  1.4, T11  0.25, T12  0.6, T21  0.7,
T22  0.35,
modelul asociat sistemului în forma matricii de transfer fiind:
 1.35 1.25 
 
Y ( s )  G ( s )U ( s )   0.25 s 1 0.6 s  1 U ( s )
1.3 1.4
 
 0. 7 s  1 0.35s  1 
Matricea de transfer se poate reformula cu scopul obţinerii unor polinoame monice la
numitorii elementelor matricii:
 5.04 2.08 
 
Y ( s )   s1.864 s  1.6667 U ( s )
4
 
 s  1.4286 s  2.8571 
Reprezentarea matricii de transfer în MATLAB se face astfel:
-se calculează polinomul c.m.m.m.c al numitorilor matricii de transfer:
» Pc=conv(conv([1,4],[1,1.4286]),conv([1,1.667],[1,2.8571]))
» den=Pc
-se definesc matricile coeficienţilor polinomiali de la numărătorii elementelor
fiecărei coloane a matricii de transfer (după aducerea tuturor fracţiilor la acelaşi
numitor):
» num1=[5.4*deconv(Pc,[1,4]);1.86*deconv(Pc,[1,1.4286])]
» num2=[2.08*deconv(Pc,[1,1.6667]);4*deconv(Pc,[1,2.8571])]
Validarea modelului construit este posibilă prin simularea sistemului la aceleaşi
evoluţii ale intrărilor ca şi în cazul experimentelor făcute pe procesul real:
» t=0:0.05:3;
» yu1=lsim(num1,den,5*ones(t),t);
» yu2=lsim(num2,den,5*ones(t),t);
În figura 3 sunt prezentate comparativ răspunsurile simulate şi cele reale. Se observă
aproximarea suficient de bună a modelului; diferenţele existente sunt datorate
neglijării unor constante de timp parazite, elemente de transfer neliniar şi/sau
întârzieri pure (timpi morţi). De asemenea se remarcă unul din inconvenientele
modelării prin matrice de transfer: răspunsurile reale au asociate condiţii iniţiale
nenule (corespunzând temperaturii mediului ambiant), condiţii ce nu pot fi luate în
considerare în modelarea intrare -ieşire.
7 8

6 7

6
5
5
4
4
3
3
2
2

1 1

0 0
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3

a) răspunsul sistemului simulat şi real b) răspunsul sistemului simulat şi real


(punctat) pentru u(t)=[5 0]T(t) (punctat) pentru u(t)=[0 5]T(t)
Figura 3
b) Simularea sistemului la intrarea specificată, cu variaţie simultană a ambelor
comenzi, se bazează pe principiul suprapunerii efectelor - se vor executa douã
simulãri succesive, separat pentru fiecare intrare în parte, însumându-se în final
rezultatele simulãrilor:
» t=0:0.05:3;
» yu1=step(num1,den,t);
» yu2=step(num2,den,t);
» y=yu1+yu2;
Rezultatele simulãrii sunt prezentate în figura 4
3

2.5

2 y1

1.5
y2

0.5

0
0 0.5 1 1.5 2 2.5 3

Figura 4
c) Pentru construirea modelului intrare - stare - ieşire se procedează astfel:
- se obţin realizările asociate fiecărui subsistem cu 1 intrare şi 2 ieşiri:
» [a1,b1,c1,d1]=tf2ss(num1,den);
» [a2,b2,c2,d2]=tf2ss(num2,den);
- se conectează subsistemele anterior obţinute într-o structură paralelă:
» [a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,[],[],[ 1 2],[ 1 2])
- se minimizează dimensiunea reprezentării de stare:
» [A,B,C,D]=minreal(a,b,c,d,1.e-6)
Reprezentarea de stare obţinută este:
  2.3010 1.0230  1.4943  10.7344  0  0.1968
   0.0451 2.4543  6.3271 3.1152   0.0909
 x   x   0.1270 
u
   0.0020 2.8328  7.4737 2.3419   0.1129 0.0502 
    
   0.0630  0.0909 0.2903  2.6318   0.1109 0.0639 
 0 0  15.3863 96.2019
y   x
 0 0 15.7510 93.9743
În cazul reprezentării de stare construite componentele vectorului de stare nu au
semnificaţie fizică evidentă.
Echivalenţa celor două modele, cel de stare şi cel de tip matrice de transfer, este
validată prin simularea răspunsului forţat al sistemului pentru aceeaşi evoluţie a
intrărilor ca şi la punctul (b):
» [y,x]=lsim(A,B,C,D,[ones(t'),ones(t')],t);
Rezultatele simulării sunt precizate grafic în figura 5.
0.03 3

0.02 2.5

0.01
2
0
1.5
-0.01
1
-0.02

-0.03 0.5

-0.04 0
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3

a) evoluţia stării b) evoluţia a ieşirii


Figura 5
Exerciţiul 2
Se consideră sistemul:
   1 .5  1  0 .5  1 0

 x   0.5  2  0.5 x  1 1u
 

  0.5  1  2.5 0 1
 y  1 1 0x
a) Să se determine matricea de răspuns la impuls;
b) Să se determine analitic şi cu ajutorul MATLAB-ului matricea de transfer;
c) Să se determine prin simulare răspunsul indicial al sistemului la intrarea u(t)=[1
1]T(t).
a) Calculul matricii de răspuns la impuls se bazează pe utilizarea relaţiei (6) astfel:
-se definesc ca variabile MATLAB matricile sistemului:
» a=[-1.5,-1,-0.5;-0.5,-2,-0.5;0.5,-1,-2.5];b=[1,0;1,1;0,1];c=[1,1,0];d=[0,0];
-se calculează valorile proprii:
» vp=eig(a);[V,a_tilda]=eig(a);
obţinându-se:
1  1, 2  2, 3  3 .
-se determină matricea modală şi vectorii proprii; se calculează inversa matricii
modale şi se separă linile acesteia:
» v1=V(:,1);v2=V(:,2); v3=V(:,3);
» W=inv(V)
» w1=W(1,:);w2=W(2,:); w3=W(3,:);
- se determină produsele v i w i , i = 1, 3 şi cu ajutorul acestora se construieşte
matricea de tranziţie :
» vw1=v1*w1;vw2=v2*w2; vw3=v3*w3;
obţinându-se:
At t 2 t 3 t
e  v1 w1 e  v 2 w 2 e  v3 w 3 e
- conform (6) matricea de răspuns la impuls este:
At t 2 t 3 t
g ( t )  CeB  Cv1 w1 Be  Cv 2 w 2 Be  Cv 3 w 3 Be
unde produsele Cv i w i B , i = 1, 3 se calculează cu:
» cvwb1=c*vw1*b;cvwb2=c*vw2*b;cvwb3=c*vw3*b;
rezultând:

g (t )  0 0e  t

 1 
1 e
2 t
 1  
2e
3 t
 2 t  e 3 t
 e -e
2 t
 2e
3 t

b) Conform (6) matricea de transfre este:
 2s  5 s 1 
G ( s )  L  g ( t )   
 ( s  2 )( s  3) ( s  2 )( s  3) 
Cu ajutorul MATLAB se poate deduce un rezultat similar apelându-se comenzile:
» [num1,den1]=ss2tf(a,b,c,d,1)
» [num2,den2]=ss2tf(a,b,c,d,2)
unde num1, den1 şi num2, den2 sunt polinoamele asociate numarătorilor şi
numitorilor fiecărei coloane a matricii de transfer. Rezultatul obţinut este:
 num1( s ) num2( s )   2 s 2  7 s  5 2
s  2s  1 
G( s)    
 den1( s ) den2( s )   s 3  6 s 2  11s  6 s 3  6 s 2  11s  6 
Polinoamele num1, den1 şi num2, den2 pot fi factorizate cu ajutorul comenzii de
aflare a rădăcinilor polinomiale roots, obţinându-se:
 2 ( s  1)( s  2.5) ( s  1)
2 
G( s)   
 ( s  1)( s  2 )( s  3) ( s  1)( s  2 )( s  3) 
c) Răspunsul forţat în condiţii iniţiale nule corespunzând intrării u(t)=[1 1]T(t).se
determină cu ajutorul comenzilor:
» t=0:0.05:5;
» yu1=step(num1,den1,t);
» yu2=step(num2,den2,t);
» y=yu1+yu2;
Rezultatul simulãrii este prezentat în figura 6

1
1 U1 s+1 + Y1
0.8
+
2
0.6 s+1
0.4
1
0.2
s
0 U2 - Y2
2 +
-0.2
0 1 2 3 4 5 s+1
Figura 6 Figura 7
Problema 1
Se consideră sistemul reprezentata prin schema bloc din fig. 7.
a) Sã se determine matricea de transfer;
b) Sã se simuleze comportarea sistemului în cazul unei evoluþii a intrãrii de forma
u(t)=[2 1]T(t)
c) Sã se construiascã o reprezentare de stare a sistemului şi să se verifice rezultatul în
Simulink.
d) Sã se determine matricea de rãpuns la impuls

Problema 2
Se consideră sistemul
  0 .5 1  1 1
    
 x    1  0.5 0.5 x   0 u
  2  1  1  1
 0 1 0 
y   x
 1 0 0
a) Să se determine matricea de transfer;
b) Să se determine analitic şi prin simulare răspunsul indicial al sistemului.
c) Construiţi schema bloc echivalentă pe baza matricei de transfer obţinută.

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