Odniesienie do struktury GnssClock
#include < gps.h >
Pola danych | |
rozmiar_t | rozmiar |
Flagi GnssClock | flagi |
int16_t | sekunda_przestępna |
int64_t | czas_ns |
podwójnie | czas_niepewność_ns |
int64_t | full_bias_ns |
podwójnie | bias_ns |
podwójnie | stronniczość_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 subnanosekundowe. Oszacowany błąd dla sumy tego i pełnego_odchylenia_ns to odchylenie_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.
podwójne odchylenie_uncertainty_ns |
Niepewność 1-Sigma związana z lokalnym oszacowaniem czasu GPS (odchylenie zegara) w nanosekundach. Niepewność jest przedstawiana 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.
podwójny drift_nsps |
Dryf zegara w nanosekundach (na sekundę).
Wartość dodatnia oznacza, że częstotliwość jest wyższa niż częstotliwość nominalna i że (full_bias_ns + bias_ns) z czasem staje się coraz bardziej dodatnie.
Wartość zawiera „niepewność dryfu”. Jeżeli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_DRIFT.
Wartość ta jest obowiązkowa, jeżeli odbiornik oszacował czas GNSS
podwójny drift_uncertainty_nsps |
Niepewność 1-Sigma związana z dryfem zegara w nanosekundach (na sekundę). Niepewność jest przedstawiana jako wartość bezwzględna (jednostronna).
Jeżeli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Jeśli GPS obliczył ustaloną pozycję, to pole jest obowiązkowe i należy je wypełnić.
Flagi GnssClockFlags |
int64_t full_bias_ns |
Różnica między zegarem sprzętowym (polem „czasu”) w odbiorniku GPS a prawdziwym czasem GPS od 0000Z, 6 stycznia 1980 r., w nanosekundach.
Znak wartości definiuje się za pomocą następującego równania: lokalne oszacowanie czasu GPS = time_ns - (full_bias_ns + bias_ns)
Ta wartość jest obowiązkowa, jeśli odbiornik oszacował czas GPS. Jeżeli obliczony czas dotyczy konstelacji innej niż GPS, w celu wypełnienia tej wartości należy zastosować przesunięcie czasowe tej konstelacji względem GPS. Szacowany błąd sumy tego i bias_ns to bias_uncertainty_ns, a osoba wywołująca jest odpowiedzialna za wykorzystanie tej niepewności (może być bardzo duża, zanim zostanie obliczony czas GPS). Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
Jeżeli występują jakiekolwiek 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 pracujący oscylator kwarcowy (XO) zasadniczo nie powinien mieć żadnych nieciągłości, co można ustawić i pozostawić na poziomie 0.
Jeśli jednak wartość time_ns (zegar sprzętowy) pochodzi z zestawu źródeł, który nie jest tak płynny jak typowy XO, lub jest w inny sposób zatrzymywany i uruchamiany ponownie, wówczas wartość ta będzie zwiększana za każdym razem, gdy wystąpi nieciągłość. (Np. ta wartość może zaczynać się od zera podczas uruchamiania 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 przesunięcie (nie zaciśnięcie) tak, aby wartość ta nadal ulec zmianie podczas kolejnych zdarzeń związanych z nieciągłością.)
Chociaż liczba ta pozostaje taka sama, pomiędzy raportami GnssClock można bezpiecznie założyć, że wartość time_ns działała w sposób ciągły, np. pochodziła z pojedynczego zegara o 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ę, m.in. w okresach, gdy dostępnych jest niewiele sygnałów GNSS, aby zegar sprzętowy był wolny od nieciągłości tak długo, jak to możliwe, ponieważ pozwala to uniknąć konieczności stosowania (marnowania) pomiaru GNSS w celu pełnego rozwiązania problemu odchylenia i dryftu zegara GPS, gdy wykorzystując załączone pomiary z kolejnych raportów GnssData .
int16_t sekunda przestępna |
int64_t czas_ns |
Wartość wewnętrznego zegara odbiornika GNSS. Jest to lokalna wartość zegara sprzętowego.
W przypadku lokalnego zegara sprzętowego oczekuje się, że wartość ta będzie monotonicznie rosnąć, 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). Oszacowany przez odbiornik czas GPS 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 nanosekundy można uzyskać za pomocą pola „bias_ns”. Wartość zawiera w sobie „niepewność czasu”.
To pole jest obowiązkowe.
podwójny czas_niepewności_ns |
Niepewność 1-Sigma związana z czasem zegara w nanosekundach. Niepewność jest przedstawiana jako wartość bezwzględna (jednostronna).
Jeśli dane są dostępne, „flagi” muszą zawierać GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Ta wartość wynosi faktycznie zero (jest to referencyjny zegar lokalny, według którego mierzone są wszystkie inne czasy i niepewności czasu). (W związku z tym tego pola nie można podać, zgodnie z flagą GNSS_CLOCK_HAS_TIME_UNCERTAINTY, ani podać i ustawić na 0.)
Dokumentacja tej struktury została wygenerowana z następującego pliku:
- hardware/libhardware/include/hardware/ gps.h