Nieprzetworzone pomiary GNSS

Platforma Androida zapewnia dostęp do surowych pomiarów GNSS na wielu urządzeniach z Androidem.

Narzędzia znajdziesz w repozytorium GPS Measurement Tools w GitHubie. Zawiera ono kod źródłowy wstępnej wersji GnssLoggera oraz pliki wykonywalne aplikacji GNSS Analysis na komputery z systemami Linux, WindowsmacOS. Instrukcja instalacji i obsługi

Google Smartphone Decimeter Challenge

Google, Instytut Nawigacji (Satellite Division) i Kaggle sponsorują 3 konkurs Smartphone Decimeter Challenge w ramach ION GNSS+. Rozpocznie się on 12 września 2023 r., a zakończy 23 maja 2024 r. Publicznie dostępnych będzie ponad 150 nowych śladów zawierających surowe pomiary GNSS, dane z czujników i precyzyjne dane podstawowe. W konkursie może wziąć udział każdy. Zachęcamy uczestników do przesyłania streszczeń na sesję „Smartphone Decimeter Challenge”, która odbędzie się w ramach ION GNSS+ 2024.

Więcej informacji, w tym reguły i przepisy, znajdziesz na stronie konkursu w Kaggle, która zostanie opublikowana 12 września 2023 r. o 15:30 czasu MDT.

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

Obsługa surowych pomiarów GNSS jest obowiązkowa na urządzeniach z Androidem 10 (poziom interfejsu API 29) lub nowszym. Na Androidzie 9 (poziom API 28) i starszym obsługa surowych pomiarów GNSS jest obowiązkowa na wszystkich urządzeniach z Androidem wyprodukowanych w 2016 roku lub później. Obecnie ponad 90% telefonów z Androidem ma pomiary surowe.

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

  • odległość pseudorange i szybkość pseudorange;
  • Komunikat nawigacyjny.
  • Wartość automatycznej kontroli wzmocnienia (AGC).
  • Skumulowany zakres różnic (ADR) lub faza nośna.

W tabeli poniżej znajdziesz kilka przykładów urządzeń z Androidem i poziom obsługi przez nie surowych pomiarów GNSS:

Model Wersja Androida AGC ADR (faza nośna) 5 Systemy globalne
Google Pixel 4/5/6/7 12 tak tak tak GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 tak no tak GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 no tak tak GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 no tak tak GPS
GLO
GAL
BDS
Huawei Mate 20 9 no tak tak GPS
GLO
GAL
BDS
One Plus 7 Pro 9 tak no tak GPS
GLO
GAL
One Plus 7 9 tak no 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 no tak no GPS
GLO
GAL
QZS
Samsung Galaxy S9+ z Androidem 8.0 no nie no GPS
GLO
GAL

* Wersja Samsunga Galaxy z procesorem Exynos obsługuje ADR od kilku lat. Wersja Samsunga z procesorem Snapdragon nie obsługuje jeszcze ADR.

Więcej informacji o definicjach pól surowych pomiarów dostarczanych przez urządzenia z Androidem znajdziesz w artykule Globalne systemy nawigacji satelitarnej.

Producenci OEM, deweloperzy i badacze mogą korzystać z narzędzi na tej stronie, aby testować nowe projekty telefonów, sprawdzać funkcjonalność, opracowywać nowe algorytmy, oceniać ulepszenia implementacji systemu GNSS, a także tworzyć aplikacje o wartości dodanej.

Przykładowy kod klienta SUPL

Suplclient to przykładowy kod, który uzyskuje dostęp do supl.google.com, aby pobrać efemerydy w czasie rzeczywistym. Klasa SuplTester zawiera przykład użycia projektu klienta SUPL. SuplTester konfiguruje specyfikacje połączenia TCP SUPL, a następnie wysyła żądanie LPP SUPL na podaną szerokość i długość geograficzną oraz drukuje odpowiedź serwera SUPL.

Informacje o kalibracji anteny

