Kalmanův filtr obecně, a proč to není jen průměr
Skalární filtr uměl odhadnout konstantu. Zajímavé to začne být, když má stav víc složek — protože pak filtr odhaduje i to, co vůbec neměří.
Model konstantní rychlosti
Nejužitečnější dvoustavový model vůbec: stav je poloha a rychlost, měří se jen poloha.
Rychlost do měření nevstupuje. Filtr ji přesto zná, protože ji potřebuje, aby uměl předpovědět další polohu — a nesoulad mezi předpovědí a měřením ji opraví. Tomuhle žádný dolní propust nedokáže konkurovat: propust rampu zpozdí navždy, kdežto tenhle filtr se na ni naladí a jde s ní bez zpoždění.
Ustálený stav a α-β filtr
Když se F, H, Q a R nemění, ustálí se i K — a pak je z Kalmanova filtru fixní dvouparametrový filtr, který se v radiolokaci používá od padesátých let:
A Kalata ukázal, že α i β závisí na jediném bezrozměrném čísle:
Tohle je ustálený Kalmanův filtr pro model konstantní rychlosti, jen napsaný dvěma čísly místo Riccatiho rovnice. Λ je jediná věc, na které záleží: ne σₐ a σᵥ zvlášť, ale jejich poměr přenásobený T². Zdvojnásob obojí a nezmění se nic.
Pozor na jednu věc: Λ je poměr SMĚRODATNÝCH odchylek, ne variancí. Pro T = σₐ = σᵥ = 1 dávají obě verze totéž — a to je přesně ten příklad, na kterém by to člověk zkoušel.
Past, kterou jeden příklad neodhalí. Λ je poměr směrodatných odchylek, ne variancí. Zdroje to píší různě a rozdíl se pozná jen na netriviálním případu: pro T = σa = σv = 1 dají obě verze Λ = 1 a shodnou se. A to je přesně ten příklad, na kterém by to člověk zkoušel. V testech téhle labky se proto ustálený Riccati porovnává s Kalatou v pěti různých případech a od varianty s variancemi se vyžaduje, aby selhala.
Kdy Kalmanův filtr za tu složitost stojí
| Situace | Co použít |
|---|---|
| šum kolem konstanty, nic se nehýbe | průměr — Kalmanův filtr nedá nic navíc |
| signál se pohybuje předvídatelně | Kalman — model ho předběhne, propust ho zpozdí |
| víc senzorů s různým šumem a různou rychlostí | Kalman — váhy si spočítá sám |
| je potřeba veličina, kterou nikdo neměří | Kalman — jinak to nejde vůbec |
| procesor nemá na maticové násobení | α-β s pevnými čísly, výsledek je stejný |
Josephův tvar. P = (I−KH)P⁻ je algebraicky správně, ale numericky se rozjede: kovariance ztratí symetrii, pak kladnou definitnost, a filtr se rozpadne bez varování. Josephův tvar P = (I−KH)P⁻(I−KH)ᵀ + KRKᵀ je delší a drží. Solver ho používá a testy hlídají, že P zůstane symetrická na strojovou přesnost.