GnssClock Yapı Referansı
#include <
gps.h
>
Veri Alanları |
|
size_t | size |
GnssClockFlags | işaretleri |
int16_t | leap_second |
int64_t | time_ns |
çift | time_uncertainty_ns |
int64_t | full_bias_ns |
çift | bias_ns |
çift | bias_uncertainty_ns |
çift | drift_nsps |
çift | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Ayrıntılı Açıklama
Alan Belgeleri
çift bias_ns |
Nanosaniyenin altında önyargı. Bu değerin ve full_bias_ns değerinin toplamı için hata tahmini bias_uncertainty_ns olur.
Veriler mevcutsa "flags", GNSS_CLOCK_HAS_BIAS değerini içermelidir. GPS bir konum düzeltmesi hesapladıysa. Alıcıda tahmini GPS zamanı varsa bu değer zorunludur.
double bias_uncertainty_ns |
GPS zamanının yerel tahminiyle (saat sapması) ilişkili 1-Sigma belirsizliği nanosaniye cinsinden. Belirsizlik, mutlak (tek taraflı) bir değer olarak temsil edilir.
Veriler mevcutsa "flags", GNSS_CLOCK_HAS_BIAS_UNCERTAINTY değerini içermelidir. Alıcıda tahmini GPS zamanı varsa bu değer zorunludur.
double drift_nsps |
Saniyede nanosaniye cinsinden saatin kayması.
Pozitif değer, frekansın nominal frekanstan yüksek olduğu ve (full_bias_ns + bias_ns) değerinin zaman içinde daha pozitif hale geldiği anlamına gelir.
Değer, "sapma belirsizliğini" içerir. Veriler mevcutsa "flags", GNSS_CLOCK_HAS_DRIFT değerini içermelidir.
Alıcıda tahmini GNSS zamanı varsa bu değer zorunludur
double drift_uncertainty_nsps |
Saniyede nanosaniye cinsinden saatin kaymasıyla ilişkili 1-Sigma belirsizlik. Belirsizlik, mutlak (tek taraflı) bir değer olarak temsil edilir.
Veriler mevcutsa "flags", GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY değerini içermelidir. GPS bir konum düzeltmesi hesapladıysa bu alan zorunludur ve doldurulmalıdır.
GnssClockFlags bayrakları |
int64_t full_bias_ns |
GPS alıcısının içindeki donanım saati ("time" alanı) ile 6 Ocak 1980, 00:00Z'den bu yana gerçek GPS saati arasındaki fark (nanosaniye cinsinden).
Değerin işareti aşağıdaki denklemle tanımlanır: GPS zamanının yerel tahmini = time_ns - (full_bias_ns + bias_ns)
Alıcıda tahmini GPS zamanı varsa bu değer zorunludur. Hesaplanan zaman, GPS dışındaki bir takımyıldız içinse bu değeri doldurmak üzere söz konusu takımyıldızın GPS'ye göre zaman kaydırması uygulanmalıdır. Bu değerin ve bias_ns değerinin toplamı için hata tahmini bias_uncertainty_ns olur ve bu belirsizliği kullanmaktan çağıran sorumludur (GPS zamanı çözülmeden önce çok büyük olabilir). Veriler mevcutsa "flags", GNSS_CLOCK_HAS_FULL_BIAS değerini içermelidir.
uint32_t hw_clock_discontinuity_count |
Donanım saatinde kesinti olduğunda bu alan zorunludur.
"Süreksizlik", bir saat kaynağından diğerine geçiş durumunu kapsar. Tek bir serbest çalışan kristal osilatörde (XO) genellikle kesinti olmamalıdır ve bu ayar 0 olarak ayarlanıp bırakılabilir.
Ancak time_ns değeri (HW saati), tipik bir XO kadar düzgün olmayan veya başka bir şekilde durdurulup yeniden başlatılan bir kaynak bileşiminden türetilmişse bu değer, her kesinti oluştuğunda artırılır. (Örneğin, bu değer cihazın açılışında sıfırdan başlayabilir ve saat sürekliliğinde her değişiklik olduğunda artabilir. Bu değerin tam ölçeğe ulaşması ihtimali düşük olsa da, sonraki kesinti etkinlikleri sırasında bu değerin değişmeye devam etmesi için kaydırma (sabitleme değil) gerekir.)
Bu sayı aynı kalsa da GnssClock raporları arasında time_ns değerinin sürekli olarak çalıştığı (ör. tek bir yüksek kaliteli saatten türetilmiş) varsayılabilir (XO benzeri veya daha iyisi, genellikle sürekli GNSS sinyali örnekleme sırasında kullanılır).
Özellikle GNSS sinyallerinin az olduğu dönemlerde, HW saatinin mümkün olduğunca kesintisiz olması beklenir. Bu sayede, art arda gelen GnssData raporlarındaki eşlik eden ölçümler kullanılırken GPS saati önyargı ve kayması için tamamen yeniden çözüm bulmak amacıyla bir GNSS ölçümünün kullanılması (harcanması) gerekmez.
int16_t leap_second |
int64_t time_ns |
GNSS alıcısının dahili saat değeri. Bu, yerel donanım saati değeridir.
Yerel donanım saatinde, donanım saati açıkken bu değerin monoton olarak artması beklenir. (Devamlı olarak açık olmayan bir donanım saati için hw_clock_discontinuity_count alanına bakın). Alıcı'nın GPS zamanı tahmini, full_bias_ns ve bias_ns (mevcut olduğunda) değerlerinin toplamı bu değerden çıkarılarak elde edilebilir.
Bu GPS saatinin, GNSS alıcısının elde edebileceği mevcut GPS saatinin en iyi tahmini olması beklenir.
Nanosaniyenin altında doğruluk, "bias_ns" alanı aracılığıyla sağlanabilir. Değer, "zaman belirsizliği"ni içerir.
Bu alan zorunludur.
double time_uncertainty_ns |
Saatin nanosaniye cinsinden zamanıyla ilişkili 1-Sigma belirsizlik. Belirsizlik, mutlak (tek taraflı) bir değer olarak temsil edilir.
Veriler mevcutsa "flags", GNSS_CLOCK_HAS_TIME_UNCERTAINTY değerini içermelidir. Bu değer aslında sıfırdır (diğer tüm zamanların ve zaman belirsizliklerinin ölçüldüğü referans yerel saattir). (Bu nedenle, GNSS_CLOCK_HAS_TIME_UNCERTAINTY işaretine göre bu alan sağlanmayabilir veya sağlanıp 0 olarak ayarlanabilir.)
Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
- hardware/libhardware/include/hardware/ gps.h