Le format RINEX 2.10
Le format RINEX (Receiver Independant EXchange Format), format d'échange indépendant du récepteur, a été développé par l'Institut d'Astronomie de l'Université de Berne dans le but de fournir dans un même format les données collectées en format propriétaire par des récepteurs de marques différentes lors de la campagne GPS EUREF 89. Une documentation complète, en anglais, décrivant le format RINEX est disponible : rinex210.txt. Cette page est un résumé de cette description en français :
Il existe six types de fichier différents :
- Un fichier contenant les données d'observation
- Un fichier contenant les messages de navigation
- Un fichier contenant les données météorologiques
- Un fichier contenant les messages de navigation Glonass
- Un fichier contenant les messages de navigation des satellites Géostionnaires
- Un fichier contenant des informations sur les horloges des récepteurs et des satellites.
Pour ce dernier fichier, il existe une description particulière dans le fichier rinex_clock.txt.
La nomenclature des fichiers est la suivante : ssssdddf.yyt
- ssss : acronyme de la station
- ddd : jour de l'année du premier enregistrement
- f : numéro de la session dans le jour, avec 0 pour une journée complète
- yy : année
- t : type du fichier avec, entre parenthèses, la lettre
correspondante utilisée sous Windows lorsque les fichiers sont compressés :
O(Y) : fichier d'Observation (rq : la lettre E est utilisée quand les fichiers sont préalablement compressés "Hatanaka")
N(X) : fichier de Navigation
M(W) : fichier Météo
G(V) : fichier de navigation GLONASS
H(U) : fichier des messages de navigation des satellites géostationnaires
Actuellement, il n'existe sur les serveurs du RGP que les fichiers de données et de navigation, ainsi que les fichiers météorologiques d'une seule station (SMNE).
C'est pourquoi nous ne décrirons ici que ceux-ci. Chacun de ces fichiers comporte un en-tête, dont les champs compris entre les colonnes 61 et 80 qui décrivent les informations de la ligne, sont obligatoires.
Le fichier d'observations
Note : Toutes les informations respectent un format dont la description est donnée dans le fichier rinex210.txt. Tous les espaces doivent être respectés, en revanche certaines informations peuvent être ignorées. Par exemple, dans la première ligne du fichier, seuls les termes en noir sont pris en compte :
2.10 OBSERVATION DATA M(MIXED) RINEX VERSION / TYPE
L'en-tête
Elle comporte plusieurs lignes dont certaines sont obligatoires. L'ordre dans lequel elles sont inscrites est libre, excepté :
- pour la première ligne, qui comporte le numéro de version Rinex (actuellement 2.10) et le type du fichier. Ici O pour Observation avec éventuellement le type du système de satellite (G=GPS, R=GLONASS, S=GEO, T=TRANSIT, M=données mixtes) ;
- Pour la ligne WAVELENGTH FACT L1/2, qui doit obligatoirement précéder la ligne spécifiant les satellites concernés ;
- Lorsqu'elle existe, la ligne # OF SATELLITES doit être suivie par les lignes correspondantes à chaque satellite aux nombre de données dans le fichier pour chaque type d'observable.
Exemple d'en-tête de fichier d'observation
2.10 OBSERVATION DATA G (GPS) RINEX VERSION / TYPE teqc 2000Feb29 20050707 15:37:29UTCPGM / RUN BY / DATE ANGE MARKER NAME 10085M001 MARKER NUMBER F.Bertin ANGERS AGGLOMERATION OBSERVER / AGENCY 82205 LEICA RS500 4.20/1.39 REC # / TYPE / VERS 1229 LEIAT504 ANT # / TYPE 4319045.0810 -41299.2210 4677465.1520 APPROX POSITION XYZ 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N 1 1 WAVELENGTH FACT L1/2 4 L1 L2 C1 P2 # / TYPES OF OBSERV 30.0000 INTERVAL 2005 6 17 2 0 0.0000000 GPS TIME OF FIRST OBS 2005 6 17 2 59 59.0000000 GPS TIME OF LAST OBS Texte libre permettant de fournir des infos complémentaires COMMENT 0 RCV CLOCK OFFS APPL 13 LEAP SECOND 30 # OF SATELLITES G01 1021 1024 1029 1024 1021 1021 1024 1021 1024PRN / # OF OBS END OF HEADER
Explications ligne par ligne : (En italique grisé figurent les lignes facultatives)
- Ligne indiquant le numéro de version, le type de fichier et le système satellite. Le format est un flottant de 11 caractères dont deux pour la partie décimale, 11 espaces, une chaîne d'un caractère, 19 espaces et une chaîne d'un caractère puis à nouveau 19 espaces. Cette ligne est obligatoire et doit être la première ligne du fichier.
- Nom du programme ayant créé le fichier (chaîne de 20 caractères), nom de l'agence ayant créé le fichier (chaîne de 20 caractères) et date de la création du fichier (chaîne de 20 caractères).
- Nom de la station (chaîne de 60 caractères).
- Numéro de la station (chaîne de 20 caractères). Pour le RGP : numéro Domes.
- Nom de la personne responsable de la station (chaîne de 20 caractères) et société à laquelle elle appartient (chaîne de 40 caractères).
- Numéro de série du récepteur (chaîne de 20 caractères), type du récepteur (chaîne de 20 caractères) et version du software interne du récepteur (chaîne de 20 caractères).
- Numéro de série de l'antenne (chaîne de 20 caractères), type de l'antenne (chaîne de 20 caractères).
- Coordonnées cartésiennes géocentriques approchées de la station (trois réels de 14 caractères dont quatre pour la partie décimale).
- Valeurs d'excentrement du point de référence de l'antenne par rapport au repère dont les coordonnées approchées sont celles de la ligne précédente (trois réels de 14 caractères dont quatre pour la partie décimale). La valeur de la composante verticale est la hauteur d'antenne.
- Facteur de longueur d'onde pour respectivement les fréquences L1 et L2 (trois entiers de 6 caractères). Les valeurs sont 1 lorsque les longueurs d'onde sont entières et 2 lorsque les données ont été enregistrées en mode "squaring". Pour L2, la valeur est 0 lorsque le récepteur est monofréquence.
- Nombre et type d'observable (Entier de six caractères puis 9 chaînes de deux caractères précédées de quatre espaces).
- Fréquence d'échantillonnage (réél de 10 caractères dont 3 pour la partie décimale)
- Date de la première époque de mesure (cinq entiers de 6 caractères plus un réel de 13 caractères dont 7 pour la partie décimale) suivi du système de temps GPS ou GLONASS codé sur une chaîne de 3 caractères.
- Date de la dernière époque de mesure contenue dans le fichier (cinq entiers de 6 caractères plus un réel de 13 caractères dont 7 pour la partie décimale)
- Lignes de commentaires facultatives. Le nombre de lignes de commentaires n'est a priori pas limité mais certains logiciels de traitement n'en supportent pas un trop grand nombre.
- Cette ligne indique si l'époque et les mesures sont corrigées de la dérive d'horloge du récepteur. La valeur est 1 quand c'est le cas sinon 0 valeur par défaut. Le format est un entier de 6 caractères
- Décalage entre le temps GPS et le temps UTC depuis le 6 janvier 1980. Cette valeur codée sur un entier de 6 caractères est à 14 s depuis le premier janvier 2006.
- Nombre de satellites pour lesquels il existe des données dans le fichier. Cette valeur est codée sur un entier de 6 caractères.
- Numéro du satellite et nombre de données de ce satellite pour chaque observable de la ligne 11. Le format de cette ligne est de trois espaces, une chaîne d'un caractère, un entier de deux caractères et 9 entiers de 6 caractères
- Ligne vide signalant simplement la fin de l'en-tête.
Les blocs de mesures
05 6 17 2 0 0.0000000 0 8G3G6G10G15G16G18G21G25 121329440.38147 94542410.12548 23088217.859 23088217.751 120182854.42447 93649004.48348 22870024.585 22870024.499 132073464.76946 102914407.37947 25132745.648 25132745.605
La première ligne du bloc de mesure contient l'époque d'enregistrement (date et heure), un flag, le nombre de satellites enregistrés à cette époque suivi de la liste des satellites dans l'ordre où ils sont inscrits ainsi qu'un éventuel décalage d'horloge. L'année, précédée d'un espace, est exprimée sur deux chiffres (l'éventuel zéro est obligatoire). Le mois, le jour l'heure et les minutes sont exprimés par deux chiffres maximum précédés d'un espace, les secondes par un réel de onze caractères maximum dont sept pour la partie décimale. Le flag peut prendre six valeurs (chiffre). Le nombre de satellites est exprimé sur trois caractères maximum. Les satellites sont codés sur une lettre représentant le système suivi du numéro de satellite sur deux chiffres.
Chaque ligne suivante présente les valeurs pour chaque satellite dans l'ordre où ils sont listés à la ligne 1 de chaque observable dans l'ordre où ils sont listés dans l'en-tête. Ainsi à la ligne 2 on trouve la valeur pour le satellite 3 de la mesure sur L1, puis la valeur de L2, C1, P2. Chacune de ces valeurs est codée sur un réel de 14 caractères dont 3 pour la partie décimale. Les deux chiffres qui suivent immédiatemment cette partie décimale correspondent dans l'ordre : à la valeur du "LLI" (Loss of Lock Indicator) et à un codage du rapport signal sur bruit.
Quelques précisions
Les observables possibles sont :
- Mesures de phase sur L1 et L2 exprimées en nombre de cycle
- Mesure du code C/A sur L1 (C1) exprimée en mètres
- Mesures du code P sur L1 et L2 (P1 et P2) exprimées en mètres
- Mesures Doppler sur L1 et L2 (D1 et D2)exprimées en Hertz
- Mesures du rapport signal sur bruit sur L1 et L2 (S1 et S2)
- Mesures Doppler des satellites Transit (T12 et T2)
Les valeurs du flag sont :
- 0 : OK.
- 1 : Coupure de courant entre l'époque précédente et l'époque actuelle.
- 2 : Début d'un mouvement d'antenne dans le cas d'un enregistrement cinématique
- 3 : Occupation d'un nouveau site
- 4 : modification d'informations d'en-tête
- 5 : Enregistrement d'un top externe
- 6 : Enregistrement de sauts de cycle
L'indicateur LLI est codé sur 3 bits :
- 0 ou blanc : OK ou inconnu
- Le bit 0 mis à 1 signifie qu'il y a eu perte de signal entre l'époque courante et la précédente, donc risque de saut de cycle
- Le bit 1 mis à 1 signifie que pour ce satellite et cette époque de mesure, la longueur d'onde utilisée pour enregistrer le signal est inversée par rapport à ce qu'indiquait la ligne 10 de l'en-tête. Ainsi, si on utilisait une longueur d'onde entière, alors on utilise la demi longueur d'onde (squaring) et si on utilisait la demi longueur d'onde, alors on utilise pour cette époque la longueur d'onde entière.
- Le bit 2 est mis à 1 lorsque l'antispoofing est actif
Le signal sur bruit :
Le codage du rapport signal sur bruit prend une valeur comprise entre 1 et 9. La valeur 1 correspond au niveau minimum du rapport signal sur bruit. La valeur 9 au niveau maximum. On considère que l'on a un bon rapport signal/bruit lorsque la valeur est au moins de 5. Lorsque la valeur n'existe pas où est nulle, cela signifie en théorie que l'on ne connait pas le rapport signal sur bruit. Cependant, certains traducteurs RINEX mettent la valeur 0 pour indiquer une donnée mauvaise.