Mesures GNSS brutes

Le framework Android permet d'accéder aux mesures GNSS brutes sur plusieurs appareils Android.

Vous trouverez les outils dans le dépôt GPS Measurement Tools sur GitHub, qui inclut le code source d'une version préliminaire de GnssLogger et des exécutables pour l'application GNSS Analysis pour ordinateur de bureau pour Linux, Windows et macOS. Manuel d'installation et d'utilisation

Google Smartphone Decimeter Challenge

Google, la division satellite de l'Institute of Navigation et Kaggle sponsorisent le 3e Smartphone Decimeter Challenge à l'occasion de l'ION GNSS+. La compétition commence le 12 septembre 2023 et se termine le 23 mai 2024. Plus de 150 nouvelles traces contenant des mesures GNSS brutes, des données de capteurs et une vérité terrain précise seront disponibles publiquement. La participation au concours est ouverte à tous. Nous encourageons les participants à soumettre un résumé pour la session intitulée "Smartphone Decimeter Challenge" qui aura lieu lors de l'événement ION GNSS+ 2024.

Pour en savoir plus, y compris sur les règles et les règlements, consultez la page de la compétition sur Kaggle, qui sera mise en ligne le 12 septembre 2023 à 15h30 (heure d'été des Rocheuses).

Appareils Android compatibles avec les mesures GNSS brutes

La prise en charge des mesures GNSS brutes est obligatoire sur les appareils équipés d'Android 10 (niveau d'API 29) ou version ultérieure. Sur Android 9 (niveau d'API 28) et versions antérieures, la compatibilité avec les mesures GNSS brutes est obligatoire sur tous les appareils Android équipés d'un matériel datant de 2016 ou d'une année ultérieure. Actuellement, plus de 90 % des téléphones Android existants disposent de mesures brutes.

La prise en charge de certains champs de mesure GNSS bruts est facultative et peut varier en fonction du chipset GNSS utilisé. Voici quelques exemples de ces champs :

  • Pseudodistance et taux de pseudodistance.
  • Message de navigation.
  • Valeur du contrôle automatique du gain (CAG).
  • Plage delta cumulée (ADR) ou phase porteuse.
  • Prise en charge de plusieurs fréquences

La plupart des téléphones haut de gamme de Pixel, Motorola, Samsung, Xiaomi, OnePlus et d'autres grands fabricants de téléphones sont déjà compatibles avec les fréquences L1 et L5. Les téléphones Pixel haut de gamme, ainsi que d'autres téléphones haut de gamme de grands fabricants qui n'utilisent pas de chipsets Qualcomm Snapdragon, fournissent l'ADR (phase porteuse) dans les mesures brutes.

Une base de données des fonctionnalités GNSS des différents appareils Android, fournies par la communauté, est référencée dans l'article "Crowdsourcing GNSS features of Android devices" (Crowdsourcing des fonctionnalités GNSS des appareils Android).

Pour en savoir plus sur les définitions des champs de mesures brutes fournies par les appareils Android, consultez Systèmes mondiaux de navigation par satellite.

Les fabricants d'équipement d'origine (OEM), les développeurs et les chercheurs peuvent utiliser les outils de cette page pour tester de nouvelles conceptions de téléphones, valider des fonctionnalités, développer de nouveaux algorithmes, évaluer les améliorations apportées à l'implémentation du système GNSS et créer des applications à valeur ajoutée.

Exemple de code client SUPL

Suplclient est un exemple de code qui accède à supl.google.com pour obtenir des éphémérides en temps réel. La classe SuplTester fournit un exemple d'utilisation du projet client SUPL. SuplTester configure les spécifications de connexion TCP SUPL, puis envoie une requête LPP SUPL à une latitude et une longitude données, et imprime la réponse du serveur SUPL.

Informations sur la calibration de l'antenne

À partir d'Android 11 (niveau d'API 30), vous pouvez utiliser la classe GnssAntennaInfo pour accéder aux caractéristiques de l'antenne, telles que les coordonnées de l'offset du centre de phase (PCO), les corrections de la variation du centre de phase (PCV) et les corrections du gain du signal. Ces corrections peuvent être appliquées aux mesures brutes pour améliorer la précision.

