Problem mit Kalman-Filter

Gast #567269
Lesenswert?
• ▲
▼
Hi,

ich habe gerade versucht ein Kalman Filter einer App-Note von TI in 
Matlab zu simulieren, nur leider kommt nicht das Gleiche raus wie in dem 
beschriebenen Beispiel. Ich vermute mal es liegt an F und H. Vielleicht 
kann mir ja jemand weiterhelfen.

Danke und Gruß,
Sebastian
Angehängte Dateien:
Gast #567464
Lesenswert?
• ▲
▼
Sehe ich das richtig, daß F eigentlich die Systemmatrix A ist? Jetzt 
variieren alle Werte bis auf omega. cos(theta) und sin(theta) nähert 
sich auch ganz gut an die Kurve an. Aber mir geht es ja eigentlich um 
omega... Mal schauen ob ich den Fehler noch find.

Gruß,
Sebastian
Angehängte Dateien:
Gast #567487
Lesenswert?
• ▲
▼
>>Sehe ich das richtig, daß F eigentlich die Systemmatrix A ist?

Naja, bei nichtlinearen Systemen gibts keine Systemmatrix A. F ist die 
Systemmatrix des linearisierten Systems an der Stelle [math] 
\hat{x}[\math] .

Cheers
Detlef
Gast #567510
Lesenswert?
• ▲
▼
War etwas schwach formuliert von mir. Wegen der Linearisierung wird ja F 
auch bei jeder Abtastung neu berechnet (kalman2.m).

Wenn ich im prediction-Teil die Zeile:
x_hat(3) = sqrt(x_hat(1)^2 + x_hat(2)^2);
einfüge schaut es schon besser aus. Omega nähert sich dann "irgendeinem" 
Wert (sch....). Der Schätzfehler nähert sich aber nicht wirklich 0;

P.S.: Irgendwie werd ich aus den App-Notes von TI nie schlau!

Gruß,
Sebastian
#567566
Lesenswert?
• ▲
▼
hm. Ich würds in drei Schritten so angehen:
- lineares System gleicher Ordnung erfinden. F und H kommen dann direkt 
aus der Systembeschreibung. Dann das Kalmanfilter daran zum Laufen 
bringen.

- jetzt statt der Matrizen aus der Systembeschreibung zur Bestimmung der 
F und H die Differenzenquotienten heranziehen. Auch damit muß das Filter 
gehen.

- dann erst diesen scharf geschliffenen Code auf das eigentliche 
nichtlineare Problem anwenden.

Dann kannst Du relativ sicher sein, keine Programmierungsflaws drin zu 
haben.

Cheers
Detlef

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.