Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Kalman Filter

Geschrieben

Hi zusammen,

 

da ich gerade bei einem privaten Projekt damit zu tun habe: Hat schonmal jemand mit dem Kalmanfilter gearbeitet?

Die Theorie dazu hab ich in meinen alten Skripten ausgegraben, aber mich würd interessieren wie sich das Ding in der Praxis verhält/bewährt.

 

Für alle die jetzt denken "wasn das?" hier ein bissl Lektüre (leider englisch):

http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf

Featured Replies

Geschrieben

Für alle die jetzt denken "wasn das?" hier ein bissl Lektüre (leider englisch):

http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf

Hier dann mal in Deutsch (imho für einen Trading Thematischen Überblick recht kurz, trotzallem aber gut erklärt) -> PDF-Link

 

Es gibt/gab zum Kalman Filter auch ne`gute Seite von Rene Rose, allerdings finde ich die nicht mehr. (sinngemäß, Kalman im kurzen Trading Praxistest)

Kann sein, dass sie Offline ist, er hat ja später diese Enzyklopädie zu Indikatoren geschrieben, vllt ist das der Grund das die Seite nicht mehr auffindbar ist.

  • 1 Monat später...
Geschrieben

Schaue mal hier als Einstieg:

 

http://www.econ.umn.edu/~karib003/

 

Was willst Du machen? Primär finden die Sachen (aus der Physik) Anwendung

im Bereich Optionen.

Habe ja eine Zeit Kalman, PF, Anfis und RBF gemacht. Particle Filter mit gleichen

Ergebnissen waren/sind zu rechenintensiv. Der Kalman mit

einer kleinen Tendenz zum gewollten Repaint erzielte die besten Ergebnisse.

 

http://www.cashornothing.de/2011/06/18/kalman-filter-vs-partikel-filter/

Geschrieben
  • Autor

Danke, ich brauch nicht direkt einen Einstieg sondern suche eher Leute die schon diverse Erfahrungen damit gemacht haben, die Theorie, Herleitungen etc. hatten wir alles auf der Uni.

 

Was willst Du machen?

 

Wie gesagt nicht direkt finanztechnisch. Ich will aus den Messdaten von Gyroscop und Beschleunigungssensor in Summe möglichst gute Schätzungen für die Bewegung des Objekts errechnen...

Und die erste Frage ist die richtige Wahl des Models/Zustandsvektors und dann die Frage des Prozessrauschens... aber mal sehen so kompliziert kanns ja nit sein ;)

Geschrieben

Kalman-Filter sind Stand der Technik. Daher findet man sie in allen möglichen Kontexten. Von der Wetterprognose bis zur Finanzmathematik. Darüber gibt es jede Menge Literatur. In der Finanzmathematik läuft es dann mehr oder weniger auf ARMA-Modelle hinaus. Mit ein wenig Kreativität findet man aber auch eigene Modelle die gut funktionieren. Sowohl die Schätzung im Zeit, als auch im Frequenzbereich lohnt sich!

 

Möchtest du das Kalman-Filter im kinematischen Kontext verwenden solltest du darüber auch Literatur finden können. Oder das Systemmodell selbst herleiten ;). Für die Modellierung des Prozessrauschens empfehle ich dir:

White Noise Acceleration Model

Wiener Process Acceleration Model

Piecewise Constant White Acceleration Model

Piecewise Constant Wiener Process Acceleration Model

 

Findest du in jedem Bar-Shalom Buch. Auch bei den Papern von Li (Survey of Maneuvering Target Tracking Part 1-5) findest du jede Menge Modelle.

 

Auch wenn es aufwendig erscheint schreibe dir in MATLAB eine Simulation und Teste dein Systemmodell und deine verschiedenen Modelle für das Prozessrauschen. Insbesondere das Prozessrauschen ist der Schlüsselpunkt! Ob du richtig modelliert hast weißt du wenn du den Filter auf Konsistenz überprüfst. Dazu empfehle ich dir einen „normalized estimation error square“ Test.

 

Als gute Referenz für den Einstieg in die Welt der Kalman-Filter und Partikel-Filter empfehle ich: Optimal State Estimation von Simon. Ich kenne kein Buch dass so ausführlich ist.

Bearbeitet von CashorNothing

Geschrieben
  • Autor
Erdschwerefeld... klingt nett ;) Ne es geht um Positionstracking vom Smartphone. Und eben nicht im GPS-Genauigkeitsmodus sondern realtime und (hoffentlich) im cm Bereich. Aufgrund des Rauschens etc. schauts nur derzeit nit gerade hoffnungsvoll aus :(
Geschrieben

Da gibt es jedenfalls eine Menge Informationen.

 

1. http://www.iaeng.org...pp1604-1608.pdf

 

Das Problem sind die unterschiedlich benutzten Terminologien.

Ich denke, dass der UKF, SMC bzw. Particle Filter interessant für Dich sind.

 

Willst Du das im Alleingang machen oder hast Du da noch jemanden?

Hier vielleicht noch eine andere Referenz. Ist etwas in dem man

seine ganze zeit investieren kann.

 

Schau mal - http://www.amazon.co...n/dp/0387951466.

 

Ist schwierig, da gute Literatur nur in englisch und zu sehr formellastig ist.

Ich schaue die Tage mal und gebe Dir noch ein paar Quellen. Ist schon ein wenig weg.

 

Muss mal noch ein wenig oberflächliches einwerfen: SIS/SIR Filter werden im Bereich

Navigation / Tracking benutzt. Da ich mehr Informatiker bin, habe ich mir die

Sachen genommen und mit Matlab hergeleitet.

 

http://www.jstatsoft.org/v30/i06/paper

Geschrieben
  • Autor

Thx, ja ich bin im wesentlichen allein. Is derzeit ein reines Hobby-projekt.

 

Formellastig stört mich überhaupt nit, is sogar gut dann weiß man wovon die Leute schwafeln ;)

 

Derzeit hab ich das Gefühl mein Hauptproblem ist einerseits ein starkes rauschen aus den Beschleunigungssensoren, aber noch schlimmer die Challenge ein möglichst exaktes "wo ist oben" und "wie stark ist die Gravitation/Offset gerade wirklich" zu kriegen.

Durch die doppelte Integration tut das Rauschen ziemlich weh. Durch schlechten "Upvektor"/falsche Gravitation gehts erst recht durch die Decke...

Geschrieben

Schaue mal in das Inhaltsverzeichnis http://www.amazon.com/Physical-Geodesy-Bernhard-Hofmann-Wellenhof/dp/3211235841

 

Musste das Buch mal lesen und mich prüfen lassen. Wie war das noch mit den Anomalien? Ich denke, da stehen ein paar

Antworten auf Deine Fragen. Bei mir ging es mehr um Satelliten. Du hast hier (auf der Erde) ja noch mehr Probleme. Identifiziere mal alle Kräfte

die noch so im Spiel sind und lasse sie in deine Berechnungen einfließen.

 

PS. Das Erdschwerefeld ist auch mit dabei ...

Geschrieben

Möchtest du GPS nicht verwenden?

 

Das Kalman-Filter fordert mittelwertfreies Rauschen. Jedoch hat jeder Sensor einen Nullpunktfehler! Hinzu kommen Temperaturdrifts und nicht lineare Sensorkennlinnen etc. Deshalb ist reines aufintegrieren Fehlerhaft und nicht unbedingt wegen dem Rauschen. Du musst deshalb die Zustandsschätzung durch eine weitere unabhängige „Informationsquelle“ unterstützen. Durch GPS etwa kann das Kalman-Filter alle Offsets und Fehler weitgehendst korrigieren!

 

Eine andere Möglichkeit ist es einen weiteren Sensor zu nehmen (was beim Smartphone vmtl. ausscheidet). Markus Haid zeigte verbesserte Ergebnisse mit 2 Beschleunigungssensoren in seiner Diss. Sehr Lesenswert! Per Fernleihe kommt man da ran.

Geschrieben
  • Autor

Bei mir ging es mehr um Satelliten. Du hast hier (auf der Erde) ja noch mehr Probleme. Identifiziere mal alle Kräfte

die noch so im Spiel sind und lasse sie in deine Berechnungen einfließen.

 

PS. Das Erdschwerefeld ist auch mit dabei ...

Jup, Der Bias der einzelnen Sensoren etc. wird sicher auch ein Prob. Und ja, natürlich is das Erdschwerefeld dabei, i find nur den Namen immer noch irgendwie lustig ;) Klingt immer so ein bissl nach Bullshitbingo (no offense ;)

 

 

Möchtest du GPS nicht verwenden?

 

Wollen schon. Wenn GPS innerhalb von Gebäuden (und überhaupt, egal wo) cm genau und realtime funktioniert, dann gern...

Der Traum wäre, das ich das Phone in der Hand halte, um ein paar centimeter nach rechts schwenke und das phone die bewegung korrekt erkennt. Ob das in der Form realisierbar ist, ist zugegebenermaßen sehr fraglich, aber i hab ja Zeit und Motivation ;)

  • 4 Wochen später...
Geschrieben
  • Autor

OK, also Kalman an sich funktioniert einwandfrei, aber die Messungenauigkeiten durch zu geringe Abtastung etc. tun ziemlich weh.

Sehr negativ wirkt sich leider wie erwartet eine "schlechte" Schätzung der Orientierung aus. Hier sei gleichmal erwähnt das der RotationVector von Android nit schlecht ist, aber leider im Detail etwas träge und fehlerhaft. Also selber programmieren.

 

Aus Beschleunigungssensor und Kompass die Eulerwinkel zu rechnen ist auf den ersten Blick nit so schwer aber die üblichen Probleme bei Eulerwinkel kommen dann doch voll zur Geltung...

 

Auf der Suche bin ich dann auf ein Paper von madgwick gestoßen das recht vielversprechend klingt.

Für den unwahrscheinlichen Fall das sich sonst noch wer mit dem Thema befasst und sich nit von Formeln abschrecken lässt:

http://www.x-io.co.uk/res/doc/madgwick_internal_report.pdf Aber vorsicht: wie in einem anderen Forum (wo ichs gefunden hab) einer treffend meint:

That is some serious stuff. Seems like it's a lot of math...

Der Knackpunkt: Der Quaternion für die aktuelle Orientierung wird nicht "direkt berechnet" sondern als Lösung einer Optimierungsaufgabe gesehen:

Also man nimmt den Referenzvektor für das Field (Magnetfeld bzw. Gravitation) und rotiert den mit dem Quaternion.

Die Optimierung ist dann die Minimierung der Differenz zwischen diesem Vektor und dem gemessenen Wert (Beschleunigungssensor bzw. Kompass).

Madgwick nimmt dafür einen gradient descent, wobei er pro Update nur einen Step im Gradient Descent macht (bei entsprechend hoher Frequenz macht das durchaus Sinn).

 

Gleichzeitig rechnet er natürlich auch die inkrementellen Updates durch den Gyro rein. Diese beiden "schätzungen" mittelt er dann im wesentlichen zusammen. Hier könnte man ggf. wieder einen Kalman verwenden, aber er schreibt das seine "Mittelung" bessere Ergebnisse liefert als Kalman. Dank GradientDescent dürfte hier das sensorrauschen auch recht gut gefiltert werden...

 

Im Moment bin ich dabei das ganze Zeug zu implementieren (bzw. seinen C-Code zu portieren und in meine App einzupflegen) mal sehen wie es dann performt.

 

soweit das Statusupdate

Geschrieben

Da dies einer dieser Threads ist, in denen ich mal wieder gar nichts verstehe, mal so nebenbei die Frage, watt hattu vor ?

Programmierst du jetzt Apps ? - Wenn die Frage erlaubt ist :whiteflag:

Geschrieben
  • Autor

Da dies einer dieser Threads ist, in denen ich mal wieder gar nichts verstehe, mal so nebenbei die Frage, watt hattu vor ?

Programmierst du jetzt Apps ? - Wenn die Frage erlaubt ist whiteflag.gif

 

Jup bin inzwischen (auch beruflich) unter die App Programmierer gegangen. Beruflich auf iOS (also iPhone und iPad) privat Android (weil gratis ;).

 

Was ich vor hab: wie oben gesagt: inertial tracking... Jedes Smartphone hat ja einen Beschleunigungssensor, Kompass und Gyroscope eingebaut. Und die 3 will ich verwenden um die "exakte" Bewegung des Geräts zu tracken. is nur dank messfehlern etc. ein bissl schwierig...

Geschrieben

Jup bin inzwischen (auch beruflich) unter die App Programmierer gegangen.

 

.....is nur dank messfehlern etc. ein bissl schwierig...

 

Uih, verstehe so ein bisschen.

Wenn du Hilfe brauchst, sag einfach Bescheid :laugh:

 

Viel Erfolg trotzallem !

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.