Sunteți pe pagina 1din 6

SEMINAR 4

OBSERVABILITATEA STĂRII SISTEMELOR DINAMICE


LINIARE

1. Observabilitatea stării; forma canonică observabilă


Calitatea transferului stare - ieşire realizat de sistemele dinamice liniare poate fi
analizată prin investigarea proprietăţii de observabilitate a stării. Astfel, un sistem
dinamic liniar, reprezentat prin modelul de stare:
 x  Ax  Bu
 , x n , u m , y  p (1)
 y  C x  D u
este de stare complet observabilă dacă pe baza cunoaşterii mărimilor de intrare u(t)
şi de ieşire y(t) pe un interval finit de timp se poate determina evoluţia stării (şi în
mod mai nuanţat starea iniţială oricare ar fi aceasta). În cazul în care numai anumite
traiectorii de evoluţie a stării sunt deductibile prin cunoaşterea comenzii şi ieşirii,
sistemul are proprietatea de parţială (incompletă) observabilitate.
În extremis, sistemul este de stare neobservabilă atunci când traiectoria stării, oricare
ar fi aceasta, nu poate fi estimată pe baza cunoaşterii evoluţiei variabilelor externe
(intrări, ieşiri) ale sistemului.
Observabilitatea stării sistemului dinamic poate fi analizată prin testarea rangului
matricii de observabilitate:
C 
CA 
O , (2)
... 
 n 1 
CA 
Astfel sistemul este de stare complet observabilă dacă şi numai dacă:
rangO = n . (3)
În caz contrar, pentru:
rangO = r < n , (4)
starea sistemului este parţial observabilă, fiind neobservabilă pentru r=0.
În cazul parţialei observabilităţi, cauza esenţială a imposibilităţii deducerii
traiectoriei stării pentru un context dat de evoluţie a variabilelor externe (intrări,
ieşiri) ale sistemului o constituie faptul că transferul stare - ieşire este incomplet
realizat. Astfel, vor exista traiectorii de stare în spaţiul n-dimensional care, datorită
decuplării stare - ieşire, nu generează evoluţii distincte ale ieşirii sistemului şi sunt în
consecinţă neobservabile. Ansamblul acestor traiectorii formează un subspaţiu (n-r)-
dimensional denumit subspaţiul neobservabil:
 
X O  KerO = x   n , Ox  0   n (5)
Subspaţiul complementar, observabil:
X O  n \ X O (6)
este constituit din totalitate traiectoriilor de stare deductibile prin cunoaşterea
evoluţiilor intrărilor şi ieşirilor sistemului.
Proprietatea de observabilitate fiind invariantă în raport cu transformări liniare
nesingulare ale vectorului de stare, reprezenatarea (1) poate fi adusă la forma
echivalentă, denumită forma canonică observabilă:
 ~x   A O 0 ~ xO  B O 
 ~ O      ~  u
 x O   A 21 A O   x O  B O 
 ,
 y  C ~xO 
0 ~   Du
(7)
 O
x
  O
~x   , x   nr , u   m , y   p
O
r ~
O
Reprezentarea (7) pune în evidenţă existenţa a două subsisteme: unul de stare
observabilă, r-dimensional, prin intermediul căruia se realizează transferul stare -
ieşire, respectiv unul de stare neobservabilă, ce nu influenţează direct sau prin
intermediul stărilor observabile vectorul de ieşire.
Conform unei analize anterioare, transferul stare - ieşire este parţial realizat în cazul
existenţei zerourilor de decuplare la ieşire în rândul valorilor proprii ale sistemului.
Corespunzător, între prezenţa acestor zerouri şi observabilitatea parţială a stării
există o relaţie de echivalenţă: numărul acestor zerouri este egal cu defectul de rang
(n-r) al matricii de observabilitate. De asemenea reprezentarea canonică observabilă
(7), evidenţiază faptul că zerourile de decuplare la ieşire ale sistemului sunt valorile
proprii asociate subsistemului neobservabil.

2. Utilizarea funcţiilor MATLAB pentru analiza observabilităţii


