Sunteți pe pagina 1din 11

c 


  

Este cunoscut că un observer de stare are ecuaţia
¦a ¦      ×   ¦ (1)

unde termenul à  ×  ¦x conţine diferenţa dintre ieşirea sistemului (măsurată)  şi

« ieşirea » observerului x ¦x dedusă pe baza estimării ¦x Această diferenţă este
amplificată cu à care reprezintă parametrul specific al observerului El se calculează
astfel încât eroarea de estimare Ô  ¦  ¦ care satisface ecuaţia
Ôa ×   Ô Ô ; (2)
să conducă la o dinamică impusă de anulare a erorii Dinamica de anulare a erorii depinde
de valorile proprii ale matricii   Ô  Deci prin alocarea polilor sistemului (2) se
impune viteza cu care starea estimată ¦ converge spre starea reală ¦ Dacă polii alocaţi
sunt apropiaţi de axa imaginară amplificările incluse în vectorul àÔ sunt mici iar
dinamica de anulare a erorii este lentă Fireşte este de dorit ca această dinamică să fie
rapidă ceea ce conduce la impunerea unor poli depărtaţi de axa imaginară In acest caz
amplificările incluse în vectorul àÔ vor fi mari Deoarece amplificarea (vectorială) àÔ
amplifică direrenţa   ¦ iar ieşirea  este conţine o componentă de zgomot este clar
că amplificarea zgomotului poate produce efecte majore în funcţionarea observerului
Variabilele de stare estimate pot conţine componente de zgomot cu atât mai mari cu cât
amplificarea àÔ este mai mare In aceste condiţii apare o dilemă privind alocarea polilor
observerului:
å dacă polii sunt prea apropiaţi de axa imaginară amplificarea àÔ este redusă şi
nivelul zgomotului ca afectează starea estimată este mic In schimb dinamica
de anulare a erorii de estimare este lentă;
å dacă polii sunt prea departaţi de axa imaginară dinamica de anulare a erorii de
estimare este rapidă însă amplificarea àÔ rezultă mare şi nivelul zgomotului
ca afectează starea estimată este excesiv
Evident trebuie căutat un compromis ceea ce implică rezolvarea iterativă a
problemei de alocare până se obţine o soluţie convenabilă
Filtrul Kalman consideră ‘ Ô  Ô‘‘
 Ô ÔÔ Ô Ô  
Ô¦
 ‘iarÔ Ô   ‘ Ô 
Ô      
Ô‘  Ô 
 Ô
  
   Ô ‘ ‘
Ô ‘ Ô Ô    Ô    Ô 
    
 Ô Ô   Ôÿ
Filtrul Kalman poate fi formulat in două abordări· Ô  ‘ 
  ‘‘ şi Ô  ‘
 
Ôÿ
In consecinţă trebuie prezentate două probleme preliminare:
å !Ô ÔÔ 
!Ô ;
å !Ô Ô  Ô Ô Ô 
ÔÔ !Ô Ô  
!Ô  (ca
etapă preliminară pentru rezolvarea problemei de estimare optimală a stării în
abordare statistică)


    
ÿ  

Ecuaţiile sistemului sunt:


 
¦a( )  ¦ ( ) ‘( ) ( ) (3)
 ( )  ¦ ( ) ( ) (4)
unde m ( ) M  este vectorul zgomotului de sistem iar ( ) M  este vectorul
zgomotului de măsură (de ieşire) Componentele celor doi vectori reprezintă Ô
Ô Ô
 ÔÔ
‘  ‘Ô   (gaussiană)    Ô ‘Ô:
@ w ( )  §  @ w ( )  §     (5)
iar matricele de autocorelatie şi intercorelaţie sunt:
w
@  ( ) ( Ú )m   w
( )  @ ( ) ( Ú )m   ( )   (6)

w
@  ( ) ( Ú )m  0     (7)

unde matricele  şi  sunt diagonale şi conţin dispersiile A 2   1  şi




A 2 ‰ 1  presupuse cunoscute (se presupune că se cunosc ³intensităţile´


‰
componentelor de zgomot incluse în m ( ) şi ( ) )
†  Zgomotul total care se simte la ieşire conţine 2 componente:
å componenta produsă de zgomotul de sistem Aceasta provine din () fiind
un zgomot colorat deoarece zgomotul alb () acţionează ca o variabilă de
intrare în ecuaţia de stare a sistemului şi are ca efect la ieşire un zgomot
colorat (filtrul de formare a zgomotului colorat este chiar sistemul);
å componenta () care este un zgomot alb (de măsurare)
De regulă prima componentă are o pondere sensibil mai mare

