Positionsberechnung aus Roh-GPS-Daten
Die Bedeutung des GPS-Systems
- GPS ist das Global Positioning System und wird in vielfältigen Anwendungen eingesetzt, von der Routenführung in Google Maps bis zu Fahrdienst-Apps.
- GPS ist sehr präzise und wird sogar zur Messung der Plattentektonik und der Kontinentalverschiebung verwendet.
- GPS gehört der US-Regierung, und der Zugang für andere Staaten kann aus geopolitischen Gründen eingeschränkt werden.
- Daher wurden von anderen Staaten GPS-ähnliche Systeme entwickelt, etwa Russlands GLONASS, das Galileo-System der Europäischen Union und Chinas BeiDou.
Koordinatensysteme
- Zur Darstellung von Positionen werden verschiedene Koordinatensysteme verwendet.
- Die allgemein gebräuchlichen Breiten- und Längengrade sind für mathematische Berechnungen nicht gut geeignet.
- Das ECEF-Koordinatensystem (Earth Centered, Earth Fixed) stellt Positionen mit dem Erdmittelpunkt als Ursprung dar.
- Das WGS-1984-System ist das am häufigsten verwendete ECEF-Koordinatensystem.
Definition der Höhe
- Bei der Definition von Höhe muss zunächst die Referenzfläche festgelegt werden.
- Verwendet werden ein Referenzellipsoid und ein Geoid-Modell.
- Das Referenzellipsoid hat keine physikalische Bedeutung, während das Geoid als Menge von Punkten mit gleichem Gravitationspotenzial definiert ist.
Breite und Länge
- Die geodätische Breite ist der Winkel zwischen der Senkrechten auf der Ellipsoidoberfläche und der Äquatorebene.
- Die geodätische Länge ist der Winkel zwischen dem Nullmeridian und einem bestimmten Meridian.
- Die geodätische Höhe ist die über das Ellipsoid gemessene Höhe.
Umrechnung zwischen geodätischen und kartesischen Koordinaten
- Die Umrechnung von geodätischen in kartesische Koordinaten ist einfach.
- Die Umrechnung von kartesischen in geodätische Koordinaten erfordert ein iteratives Verfahren.
Lokales Koordinatensystem
- Das lokale Koordinatensystem ist das auf die Position des Nutzers zentrierte ENU-System (East-North-Up).
- Es gibt ein Verfahren zur Umrechnung von ECEF-Koordinaten in ENU-Koordinaten.
Berechnung der Nutzerposition mit GPS
Bestimmung der Satellitenposition
- Die Umlaufbahn eines Satelliten ist elliptisch und wird vollständig durch sechs Kepler-Parameter beschrieben.
- Die Position des Satelliten wird gemäß der GPS-Interface-Spezifikation berechnet.
Berechnung der Entfernung zwischen Nutzer und Satellit
- Ein GPS-Empfänger berechnet mithilfe des Zeitstempels des Satellitensignals die Entfernung zum Satelliten.
- Diese Entfernung wird Pseudorange genannt.
- Für eine genaue Positionsberechnung müssen der Uhrenoffset von Nutzer und Satellit sowie atmosphärische Verzögerungen modelliert werden.
Schätzung des Nutzer-Uhrenoffsets
- Der Uhrenoffset des Nutzers wird zusammen mit der Nutzerposition geschätzt.
Algorithmus zur Schätzung von Nutzerposition und Uhrenoffset
- Eine anfängliche Nutzerposition und ein anfänglicher Uhrenoffset werden gesetzt und iterativ korrigiert.
- Für jeden Satelliten wird die Pseudorange korrigiert, die Signalübertragungszeit berechnet und die Satellitenposition bestimmt.
- Mithilfe linearer Algebra wird eine Lösung nach der Methode der kleinsten Quadrate gefunden.
Hinweise zum Matlab-Code
- Bei einigen Gleichungen muss ein Solver aufgerufen werden.
- Beispielsweise erfordert die Berechnung der exzentrischen Anomalie (E) aus der mittleren Anomalie (M) einen Solver.
Versuchsaufbau
- Für die Erfassung von Roh-GPS-Daten wird eine spezielle GPS-Einheit benötigt.
- Geeignet sind die Chips NEO-M8T und 6T von u-blox.
- Mit dem Dienstprogramm STRSVR aus RTKLib werden Roh-GPS-Signale empfangen und gespeichert.
Verarbeitung von Roh-GPS-Daten
- STRSVR speichert Roh-GPS-Daten im RTCM3-Format.
- Mit der Matlab-Bibliothek goGPS werden die RTCM-Daten decodiert und in Matlab-Datenstrukturen umgewandelt.
Analyse der Ergebnisse
- Analysiert werden die Veränderungen von Position und Uhrenoffset.
- Untersucht werden die Schwankungen der Ost-/Nord-/Aufwärts-Komponenten (E/N/U) der Position.
- Auch die Schwankungen des Uhrenoffsets im Zeitverlauf werden analysiert.
Berechnung von Satelliten-Azimut und -Elevation
- Im nutzerzentrierten ENU-Referenzrahmen werden Azimut und Elevation der Satelliten berechnet.
Zusammenfassung von GN⁺
- Dieser Artikel erklärt die Funktionsweise des GPS-Systems und die Methode der Positionsberechnung.
- Zur Verbesserung der Genauigkeit von GPS-Daten kommen verschiedene Korrekturverfahren zum Einsatz.
- Anhand von Matlab-Code wird gezeigt, wie reale Daten verarbeitet und analysiert werden können.
- Der Text ist hilfreich, um die technische Infrastruktur des GPS-Systems zu verstehen.
- Projekte mit ähnlicher Funktionalität sind unter anderem RTKLib und goGPS.
1 Kommentare
Hacker-News-Kommentare
Android bietet bereits Zugriff auf die Trägerphase, wodurch sich die relative Position zwischen Geräten in derselben Gegend sehr präzise messen lässt
Es gibt ein Open-Source-Projekt für Leute, die ihren GPS-Empfänger selbst bauen möchten
Das ist ein Link, der in GPS-bezogenen Kommentaren oft gepostet wird, aber aus gutem Grund
Es gibt auch einen alternativen Link mit einer interaktiveren Erklärung
Ich habe einmal einen Forscher getroffen, der GPS-Daten von Wasserlebewesen sammelt, die nur selten und kurz an die Oberfläche kommen
Der nächste Schritt ist PPP oder RTK
Es gibt noch eine weitere gute Open-Source-Implementierung
Es gibt eine Abbildung, die zeigt, wie sich die Geometrie zwischen Nutzer und Quelle auf die Unsicherheit der Nutzerposition auswirkt
Ich habe gehört, dass GPS eine der wenigen Anwendungen im Alltag ist, bei denen relativistische Effekte berücksichtigt werden müssen
Übungsaufgabe für Flacherdler: Erklärt, wie das GPS-Mapping auf dem Handy funktioniert, wenn Satelliten keine kugelförmige Erde umkreisen