Riferimento alla struttura GnssClock
#include <
gps.h
>
Campi dati |
|
size_t | size |
GnssClockFlags | flags |
int16_t | leap_second |
int64_t | time_ns |
doppio | time_uncertainty_ns |
int64_t | full_bias_ns |
doppio | bias_ns |
doppio | bias_uncertainty_ns |
doppio | drift_nsps |
doppio | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Descrizione dettagliata
Documentazione dei campi
doppio bias_ns |
Bias inferiore al nanosecondo. La stima dell'errore per la somma di questo valore e full_bias_ns è bias_uncertainty_ns
Se i dati sono disponibili, i "flag" devono contenere GNSS_CLOCK_HAS_BIAS. Se il GPS ha calcolato una correzione della posizione. Questo valore è obbligatorio se il ricevitore ha un orario GPS stimato.
doppio bias_uncertainty_ns |
Incertezza 1-Sigma associata alla stima locale del tempo GPS (bias dell'orologio) in nanosecondi. L'incertezza è rappresentata come un valore assoluto (unidirezionale).
Se i dati sono disponibili, i "flag" devono contenere GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Questo valore è obbligatorio se il ricevitore ha un orario GPS stimato.
raddoppiare drift_nsps |
Il tempo di sfasamento dell'orologio in nanosecondi (al secondo).
Un valore positivo indica che la frequenza è superiore alla frequenza nominale e che (full_bias_ns + bias_ns) diventa sempre più positivo nel tempo.
Il valore contiene l''incertezza della deriva'. Se i dati sono disponibili, "flags" deve contenere GNSS_CLOCK_HAS_DRIFT.
Questo valore è obbligatorio se il ricevitore ha un orario GNSS stimato
doppia drift_uncertainty_nsps |
Incertezza 1-Sigma associata al drift dell'orologio in nanosecondi (al secondo). L'incertezza è rappresentata come un valore assoluto (unidirezionale).
Se i dati sono disponibili, "flags" deve contenere GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Se il GPS ha calcolato una correzione della posizione, questo campo è obbligatorio e deve essere compilato.
GnssClockFlags flag |
int64_t full_bias_ns |
La differenza tra l'orologio hardware (campo "time") all'interno del ricevitore GPS e l'ora GPS effettiva dal 6 gennaio 1980 00:00Z in nanosecondi.
Il segno del valore è definito dalla seguente equazione: stima locale del tempo GPS = time_ns - (full_bias_ns + bias_ns)
Questo valore è obbligatorio se il ricevitore ha un orario GPS stimato. Se l'ora calcolata si riferisce a una costellazione non GPS, per compilare questo valore deve essere applicato l'offset di tempo della costellazione rispetto al GPS. La stima dell'errore per la somma di questo e del bias_ns è bias_uncertainty_ns e l'utente che chiama è responsabile dell'utilizzo di questa incertezza (può essere molto grande prima che il tempo GPS sia stato risolto). Se i dati sono disponibili, "flags" deve contenere GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
Se si verificano discontinuità nell'orologio hardware, questo campo è obbligatorio.
Una "discontinuità" è intesa per coprire il caso di un passaggio da un'origine dell'orologio a un'altra. In genere, un singolo oscillatore a cristallo a funzionamento libero (XO) non deve presentare discontinuità e può essere impostato e lasciato su 0.
Tuttavia, se il valore time_ns (orologio HW) è derivato da un insieme di origini, non è fluido come un tipico XO o viene fermato e riavviato, questo valore verrà incrementato ogni volta che si verifica una discontinuità. Ad esempio, questo valore può iniziare da zero all'avvio del dispositivo e aumentare ogni volta che si verifica una variazione nella continuità dell'orologio. Nell'improbabile caso in cui questo valore raggiunga la scala completa, è necessario il rollover (non il clamping), in modo che questo valore continui a cambiare durante gli eventi di discontinuità successivi.
Sebbene questo numero rimanga invariato tra i report GnssClock , si può presumere con sicurezza che il valore time_ns sia stato eseguito in modo continuo, ad esempio derivato da un singolo orologio di alta qualità (come XO o meglio, che viene in genere utilizzato durante il campionamento continuo del segnale GNSS).
È previsto, in particolare durante i periodi in cui sono disponibili pochi segnali GNSS, che l'orologio HW sia privo di discontinuità il più a lungo possibile, in quanto ciò evita la necessità di utilizzare (sprecare) una misurazione GNSS per risolvere completamente il bias e la deriva dell'orologio GPS, quando si utilizzano le misurazioni associate, da report consecutivi GnssData .
int16_t leap_second |
int64_t time_ns |
Il valore dell'orologio interno del ricevitore GNSS. Si tratta del valore dell'orologio hardware locale.
Per l'orologio hardware locale, questo valore dovrebbe aumentare in modo monotono mentre l'orologio hardware rimane acceso. Per il caso di un orologio HW non sempre attivo, consulta il campo hw_clock_discontinuity_count. La stima del tempo GPS del ricevitore può essere ricavata sottraendo da questo valore la somma di full_bias_ns e bias_ns (se disponibili).
Questo orario GPS dovrebbe essere la stima migliore dell'ora GPS corrente che il ricevitore GNSS può ottenere.
La precisione a livello di nanosecondi può essere fornita tramite il campo "bias_ns". Il valore contiene l''incertezza temporale'.
Questo campo è obbligatorio.
doppio time_uncertainty_ns |
Incertezza 1-Sigma associata all'ora dell'orologio in nanosecondi. L'incertezza è rappresentata come un valore assoluto (unidirezionale).
Se i dati sono disponibili, "flags" deve contenere GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Questo valore è effettivamente zero (è l'orologio locale di riferimento in base al quale vengono misurate tutte le altre ore e le incertezze temporali). Di conseguenza, questo campo può non essere fornito, in base al flag GNSS_CLOCK_HAS_TIME_UNCERTAINTY, o fornito e impostato su 0.
La documentazione di questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ gps.h