Nieprzetworzone pomiary GNSS

Platforma Android zapewnia dostęp do nieprzetworzonych pomiarów GNSS na kilku urządzeniach z Androidem.

.

Narzędzia te znajdziesz w repozytorium GitHub z narzędziami do pomiarów GPS, które zawiera kod źródłowy wstępnej wersji GnssLogger i pliki wykonywalne do korzystania z aplikacji GNSS Analysis na komputery z systemem Linux, WindowsmacOS. Instrukcja instalacji i obsługi.

Wyzwanie Google dotyczące korzystania z smartfonu jako dalmierza

Google, dział satelitarny Instytutu Nawigacji oraz Kaggle sponsorują 3. edycję konkursu Smartphone Decimeter Challenge na konferencji ION GNSS+. Konkurs rozpocznie się 12 września 2023 r. i zakończy 23 maja 2024 r. Udostępnionych zostanie ponad 150 nowych ścieżek zawierających surowe pomiary GNSS, dane z czujników i precyzyjne dane podstawowe. W konkursie może wziąć udział każdy. Uczestnicy są zachęcani do przesłania streszczenia sesji „Smartphone Decimeter Challenge”, która odbędzie się podczas konferencji ION GNSS+ 2024.

Więcej informacji, w tym zasady i regulaminy, znajdziesz na stronie konkursu na Kaggle, która zostanie opublikowana 12 września 2023 r. o godz. 15:30 czasu Mountain Daylight Time.

urządzenia z Androidem, które obsługują pomiary GNSS w postaci surowych danych;

Obsługa surowych pomiarów GNSS jest obowiązkowa na urządzeniach z Androidem 10 (poziom interfejsu API 29) lub nowszym. W Androidzie 9 (poziom API 28) i starszym obsługa nieprzetworzonych pomiarów GNSS jest obowiązkowa na wszystkich urządzeniach z Androidem, które zawierają sprzęt z roku 2016 lub nowszego. Obecnie ponad 90% dotychczasowych telefonów z Androidem ma pomiary w postaci danych nieprzetworzonych.

Obsługa niektórych pól pomiarów GNSS w postaci surowych danych jest opcjonalna i może się różnić w zależności od używanego układu GNSS. Przykłady takich pól:

  • Pseudozakres i pseudozakres.
  • Komunikat nawigacyjny.
  • Wartość automatycznego sterowania wzmocnieniem (AGC).
  • Zbiorzony zakres delty (ADR) lub faza przenoszenia.

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

Model Wersja Androida AGC ADR (etap przewoźnika) L5 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 Exynos w telefonach Samsung Galaxy zapewnia ADR w ostatnich latach. Wersja Samsunga z procesorem Snapdragon nie obsługuje jeszcze ADR.

Więcej informacji o definicjach pól pomiarów surowych udostępnianych przez urządzenia z Androidem znajdziesz w artykule Globalny system nawigacji satelitarnej.

Producenci oryginalnego sprzętu (OEM), deweloperzy i badacze mogą korzystać z narzędzi na tej stronie, aby testować nowe projekty telefonów, weryfikować funkcjonalność, opracowywać nowe algorytmy, oceniać ulepszenia w implementacji systemu GNSS oraz tworzyć aplikacje z dodatkową wartością.

Przykładowy kod klienta SUPL

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

Informacje o kalibracji anteny

Od Androida 11 (poziom interfejsu API 30) możesz używać klasy GnssAntennaInfo, aby uzyskać dostęp do charakterystyk anteny, takich jak współrzędne przesunięcia fazowego (PCO), poprawki dotyczące odchylenia fazowego (PCV) i poprawki dotyczące wzmocnienia sygnału. Te korekty można stosować do pomiarów nieprzetworzonych, aby zwiększyć dokładność.

Podczas korzystania z funkcji GnssAntennaInfo pamiętaj o tych zachowaniach systemu. Mają one na celu zwiększenie ochrony prywatności użytkowników.

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

Rejestrowanie pomiarów nieprzetworzonych

Za pomocą Android 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 artykule Narzędzia do pomiaru GPS.

GNSSLogger to przykładowa aplikacja Google, która korzysta z tej funkcji. Aby uzyskać dane GNSS za pomocą przykładowej aplikacji, urządzenie musi obsługiwać surowe pomiary GNSS.

Po przechwyceniu dziennika GNSS za pomocą narzędzia GNSS Logger możesz skopiować pliki dziennika z urządzenia na komputer, aby przeanalizować je dokładniej. W 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) zgodnie z instrukcjami w artykule Kopiowanie plików na urządzenie i z niego.

Analizowanie pomiarów w postaci danych nieprzetworzonych

Aplikacja GNSS Analysis odczytuje surowe pomiary GPS/GNSS zebrane przez GNSS Logger i użyje ich do analizy zachowania odbiornika GNSS, jak pokazano na rysunku 1.

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

GNSS Logger i analiza GNSS

Rysunek 1. GNSS Logger zbiera pomiary, których można używać w ramach analizy GNSS.

Aplikacja GNSS Analysis została stworzona na podstawie MATLABA, ale do jej uruchomienia nie musisz mieć tego programu. Aplikacja jest kompilowana w plik wykonywalny, który instaluje kopię środowiska wykonawczego MATLAB.

