RINEX (Receiver INdependent EXchange Format) ist eine Reihe von Dateiformaten zur Verteilung von Daten von Satellitennavigationssystemen, einschließlich GNSS. Einer dieser Standards, Navigationsdateien, liefert Positionsinformationen über Satelliten.
Der Standard unterscheidet sich für verschiedene Satellitennavigationssysteme, kann aber grob in zwei Typen eingeteilt werden: diejenigen, die Zustandsvektoren als Orbitalelemente bereitstellen, und diejenigen, die Zustandsvektoren als kartesische Koordinaten (in einem ECEF-Rahmen) bereitstellen. Als Repräsentanten jeder Klasse sind die RINEX-Navigationsdateien für GPS vom Orbitalelementtyp, während die für GLONASS vom kartesischen Koordinatentyp sind.
Ich versuche derzeit, die in solchen RINEX-Navigationsdateien bereitgestellten Zustandsvektoren als Ausgangspunkt für die Ausbreitung mit einem hochpräzisen numerischen Propagator zu verwenden. Um eine solche Operation durchzuführen, glaube ich jedoch, dass es entscheidend ist, genau zu wissen, auf welchen Zeitpunkt sich die bereitgestellten Zustandsvektoren beziehen.
Mehrere Zeitparameter werden in RINEX-Navigationsdateien bereitgestellt, wie beispielsweise hier beschrieben , und auf interaktivere Weise hier für GPS-Dateien und hier für GLONASS-Dateien .
Meine Frage ist, wie können wir aus den verschiedenen angegebenen Zeitparametern die Zeit erhalten, der die Zustandsvektoren so genau wie möglich entsprechen?
Ich hinterlasse unten eine Zusammenfassung dessen, was ich bisher ausgearbeitet habe, aufgeteilt in GPS- und GLONASS-Abschnitte.
GPS
Das Format wird in den Tabellen A3 und A4 des Anhangs dieses Dokuments beschrieben , mit einem Beispiel in Tabelle A8 desselben Anhangs.
Die erste Zeile jeder Nachricht enthält Felder für Jahr, Monat, Tag, Stunde, Minute und Sekunde der Epoche. Allerdings bin ich mir bei folgenden Punkten in Bezug auf solche Epochenfelder unsicher:
Der Header enthält eine Reihe von Parametern mit der Bezeichnung Delta-UTC, die anscheinend verwendet werden können, um "Zeit in UTC zu berechnen", genannt A0, A1, Referenzzeit und Wochennummer. Die Umrechnungsformel scheint gemäß Abschnitt 5.4.1 dieses Dokuments und Abschnitt 8.2 dieses Dokuments zu sein :
Wo ist die Zeit in UTC, ist "Raumfahrzeugzeit" und ist "Satellitenzeit der Uhr".
Dazu bin ich mir bei folgendem unsicher:
Die Nachrichten enthalten auch Felder für "Ephemeridenzeit" (erstes Feld der 4. Nachrichtenzeile) und "Übertragungszeit" (erstes Feld der 8. Nachrichtenzeile), beide in Einheiten von "Sekunden der GPS-Woche".
Schließlich ist das 3. Feld der 6. Nachrichtenzeile "GPS-Wochennummer". Ich neige zu der Annahme, dass dieser Wert möglicherweise mit dem Feld "Ephemeridenzeit" kombiniert werden könnte, um die Epochenzeit für die gemeldeten Ephemeriden zu erhalten.
GLONASS
Das Format wird in den Tabellen A10 und A11 des Anhangs dieses Dokuments beschrieben , mit einem Beispiel in Tabelle A12 desselben Anhangs.
Die Situation für GLONASS-Nachrichten scheint etwas anders zu sein. Der Header (der für alle in der Datei enthaltenen Nachrichten gültig ist, die von verschiedenen Satelliten in der Konstellation kommen können und tatsächlich gewöhnlich zu sein scheinen) enthält einen Satz von Parametern, die als "CORR TO SYSTEM TIME" bezeichnet sind. Diese sind:
Diese Parameter werden zur Durchführung einer „Korrektur der Systemzeitskala zur Korrektur der GLONASS-Systemzeit auf UTC“ beschrieben, indem die in Abschnitt 5.4.2 dieses Dokuments und Abschnitt 8.2 dieses Dokuments beschriebene Formel angewendet wird
Der Und Parameter scheinen in der ersten Zeile jeder Nachricht bereitgestellt zu werden, und ich vermute, dass es sich wieder um eine Form von Taktabweichung und Taktdrift handelt. Allerdings sind mir noch folgende Dinge unklar:
Bearbeiten : Ich dachte, es wäre eine gute Idee, hier die Klarstellungen zu verfolgen, die wir für die verschiedenen Fragen finden.
Bearbeiten 2 : Ich habe als weitere Antwort das Verfahren hinterlassen, das ich nach Klarstellungen von @NgPh für richtig halte
Was genau sind Und ?
Die erste ist jede Zeit (z. B. die Zeit, zu der die Nachricht gesendet wurde), ausgedrückt in dem Zeitsystem, das von einem bestimmten Satelliten (Raumfahrzeug) verwaltet wird. Die Sekunde ist die Referenzzeit für die Uhrkorrektur, ausgedrückt im gleichen Zeitsystem. Die Korrektur wird benötigt, damit jede von einem beliebigen Satelliten angekündigte Zeit in ein gemeinsames GPS-Zeitsystem (auch GPST genannt) umgewandelt werden kann. Daher ist Gl. 2 der GPS-Referenzspezifikation (IS-GPS-200M, Seite 95 - die Sie oben in den Kommentaren erwähnt haben) ermöglicht es einem Empfänger, die Uhrfehler in einem bestimmten SV aus den von diesem SV gesendeten Navigationsdaten zu korrigieren, um zu den gemeinsamen zu gelangen Zeitreferenz. Diese Sendedaten werden vom GPS Operation Center berechnet und regelmäßig aktualisiert. Diese Erklärung aus der GPS-Spezifikation (IS-GPS-200M, Abschnitt 20.3.3.3.3.1) ist klarer:
Könnte die Formel um einen quadratischen Term erweitert werden, so etwas wie , Wo wäre die Driftrate der Uhr auch in der ersten Zeile jeder Nachricht enthalten?
Es könnte, da das Feld in den Spezifikationen vorhanden ist. Es ist möglich, dass dieser quadratische Term selten verwendet wird. Sein Wert ungleich Null würde bedeuten, dass die Borduhr auch in der Frequenz driftet. Wahrscheinlich würden sie auf die Ersatz-Atomuhr umsteigen (es sei denn, beide Uhren leiden darunter).
Wären auch relativistische Korrekturen erforderlich, um eine UTC-Zeit korrekt zu erhalten?
Ich denke, die relativistische Korrektur ist anwendungsabhängig. Zum Zwecke der Lokalisierung benötigen Sie meines Erachtens keine UTC, nur um 4 gemessene Zeitdeltas mit derselben gemeinsamen Zeitreferenz (GPST) zu synchronisieren.
Die Formel im RINEX-Dokument, Abschnitt 5.4.1 (hier wiedergegeben) ist etwas verwirrend.
Es sieht so aus, als wäre es eine unvollständige Formel, bei der ausgelassene Begriffe durch "..." ersetzt wurden (Aufhängungspunkte, die Sie in Ihrer Frage nicht wiedergegeben haben). Die GPS-Spezifikation, Abschnitt 20.3.3.5.2.4 ist viel klarer. Es liest:
A0 und A1 haben also eine ähnliche Rolle wie af0 und af1. Zusammen mit den Schaltsekunden dienen sie dazu, die Drift von GPST in Bezug auf UTC zu korrigieren, ähnlich wie af0, af1 (und möglicherweise af2) dazu dienen, die Drift von zu korrigieren in Bezug auf GPST.
Beachten Sie, dass die Bezugszeit für die Berechnung des Korrekturterms gilt Ist (und nicht die Referenz für den Korrekturterm für )
Ich habe die GLONASS-Spezifikationen nicht gelesen, aber ich denke, dass alle GNSS-Uhrkorrekturen (Galileo, Beidou, ...) dem gleichen Ansatz folgen, nur mit Unterschieden in der Notation der Begriffe. Eine gute Übung wäre es, die gleichen Abschnitte in ihren Spezifikationen zu lesen (dafür bin ich zu faul!).
Dank der sehr aufschlussreichen Erklärung von @NgPh konnte ich endlich herausfinden, wie Uhrkorrekturen an UTC für GPS- und GLONASS-RINEX-Navigationsdateien korrekt durchgeführt werden. Ich habe jetzt meine eigene Implementierung abgeschlossen und dachte, es wäre eine gute Idee, eine Zusammenfassung des Prozesses zu hinterlassen, da ich glaube, dass sie hier richtig ist. Beachten Sie, dass sich die hier beschriebenen Prozesse darauf beziehen, wie die Zeit von Ephemeriden korrigiert wird (um es in einfachen Worten auszudrücken, die Zeit, zu der der bereitgestellte Zustandsvektor des Satelliten gültig ist).
GPS
Hier sind 2 Schritte erforderlich: Konvertierung der individuellen GPS-Satellitenzeit in systemweites GPST und Konvertierung von GPST in UTC.
GLONASS
Bei GLONASS-Dateien scheint die Situation einfacher zu sein, obwohl es immer noch ein paar Dinge gibt, bei denen ich mir nicht 100% sicher bin. Es sollte beachtet werden, dass die GLONASS-Zeit an die UTC-Zeit gebunden ist und es zu jedem Zeitpunkt nur einen kleinen Offset gibt (normalerweise im Bereich von einigen hundert Nanosekunden und in jedem Fall immer unter 1 ms, wie auf Seite 15 von angegeben die GLONASS-Spezifikationen ). Darüber hinaus liefern RINEX GLONASS-Navigationsdateien Ephemeriden direkt in kartesischen Koordinaten im ECEF-Frame. Ich glaube, das richtige Verfahren zum Erhalten der genauesten UTC-Zeit ist:
David Hammen
Raffa
PM 2Ring
Raffa
PM 2Ring
Raffa
Raffa