Mediciones GNSS sin procesar

El framework de Android proporciona acceso a mediciones GNSS sin procesar en varios dispositivos Android.

Puedes encontrar las herramientas en el repositorio de herramientas de medición de GPS de GitHub, que incluye el código fuente de una versión preliminar de GnssLogger y ejecutables para la app de análisis de GNSS de escritorio para Linux, Windows y macOS. Manual de instalación y del usuario.

Desafío de decímetros de Google Smartphone

Google, la división satelital del Instituto de Navegación y Kaggle patrocinan el 3er desafío de deciómetros de smartphones en ION GNSS+. La competencia comienza el 12 de septiembre de 2023 y finaliza el 23 de mayo de 2024. Habrá más de 150 seguimientos nuevos que contengan mediciones de GNSS sin procesar, datos de sensores y verdad fundamental precisa. La participación en la competencia está abierta para todos. Se recomienda a los participantes que envíen un resumen para la sesión titulada “Smartphone Decimeter Challenge”, que se llevará a cabo en el ION GNSS+ 2024.

Para obtener más información, incluidas las reglas y reglamentaciones, visita la página de la competencia en Kaggle, que se publicará el 12 de septiembre de 2023 a las 3:30 p.m. MDT.

Dispositivos Android que admiten mediciones GNSS sin procesar

La compatibilidad con mediciones GNSS sin procesar es obligatoria en los dispositivos que ejecutan Android 10 (nivel de API 29) o versiones posteriores. En Android 9 (nivel de API 28) y versiones anteriores, la compatibilidad sin procesar con las mediciones de GNSS es obligatoria en todos los dispositivos Android que incluyan hardware con el año 2016 o posterior. Actualmente, más del 90% de los teléfonos Android existentes tienen mediciones sin procesar.

La compatibilidad con algunos de los campos de medición de GNSS sin procesar es opcional y puede variar según el chipset de GNSS que se use. Estos son algunos ejemplos de estos campos:

  • Pseudorrango y velocidad de pseudorrango
  • Mensaje de navegación.
  • Valor del controlador de ganancia automática (AGC).
  • Rango delta acumulado (ADR) o fase del proveedor.

En la siguiente tabla, se enumeran algunos ejemplos de dispositivos con Android y su nivel de compatibilidad de mediciones de GNSS sin procesar:

Modelo Versión de Android AGC ADR (fase del proveedor) L5 Sistemas globales
Google Pixel 4/5/6/7 12 GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 no GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 no GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 no GPS
GLO
GAL
BDS
Huawei Mate 20 9 no GPS
GLO
GAL
BDS
One Plus 7 Pro 9 no GPS
GLO
GAL
One Plus 7 9 no GPS
GLO
GAL
Samsung Galaxy S20/S21 Ultra (Exynos)* 12 GPS
GLO
GAL
BDS
QZS
Samsung Galaxy S9 (Exynos)* 8.0 no no GPS
GLO
GAL
QZS
Samsung Galaxy S9+ 8.0 no no no GPS
GLO
GAL

* La versión Samsung Galaxy Exynos ofrece ADR en los últimos años. La versión de Samsung Snapdragon aún no proporciona ADR.

Para obtener más información sobre las definiciones de los campos de medición sin procesar que proporcionan los dispositivos Android, consulta Sistemas satelitales de navegación global.

Los fabricantes de equipos originales (OEM), los desarrolladores y los investigadores pueden usar las herramientas de esta página para probar nuevos diseños de teléfonos, validar la funcionalidad, desarrollar nuevos algoritmos, evaluar mejoras en la implementación del sistema GNSS y compilar apps de valor agregado.

Código de muestra del cliente de SUPL

Suplclient es un código de muestra que accede a supl.google.com para obtener efemérides en tiempo real. La clase SuplTester proporciona un ejemplo sobre cómo usar el proyecto de cliente SUPL. SuplTester establece las especificaciones de conexión TCP SUPL; luego, en una latitud y una longitud determinadas, envía una solicitud LPP SUPL e imprime la respuesta del servidor SUPL.

