Riferimento alla struttura GnssClock
#include < gps.h >
Campi dati | |
taglia_t | misurare |
GnssClockFlags | bandiere |
int16_t | leap_second |
int64_t | tempo_ns |
Doppio | incertezza_tempo_ns |
int64_t | full_bias_ns |
Doppio | bias_ns |
Doppio | bias_incertezza_ns |
Doppio | drift_nsps |
Doppio | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Descrizione dettagliata
Documentazione sul campo
doppio bias_ns |
Distorsione sub-nanosecondo. La stima dell'errore per la somma di questo e di 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 posizione fissa. Questo valore è obbligatorio se il ricevitore ha stimato il tempo GPS.
double bias_uncertainty_ns |
Incertezza 1-Sigma associata alla stima locale del tempo GPS (bias dell'orologio) in nanosecondi. L'incertezza è rappresentata come valore assoluto (unilaterale).
Se i dati sono disponibili, i 'flag' devono contenere GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Questo valore è obbligatorio se il ricevitore ha stimato il tempo GPS.
doppio drift_nsps |
Deriva dell'orologio in nanosecondi (al secondo).
Un valore positivo significa che la frequenza è superiore alla frequenza nominale e che (full_bias_ns + bias_ns) sta diventando più positivo nel tempo.
Il valore contiene l'"incertezza della deriva". Se i dati sono disponibili, i 'flag' devono contenere GNSS_CLOCK_HAS_DRIFT.
Questo valore è obbligatorio se il ricevitore ha stimato il tempo GNSS
doppia deriva_incertezza_nsps |
Incertezza 1-Sigma associata alla deriva dell'orologio in nanosecondi (al secondo). L'incertezza è rappresentata come valore assoluto (unilaterale).
Se i dati sono disponibili, i 'flag' devono contenere GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Se il GPS ha calcolato una posizione fissa, questo campo è obbligatorio e deve essere compilato.
Flag GnssClockFlags |
int64_t full_bias_ns |
La differenza tra l'orologio hardware (campo "ora") all'interno del ricevitore GPS e l'ora GPS effettiva a partire dalle 0000Z, 6 gennaio 1980, 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 stimato il tempo GPS. Se il tempo calcolato è per una costellazione non GPS, è necessario applicare l'offset temporale di tale costellazione al GPS per riempire questo valore. La stima dell'errore per la somma di questo e di bias_ns è bias_uncertainty_ns e il chiamante è responsabile dell'utilizzo di questa incertezza (può essere molto grande prima che il tempo GPS sia stato risolto). Se i dati sono disponibili, i "flag" devono contenere GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
In caso di discontinuità nell'orologio HW questo campo è obbligatorio.
Una "discontinuità" è intesa a coprire il caso di un passaggio da una sorgente di clock a un'altra. Un singolo oscillatore a cristallo libero (XO) generalmente non dovrebbe avere alcuna discontinuità e questo può essere impostato e lasciato a 0.
Se, tuttavia, il valore time_ns (orologio HW) deriva da un insieme di sorgenti, che non è regolare come un tipico XO, o viene altrimenti arrestato e riavviato, allora questo valore dovrà essere 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 un cambiamento nella continuità del clock. Nell'improbabile caso in cui questo valore raggiunga il fondo scala, è necessario il rollover (non il bloccaggio), in modo che questo valore continui a cambiamento, durante successivi eventi di discontinuità.)
Sebbene questo numero rimanga lo stesso, tra i rapporti GnssClock , si può tranquillamente presumere che il valore time_ns sia stato eseguito ininterrottamente, ad esempio derivato da un singolo orologio di alta qualità (simile a XO o migliore, tipicamente utilizzato durante il campionamento continuo del segnale GNSS. )
È previsto, spec. 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 la polarizzazione e la deriva dell'orologio GPS, quando utilizzando le misurazioni di accompagnamento, da rapporti GnssData consecutivi.
int16_t secondo_leap |
int64_t ora_ns |
Il valore dell'orologio interno del ricevitore GNSS. Questo è il valore dell'orologio hardware locale.
Per l'orologio hardware locale, si prevede che questo valore aumenti in modo monotono mentre l'orologio hardware rimane acceso. (Per il caso di orologio HW non continuamente acceso, vedere il campo hw_clock_discontinuity_count). La stima del tempo GPS del ricevitore può essere ricavata sottraendo la somma di full_bias_ns e bias_ns (se disponibile) da questo valore.
Si prevede che questo tempo GPS sia la migliore stima del tempo GPS attuale che il ricevitore GNSS può ottenere.
La precisione inferiore al nanosecondo può essere fornita tramite il campo "bias_ns". Il valore contiene l'"incertezza temporale".
Questo campo è obbligatorio.
doppio_tempo_incertezza_ns |
Incertezza 1-Sigma associata all'ora dell'orologio in nanosecondi. L'incertezza è rappresentata come valore assoluto (unilaterale).
Se i dati sono disponibili, i 'flag' devono contenere GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Questo valore è effettivamente zero (è l'orologio locale di riferimento, con il quale vengono misurati tutti gli altri tempi e le incertezze temporali.) (E quindi questo campo può non essere fornito, secondo il flag GNSS_CLOCK_HAS_TIME_UNCERTAINTY, o fornito e impostato su 0.)
La documentazione per questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ gps.h