El marco de trabajo de Android proporciona acceso a mediciones GNSS sin procesar en varios dispositivos Android.
En este artículo, se enumeran los dispositivos Android que admiten mediciones de GNSS sin procesar y herramientas para registrar y analizar datos de GNSS. Puedes encontrar las herramientas en el repositorio de herramientas de medición de GPS en GitHub, que incluye el APK de registro de GNSS; la app de análisis de GNSS para Linux, Windows y macOS; y el Manual de instalación y del usuario.
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.
Dispositivos Android que admiten mediciones GNSS sin procesar
Antes de obtener cualquier salida de GNSS sin procesar, debes asegurarte de tener un dispositivo que pueda capturar esos datos. La mayoría de los dispositivos fabricados a partir de 2016 y enviados con Android 7.0 o una versión posterior proporcionan datos GNSS sin procesar.
Según el dispositivo, las mediciones de GNSS sin procesar pueden incluir la totalidad o algunos de los siguientes datos:
- Pseudorrango y velocidad de pseudorrango
- Mensajes de navegación
- Rango o proveedor delta acumulado
- Reloj de hardware (HW)
En la siguiente tabla, se enumeran los dispositivos que admiten mediciones GNSS sin procesar y los datos que proporcionan. Esta no es una lista completa. Para confirmar si un dispositivo específico admite mediciones GNSS sin procesar, comunícate con el fabricante.
Modelo | Versión de Android | AGC | Mensajes de navegación | ADR (fase del proveedor) | L5 | Sistemas globales |
---|---|---|---|---|---|---|
Xiaomi Mi 9 | 9.0 | sí | no | no | sí | GPS GLOGALBDSQZS |
Samsung Galaxy Note 10+ | 9.0 | sí | no | no | sí | GPS GLOGAL |
Samsung Galaxy Note 10 | 9.0 | sí | no | no | sí | GPS GLOGAL |
Samsung Galaxy S10e | 9.0 | sí | no | no | no | GPS GLOGAL |
Samsung Galaxy S10+ | 9.0 | sí | no | no | no | GPS GLO |
Samsung Galaxy S10 | 9.0 | sí | no | no | no | GPS GLOGAL |
Huawei P30 Pro | 9.0 | no | no | sí | sí | GPS GLOGALBDS |
LG G8 ThinQ | 9.0 | sí | no | no | no | GPS GLOGAL |
One Plus 7 Pro | 9.0 | sí | no | no | sí | GPS GLOGAL |
One Plus 7 | 9.0 | sí | no | no | sí | GPS GLOGAL |
Huawei Mate 20 X | 9.0 | no | sí | sí | sí | GPS GLOGALQZS |
Huawei Mate 20 RS (diseño Porsche) | 9.0 | no | no | sí | sí | GPS GLOGALBDS |
Huawei Mate 20 Pro | 9.0 | no | no | sí | sí | GPS GLOGALBDS |
Huawei Mate 20 | 9.0 | no | no | sí | sí | GPS GLOGALBDS |
Huawei Mate RS (diseño Porsche) | 8.1 | no | sí | sí | no | GPS GLOGAL |
Pixel 3 XL | 9.0 | sí | no | no | no | GPS GLOGALBDS |
Pixel 3 | 9.0 | sí | no | no | no | GPS GLOGALBDS |
Vivo X21 | 9.0 | no | no | no | no | GPS GLOBDS |
OPPO R15 Pro | 9.0 | no | no | no | no | GPS GLOGALBDS |
Xiaomi Mi 8 | 8.1 | no | sí | sí | sí | GPS GLOGALBDSQZS |
LG V40 ThinQ | 8.1 | no | no | no | no | GPS GLOGALQZS |
OnePlust 6T | 9.0 | no | no | no | no | GPS GLOGALQZS |
Samsung Note 9 | 8.1 | no | no | no | no | GPS GLOGALQZSSBAS |
LG G7 ThinQ | 8.0 | no | no | no | no | GPS GLO |
Xiaomi Mix 2S | 9.0 | no | no | no | no | GPS GLOGALSBAS |
Huawei P20 | 8.1 | no | sí | sí | no | GPS GLOQZS |
Samsung Galaxy S9 (Exynos)1 | 8.0 | no | sí | sí | no | GPS GLOGALQZS |
Samsung Galaxy S9+ | 8.0 | no | no | no | no | GPS GLOGAL |
Sony Xperia XZ2 | 8.0 | no | no | no | no | GPS GLOGALQZS |
OPPO R15 | 9.0 | no | no | no | no | GPS GLOGALBDS |
HTC U11 Plus | 8.0 | no | no | no | no | GPS GLO |
HTC U11 Life | 8.0 | no | no | no | no | GPS GLO |
Huawei Mate 10 | 8.0 | no | sí | sí | no | GPS GLO |
Huawei Mate 10Pro | 8.0 | no | sí | sí | no | GPS GLOQZS |
Google Pixel 2 XL | 8.0 | sí | no | no | no | GPS GLOGALBDSQZS |
Google Pixel 2 | 8.0 | sí | no | no | no | GPS GLOGALBDSQZS |
Sony Xperia XZ1 | 8.0 | no | no | no | no | GPS GLOGALBDS |
Samsung Note 8 (Exynos) | 7.1 | no | sí | sí | no | GPS GLOGALBDS |
Samsung Note 8 (QCOM) | 7.1 | no | no | no | no | GPS GLOGALBDS |
LG V30 | 7.1.2 | no | no | no | no | GPS GLOGAL |
Moto X4 2017 | 7.1 | no | no | no | no | GPS GLO GAL |
Essential PH-1 | 7.1 | no | no | no | no | GPS GLO |
Moto Z2 | 7.1 | no | no | no | no | GPS GLO |
HTC U11 | 7.1 | no | no | no | no | GPS GLO |
OPPO R11 | 7.1 | no | no | no | no | GPS GLOGALBDS |
Huawei Honor 9 | 7.0 | no | sí | sí | no | GPS GLO |
Samsung S8 (Exynos)2 | 7.0 | no | sí | sí | no | GPS GLOGALBDSQZS |
Samsung S8 (QCOM)3 | 7.0 | no | no | no | no | GPS |
Huawei P10 | 7.0 | no | sí | sí | no | GPS GLOGALBDSQZS |
Huawei P10 Lite | 7.0 | no | no | no | no | GPS |
Huawei Honor 8 | 7.0 | no | sí | sí | no | GPS GLOBDS |
Huawei Mate 9 | 7.0 | no | sí | sí | no | GPS GLOBDS |
Huawei P9 | 7.0 | no | sí | sí | no | GPS GLOBDS |
Google Pixel XL | 7.0 | no | no | no | no | GPS |
Google Pixel | 7.0 | no | no | no | no | GPS |
Nexus 6P4 | 7.0 | no | no | no | no | GPS |
Nexus 5X4 | 7.0 | no | no | no | no | GPS |
Nexus 9 (versión no celular)5 | 7.1 | no | sí | sí | no | GPS GLO |
1 Dispositivos Exynos, EMEA, modelos G960F o G965F
2 Dispositivos Exynos, EMEA, modelos G950F o G955F
3 Dispositivos QCOM, EE.UU., modelos G950U o G955U
4 Las mediciones sin procesar solo se proporcionan cuando hay una posición GPS disponible.
5 Sin ciclo programado. Funciona solo en la versión no celular de Nexus 9.
Para obtener más información sobre los datos proporcionados por un dispositivo, consulta Sistemas de navegación global por satélite.
Cómo registrar mediciones sin procesar
Puedes usar Android Studio para compilar una app que capture mediciones GNSS sin procesar y las registre en un archivo. El proyecto Herramientas de medición GPS incluye GNSS Logger, una app de muestra que muestra cómo registrar datos relacionados con la ubicación de Android, incluidas las mediciones sin procesar de GNSS.
Descarga el APK de GNSS Logger para instalar la app de muestra en tu dispositivo.
Para obtener una salida GNSS con la aplicación de muestra, el dispositivo debe admitir mediciones GNSS sin procesar. Para obtener más información, consulta Dispositivos Android que admiten 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.
Para examinar el código fuente de muestra, consulta la carpeta GNSSLogger
en el repositorio Herramientas de medición de GPS en GitHub.
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, o descargar el Manual de instalación y del usuario.
Figura 1: GNSS Logger recopila las mediciones que pueden ser consumidas por el análisis GNSS
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, le permite administrar características 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.
)
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.
)
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 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.
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.
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 v3.0.3.0
La aplicación de análisis de GNSS versión 3.0.3.0 incluye las siguientes actualizaciones:
- Se agregaron representaciones:
- Posición del filtro Kalman de WLS PVT
- Posición relativa de WLS desde ADR (fase de proveedor)
- Residual de diferencia única de ADR (fase de proveedor)
- Se agregó la actualización de posiciones para regenerar representaciones de posición según los satélites seleccionados.
- Se agregó el control de máscara de elevación.
- La descarga optimizada de archivos de efemérides utiliza la descompresión nativa dentro del entorno de ejecución de Matlab para todos los archivos ZIP BKG *.gz.
- Se agregó la posición del dispositivo como opción para el PVT de referencia.
- Se agregó la capacidad
CustomDataFilter.m
, que filtra en cualquiera de los valores de encabezado sin formato #.
Cómo enviar comentarios
Queremos mejorar la compatibilidad con GNSS en Android. Infórmanos sobre cualquier problema de compatibilidad de GNSS en Android mediante el 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 Preguntas frecuentes sobre las herramientas de análisis de GNSS.