Filtern von GPS-Tracks (Kalman Filter)



  • Hallo,
    ich will auf handelsueblichen Smartphones mittels GPS die zurueckgelegte Strecke waehrend der Programmlaufzeit protokollieren. Soweit kein Problem, doch sind die GPS-Empfaenger in diesen Geraeten nicht sonderlich genau, es kommt deshalb zu Artefakten. Besonders beim Tracking mit geringem Intervall fuehrt dies zu haesslichen "Zick-Zack-Mustern" in der Strecke. Diese Artefakte will ich nun durch Filterung weitestgehend entfernen. Nach meiner Recherche scheint die gaengige Loesung hierfuer ein Kalman Filter zu sein.

    Diesen will ich nun implementieren. Leider tuen sich hierbei ein paar Probleme auf. Im Netz findet man meist nur Quellen, die die Funktionsweise abstrakt eroerten. Ich hab deshalb keine Ahnung, wie die Matrizen fuer meine Anwendung konkret mit Werten zu belegen sind. Meine Frage waere deshalb, ob jemand Erfahrungen mit dem Thema hat und Tipps geben kann, oder Beispiele fuer die Matrizenkonfiguration?

    Fuer den Ablauf der eigentlichen Berechnung in den einzelnen Schritten findet man wiederum genug Quellen und Beispiele, z.B. hier.



  • hilft Dir 'Polyline Simplification' weiter?



  • Naja, die dort genutzten Algorithmen kommen nicht wirklich in Frage, da ich die Kurve nur glätten will, dabei aber keine Punkte raus schmeißen will. Außerdem ist auch meine Anforderung, dass die Glättung direkt in Folge der Messung erfolgen muss. Deshalb scheint der Kalman Filter schon das geeignete Mittel zu sein, soweit bin ich mir sicher. Ich glaube auch im Groben das allgemeine Prinzip verstanden zu haben. Nur bin ich mir absolut unsicher, was die Matrizenkonfiguration in diesem konkreten Fall anbelangt. Im Grunde habe ich ja Latitude, Longitude und den jeweiligen Zeitstempel. Eine erste Frage wäre z.B. ob ich mit Distanzen oder mit absoluten Werten arbeiten sollte. Das ist vor allem spannend in Hinblick auf den beschränkten Wertebereich (-90° ≤ lat/lng ≤ 90°).



  • Für einen Kalman-Filter müsste du deine Regelstrecke - dein System - kennen und das heißt erstmal Differenzialgleichungen der GPS Bestimmung aufstellen. Daraus kann man einfach die Matrizen ableiten, wobei ich mir gerade nicht sicher bin, wie sich das nochmal mit dem Messrauschen verhält.

    Aber wie wäre es denn damit: http://www.c-plusplus.net/forum/p2038246#2038246


Anmelden zum Antworten