ÿ !"#$%ÿ
†ptimizarea sistemului în abordare statistică implică utilizarea criteriului de
performanţă
w
  @ ¦m ( )¦ ( ) ‘m ( ) ‘( ) (8)
unde @' este simbolul mediei statistice iar  şi  sunt matrice pozitiv definite prin
care se ponderează calitatea reglării respectiv Äefortul´ de comandă Menţionăm că în
cazul optimizării deterministe pe un orizont infinit (problema LQ) în locul mediei
statistice se utilizează integrala celor doi termeni care conţin variabilele de stare şi de
comandă
Se poate demonstra că soluţia problemei LQG este aceeaşi ca în cazul problemei
LQ adică se obţine comanda optimală:
( )   ¦ ( ) (9)
unde
V   J 1 m  (10)
în care matricea  este soluţia ecuaţiei Riccati
´ 1m ´  ´  m ´   0 (11)
Pentru a putea rezolva problema LQG este necesar să existe un observer
conceput pentru sistemul (3) şi (4) Acesta este filtrul Kalman

  
V‘  Ô: sistemul (3) şi (4) precum şi matricele  şi  
Ecuaţia filtrului Kalman pentru timp continuu este:
¦a ¦     ×    ¦ (12)
Se observă că ecuaţia coincide cu cea a unui observer determinist însă matricea de
amplificare notată aici cu V se calculează în alt mod In loc să se apeleze la o problemă
de alocare pentru ecuaţia erorii (2) se impune minimizarea criteriului de performanţă :
w w
  @ ( ¦ ( ) J °¦ ( ))m ( ¦ ( ) J °¦ ( ))  @ Ôm ( )Ô ( ) (13)
Dacă se dezvoltă procedura de minimizare se obţine matricea de amplificare
  ´ m 1 (14)
unde ´ este soluţia ecuaţiei Riccati
 m J1 J m J  J   0 (15)
Dacă se compară ecuaţiile (10) (11) cu ecuaţiile (14) (15) se constată că matricea
amplificării V din problemele LQG şi cea a filtrului Kalman se poate rezolva prin acelaşi
algoritm utilizând corespondenţele din tabelul următor:

Problema LQG    

Filtrul Kalman m  m 

†Ô Ô
Funcţia Matlab care calculează filtrul Kalman este ±   Aici ecuaţia
sistemului se consideră de forma
¦a( )  ¦ ( ) ‘( ) ( ) (16)
 ( )  ¦ ( )
‘ ( )+  ( ) ( ) (17)
ceea ce implică o definire corespunzătoare a modelului sistemului fizic
Apelarea funcţiei kalman se face astfel:

ß   
 





unde KEST este estimatorul Kalman definit ca sistem in spaţiul starilor L este vectorul
amplificării P este soluţia ecuaţiei Riccati iar QN RN NN sunt:

E'T  QN E' T  RN E' T  NN

Estimatorul KEST are intrarea [‘


] şi generează estimările wÔ şi ¦wÔ ale lui  şi ¦
din ecuaţiile: 
¦wÔwÔ‘V(¦wÔ
‘)
wÔ   ¦wÔ +
‘

Prin SYS este definit sistemul în spaţiul starilor  ßß unde


NN0 este omis
@  
Să se construiască în Matlab-Simulink
 observerul de stare pentru un motor de curent
continuu pentru care ecuaţiile sistemului sunt:
!
›        ß  1
!
ß !ß
        ß  2
!
în care: r  19 ohm; L  30 mH; J  01 Kgm2;
K  06 Nm/A; kf  003 Presupunem că
Fig 1ÿÿ
A 2  10 ; A 2  1
1 2
Modelul sistemului conform procedurii de aplicare în funcţia Matlab ±   este

Œ  Œ1
J  J   Œ1  0 Œ 1
¦a   ¦        
     0 1  2
J  0
  
  
  

  ;1 0  
Programul
c
  c   
  
 ± 

    ±  
ß
  ±  ß  
ß  
ß   
ß  
  ßß 
ß   
  
