GnssClock-Strukturreferenz

GnssClock-Strukturreferenz

#include < gps.h >

Datenfelder

size_t Größe
GnssClockFlags Flaggen
int16_t Schaltsekunde
int64_t time_ns
doppelt time_uncertainty_ns
int64_t full_bias_ns
doppelt Bias_ns
doppelt bias_uncertainty_ns
doppelt drift_nsps
doppelt drift_uncertainty_nsps
uint32_t hw_clock_discontinuity_count

detaillierte Beschreibung

Stellt eine Schätzung der GPS-Uhrzeit dar.

Definition in Zeile 1455 der Datei gps.h .

Felddokumentation

doppelter Bias_ns

Sub-Nanosekunden-Bias. Die Fehlerschätzung für die Summe dieser und der full_bias_ns ist „bias_uncertainty_ns“.

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_CLOCK_HAS_BIAS enthalten. Wenn GPS eine Positionsbestimmung berechnet hat. Dieser Wert ist obligatorisch, wenn der Empfänger über eine geschätzte GPS-Zeit verfügt.

Definition in Zeile 1534 der Datei gps.h .

doppelte Bias_uncertainty_ns

1-Sigma-Unsicherheit im Zusammenhang mit der lokalen Schätzung der GPS-Zeit (Uhrenabweichung) in Nanosekunden. Die Unsicherheit wird als absoluter (einseitiger) Wert dargestellt.

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_CLOCK_HAS_BIAS_UNCERTAINTY enthalten. Dieser Wert ist obligatorisch, wenn der Empfänger über eine geschätzte GPS-Zeit verfügt.

Definition in Zeile 1545 der Datei gps.h .

doppelte drift_nsps

Die Drift der Uhr in Nanosekunden (pro Sekunde).

Ein positiver Wert bedeutet, dass die Frequenz höher als die Nennfrequenz ist und dass (full_bias_ns + Bias_ns) mit der Zeit positiver wird.

Der Wert enthält die „Driftunsicherheit“. Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_CLOCK_HAS_DRIFT enthalten.

Dieser Wert ist obligatorisch, wenn der Empfänger über eine geschätzte GNSS-Zeit verfügt

Definition in Zeile 1559 der Datei gps.h .

doppelte drift_uncertainty_nsps

1-Sigma-Unsicherheit im Zusammenhang mit der Drift der Uhr in Nanosekunden (pro Sekunde). Die Unsicherheit wird als absoluter (einseitiger) Wert dargestellt.

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY enthalten. Wenn GPS eine Positionsbestimmung berechnet hat, ist dieses Feld obligatorisch und muss ausgefüllt werden.

Definition in Zeile 1569 der Datei gps.h .

Eine Reihe von Flags, die die Gültigkeit der Felder in dieser Datenstruktur angeben.

Definition in Zeile 1463 der Datei gps.h .

int64_t full_bias_ns

Die Differenz zwischen der Hardware-Uhr (Feld „Zeit“) im GPS-Empfänger und der tatsächlichen GPS-Zeit seit 00:00 Uhr, dem 6. Januar 1980, in Nanosekunden.

Das Vorzeichen des Werts wird durch die folgende Gleichung definiert: lokale Schätzung der GPS-Zeit = time_ns – (full_bias_ns + Bias_ns)

Dieser Wert ist obligatorisch, wenn der Empfänger über eine geschätzte GPS-Zeit verfügt. Wenn die berechnete Zeit für eine Nicht-GPS-Konstellation gilt, muss der Zeitversatz dieser Konstellation zum GPS angewendet werden, um diesen Wert zu füllen. Die Fehlerschätzung für die Summe aus diesem und dem „bias_ns“ ist „bias_uncertainty_ns“, und der Aufrufer ist für die Verwendung dieser Unsicherheit verantwortlich (sie kann sehr groß sein, bevor die GPS-Zeit gelöst wurde). Wenn die Daten verfügbar sind, müssen „Flags“ enthalten sein GNSS_CLOCK_HAS_FULL_BIAS.

Definition in Zeile 1523 der Datei gps.h .

uint32_t hw_clock_discontinuity_count

Wenn es Diskontinuitäten in der HW-Uhr gibt, ist dieses Feld ein Pflichtfeld.

