Nieprzetworzone pomiary GNSS

Android Framework umożliwia dostęp do nieprzetworzonych pomiarów GNSS na kilku urządzeniach z Androidem.

Narzędzia znajdziesz w repozytorium GPS Measurement Tools na GitHubie, które zawiera kod źródłowy wstępnej wersji GnssLogger oraz pliki wykonywalne dla komputerowej aplikacji GNSS Analysis aplikacji na Linuksa, Windowsa i macOS. Instrukcja instalacji i obsługi.

Google Smartphone – wyzwanie

Google, Instytut Nawigacji Satelitarnej i Kaggle sponsorują 3. Smartphone DeciMe Challenge na konferencji ION GNSS+. Konkurs rozpoczyna się 12 września 2023 r. i kończy 23 maja 2024 r. Ponad 150 nowych logów czasu zawierających nieprzetworzone pomiary GNSS, dane z czujników i dokładne dane podstawowe będzie dostępne publicznie. Udział w konkursie jest otwarty dla wszystkich. Uczestnicy są zachęcani do przesyłania streszczenia na sesję zatytułowaną „Wyzwanie dziesięciokątów dla smartfonów”, które odbędzie się podczas ION GNSS+ 2024.

Aby dowiedzieć się więcej, w tym zasady i przepisy, wejdź na stronę konkursu w Kaggle, która rozpocznie się 12 września 2023 r. o 15:30 czasu MDT.

Urządzenia z Androidem, które obsługują nieprzetworzone pomiary GNSS

Na urządzeniach z Androidem 10 (poziom interfejsu API 29) lub nowszym wymagana jest obsługa nieprzetworzonych danych GNSS. Na urządzeniach z Androidem 9 (poziom interfejsu API 28) i starszym obsługa nieprzetworzonych pomiarów GNSS jest obowiązkowa na wszystkich urządzeniach z Androidem, które mają sprzęt z 2016 roku lub nowszym. Obecnie ponad 90% dotychczasowych telefonów z Androidem ma dane nieprzetworzone.

Obsługa niektórych pól pomiarowych GNSS jest opcjonalna i może się różnić w zależności od użytego chipsetu GNSS. Przykładowe pola:

  • Współczynnik pseudozakresu i pseudozakresu.
  • Komunikat nawigacyjny.
  • Wartość automatycznego kontrolera wzmocnienia (AGC).
  • Skumulowany zakres delta (ADR) lub faza operatora.

Tabela poniżej zawiera kilka przykładów urządzeń z Androidem wraz z opisem ich poziomu obsługi nieprzetworzonych pomiarów GNSS:

Model Wersja Androida treści generowane przez użytkowników ADR (faza przewoźnika) O5 Systemy globalne
Google Pixel 4, 5, 6 lub 7 12 tak tak tak GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 tak nie tak GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 nie tak tak GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 nie tak tak GPS
GLO
GAL
BDS
Huawei Mate 20 9 nie tak tak GPS
GLO
GAL
BDS
One Plus 7 Pro 9 tak nie tak GPS
GLO
GAL
One Plus 7 9 tak nie tak GPS
GLO
GAL
Samsung Galaxy S20/S21 Ultra (Exynos)* 12 tak tak tak GPS
GLO
GAL
BDS
QZS
Samsung Galaxy S9 (Exynos)* z Androidem 8.0 nie tak nie GPS
GLO
GAL
QZS
Samsung Galaxy S9+ z Androidem 8.0 nie nie nie GPS
GLO
GAL

* Wersja Samsung Galaxy Exynos zapewnia ADR w ostatnich latach. Wersja Samsung Snapdragon nie obsługuje jeszcze ADR.

Więcej informacji o definicjach nieprzetworzonych danych pomiarowych dostarczanych przez urządzenia z Androidem znajdziesz w artykule Globalna nawigacja z systemami satelitarnymi.

Producenci oryginalnego sprzętu (OEM), deweloperzy i badacze mogą korzystać z narzędzi na tej stronie do testowania nowych projektów telefonów, sprawdzania funkcjonalności, opracowywania nowych algorytmów, oceniania ulepszeń systemu GNSS oraz tworzenia aplikacji o wartości dodanej.

Przykładowy kod klienta SUPL

Suplclient to przykładowy kod, który wchodzi na stronę supl.google.com i uzyskuje dostęp do efemery w czasie rzeczywistym. Klasa SuplTester zawiera przykład użycia projektu klienta SUPL. SuplTester konfiguruje specyfikację połączenia TCP SUPL, a następnie przy danej szerokości i długości geograficznej wysyła żądanie LPP SUPL i drukuje odpowiedź serwera SUPL.

