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 les exécutables de l'application d'analyse GNSS pour ordinateur de bureau pour Linux, Windows et macOS. Manuel d'installation et d'utilisation

Défi Google Smartphone Decimeter Challenge

Google, la division Satellite de l'Institut de navigation et Kaggle sponsorisent le 3e défi Smartphone Decimeter Challenge à l'ION GNSS+. Le concours 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 au public. La participation au concours est ouverte à tous. Les participants sont invités à envoyer un résumé pour la session intitulée "Smartphone Decimeter Challenge", qui se tiendra lors de l'ION GNSS+ 2024.

Pour en savoir plus, y compris sur les règles et règlements, consultez la page du concours sur Kaggle, qui sera mise en ligne le 12 septembre 2023 à 15h30 (heure du Pacifique).

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. Sous Android 9 (niveau d'API 28) ou version antérieure, la prise en charge des mesures GNSS brutes est obligatoire sur tous les appareils Android dont le matériel date de 2016 ou plus. Actuellement, plus de 90% des téléphones Android existants disposent de mesures brutes.

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

  • Pseudo-distance et taux de pseudo-distance
  • Message de navigation.
  • Valeur du contrôleur de gain automatique (CAG).
  • Plage delta cumulée (ADR) ou phase porteuse.

Le tableau ci-dessous présente quelques exemples d'appareils Android et indique leur niveau de compatibilité avec les mesures GNSS brutes:

Modèle Version d'Android AGC ADR (phase opérateur) L5 Systèmes globaux
Google Pixel 4/5/6/7 12 oui Oui oui GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 oui non oui GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 non oui oui GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 non oui oui GPS
GLO
GAL
BDS
Huawei Mate 20 9 non oui oui GPS
GLO
GAL
BDS
OnePlus 7 Pro 9 oui non oui GPS
GLO
GAL
OnePlus 7 9 oui non oui GPS
GLO
GAL
Samsung Galaxy S20/S21 Ultra (Exynos)* 12 oui Oui oui GPS
GLO
GAL
BDS
QZS
Samsung Galaxy S9 (Exynos)* 8.0 non oui non GPS
GLO
GAL
QZS
Samsung Galaxy S9+ 8.0 non non non GPS
GLO
GAL

* La version Samsung Galaxy Exynos fournit une ADR depuis quelques années. La version Samsung Snapdragon ne fournit pas encore d'ADR.

Pour en savoir plus sur les définitions des champs de mesure brute fournis 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, à une latitude et une longitude données, envoie une requête SUPL LPP et imprime la réponse du serveur SUPL.

Informations sur le calibrage 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 du décalage 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 des mesures brutes

Vous pouvez utiliser Android Studio pour créer une application qui capture des 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 Outils de mesure GPS.

L'exemple d'application Google GNSSLogger est développé avec cette fonctionnalité. Pour obtenir une sortie GNSS avec l'application exemple, votre appareil doit prendre en charge les mesures GNSS brutes.

Une fois que vous avez capturé le journal GNSS à l'aide du journal GNSS, vous pouvez copier les fichiers journaux de l'appareil sur votre ordinateur pour une analyse plus approfondie. Dans le journal GNSS, 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 des fichiers de l'appareil ou utiliser Android Debug Bridge (ADB), comme expliqué dans la section Copier des fichiers vers/à partir d'un appareil.

Analyser les mesures brutes

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

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

Enregistreur GNSS et analyse GNSS

Figure 1 : L'enregistreur GNSS collecte les mesures pouvant être utilisées par l'analyse GNSS.

L'application d'analyse GNSS 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 l'environnement d'exécution MATLAB.

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, par exemple:

  • 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 période 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 de l'analyse GNSS

Graphiques interactifs de l'analyse GNSS

L'application d'analyse GNSS 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 de l'analyse GNSS)

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

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

  • Pour chaque constellation, les quatre satellites dont les signaux sont les plus forts.
  • Pour chaque satellite, la courbe temporelle de la densité de porteuse par rapport au bruit (C/No).
  • Carte du ciel des positions des satellites.

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

  • Les pseudo-intervalles.
  • 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 référence de vérité PVT.
  • Décalage de l'horloge de veille qui indique l'heure lorsque le récepteur réinitialise le cycle de service de l'oscillateur principal.

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

  • Résultats de position des moindres carrés pondérés obtenus à partir des pseudo-distances brutes. Le 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.
  • Les erreurs de chaque pseudo-distance pour chaque mesure.
  • Erreurs de chaque taux de pseudo-distance pour chaque mesure.

Rapport de test d'analyse GNSS

L'analyse GNSS peut générer un rapport de test, comme illustré dans 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é au 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 lors de la conception et de l'implémentation de nouveaux appareils. Pour générer le rapport de test, cliquez sur Make Report (Créer un rapport).

Rapport de test d'analyse GNSS

Figure 4. Rapport de test d'analyse GNSS

L'onglet Compare (Comparer) fournit une comparaison côte à côte, illustrée à la figure 5, du C/No de plusieurs fichiers journaux GNSS, ce qui est utile pour comparer les performances RF de plusieurs appareils.

C/Aucune comparaison de données côte à côte

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

Vous êtes intéressé par le code source ? 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 la constellation GPS:

  • Lire les données capturées avec l'application exemple GNSS Logger
  • Calculer et visualiser les pseudo-distances
  • Calculez la position et la vitesse des moindres carrés pondérés.
  • Afficher et analyser la phase de transport

Notes de version de l'application d'analyse GNSS v4.6.0.1

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

  • GnssAnalysisTool a été créé 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 de comparaisons C/N0, par constellation, et de comparaisons entre L1 et L5.
  • Ajout d'un graphique des résidus du taux de pseudo-plage.
  • Suppression des onglets distincts pour les coordonnées de référence fixes ou mobiles, ce qui permet de voir plus facilement quel type de coordonnées de référence a été sélectionné.
  • Les résultats de l'option "Créer un rapport" ont été déplacés du format HTML vers la fenêtre d'état.
  • Suppression de l'onglet "Planificateur de mission". Veuillez utiliser gnssmissionplanning.com/ ou www.gnssplanning.com/.
  • Corrections liées à l'analyse des fichiers d'observation RINEX.
  • Retour à la source d'éphémérides CDDIS de la NASA pour le GPS et le GLO, lorsque le BKG ne fonctionne pas.
  • Déplacement de igs.bkg.bund.de vers igs-ftp.bkg.bund.de
  • Ne pas quitter l'analyse si le téléchargement des éphémérides GAL, QZSS ou BDS échoue.
  • 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 prise en charge du GNSS sur Android à l'aide de l'outil de suivi des problèmes liés au GNSS. Veuillez vérifier si votre problème a déjà été traité dans les questions fréquentes avant de le publier.

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 souhaitez demander de l'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.