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, Windows i macOS. 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.
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.
)
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.
)
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.
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ń.
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.