Référence de structure GnssClock
#include < gps.h >
Champs de données | |
taille_t | taille |
GnssClockFlags | drapeaux |
int16_t | saut_seconde |
int64_t | heure_ns |
double | time_uncertainty_ns |
int64_t | full_bias_ns |
double | biais_ns |
double | biais_uncertainty_ns |
double | dérive_nsps |
double | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Description détaillée
Représente une estimation de l’heure de l’horloge GPS.
Documentation de terrain
double biais_ns |
Biais inférieur à la nanoseconde. L'estimation de l'erreur pour la somme de ceci et du full_bias_ns est le biais_uncertainty_ns.
Si les données sont disponibles, les « drapeaux » doivent contenir GNSS_CLOCK_HAS_BIAS. Si le GPS a calculé une position. Cette valeur est obligatoire si le récepteur a estimé l'heure GPS.
double biais_uncertainty_ns |
Incertitude 1-Sigma associée à l'estimation locale du temps GPS (biais d'horloge) en nanosecondes. L'incertitude est représentée comme une valeur absolue (unilatérale).
Si les données sont disponibles, les « drapeaux » doivent contenir GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Cette valeur est obligatoire si le récepteur a estimé l'heure GPS.
double dérive_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 dérive». Si les données sont disponibles, les « drapeaux » doivent contenir GNSS_CLOCK_HAS_DRIFT.
Cette valeur est obligatoire si le récepteur a estimé l'heure GNSS
double dérive_uncertainty_nsps |
Incertitude 1-Sigma associée à la dérive de l'horloge en nanosecondes (par seconde). L'incertitude est représentée comme une valeur absolue (unilatérale).
Si les données sont disponibles, les « drapeaux » doivent contenir GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Si le GPS a calculé une position, ce champ est obligatoire et doit être renseigné.
Drapeaux GnssClockFlags |
int64_t full_bias_ns |
La différence entre l'horloge matérielle (champ « heure ») à 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 + biais_ns)
Cette valeur est obligatoire si le récepteur a estimé l'heure GPS. Si l'heure calculée concerne une constellation non GPS, le décalage temporel de cette constellation par rapport au GPS doit être appliqué pour remplir cette valeur. L'estimation de l'erreur pour la somme de ceci et du biais_ns est le biais_uncertainty_ns, et l'appelant est responsable de l'utilisation de cette incertitude (elle peut être très importante avant que l'heure GPS n'ait été résolue.) Si les données sont disponibles, les « drapeaux » doivent contenir GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
En cas de discontinuités dans l'horloge matérielle, 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 (XO) à fonctionnement libre ne doit généralement présenter aucune discontinuité, et celui-ci peut être réglé et laissé à 0.
Toutefois, si la valeur time_ns (horloge matérielle) est dérivée d'un composite de sources, qui n'est pas aussi fluide 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 augmenter à chaque fois qu'il y a un changement dans la continuité de l'horloge. Dans le cas peu probable où cette valeur atteint sa pleine échelle, un retournement (et non un blocage) est requis, 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 horloge unique de haute qualité (de type XO, ou mieux, qui est généralement utilisée lors de l'échantillonnage continu du signal GNSS. )
C'est attendu, surtout. pendant les périodes où il y a peu de signaux GNSS disponibles, que l'horloge matérielle soit sans discontinuité aussi longtemps que possible, car cela évite d'avoir à utiliser (gaspiller) une mesure GNSS pour résoudre complètement le biais et la dérive de l'horloge GPS, lorsque en utilisant les mesures d'accompagnement, à partir de rapports GnssData consécutifs.
int16_t saut_seconde |
Données de seconde intercalaire. Le signe de la valeur est défini par l'équation suivante : utc_time_ns = time_ns - (full_bias_ns +bias_ns) - leap_second * 1 000 000 000
Si les données sont disponibles, les « drapeaux » doivent contenir GNSS_CLOCK_HAS_LEAP_SECOND.
int64_t heure_ns |
La valeur de l'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 pendant que l'horloge matérielle reste sous tension. (Pour le cas d'une horloge matérielle 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 de biais_ns (si disponible) de cette valeur.
Ce temps GPS devrait être la meilleure estimation du temps GPS actuel que le récepteur GNSS puisse 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 1-Sigma associée à l'heure de l'horloge en nanosecondes. L'incertitude est représentée comme une valeur absolue (unilatérale).
Si les données sont disponibles, 'flags' doit contenir GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Cette valeur est effectivement nulle (c'est l'horloge locale de référence, par laquelle toutes les autres heures et incertitudes temporelles sont mesurées.) (Et donc ce champ peut ne pas être fourni, par l'indicateur GNSS_CLOCK_HAS_TIME_UNCERTAINTY, ou fourni et défini sur 0.)
La documentation de cette structure a été générée à partir du fichier suivant :
- matériel/libhardware/include/hardware/ gps.h