Documentation de référence sur la struct GnssMeasurement

Documentation de référence sur la struct GnssMeasurement

#include < gps.h >

Champs de données

size_t  size
 
GnssMeasurementFlags   indicateurs
 
int16_t  svid
 
GnssConstellationType   constellation
 
double  time_offset_ns
 
GnssMeasurementState   état
 
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
 
GnssAccumulatedDeltaRangeState   accumulated_delta_range_state
 
double  accumulated_delta_range_m
 
double  accumulated_delta_range_uncertainty_m
 
float carrier_frequency_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 et multipath_indicator) indiquées dans cette struct doivent être basées uniquement sur les mesures du signal GNSS. Vous ne pouvez pas synthétiser des mesures en calculant ou en signalant des mesures attendues en fonction d'une position, d'une vitesse ou d'un temps connus ou estimés.

Définition à la ligne 1656 du fichier gps.h .

Documentation des champs

double accumulated_delta_range_m

Plage delta cumulée depuis la dernière réinitialisation de la chaîne, en mètres. Une valeur positive indique que le SV s'éloigne du récepteur.

Le signe de la "plage delta cumulée" et sa relation avec le signe de la "phase porteuse" sont donnés par l'équation suivante: plage delta cumulée = -k * phase porteuse (où k est une constante)

Cette valeur doit être renseignée si "état de la plage delta cumulée" != GPS_ADR_STATE_UNKNOWN. Toutefois, les données ne sont précises que lorsque "état de la plage delta cumulée" == GPS_ADR_STATE_VALID.

Définition à la ligne  1835 du fichier gps.h .

GnssAccumulatedDeltaRangeState accumulated_delta_range_state

État de la plage delta cumulée. Indique si l'ADR est réinitialisé ou s'il y a un glissement de cycle (indiquant la perte de verrouillage).

Il s'agit d'une valeur obligatoire.

Définition à la ligne  1821 du fichier gps.h .

double accumulated_delta_range_uncertainty_m

Incertitude 1 sigma de la plage delta cumulée, en mètres. Cette valeur doit être renseignée si "état de la plage delta cumulée" != GPS_ADR_STATE_UNKNOWN.

Définition à la ligne  1841 du fichier gps.h .

double c_n0_dbhz

Densité de la porteuse par rapport au bruit en dB-Hz, généralement comprise entre 0 et 63. Il contient la valeur C/N0 mesurée pour le signal au niveau du port d'antenne.

Il s'agit d'une valeur obligatoire.

Définition à la ligne  1778 du fichier gps.h .

int64_t carrier_cycles

Nombre de cycles de porteuse complets entre le satellite et le récepteur. La fréquence de référence est indiquée par le champ "carrier_frequency_hz". Les indicateurs de glissements et de réinitialisations de cycle possibles dans l'accumulation de cette valeur peuvent être déduits des indicateurs accumulated_delta_range_state.

Si les données sont disponibles, "flags" doit contenir GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.

Définition à la ligne  1861 du fichier gps.h .

float carrier_frequency_hz

Fréquence porteuse à laquelle les codes et les messages sont modulés. Elle peut être L1 ou L2. Si ce champ n'est pas défini, la fréquence porteuse est supposée être L1.

Si les données sont disponibles, "flags" doit contenir GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.

Définition à la ligne  1850 du fichier gps.h .

double carrier_phase

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 indiquée par le champ "carrier_frequency_hz". La valeur contient l'incertitude de phase porteuse.

Si les données sont disponibles, "flags" doit contenir GNSS_MEASUREMENT_HAS_CARRIER_PHASE.

Définition à la ligne  1873 du fichier gps.h .

double carrier_phase_uncertainty

Incertitude 1 sigma de la phase porteuse. Si les données sont disponibles, "flags" doit contenir GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY.

Définition à la ligne  1880 du fichier gps.h .

Définit la constellation du SV donné. La valeur doit correspondre à l'une des constantes GNSS_CONSTELLATION_*

Définition à la ligne 1673 du fichier gps.h .

Ensemble d'indicateurs indiquant la validité des champs de cette structure de données.

Définition à la ligne  1661 du fichier gps.h .

GnssMultipathIndicator multipath_indicator

Énumération indiquant l'état "multipath" de l'événement.

L'indicateur multichemin est destiné à signaler la présence de signaux qui se chevauchent et se manifestent sous la forme de pics de corrélation déformés.

  • Si la forme du pic de corrélation est déformée, indiquez que le multipath est GNSS_MULTIPATH_INDICATOR_PRESENT.
  • Si la forme du pic de corrélation n'est pas déformée, signalez GNSS_MULTIPATH_INDICATOR_NOT_PRESENT.
  • Si les signaux sont trop faibles pour discerner ces informations, signalez GNSS_MULTIPATH_INDICATOR_UNKNOWN.

Exemple: lors du test standardisé des performances multichemins superposées (3GPP TS 34.171), l'indicateur multichemin doit indiquer GNSS_MULTIPATH_INDICATOR_PRESENT pour les signaux suivis et contenant un multichemin, et GNSS_MULTIPATH_INDICATOR_NOT_PRESENT pour les signaux suivis et ne contenant pas de multichemin.

