GNSS-Rohmessungen

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

Sie finden die Tools im Repository „GPS Measurement Tools“ auf GitHub. Es enthält den Quellcode einer Vorabversion von GnssLogger und ausführbare Dateien für die Desktop-GNSS-Analyse-App für Linux, Windows und macOS. Installations- und Bedienungsanleitung

Google Smartphone Decimeter Challenge

Google, die Satellite Division des Institute of Navigation und Kaggle sponsern die dritte Smartphone Decimeter Challenge bei ION GNSS+. Der Wettbewerb beginnt am 12. September 2023 und endet am 23. Mai 2024. Über 150 neue Traces mit GNSS-Rohmessdaten, Sensordaten und präzisen Ground-Truth-Daten werden öffentlich verfügbar sein. Die Teilnahme am Wettbewerb steht allen offen. Teilnehmer werden ermutigt, ein Abstract für die Sitzung „Smartphone Decimeter Challenge“ einzureichen, die auf der ION GNSS+ 2024 stattfinden wird.

Weitere Informationen, einschließlich Regeln und Bestimmungen, finden Sie auf der Wettbewerbsseite auf Kaggle, die am 12. September 2023 um 15:30 Uhr MDT live geht.

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-Rohmessdaten auf allen Android-Geräten mit Hardware aus dem Jahr 2016 oder neuer obligatorisch. Derzeit sind Rohmessungen auf mehr als 90% der vorhandenen Android-Smartphones verfügbar.

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

  • Pseudostrecke und Pseudostreckenrate.
  • Navigationshinweis.
  • Wert für die automatische Verstärkungsregelung (Automatic Gain Controller, AGC).
  • Kumulierter Delta-Bereich (Accumulated Delta Range, ADR) oder Trägerphase.

In der folgenden Tabelle sind einige Beispiele für Android-Geräte und ihr Support-Level für GNSS-Rohmessungen aufgeführt:

Modell Android-Version AGC ADR (Trägerphase) L5 Globale Systeme
Google Pixel 4/5/6/7 12 Ja ja Ja GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 Ja no Ja GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 no Ja Ja GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 no Ja Ja GPS
GLO
GAL
BDS
Huawei Mate 20 9 no Ja Ja GPS
GLO
GAL
BDS
OnePlus 7 Pro 9 Ja no Ja GPS
GLO
GAL
OnePlus 7 9 Ja no 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 no Ja no GPS
GLO
GAL
QZS
Samsung Galaxy S9+ 8.0 no Nein no GPS
GLO
GAL

* Die Exynos-Version des Samsung Galaxy bietet seit einigen Jahren ADR. Die Samsung Snapdragon-Version bietet noch keine ADR.

Weitere Informationen zu den Definitionen der Rohmessungsfelder, die von Android-Geräten bereitgestellt werden, finden Sie unter Global Navigation Satellite Systems.

Originalgerätehersteller (OEMs), Entwickler und Forscher können die Tools auf dieser Seite nutzen, um neue Smartphone-Designs zu testen, Funktionen zu validieren, neue Algorithmen zu entwickeln, Verbesserungen an der GNSS-Systemimplementierung zu bewerten und Apps mit Mehrwert zu entwickeln.

SUPL-Client-Beispielcode

Suplclient ist Beispielcode, der auf supl.google.com zugreift, um Ephemeriden in Echtzeit abzurufen. Die Klasse SuplTester bietet ein Beispiel für die Verwendung des SUPL-Clientprojekts. Mit SuplTester werden die SUPL-TCP-Verbindungsspezifikationen eingerichtet. Anschließend wird bei einer bestimmten geografischen Breite und Länge eine LPP-SUPL-Anfrage gesendet und die SUPL-Serverantwort ausgegeben.

Informationen zur Antennenkalibrierung