Panel sterowania GNSS Analysis

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

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

Panel sterowania GNSS Analysis)

Rysunek 2. Panel sterowania GNSS Analysis

Interaktywne wykresy analizy GNSS

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

Interaktywne wykresy analizy GNSS)

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

W kolumnie RF widać te dane:

  • W przypadku każdej konstelacji 4 satelity z najsilniejszymi sygnałami.
  • Dla każdego satelity rysunek przedstawiający gęstość sygnału nośnego w czasie (C/No).
  • Skyplot pozycji satelitów.

W kolumnie zegara znajdują się te dane:

  • Pseudozakresy.
  • Odchylenie częstotliwości zegara odbiornika, które jest obliczane na podstawie jednej z tych pozycji odniesienia:

    • Średnia pozycja obliczona automatycznie.
    • Szerokość geograficzna, długość geograficzna i wysokość podane przez użytkownika.
    • Plik National Marine Electronics Association (NMEA) z prawdziwymi współrzędnymi PVT.
  • Odchylenie zegara w stanie gotowości, który utrzymuje czas, gdy odbiornik resetuje cykl pracy głównego oscylatora.

W kolumnie pomiarów znajdują się te dane:

  • Ważony wynik metody najmniejszych kwadratów uzyskany na podstawie nieprzetworzonych pseudozakresów. Wagowanie odbywa się na podstawie zgłaszanego niepewności każdego pomiaru, który jest częścią specyfikacji interfejsu API pomiarów surowych.
  • Błędy każdego pseudozakresu dla każdego pomiaru.
  • Błędy dla każdego pseudozakresu w przypadku każdego pomiaru.

Raport z testu analizy GNSS

Analiza GNSS może wygenerować raport testowy (jak na rysunku 4), który ocenia implementację interfejsu API, odbierany sygnał, działanie zegara i dokładność pomiarów. W każdym przypadku aplikacja informuje, czy odbiornik przeszedł test, czy też nie, na podstawie wydajności zmierzonej na podstawie znanych punktów odniesienia. Raport z testu jest przydatny dla producentów urządzeń, którzy mogą go używać podczas projektowania i wdrażania nowych urządzeń. Aby wygenerować raport testowy, kliknij Utwórz raport.

Raport z testu analizy GNSS

Rysunek 4. Raport z testu analizy GNSS

Na karcie Porównaj (porównaj) można porównać (jak na rysunku 5) wartości C/No z kilku plików dziennika GNSS. Jest to przydatne, gdy trzeba porównać wydajność RF kilku urządzeń.

C/B porównanie danych side-by-side

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

Chcesz poznać kod źródłowy? Projekt GPS Measurement Tool udostępnia przykład kodu open source w języku MATLAB, który można wykorzystać do wykonania tych czynności za pomocą sygnałów konstelacji GPS:

  • Odczytywanie danych zarejestrowanych za pomocą przykładowej aplikacji GNSS Logger.
  • Obliczanie i wizualizacja pseudozakresów.
  • Obliczanie pozycji i prędkości za pomocą ważonego najmniejszych kwadratów.
  • Wyświetlanie i analizowanie etapu dotyczącego operatora.

Informacje o wersji aplikacji GNSS Analysis 4.6.0.1

Wersja 4.6.0.1 aplikacji GNSS Analysis zawiera te zmiany:

  • Utworzono narzędzie GnssAnalysisTool na potrzeby Matlaba R2022a, co zapewnia 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 oraz porównań L1–L5.
  • Dodano wykres reszt pseudozakresu.
  • Usunięto oddzielne karty dla stacjonarnych i ruchomych referencyjnych pomiarów ciśnienia w opony, dzięki czemu łatwiej jest sprawdzić, który typ referencyjnego pomiaru ciśnienia w oponach został wybrany.
  • Przeniesienie wyników „Utwórz raport” z HTML do okna stanu.
  • Usunięto kartę Planista misji. Użyj adresu gnsmissionplanning.com/ lub www.gnsplanning.com/.
  • Poprawki związane z analizowaniem pliku obserwacji RINEX.
  • W przypadku awarii BKG należy użyć źródła efemeryd NASA CDDIS do obliczeń GPS i GLO.
  • Przeniesienie z igs.bkg.bund.de do igs-ftp.bkg.bund.de
  • Nie zamykaj analizy, jeśli nie uda się pobrać danych ephemerystycznych z 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 poprawić obsługę GNSS na Androidzie. O wszelkich problemach z obsługą GNSS na Androidzie poinformuj nas za pomocą śledzika problemów z GNSS. Zanim opublikujesz pytanie, sprawdź, czy nie ma już odpowiedzi na nie w Najczęstszych pytaniach.

Jeśli korzystasz z narzędzi do analizy GNSS, prześlij opinię, wypełniając krótką ankietę. Jeśli masz inne pytania lub prośby o pomoc, skorzystaj z zasobów dla deweloperów.

Odpowiedzi na najczęstsze pytania znajdziesz w często zadawanych pytaniach dotyczących narzędzi do analizy GNSS.