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 en GitHub, que incluye el código fuente de una versión preliminar de GnssLogger y ejecutables para la app de escritorio de análisis de GNSS para Linux, Windows y macOS. Manual de instalación y usuario

Desafío de decímetros para smartphones de Google

Google, la División de Satélites del Institute of Navigation y Kaggle patrocinan el 3ᵉʳ Desafío de Decímetros para Smartphones en ION GNSS+. La competencia comienza el 12 de septiembre de 2023 y finaliza el 23 de mayo de 2024. Más de 150 nuevos registros que contienen mediciones GNSS sin procesar, datos de sensores y verdad fundamental precisa estarán disponibles públicamente. La participación en la competencia está abierta a todas las personas. Se recomienda a los participantes que envíen un resumen para la sesión titulada "Smartphone Decimeter Challenge", que se llevará a cabo en 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 con las mediciones GNSS sin procesar es obligatoria en todos los dispositivos Android que contengan hardware del 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 control automático de ganancia (AGC).
  • Es el rango delta acumulado (ADR) o la fase del proveedor.
  • Compatibilidad con varias frecuencias

La mayoría de los teléfonos insignia de Pixel, Motorola, Samsung, Xiaomi, OnePlus y otros fabricantes importantes de teléfonos ya admiten las frecuencias L1 y L5. Los teléfonos Pixel insignia, así como otros teléfonos insignia de los principales fabricantes que no usan chipsets Qualcomm Snapdragon, proporcionan ADR (fase de la portadora) como parte de las mediciones sin procesar.

En el artículo "Colaboración colectiva para las funciones de GNSS de dispositivos Android", se hace referencia a una base de datos de las capacidades de GNSS de diferentes dispositivos Android aportadas por la comunidad.

Para obtener más información sobre las definiciones de los campos de mediciones sin procesar que proporcionan los dispositivos Android, consulta Sistemas de navegación global por satélite.

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 variación del centro de fase (PCO), las correcciones de variación del centro de fase (PCV) y las correcciones de ganancia de señal. Estas correcciones se pueden aplicar a las mediciones sin procesar para mejorar la precisión.

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 solo 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 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 app de este tipo, consulta Herramientas de medición de GPS.

Google GNSSLogger es una app de ejemplo que se desarrolló con esta funcionalidad. Para obtener una salida GNSS con la app de ejemplo, el dispositivo debe admitir mediciones GNSS sin procesar.

Una vez que hayas capturado el registro GNSS con GNSS Logger, podrás copiar los archivos de registro del dispositivo en tu computadora para realizar un análisis más detallado. Desde GNSS Logger, puedes enviarte los archivos por correo electrónico o guardarlos en Google Drive. También 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 de GPS/GNSS sin procesar recopiladas por GNSS Logger y las utiliza para analizar el comportamiento del receptor GNSS, como se muestra en la figura 1.

Puedes descargar la app para los sistemas 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 GNSS Analysis está integrada en MATLAB, pero no necesitas MATLAB para ejecutarla. La app se compila en un ejecutable que instala una copia del tiempo 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 medidas, 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 con 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
  • Es el desplazamiento del reloj en espera que conserva el tiempo cuando el receptor restablece el ciclo de trabajo del oscilador primario.

La columna de mediciones muestra los siguientes datos:

  • Los resultados de posición ponderada de mínimos cuadrados obtenidos a partir de los pseudorrangos sin procesar La ponderación se realiza sobre la base de 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 comparació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 nuevos dispositivos. 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 GNSS, lo cual es útil cuando se compara el rendimiento de 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 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 GNSS Analysis incluye las siguientes actualizaciones:

  • Se compiló GnssAnalysisTool en Matlab R2022a, lo que permite acceder a nuevas funciones:
  • La ventana de estado se desplaza automáticamente: El mensaje de estado más reciente siempre está visible.
  • Se agregó una tabla de comparaciones de C/N0 por constelación y se compararon L1 y L5.
  • Se agregó el gráfico de residuos de la velocidad del pseudorrango.
  • Se quitaron las pestañas separadas para PVT de referencia estacionario o en movimiento, lo que facilita ver qué tipo de PVT de referencia se seleccionó.
  • Se trasladaron los resultados de "Crear informe" de HTML a la ventana de estado.
  • Se quitó la pestaña Mission Planner. Usa gnssmissionplanning.com o www.gnssplanning.com.
  • Se corrigieron problemas relacionados con el análisis de archivos de observación RINEX.
  • Se recurre a la fuente de efemérides del CDDIS de la NASA para GPS y GLO cuando BKG no funciona.
  • Migración de igs.bkg.bund.de a igs-ftp.bkg.bund.de
  • No salgas del análisis si falla la descarga de efemérides de GAL, QZSS o BDS.
  • Crea un análisis de CNo de la antena, incluso si el chipset no admite BaseBandCNo

Manual de instalación y usuario

Envía comentarios

Queremos mejorar la compatibilidad con GNSS en Android. Infórmanos sobre cualquier problema de compatibilidad de GNSS en Android a través del seguimiento de problemas de GNSS. Comprueba si tu problema ya se menciona en las Preguntas frecuentes antes de publicarlo.

Si usaste las herramientas de análisis GNSS, envía tus comentarios respondiendo una breve encuesta. Si tienes otras preguntas o una solicitud de asistencia, consulta Recursos de asistencia para desarrolladores.

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