GnssClock-Strukturreferenz

GnssClock-Strukturreferenz

#include < gps.h >

Datenfelder

size_t  size
 
GnssClockFlags   Flags
 
int16_t  leap_second
 
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

Eine Schätzung der GPS-Uhrzeit.

Definition in Zeile 1455 der Datei gps.h .

Felddokumentation

double bias_ns

Abweichungen unter einer Nanosekunde. Die Fehlerschätzung für die Summe aus diesem Wert und „full_bias_ns“ ist „bias_uncertainty_ns“.

Wenn die Daten verfügbar sind, muss „flags“ GNSS_CLOCK_HAS_BIAS enthalten. Wenn das GPS eine Standortbestimmung berechnet hat. Dieser Wert ist obligatorisch, wenn der Empfänger eine geschätzte GPS-Zeit hat.

Definition in Zeile 1534 der Datei gps.h .

double bias_uncertainty_ns

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

Wenn die Daten verfügbar sind, muss „flags“ GNSS_CLOCK_HAS_BIAS_UNCERTAINTY enthalten. Dieser Wert ist obligatorisch, wenn der Empfänger eine geschätzte GPS-Zeit hat.

Definition in Zeile 1545 der Datei gps.h .

double drift_nsps

Die Abweichung 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) im Laufe der Zeit immer positiver wird.

Der Wert enthält die „Abweichungsunsicherheit“. Wenn die Daten verfügbar sind, muss „flags“ GNSS_CLOCK_HAS_DRIFT enthalten.

Dieser Wert ist obligatorisch, wenn der Empfänger eine geschätzte GNSS-Zeit hat.

Definition in Zeile 1559 der Datei gps.h .

double drift_uncertainty_nsps

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

Wenn die Daten verfügbar sind, muss „flags“ GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY enthalten. Wenn das GPS eine Standortbestimmung 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 Hardwareuhr (Feld „time“) im GPS-Empfänger und der tatsächlichen GPS-Zeit seit 00:00 UTC am 6. Januar 1980 in Nanosekunden.

Das Vorzeichen des Werts wird durch die folgende Gleichung definiert: lokale Schätzung der GPS-Zeit = Zeit_ns – (Vollständige Abweichung_ns + Abweichung_ns)

Dieser Wert ist obligatorisch, wenn der Empfänger eine geschätzte GPS-Zeit hat. Wenn die berechnete Zeit für eine andere Konstellation als GPS ist, muss die Zeitabweichung dieser Konstellation zum GPS angewendet werden, um diesen Wert zu füllen. Die Fehlerschätzung für die Summe aus diesem Wert und „bias_ns“ ist „bias_uncertainty_ns“. Der Aufrufer ist dafür verantwortlich, diese Unsicherheit zu verwenden. Sie kann sehr groß sein, bevor die GPS-Zeit ermittelt wurde. Wenn die Daten verfügbar sind, muss „flags“ GNSS_CLOCK_HAS_FULL_BIAS enthalten.

Definition in Zeile 1523 der Datei gps.h .

uint32_t hw_clock_discontinuity_count

Bei Unterbrechungen der HW-Taktzeit ist dieses Feld obligatorisch.

Eine „Unterbrechung“ soll den Fall abdecken, dass von einer Uhrenquelle zu einer anderen gewechselt wird. Ein einzelner kostenloser Quarzoszillator (XO) sollte im Allgemeinen keine Unterbrechungen aufweisen. Dieser Wert kann auf 0 gesetzt und beibehalten werden.

Wenn der Wert „time_ns“ (HW-Takt) jedoch aus einer Kombination von Quellen abgeleitet wird, die nicht so flüssig wie eine typische XO ist, oder anderweitig angehalten und neu gestartet wird, wird dieser Wert jedes Mal erhöht, wenn eine Unterbrechung auftritt. Dieser Wert kann beispielsweise beim Starten des Geräts bei null beginnen und sich jedes Mal erhöhen, wenn sich die Uhrensynchronisierung ändert. Für den unwahrscheinlichen Fall, dass dieser Wert den Grenzwert erreicht, ist ein Überlauf (kein Klemmen) erforderlich, damit sich dieser Wert bei nachfolgenden Unterbrechungsereignissen weiter ändert.

Da sich diese Zahl zwischen den Berichten GnssClock nicht ändert, kann davon ausgegangen werden, dass der Wert „time_ns“ kontinuierlich gelaufen ist, z.B. abgeleitet von einer einzelnen hochwertigen Uhr (XO-ähnlich oder besser, die normalerweise bei der kontinuierlichen GNSS-Signalabtastung verwendet wird).

Es wird erwartet, dass die HW-Taktzeit insbesondere in Zeiträumen, in denen nur wenige GNSS-Signale verfügbar sind, so lange wie möglich ohne Unterbrechungen läuft. Andernfalls muss eine GNSS-Messung verwendet werden, um die Abweichung und Drift der GPS-Taktzeit vollständig neu zu berechnen, wenn die begleitenden Messungen aus aufeinanderfolgenden GnssData Berichten verwendet werden.

Definition in Zeile 1600 der Datei gps.h .

int16_t leap_second

Daten zu Schaltsekunden 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, muss „flags“ GNSS_CLOCK_HAS_LEAP_SECOND enthalten.

Definition in Zeile 1473 der Datei gps.h .

size_t-Größe

auf sizeof(GnssClock) festgelegt

Definition in Zeile 1457 der Datei gps.h .

int64_t time_ns

Der Wert der internen Uhr des GNSS-Empfängers. Dies ist der Wert der lokalen Hardwareuhr.

Bei der lokalen Hardwareuhr sollte dieser Wert kontinuierlich steigen, solange die Hardwareuhr eingeschaltet ist. (Für eine HW-Taktzeit, die nicht kontinuierlich läuft, siehe Feld „hw_clock_discontinuity_count“). Die geschätzte GPS-Zeit des Empfängers kann durch Abziehen der Summe von „full_bias_ns“ und „bias_ns“ (sofern verfügbar) von diesem Wert ermittelt werden.

Diese GPS-Zeit ist voraussichtlich die beste Schätzung der aktuellen GPS-Zeit, die der GNSS-Empfänger erreichen kann.

Eine Genauigkeit unter einer Nanosekunde kann mit dem Feld „bias_ns“ angegeben werden. Der Wert enthält die „Zeitunsicherheit“.

Dieses Feld ist Pflicht.

Definition in Zeile 1494 der Datei gps.h .

double time_uncertainty_ns

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

Wenn die Daten verfügbar sind, muss „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. Dieses Feld kann also gemäß dem Flag „GNSS_CLOCK_HAS_TIME_UNCERTAINTY“ nicht angegeben oder angegeben 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