Documentation de référence sur la struct GnssClock
#include <
gps.h
>
Champs de données |
|
size_t | size |
GnssClockFlags | indicateurs |
int16_t | leap_second |
int64_t | time_ns |
double | time_uncertainty_ns |
int64_t | full_bias_ns |
double | bias_ns |
double | bias_uncertainty_ns |
double | drift_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 des champs
double bias_ns |
Biais de sous-nanoseconde. L'estimation d'erreur pour la somme de cette valeur et de full_bias_ns est bias_uncertainty_ns.
Si les données sont disponibles, les indicateurs doivent contenir GNSS_CLOCK_HAS_BIAS. Si le GPS a calculé une position. Cette valeur est obligatoire si le récepteur dispose d'une heure GPS estimée.
double bias_uncertainty_ns |
Incertitude 1 sigma associée à l'estimation locale de l'heure GPS (biais de l'horloge) en nanosecondes. L'incertitude est représentée sous la forme d'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 dispose d'une heure GPS estimée.
double drift_nsps |
Déviation de l'horloge en nanosecondes (par seconde).
Une valeur positive signifie que la fréquence est supérieure à la fréquence nominale et que (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 "indicateurs" doivent contenir GNSS_CLOCK_HAS_DRIFT.
Cette valeur est obligatoire si le récepteur dispose d'une heure GNSS estimée.
double drift_uncertainty_nsps |
Incertitude 1 sigma associée à la dérive de l'horloge en nanosecondes (par seconde). L'incertitude est représentée sous la forme d'une valeur absolue (unilatérale).
Si les données sont disponibles, les "indicateurs" doivent contenir GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Si le GPS a calculé une position, ce champ est obligatoire et doit être renseigné.
int64_t full_bias_ns |
Différence entre l'horloge matérielle (champ "time") 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 de l'heure GPS = time_ns - (full_bias_ns + bias_ns)
Cette valeur est obligatoire si le récepteur dispose d'une heure GPS estimée. Si l'heure calculée correspond à une constellation autre que le GPS, le décalage temporel de cette constellation par rapport au GPS doit être appliqué pour renseigner cette valeur. L'estimation d'erreur pour la somme de cette valeur et de bias_ns est bias_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 indicateurs doivent contenir GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
En cas de discontinuités dans la horloge matérielle, ce champ est obligatoire.
Une "discontinuité" est destinée à couvrir le cas d'un passage d'une source d'horloge à une autre. Un oscillateur à quartz (XO) autonome ne doit généralement pas présenter de discontinuités. Il peut être défini sur 0 et laissé tel quel.
Toutefois, si la valeur time_ns (horloge matérielle) est dérivée d'un ensemble de sources qui n'est pas aussi fluide qu'un XO typique, ou si elle est arrêtée et redémarrée, 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 de continuité de l'horloge. Dans l'éventualité peu probable que cette valeur atteigne la pleine échelle, un rollover (et non un forçage) est requis pour que cette valeur continue de changer lors des événements de discontinuité ultérieurs.)
Bien que ce nombre reste le même entre les rapports GnssClock , on peut supposer sans risque que la valeur time_ns a fonctionné en continu, par exemple dérivée d'une seule horloge de haute qualité (comme une horloge XO, ou mieux, qui est généralement utilisée lors de l'échantillonnage continu du signal GNSS).
En particulier, pendant les périodes où peu de signaux GNSS sont disponibles, il est prévu que la horloge matérielle soit exempte de discontinuité aussi longtemps que possible, car cela évite d'utiliser (de gaspiller) une mesure GNSS pour résoudre complètement le biais et la dérive de l'horloge GPS, lorsque vous utilisez les mesures associées, à partir de rapports GnssData consécutifs.
int16_t leap_second |
Données sur les secondes intercalaires. 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 "indicateurs" doivent contenir GNSS_CLOCK_HAS_LEAP_SECOND.
int64_t time_ns |
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 façon linéaire tant que l'horloge matérielle reste allumée. (Pour le cas d'une horloge matérielle qui n'est pas allumée en continu, consultez le champ hw_clock_discontinuity_count.) L'estimation de l'heure GPS du récepteur peut être obtenue en soustrayant la somme de full_bias_ns et de bias_ns (lorsqu'ils sont disponibles) de cette valeur.
Cette heure GPS devrait être la meilleure estimation de l'heure GPS actuelle que le récepteur GNSS peut obtenir.
Une précision inférieure à la nanoseconde peut être fournie à l'aide 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 sous la forme d'une valeur absolue (unilatérale).
Si les données sont disponibles, "flags" doit contenir GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Cette valeur est effectivement nulle (il s'agit de l'horloge locale de référence, par rapport à laquelle toutes les autres heures et incertitudes temporelles sont mesurées). (Par conséquent, ce champ peut ne pas être fourni, conformément à l'indicateur GNSS_CLOCK_HAS_TIME_UNCERTAINTY, ou être fourni et défini sur 0.)
La documentation de ce struct a été générée à partir du fichier suivant :
- hardware/libhardware/include/hardware/ gps.h