sistemelor
Calculul matricii de observabilitate este posibil prin utilizarea comenzii MATLAB
obsv:
>>OB=obsv(A,C)
A, C este perechea de matrici de evoluţie, respectiv ieşire a sistemului, iar OB
denumeşte variabila MATLAB asociată matricii de observabilitate. Rangul acestei
matrici se poate testa cu ajutorul comenzii rank:
>>r=rank(OB)
Pentru aducerea sistemului la forma canonică observabilă se poate utiliza funcţia
MATLAB obsvf:
>>[A_tilda,B_tilda,C_tilda]=obsvf(A,B,C)
Matricile A_tilda, B_tilda, C_tilda corespund reprezentării canonice observabile -
rezultatul produs este aparent diferit de modelul (7) în senul că primele elemente ale
vectorului echivalent de stare aparţin subsistemului neobservabil.

3. Exerciţii rezolvate; probleme propuse


Exerciţiul 1
Fie un sistem alcătuit din trei rezervoare identice cuplate la nivelul bazei (figura 1).
Recipientele de la extremităţi sunt alimentate cu debitele de intrare qi1 respectiv qi2.
Mărimea de ieşire a sistemului este debitul qe evacuat prin curgere liberă din
rezervorul central.
qi1 qi2

h1 h3 h2

R R

A A
q1 q2
qe R
Figura 1
a) Sã se construiascã modelul intrare - stare - ieşire al sistemului corespunzând unui
punct de funcţionare definit prin nivele constante în cele trei recipiente, egale cu
50% din nivelul maxim admisibil (variabilele de stare sunt mici variaţii ale nivelelor
în jurul acestor valori). Se vor folosi urmãtoarele date numerice: ariile celor trei
rezervoare sunt egale cu A=0.01 m2; "rezistenţele" hidraulice ale robinetelor situate
pe conductele de legãturã şi pe conducta de evacuare egale cu R=50; densitatea
lichidului =10-3 kg/m3; acceleraţia gravitaţionalã g=10 m/s 2.
b) Să se simuleze răspunsul liber al sistemului pentru condiţiile iniţiale x(0)=[-0.1 0.1
0]T, respectiv x(0)=[0.3 -0.3 0]T;să se simuleze răspunsul forţat de intrarea
u(t)=[0.001 0.002]T(t);
c) Să se analizeze observabilitatea stării precizând subspaţiul neobservabil..

a) Punctul static de funcţionare al sistemului corespunde nivelelor h10= h20= h30,


respectiv debitelor qi10+ qi20= qe0, q1= q2=0. Modelul dinamic al sistemului
dezvoltat în jurul acestui punct de funcţionare utilizează ca variabile mici abateri ale
nivelelor, respectiv debitelor:
h1  h10  h1 , h2  h20  h2 , h3  h30  h3
q i1  q i10  q i1 , q i 2  q i 20  q i 2 , q e  q e 0  q e
Ecuaţia bilanţului volumetric aplicată fiecăruia dintre cele trei rezervoare este:
Ah1  q i1  q1
Ah  q  q
2 i2 2

Ah3  q1  q 2  q e
unde debitele din conductele de legătură, respectiv debitul evacuat sunt:
q1  g ( h1  h3 ) / R
q 2  g ( h2  h3 ) / R
q e  gh3 / R
Notând x=[x1,x2,x3]T=[ h1 , h2 , h3 ] T , y= q e şi u=[u1,u2]T =[ q i1 , q i 2 ]T se
obţine modelul de stare:
  g g  1 
   0  A 0
 1  
x  
AR AR  x 
g     1   u1 
1
 x 2    0 g
  x2   0  
   AR AR     A  u 2 
 
 x 3   g g  
g   x 3   0 0 
  AR 3
  AR AR  



  x1 
  g   
 y  0 0 x2
  R   
 
 x 3 
respectiv:
 x1   0.02 0 0.02   x1  100 0 
   u 
 x 2    0  0.02 0.02   x 2    0 100  1 
0   2 
u
 x 3   0.02 0.02  0.06  x 3   0

  x1 
 y  0 0 0.0002 x 2 
  
  x 3 
