EKF – Rozšířený (nelineární) Kalmanův filtr
Symbol blokuPotřebná licence: MODEL
Popis funkce
Funkční blok implementuje algoritmus nelineárního rekonstruktoru stavu známého jako
Rozšířený Kalmanův filtr. Cílem je poskytnout odhad přímo neměřitelných stavových
veličin nelineárního dynamického systému popsaného stavovou a výstupní rovnicí ve tvaru
pro případ spojitého času
a pro případ diskrétního
systému. Veličiny
označují náhodný šum modelu a pozorování. Předpokládá se,
že jde o náhodné procesy s nulovou střední hodnotou a Gaussovým
rozdělením hustoty pravděpodobnosti definované kovariancemi
and
,
které se zadávají jako parametr bloku. Rozšířený Kalmanův filtr je nelineární
verze algoritmu Kalmanova filtru pracující na principu linearizace stavové a
výstupní rovnice v okolí aktuálního pracovního bodu. Jde o algoritmus typu
prediktor-korektor, který střídá fázi predikce stavu v otevřené smyčce
s využitím modelu a korekce (filtrace) na základě přímo měřených
pozorování. Vektor výstupů-pozorování může být dodáván asynchronně vůči
periodickému běhu algoritmu filtrace v libovolných okamžicích spouštění
bloku.
Krok predikce je vykonáván každou periodu běhu bloku a řeší stavovou rovnici technikami numerické integrace, počínaje zadaným stavem a počáteční kovariancí . Volbou parametru uživatel vybírá numerickou metodu integrace příslušné vektorové diferenciální rovnice. Pro speciální případ volby algoritmus přechází na diskrétní variantu modelu a numerická integrace se redukuje na pouhé vyhodnocení pravé strany rekurze definované stavovou diferenční rovnicí . Kromě vektoru stavu je v čase propagována také příslušná kovarianční matice , která uchovává informaci o neurčitosti odhadu. Více detailů o jednotlivých numerických metodách lze nalézt v dokumentaci k bloku NSSM.
Krok filtrace je proveden vždy když je v daném okamžiku spuštění bloku na vstup přivedena hodnota . Toto signalizuje dostupný vektor měření na vstupu , který je následně použit pro opravu odhadu stavu a jeho kovariance. Je možné kombinovat více pravých stran výstupní rovnice pomocí kooperujícího bloku REXLANG. Toto může být užitečné v aplikacích s větším počtem senzorů, které dodávají data s různou periodou vzorkování nebo nepravidelně oproti periodickému spouštění bloku. Pro nastavení signalizuje uživatelský algoritmus bloku nedostupnost měření a v dané periodě je provedena extrapolace stavu pozorovaného systému na základě modelu.
Kalmanův filtr obecně není optimální rekonstruktor stavu ve smyslu minimalizace střední kvadratické chyby odhadu. Nicméně, v praktických úlohách s dostatečně hladkou nelineární dynamikou systému poskytuje odhady stavu v rozumné kvalitě a je považován za de facto standard v oblasti nelineární filtrace. V případě zadání lineární pravé strany stavové a výstupní rovnice přechází algoritmus odhadu na standardní Kalmanův filtr, který je již optimální pro danou stochastickou formulaci problému odhadu stavu lineárního systému.
Vstupy
funcRef | Odkaz na spolupracující blok REXLANG | Reference |
u | Vektor vstupů modelu | Reference |
z | Vektor výstupů (měření) modelu | Reference |
nz | Číslo sady měřených výstupů 1 | Long (I32) |
Qk | Kovarianční matice stavového šumu | Reference |
Rk | Kovarianční matice výstupního šumu | Reference |
RST | Reset bloku | Bool |
HLD | Pozastavení | Bool |
x0 | Vektor počáteční hodnoty stavu modelu | Reference |
P0 | Počáteční hodnota kovarianční matice modelu | Reference |
Parametry
nmax | Rezervovaná paměť pro výstupní matici (celkový počet prvků) 5 10000 20 | Long (I32) |
solver | Metoda numerické integrace 2 | Long (I32) |
|
|
|
Výstupy
x | Vektor stavu modelu | Reference |
P | Kovarianční matice stavu modelu | Reference |
trP | Stopa kovarianční matice | Reference |
cmd | Číslo příkazu navázaného bloku REXLANG | Long (I32) |
f | Odkaz na vektor nastavovaný navázaným blokem REXLANG | Reference |
df | Odkaz na matici nastavovanou navázaným blokem REXLANG | Reference |
err | Kód chyby (0 bez chyby, jinak popis v system logu) | Long (I32) |
[Předchozí] [Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com