Filtr Kalmana
Filtr Kalmana to algorytm służący do rekurencyjnego wyznaczania estymaty stanu modelu liniowego dyskretnego układu dynamicznego, bazujący na pomiarach wyjścia i wejścia tego układu. Algorytm zakłada, że pomiary i procesy przetwarzania są obarczone błędem o rozkładzie gaussowskim.
Wstęp
Teoretycznie filtr Kalmana jest optymalnym estymatorem dla problemu liniowo-kwadratowego, co oznacza, że wykorzystuje pomiary liniowo związane ze stanem układu, zakłócone przez biały szum. Jego równania zachowują swoją formę nawet w przypadku niestacjonarnych układów, co jest jedną z jego kluczowych zalet w porównaniu do filtru Wienera.
Równania modelu stanu
Filtr Kalmana modeluje stan układu za pomocą równań:
gdzie to wektor stanu, , , to odpowiednie macierze systemowe, a i to wektory szumu.
Równania filtru
Równania filtru Kalmana dzielą się na dwie kategorie: aktualizacja czasu i aktualizacja pomiarów.
Aktualizacja czasu
Równania te predykują stan układu na chwilę na podstawie estymaty stanu na chwilę :
Wektory te określają estymaty a priori i a posteriori.
Aktualizacja pomiarów
Równania te aktualizują predykcję stanu na podstawie pomiarów:
Macierz nazywana jest wzmocnieniem Kalmana i decyduje o zaufaniu do estymaty stanu w porównaniu do pomiarów.
Zastosowania
Filtr Kalmana znajduje zastosowanie w wielu dziedzinach, w tym:
- Automatyka
- Robotyka
- Elektronika
- Przetwarzanie sygnałów
Przykłady zastosowań to śledzenie obiektów, autopiloty oraz usuwanie szumów z pomiarów.
Rys historyczny
Algorytm został opracowany przez Rudolfa Kalmana w 1960 roku. Jego prace doprowadziły do rozwoju teorii filtracji, która nie wymagała stacjonarności sygnałów, co było rewolucyjne w kontekście ówczesnych metod. Filtr Kalmana stał się kluczowym narzędziem w inżynierii, zwłaszcza w kontekście lotów kosmicznych i nawigacji.
Bibliografia
- Mohinder S. Grewal, Angus P. Andrews, Kalman Filtering: Theory and Practice Using Matlab, John Wiley and Sons, 2001.