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. Dostępnych będzie 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 abstraktu do 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 MT.

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 surowych 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 surowych 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 Globalne systemy 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 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 środka fazy (PCO), poprawki dotyczące środka fazy (PCV) i poprawki 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, a następnie 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 wykres gęstości sygnału nośnego w stosunku do szumów (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łoszonej niepewności każdego pomiaru, która 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 w porównaniu z znanymi punktami 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żesz 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 opis 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 plików referencyjnych PVT, dzięki czemu łatwiej jest sprawdzić, który typ pliku referencyjnego PVT 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.