Ab Android 11 (API-Level 30) können Sie mit der Klasse GnssAntennaInfo auf Antenneneigenschaften wie PCO-Koordinaten (Phase Center Offset), PCV-Korrekturen (Phase Center Variation) und Korrekturen für die Signalverstärkung zugreifen. Diese Korrekturen können auf die Rohmesswerte angewendet werden, um die Genauigkeit zu verbessern.

Beachten Sie bei der Verwendung von GnssAntennaInfo die folgenden Systemverhaltensweisen. Sie sollen den Datenschutz für Nutzer verbessern.

  • Die von dieser API bereitgestellten Merkmale beziehen sich nur auf das Gerätemodell, nicht auf ein einzelnes Gerät.

Rohmessungen protokollieren

Mit Android Studio können Sie eine App erstellen, die GNSS-Rohmessungen und andere Standortdaten erfasst und in einer Datei protokolliert. Beispielquellcode für eine solche App finden Sie unter GPS Measurement Tools.

GNSSLogger von Google ist eine Beispiel-App, die mit dieser Funktion entwickelt wurde. Damit Sie mit der Beispiel-App GNSS-Ausgabe 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. Im 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 Dateimanager-App auf dem Gerät speichern oder Android Debug Bridge (ADB) verwenden, wie unter Dateien auf ein Gerät kopieren oder von einem Gerät kopieren beschrieben.

Rohmessungen analysieren

Die GNSS Analysis App liest die vom GNSS Logger erfassten GPS/GNSS-Rohmessungen und analysiert damit das Verhalten des GNSS-Empfängers (siehe Abbildung 1).

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

GNSS Logger und GNSS Analysis

Abbildung 1: GNSS Logger erfasst die Messungen, die von GNSS Analysis verwendet werden können.

Die GNSS Analysis App basiert auf MATLAB, aber Sie benötigen MATLAB nicht, um sie auszuführen. Die App wird in eine ausführbare Datei kompiliert, mit der eine Kopie der MATLAB Runtime installiert wird.

GNSS-Analyse-Steuerfeld

Über das GNSS Analysis-Steuerfeld (Abbildung 2) können Sie App-Funktionen verwalten, z. B.:

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

GNSS-Analyse-Steuerfeld)

Abbildung 2: GNSS-Analyse-Steuerfeld

Interaktive Diagramme für die GNSS-Analyse

Die GNSS Analysis App bietet interaktive Diagramme, die in Spalten für Funkfrequenz (RF), Zeitgeber und Messungen unterteilt sind (siehe Abbildung 3).

Interaktive Diagramme für die GNSS-Analyse)

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

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

  • Für jede Konstellation die vier Satelliten mit den stärksten Signalen.
  • Für jeden Satelliten das Zeitdiagramm des Verhältnisses von Träger zu Rauschleistungsdichte (C/No).
  • Das Skyplot der Satellitenpositionen.

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

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

    • Automatisch berechnete mittlere Position.
    • Vom Nutzer eingegebener Breiten-, Längen- und Höhengrad.
    • NMEA-Datei (National Marine Electronics Association) mit PVT-Wahrheitsreferenz.
  • Der Offset der Standby-Uhr, die die Zeit angibt, wenn der Empfänger den Arbeitszyklus des primären Oszillators zurücksetzt.

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

  • Die Positionsergebnisse der gewichteten kleinsten Quadrate, die aus den rohen Pseudobereichen abgeleitet wurden. Die Gewichtung erfolgt anhand der angegebenen Unsicherheit jeder Messung, die Teil der API-Spezifikation für Rohmessungen ist.
  • Die Fehler der einzelnen Pseudobereiche für jede Messung.
  • Die Fehler der einzelnen Pseudobereichsraten für jede Messung.

GNSS-Analyse-Testbericht

