GNSS-Rohmessungen

Das Android Framework bietet Zugriff auf Rohdaten von GNSS auf mehreren Android-Geräten.

Sie finden die Tools im GPS-Messtools-Repository auf GitHub. Es enthält den Quellcode einer vorläufigen Version von GnssLogger und ausführbare Dateien für die GNSS-Analyseanwendung für Linux, Windows und macOS. Installations- und Bedienungsanleitung

Google Smartphone-Dezimeter-Herausforderung

Google, das Institute of Navigation's Satellite Division und Kaggle sponsern die 3. Smartphone Decimeter Challenge bei ION GNSS+. Der Wettbewerb beginnt vom 12. September 2023 und endet am 23. Mai 2024. Mehr als 150 neue Traces mit GNSS-Rohdaten, Sensordaten und präziser Ground-Truth-Daten werden öffentlich verfügbar sein. Jeder kann am Wettbewerb teilnehmen. Wir empfehlen den Teilnehmern, eine Zusammenfassung der Sitzung mit dem Titel „Smartphone Decimeter Challenge“ einzureichen, die am ION GNSS+ 2024 stattfindet.

Weitere Informationen, einschließlich Regeln und Vorschriften, finden Sie auf der Wettbewerbsseite auf Kaggle. Sie wird am 12. September 2023 um 15:30 Uhr MDT veröffentlicht.

Android-Geräte, die GNSS-Rohmessungen unterstützen

Die Unterstützung von GNSS-Rohmessungen ist auf Geräten mit Android 10 (API-Level 29) oder höher obligatorisch. Unter Android 9 (API-Level 28) und niedriger ist die Unterstützung von GNSS-Rohmessungen auf allen Android-Geräten mit Hardwarejahr 2016 oder höher obligatorisch. Derzeit verfügen über 90% der vorhandenen Android-Smartphones über Rohdaten.

Die Unterstützung für einige der unverarbeiteten GNSS-Messfelder ist optional und kann je nach verwendetem GNSS-Chipsatz variieren. Beispiele für diese Felder:

  • Pseudorange- und Pseudorange-Rate.
  • Navigationsnachricht.
  • AGC-Wert (Automatic Gain Controller).
  • Akkumulierter Deltabereich (ADR) oder Transportunternehmenphase.

In der folgenden Tabelle sind einige Beispiele für Android-Geräte aufgeführt und die Unterstützungsgrad von Rohdaten zu GNSS:

Modell Android-Version AGC ADR (Mobilfunkanbieter-Phase) S5 Globale Systeme
Google Pixel 4/5/6/7 12 Ja ja Ja GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 Ja nein Ja GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 nein Ja Ja GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 nein Ja Ja GPS
GLO
GAL
BDS
Huawei Mate 20 9 nein Ja Ja GPS
GLO
GAL
BDS
One Plus 7 Pro 9 Ja nein Ja GPS
GLO
GAL
One Plus 7 9 Ja nein Ja GPS
GLO
GAL
Samsung Galaxy S20/S21 Ultra (Exynos)* 12 Ja ja Ja GPS
GLO
GAL
BDS
QZS
Samsung Galaxy S9 (Exynos)* 8.0 nein Ja nein GPS
GLO
GAL
QZS
Samsung Galaxy S9+ 8.0 nein nein nein GPS
GLO
GAL

* Die Samsung Galaxy Exynos-Version bietet ADR aus den letzten Jahren. Die Samsung Snapdragon-Version bietet noch keinen ADR.

Weitere Informationen zu den Definitionen von Messwertfeldern, die von Android-Geräten bereitgestellt werden, finden Sie unter Globale Satellitennavigationssysteme.

Erstausrüster (OEMs), Entwickler und Forscher können die Tools auf dieser Seite nutzen, um neue Smartphonedesigns zu testen, die Funktionalität zu validieren, neue Algorithmen zu entwickeln, Verbesserungen der GNSS-Systemimplementierung zu bewerten und Apps mit Mehrwert zu entwickeln.

Beispielcode für SUPL-Client

Suplclient ist ein Beispielcode, mit dem auf supl.google.com Echtzeit-Ephemerien abgerufen werden. Die Klasse SuplTester bietet ein Beispiel für die Verwendung des SUPL-Clientprojekts. Der SuplTester richtet die SUPL-TCP-Verbindungsspezifikationen ein, sendet dann bei einem bestimmten Breiten- und Längengrad eine LPP-SUPL-Anfrage und gibt die SUPL-Serverantwort aus.

Informationen zur Antennenkalibrierung