Información sobre la calibración de la antena

A partir de Android 11 (nivel de API 30), puedes usar la clase GnssAntennaInfo para acceder a las características de la antena, como las coordenadas de desplazamiento del centro de fase (PCO), las correcciones de variación del centro de fase (PCV) y las de ganancia de señal. Estas correcciones se pueden aplicar a las mediciones sin procesar para mejorar la exactitud.

Cuando uses GnssAntennaInfo, ten en cuenta los siguientes comportamientos del sistema. Están diseñados para mejorar la privacidad del usuario.

  • Las características que proporciona esta API son específicas del modelo del dispositivo, no de un dispositivo individual.

Cómo registrar mediciones sin procesar

Puedes usar Android Studio para compilar una app que capture mediciones de GNSS sin procesar y otros datos de ubicación, y los registre en un archivo. Para ver un ejemplo del código fuente de una aplicación de este tipo, consulte Herramientas de medición de GPS.

Google GNSSLogger es una app de ejemplo que se desarrolla con esta funcionalidad. Para obtener un resultado de GNSS con la app de ejemplo, tu dispositivo debe admitir mediciones de GNSS sin procesar.

Una vez que hayas capturado el registro GNSS con GNSS Logger, puedes copiar los archivos de registro del dispositivo a tu computadora para analizarlos en detalle. Desde GNSS Logger, puedes enviarte los archivos por correo electrónico o guardarlos en Google Drive. Como alternativa, puedes guardar los archivos usando la app de administración de archivos en el dispositivo, o puedes usar Android Debug Bridge (ADB) como se explica en Cómo copiar archivos a un dispositivo o desde este.

Cómo analizar mediciones sin procesar

La app de análisis de GNSS lee las mediciones sin procesar de GNSS/GNSS que recopila el registrador de GNSS y las usa para analizar el comportamiento del receptor de GNSS, como se muestra en la Figura 1.

Puedes descargar la app para sistemas de Linux, Windows y macOS.

GNSS Logger y análisis de GNSS

Figura 1: GNSS Logger recopila las mediciones que puede consumir GNSS Analysis.

La app de análisis de GNSS se compila en MATLAB, pero no necesitas tener MATLAB para ejecutarla. La app se compila en un ejecutable que instala una copia del entorno de ejecución de MATLAB.

Panel de control de análisis de GNSS

El panel de control de análisis de GNSS, que se muestra en la figura 2, te permite administrar funciones de la app, como las siguientes:

  • Selecciona los satélites que se mostrarán.
  • Controla la posición de referencia, la velocidad y el tiempo (PVT) utilizados para calcular los errores de medición.
  • Genera informes de análisis.
  • Define una ventana en los datos entre las horas de inicio y finalización.

Panel de control de análisis de GNSS)

Figura 2: Panel de control de análisis de GNSS

Representaciones interactivas del análisis de GNSS

La app de análisis de GNSS proporciona representaciones interactivas organizadas en radiofrecuencia (RF), relojes y columnas de mediciones, como se muestra en la figura 3.

Representaciones interactivas del análisis de GNSS)

Figura 3: App de análisis de GNSS que muestra representaciones interactivas.

En la columna RF, se muestran los siguientes datos:

  • Para cada constelación, los cuatro satélites con las señales más potentes.
  • Para cada satélite, la representación de tiempo del proveedor en relación con la densidad de ruido (C/No).
  • La representación de las posiciones satelitales.

En la columna de reloj, se muestran los siguientes datos:

  • Los pseudorrangos
  • La frecuencia de desplazamiento del reloj del receptor, que se calcula mediante una de las siguientes posiciones de referencia:

    • Posición media calculada automáticamente
    • Latitud, longitud y altitud ingresadas por el usuario
    • Archivo de la Asociación Nacional de Electrónica Marina (NMEA) con referencia de verdad PVT.
  • El desplazamiento del reloj en espera que conserva el tiempo cuando el receptor restablece el ciclo de trabajo del oscilador principal.