Mit der GNSS-Analyse kann ein Testbericht erstellt werden (siehe Abbildung 4), in dem die API-Implementierung, das empfangene Signal, das Taktverhalten und die Messgenauigkeit bewertet werden. Für jeden Fall meldet die App, ob der Empfänger den Test bestanden hat oder nicht, basierend auf der Leistung im Vergleich zu bekannten Benchmarks. Der Testbericht ist für Gerätehersteller nützlich, die ihn bei der Entwicklung und Implementierung neuer Geräte verwenden können. Klicken Sie auf Bericht erstellen, um den Testbericht zu generieren.

GNSS-Analyse-Testbericht

Abbildung 4: GNSS-Analyse-Testbericht

Auf dem Tab Vergleichen (Abbildung 5) sehen Sie einen direkten Vergleich der C/No-Werte aus mehreren GNSS-Logdateien. Das ist hilfreich, wenn Sie die HF-Leistung mehrerer Geräte vergleichen möchten.

C/Kein Datenvergleich nebeneinander

Abbildung 5: Gegenüberstellung von C/No-Daten aus mehreren Protokolldateien

Interesse am Quellcode? Das GPS Measurement Tool Project bietet ein Open-Source-MATLAB-Beispiel, mit dem Sie die folgenden Aktionen mit GPS-Konstellationssignalen ausführen können:

  • Mit der GNSS Logger-Beispiel-App erfasste Daten lesen.
  • Pseudobereiche berechnen und visualisieren
  • Berechnet die Position und Geschwindigkeit mit gewichteten kleinsten Quadraten.
  • Trägerphase ansehen und analysieren

Versionshinweise für die GNSS Analysis App v4.6.0.1

Die GNSS Analysis App-Version 4.6.0.1 enthält die folgenden Aktualisierungen:

  • Das GnssAnalysisTool wurde auf Matlab R2022a aufgebaut und bietet Zugriff auf neue Funktionen:
  • Das Statusfenster scrollt automatisch, sodass die aktuelle Statusmeldung immer sichtbar ist.
  • Eine Tabelle mit C/N0-Vergleichen nach Konstellation und mit einem Vergleich von L1 und L5 wurde hinzugefügt.
  • Es wurde ein Residualplot für die Pseudobereichsrate hinzugefügt.
  • Die separaten Tabs für „Referenz-PVT – stationär“ und „Referenz-PVT – in Bewegung“ wurden entfernt. So ist es einfacher zu sehen, welcher Typ von Referenz-PVT ausgewählt wurde.
  • Die Ergebnisse von „Bericht erstellen“ wurden vom HTML-Fenster in das Statusfenster verschoben.
  • Der Tab „Mission Planner“ wurde entfernt. Verwenden Sie gnssmissionplanning.com/ oder www.gnssplanning.com/.
  • Korrekturen im Zusammenhang mit dem Parsen von RINEX-Beobachtungsdateien.
  • Bei Problemen mit BKG wird auf die Ephemeridenquelle NASA CDDIS für GPS und GLO zurückgegriffen.
  • Umstellung von igs.bkg.bund.de auf igs-ftp.bkg.bund.de
  • Beenden Sie die Analyse nicht, wenn der Download von GAL-, QZSS- oder BDS-Ephemeriden fehlschlägt.
  • Antennen-CNo-Analyse erstellen, auch wenn der Chipsatz BaseBandCNo nicht unterstützt

Installations- und Bedienungsanleitung

Feedback geben

Wir möchten die Unterstützung für GNSS auf Android-Geräten verbessern. Wenn Sie Probleme mit der GNSS-Unterstützung unter Android haben, können Sie uns dies über den GNSS-Issue-Tracker mitteilen. Bitte prüfen Sie vor dem Posten, ob Ihr Problem bereits in den FAQ behandelt wurde.

Wenn Sie die GNSS-Analysetools verwendet haben, können Sie uns über eine kurze Umfrage Feedback geben. Wenn Sie weitere Fragen haben oder Support benötigen, finden Sie weitere Informationen unter Supportressourcen für Entwickler.

Antworten auf häufig gestellte Fragen finden Sie in den FAQs zu GNSS Analysis Tools.