Référence de structure GnssClock
#include < gps.h >
Champs de données | |
size_t | Taille |
GnssClockFlags | drapeaux |
int16_t | leap_second |
int64_t | time_ns |
double | time_uncertainty_ns |
int64_t | full_bias_ns |
double | bias_ns |
double | biais_incertitude_ns |
double | drift_nsps |
double | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Description détaillée
Documentation sur le terrain
double biais_ns |
Biais sub-nanoseconde. L'estimation d'erreur pour la somme de ceci et de full_bias_ns est le bias_uncertainty_ns
Si les données sont disponibles, les «indicateurs» doivent contenir GNSS_CLOCK_HAS_BIAS. Si le GPS a calculé une position fixe. Cette valeur est obligatoire si le récepteur a une estimation de l'heure GPS.
double biais_incertitude_ns |
Incertitude 1-sigma associée à l'estimation locale de l'heure GPS (biais d'horloge) en nanosecondes. L'incertitude est représentée par une valeur absolue (unilatérale).
Si les données sont disponibles, les «indicateurs» doivent contenir GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Cette valeur est obligatoire si le récepteur a une estimation de l'heure GPS.
double drift_nsps |
La dérive de l'horloge en nanosecondes (par seconde).
Une valeur positive signifie que la fréquence est supérieure à la fréquence nominale et que le (full_bias_ns + bias_ns) devient de plus en plus positif au fil du temps.
La valeur contient l '«incertitude de la dérive». Si les données sont disponibles, les 'flags' doivent contenir GNSS_CLOCK_HAS_DRIFT.
Cette valeur est obligatoire si le récepteur a estimé l'heure GNSS
double dérive_incertitude_nsps |
Incertitude de 1 sigma associée à la dérive de l'horloge en nanosecondes (par seconde). L'incertitude est représentée par une valeur absolue (unilatérale).
Si les données sont disponibles, les 'flags' doivent contenir GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Si le GPS a calculé une position fixe, ce champ est obligatoire et doit être renseigné.
Drapeaux GnssClockFlags |
int64_t full_bias_ns |
La différence entre l'horloge matérielle (champ «temps») à l'intérieur du récepteur GPS et l'heure GPS réelle depuis 0000Z, le 6 janvier 1980, en nanosecondes.
Le signe de la valeur est défini par l'équation suivante: estimation locale du temps GPS = time_ns - (full_bias_ns + bias_ns)
Cette valeur est obligatoire si le récepteur a une estimation de l'heure GPS. Si le temps calculé est pour une constellation non GPS, le décalage temporel de cette constellation par rapport au GPS doit être appliqué pour remplir cette valeur. L'estimation d'erreur pour la somme de ceci et de bias_ns est bias_uncertainty_ns, et l'appelant est responsable de l'utilisation de cette incertitude (elle peut être très grande avant que le temps GPS n'ait été résolu). GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
Lorsqu'il y a des discontinuités dans l'horloge HW, ce champ est obligatoire.
Une «discontinuité» est censée couvrir le cas d'un passage d'une source d'horloge à une autre. Un seul oscillateur à cristal libre (XO) ne devrait généralement pas avoir de discontinuités, et cela peut être réglé et laissé à 0.
Cependant, si la valeur time_ns (horloge HW) est dérivée d'un composite de sources, qui n'est pas aussi lisse qu'un XO typique, ou est autrement arrêtée et redémarrée, alors cette valeur doit être incrémentée chaque fois qu'une discontinuité se produit. (Par exemple, cette valeur peut commencer à zéro au démarrage de l'appareil et s'incrémenter chaque fois qu'il y a un changement dans la continuité de l'horloge. Dans le cas improbable où cette valeur atteint la pleine échelle, un renversement (pas de blocage) est nécessaire, de sorte que cette valeur continue à changement, lors d'événements de discontinuité ultérieurs.)
Bien que ce nombre reste le même, entre les rapports GnssClock , on peut supposer en toute sécurité que la valeur time_ns a fonctionné en continu, par exemple dérivée d'une seule horloge de haute qualité (semblable à XO, ou mieux, qui est généralement utilisée pendant l'échantillonnage continu du signal GNSS. )
Il est prévu, esp. pendant les périodes où il y a peu de signaux GNSS disponibles, que l'horloge HW soit sans discontinuité le plus longtemps possible, car cela évite d'avoir à utiliser (gaspiller) une mesure GNSS pour résoudre complètement la polarisation et la dérive de l'horloge GPS, lorsque en utilisant les mesures d'accompagnement, à partir de rapports GnssData consécutifs.
int16_t leap_second |
int64_t time_ns |
La valeur d'horloge interne du récepteur GNSS. Il s'agit de la valeur de l'horloge matérielle locale.
Pour l'horloge matérielle locale, cette valeur devrait augmenter de manière monotone tandis que l'horloge matérielle reste sous tension. (Pour le cas d'une horloge HW qui n'est pas allumée en permanence, voir le champ hw_clock_discontinuity_count). L'estimation du temps GPS par le récepteur peut être dérivée en soustrayant la somme de full_bias_ns et bias_ns (si disponible) de cette valeur.
Cette heure GPS devrait être la meilleure estimation de l'heure GPS actuelle que le récepteur GNSS peut atteindre.
Une précision inférieure à la nanoseconde peut être fournie au moyen du champ «bias_ns». La valeur contient l '«incertitude temporelle».
Ce champ est obligatoire.
double time_uncertainty_ns |
Incertitude de 1 sigma associée à l'heure de l'horloge en nanosecondes. L'incertitude est représentée par une valeur absolue (unilatérale).
Si les données sont disponibles, 'flags' doit contenir GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Cette valeur est effectivement zéro (c'est l'horloge locale de référence, par laquelle toutes les autres heures et incertitudes de temps sont mesurées.) (Et donc ce champ ne peut pas être fourni, par drapeau GNSS_CLOCK_HAS_TIME_UNCERTAINTY, ou fourni et mis à 0.)
La documentation de cette structure a été générée à partir du fichier suivant:
- matériel / libhardware / include / hardware / gps.h