Définition à la ligne 1901 du fichier gps.h .

double pseudorange_rate_mps

Taux de pseudo-distance au code temporel, en m/s. La correction d'une valeur de taux de pseudo-distance donnée inclut des corrections pour les erreurs de fréquence de l'horloge du récepteur et du satellite. Assurez-vous que ce champ est indépendant (voir le commentaire en haut de la struct GnssMeasurement ).

Vous devez fournir la "vitesse de pseudo-distance" non corrigée, ainsi que le champ "déviation" de GpsClock . (Lorsque vous fournissez la vitesse de pseudo-distance non corrigée, n'appliquez pas les corrections décrites ci-dessus.)

La valeur inclut l'incertitude de la vitesse de pseudo-distance. Une valeur "non corrigée" positive indique que le SV s'éloigne du récepteur.

Le signe de la "vitesse de pseudo-distance" non corrigée et sa relation avec le signe de la "décalage Doppler" sont donnés par l'équation suivante: vitesse de pseudo-distance = -k * décalage Doppler (où k est une constante)

Il s'agit du taux de pseudo-distance le plus précis disponible, basé sur les mesures de signal récentes de ce canal.

Cette valeur doit être fournie avec une qualité PRR de phase porteuse typique (quelques cm/s 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.

Définition à la ligne  1805 du fichier gps.h .

double pseudorange_rate_uncertainty_mps

Incertitude 1 sigma de la valeur pseudorange_rate_mps. L'incertitude est représentée sous la forme d'une valeur absolue (unilatérale).

Il s'agit d'une valeur obligatoire.

Définition à la ligne  1813 du fichier gps.h .

int64_t received_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 struct 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 la suivante: Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Verrouillage du code C/A : [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Synchronisation des bits : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC est défini Synchronisation des sous-cadres : [ 0 6 s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC est défini Décodage de l'heure de référence : [ 0 1 semaine ] : GNSS_MEASUREMENT_STATE_TOW_DECODED est défini

Remarque: En cas d'ambiguïté dans les millisecondes entières, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS doit être défini en conséquence dans le champ "state".

Cette valeur doit être renseignée si "state" != GNSS_MEASUREMENT_STATE_UNKNOWN.

Pour Glonass, il s'agit de l'heure de Glonass reçue 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 la suivante: Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Verrouillage du code C/A : [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Synchronisation des symboles : [ 0 10 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC est défini Synchronisation des bits : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC est défini Synchronisation des chaînes : [ 0 2 s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC est défini Heure de la journée : [ 0 1 jour ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED est défini

Pour Beidou, il s'agit de l'heure de la semaine Beidou reçue 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 la suivante: Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Verrouillage du code C/A: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Synchronisation des bits (D2): [ 0 2 ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC est défini Synchronisation des bits (D1): [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC est défini Sous-cadres (D2): [ 0 0, 6 s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC est défini Sous-cadres (D1): [ 0 6 s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC est défini Heure de la semaine : [ 0 1 semaine ] : GNSS_MEASUREMENT_STATE_TOW_DECODED est défini

Pour Galileo, il s'agit de l'heure de la semaine reçue par Galileo au moment de la mesure, en nanosecondes.

Verrouillage du code E1BC : [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK est défini Verrouillage du 2e code E1C: [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK est défini

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 l'heure SBAS reçue 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 la suivante: Recherche : [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Verrouillage du code C/A: [ 0 1 ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK est défini Synchronisation des symboles : [ 0 2 ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC est défini Message : [ 0 1 s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC est défini

Définition à la ligne 1763 du fichier gps.h .

int64_t received_sv_time_uncertainty_in_ns

Incertitude 1 sigma de l'heure de la semaine GPS reçue en nanosecondes.

Cette valeur doit être renseignée si "state" != GPS_MEASUREMENT_STATE_UNKNOWN.

Définition à la ligne 1770 du fichier gps.h .

taille_t

défini sur sizeof(GpsMeasurement)

Définition à la ligne  1658 du fichier gps.h .

double snr_db

Rapport signal sur bruit à la sortie du corrélateur en dB. Si les données sont disponibles, "flags" doit contenir GNSS_MEASUREMENT_HAS_SNR. Il s'agit du rapport de puissance de la "hauteur du pic de corrélation au-dessus du plancher de bruit observé" au "bruit RMS".

Définition à la ligne  1909 du fichier  gps.h .

État de synchronisation par satellite. Représente l'état de synchronisation actuel du satellite associé. En fonction de l'état de synchronisation, le champ "reçu GPS tow" doit être interprété en conséquence.

Il s'agit d'une valeur obligatoire.

Définition à la ligne 1694 du fichier gps.h .

int16_t svid

Numéro d'identification du véhicule satellite, comme défini dans GnssSvInfo::svid Il s'agit d'une valeur obligatoire.

Définition à la ligne  1667 du fichier gps.h .

double time_offset_ns

Décalage temporel à l'heure de la mesure, 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 code temporel individuel pour la mesure et permet une précision inférieure à la nanoseconde. Il s'agit d'une valeur obligatoire.

Définition à la ligne  1686 du fichier gps.h .


La documentation de ce struct a été générée à partir du fichier suivant :
  • hardware/libhardware/include/hardware/ gps.h