Das Android-Framework bietet Zugriff auf grobe GNSS-Messungen auf mehreren Android-Geräten.
Sie finden die Tools im Repository „GPS Measurement Tools“ auf GitHub. Es enthält den Quellcode einer vorläufigen Version 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 Satellitenabteilung 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 Tracks mit Roh-GNSS-Messungen, Sensordaten und präziser Ground Truth werden öffentlich verfügbar sein. Die Teilnahme am Wettbewerb ist für alle offen. Wir möchten Sie bitten, einen Abstract für die Sitzung mit dem Titel „Smartphone Decimeter Challenge“ einzureichen, die im Rahmen der ION GNSS+ 2024 stattfindet.
Weitere Informationen, einschließlich Regeln und Bestimmungen, finden Sie auf der Wettbewerbsseite auf Kaggle, die am 12. September 2023 um 15:30 Uhr (MDT) freigeschaltet wird.
Android-Geräte, die GNSS-Rohdaten unterstützen
Die Unterstützung von GNSS-Rohdaten ist auf Geräten mit Android 10 (API-Level 29) oder höher obligatorisch. Unter Android 9 (API-Ebene 28) und niedriger ist die Unterstützung von Roh-GNSS-Messungen auf allen Android-Geräten mit Hardware des Baujahrs 2016 oder höher obligatorisch. Derzeit haben mehr als 90% der Android-Smartphones Rohmesswerte.
Die Unterstützung einiger GNSS-Rohdatenfelder ist optional und kann je nach verwendetem GNSS-Chipsatz variieren. Beispiele für diese Felder:
- Pseudorange und Pseudorangerate.
- Navigationsmeldung
- Wert für die automatische Verstärkungsregelung (Automatic Gain Control, AGC).
- Akkumulierter Deltabereich (Accumulated Delta Range, ADR) oder Trägerphase.
In der folgenden Tabelle sind einige Beispiele für Android-Geräte aufgeführt, die Roh-GNSS-Messungen unterstützen:
Modell | Android-Version | AGC | ADR (Phase des Mobilfunkanbieters) | 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 von Samsung Galaxy bietet seit einigen Jahren eine dynamische Anpassung der Bildwiederholrate. Die Snapdragon-Version von Samsung bietet noch keine ADR.
Weitere Informationen zu den Definitionen der Rohmesswertefelder von Android-Geräten finden Sie unter Globale Navigationssatellitensysteme.
OEMs (Original Equipment Manufacturers), 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 erstellen.
Beispielcode für SUPL-Client
Suplclient ist Beispielcode, der auf supl.google.com zugreift, um Ephemeriden in Echtzeit abzurufen. Die Klasse SuplTester
ist ein Beispiel für die Verwendung des SUPL-Clientprojekts. Die SuplTester
richtet die SUPL-TCP-Verbindungsspezifikationen ein, sendet dann an einer bestimmten geographischen Breite und Länge eine LPP-SUPL-Anfrage und druckt die SUPL-Serverantwort aus.
Informationen zur Antennenkalibrierung
Ab Android 11 (API-Level 30) können Sie die Klasse GnssAntennaInfo
verwenden, um auf Antenneneigenschaften zuzugreifen, z. B. auf PCO-Koordinaten (Phase Center Offset), PCO-Korrekturen (Phase Center Variation) und Signalverstärkungskorrekturen. Diese Korrekturen können auf die Rohmessungen angewendet werden, um die Genauigkeit zu verbessern.
Bei der Verwendung von GnssAntennaInfo
ist Folgendes zu beachten. Sie sollen den Datenschutz für Nutzer verbessern.
- Die von dieser API bereitgestellten Eigenschaften gelten nur für das Gerätemodell, nicht für ein einzelnes Gerät.
Rohmessungen protokollieren
Du kannst mit Android Studio eine App erstellen, die GNSS-Rohdaten und andere Standortdaten erfasst und in einer Datei protokolliert. Beispielcode für eine solche App finden Sie unter GPS-Messtools.
Google GNSSLogging ist eine Beispiel-App, die mit dieser Funktion entwickelt wird. Damit Sie mit der Beispiel-App GNSS-Daten erhalten, muss Ihr Gerät Roh-GNSS-Messungen 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-Protokoll 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 speichern oder die Android Debug Bridge (ADB) verwenden, wie unter Dateien von und auf ein Gerät kopieren erläutert.
Rohmessungen analysieren
Die GNSS Analysis App liest die vom GNSS Logger erfassten GPS-/GNSS-Rohmesswerte und analysiert damit das Verhalten des GNSS-Empfängers, wie in Abbildung 1 dargestellt.
Sie können die App für Linux, Windows und macOS herunterladen.
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-Laufzeit installiert.
Steuerfeld für GNSS-Analyse
Über das Steuerfeld für die GNSS-Analyse (Abbildung 2) können Sie App-Funktionen verwalten, z. B.:
- Wähle aus, welche Satelliten angezeigt werden sollen.
- Hier können Sie die Referenzposition, -geschwindigkeit und -zeit (PVT) festlegen, die für die Berechnung von Messfehlern verwendet werden.
- Analyseberichte erstellen
- Legen Sie ein Zeitfenster in den Daten zwischen Start- und Endzeit fest.
)
Interaktive Diagramme für die GNSS-Analyse
Die GNSS Analysis App bietet interaktive Diagramme, die in Spalten für Funkfrequenz (RF), Uhren und Messungen organisiert sind, wie in Abbildung 3 dargestellt.
)
Die Spalte „RF“ enthält die folgenden Daten:
- Für jede Konstellation die vier Satelliten mit den stärksten Signalen.
- Für jeden Satelliten die Zeitachse der Träger-/Rauschdichte (C/No).
- Der Skyplot der Satellitenpositionen.
Die Uhrenspalte enthält die folgenden Daten:
- Die Pseudobereiche.
Die Offsetfrequenz der Empfängeruhr, die anhand einer der folgenden Referenzpositionen berechnet wird:
- Automatisch berechnete mittlere Position.
- Vom Nutzer eingegebene Breiten- und Längengrade sowie Höhenangaben.
- NMEA-Datei (National Marine Electronics Association) mit der Wahrheitsreferenz PVT.
Der Offset der Standby-Uhr, die die Zeit anzeigt, wenn der Empfänger den Taktzyklus 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 jeder Messung, die Teil der API-Spezifikation für Rohdaten ist.
- Die Fehler der einzelnen Pseudostrecken für jede Messung.
Die Fehler der einzelnen Pseudostreckenraten für jede Messung.
GNSS-Analyse-Testbericht
Die GNSS-Analyse kann einen Testbericht erstellen (siehe Abbildung 4), der die API-Implementierung, das empfangene Signal, das Uhrverhalten und die Messgenauigkeit bewertet. Für jeden Fall meldet die App, ob der Empfänger den Test bestanden oder nicht bestanden hat, basierend auf der Leistung, die anhand bekannter Benchmarks gemessen wird. Der Testbericht ist nützlich für Gerätehersteller, die ihn bei der Entwicklung und Implementierung neuer Geräte verwenden können. Klicken Sie auf Bericht erstellen, um den Testbericht zu generieren.
Auf dem Tab Vergleichen wird in Abbildung 5 ein direkter Vergleich des C/No aus mehreren GNSS-Logdateien angezeigt. Dies ist hilfreich, wenn die RF-Leistung mehrerer Geräte verglichen werden soll.
Interessiert am 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:
- Daten lesen, die mit der Beispiel-App „GNSS Logger“ erfasst wurden
- Pseudoreichweiten berechnen und visualisieren
- Position und Geschwindigkeit mit der Methode der gewichteten kleinsten Quadrate berechnen.
- Trägerphase ansehen und analysieren
Versionshinweise zur GNSS Analysis App Version 4.6.0.1
Die GNSS Analysis App-Version 4.6.0.1 enthält die folgenden Updates:
- GnssAnalysisTool wurde in Matlab R2022a erstellt, was Zugriff auf neue Funktionen ermöglicht:
- Statusfenster wird automatisch gescrollt: Die aktuelle Statusmeldung ist immer sichtbar.
- Tabelle mit C/N0-Vergleichen nach Konstellation und Vergleich von L1 mit L5 hinzugefügt
- Residualplot für Pseudoreichweitenrate hinzugefügt.
- Die separaten Tabs für „Stationäre Positionsverweisdaten“ und „Bewegliche Positionsverweisdaten“ wurden entfernt. So ist jetzt leichter zu erkennen, welche Art von Positionsverweisdaten ausgewählt wurde.
- Die Ergebnisse der Funktion „Bericht erstellen“ wurden aus dem HTML-Fenster in das Statusfenster verschoben.
- Der Tab „Mission Planner“ wurde entfernt. Verwenden Sie gnssmissionplanning.com/ oder www.gnssplanning.com/.
- Fehlerkorrekturen beim Parsen von RINEX-Beobachtungsdateien.
- Wenn BKG nicht funktioniert, wird auf die Ephemeridenquelle NASA CDDIS für GPS und GLO zurückgegriffen.
- Von igs.bkg.bund.de zu igs-ftp.bkg.bund.de wechseln
- Beenden Sie die Analyse nicht, wenn der Download von GAL-, QZSS- oder BDS-Ephemerien 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 auf Android-Geräten haben, teilen Sie uns dies bitte über den GNSS-Problem-Tracker mit. Bitte prüfen Sie, ob Ihr Problem bereits in den häufig gestellten Fragen behandelt wurde, bevor Sie es posten.
Wenn Sie die GNSS-Analysetools verwendet haben, nehmen Sie bitte an einer kurzen Umfrage teil und geben Sie uns Feedback. Wenn Sie weitere Fragen haben oder Support benötigen, finden Sie unter Ressourcen für den Entwicklersupport weitere Informationen.
Antworten auf häufig gestellte Fragen finden Sie in den häufig gestellten Fragen zu GNSS-Analysetools.