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 Desktopversion der GNSS Analysis 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 3. 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 gebeten, eine Zusammenfassung für die Session „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 einiger Felder für GNSS-Rohdaten 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
  • Unterstützung mehrerer Frequenzen

Die meisten Flaggschiff-Smartphones von Pixel, Motorola, Samsung, Xiaomi, OnePlus und anderen großen Herstellern unterstützen bereits L1- und L5-Frequenzen. Pixel-Flaggschiff-Smartphones sowie andere Flaggschiff-Smartphones von großen Herstellern, die keine Qualcomm Snapdragon-Chipsätze verwenden, bieten ADR (Trägerphase) als Teil der Rohmessungen.

Eine Datenbank mit von der Community bereitgestellten GNSS-Funktionen verschiedener Android-Geräte finden Sie im Artikel Crowdsourcing GNSS features of Android devices.

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

Erstausrüster (Original Equipment Manufacturers, OEMs), Entwickler und Forscher können die Tools auf dieser Seite verwenden, um neue Smartphone-Designs zu testen, die Funktionalität zu prüfen, neue Algorithmen zu entwickeln, Verbesserungen an der GNSS-Systemimplementierung zu bewerten und Apps mit Mehrwert zu entwickeln.

SUPL-Client-Beispielcode

Suplclient ist ein Beispielcode, der auf supl.google.com zugreift, um Echtzeit-Ephemeriden abzurufen. Die Klasse SuplTester enthält ein Beispiel für die Verwendung des SUPL-Clientprojekts. SuplTester richtet die SUPL-TCP-Verbindungsspezifikationen ein, sendet dann an 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) 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.

Rohdatenmessungen protokollieren

Mit Android Studio können Sie eine App erstellen, die GNSS-Rohdaten 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 eine GNSS-Ausgabe erhalten, muss Ihr Gerät GNSS-Rohmessungen unterstützen.

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

Rohmessungen analysieren

Die GNSS-Analyse-App liest die vom GNSS-Logger erfassten GPS/GNSS-Rohdaten 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. Der GNSS Logger erfasst die Messwerte, die von der GNSS-Analyse verwendet werden können.

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

GNSS Analysis-Steuerfeld

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

  • Auswählen, welche Satelliten angezeigt werden sollen.
  • Die Referenzposition, ‑geschwindigkeit und ‑zeit (PVT) steuern, die zur Berechnung von Messfehlern verwendet werden.
  • Analyseberichte erstellen.
  • Ein Zeitfenster in den Daten definieren zwischen Start- und Endzeit.

GNSS Analysis-Steuerfeld

Abbildung 2: GNSS-Analyse-Steuerfeld

Interaktive Diagramme der GNSS-Analyse

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

Interaktive Diagramme der GNSS-Analyse

Abbildung 3: GNSS Analysis App mit interaktiven Diagrammen.

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

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

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

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

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

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

  • Die Positionsergebnisse der gewichteten kleinsten Quadrate, die aus den Roh-Pseudostrecken ermittelt wurden. Die Gewichtung erfolgt anhand der gemeldeten Unsicherheit der einzelnen Messungen, die Teil der Measurement API-Spezifikation für Rohmessungen ist.
  • Die Fehler der einzelnen Pseudodistanzen für jede Messung.
  • Die Fehler der einzelnen Pseudostreckenraten für jede Messung.

GNSS-Analyse-Testbericht

GNSS Analysis kann einen Testbericht generieren, wie in Abbildung 4 dargestellt, in dem die API-Implementierung, das empfangene Signal, das Taktverhalten und die Messgenauigkeit bewertet werden. In jedem Fall wird in der App angegeben, ob der Empfänger den Test bestanden hat oder nicht. Dies basiert auf der Leistung, die anhand bekannter Benchmarks gemessen wird. 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 Compare (Vergleichen) werden die C/No-Werte aus mehreren GNSS-Protokolldateien in einem Direktvergleich nebeneinander angezeigt (siehe Abbildung 5). Das ist nützlich, wenn du die HF-Leistung mehrerer Geräte vergleichen möchtest.

Direkter Vergleich der C/No-Daten

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

Interessieren Sie sich für den Quellcode? Das GPS Measurement Tool Project bietet ein Open-Source-MATLAB-Beispiel, mit dem Sie die folgenden Aktionen mithilfe von GPS-Konstellationssignalen ausführen können:

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

Versionshinweise zur GNSS Analysis App v4.6.0.1

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

  • GnssAnalysisTool wurde auf Matlab R2022a erstellt, wodurch Zugriff auf neue Funktionen gewährt wird:
  • Das Statusfenster scrollt automatisch: Die neueste Statusmeldung ist immer sichtbar.
  • Eine Tabelle mit C/No-Vergleichen nach Konstellation und mit einem Vergleich von L1 und L5 wurde hinzugefügt.
  • Diagramm für Pseudostreckenraten-Residuen hinzugefügt.
  • Die separaten Tabs für stationäre oder bewegliche Referenz-PVT wurden entfernt, damit leichter zu erkennen ist, welcher Typ von Referenz-PVT ausgewählt wurde.
  • Die Ergebnisse von „Bericht erstellen“ wurden von HTML in das Statusfenster verschoben.
  • Der Tab „Missionsplaner“ wurde entfernt. Verwenden Sie gnssmissionplanning.com/ oder www.gnssplanning.com/.
  • Fehlerbehebungen im Zusammenhang mit dem Parsen von RINEX-Beobachtungsdateien.
  • Fallback auf die NASA-CDDIS-Ephemeridenquelle für GPS und GLO, wenn BKG nicht funktioniert.
  • Wechsel von igs.bkg.bund.de zu igs-ftp.bkg.bund.de
  • Die Analyse wird nicht beendet, wenn der Download der 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 FAQs behandelt wurde.

Wenn Sie die GNSS-Analysetools verwendet haben, können Sie uns gern Feedback geben, indem Sie an einer kurzen Umfrage teilnehmen. Wenn Sie weitere Fragen haben oder Unterstützung benötigen, finden Sie entsprechende Informationen unter Supportressourcen für Entwickler.

Antworten auf häufig gestellte Fragen findest du in den FAQs zu GNSS-Analysetools.