Odniesienie do struktury GnssClock
#include < gps.h >
Pola danych | |
size_t | rozmiar |
GnssClockFlags | flagi |
int16_t | leap_second |
int64_t | time_ns |
podwójnie | time_uncertainty_ns |
int64_t | full_bias_ns |
podwójnie | bias_ns |
podwójnie | bias_uncertainty_ns |
podwójnie | drift_nsps |
podwójnie | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
szczegółowy opis
Dokumentacja terenowa
podwójne odchylenie_ns |
Odchylenie poniżej nanosekund. Oszacowanie błędu dla sumy this i full_bias_ns to bias_uncertainty_ns
Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_BIAS. Jeśli GPS obliczył ustalenie pozycji. Ta wartość jest obowiązkowa, jeśli odbiornik oszacował czas GPS.
double bias_uncertainty_ns |
Niepewność 1-Sigma związana z lokalnym oszacowaniem czasu GPS (odchylenie zegara) w nanosekundach. Niepewność jest reprezentowana jako wartość bezwzględna (jednostronna).
Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Ta wartość jest obowiązkowa, jeśli odbiornik oszacował czas GPS.
double drift_nsps |
Zegar dryfuje w nanosekundach (na sekundę).
Wartość dodatnia oznacza, że częstotliwość jest wyższa niż częstotliwość nominalna i że (full_bias_ns + bias_ns) rośnie z czasem bardziej dodatnio.
Wartość zawiera w sobie „niepewność dryfu”. Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_DRIFT.
Ta wartość jest obowiązkowa, jeśli odbiornik oszacował czas GNSS
double drift_uncertainty_nsps |
Niepewność 1-Sigma związana z dryfem zegara w nanosekundach (na sekundę). Niepewność jest reprezentowana jako wartość bezwzględna (jednostronna).
Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Jeśli GPS obliczył ustalenie pozycji, to pole jest obowiązkowe i musi zostać wypełnione.
Flagi GnssClockFlags |
int64_t full_bias_ns |
Różnica między zegarem sprzętowym (polem „czasu”) wewnątrz odbiornika GPS a rzeczywistym czasem GPS od 0000Z, 6 stycznia 1980 r., W nanosekundach.
Znak wartości jest określony przez następujące równanie: lokalne oszacowanie czasu GPS = time_ns - (full_bias_ns + bias_ns)
Ta wartość jest obowiązkowa, jeśli odbiornik oszacował czas GPS. Jeśli obliczony czas dotyczy konstelacji innej niż GPS, należy zastosować przesunięcie czasu tej konstelacji względem GPS, aby wypełnić tę wartość. Oszacowanie błędu dla sumy tego i bias_ns to bias_uncertainty_ns, a wywołujący jest odpowiedzialny za wykorzystanie tej niepewności (może być bardzo duża, zanim czas GPS zostanie rozwiązany). Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
W przypadku jakichkolwiek nieciągłości w zegarze sprzętowym to pole jest obowiązkowe.
„Nieciągłość” ma obejmować przypadek przełączenia z jednego źródła zegara na drugie. Pojedynczy swobodnie działający oscylator kwarcowy (XO) generalnie nie powinien mieć żadnych nieciągłości i można to ustawić i pozostawić na 0.
Jeśli jednak wartość time_ns (zegar HW) pochodzi z połączenia źródeł, które nie jest tak gładkie jak typowe XO, lub jest w inny sposób zatrzymane i ponownie uruchomione, wówczas wartość ta powinna być zwiększana za każdym razem, gdy wystąpi nieciągłość. (Np. Ta wartość może zaczynać się od zera przy uruchamianiu urządzenia i zwiększać się za każdym razem, gdy następuje zmiana ciągłości zegara. W mało prawdopodobnym przypadku, gdy wartość ta osiągnie pełną skalę, wymagane jest przewinięcie (a nie clampowanie), tak że wartość ta nadal zmiany, podczas kolejnych zdarzeń nieciągłości).
Chociaż ta liczba pozostaje taka sama, między raportami GnssClock można bezpiecznie założyć, że wartość time_ns działa w sposób ciągły, np. Pochodzi z pojedynczego zegara wysokiej jakości (podobnego do XO lub lepszego, który jest zwykle używany podczas ciągłego próbkowania sygnału GNSS. )
Oczekuje się, zwł. w okresach, w których dostępnych jest niewiele sygnałów GNSS, aby zegar HW był wolny od nieciągłości tak długo, jak to możliwe, ponieważ pozwala to uniknąć konieczności wykorzystania (marnotrawstwa) pomiaru GNSS w celu pełnego ponownego rozwiązania dla odchylenia i dryfu zegara GPS, kiedy korzystając z towarzyszących pomiarów, z kolejnych raportów GnssData .
int16_t leap_second |
int64_t time_ns |
Wartość zegara wewnętrznego odbiornika GNSS. To jest wartość lokalnego zegara sprzętowego.
Oczekuje się, że dla lokalnego zegara sprzętowego ta wartość będzie rosła monotonicznie, podczas gdy zegar sprzętowy pozostanie włączony. (W przypadku zegara sprzętowego, który nie jest stale włączony, zobacz pole hw_clock_discontinuity_count). Oszacowanie czasu GPS przez odbiornik można uzyskać odejmując od tej wartości sumę full_bias_ns i bias_ns (jeśli są dostępne).
Oczekuje się, że ten czas GPS będzie najlepszym oszacowaniem bieżącego czasu GPS, jaki może osiągnąć odbiornik GNSS.
Dokładność poniżej nanosekund można zapewnić za pomocą pola „bias_ns”. Wartość zawiera w sobie „niepewność czasu”.
To pole jest obowiązkowe.
double time_uncertainty_ns |
Niepewność 1-Sigma związana z czasem zegara w nanosekundach. Niepewność jest reprezentowana jako wartość bezwzględna (jednostronna).
Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Ta wartość jest efektywnie zerowa (jest to lokalny zegar odniesienia, za pomocą którego mierzone są wszystkie inne czasy i niepewności czasu).
Dokumentacja dla tej struktury została wygenerowana z następującego pliku:
- sprzęt / libhardware / include / hardware / gps.h