Mesures GNSS brutes

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

Vous trouverez ces 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 fichiers exécutables de l'application d'analyse GNSS pour Linux, Windows et macOS. Manuel d'installation et manuel.

Google Smartphone Décimeter Challenge

Google, la division satellite de l'Institut de navigation et Kaggle sponsorisent le 3e défi du décimmètre de smartphone lors du 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 publiquement. La participation au concours est ouverte à tous. Les participants sont invités à soumettre un résumé à la session intitulée "Smartphone Decimeter Challenge" qui se tiendra lors de la conférence ION GNSS+ 2024.

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

Appareils Android compatibles avec les mesures GNSS brutes

Les mesures GNSS brutes sont obligatoires sur les appareils équipés d'Android 10 (niveau d'API 29) ou version ultérieure. Sur Android 9 (niveau d'API 28) ou version antérieure, les mesures GNSS brutes sont obligatoires sur tous les appareils Android dotés de l'année matérielle 2016 ou ultérieure. Actuellement, plus de 90% des téléphones Android existants ont des mesures brutes.

Certains champs de mesure GNSS bruts sont facultatifs. Ils peuvent varier en fonction du chipset GNSS utilisé. Voici quelques exemples de ces champs:

  • Taux de Pseudorange et de pseudo-plage.
  • Message de navigation.
  • Valeur du contrôleur de gain automatique (AGC).
  • Plage delta cumulée (ADR) ou phase de l'opérateur.

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

Modèle Version d'Android AGC ADR (phase de l'opérateur) 5e niveau Systèmes mondiaux
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
One Plus 7 Pro 9 oui non oui GPS
GLO
GAL
One Plus 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 du Samsung Galaxy Exynos intègre l'ADR ces dernières années. La version de Samsung Snapdragon ne propose pas encore la fonctionnalité ADR.

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

Les fabricants d'équipement d'origine (OEM), les développeurs et les chercheurs peuvent utiliser les outils présentés sur cette page pour tester de nouveaux modèles de téléphones, valider les 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 pour le client SUPL

Suplclient est un exemple de code qui accède à supl.google.com pour obtenir un éphémère en temps réel. La classe SuplTester fournit un exemple d'utilisation du projet client SUPL. SuplTester configure les spécifications de la 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 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 de phase (PCO), les corrections de variation du centre de phase (PCV) et les corrections de gain de 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.

Consigner des 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 Outils de mesure GPS.

Google GNSSLogger est une application exemple développée avec cette fonctionnalité. Pour obtenir une sortie 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 du journal GNSS, vous pouvez copier les fichiers journaux de l'appareil vers votre ordinateur pour une analyse plus approfondie. Depuis le journal GNSS, vous pouvez envoyer les fichiers à votre adresse e-mail ou les enregistrer dans Google Drive. Vous pouvez également enregistrer les fichiers à l'aide de l'application de gestion de fichiers de l'appareil ou utiliser Android Debug Bridge (ADB), comme expliqué dans Copier des fichiers vers/depuis un appareil.

Analyser des 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é dans 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 consommé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 d'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 de référence, la vitesse et le temps (PVT) utilisées pour calculer les erreurs de mesure.
  • Générer des rapports d'analyse
  • Dans les données, définissez une fenêtre 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

Tracés interactifs d'analyse GNSS

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

Tracés interactifs d'analyse GNSS)

Figure 3. Application d'analyse GNSS affichant des tracés interactifs.

La colonne RF affiche les données suivantes:

  • Pour chaque constellation, les quatre satellites offrant les signaux les plus forts.
  • Pour chaque satellite, la représentation graphique chronologique de la densité de bruit et de transporteur (C/No).
  • Graphique du ciel des positions des satellites

La colonne de l'horloge affiche les données suivantes:

  • Pseudo-plages.
  • Fréquence de décalage de l'horloge 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) contenant la référence PVT de référence.
  • Décalage de l'horloge de veille qui conserve l'heure lorsque le récepteur réinitialise le cycle de fonctionnement de l'oscillateur principal.

La colonne des mesures affiche les données suivantes:

  • Résultats de la position des moindres carrés pondérés obtenus à partir des pseudo-oranges bruts. La pondération est effectuée en utilisant l'incertitude signalée de chaque mesure, qui fait partie des spécifications brutes de l'API de mesure.
  • Erreurs de chaque pseudo-plage pour chaque mesure.
  • Erreurs de chaque taux de pseudo-plage 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é le test en fonction des performances mesurées par rapport aux benchmarks connus. Le rapport de test est utile pour les fabricants d'appareils, qui peuvent l'utiliser au fur et à mesure qu'ils itèrent dans la conception et la mise en œuvre de nouveaux appareils. Pour générer le rapport de test, cliquez sur Make Report (Créer le rapport).

Rapport de test d'analyse GNSS

Figure 4. Rapport de test d'analyse GNSS

L'onglet Compare (Comparer) présente un comparatif (voir la figure 5) des valeurs C/No de plusieurs fichiers journaux GNSS. Cette comparaison est utile lorsque vous comparez les performances RF de plusieurs appareils.

C/Pas de comparaison des données côte à côte

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

Vous vous intéressez au code source ? Le projet d'outils de mesure GPS fournit un exemple MATLAB Open Source qui vous permet d'effectuer les actions suivantes à l'aide de signaux de constellation GPS:

  • Lire les données capturées avec l'application exemple GNSS Logger.
  • Calculez et visualisez des pseudo-plages.
  • Calculez la position et la vélocité des moindres carrés pondérés.
  • Affichez et analysez la phase d'opérateur.

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:

  • Création de GnssAnalysisTool sur Matlab R2022a, ce qui permet d'accéder à de nouvelles fonctionnalités:
  • Défilement automatique de la fenêtre d'état: le dernier message d'état est toujours visible.
  • Ajout d'un tableau de comparaisons de C/N0 par constellation, et de comparaisons entre les cellules L1 et L5.
  • Ajout d'un tracé résiduel du taux de pseudo-plage.
  • Suppression des onglets distincts pour les fichiers PVT de référence "Stationnaire" et "Déplacement", ce qui permet de voir plus facilement le type de PVT de référence sélectionné.
  • Les résultats "Make Report" (Créer un rapport) ont été déplacés de la page HTML vers la fenêtre d'état.
  • L'onglet "Planificateur de mission" a été supprimé. Veuillez utiliser gnssmissionplanning.com/ ou www.gnssplanning.com/.
  • Corrections liées à l'analyse du fichier d'observation RINEX.
  • Reclassement de la source éphémère du CDDIS de la NASA pour le GPS et le GLO, lorsque la BKG ne fonctionne pas.
  • Passez 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ères GAL, QZSS ou BDS.
  • Créer une analyse d'antenne CNo même si le chipset n'est pas compatible avec BaseBandCNo

Manuel d'installation et manuel.

Envoyer un commentaire

Nous souhaitons améliorer la compatibilité avec le GNSS sur Android. Si vous rencontrez des problèmes de compatibilité avec le GNSS sur Android, signalez-les-nous à l'aide de l'outil GNSS Issue Tracker. 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. Pour toute autre question ou demande d'assistance, 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.