Analizowanie pomiarów w postaci nieprzetworzonych danych za pomocą narzędzia GnssLogger
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Dzięki GnssLogger w wersji 3.1 użytkownicy mogą wyświetlać i analizować surowe dane GNSS na ekranie Pomiarów.
Oto ekran Dane oraz kilka wskazówek, które pomogą Ci w pełni wykorzystać te dane:
Rysunek 1. Ekran pomiarów
Na karcie u góry:
W lewym górnym rogu znajdują się dane zegara GNSS (odpowiadające wartości GnssClock).
W prawym górnym rogu widać liczbę przerw w przetwarzaniu sygnałów GNSS przez sprzęt (z GnssClock.getHardwareClockDiscontinuityCount), co pomaga określić, czy cykl pracy jest włączony czy wyłączony. Gdy ten licznik wzrasta, oznacza to, że nastąpiło przerwanie ciągłego monitorowania sygnałów GNSS (np. cykl pracy jest włączony).
Dalej na karcie znajdziesz informacje zbiorcze dotyczące wszystkich pomiarów:
Jeśli urządzenie zawsze raportuje 0 użytecznych ADR, nawet gdy znajduje się na otwartej przestrzeni z wyłączonym cyklem pracy, oznacza to, że urządzenie nie obsługuje pomiarów fazy nośnej, które można wykorzystać do zapewnienia wysokiej dokładności GNSS.
Na dolnej karcie każdy wiersz odpowiada pojedynczej GnssMeasurement.
Kolumna Typ kodu zawiera dokładny typ sygnału GNSS z użyciem typów kodów zdefiniowanych w RINEX 4.01. Na przykład sygnały GPS L1 z typem kodu „C” oznaczają L1 C/A, co wskazuje ostatnia litera w trzyliterowym kodzie w tabelach RINEX. W przypadku GPS L5 Q typ kodu to „Q”. Informacje o innych konstelacjach GNSS znajdziesz w tabelach na końcu tego dokumentu.
W kolumnie Czas SV odbiornika (ns) tekst jest zielony, jeśli pomiar jest prawidłowy.
W kolumnie Stan stan jest też zielony, jeśli pomiar jest prawidłowy.
Stan zawiera czytelną dla człowieka wersję flag bitowych ustawionych w polu GnssMeasurement.getState().
Tabela 10. Kody obserwacji GPS RINEX w wersji 4.01
W przypadku każdego pomiaru „Typ kodu” to ostatnia litera wartości „Zakres pseudo” zdefiniowanej w specyfikacji RINEX 4.01 dla odpowiedniego systemu GNSS i częstotliwości nośnej. Na przykład „C” jest używane w przypadku GPS L1
[C/A], a „Q” w przypadku GPS L5 Q.
Rysunek 2. Tabela 10. Kody obserwacji GPS RINEX w wersji 4.01
Użytkownicy mogą przewijać w prawo, aby zobaczyć dodatkowe kolumny dla każdego pomiaru:
Rysunek 3. Dodatkowe kolumny na ekranie „Dane” w tabeli 10.
Kolumna Stan ADR zawiera wersję zrozumiałą dla człowieka flag bitowych określonych w kolumnie GnssMeasurement.getAccumulatedDeltaRangeState(). Jeśli ADR jest odpowiedni do pozycjonowania, tekst w polach ADR (m) i Stan ADR jest zielony.
Kody obserwacji RINEX 4.01
Ostatnia z 3 liter w kolumnie Pseudo Range w kodach obserwacji RINEX to wartość Typ kodu widoczna na ekranie Pomiarów w GnssLogger.
Poniżej, dla wygody użytkowników, zamieszczamy tabele ze specyfikacji RINEX 4.01.
Szczegółowe informacje znajdziesz w pełnej specyfikacji.
Rysunek 4. Tabela 10. Kody obserwacji GPS w RINEX w wersji 4.01Rysunek 5. Tabela 11. Kody obserwacji GLONASS w RINEX w wersji 4.01Rysunek 6. Tabela 12. Kody obserwacji Galileo w RINEX w wersji 4.01Rysunek 7. Tabela 13. Kody obserwacji SBAS w wersji RINEX 4.01Rysunek 8. Tabela 14. Kody obserwacji QZSS RINEX w wersji 4.01Rysunek 9. Tabela 15. Kody obserwacji BDS w RINEX w wersji 4.01Rysunek 10. Kody obserwacji NavIC w RINEX w wersji 4.01
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Analyze raw measurements with GnssLogger\n\nWith GnssLogger v3.1, users can view and analyze raw GNSS data on the\n**Measurements** screen.\n\nHere is the **Measurements** screen, followed by a few tips\nand tricks to make the most out of this data:\n**Figure 1.** Measurements screen\n\nIn the top card:\n\n- The top left shows the GNSS clock data (corresponding to [`GnssClock`](/reference/android/location/GnssClock)).\n- The top right shows the count of GNSS hardware (HW) discontinuities (from [`GnssClock.getHardwareClockDiscontinuityCount`](/reference/android/location/GnssClock#getHardwareClockDiscontinuityCount%28%29)), which helps determine if duty-cycling is on or off. When this counter increments, it indicates that there was a disruption in the continuous observation of GNSS signals (e.g., [duty-cycling](https://barbeau.medium.com/gnss-interrupted-the-hidden-android-setting-you-need-to-know-d812d28a3821) is on). Further down, the card displays aggregate information for all measurements:\n - **# valid measurements** --- For a measurement to be considered valid, the [`STATE_CODE_LOCK`](/reference/android/location/GnssMeasurement#STATE_CODE_LOCK) and [`STATE_TOW_KNOWN`](/reference/android/location/GnssMeasurement#STATE_TOW_KNOWN) or [`STATE_TOW_DECODED`](/reference/android/location/GnssMeasurement#STATE_TOW_DECODED)) flags must be set in [`GnssMeasurement.getState`](/reference/android/location/GnssMeasurement#getState%28%29)().\n - **# usable accumulated delta range (ADR) --- For** ADR, or carrier phase, to be considered usable for positioning, the [`ADR_STATE_VALID`](/reference/android/location/GnssMeasurement#ADR_STATE_VALID) flag must be set and neither the [`ADR_STATE_RESET`](/reference/android/location/GnssMeasurement#ADR_STATE_RESET) nor the [`ADR_STATE_CYCLE_SLIP`](/reference/android/location/GnssMeasurement#ADR_STATE_CYCLE_SLIP) flags can be set in [`GnssMeasurement.getAccumulatedDeltaRangeState`](/reference/android/location/GnssMeasurement#getAccumulatedDeltaRangeState%28%29)().\n\nIf your device always reports 0 usable ADR, even when in open sky with\nduty-cycling disabled, that's a good indication that your\ndevice doesn't support carrier phase measurements that can be used for\nhigh-accuracy GNSS.\n\nIn the bottom card, each row represents an individual [`GnssMeasurement`](/reference/android/location/GnssMeasurement).\n\n- The **Code type** column shows the exact type of GNSS signal using the code types defined in [RINEX 4.01](https://www.igs.org/wg/rinex/). For example, the GPS L1 signals with code type \"C\", represent L1 C/A, as indicated by the last letter in the three character code in the RINEX tables. GPS L5 Q would similarly have a \"Q\" code type. See the tables for other GNSS constellations at the end of this document for reference.\n- In the **Rx SV Time (ns)** column, the text is green if the measurement is valid.\n- In the **State column** , the state is also green if the measurement is valid. State shows a human-readable version of the bitwise flags that are set in the [GnssMeasurement.getState()](/reference/android/location/GnssMeasurement#getState%28%29) field.\n\nProvide feedback on new features using our\n[public issue tracker](https://issuetracker.google.com/issues/new?component=313183&template=0).\n\n**Table 10 : RINEX Version 4.01 GPS Observation Codes**\n\nFor each measurement, the \"Code Type\" shown is the last letter of the \"Pseudo\nRange\" value defined in the RINEX 4.01 specification for the relevant GNSS\nsystem and carrier frequency. For example, \"C\" is used for GPS L1\n\\[C/A\\] while \"Q\" is used for GPS L5 Q.\n**Figure 2.** Table 10: RINEX Version 4.01 GPS Observation Codes\n\nUsers can scroll to the right to see additional columns for each measurement:\n**Figure 3.** Additional columns on the Measurements screen in Table 10.\n\n- **PRR** is the Pseudo Range Rate in meters per second from [GnssMeasurement.getPseudorangeRateMetersPerSecond()](/reference/android/location/GnssMeasurement#getPseudorangeRateMetersPerSecond())\n- The **ADR State** column shows the human-readable version of the bitwise flags set in the [GnssMeasurement.getAccumulatedDeltaRangeState()](/reference/android/location/GnssMeasurement#getAccumulatedDeltaRangeState%28%29) column. If the ADR is usable for positioning, the text in the **ADR (m)** and **ADR State** fields is green.\n\nRINEX 4.01 observation codes\n----------------------------\n\nThe last of the three letters in the RINEX observation codes in the Pseudo Range\ncolumn is the **Code type** value shown on the **Measurements** screen in\nGnssLogger.\n\nFollowing are tables from the [RINEX 4.01 spec](https://www.igs.org/wg/rinex/) for convenience.\nSee the full specification for details.\n**Figure 4.** Table 10: RINEX Version 4.01 GPS Observation Codes **Figure 5.** Table 11: RINEX Version 4.01 GLONASS Observation Codes **Figure 6.** Table 12: RINEX Version 4.01 Galileo Observation Codes **Figure 7.** Table 13: RINEX Version 4.01 SBAS Observation Codes **Figure 8.** Table 14: RINEX Version 4.01 QZSS Observation Codes **Figure 9.** Table 15: RINEX Version 4.01 BDS Observation Codes **Figure 10.** RINEX Version 4.01 NavIC Observation Codes"]]