Professional Documents
Culture Documents
Lab 11 (SzIR+Fmr)
Lab 11 (SzIR+Fmr)
1. Bevezető
Jelen dolgozat célja röviden bemutatni a dinamikus rendszerek nem mérhető
állapotainak a becslésére használt Kálmán szűrő algoritmus két változatát. A rövid elméleti
bevezető után, külön tárgyalva lesz a lineáris rendszerekre alkalmazható egyszerű Kálmán
szűrő (KF- Kalman Filter) algoritmus, majd ezt követően a bővített Kálmán szűrő (EKF-
Extended Kalman Filter) tanulmányozása kerül sorra. Mindkét változatnál a szűrő
algoritmusoknak csak a diszkrét változata kerül bemutatásra. Az algoritmusok tesztelése és
ezek hatékonyságának vizsgálata különböző elméleti rendszerekre történő szimulációkkal
valósítható meg. Ezek a numerikus szimulációk Matlab környezetben vannak elkészítve.
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
- kimeneten mért jelek (measured signal) – melyet egy megfelelő mérőeszköz bocsájt a
felhasználó rendelkezésére.
Estimate
Input signals Measuring Observed signals Kalman of states
System device filter
System states
(not known)
Physical system
A cél egy olyan becslő meghatározása, mely a mért értékek alapján meghatározza a rendszer
nem-mérhető (vagy ismeretlen) állapotait egy bizonyos kritérium függvény optimalizálásával. A
Kálmán algoritmus a következő feltételek mellett alkalmazható:
- a rendszer illetve a kimeneten jelentkező zajok Gauss eloszlásúak, nulla középértékkel
és ismert kovariancia mátrixokkal;
- a dinamikus rendszer matematikai modellje ismert;
- a tanulmányozott folyamat megfigyelhető kell legyen (a rendszer kimenetén mért
jelekből megfigyelhetők kell legyenek a rendszer belső állapotainak a változásai).
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
v k p a p dimenziós kimeneten megjelenő zaj vektor;
az előbbi jelölés használható a megfelelő becslési hiba kovariancia mátrixokra is. Ezeknek a
meghatározása is két lépésben történik:
Pk 1 / k E{( x k 1 xˆ k 1 / k ) ( x k 1 xˆ k 1 / k ) T Y k , U k } - a k+1 – ik lépésben előre becsült kovariancia
mátrix
Pk 1 / k 1 E{( x k 1 xˆ k 1 / k 1 ) ( x k 1 xˆ k 1 / k 1 ) T Y k 1 , U k } a k+1 – ik lépésben javított becsült
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
ahol a Kk+1 a becslő erősítési mátrixa (mérete n x p).
Felhasználva a rendszer matematikai leírását és keresve a kovariancia mátrix minimális értéket
meghatározható a szűrő algoritmust jellemző rekurzív képletek. A már említett jelöléseknek
megfelelően az egyszerű diszkrét Kálmán szűrő a következő algoritmussal adható meg:
0. Kezdeti értékek megválasztása ( k 0 )
- becsült kezdeti állapot vektor xˆ k / k (mérete n x 1)
- a kezdeti becsült hiba kovariancia mátrixa Pk / k (mérete n x n)
1. Mérés: a bemenő (uk) és a neki megfelelő kimenő jel meghatározása (yk).
2. Predikció (jóslás):
xˆ k 1 k Ak xˆ k k Bk u k (4)
Pk 1 k Ak Pk k Ak T Q k (5)
3. A becslő erősítési vektor meghatározása:
T
K k 1 Pk 1 k C k C k Pk 1 k C k R k
T
1
(6)
4. Javítás (update):
xˆ k 1 k 1 xˆ k 1 k K k 1 y k 1 C k 1 xˆ k 1 k (7)
Pk 1 k 1 I K k 1 C k Pk 1 k (8)
K k Pk k 1C C P C
T
k k 1
T
R 1
(10)
Pk 1 / k A Pk / k 1 A T Q A K C P
k k / k 1
C T R K kT A (11)
Megjegyzendő, hogy az eredeti rendszer dinamikája időben invariáns, de a Kálmán becslő egy
időben változó dinamikus rendszerként tekinthető (9 képlet), ahol a K erősítési mátrix mindig
függ a k-dik lépéstől.
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
Az algoritmus konvergenciája nagymértékben függ a kezdeti értékeknek a helyes
megválasztásától. Javasolt, hogy a kezdeti becsült állapotvektor legyen egyenlő a rendszer
valós kezdeti állapotvektorának az értékével. Ha viszont ez nem ismert, akkor érdemes ezt az
értéket nulláról indítani ( x0 / 0 0 ). A becsült hiba kezdeti kovarianciája P0 / 0 I , ahol az
paraméter értéke jelöli azt, hogy mekkora a „bizonytalansága” a kezdeti becslő hibának. Ha a
becslő algoritmus konvergens, akkor a lépésről lépésre számított kovariancia mátrixnak a
nyoma csökkeni fog, mindez jelzi azt, hogy a becsült állapotvektor értékei a valós értékek felé
tartanak.
ahol a képletben megjelenő mennyiségekre 2.1. –es paragrafusban már említett tulajdonságok
érvényesek. Az F: nn és G:pn pedig nemlineáris (de folytonos) többváltozós
függvények. A bővített Kálmán szűrő (EKF – Extended Kalman Filter) algoritmus hasonló az
egyszerű Kálmán szűrő algoritmushoz viszont itt minden lépésben (munkapontban) a
nemlineáris modell egy linearizált modellel helyettesíthető. Tehát szükséges az adott
munkapont körül a rendszer linearizálása. Ennek megfelelően az EKF algoritmus a következő
lépésekkel írható le:
0. Kezdeti értékek megválasztása ( k 0 )
- becsült kezdeti állapot vektor xˆ k / k (mérete n x 1)
- a kezdeti becsült hiba kovariancia mátrixa Pk / k (mérete n x n).
1. Mérés: a bemenő (uk) és a neki megfelelő kimenő jel meghatározása (yk).
2. Linearizálás az adott munkapont körül ( k 1 ): a nemlineáris matematikai modellben
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
szereplő F() és G() függvények linearizálásával a következő mátrixok számolhatók ki:
F1 F1 G1 G1
x x x
xn 1 n
1 (13)
Ak Ck
Fn
Fn Gp Gp
x1 x n x x
x xˆk / k 1 n xxˆ
k /k
A liniarizálás a nemlineáris függvények Taylor sorba fejtésével történik, ahol csak az első tag
kerül megőrzésre.
3. Predikció (jóslás):
xˆ k 1 / k F ( xˆk / k , uk ) (14)
Pk 1 k Ak Pk k Ak T Q k (15)
5. Javítás (update):
xˆ k 1 k 1 xˆk 1 k K k 1 yk 1 G ( xˆ k 1 / k , u k ) (17)
Pk 1 k 1 I K k 1 C k Pk 1 k (18)
A bemenő jel egy változó amplitúdójú négyszög jel (2.a ábra), a rendszeren lévő zajok pedig a
következő paraméterekkel jellemezhetők: w ~ N (0,0.03) illetve v ~ N (0,0.01) . A rendszer válasza
pedig ábrázolva van a 2.b. ábrán.
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
Input signal Output signal
1.5 0.2
0.15
1
0.1
0.5
0.05
Amplitude
Amplitude
0
0
-0.5
-0.05
-1
-0.1
-1.5 -0.15
0 100 200 300 0 100 200 300
No. of samples No. of samples
a). b).
2. ábra A rendszer bemenetén és kimenetén mért jelek
Variation of state x1
0.4
x1 without noise (unknown values)
0.2 x1 estimated
Amplitude
-0.2
-0.4
0 20 40 60 80 100 120 140 160 180 200
No of samples
Variation of state x1
0.4
x1 with noise
0.2 x1 estimated
Amplitude
-0.2
-0.4
0 20 40 60 80 100 120 140 160 180 200
No of samples
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
A (3 és 4 ábrák) felső grafikonokon az ideális (ami nem ismert) és a becsült állapotok vannak
összehasonlítva mindkét állapotjel esetében. Ugyanezen ábrák alsó grafikonjain a becsült és
zajos állapotok vannak ábrázolva, itt megfigyelhető a tervezett becslő „szűrő” hatása is.
Variation of state x2
0.4
x2 without noise (unknown values)
0.2 x2 estimated
Amplitude
-0.2
-0.4
0 20 40 60 80 100 120 140 160 180 200
No of samples
Variation of state x2
0.4
x2 with noise
0.2 x2 estimated
Amplitude
-0.2
-0.4
0 20 40 60 80 100 120 140 160 180 200
No of samples
0.1 3.5
3
0.05 measured output
estimated output 2.5
0
Amplitude
Amplitude
2
-0.05
1.5
-0.1
1
-0.15 0.5
-0.2 0
0 50 100 150 200 0 5 10 15 20
no of samples No of samples
a) b)
5. ábra A rendszer mért és becsült kimenete (a) illetve a becsült szórás mátrix nyoma
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
Feladat 2.
Adott a következő nemlineáris diszkrét dinamikus rendszer:
x1, k 1 x1,k 0.1 x 2,k
x 2,k 1 x 2,k 0.02 (1 x12, k ) x 2, k 0.1 ( x1,k u k ) (20)
y k x1,k x 2, k
A bemenő jel egy változó amplitúdójú négyszög jel (6.a. ábra), a rendszeren lévő zajok pedig a
következő paraméterekkel jellemezhetők: w ~ N (0,0.2) illetve v ~ N (0,0.1) . A rendszer válasza
pedig ábrázolva van a 6.b. ábrán.
Input signal Output signal
1.5 3
1 2
0.5 1
Amplitude
Amplitude
0 0
-0.5 -1
-1 -2
-1.5 -3
0 100 200 300 0 100 200 300 400
No. of samples No. of samples
a). b).
6. ábra A rendszer bemenetén és kimenetén mért jelek
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
Variation of state x1
4
x1 without noise (unknown values)
2 x1 estimated
Amplitude
0
-2
-4
0 0.5 1 1.5 2 2.5 3
No of samples
Variation of state x1
4
x1 with noise
2 x1 estimated
Amplitude
-2
-4
0 0.5 1 1.5 2 2.5 3
No of samples
Variation of state x2
2
x2 without noise (unknown values)
1 x2 estimated
Amplitude
-1
-2
0 0.5 1 1.5 2 2.5 3
No of samples
Variation of state x2
2
x2 with noise
1 x2 estimated
Amplitude
-1
-2
0 0.5 1 1.5 2 2.5 3
No of samples
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.
Variation of output Trace of covariance matrices
3 10
measured output
estimated output 9
2
8
7
1
6
Amplitude
Amplitude
0 5
4
-1
3
2
-2
1
-3 0
0 1 2 3 0 5 10 15 20
no of samples No of samples
9. ábra A rendszer mért és becsült kimenete (a) illetve a becsült szórás mátrix nyoma
5. Gyakorlati megvalósítás
5.1 Végezzék el a 4. alpontban bemutatott rendszerek állapotbecsléssel kapcsolatos szilációkat
Matlab környezetben (program).
5.2 A szimulált algoritmusokat valósítsák meg Matlab-Simulink környezeteben is. Az
állapotbecslő algoritmusok S-function használatával valósítható meg.
Könyvészet:
[1] M. I. Riberio, (2004), Kalman and Extended Kalman Filters, Concept, Derivation and
Properties, Instituto Superior Tecnico,. (http://users.isr.ist.utl.pt/~mir/pub/kalman.pdf)
[2] Huang, S., Understanding Extended Kalman filter, ARC Centre of Excellence for
Autonomous Systems (CAS), University of Technology Sydney 2010
(http://services.eng.uts.edu.au/~sdhuang/Extended%20Kalman%20Filter_Shoudon).
[3] http://www.ece.iastate.edu/~namrata/EE527_Spring08/KalmanFilter.pdf
[4] https://dspace.ist.utl.pt/bitstream/2295/203912/1/Cap4-Kalman-Filter%20
Created with novaPDF Printer (www.novaPDF.com). Please register to remove this message.