Informacje o kalibracji anteny

Począwszy od Androida 11 (poziom interfejsu API 30) możesz używać klasy GnssAntennaInfo, aby uzyskiwać dostęp do danych o charakterze anteny, takich jak współrzędne punktu środkowego fazy (PCO), korekcje wariacji fazy (PCV) i korekty wzmocnienia sygnału. Aby zwiększyć dokładność pomiarów, poprawki te można zastosować do nieprzetworzonych pomiarów.

Podczas korzystania z funkcji GnssAntennaInfo pamiętaj o następujących zachowaniach systemowych. Mają one na celu zapewnienie ochrony prywatności użytkownika.

  • Cechy dostarczane przez ten interfejs API dotyczą tylko modelu urządzenia, a nie poszczególnych urządzeń.

Zapisywanie nieprzetworzonych pomiarów

W Android Studio możesz utworzyć aplikację, która rejestruje nieprzetworzone pomiary GNSS i inne dane o lokalizacji oraz zapisuje je w pliku. Przykładowy kod źródłowy takiej aplikacji znajdziesz w sekcji Narzędzia pomiarowe GPS.

GNSSLogger to przykładowa aplikacja opracowana z użyciem tej funkcji. Aby uzyskać dane wyjściowe GNSS w przykładowej aplikacji, Twoje urządzenie musi obsługiwać nieprzetworzone pomiary GNSS.

Po przechwyceniu dziennika GNSS przy użyciu Rejestratora GNSS możesz skopiować pliki dzienników z urządzenia na komputer w celu dalszej analizy. Za pomocą Rejestratora GNSS możesz wysłać pliki do siebie e-mailem lub zapisać je na Dysku Google. Możesz też zapisać pliki przy użyciu aplikacji do zarządzania plikami na urządzeniu lub użyć Android Debug Bridge (ADB) zgodnie z opisem w sekcji Kopiowanie plików na urządzenie i z urządzenia.

Analizowanie nieprzetworzonych pomiarów

Aplikacja Analiza GNSS odczytuje nieprzetworzone dane GPS/GNSS zebrane przez GNSS Logger i wykorzystuje je do analizowania zachowania odbiornika GNSS, jak pokazano na ilustracji 1.

Możesz ją pobrać na systemy Linux, Windows lub macOS.

Rejestrator GNSS i analiza GNSS

Rysunek 1. GNSS Logger zbiera dane, które mogą zostać przetworzone przez analizę GNSS.

Aplikacja Analiza GNSS jest oparta na mechanizmie MATLAB, ale do jego uruchomienia nie potrzebujesz MATLAB. Aplikacja jest skompilowana do pliku wykonywalnego, który instaluje kopię środowiska wykonawczego MATLAB.

Panel sterowania analizy GNSS

Panel sterowania GNSS Analysis, pokazany na ilustracji 2, umożliwia zarządzanie funkcjami aplikacji, takimi jak:

  • Wybierz satelity, które mają być wyświetlane.
  • Kontroluj położenie odniesienia, prędkość i czas (PVT) używane do obliczania błędów pomiarowych.
  • generować raporty analityczne.
  • Zdefiniuj okno danych między czasem rozpoczęcia a czasem zakończenia.

Panel sterowania analizy GNSS)

Rysunek 2. Panel sterowania Analizy GNSS

Interaktywne wykresy analizy GNSS

Aplikacja Analiza GNSS udostępnia interaktywne wykresy uporządkowane wg częstotliwości radiowej, zegarów i kolumn pomiarów, jak widać na ilustracji 3.

Interaktywne wykresy analizy GNSS)

Rysunek 3. Aplikacja Analiza GNSS wyświetlająca interaktywne wykresy.

Kolumna RF zawiera te dane:

  • W przypadku każdej konstelacji są to 4 satelity o najsilniejszych sygnałach.
  • Dla każdego satelity wykres czasu rozkładu operatora na gęstość szumu (C/Nie).
  • Wykres naziemny przedstawiający pozycje satelitów.

Kolumna zegara zawiera te dane:

  • Pseudozakresy.
  • Częstotliwość przesunięcia zegara odbiorcy, która jest obliczana na podstawie jednego z tych pozycji odniesienia:

    • Automatycznie obliczona średnia pozycja.
    • Długość i szerokość geograficzna podane przez użytkownika.
    • Plik PVT organizacji National Marine Electronics Association (NMEA) z informacjami o prawdziwości.
  • Przesunięcie zegara w trybie gotowości, gdy odbiornik resetuje cykl sprawności głównego oscylatora.