Lorsque vous utilisez GnssAntennaInfo, tenez compte des comportements système suivants. Elles sont conçues pour renforcer la confidentialité des utilisateurs.

  • Les caractéristiques fournies par cette API ne sont spécifiques qu'au modèle d'appareil, et non à un appareil individuel.

Enregistrer les mesures brutes

Vous pouvez utiliser Android Studio pour créer une application qui capture les mesures GNSS brutes et d'autres données de localisation, puis les consigne dans un fichier. Pour obtenir un exemple de code source d'une telle application, consultez GPS Measurement Tools.

Google GNSSLogger est un exemple d'application développée avec cette fonctionnalité. Pour obtenir des données GNSS avec l'application exemple, votre appareil doit être compatible avec les mesures GNSS brutes.

Une fois que vous avez capturé le journal GNSS à l'aide de l'enregistreur GNSS, vous pouvez copier les fichiers journaux de l'appareil vers votre ordinateur pour une analyse plus approfondie. Dans GNSS Logger, vous pouvez vous envoyer les fichiers par e-mail ou les enregistrer dans Google Drive. Vous pouvez également enregistrer les fichiers à l'aide de l'application de gestion de fichiers sur l'appareil ou utiliser Android Debug Bridge (ADB), comme expliqué dans Copier des fichiers vers/depuis un appareil.

Analyser les mesures brutes

L'application GNSS Analysis lit les mesures brutes GPS/GNSS collectées par GNSS Logger et les utilise pour analyser le comportement du récepteur GNSS, comme illustré sur la figure 1.

Vous pouvez télécharger l'application pour les systèmes Linux, Windows et macOS.

GNSS Logger et GNSS Analysis

Figure 1 : GNSS Logger collecte les mesures qui peuvent être utilisées par GNSS Analysis.

L'application GNSS Analysis est basée sur MATLAB, mais vous n'avez pas besoin de MATLAB pour l'exécuter. L'application est compilée dans un exécutable qui installe une copie de MATLAB Runtime.

Panneau de configuration de l'analyse GNSS

Le panneau de configuration de l'analyse GNSS, illustré à la figure 2, vous permet de gérer les fonctionnalités de l'application, telles que :

  • Sélectionnez les satellites à afficher.
  • Contrôlez la position, la vitesse et l'heure de référence (PVT) utilisées pour calculer les erreurs de mesure.
  • Générez des rapports d'analyse.
  • Définissez une fenêtre dans les données entre les heures de début et de fin.

Panneau de configuration de l'analyse GNSS)

Figure 2. Panneau de configuration "Analyse GNSS"

Graphiques interactifs d'analyse GNSS

L'application GNSS Analysis fournit des graphiques interactifs organisés en colonnes de fréquence radio (RF), d'horloges et de mesures, comme illustré dans la figure 3.

Graphiques interactifs d'analyse GNSS)

Figure 3. Application d'analyse GNSS affichant des graphiques interactifs.

La colonne "Fréquence et récence" affiche les données suivantes :

  • Pour chaque constellation, les quatre satellites ayant les signaux les plus puissants.
  • Pour chaque satellite, le graphique temporel de la densité porteuse/bruit (C/No).
  • Diagramme de position des satellites.

La colonne "Horloge" affiche les données suivantes :

  • Les pseudodistances.
  • Fréquence de décalage de l'horloge du récepteur, calculée à l'aide de l'une des positions de référence suivantes :

    • Position moyenne calculée automatiquement.
    • Latitude, longitude et altitude saisies par l'utilisateur.
    • Fichier NMEA (National Marine Electronics Association) avec PVT de référence.
  • Décalage de l'horloge de veille qui garde l'heure lorsque le récepteur réinitialise le rapport cyclique de l'oscillateur principal.

