Référence de structure GnssMeasurement
#include < gps.h >
Champs de données | |
taille_t | Taille |
GnssMesureDrapeaux | drapeaux |
int16_t | vidéo |
GnssConstellationType | constellation |
double | time_offset_ns |
GnssMeasurementState | Etat |
int64_t | Received_sv_time_in_ns |
int64_t | Received_sv_time_uncertainty_in_ns |
double | c_n0_dbhz |
double | pseudorange_rate_mps |
double | pseudorange_rate_uncertainty_mps |
GnssAccumuléDeltaRangeState | cumul_delta_range_state |
double | cumul_delta_range_m |
double | cumul_delta_range_uncertainty_m |
flotteur | fréquence_porteuse_hz |
int64_t | carrier_cycles |
double | carrier_phase |
double | carrier_phase_uncertainty |
GnssMultipathIndicator | multipath_indicator |
double | snr_db |
Description détaillée
Représente une Mesure GNSS, il contient des informations brutes et calculées.
Indépendance - Toutes les informations de mesure du signal (par exemple, sv_time, pseudorange_rate, multipath_indicator) rapportées dans cette structure doivent être basées uniquement sur les mesures du signal GNSS. Vous ne pouvez pas synthétiser les mesures en calculant ou en signalant les mesures attendues en fonction de la position, de la vitesse ou du temps connus ou estimés.
Documentation de terrain
double cumul_delta_range_m |
Plage delta cumulée depuis la dernière réinitialisation du canal en mètres. Une valeur positive indique que le SV s'éloigne du récepteur.
Le signe de la "plage delta accumulée" et sa relation avec le signe de la "phase de la porteuse" est donné par l'équation : plage delta accumulée = -k * phase de la porteuse (où k est une constante)
Cette valeur doit être renseignée si 'accumulated delta range state' != GPS_ADR_STATE_UNKNOWN. Cependant, on s'attend à ce que les données ne soient exactes que lorsque : 'état de la plage delta accumulée' == GPS_ADR_STATE_VALID.
GnssAccumulatedDeltaRangeState accumulate_delta_range_state |
double cumul_delta_range_uncertainty_m |
double c_n0_dbhz |
int64_t carrier_cycles |
Le nombre de cycles de porteuse complets entre le satellite et le récepteur. La fréquence de référence est donnée par le champ 'carrier_frequency_hz'. Des indications de glissements de cycle et de réinitialisations possibles dans l'accumulation de cette valeur peuvent être déduites des drapeaux cumulés_delta_range_state.
Si les données sont disponibles, les 'flags' doivent contenir GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
flotteur porteuse_fréquence_hz |
Fréquence porteuse à laquelle les codes et les messages sont modulés, elle peut être L1 ou L2. Si le champ n'est pas défini, la fréquence porteuse est supposée être L1.
Si les données sont disponibles, les 'flags' doivent contenir GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.
double porteuse_phase |
La phase RF détectée par le récepteur, dans la plage [0.0, 1.0]. Il s'agit généralement de la partie fractionnaire de la mesure complète de la phase porteuse.
La fréquence de référence est donnée par le champ 'carrier_frequency_hz'. La valeur contient "l'incertitude de phase de la porteuse".
Si les données sont disponibles, les 'flags' doivent contenir GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
double porteuse_phase_incertitude |
GnssMeasurementFlags flags |
GnssMultipathIndicator multipath_indicator |
Une énumération qui indique l'état 'multipath' de l'événement.
L'indicateur de trajets multiples est destiné à signaler la présence de signaux se chevauchant qui se manifestent par des pics de corrélation déformés.
- s'il y a une forme de pic de corrélation déformée, signalez que le trajet multiple est GNSS_MULTIPATH_INDICATOR_PRESENT.
- s'il n'y a pas de forme de pic de corrélation déformée, signalez GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- si les signaux sont trop faibles pour discerner cette information, signalez GNSS_MULTIPATH_INDICATOR_UNKNOWN
Exemple : lors de l'exécution du test de performances multivoies à chevauchement normalisé (3GPP TS 34.171), l'indicateur multivoies doit indiquer GNSS_MULTIPATH_INDICATOR_PRESENT pour les signaux suivis et contenant des voies multiples, et GNSS_MULTIPATH_INDICATOR_NOT_PRESENT pour les signaux suivis et ne contenant pas de voies multiples.
double pseudorange_rate_mps |
Taux de pseudo-orange à l'horodatage en m/s. La correction d'une valeur de débit pseudo-orange donnée comprend des corrections pour les erreurs de fréquence d'horloge du récepteur et du satellite. Assurez-vous que ce champ est indépendant (voir le commentaire en haut de la structure GnssMeasurement .)
Il est obligatoire de fournir le "taux de pseudo-orange" "non corrigé" et de fournir également le champ "dérive" de GpsClock (lorsque vous fournissez le taux de pseudo-distance non corrigé, n'appliquez pas les corrections décrites ci-dessus.)
La valeur inclut « l'incertitude du taux pseudo-orange ». Une valeur "non corrigée" positive indique que le SV s'éloigne du récepteur.
Le signe du "taux de pseudo-orange" "non corrigé" et sa relation avec le signe du "décalage Doppler" est donné par l'équation : taux de pseudodistance = -k * décalage Doppler (où k est une constante)
Cela devrait être le taux de pseudo-distance le plus précis disponible, basé sur de nouvelles mesures de signal de ce canal.
Il est obligatoire que cette valeur soit fournie avec une qualité PRR de phase porteuse typique (quelques cm/sec par seconde d'incertitude, ou mieux) - lorsque les signaux sont suffisamment forts et stables, par exemple les signaux d'un simulateur GPS à >= 35 dB-Hz.
double pseudorange_rate_uncertainty_mps |
int64_t reçu_sv_time_in_ns |
Heure de la semaine GNSS reçue au moment de la mesure, en nanosecondes. Assurez-vous que ce champ est indépendant (voir le commentaire en haut de la structure GnssMeasurement .)
Pour le GPS et le QZSS, il s'agit de : l'heure de la semaine GPS reçue au moment de la mesure, en nanosecondes. La valeur est relative au début de la semaine GPS en cours.
Étant donné l'état de synchronisation le plus élevé pouvant être atteint, pour chaque satellite, la plage valide pour ce champ peut être : Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A code lock : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Bit sync : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC est activé Subframe sync : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC est activé TOW décodé : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED est activé
Notez bien : s'il y a une ambiguïté dans l'entier milliseconde, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS doit être défini en conséquence, dans le champ "état".
Cette valeur doit être renseignée si 'état' != GNSS_MEASUREMENT_STATE_UNKNOWN.
Pour Glonass, il s'agit de : l'heure Glonass reçue de la journée, au moment de la mesure en nanosecondes.
Étant donné l'état de synchronisation le plus élevé pouvant être atteint, pour chaque satellite, la plage valide pour ce champ peut être : Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A code lock : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Symbol sync : [ 0 10ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC est défini Bit sync : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC est défini String sync : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC est défini Heure de la journée : [ 0 1day ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED est défini
Pour Beidou, c'est : Reçu Beidou heure de la semaine, au moment de la mesure en nanosecondes.
Étant donné l'état de synchronisation le plus élevé pouvant être atteint, pour chaque satellite, la plage valide pour ce champ peut être : Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Verrouillage du code C/A : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Bit sync (D2) : [ 0 2ms]: gnss_measurement_state_bds_d2_bit_sync est défini bit sync (d1): [0 20ms]: gnss_measurement_state_bit_sync est défini sous-châssis (d2): [0 0.6s]: gnsss_measurement_state_bds_de_sub semaine : [ 0 1semaine ] : GNSS_MEASUREMENT_STATE_TOW_DECODED est défini
Pour Galileo, il s'agit : de l'heure Galileo reçue de la semaine, au moment de la mesure en nanosecondes.
Verrouillage par code E1BC : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK est activé E1C 2ème verrouillage par code : [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK est activé
Page E1B : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC est défini Heure de la semaine : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED est défini
Pour SBAS, il s'agit de : Temps SBAS reçu, au moment de la mesure en nanosecondes.
Étant donné l'état de synchronisation le plus élevé pouvant être atteint, pour chaque satellite, la plage valide pour ce champ peut être : Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Verrouillage du code C/A : [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Synchronisation des symboles : [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC est défini Message : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC est défini
int64_t reçu_sv_time_uncertainty_in_ns |
double snr_db |
Rapport signal sur bruit à la sortie du corrélateur en dB. Si les données sont disponibles, les 'flags' doivent contenir GNSS_MEASUREMENT_HAS_SNR. Il s'agit du rapport de puissance de la "hauteur du pic de corrélation au-dessus du bruit de fond observé" sur "le bruit RMS".
État de GnssMeasurementState |
Par état de synchronisation satellite. Il représente l'état de synchronisation actuel du satellite associé. En fonction de l'état de la synchronisation, le champ "remorquage GPS reçu" doit être interprété en conséquence.
Il s'agit d'une valeur obligatoire.
int16_t svid |
Numéro d'identification du véhicule satellite, tel que défini dans GnssSvInfo::svid Il s'agit d'une valeur obligatoire.
double time_offset_ns |
Décalage temporel auquel la mesure a été prise en nanosecondes. L'heure du récepteur de référence est spécifiée par GpsData::clock::time_ns et doit être interprétée de la même manière que celle indiquée par GpsClock::type .
Le signe de time_offset_ns est donné par l'équation suivante : temps de mesure = GpsClock::time_ns + time_offset_ns
Il fournit un horodatage individuel pour la mesure et permet une précision inférieure à la nanoseconde. Il s'agit d'une valeur obligatoire.
La documentation de cette structure a été générée à partir du fichier suivant :
- hardware/libhardware/include/hardware/ gps.h