El framework de Android proporciona acceso a las mediciones de 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 los ejecutables de la app de escritorio de GNSS Analysis para Linux, Windows y macOS. Manual de instalación y de instrucciones.
Google Smartphone Decimeter Challenge
Google, la división de satélites del Institute of Navigation y Kaggle patrocinan el 3er Smartphone Decimeter Challenge en ION GNSS+. La competencia comienza el 12 de septiembre de 2023 y finaliza el 23 de mayo de 2024. Se pondrán a disposición del público más de 150 registros nuevos que contienen mediciones de GNSS sin procesar, datos de sensores y una verdad fundamental precisa. La participación en la competencia está abierta a todo el mundo. Se invita a los participantes a enviar 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 las mediciones de 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 de 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 mediciones 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.
- Es el valor del control automático de ganancia (AGC).
- Rango delta acumulado (ADR) o fase de la portadora.
- Compatibilidad con varias frecuencias
La mayoría de los teléfonos insignia de Pixel, Motorola, Samsung, Xiaomi, OnePlus y otros fabricantes importantes ya admiten las frecuencias L1 y L5. Los teléfonos insignia de Pixel, así como otros teléfonos insignia de los principales fabricantes de teléfonos que no usan chipsets Qualcomm Snapdragon, proporcionan ADR (fase de portadora) como parte de las mediciones sin procesar.
En el artículo "Crowdsourcing GNSS features of Android devices", se hace referencia a una base de datos de funciones de GNSS aportadas por la comunidad de diferentes dispositivos Android.
Para obtener más información sobre las definiciones de los campos de mediciones sin procesar que proporcionan los dispositivos Android, consulta Sistemas globales de navegación 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 compensació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 exactitud.
Cuando uses GnssAntennaInfo, ten en cuenta los siguientes comportamientos del sistema. Están diseñadas para mejorar la privacidad del usuario.
- Las características que proporciona esta API solo son específicas del modelo de 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 app de este tipo, consulta Herramientas de medición de GPS.
GNSSLogger de Google 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 de GNSS con GNSS Logger, puedes copiar los archivos de registro del dispositivo a tu computadora para realizar un análisis más detallado. Desde el registrador de GNSS, puedes enviarte los archivos por correo electrónico o guardarlos en Google Drive. Como alternativa, puedes guardar los archivos con la app de administración de archivos del dispositivo o usar Android Debug Bridge (ADB), como se explica en Cómo copiar archivos hacia o desde un dispositivo.
Cómo analizar mediciones sin procesar
La app de GNSS Analysis lee las mediciones sin procesar de GPS/GNSS que recopila GNSS Logger y las usa para analizar el comportamiento del receptor de GNSS, como se muestra en la figura 1.
Puedes descargar la app para sistemas Linux, Windows y macOS.

Figura 1: GNSS Logger recopila las mediciones que puede consumir GNSS Analysis.
La app de GNSS Analysis se basa en MATLAB, pero no es necesario que tengas MATLAB para ejecutarla. La app se compila en un ejecutable que instala una copia de MATLAB Runtime.
Panel de control de análisis de GNSS
El panel de control de GNSS Analysis, que se muestra en la figura 2, te permite administrar las funciones de la app, como las siguientes:
- Selecciona los satélites que se mostrarán.
- Controla la posición, la velocidad y el tiempo (PVT) de referencia que se usan 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.
)
Figura 2: Panel de control de análisis de GNSS
Representaciones interactivas del análisis de GNSS
La app de GNSS Analysis proporciona gráficos interactivos organizados en columnas de radiofrecuencia (RF), relojes y mediciones, como se muestra en la figura 3.
)
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
Es la frecuencia de compensación 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 National Marine Electronics Association (NMEA) con PVT de referencia de verdad.
Es el desplazamiento del reloj en espera que mantiene la hora cuando el receptor restablece el ciclo de trabajo del oscilador principal.
La columna de mediciones muestra los siguientes datos:
- Son los resultados de la posición de mínimos cuadrados ponderados obtenidos de las pseudodistancias sin procesar. La ponderación se realiza con la incertidumbre informada de cada medición, que forma 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
GNSS Analysis 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 exactitud de la medición. En cada caso, la app informa si el receptor aprobó o reprobó la prueba según el rendimiento medido en comparación con las comparativas conocidas. El informe de la 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.

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, de la C/No de varios archivos de registro de GNSS, lo que resulta útil cuando se compara el rendimiento de RF de varios dispositivos.

Figura 5: Comparación en paralelo de datos de C/No de varios archivos de registro
¿Te interesa el código fuente? El proyecto de herramienta de medición de GPS proporciona un ejemplo de MATLAB de código abierto 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 4.6.0.1 de la app de GNSS Analysis
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 brinda acceso 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 de L1 con L5.
- Se agregó un gráfico de residuos de la tasa de pseudodistancia.
- Se quitaron las pestañas separadas para PVT de referencia estática o en movimiento, lo que facilita 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 Mission Planner. Usa gnssmissionplanning.com/ o www.gnssplanning.com/.
- Se corrigieron errores relacionados con el análisis de archivos de observación RINEX.
- Se recurre a la fuente de efemérides de CDDIS de la NASA para GPS y GLO cuando BKG no funciona.
- Cambio 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 de instrucciones.
Enviar comentarios
Queremos mejorar la compatibilidad con GNSS en Android. Si tienes algún problema con la compatibilidad con GNSS en Android, infórmanoslo a través de 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 GNSS Analysis, responde una breve encuesta para darnos tu opinión. Si tienes otras preguntas o una solicitud de asistencia, consulta los recursos de asistencia para desarrolladores.
Puedes encontrar respuestas a preguntas frecuentes en las Preguntas frecuentes sobre las herramientas de análisis de GNSS.