FilterLab šum a odhad stavu

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Co tenhle nástroj nepočítá, a zdroje

Nemodeluje se

  • Adaptivní a přepínané filtrování. R se v reálném nasazení zvětšuje, když se stroj rozjede, a Q, když se čeká manévr. Tady jsou obě konstantní. Je to nejbližší věc, která by se dala přidat, a taky nejčastější zdroj filtru, který v laboratoři funguje a v provozu ne.
  • Vyhlazování. Všechno je kauzální — každý odhad používá jen minulost. Když se data zpracovávají až potom, Rauch-Tung-Striebelovo vyhlazení projde záznam i pozpátku a je výrazně lepší. V regulaci se použít nedá, v analýze skoro vždycky ano.
  • Unscentovaný a částicový filtr. EKF linearizuje. Když je soustava hodně nelineární nebo je rozdělení vícevrcholové, nestačí to. Tyhle metody sem koncepčně patří, ale nejsou implementované.
  • Nesourodé časování senzorů. Skutečná IMU nedodá gyroskop a akcelerometr ve stejný okamžik a údaje chodí se zpožděním. Tady všechno přichází naráz.
  • Pevná řádová čárka. Kovariance v celočíselné aritmetice je vlastní disciplína; tady je všechno v plovoucí čárce.
  • Návrh FIR podle Parkse-McClellana. Okna jsou jednoduchá a názorná, ale optimální filtr daného řádu se navrhuje jinak.

Jak se to ověřovalo

Testy (test-filters.cjs, 165 kontrol) stojí na čtyřech různých oporách, protože u filtrů platí, že vyhlazený výstup vypadá dobře i tehdy, když je špatně:

  1. Řešený příklad z literatury. Welch a Bishop mají celou kapitolu 3 s čísly. Reprodukuje se — včetně jejich vlastní nesrovnalosti.
  2. Uzavřené tvary místo vzorkovaných křivek. Dirichletovo jádro pro klouzavý průměr, jednopólová magnituda pro exponenciální filtr a přesná předzkreslená Butterworthova charakteristika. Kód pro odezvu je nezná — vyhodnocuje polynomy v e. Kde se shodnou, není kam schovat chybu.
  3. Případy, které jsou algebra. Konstantní bias musí dát Allanovu odchylku přesně nula, rampa přesně R·τ/√2, komplementární filtr přesně drift·τ. Žádná tolerance, žádná statistika.
  4. Numerické derivace proti analytickým. Jediný poctivý způsob, jak zkontrolovat Jakobián EKF.

A jedno pravidlo navíc: každý filtr musí někde prohrát. Medián na čistě gaussovském šumu je horší než průměr, dolní propust na rampě horší než model konstantní rychlosti, Madgwick na zaujatém gyroskopu horší než EKF. Filtr, který vyhrává všude, je filtr, který se špatně měří.

Zdroje

  • G. Welch, G. Bishop, „An Introduction to the Kalman Filter", UNC-Chapel Hill TR 95-041. Rovnice diskrétního i rozšířeného filtru a řešený příklad v kapitole 3. cs.unc.edu
  • Freescale AN5087, „Allan Variance: Noise Analysis for Gyroscopes", 2/2015. Překrývaný odhad z výstupních úhlů a pravidla čtení sklonů.
  • S. Madgwick, „An efficient orientation filter for inertial and inertial/magnetic sensor arrays", 2010. Algoritmus i s Jakobiánem.
  • P. Kalata, „The Tracking Index", IEEE Trans. AES 20(2), 1984. Vztahy pro α-β filtr a index sledování.
  • D. Simon, „Optimal State Estimation", Wiley 2006. Standardní učebnice, pokud chceš odvození, ne jen rovnice.

Kam dál. SensorLab je krok zpět — odkud se to napětí vzalo. ControlLab je krok vpřed — co s tím číslem udělá smyčka a proč jí vadí zpoždění, které tady vzniklo. ServoLab je ten případ, kdy je filtr uvnitř smyčky vítaný.

Vzorce v této kapitole

— — co se nemodeluje
adaptivní R a Q, vyhlazování, UKF, nesourodé časování [—] vědomé omezení