Cómo analizar mediciones sin procesar con GnssLogger
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Con GnssLogger v3.1, los usuarios pueden ver y analizar datos de GNSS sin procesar en la pantalla Measurements.
Esta es la pantalla Mediciones, seguida de algunas sugerencias y trucos para aprovechar al máximo estos datos:
Figura 1: Pantalla de mediciones
En la tarjeta superior, haz lo siguiente:
En la parte superior izquierda, se muestran los datos del reloj GNSS (que corresponden a GnssClock).
En la parte superior derecha, se muestra el recuento de discontinuidades de hardware (HW) del GNSS (de GnssClock.getHardwareClockDiscontinuityCount), lo que ayuda a determinar si el ciclo de trabajo está activado o desactivado. Cuando este contador aumenta, indica que hubo una interrupción en la observación continua de los indicadores del GNSS (p.ej., el ciclo de trabajo está activado).
Más abajo, la tarjeta muestra información agregada de todas las mediciones:
Si tu dispositivo siempre informa 0 ADR utilizables, incluso cuando está al aire libre con el ciclo de trabajo inhabilitado, es un buen indicador de que tu dispositivo no admite mediciones de fase portadora que se pueden usar para GNSS de alta precisión.
En la tarjeta inferior, cada fila representa un GnssMeasurement individual.
La columna Code type muestra el tipo exacto de señal del GNSS con los tipos de código definidos en RINEX 4.01. Por ejemplo, las señales L1 del GPS con el tipo de código “C” representan L1 C/A, como lo indica la última letra del código de tres caracteres en las tablas RINEX. Del mismo modo, GPS L5 Q tendría un tipo de código "Q". Consulta las tablas de otras constelaciones de GNSS al final de este documento como referencia.
En la columna Rx SV Time (ns), el texto es verde si la medición es válida.
En la columna Estado, el estado también es verde si la medición es válida.
El estado muestra una versión legible por humanos de las marcas de bits que se establecen en el campo GnssMeasurement.getState().
Tabla 10 : Códigos de observación del GPS de RINEX versión 4.01
Para cada medición, el "Tipo de código" que se muestra es la última letra del valor de "Pseudo Rango" definido en la especificación RINEX 4.01 para el sistema GNSS y la frecuencia portadora relevantes. Por ejemplo, “C” se usa para GPS L1 [C/A], mientras que “Q” se usa para GPS L5 Q.
Figura 2: Tabla 10: Códigos de observación del GPS de la versión 4.01 de RINEX
Los usuarios pueden desplazarse hacia la derecha para ver columnas adicionales para cada medición:
Figura 3: Columnas adicionales en la pantalla Mediciones de la Tabla 10.
La columna ADR State muestra la versión legible por humanos de las marcas de bits establecidas en la columna GnssMeasurement.getAccumulatedDeltaRangeState(). Si el ADR se puede usar para el posicionamiento, el texto de los campos ADR (m) y ADR State es verde.
Códigos de observación RINEX 4.01
La última de las tres letras de los códigos de observación RINEX en la columna Pseudo Range es el valor de Code type que se muestra en la pantalla Measurements de GnssLogger.
A continuación, se incluyen tablas de la especificación RINEX 4.01 para tu comodidad.
Consulta la especificación completa para obtener más información.
Figura 4: Tabla 10: Códigos de observación de GPS de RINEX versión 4.01Figura 5. Tabla 11: Códigos de observación de GLONASS de la versión 4.01 de RINEXFigura 6. Tabla 12: Códigos de observación de Galileo de la versión 4.01 de RINEXFigura 7. Tabla 13: Códigos de observación de SBAS de RINEX versión 4.01Figura 8. Tabla 14: Códigos de observación de QZSS de RINEX versión 4.01Figura 9. Tabla 15: Códigos de observación de BDS de la versión 4.01 de RINEXFigura 10. Códigos de observación de NavIC de la versión 4.01 de RINEX
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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"]]