Forum: PC-Programmierung Kalmanfilter


von Sepp Obermair (Gast)


Lesenswert?

Schönen Guten Abend,
ich befasse mich zur Zeit mit Radarsignalverarbeitung...
Eigentlich endet meine Arbeit nach der Erstellung von Range / 
Dopplermatrizen, bzw der Winkelschätzung.

Ich bin aber inzwischen neugierig geworden wie es weiter geht, und in 
der Signalverarbeitungskette wäre der nächste konseqeunte Schritt ein 
Tracking verfahren wie der Kalmanfilter. Ich hatte das irgendwann mal in 
Systemtheorie, jedoch fehlt mir das Wissen um dies direkt auf R/D 
Matrizen anzuwenden.

Daher meine Frage hat jemand hier Erfahrungen, und könnte mir etwas auf 
die Sprünge helfen wie man eine generelle KF Implementierung auf das 
Problem anpassen könnte?

Eine Allgemeine Implementierung habe ich z.B. hier gefunden....
http://www.kalman-filter.de/kalman-filter-in-matlab-objektorientiert-klasse/

Würde mich über jegliche Anregungen freuen, gerne auch etwas 
persönlicher Austausch, kann dafür einiges zu Winkelschätzverfahren oder 
HA Algorothmen beisteuern.


Grüße Sepp

von Sigi (Gast)


Lesenswert?

Schau mal in Wikipedia nach, da sind die Grundlagen zwar nicht
sehr tief, aber ausreichend für eine Implementierung und für
das Nachvollziehen.

von Kevin K. (nemon) Benutzerseite


Lesenswert?

Für ein KF musst du zunächst wissen, was du willst. Ein einfacher KF 
berechnet einen korrigierten Zustandsvektor. Diese Korrektur ist ein 
gewichteter Mittelwert aus einem Zustandsraummodell und Messwerten.

Du brauchst zunächst ein Zustandsraummodell. Dieses muss dein System gut 
beschreiben und ein Ausgang des Systems muss deine Messgröße sein.

Du musst dem KF übergeben, wie sehr dein(e) Messwert(e) rauscht/en (oft 
als Skalar oder Vektor R genannt) und wie sehr deine Zustände rauschen 
(oft Q genannt). Anders formuliert: wie sehr vertraust du den einzelnen 
Komponenten?

Das KF ist im Wesentlichen der Ablauf von 5 Formeln, die du in jeder 
Literatur dazu findest. Das Schwierige ist das Einstellen von R und Q, 
ggf. noch das Finden der Anfangsbedingung. Wenn dein System zu Beginn 
nicht energiefrei ist, sind manche Zustände zum ersten messwert nicht 0.

Also: finde zunächst ein Zustandsraummodell, dass dein System 
beschreibt.

Wenn du nicht nur Zustände, sondern auch Parameter korrigieren willst 
(Beispiel: die Erdanziehungskraft variiert mit der Zeit), nimmst du das 
extended Kalman-Filter. Du kannst das KF aber sehr leicht zum EKF 
ergänzen. Es gibt aber auch noch andere Kalman-Filter, aber fang 
ersteinmal mit dem normalen an.

von Detlef _. (detlef_a)


Lesenswert?

Ich hatte hier mal Matlab-Code für Kalman Filter gezeigt:

Beitrag "Amplitude und Phase einer festen Frequenz bestimmen."

Cheers
Detlef

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.