generează următoarele rezultate: 1)Filtrul Kalman
a x1_e x2_e
x1_e -1058 -20
x2_e 8562 -03
b u1 y1
x1_e 3333 9942
x2_e 0 -7962
c x1_e x2_e
y1_e 1 0
x1_e 1 0
x2_e 0 1
d u1 y1
y1_e 0 0
x1_e 0 0
x2_e 0 0
2) Vectorul amplificării: LT  [ 9941670 -796180]
3) Matricea P din ecuaţia Riccati P  99417 -07962
-07962 450925


1) Se consideră sistemul din exemplul prezentat Să se analizeze performanţele
sistemului utilizând un observer clasic (determinist)
clear all;close all;
  
 ±  
!

    ±  


   "      
       
ß  $  
ß   #ß# 
 ß         $  
  # ß#   
   % 
   
 
ß!!      !# ! !# !
"    
 
% 
#ß  
 
# ß      !# ! !# !
ß  
 
ß   
%  ß 

Funcţia serveşte la simularea procesului şi are forma
c    
  
 ± 
&
% 
&
% 
ß 
   &  ±  & 

Funcţia  serveşte la simularea observerului şi are forma


c      $
  
 ±  
ß
  ±  
ß  
ß  
 c    
    $  

Dacă în programul principal se alocă
ß
atunci se obţin rezultatele prezentate în Fig 2a şi b Dacă se alocă
ß
atunci se obţin rezultatele din Fig 3a şi b
Se observă că pe măsură ce scade distanţa polilor alocaţi în raport cu axa imaginară
scade viteza de convergenţă a observerului dar ± în acelaşi timp ± scade şi nivelul
zgomotului suprapus peste variabila estimată
§§ §§

§ §

§§ §§

§ §

§ §§

§ §

§§ §
§ §   § § § § §      


   a b
Fig 2
§§ §§

§ §

§§ §§

§ §

§ §§

§ §

§§ §
§ §   § § § § §      

a b
Fig 3

In cazul filtrului Kalman nu este necesar să se utilizeze diverse variante de alocare


a polilor In acest caz funcţia   care serveşte la simularea filtrului (observerului
statistic) este
c      $
  
 ±  
ß
  ±  
ß  
ß  
ß   
ß  
  ßß 
ß    
   
    $  
Rezultatele care se obţin sunt prezentate în Fig 4a şi b
§ § §

 §
§§

§ §

§

§
§§

§

§§ §
§ §   § §  §  §  §           

a b
Fig 4

Se constată că filtrul Kalman realizează o estimare mai lentă însă cu o bună filtrare a
zgomotului
† 
Proiectarea filtrului Kalman poate fi legată de anumite incertitudini însă într-o
măsură mai mică decât observerele deterministe (aici trebuie testate mai multe variante
de alocare) Inceritudinile filtrului Kalman sunt legate de iniţializarea matricelor
diagonale  şi  care conţin dispersiile A 2   1  şi A 2 ‰  1  presupuse
 ‰
cunoscute (acestea sunt notate prin  şi  în aplicaţia Matlab) Totuşi sensibilitatea
filtrului Kalman în raport cu aceste variabile este redusă Astfel punând
ß   
în funcţia   ceea ce înseamnă modificarea dispersiilor cu un ordin de mărime
rezultatele obţinute sunt cele din fig 5a şi b
§§
§

§
§§

§§

§

§
§§

§

§§ §
§ §   § § § § §      

a b
Fig 5

ß    ß   


  
Fie sistemul pentru timp discret
¦ (  1)  ¦ ( )  ( )  m ( ) (14)
 ( )  ¦(  ) (  ) (15)
Ca şi în cazul timpului continuu filtrul Kalman minimizează un criteriu care
exprimă media statistică a pătratului erorii Ô (  )  ¦ (  ) J °¦ (  ) 
In varianta discretă a filtrului Kalman funcţionarea estimatorului de stare se
descompune în două etape ilustrate în fig 3
Ô ?   Ô se face evaluarea stării sistemului între două momente de
eşantionare -1 şi  Această etapă este numită TU (³mÔ Ô´) Variabila    1

-1


@m› x  
123
  1    1  1    1
1 4 2 43


Fig 3 @ ›

se notează prin    1   1 care înseamnă estimarea stării la momentul -1 pe baza


măsurătorilor din proces efectuate la momentul -1 In etapa TU se face estimarea
variabilei x   J 1 adică a stării la momentul  pe baza ultimei măsurători din proces
efectuată la momentul anterior -1 Această estimare se face pe baza ecuaţiei de stare a
sistemului (excluzând zgomotul ):
°¦    1  °¦ (  1)  (  1) (16)
Fie ´ (  1) matricea de covarianţă a erorii de estimare la momentul -1 Prin
determinarea mărimii °¦   J 1 eroarea de estimare creşte şi matricea de covarianţă a
erorii ´    1 este