Kolumna pomiarów zawiera te dane:

  • Wyniki pozycji najmniejszych kwadratów ważone uzyskane z nieprzetworzonych pseudozakresów. Ważenie jest dokonywane z wykorzystaniem zgłoszonej niepewności każdego pomiaru, która jest częścią nieprzetworzonej specyfikacji interfejsu API.
  • Błędy poszczególnych pseudozakresów dla poszczególnych pomiarów.
  • Błędy poszczególnych współczynników pseudozakresu dla każdego pomiaru.

Raport z testu analizy GNSS

Analiza GNSS może wygenerować raport z testu (jak pokazano na rysunku 4), który ocenia implementację interfejsu API, odebrane sygnały, działanie zegara i dokładność pomiaru. W każdym przypadku aplikacja informuje o tym, czy odbiorca zaliczył test, czy nie, na podstawie wyników zmierzonych w ramach znanych testów porównawczych. Raport z testu jest przydatny dla producentów urządzeń, którzy mogą z niego korzystać podczas projektowania i wdrażania nowych urządzeń. Aby wygenerować raport z testu, kliknij Utwórz raport.

Raport z testu analizy GNSS

Rysunek 4. Raport z testu analizy GNSS

Na karcie Porównaj znajdziesz porównanie wartości C/Nie z kilku plików dziennika GNSS (patrz Rysunek 5). Jest to przydatne podczas porównywania wydajności częstotliwości radiowych na kilku urządzeniach.

C/Brak porównania danych obok siebie

Rysunek 5. Porównanie danych C/Brak z kilku plików dziennika

Interesuje Cię kod źródłowy? GPS Measurement Tool Project udostępnia przykład typu open source MATLAB, którego można użyć do wykonywania następujących działań za pomocą sygnałów konstelacji GPS:

  • Odczytywanie danych przechwyconych za pomocą przykładowej aplikacji GNSS Logger.
  • Obliczaj i wizualizuj pseudozakresy.
  • Oblicz pozycję i prędkość najmniejszych kwadratów ważonych.
  • Wyświetl i przeanalizuj etap przewoźnika.

Informacje o wersji 4.6.0.1 aplikacji GNSS Analysis

Aplikacja GNSS Analysis w wersji 4.6.0.1 zawiera te aktualizacje:

  • Utworzono narzędzie GnssAnalysisTool na platformie Matlab R2022a, co daje dostęp do nowych funkcji:
  • Automatyczne przewijanie okna stanu: ostatni komunikat o stanie jest zawsze widoczny.
  • Dodano tabelę porównań C/N0 według konstelacji oraz porównanie L1 i L5.
  • Dodano wykres reszty szybkości pseudozakresu.
  • Usunęliśmy osobne karty dla referencyjnego PVT Stacjonarnego lub Ruchomy, dzięki czemu łatwiej można zobaczyć, jaki typ referencyjny PVT został wybrany.
  • Wyniki funkcji „Utwórz raport” zostały przeniesione z kodu HTML do okna stanu.
  • Usunięto kartę Planer misji. Skorzystaj z gnssmissionplanning.com/ lub www.gnssplanning.com/.
  • Poprawki związane z analizowaniem pliku obserwacji RINEX.
  • Przełącz się na źródło efemery CDDIS NASA dla GPS i GLO, gdy BKG nie działa.
  • Przenieś z igs.bkg.bund.de do igs-ftp.bkg.bund.de
  • Nie zamykaj analizy, jeśli nie uda się pobrać efemery z GAL, QZSS lub BDS.
  • Utwórz analizę CNo anteny, nawet jeśli chipset nie obsługuje BaseBandCNo

Instrukcja instalacji i obsługi.

Prześlij opinię

Chcemy poprawić obsługę GNSS na Androidzie. Poinformuj nas o wszelkich problemach z obsługą GNSS na Androidzie, korzystając z narzędzia do śledzenia problemów GNSS. Zanim opublikujesz swój problem, sprawdź, czy nie został on już omówiony w Najczęstszych pytaniach.

Jeśli zdarzyło Ci się korzystać z narzędzi do analizy GNSS, podziel się z nami swoją opinią w krótkiej ankiecie. Jeśli masz inne pytania lub prośby o pomoc, zapoznaj się z materiałami pomocy dla deweloperów.

Odpowiedzi na najczęstsze pytania znajdziesz w sekcji najczęstszych pytań o narzędzia analizy GNSS.