Ab Android 11 (API-Level 30) kannst du mit der Klasse GnssAntennaInfo auf Antenneneigenschaften zugreifen, z. B. PCO-Koordinaten (Phase Center Offset), PCV-Korrekturen und Korrektur der Signalverstärkung. Diese Korrekturen können auf die Rohmessungen angewendet werden, um die Genauigkeit zu verbessern.

Beachten Sie bei der Verwendung von GnssAntennaInfo das folgende Systemverhalten. Sie wurden entwickelt, um den Datenschutz für Nutzende zu verbessern.

  • Die von dieser API angegebenen Eigenschaften gelten nur für das Gerätemodell, nicht für ein einzelnes Gerät.

Logging von Rohmesswerten

Mit Android Studio können Sie eine App erstellen, die GNSS-Rohmessungen und andere Standortdaten erfasst und in einer Datei protokolliert. Den Quellcode einer solchen App finden Sie unter GPS-Messtools.

Google GNSSLogger ist eine Beispiel-App, die mit dieser Funktion entwickelt wurde. Damit Sie GNSS-Ausgaben mit der Beispiel-App erhalten, muss Ihr Gerät GNSS-Rohmessungen unterstützen.

Nachdem Sie das GNSS-Protokoll mit dem GNSS-Logger erfasst haben, können Sie die Protokolldateien zur weiteren Analyse vom Gerät auf Ihren Computer kopieren. Aus dem GNSS-Logger können Sie die Dateien per E-Mail an sich selbst senden oder in Google Drive speichern. Alternativ können Sie die Dateien mit der Dateiverwaltungs-App auf dem Gerät oder mit der Android Debug Bridge (ADB) speichern, wie unter Dateien auf/von einem Gerät kopieren beschrieben.

Rohmesswerte analysieren

Die Anwendung GNSS Analysis liest die vom GNSS-Logger erfassten GPS-/GNSS-Rohmessungen und analysiert sie, um das Verhalten des GNSS-Empfängers zu analysieren (siehe Abbildung 1).

Sie können die App für Linux-, Windows- und macOS-Systeme herunterladen.

GNSS-Protokollierung und GNSS-Analyse

Abbildung 1: GNSS Logger erfasst die Messwerte, die für die GNSS-Analyse ausgegeben werden können.

Die GNSS-Analyseanwendung basiert auf MATLAB, Sie benötigen jedoch MATLAB nicht, um sie auszuführen. Die Anwendung wird in eine ausführbare Datei kompiliert, die eine Kopie der MATLAB-Laufzeit installiert.

GNSS-Analyse-Steuerfeld

Im Steuerfeld von GNSS Analysis (siehe Abbildung 2) können Sie Anwendungsfunktionen verwalten, z. B.:

  • Wähle aus, welche Satelliten angezeigt werden sollen.
  • Hiermit können Sie die Referenzposition, -geschwindigkeit und -zeit (PVT) steuern, die zur Berechnung von Messfehlern verwendet wird.
  • Erstellen von Analyseberichten
  • Definieren Sie in den Daten ein Zeitfenster zwischen Start- und Endzeit.

GNSS-Analyse-Steuerfeld)

Abbildung 2: Steuerfeld für GNSS-Analyse

Interaktive GNSS-Analysediagramme

Die GNSS-Analyseanwendung bietet interaktive Diagramme, die in Spalten für Hochfrequenz (HF), Uhren und Messungen angeordnet sind (siehe Abbildung 3).

Interaktive GNSS-Analysediagramme)

Abbildung 3: GNSS-Analyse-App mit interaktiven Diagrammen.

Die Spalte „HF“ enthält die folgenden Daten:

  • Für jede Konstellation die vier Satelliten mit den stärksten Signalen.
  • Für jeden Satellit die zeitliche Darstellung des Trägers zur Rauschdichte (C/Nein).
  • Das Himmelsdiagramm der Satellitenpositionen.

In der Spalte „Uhr“ werden die folgenden Daten angezeigt:

  • Die Pseudorangen.
  • Die Offset-Frequenz der Empfängeruhr, die anhand einer der folgenden Referenzpositionen berechnet wird:

    • Automatisch berechnete mittlere Position.
    • Vom Nutzer eingegebene Breiten-, Längengrad und Höhe.
    • NMEA-Datei (National Marine Electronics Association) mit dem Wahrheitsverweis PVT
  • Der Offset des Standby-Takts, der die Zeit hält, wenn der Empfänger den Arbeitszyklus des primären Oszillators zurücksetzt.