Od Androida 11 (poziom API 30) możesz używać klasy GnssAntennaInfo, aby uzyskiwać dostęp do charakterystyki anteny, takiej jak: współrzędne przesunięcia środka fazy (PCO), korekty zmienności środka fazy (PCV) i korekty wzmocnienia sygnału. Te korekty można zastosować do surowych pomiarów, aby zwiększyć dokładność.

Podczas korzystania z GnssAntennaInfo pamiętaj o tych kwestiach: Zostały one zaprojektowane z myślą o ochronie prywatności użytkowników.

  • Cechy dostarczane przez ten interfejs API są specyficzne tylko dla modelu urządzenia, a nie dla konkretnego urządzenia.

Zapisywanie surowych pomiarów

Za pomocą Androida Studio możesz utworzyć aplikację, która rejestruje surowe 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 do pomiarów GPS.

Google GNSSLogger to przykładowa aplikacja, która została opracowana z użyciem tej funkcji. Aby uzyskać dane wyjściowe GNSS w aplikacji przykładowej, urządzenie musi obsługiwać surowe pomiary GNSS.

Po przechwyceniu logu GNSS za pomocą aplikacji GNSS Logger możesz skopiować pliki logu z urządzenia na komputer, aby przeprowadzić dalszą analizę. Z poziomu aplikacji GNSS Logger możesz wysłać pliki do siebie e-mailem lub zapisać je na Dysku Google. Możesz też zapisać pliki za pomocą aplikacji do zarządzania plikami na urządzeniu lub użyć narzędzia Android Debug Bridge (ADB), jak opisano w artykule Kopiowanie plików na urządzenie i z urządzenia.

Analizowanie surowych pomiarów

Aplikacja GNSS Analysis odczytuje surowe pomiary GPS/GNSS zebrane przez GNSS Logger i wykorzystuje je do analizowania zachowania odbiornika GNSS, jak pokazano na rysunku 1.

Aplikację możesz pobrać na systemy Linux, Windows i macOS.

Rejestrator GNSS i analiza GNSS

Rysunek 1. Aplikacja GNSS Logger zbiera pomiary, które mogą być wykorzystywane przez GNSS Analysis.

Aplikacja GNSS Analysis jest oparta na MATLABIE, ale nie musisz mieć tego programu, aby ją uruchomić. Aplikacja jest kompilowana do pliku wykonywalnego, który instaluje kopię środowiska wykonawczego MATLAB Runtime.

Panel sterowania analizą GNSS

Panel sterowania analizą GNSS, widoczny na rysunku 2, umożliwia zarządzanie funkcjami aplikacji, takimi jak:

  • Wybierz, które satelity mają być wyświetlane.
  • Kontroluj pozycję, prędkość i czas odniesienia (PVT) używane do obliczania błędów pomiarowych.
  • generować raporty analityczne;
  • Określ w danych przedział czasu między godziną rozpoczęcia a godziną zakończenia.

Panel sterowania analizą GNSS)

Rysunek 2. Panel sterowania analizą GNSS

Interaktywne wykresy analizy GNSS

Aplikacja GNSS Analysis udostępnia interaktywne wykresy uporządkowane w kolumnach częstotliwości radiowych, zegarów i pomiarów, jak pokazano na rysunku 3.

Interaktywne wykresy analizy GNSS)

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

Kolumna RF zawiera te dane:

  • W przypadku każdej konstelacji – 4 satelity o najsilniejszych sygnałach.
  • Wykres czasowy stosunku sygnału do szumu (C/No) dla każdego satelity.
  • Wykres nieba z pozycjami satelitów.

Kolumna zegara zawiera te dane:

  • Pseudoodległości.
  • Częstotliwość przesunięcia zegara odbiornika, która jest obliczana na podstawie jednej z tych pozycji odniesienia:

    • Automatycznie obliczona średnia pozycja.
    • Szerokość, długość i wysokość geograficzna wpisane przez użytkownika.
    • Plik National Marine Electronics Association (NMEA) z odniesieniem do rzeczywistości PVT.
  • Odchylenie zegara w trybie gotowości, który odmierza czas, gdy odbiornik resetuje cykl pracy głównego oscylatora.

