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-Rohmessungen unterstützen
Die Unterstützung von Roh-GNSS-Messungen 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 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 der Felder für GNSS-Rohmessungen ist optional und kann je nach verwendetem GNSS-Chipsatz variieren. Beispiele für diese Felder:
- Pseudoabstand und Pseudoabstandsrate.
- 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-Ebene 30) können Sie mit der Klasse GnssAntennaInfo
auf Antennenmerkmale zugreifen, z. B. auf Koordinaten des Phasenzentrumsoffsets (PCO), Korrekturen der Phasenzentrumsschwankung (PCV) und Korrekturen der Signalverstärkung. Diese Korrekturen können auf die Rohmesswerte angewendet werden, um die Genauigkeit zu verbessern.
Beachten Sie bei der Verwendung von GnssAntennaInfo
Folgendes: Sie sollen den Datenschutz für Nutzer verbessern.
- Die von dieser API bereitgestellten Merkmale beziehen sich nur auf das Gerätemodell und nicht auf ein einzelnes Gerät.
Rohmessungen protokollieren
Mit Android Studio können Sie eine App erstellen, die Rohdaten von GNSS-Messungen und andere Standortdaten erfasst und in einer Datei protokolliert. Beispielcode für eine solche App finden Sie unter GPS-Messtools.
GNSSLogger von Google ist eine Beispielanwendung, die mit dieser Funktion entwickelt wurde. 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 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 speichern oder die Android Debug Bridge (ADB) verwenden, wie unter Dateien auf ein Gerät kopieren und von einem Gerät kopieren beschrieben.
Rohmessungen analysieren
Die GNSS-Analyse-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 App wird in eine ausführbare Datei kompiliert, über die eine Kopie der MATLAB-Laufzeit installiert wird.
Steuerfeld für GNSS-Analyse
Über das Steuerfeld für die GNSS-Analyse (siehe Abbildung 2) können Sie App-Funktionen verwalten, z. B.:
- Wählen Sie 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 wird.
- Analyseberichte erstellen
- Legen Sie in den Daten ein Zeitfenster zwischen Start- und Endzeit fest.
)
Interaktive Diagramme der 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 Mittelposition.
- Vom Nutzer eingegebene Breite, Länge und Höhe.
- NMEA-Datei (National Marine Electronics Association) mit der Wahrheitsreferenz PVT.
Der Versatz der Standby-Uhr, die die Zeit anzeigt, wenn der Empfänger den Taktzyklus des primären Oszillators zurücksetzt.
Die Spalte „Messwerte“ enthält die folgenden Daten:
- 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 API-Spezifikation für Rohmesswerte ist.
- Die Fehler der einzelnen Pseudostrecken für jede Messung.
Die Fehler der einzelnen Pseudostreckenraten für jede Messung.
Testbericht zur GNSS-Analyse
Mit der GNSS-Analyse kann ein Testbericht wie in Abbildung 4 generiert werden, 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 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 beim Design und der 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 nützlich, 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 für die GNSS-Analyse-App 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 die Pseudoreichweite wurde 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 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 auf Android-Geräten haben, können Sie uns dies über den GNSS-Problem-Tracker mitteilen. 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, geben Sie bitte Feedback, indem Sie an einer kurzen Umfrage teilnehmen. 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.