Die Spalte „Messungen“ enthält die folgenden Daten:

  • Die gewichteten kleinsten Quadrate-Positionsergebnisse aus den Rohpseudorangen. Die Gewichtung erfolgt anhand der gemeldeten Unsicherheit jeder Messung, die Teil der Rohspezifikation der API ist.
  • Die Fehler jedes Pseudobereichs für jede Messung.
  • Die Fehler der einzelnen Pseudobereichsraten für jede Messung.

GNSS-Analyse-Testbericht

GNSS Analysis kann einen Testbericht generieren (siehe Abbildung 4), in dem die API-Implementierung, das empfangene Signal, das Taktverhalten und die Messgenauigkeit bewertet werden. Für jeden Fall meldet die Anwendung anhand der mit bekannten Benchmarks gemessenen Leistung, ob der Empfänger den Test bestanden oder nicht bestanden hat. Der Testbericht ist nützlich für Gerätehersteller, die ihn bei der Iteration des Designs und der Implementierung neuer Geräte verwenden können. Klicken Sie zum Erstellen des Testberichts auf Bericht erstellen.

GNSS-Analyse-Testbericht

Abbildung 4: GNSS-Analyse-Testbericht

Der Tab Vergleichen bietet einen direkten Vergleich (in Abbildung 5) von C/No aus mehreren GNSS-Protokolldateien. Dies ist beim Vergleich der HF-Leistung mehrerer Geräte hilfreich.

C/Kein Datenvergleich

Abbildung 5: Direkter Vergleich von C/No-Daten aus mehreren Protokolldateien

Sind Sie am Quellcode interessiert? Das GPS Measurement Tool-Projekt bietet ein Open-Source-MATLAB-Beispiel, das Sie verwenden können, um mithilfe von GPS-Konstellationssignalen folgende Aktionen auszuführen:

  • Daten lesen, die mit der Beispiel-App „GNSS Logger“ erfasst wurden.
  • Pseudobereiche berechnen und visualisieren.
  • Position und Geschwindigkeit der gewichteten kleinsten Quadrate berechnen.
  • Phase des Transportunternehmens aufrufen und analysieren.

Versionshinweise zur GNSS Analysis App 4.6.0.1

Version 4.6.0.1 der GNSS Analysis App enthält die folgenden Updates:

  • Das GnssAnalysisTool wurde auf Matlab R2022a entwickelt, das Zugriff auf neue Funktionen bietet:
  • Automatisches Scrollen im Statusfenster: Die neueste Statusmeldung ist immer sichtbar.
  • Es wurde eine Tabelle mit C/N0-Vergleichen nach Konstellation hinzugefügt, in der L1 mit L5 verglichen wird.
  • Pseudorange-Rate-Residuendiagramm hinzugefügt.
  • Separate Tabs für Referenz-PVT (Stationär) und Moving, sodass Sie leichter erkennen können, welche Art von Referenz-PVT ausgewählt wurde.
  • Die Ergebnisse für „Bericht erstellen“ wurden aus dem HTML-Code in das Statusfenster verschoben.
  • Der Tab „Mission Planner“ wurde entfernt. Bitte besuchen Sie gnssmissionplanning.com/ oder www.gnssplanning.com/.
  • Fehlerkorrekturen beim Parsen der RINEX-Beobachtungsdatei.
  • Fallback auf die NASA-CDDIS-Ephemerisquelle für GPS und GLO, wenn BKG nicht funktioniert.
  • Von igs.bkg.bund.de zu igs-ftp.bkg.bund.de verschieben
  • Beenden Sie die Analyse nicht, wenn der Download von GAL-, QZSS- oder BDS-Ephemerien fehlschlägt.
  • Antenna-CNo-Analyse erstellen, auch wenn der Chipsatz BaseBandCNo nicht unterstützt

Installations- und Bedienungsanleitung

Feedback geben

Wir möchten die Unterstützung von GNSS unter Android verbessern. Informieren Sie uns über Probleme mit der GNSS-Unterstützung unter Android mithilfe der GNSS-Problemverfolgung. Bitte sehen Sie nach, ob das Problem in den FAQs behandelt wurde, bevor Sie es posten.

Falls Sie die GNSS-Analysetools verwendet haben, können Sie uns über eine kurze Umfrage Feedback dazu geben. Falls Sie weitere Fragen haben oder Support anfordern, finden Sie in den Supportressourcen für Entwickler weitere Informationen.

Antworten auf häufig gestellte Fragen finden Sie in den FAQs zu GNSS-Analysetools.