b) Pentru simularea răspunsului liber al sistemului se procedează astfel:
- se definesc matricile sistemului:
» a=[-0.02,0,0.02;0,-0.02,0.02;0.02,0.02,-
0.06];b=[100,0;0,100;0,0];c=[0,0,0.0002];d=[0,0];
- se calculează valorile proprii:
» vp=eig(a)
obţinându-se:
1  0.02; 2  0.0054; 3  0.0746 ,
- funcţie de aceste valori proprii se alege timpul de simulare:
» t=0:5:500;
- se realizează simularea răspunsului liber al sistemului corespunzând condiţiei
iniţiale
x(0)=[-0.1 0.1 0]T:
» [y1,x1]=lsim(a,b,c,d,zeros(length(t),2),t,[-0.1;0.1;0]);
obţinându-se evoluţiile stărilor şi ieşirii din figura 2
0.1 0.1

0.05 0.05

0 0

-0.05 -0.05

-0.1 -0.1
0 100 200 300 400 500 0 100 200 300 400 500

a) evoluţia stării pentru x(0)=[-0.1 0.1 0]T


b) evoluţia ieşirii pentru x(0)=[-0.1 0.1 0]T
Figura 2
- se realizează simularea sistemului pentru condiţia iniţială x(0)=[0.3 -0.3 0]T:
» [y2,x2]=lsim(a,b,c,d,zeros(length(t),2),t,[0.3,-0.3,0]);
obţinându-se evoluţiile stărilor şi ieşirii din figura 3:
0.3 0.1

0.2
0.05
0.1

0 0

-0.1
-0.05
-0.2

-0.3 -0.1
0 100 200 300 400 500 0 100 200 300 400 500

a) evoluţia stării pentru x(0)=[0.3 -0.3 0]T


b) evoluţia ieşirii pentru x(0)=[0.3 -0.3 0]T
Figura 3
- pentru obţinerea răspunsului forţat de comanda u(t)=[0.001 0.002]T(t) utilizează:
» [y3,x3]=lsim(a,b,c,d,[0.001*ones(length(t),1),0.002*ones(length(t),1)],t);
obţinându-se rezultatele reprezentate în figura 4:
x 10-3
25 3

2.5
20

2
15

1.5

10
1

5
0.5

0 0
0 100 200 300 400 500 0 100 200 300 400 500

a) evoluţia stării pentru u(t)=[0.001 0.002]T(t)


b) evoluţia ieşirii pentru u(t)=[0.001 0.002]T(t)
Figura 4
Se observă din compararea primelor două evoluţii ale sistemului, reprezentate grafic
în figurile 2 şi 3, că în situaţia în care x3=0, respectiv x1=-x2, ieşirea este aceeaşi
(constant nulă) nepermiţând disocierea celor două cazuri. Pentru o condiţie iniţială
ce nu respectă restricţiile anterior specificate se produce o evoluţie distinctă a ieşirii
(conform rezultatelor din figura 4). Corespunzător se poate afirma că traiectoriile de
stare x3=0, x1=-x2 sunt neobservabile. Aceste traiectorii corespund unei drepte în
planul stărilor, subspaţiul neobservabil fiind uni-dimensional. Numărul zerourilor de
decuplare la ieşire este 1, rezultat justificat şi de evoluţia de ordin II a ieşirii obţinută
în ultimul caz de simulare (când starea iniţială, şi implicit întreaga traiectorie a stării,
se situează în subspaţiul observabil).
d) Matricea de controlabilitate se calculează cu ajutorul comenzii:
» OB=obsv(a,c)
obţinându-se
 0 0 0.2 
3
 
O  10  0.004 0.004 0.012 
 
 0.0003 0.0003 0.0009 
matrice ce este singulară (de rang 2):
» rank(OB) (rezultat 2)
În consecinţă sistemul este parţial observabil şi are n-r=3-2=1 zero de decuplare la
ieşire.
Subspaţiul neobservabil se determină cu (5), sistemul de ecuaţii:
O x=0
acceptând soluţii de forma:
1
 