Eine „Diskontinuität“ soll den Fall eines Wechsels von einer Taktquelle zu einer anderen abdecken. Ein einzelner freilaufender Quarzoszillator (XO) sollte im Allgemeinen keine Diskontinuitäten aufweisen und kann auf 0 eingestellt und belassen werden.

Wenn der time_ns-Wert (HW-Takt) jedoch aus einer Kombination von Quellen abgeleitet wird, die nicht so glatt ist wie ein typischer XO, oder auf andere Weise gestoppt und neu gestartet wird, muss dieser Wert jedes Mal erhöht werden, wenn eine Diskontinuität auftritt. (Zum Beispiel kann dieser Wert beim Hochfahren des Geräts bei Null beginnen und bei jeder Änderung der Taktkontinuität erhöht werden. Für den unwahrscheinlichen Fall, dass dieser Wert den vollen Skalenwert erreicht, ist ein Rollover (kein Klemmen) erforderlich, damit dieser Wert weiterhin anhält Änderung während nachfolgender Diskontinuitätsereignisse.)

Während diese Zahl zwischen GnssClock- Berichten gleich bleibt, kann man mit Sicherheit davon ausgehen, dass der time_ns-Wert kontinuierlich lief, z. B. abgeleitet von einer einzelnen, hochwertigen Uhr (XO-ähnlich oder besser, die typischerweise während der kontinuierlichen GNSS-Signalabtastung verwendet wird). )

Es wird erwartet, insb. In Zeiten, in denen nur wenige GNSS-Signale verfügbar sind, muss die HW-Uhr so ​​lange wie möglich diskontinuierlich sein, da dadurch die Notwendigkeit vermieden wird, eine GNSS-Messung zu verwenden (zu verschwenden), um die Abweichung und Drift der GPS-Uhr vollständig neu zu ermitteln unter Verwendung der begleitenden Messungen aus aufeinanderfolgenden GnssData- Berichten.

Definition in Zeile 1600 der Datei gps.h .

int16_t leap_second

Schaltsekundendaten. Das Vorzeichen des Werts wird durch die folgende Gleichung definiert: utc_time_ns = time_ns – (full_bias_ns + Bias_ns) – leap_second * 1.000.000.000

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_CLOCK_HAS_LEAP_SECOND enthalten.

Definition in Zeile 1473 der Datei gps.h .

size_t Größe

auf sizeof(GnssClock) setzen

Definition in Zeile 1457 der Datei gps.h .

int64_t time_ns

Der interne Taktwert des GNSS-Empfängers. Dies ist der lokale Hardware-Uhrwert.

Für die lokale Hardware-Uhr wird erwartet, dass dieser Wert monoton ansteigt, während die Hardware-Uhr eingeschaltet bleibt. (Für den Fall einer HW-Uhr, die nicht kontinuierlich eingeschaltet ist, siehe das Feld hw_clock_discontinuity_count). Die vom Empfänger geschätzte GPS-Zeit kann durch Subtrahieren der Summe von full_bias_ns und Bias_ns (sofern verfügbar) von diesem Wert abgeleitet werden.

Es wird erwartet, dass diese GPS-Zeit die beste Schätzung der aktuellen GPS-Zeit ist, die ein GNSS-Empfänger erreichen kann.

Mithilfe des Felds „bias_ns“ kann eine Genauigkeit im Sub-Nanosekundenbereich bereitgestellt werden. Der Wert enthält die „Zeitunsicherheit“.

Das Feld ist obligatorisch.

Definition in Zeile 1494 der Datei gps.h .

doppelte time_uncertainty_ns

1-Sigma-Unsicherheit im Zusammenhang mit der Uhrzeit in Nanosekunden. Die Unsicherheit wird als absoluter (einseitiger) Wert dargestellt.

Wenn die Daten verfügbar sind, müssen „Flags“ GNSS_CLOCK_HAS_TIME_UNCERTAINTY enthalten. Dieser Wert ist praktisch Null (es ist die lokale Referenzuhr, anhand derer alle anderen Zeiten und Zeitunsicherheiten gemessen werden.) (Und daher kann dieses Feld nicht gemäß GNSS_CLOCK_HAS_TIME_UNCERTAINTY-Flag bereitgestellt oder bereitgestellt und auf 0 gesetzt werden.)

Definition in Zeile 1506 der Datei gps.h .


Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
  • hardware/libhardware/include/hardware/ gps.h