W kolumnie pomiarów wyświetlane są te dane:

  • Wyniki ważonej metody najmniejszych kwadratów uzyskane na podstawie surowych pseudoodległości. Ważenie odbywa się na podstawie zgłoszonej niepewności każdego pomiaru, która jest częścią specyfikacji interfejsu Raw Measurement API.
  • błędy każdego pseudodystansu dla każdego pomiaru;
  • Błędy każdego pseudozasięgu 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, otrzymany sygnał, zachowanie zegara i dokładność pomiaru. W każdym przypadku aplikacja informuje, czy odbiornik przeszedł test, czy nie, na podstawie wydajności zmierzonej w porównaniu ze znanymi wartościami odniesienia. Raport z testu jest przydatny dla producentów urządzeń, którzy mogą go wykorzystywać podczas iteracyjnego procesu 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

Karta Porównaj zawiera porównanie obok siebie wartości C/N0 z kilku plików dziennika GNSS (rysunek 5), co jest przydatne podczas porównywania wydajności RF kilku urządzeń.

Porównanie danych C/No

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

Interesuje Cię kod źródłowy? Projekt narzędzia do pomiarów GPS udostępnia przykład MATLAB o otwartym kodzie źródłowym, którego możesz użyć do wykonania tych czynności za pomocą sygnałów konstelacji GPS:

  • Odczytywanie danych zarejestrowanych za pomocą przykładowej aplikacji GNSS Logger.
  • Obliczanie i wizualizowanie pseudoodległości.
  • Obliczanie pozycji i prędkości metodą ważonych najmniejszych kwadratów.
  • Wyświetlanie i analizowanie fazy nośnej.

Informacje o wersji aplikacji GNSS Analysis 4.6.0.1

Wersja 4.6.0.1 aplikacji GNSS Analysis zawiera te zmiany:

  • Narzędzie GnssAnalysisTool zostało utworzone w Matlabie R2022a, co daje dostęp do nowych funkcji:
  • Okno stanu przewija się automatycznie: najnowszy komunikat o stanie jest zawsze widoczny.
  • Dodano tabelę porównań C/N0 według konstelacji, porównującą L1 z L5.
  • Dodano wykres resztowy szybkości pseudoodległości.
  • Usunęliśmy osobne karty dla pozycji „Referencyjne PVT – stacjonarne” i „Referencyjne PVT – w ruchu”, co ułatwia sprawdzenie, który typ referencyjnych PVT został wybrany.
  • Przeniesiono wyniki „Utwórz raport” z HTML do okna stanu.
  • Usunięto kartę Planer misji. Użyj strony gnssmissionplanning.com/ lub www.gnssplanning.com/.
  • Poprawki związane z analizowaniem pliku obserwacji RINEX.
  • W przypadku GPS i GLO, gdy BKG nie działa, przełączanie na źródło efemeryd NASA CDDIS.
  • Przenoszenie z igs.bkg.bund.de na igs-ftp.bkg.bund.de
  • Nie przerywaj analizy, jeśli nie uda się pobrać efemeryd GAL, QZSS lub BDS.
  • Tworzenie analizy CNo anteny, nawet jeśli chipset nie obsługuje BaseBandCNo

Instrukcja instalacji i obsługi

Prześlij opinię

Chcemy ulepszyć obsługę GNSS na Androidzie. Jeśli masz problemy z obsługą GNSS na Androidzie, poinformuj nas o nich, korzystając z narzędzia do śledzenia problemów z GNSS. Zanim opublikujesz swój problem, sprawdź, czy nie został już rozwiązany w najczęstszych pytaniach.

Jeśli korzystasz z narzędzi do analizy GNSS, przekaż nam swoją opinię, wypełniając krótką ankietę. Jeśli masz inne pytania lub potrzebujesz pomocy, zapoznaj się z materiałami pomocy dla deweloperów.

Odpowiedzi na najczęstsze pytania znajdziesz w tym artykule.