x    1 ,    (subspaţiul neobservabil este dreapta x3=0, x1=-x2)
 
0

Exerciţiul 2
Se consideră sistemul:
  13 3  14 3 6   3
 
 x   5 3 4 3  6 x  0u


  0 0  3 1
 y   1  2 3x
a) Să se analizeze observabilitatea stării sistemului;
b) Să se deducă subspaţiul neobservabil al stării;
c) Să se simuleze evoluţia liberă a sistemului în situaţia în care condiţiile iniţiale sunt
x(0)=[3 0 1]T respectiv x(0)=[-2 1 0]T;
d) Aduceţi sistemul la forma canonică observabilă şi evidenţiaţi zerourile de
decuplare la ieşire ale sistemului.
a) Se definesc ca variabile MATLAB matricile sistemului:
» a=[-13/3,-14/3,6;5/3,4/3,-6;0,0,-3];b=[3;0;1];c=[-1,-2,3];d=0;
şi se calculează matricea de observabilitate şi rangul acesteia obţinându-se:
»OB=obsv(a,b);r=rank(OB)
 -1 -2 3 
 
O   1 2 -3  , r=1<n=3
 
 -1 -2 3 
Rezultatul obţinut sugerează că sistemul este de stare parţial controlabilă.
b) Subspaţiul neobservabil al stării este :
  3  2  
     
 3

X O  KerO  x   , Ox  0   x    0     1 ,  ,   
     
 1  0 
Subspaţiul neobservabil este un plan în spaţiul 3-dimensional, corespunzând ecuaţiei
x1=-2x2+3x3
c) Simularea răspunsului sistemului se realizează utilizând comenzile:
-pentru condiţia iniţială x(0)=[3 0 1]T
» t=0:0.1:5;
» [y,x]=lsim(a,b,c,d,zeros(t),t,[3;0;1]);
Rezultatele sunt specificate în figura 5:
3 1

2.5

0.5
2

1.5
0
1

0.5
-0.5

-0.5 -1
0 1 2 3 4 5 0 1 2 3 4 5

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


Figura 5
-pentru condiţia iniţială x(0)=[-2 1 0]T
» [y,x]=lsim(a,b,c,d,zeros(t),t,[-2;1;0]);
obţinându-se rezultatele specificate în figura 6:
1 1

0.5
0.5
0

-0.5 0

-1
-0.5
-1.5

-2 -1
0 1 2 3 4 5 0 1 2 3 4 5

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


Figura 6
Se remarcă faptul că atât timp cât condiţiile iniţiale aparţin susbspaţiului
neobservabil se va obţine o aceeaşi evoluţie a ieşirii (constant nulă). Implicit
cunoaşterea acestei traiectorii a ieşirii nu permite determinarea traiectoriei de stare
(mai precis a stării iniţiale)
d) Aducerea sistemului la forma canonică observabilă se realizează cu ajutorul
comenzii:
» [at,bt,ct]=obsvf(a,b,c);
obţinându-se:
 ~x   2.8045  0.5522 3.5820   ~ x C 1   2.8981 
 ~ C 1    ~   
 C 2  
x   0 . 2849  2 . 1955  9 . 9604   C 2    1.2654u
x
 ~
 x C   0 0  1   ~x C   0 
 ~
  xC 1 
 y  0 0 3.7417 ~ 
  xC 2 
  ~
x C 
Subsistemuluiobservabil îi corespunde valoarea proprie -1; celelalte valori proprii
ale sistemului sunt zerouri de decuplare la ieşire:
zd=eig(at(1:2,1:2)) (rezultat -2 şi -3)

Problema 1
Să se reia exerciţiul 2 pentru situaţia în care matricea de intrare a sistemului este
C=[1 1 1]
Problema 2
Se consideră sistemul:
  1  1  1 1

 x   1 0 0  x  0u

  0 1 0  0
 y  1 0 1x
a) Să se analizeze observabilitatea sistemului şi să se determine subspaţiul observabil
al stării.
b) Să se aducă sistemul la forma canonică observabilă şi să se specifice zerourile de
decuplare la ieşire.

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