La columna de mediciones muestra los siguientes datos:

  • Los resultados ponderados de posición de mínimos cuadrados obtenidos a partir de los pseudorrangos sin procesar La ponderación se realiza mediante la incertidumbre informada de cada medición, que es parte de la especificación de la API de medición sin procesar.
  • Los errores de cada pseudorrango para cada medición.
  • Los errores de cada tasa de pseudorrango para cada medición.

Informe de prueba de análisis de GNSS

El análisis de GNSS puede generar un informe de prueba, como se muestra en la figura 4, que evalúa la implementación de la API, la señal recibida, el comportamiento del reloj y la precisión de la medición. Para cada caso, la app informa si el receptor aprobó o no la prueba en función del rendimiento medido en relación con comparativas conocidas. El informe de prueba es útil para los fabricantes de dispositivos, que pueden usarlo a medida que iteran en el diseño y la implementación de dispositivos nuevos. Para generar el informe de prueba, haz clic en Crear informe.

Informe de prueba de análisis de GNSS

Figura 4: Informe de prueba de análisis de GNSS

La pestaña Compare proporciona una comparación en paralelo, que se muestra en la figura 5, con C/No de varios archivos de registro de GNSS, lo que es útil cuando se compara el rendimiento de la RF de varios dispositivos.

Comparación de datos C/No

Figura 5: Comparación de datos C/No de varios archivos de registro

¿Te interesa el código fuente? El Proyecto de la herramienta de medición de GPS proporciona un ejemplo de código abierto de MATLAB que puedes usar para realizar las siguientes acciones con señales de constelación de GPS:

  • Consulta los datos capturados con la app de muestra de GNSS Logger.
  • Computa y visualiza pseudorrangos.
  • Calcula la posición y la velocidad de los mínimos cuadrados ponderados.
  • Visualiza y analiza la fase del proveedor.

Notas de la versión de la app de análisis de GNSS v4.6.0.1

La versión 4.6.0.1 de la app de análisis de GNSS incluye las siguientes actualizaciones:

  • Se compiló GnssAnalysisTool en Matlab R2022a, lo que brinda acceso a nuevas funciones:
  • La ventana de estado se desplaza automáticamente: El último mensaje de estado siempre está visible.
  • Se agregó una tabla de comparaciones de C/N0, por constelación, y comparando L1 con L5.
  • Se agregó el trazado residual de la tasa de pseudorrango.
  • Se quitaron las pestañas separadas de Reference PVT Stationary o Moving para que sea más fácil ver qué tipo de PVT de referencia se seleccionó.
  • Se movieron los resultados de "Crear informe" de HTML a la ventana de estado.
  • Se quitó la pestaña de Planificador de misiones. Utilice gnssmissionplanning.com/ o www.gnssplanning.com/.
  • Se realizaron correcciones relacionadas con el análisis del archivo de observación de RINEX.
  • Recurre a la fuente de efímeras del CDDIS de la NASA para el GPS y el GLO, cuando BKG no funcione.
  • Cambiar de igs.bkg.bund.de a igs-ftp.bkg.bund.de
  • No salga del análisis si falla la descarga de las efímeras de GAL, QZSS o BDS.
  • Crear el análisis Antenna CNo, incluso si el chipset no admite BaseBandCNo

Manual de instalación y del usuario.

Envía comentarios

Queremos mejorar la compatibilidad con GNSS en Android. Infórmanos sobre cualquier problema relacionado con la compatibilidad de GNSS en Android con la herramienta de seguimiento de errores de GNSS. Comprueba si tu problema ya se menciona en las Preguntas frecuentes antes de publicarlo.

Si usaste las herramientas de análisis de GNSS, responde una breve encuesta para proporcionar comentarios. Si tienes otras preguntas o una solicitud de asistencia, consulta Recursos de asistencia para desarrolladores.

Puedes encontrar respuestas a las preguntas frecuentes en las Preguntas frecuentes sobre las herramientas de análisis de GNSS.