La colonne "Mesures" affiche les données suivantes :

  • Résultats de position obtenus par la méthode des moindres carrés pondérés à partir des pseudodistances brutes. La pondération est effectuée à l'aide de l'incertitude signalée pour chaque mesure, qui fait partie de la spécification de l'API de mesure brute.
  • Erreurs de chaque pseudodistance pour chaque mesure.
  • Erreurs de chaque taux de pseudodistance pour chaque mesure.

Rapport de test d'analyse GNSS

L'analyse GNSS peut générer un rapport de test, comme illustré à la figure 4, qui évalue l'implémentation de l'API, le signal reçu, le comportement de l'horloge et la précision des mesures. Pour chaque cas, l'application indique si le récepteur a réussi ou échoué le test en fonction des performances mesurées par rapport à des benchmarks connus. Le rapport de test est utile aux fabricants d'appareils, qui peuvent l'utiliser pour itérer sur la conception et l'implémentation de nouveaux appareils. Pour générer le rapport de test, cliquez sur Créer un rapport.

Rapport de test d'analyse GNSS

Figure 4. Rapport de test d'analyse GNSS

L'onglet Comparer fournit une comparaison côte à côte, comme illustré à la figure 5, du rapport C/N de plusieurs fichiers journaux GNSS. Cela est utile pour comparer les performances RF de plusieurs appareils.

Comparaison côte à côte des données C/No

Figure 5. Comparaison côte à côte des données C/No de plusieurs fichiers journaux

Le code source vous intéresse ? Le projet d'outil de mesure GPS fournit un exemple MATLAB Open Source que vous pouvez utiliser pour effectuer les actions suivantes à l'aide des signaux de constellation GPS :

  • Lire les données capturées avec l'application exemple GNSS Logger.
  • Calculer et visualiser des pseudodistances
  • Calcule la position et la vitesse des moindres carrés pondérés.
  • Affichez et analysez la phase porteuse.

Notes de version de l'application GNSS Analysis v4.6.0.1

La version 4.6.0.1 de l'application GNSS Analysis inclut les mises à jour suivantes :

  • GnssAnalysisTool a été conçu sur Matlab R2022a, ce qui permet d'accéder à de nouvelles fonctionnalités :
  • La fenêtre d'état défile automatiquement : le dernier message d'état est toujours visible.
  • Ajout d'un tableau comparatif des rapports C/N0, par constellation, et comparant L1 à L5.
  • Ajout d'un graphique résiduel du taux de pseudodistance.
  • Suppression des onglets distincts pour les PVT de référence fixes ou en mouvement, ce qui permet de voir plus facilement le type de PVT de référence sélectionné.
  • Les résultats de "Créer un rapport" ont été déplacés de HTML vers la fenêtre d'état.
  • L'onglet "Mission Planner" a été supprimé. Veuillez utiliser gnssmissionplanning.com/ ou www.gnssplanning.com/.
  • Corrections liées à l'analyse des fichiers d'observation RINEX.
  • Utilisation de la source d'éphémérides NASA CDDIS pour le GPS et le GLONASS lorsque BKG ne fonctionne pas.
  • Passer de igs.bkg.bund.de à igs-ftp.bkg.bund.de
  • Ne quittez pas l'analyse en cas d'échec du téléchargement des éphémérides GAL, QZSS ou BDS.
  • Créer une analyse du CNo de l'antenne même si le chipset n'est pas compatible avec BaseBandCNo

Manuel d'installation et d'utilisation

Envoyer des commentaires

Nous souhaitons améliorer la compatibilité avec le GNSS sur Android. Signalez-nous tout problème lié à la compatibilité GNSS sur Android à l'aide de l'outil Issue Tracker GNSS. Avant de publier votre problème, vérifiez s'il a déjà été résolu dans les questions fréquentes.

Si vous avez utilisé les outils d'analyse GNSS, veuillez nous faire part de vos commentaires en répondant à une courte enquête. Si vous avez d'autres questions ou si vous avez besoin d'aide, consultez les ressources d'assistance pour les développeurs.

Vous trouverez des réponses aux questions fréquentes dans les questions fréquentes sur les outils d'analyse GNSS.