w
´    1  " Œ ¦ ( )  °¦    1   Œ ¦ ( )  °¦    1 
m
(17)

Inlocuind ¦ ( ) din ecuaţia de stare (14) şi °¦    1 din ecuaţia (16)


   J 1 devine:
š ° ( J 1) ‘( J 1) m  
   J1  @ Œ ¦( J1) ‘( J 1) ( J 1) J ¦
° ( J 1) ‘( J 1) Œ ¦( J 1) ‘( J 1) ( J 1) J ¦
   

š m
 "
Œ (¦( 1)  ¦( 1))  m( 1) Œ (¦( 1)  ¦( 1))  m( 1)  

°

°
 
š m m
w m
 "Œ¦( 1)  °¦( 1)Œ¦( 1)  ¦° ( 1)  " m( 1)m ( 1) 
 
 ´ (  1) m  (18)
Ô Ô Ô  ‘ Ô - numită ³etapa MU´ (³aÔ‘ ÔÔ  Ô) -
face ajustarea estimării sistemului la pasul  pe baza achiziţiei mărimii de ieşire () Ea
este descrisă prin ecuaţia filtrului:
¦°    ¦°   J 1 V(  ) Œ  (  ) J  ¦°   J 1  (19)
în care matricea amplificării are expresia
1
(  )  ´    1  m Œ  ´    1  m (20)
 
După această etapă varianţa erorii se micşorează ca urmare a informaţiei aduse
de măsurarea () a mărimii de ieşire Prin urmare este necesar să se ajusteze matricea de
covarianţă a erorii conform relaţiei:
J1
     (  )     J 1 J    J 1  m Π    J 1  m    J 1 (21)
 

Prin prelucrarea acestei ecuaţii şi prin cuplarea celorlalte relaţii se obţine modelul
final al filtrului Kalman pentru timp discret:

š°¦    1  ¦° (  1)   (  1)

´    1  ´ (   1) m 

 1
 (  )  ´    1  Œ  ´    1  
m m
(22)

¦°    ¦°    1   ( ) Œ  ( )   °¦    1
  
´    ;?   (  ) ´    1

Dacă cele 2 etape sunt aplicate în ordinea prezentată se obţine un filtru Kalman
Dacă se inversează cele 2 etape (mai întâi MU apoi TU) se obţine un Ô!  
 In etapa MU se calculează
°¦    °¦    1  (  ) Œ  (  )   °¦    1 (23)
 
şi apoi urmează etapa TU care furnizează predicţia
°¦   1   °¦ ( )  ( ) (24)

sau înlocuind °¦ ( )  ¦°   prin expresia (23)


°¦  1      J 1 V( ) Œ  ( ) J  ¦°   J 1  ‘ ( ) (25)
în care
1
(  )  ´    1  m Œ  ´    1  m (26)
 
După predicţie matricea de covarianţă are expresia
  1    Π   J 1 J V(  )   J 1  m  (27)



   
 $  !)  
'
%c
   % 
c
  c    
'
c
 c  
 '
%c  

% cc (
 

    ±   $  (


 
   (
 
ß
  ±  
!
ß    !  
ß   %  !% 
' c
(
 % %     

 
    !% !% !
ß%%c%    $  !%  
$  %%   % 
'(   
  ' 
( 
   

&
%   
 
)
%      
% 
 % &*     % 

 
 % )*     $    
 
'  % 

 
 
! !      ! %  
       !
!
%  %

! 
 +,  
  %  

   
(    
   +    $     
    
   
 
    ! %  
   ,     !
!
%  %
 %  
%   
  %  

 
(    
')  %   
      $     

  
   
)
  
 
, 
(
     ! !


! % 
 !% !%   
  

% 
  
%c  
 !% !    $    
% ß&  &    

! 
      
  §§
§§


§

§§

 



§
§





§§

§ § § § § § § § § §  § § § § § § § § § § 
   

              
§      !
 

 
§§


§ 

§ 
  

" 
§ 
§
§ 


 § 


 § § 
§ §  §  §  §  §  §  §  §  §  § § §§ § §§ § §§ § §§ § § § § § § § § § § § §