Kalman-Filter
Das Kalman-Filter ist ein stochastischer Zustandsschätzer für dynamische Systeme. Es wurde 1960 von Rudolf Kalman erstmals für zeitdiskrete, lineare Systeme entwickelt und wird dafür verwendet, Zustände oder Parameter des Systems aufgrund von teils redundanten Messungen, die von Rauschen überlagert sind, zu schätzen. Dabei wird der mittlere quadratische Fehler minimiert.
Der entscheidende Vorteil des Kalman-Filters gegenüber anderen stochastischen Schätzverfahren ist seine iterative Struktur, die es für den Einsatz in Echtzeitanwendungen prädestiniert.
Das Filter besitzt eine sog. Prädiktor-Korrektor-Struktur, d.h. zunächst wird auf Basis der Systemeingangsdaten der wahrscheinlichste Ausgangswert vorhergesagt (prädiziert) und dieser dann mit dem tatsächlich gemessenen Ausgangswert verglichen. Die Differenz der beiden Werte wird linear gewichtet und dient der Verbesserung (Korrektur) des aktuellen Zustandes.
Varianten
- Die wohl wichtigste Variante des Kalman-Filters ist das erweiterte Kalman-Filter (oder engl. extended kalman filter) (EKF), mit dem es möglich ist, auch Zustände nichtlinearer Systeme zu schätzen. Das EKF beruht auf einer Taylor-Näherung erster Ordnung der Systemgleichungen und ist daher nur für kleine Abtastintervalle ein verlässlicher Schätzer.
- Das Filter wurde auch auf zeitkontinuierliche Systeme erweitert: Kalman-Bucy-Filter
- Neueste Varianten versuchen, den durch die Linearisierung des EKF entstehenden Informationsverlust zu verkleinern, indem bei der Prädiktion mehrere repräsentative Punkte im Zustandsraum zur Vorhersage des Ausgangswertes herangezogen werden: Sigmapunkt-Kalman-Filter (SPKF), unscented Kalman filter (UKF), central difference Kalman filter (CDKF), Partikelfilter
Beispielanwendungen
Das Kalman-Filter ist heute der wohl am weitesten verbreitete Algorithmus zur Zustandsschätzung linearer und nichtlinearer Systeme.
- Weite Verbreitung gefunden hat das Kalman-Filter in der Inertialnavigation beispielsweise von Flugzeugen: Während des Flugs werden Beschleunigungen und Drehraten des Flugzeugs von einer sog. inertialen Messeinheit mit hohen Frequenzen gemessen um eine Kurzzeit-Navigation zu ermöglichen. Weitere Sensoren, insbesondere satellitengestützte Positionsbestimmung (z.B. GPS) liefern Stützdaten. Diese verschiedenen Messungen müssen fusioniert werden, um eine möglichst optimale Schätzung der aktuellen Position und Orientierung zu gewährleisten.
- Zunehmend spielen Trackingverfahren und somit das Kalman-Filter als typischer Vertreter eines Trackingfilters eine Rolle im Automobilbereich. Sicherheits- oder Komfortanwendungen, die auf umfelderkennenden Systemen basieren, sind auf verlässliche Informationen (z.B. Position, Geschwindigkeit) bezüglich der Objekte in ihrem Umfeld angewiesen.
- Eine ebenfalls oft verwendete Art eines Kalman-Filters, das PLL-Filter, hat heute weite Verbreitung gefunden in Radios, Funkgeräten, Computern und in fast allen anderen Arten von Video- und Kommunikationsgeräten.
Algorithmus
Der folgende Abschnitt beschreibt den Ablauf eines einfachen linearen Kalman-Filters als Gauss-Markov-Modell:
Ein Zustand wird mithilfe des geschätzten Zustandes aus dem vorherigen Zyklus , der Zustandsübergangsmatrix und eines Regeleingriffes (oft nicht vorhanden) prädiziert (a priori-Schätzung):
.
Der für diese Prädiktion erwartete Fehler errechnet sich aus:
.
Hier fließt neben der Zustandsübergangsmatrix auch der Modellfehler ein, der die Abweichung des Modellverhaltens von der Realität beschreibt.
Für den Innovationsschritt wird eine in jedem Zyklus durchgeführte Messung benötigt, die mit dem echten Zustand des Systems folgendermaßen zusammenhängt:
.
Hierbei erfasst die Abhängigkeit zwischen und bei einer fehlerfreien Messung. Messfehler werden durch beschrieben und typischerweise mit der sogenannten Messfehlerkovarianzmatrix spezifiziert.
Die Zuordnung der Messwerte zu den prädizierten Werten geschieht oft unter Verwendung eines Suchbereiches, welcher sich von dem erwarteten Prädiktionsfehler ableitet. Die Gewichtung der Messung gegenüber der Prädiktion bestimmt der sogenannte Kalman-Gain entsprechend der Prädiktionsfehlerkovarianzmatrix und der Messfehlerkovarianzmatrix :
.
Der Innovationsschritt verknüpft nun die Messung und die Prädiktion gewichtet zu einer neuen (a posteriori-) Schätzung:
.
Die dieser Schätzung zugehörige Fehlerkovarianzmatrix
gibt den Fehler dieser Schätzung an ( ist die Einheitsmatrix). Beide Werte bilden nun die Grundlage für einen erneuten Durchlauf zur Schätzung des nächsten Systemzustands und der Ablauf beginnt von vorn.
Bei nichtlinearen Modell ist der funktionale Zusammenhang in durch Linearisierung (Ableitung am aktuellen Zustandsvektor) herzustellen.
Das Kalman-Filter kann auch als Gauss-Helmert-Modell implementiert werden. Die Formeln insbesondere für die Fehlerfortpflanzung sind ein wenig komplizierter.
Siehe auch
Wiener-Filter, Adaptive Filter, ARMA, Tracking, Sequentielle Monte-Carlo-Methode
Literatur
- Julier, Uhlmann: Unscented Filtering and Nonlinear Estimation, 2004
- Julier, Uhlmann: Corrections to "Unscented Filtering and Nonlinear Estimation, 2004