A fondo con GNSS

Cómo funciona el GNSS sin procesar en Android y por qué SIMT desarrolla su propio motor de posicionamiento

Tu teléfono recibe cada segundo señales de temporización de decenas de satélites. Casi ninguna aplicación utiliza esos datos. SIMT sí: construye un motor de posicionamiento completo a partir de mediciones sin procesar, fase portadora, efemérides transmitidas y modelos atmosféricos para superar ampliamente la precisión del GPS estándar.

  • Publicada:
  • Actualizada:
  • 24 min de lectura
Cuatro satélites de navegación envían mediciones sin procesar al motor de posicionamiento de SIMT.

Resumen rápido

  1. Android permite acceder a mediciones GNSS sin procesar desde la API 24, pero casi ninguna aplicación las utiliza porque convertir señales brutas en una posición exige física orbital, modelado atmosférico y métodos numéricos.
  2. SIMT implementa una cadena completa de posicionamiento: cálculo de pseudodistancias, suavizado mediante fase portadora, decodificación de efemérides transmitidas, correcciones ionosféricas y troposféricas, mínimos cuadrados ponderados, comprobación de integridad RAIM y filtrado de Kalman.
  3. La cadena admite simultáneamente GPS, Galileo, GLONASS, BeiDou y SBAS (WAAS/EGNOS). En teléfonos de doble banda (L1+L5), la combinación libre de ionosfera elimina directamente en el hardware la mayor fuente de error, por lo que SIMT reserva SBAS para dispositivos de una sola frecuencia, donde sigue aportando valor.
  4. Este artículo explica cada paso con lenguaje claro y muestra por qué importa a quien necesite un posicionamiento mejor que el de una aplicación de mapas estándar.

Tu teléfono ya escucha los satélites

Ahora mismo, mientras lees esto, tu teléfono recibe señales de radio de al menos una docena de satélites que orbitan a unos 20.000 kilómetros sobre tu cabeza. Pertenecen a constelaciones operadas por distintos países y regiones: GPS por Estados Unidos, Galileo por la Unión Europea, GLONASS por Rusia, BeiDou por China, QZSS por Japón y NavIC por India. Cada satélite emite una señal temporizada con precisión que viaja a la velocidad de la luz. El teléfono la capta, mide cuánto ha tardado en llegar y utiliza ese retardo para estimar la distancia al satélite.

Esa distancia estimada se denomina pseudodistancia. El prefijo «pseudo» indica que no es una distancia geométrica pura: incluye errores del reloj del satélite, del receptor, de la atmósfera y de la propia trayectoria de la señal. Con las pseudodistancias de al menos cuatro satélites, un dispositivo puede calcular tres coordenadas espaciales y un desfase de reloj. Ese es el principio fundamental de la navegación por satélite. Desde 2016, Android ofrece estas mediciones temporales sin procesar a cualquier aplicación que las solicite.

¿Cuál es el inconveniente? Casi ninguna aplicación utiliza realmente estos datos. Lo habitual es dejar que el chipset GNSS integrado de Android calcule la posición y entregue a la aplicación la latitud, la longitud y una estimación de precisión: una caja negra suficiente para la navegación paso a paso. Pero «suficiente» significa aquí un margen de precisión de tres a diez metros que oculta lo que las señales sin procesar pueden revelar.

Del tiempo a la distancia: cómo nacen las pseudodistancias

Cuando un satélite transmite su señal, codifica el instante exacto de emisión. El teléfono registra el instante exacto de recepción. La diferencia entre ambas marcas de tiempo, multiplicada por la velocidad de la luz, da una distancia. En términos de Android, esto implica leer campos con precisión de nanosegundos del reloj GNSS y compararlos con el tiempo de transmisión de cada satélite.

Pero la palabra «exacto» soporta mucho peso. El satélite tiene un reloj atómico preciso hasta unos pocos nanosegundos; el teléfono, un oscilador de cuarzo que puede desviarse microsegundos. Un solo microsegundo de error equivale a unos 300 metros de error de distancia, porque la luz recorre 300 metros en un microsegundo. Por eso el desfase del reloj del receptor debe estimarse junto con la posición en cada época de solución.

Hay más sutilezas. Cada constelación usa una referencia temporal distinta. GPS funciona con GPS Time; GLONASS usa UTC con ajustes de segundos intercalares y otro ciclo diario; Galileo usa Galileo System Time; BeiDou tiene su propia época; y sistemas regionales como QZSS y NavIC mantienen escalas alineadas con GPS Time, pero con términos de desfase independientes. Al combinar satélites de varias constelaciones en una solución, hace falta un término de sesgo de reloj para cada una: el sesgo entre sistemas o ISB. Un solucionador que ignore ISB producirá una posición razonable en apariencia, pero silenciosamente errónea por varios metros.

Saber dónde están los satélites

Ilustración de un diagrama celeste con satélites de varias constelaciones según elevación y acimut dentro de anillos de brújula
El cielo visto por el solucionador: satélites por elevación y acimut sobre el receptor.

Una pseudodistancia indica a qué distancia está un satélite. Para utilizarla también necesitas saber dónde se encontraba al transmitir la señal. Los satélites no están quietos: orbitan la Tierra a unos 14.000 kilómetros por hora. Sus posiciones se describen mediante parámetros orbitales llamados efemérides, que cada satélite transmite como parte de su mensaje de navegación.

En GPS, Galileo, BeiDou, QZSS y NavIC, las efemérides usan elementos orbitales keplerianos: seis parámetros que describen la forma, inclinación y orientación de la órbita, más términos de corrección para perturbaciones causadas por la gravedad desigual de la Tierra, la presión de radiación solar y las fuerzas de marea. Con esos parámetros y un instante se calcula la posición del satélite en coordenadas centradas en la Tierra mediante ecuaciones definidas en el documento de control de interfaz del sistema.

GLONASS es distinto. No transmite elementos keplerianos, sino posición, velocidad y aceleración del satélite en un tiempo de referencia. El receptor debe propagar la órbita por integración numérica, concretamente con un método Runge-Kutta de cuarto orden que considera los armónicos gravitatorios terrestres y la atracción del Sol y la Luna. Es más costoso que el enfoque kepleriano cerrado, pero necesario porque así se especifican las órbitas GLONASS.

Sigue leyendo Si te fascina saber dónde están los satélites en órbita, SIMT también puede orientarte hacia satélites concretos y la ISS cuando pasa sobre ti.Cómo seguir satélites con SIMT: orienta una antena y localiza la ISS Tanto si quieres orientar una antena parabólica como ver pasar la ISS, SIMT traduce la posición de cualquier satélite en una dirección concreta. Introduce un TLE y la aplicación calculará en el dispositivo el azimut, la elevación y la distancia en tiempo real; después te guiará con la brújula y la realidad aumentada de Iris, incluso sin cobertura.

La atmósfera lo desvía todo

La señal no viaja por el vacío hasta el teléfono. Atraviesa dos capas atmosféricas que la ralentizan y desvían su trayectoria. Para calcular bien la distancia hay que corregir los efectos de ambas.

La primera es la ionosfera, una región situada aproximadamente entre 60 y 1.000 kilómetros de altura donde la radiación solar arranca electrones de las moléculas de gas. Estos electrones libres ralentizan la señal GNSS en función de su frecuencia y de la densidad electrónica a lo largo del recorrido. En un día tranquilo, el retardo ionosférico añade entre 5 y 15 metros de distancia aparente; durante una tormenta solar puede superar los 100 metros.

En receptores de una frecuencia, el retardo ionosférico debe estimarse mediante un modelo. El más común es Klobuchar, que usa ocho coeficientes transmitidos para aproximarlo como una función de medio coseno de la hora local y corrige alrededor del 50 al 60 por ciento del retardo real. Galileo especifica un modelo más sofisticado, NeQuick-G, que representa el perfil 3D de densidad electrónica e integra a lo largo de la señal; pero implementarlo fielmente requiere mapas de coeficientes CCIR de ITU y una cuadrícula modified-dip-latitude, datos que la mayoría de receptores no incluye. SIMT usa deliberadamente Klobuchar, escalado a la frecuencia portadora real de cada señal, para correcciones de una frecuencia en vez de distribuir una aproximación bajo el nombre NeQuick. Con observaciones de doble frecuencia, como L1 y L5, se puede formar una combinación libre de ionosfera que elimina por completo el retardo de primer orden sin modelo.

La segunda capa es la troposfera, los 12 kilómetros inferiores de la atmósfera, donde se producen los fenómenos meteorológicos. Retrasa la señal unos 2,3 metros en el cenit y hasta 25 metros con ángulos de elevación bajos, porque cerca del horizonte la señal atraviesa más atmósfera. A diferencia del retardo ionosférico, no depende de la frecuencia y no puede eliminarse mediante observaciones de doble frecuencia. Se modela a partir de la presión, la temperatura y la humedad en la superficie. Un método habitual combina el modelo Saastamoinen para el retardo cenital con la función de mapeo Niell, que lo adapta a la elevación real del satélite.

Más correcciones de las que imaginas

Las correcciones atmosféricas son las mayores fuentes de error, pero no las únicas. Un motor preciso también debe corregir varios efectos menores pero significativos.

  • Error del reloj satelital: los relojes atómicos aún derivan ligeramente. Las efemérides transmitidas incluyen coeficientes polinómicos para corregir el desfase y un término relativista causado por la órbita elíptica.
  • Rotación terrestre (efecto Sagnac): mientras la señal viaja, la Tierra gira debajo. En unos 70 milisegundos de tránsito, desplaza el receptor unos 30 metros respecto de las coordenadas transmitidas. La corrección requiere conocer las posiciones del satélite y del receptor.
  • Efectos relativistas (retardo Shapiro): la señal atraviesa el pozo de potencial gravitatorio terrestre, que curva levemente el espacio-tiempo y añade un pequeño retardo, normalmente de pocos centímetros.
  • Sesgo diferencial de código: al combinar frecuencias, el hardware del satélite y receptor introduce un pequeño desfase sistemático entre códigos. Debe considerarse al formar combinaciones libres de ionosfera.

Cada corrección es pequeña por separado, pero los errores de posicionamiento son acumulativos y geométricos. Un sesgo sin corregir de dos metros en un satélite puede propagarse por la matriz geométrica y desplazar la posición calculada cinco metros o más, según su dirección.

SBAS: aumentación desde la órbita geoestacionaria

Entre las correcciones solo transmitidas ya descritas y los productos precisos enviados por internet que veremos después existe una capa intermedia que llega directamente del espacio: SBAS, el sistema de aumentación basado en satélites.

SBAS agrupa sistemas regionales que usan satélites geoestacionarios para emitir correcciones en tiempo real e información de integridad para GPS y otras constelaciones GNSS. WAAS cubre Norteamérica; EGNOS, Europa; MSAS, Japón; GAGAN, India; y SDCM, Rusia. Cada sistema opera una red de estaciones terrestres precisamente levantadas que vigilan GPS, calculan correcciones y las enlazan a satélites GEO para retransmitirlas en GPS L1. Cualquier receptor que siga GPS L1 puede recibirlas gratis, sin internet.

SBAS emite varios tipos de corrección en mensajes de 250 bits, uno por segundo. Las correcciones rápidas (tipos 2 a 5 y 24) proporcionan correcciones de pseudodistancia actualizadas rápidamente para cada satélite GPS vigilado y compensan errores de reloj cambiantes. Las de largo plazo (tipo 25) aportan desfases de órbita y reloj más lentos que refinan las efemérides transmitidas. Juntas reducen el presupuesto de error orbital y de reloj desde metros hasta bastante menos de un metro.

SBAS también emite correcciones ionosféricas en una cuadrícula geográfica (tipos 18 y 26). En lugar del sencillo medio coseno de Klobuchar, ofrece retardos verticales medidos en puntos de la zona de servicio; el receptor interpola el retardo donde la señal atraviesa la ionosfera. SIMT no usa estos mensajes por diseño: en hardware de doble banda, L1/L5 ya elimina el retardo sin datos externos, y en dispositivos de una banda lo cubre Klobuchar. SBAS aporta valor real en las correcciones rápidas de reloj, los desfases de órbita y reloj a largo plazo y la medición de distancia GEO; SIMT aplica los tres en dispositivos de una frecuencia.

Además, los propios satélites SBAS GEO pueden ser fuentes adicionales de distancia. Cada uno transmite sus efemérides (tipo 9) como posición, velocidad y aceleración ECEF en un instante de referencia. El receptor propaga la posición GEO mediante una expansión de Taylor de segundo orden, más simple que el modelo kepleriano de GPS y adecuada para órbitas geoestacionarias de cambio lento. Añadir distancias GEO mejora la geometría, sobre todo en latitudes bajas, donde estos satélites aparecen altos en el cielo.

Fase portadora: la señal precisa que casi todas las aplicaciones ignoran

Todo lo anterior utiliza la medición de código, es decir, la pseudodistancia derivada del código de temporización de la señal. Estas mediciones son relativamente ruidosas, con una precisión de 0,5 a 3 metros en buenas condiciones. Pero la señal contiene otro componente mucho más preciso: la onda portadora.

La portadora es una onda sinusoidal continua de frecuencia conocida. En GPS L1 oscila a 1.575,42 MHz, con una longitud de onda de unos 19 centímetros. Un receptor puede seguir su fase con una precisión de pocos milímetros; por tanto, la medición de fase portadora es aproximadamente mil veces más precisa que la medición de código.

El problema es la ambigüedad. El receptor mide con gran precisión la fase fraccionaria dentro de una longitud de onda, pero desconoce cuántas longitudes completas caben entre satélite y receptor. Este entero desconocido se llama ambigüedad de fase portadora y resolverlo es uno de los problemas más difíciles de GNSS.

Incluso sin resolver el entero, la fase resulta útil. El filtrado Hatch la usa para suavizar con el tiempo la ruidosa pseudodistancia de código. En cada época mezcla el nuevo código con el cambio de fase desde la anterior. El resultado converge hacia el ruido de la fase, pero permanece anclado a la escala absoluta del código. Mejora considerablemente la precisión incluso con antenas de teléfono de consumo.

La fase portadora no siempre está disponible. Algunos chipsets GNSS ahorran energía activando y desactivando el seguimiento, lo que rompe el bloqueo continuo del que depende el filtro de Hatch. SIMT detecta esta situación y recurre al suavizado Doppler, que utiliza la tasa de variación de la distancia medida a cada satélite —el desplazamiento Doppler— para estabilizar la medición de código. El motor elige automáticamente el método adecuado según el dispositivo permita o no mediciones con seguimiento continuo, y así sigue extrayendo precisión incluso cuando el hardware limita el GNSS para ahorrar batería.

Resolver la posición: mínimos cuadrados ponderados iterativos

Con pseudodistancias corregidas de varios satélites hay que resolver la posición. La relación no es lineal: la distancia geométrica entre un punto terrestre y un satélite orbital contiene raíces cuadradas de diferencias de coordenadas. El solucionador linealiza el problema alrededor de una posición aproximada e itera.

En cada iteración calcula cuáles serían las pseudodistancias desde la posición estimada, las compara con las medidas y resuelve una corrección. Son mínimos cuadrados ponderados: cada medición recibe un peso según su calidad prevista. Satélites altos y con señal fuerte pesan más; satélites bajos en malas condiciones, menos.

El modelo de ponderación importa más de lo que parece. La señal de un satélite a 10 grados atraviesa cuatro veces más troposfera que una a 90 grados y tiene más probabilidad de rebotar en edificios. Tratar todo igual permitiría que una mala observación baja arrastrara la solución varios metros. Un buen modelo combina geometría de elevación, relación señal-ruido e incertidumbre acotada de pseudodistancia para centrarse en los datos fiables.

También importa el método numérico. Formar ecuaciones normales y resolver con descomposición Cholesky funciona con geometría fuerte. Si los satélites se agrupan, la geometría queda mal condicionada y las ecuaciones pueden amplificar errores. La descomposición QR es más estable y maneja las geometrías donde Cholesky fallaría o inflaría las incertidumbres.

Integridad y rechazo de valores atípicos

Una posición solo sirve si es fiable. La industria formaliza esa confianza como integridad: la capacidad de detectar un fallo y advertir al usuario.

La comprobación más sencilla es RAIM, la supervisión autónoma de la integridad del receptor. Cuando el solucionador converge, examina el residuo de cada satélite: la diferencia entre la pseudodistancia modelada y la medida. Un residuo demasiado grande indica que la medición probablemente está alterada por multitrayectoria, un salto de reloj o unas efemérides incorrectas, por lo que debe excluirse. La solución se repite sin ese satélite hasta que las mediciones restantes sean coherentes entre sí. SIMT afina la prueba: en lugar de comparar los residuos brutos con una distancia fija, normaliza cada uno según el ruido esperado del satélite y su influencia geométrica. A un satélite con poca elevación se le permite un residuo mayor porque suele ser más ruidoso; a una medición de gran influencia, de la que depende mucho la geometría, se le aplica un criterio más estricto. Este umbral adaptativo rechaza los verdaderos valores atípicos sin descartar satélites de poca elevación que aún resultan útiles, como haría un límite más rudimentario.

Además, el solucionador produce covarianzas que dan valores de dilución de precisión (DOP), indicadores de cuánto amplifica la geometría los errores. Un HDOP bajo significa satélites bien repartidos en acimut y buena determinación horizontal; uno alto, geometría pobre y mayor cautela. La precisión final combina estadísticas de residuos posteriores al ajuste con la geometría para ofrecer una incertidumbre realista.

Suavizado temporal: el filtro de Kalman

La solución de mínimos cuadrados de cada época es independiente y solo usa mediciones de ese instante. Pero un receptor no se teletransporta entre épocas. Un filtro de Kalman aprovecha esa continuidad manteniendo un modelo de posición y velocidad y mezclando cada solución nueva con la posición predicha por el movimiento.

El resultado es más suave y robusto que cualquier época aislada. Las pérdidas breves de medición, picos de multitrayectoria y ruido natural se absorben gracias a la memoria de dónde estabas y cómo te movías. También detecta épocas atípicas: si una nueva solución WLS discrepa enormemente de la predicción, puede marcarla en vez de aceptarla ciegamente.

Más allá de la transmisión: RTK, PPP y ambigüedades enteras

Ilustración de satélites sobre la Tierra enviando señales de distancia a un receptor luminoso
Las correcciones convierten muchas distancias ruidosas en una posición fiable.

Todo lo descrito usa correcciones transmitidas por los satélites y cualquier aumentación SBAS. Las efemérides limitan la órbita a cerca de un metro y los relojes a unos dos metros. Tras corregir la atmósfera, dominan el error. Para superar ese suelo hacen falta productos precisos externos, con dos enfoques fundamentalmente distintos.

El primero es RTK, posicionamiento cinemático en tiempo real. Utiliza una estación base cercana, situada en unas coordenadas conocidas con exactitud, que observa los mismos satélites. La base envía sus observaciones sin procesar por internet mediante NTRIP. Como la base y el receptor móvil ven los mismos satélites a través de una atmósfera casi idéntica, la mayoría de los errores se cancelan al diferenciar las mediciones. Con una base situada a entre 30 y 50 kilómetros, los errores ionosféricos, troposféricos, orbitales y de reloj prácticamente desaparecen, lo que permite alcanzar una precisión centimétrica, a menudo en cuestión de segundos.

Las bases RTK abundan en redes comunitarias. RTK2go es un caster NTRIP gratuito con miles de estaciones voluntarias. Un móvil solicita la más cercana enviando su posición aproximada y recibe observaciones RTCM3 MSM4 o MSM7 con códigos y portadoras sin procesar, además de las coordenadas de estación.

El segundo es PPP, posicionamiento puntual preciso. En vez de base cercana, aplica correcciones globales de órbita y reloj calculadas por redes mundiales. Se entregan como representación de espacio de estados (SSR): desfases radial, a lo largo y transversal de órbita más actualizaciones polinómicas de reloj por NTRIP. SSR reduce errores orbitales de metros a centímetros y de reloj de nanosegundos a décimas de nanosegundo. Funciona en todo el planeta sin base, pero suele converger más despacio que RTK.

RTK hace viable resolver ambigüedades. Las dobles diferencias base-móvil cancelan los relojes, de modo que cada ambigüedad restante es un número entero de longitudes de onda, siempre que se forme dentro de una constelación y banda, como impone SIMT al particionar. LAMBDA (Least-squares AMBiguity Decorrelation Adjustment) las resuelve: decorrelaciona la covarianza conservando toda la correlación inducida por satélites de referencia compartidos, busca la combinación entera óptima y aplica una prueba de razón frente a la segunda. Al superarla, la precisión pasa de decímetros a centímetros. En PPP las ambigüedades permanecen flotantes: resolver las no diferenciadas exige productos de sesgo de fase que los flujos SSR normales de órbita y reloj no incluyen, por lo que converge a decímetros, no centímetros.

Si las correcciones precisas no están disponibles por falta de conexión, caída de la base RTK o interrupción de PPP, la cadena retrocede con suavidad. SBAS, el suavizado de portadora, las efemérides transmitidas y los modelos atmosféricos aún ofrecen precisión métrica. Las correcciones mejoran la posición, pero el sistema nunca depende de ellas para funcionar.

Por qué casi nadie hace esto en un teléfono

Si Android ofrece mediciones GNSS sin procesar, ¿por qué no las usan más aplicaciones? Porque la distancia entre «tener mediciones» y «calcular una posición» es enorme.

  • Hay que analizar mensajes de cinco constelaciones más SBAS, cada uno con su diseño de bits, paridad y subtramas, para extraer efemérides y aumentación.
  • Hay que implementar mecánica orbital: propagación kepleriana corregida para GPS, Galileo, BeiDou y QZSS e integración numérica para GLONASS.
  • Hacen falta modelos atmosféricos: Klobuchar escalado por frecuencia, troposfera con mapeo Niell y combinación libre de ionosfera para doble frecuencia.
  • Hace falta una corrección Sagnac que requiere coordenadas del satélite y receptor, una dependencia circular resuelta iterativamente.
  • Hace falta un solucionador estable, QR en vez de ecuaciones normales ingenuas, con pesos, convergencia y sesgos entre constelaciones.
  • Hace falta integridad RAIM que identifique y excluya mediciones corruptas sin rechazar demasiado.
  • Hace falta procesar fase portadora con detección de saltos de ciclo, Hatch, estados de ambigüedad y LAMBDA sobre dobles diferencias RTK.
  • Hace falta gestionar RTK y PPP: cliente NTRIP para bases o casters SSR, tramas RTCM3 con CRC, observaciones RTK, mensajes SSR PPP, transformación orbital y almacenamiento consciente de caducidad.
  • Y todo debe ejecutarse eficientemente en un móvil, actualizando la posición cada segundo junto al resto de la aplicación.

No es un proyecto de fin de semana. Es un receptor geodésico completo implementado en software de aplicación sobre hardware pensado principalmente para llamadas y redes sociales.

Lo que SIMT construyó realmente

SIMT implementa cada paso descrito. Procesa simultáneamente mediciones de GPS, Galileo, GLONASS, BeiDou, QZSS y SBAS. Analiza mensajes transmitidos en tiempo real para extraer efemérides nuevas, verificando la paridad o código de bloque de cada palabra antes de confiar en ella porque los chipsets suelen omitir esa certificación, incluidos mensajes SBAS de corrección rápida y de órbita y reloj a largo plazo. Calcula posiciones con propagación kepleriana, integración RK4 para GLONASS y Taylor para SBAS GEO. Aplica por satélite y época correcciones ionosféricas, troposféricas, relativistas, de rotación terrestre (Sagnac) y reloj. Para acortar el primer posicionamiento puede descargar efemérides transmitidas por red (GNSS asistido o A-GNSS) mientras decodifica en vivo y conserva órbitas válidas durante horas, de modo que tras ver el cielo sigue funcionando sin conexión.

El solucionador usa mínimos cuadrados ponderados QR por elevación, señal e incertidumbre, estima sesgos entre sistemas y ejecuta RAIM de residuos normalizados tras cada solución, ponderando por ruido esperado e influencia geométrica. Pasa posiciones convergentes a un Kalman de velocidad constante con puerta de innovación Mahalanobis, que continúa ante saltos inverosímiles en vez de adoptarlos. Aplica Hatch con detección de saltos de ciclo y cambia a Doppler si el chipset alterna seguimiento. En RTK resuelve con LAMBDA los enteros de dobles diferencias base-móvil, particionados por constelación y banda para que sean verdaderos enteros, llevando al proceso la correlación inducida por la referencia compartida, e informa precisión realizada según residuos, no una teoría optimista.

Cuando el dispositivo está conectado, el motor puede funcionar en dos modos de corrección precisa. En modo RTK, se conecta por NTRIP a una estación base cercana; de forma predeterminada usa el caster comunitario RTK2go, que selecciona automáticamente la base más próxima, y recibe datos RTCM3 en el espacio de observación, incluidas las mediciones sin procesar MSM4/MSM7 y las coordenadas de la estación. En modo PPP, se conecta al IGS Real-Time Service por NTRIP, recibe correcciones RTCM3 SSR para órbitas y relojes precisos, verifica la integridad de las tramas mediante CRC-24Q, decodifica los deltas de órbita y reloj en el marco de referencia RAC, los transforma a ECEF y los aplica satélite por satélite. El usuario puede cambiar entre RTK y PPP en los ajustes GNSS. Cuando se interrumpe la red, el sistema vuelve a conectarse con espera exponencial y recurre al posicionamiento aumentado por SBAS o basado únicamente en las señales transmitidas, sin interrupciones visibles para el usuario.

En buenas condiciones y con correcciones SSR, SIMT logra precisión inferior al metro, cerca de lo que hace pocos años solo ofrecían receptores topográficos profesionales.

Todo funciona en un teléfono Android estándar, dentro de una aplicación que también ofrece navegación con brújula, planificación de objetivos, medición mediante realidad aumentada y exploración del cielo. El motor GNSS no es un prototipo de investigación ni una herramienta de posprocesado para ordenadores, sino una cadena de posicionamiento preparada para producción y diseñada para ofrecer a los usuarios de SIMT mayor confianza en su posición en tiempo real.

Pruébalo

Si quieres saber qué pueden decir las mediciones GNSS de tu teléfono, prueba la herramienta GNSS de SIMT. Muestra diagnósticos sin procesar: número de satélites, constelaciones, épocas, estado del solucionador y posición, todo en tiempo real. Puedes comparar la posición GNSS de SIMT con el GPS estándar de Android y la ubicación fusionada de Google.

Tanto si eres profesional de la topografía y evalúas el posicionamiento de un teléfono como si practicas senderismo y buscas más precisión en terreno abierto, o simplemente eres un ingeniero interesado en las posibilidades del hardware móvil, el motor ejecuta la misma cadena descrita en este artículo cada vez que abres la aplicación.

Descarga SIMTSIMT está disponible en Google Play. El motor GNSS sin procesar forma parte de su herramienta GNSS, junto con navegación por brújula, planificación de objetivos, medición AR y astronomía.

Preguntas que responde esta guía

¿Qué son las mediciones GNSS sin procesar?

Son datos de temporización con precisión de nanosegundos que el teléfono registra a partir de las señales de los satélites. Incluyen la pseudodistancia, la fase portadora, el desplazamiento Doppler y la intensidad de señal de cada satélite visible. Android los expone mediante la API GnssMeasurementsEvent.

¿Por qué el GNSS sin procesar es más preciso que el GPS estándar de Android?

El GPS estándar entrega una posición precalculada por el chipset con poca transparencia. Los datos sin procesar permiten aplicar modelos atmosféricos, ponderación, suavizado de portadora y correcciones precisas para extraer más exactitud de las mismas señales.

¿Funciona en todos los teléfonos Android?

El acceso a las mediciones GNSS sin procesar requiere Android 7.0 o posterior y depende del chipset GNSS. La mayoría de los teléfonos fabricados desde 2018 lo admite, aunque la calidad y la integridad de las mediciones varían según el fabricante y el modelo.

¿Qué precisión puede lograr SIMT?

Con buenas condiciones de visibilidad del cielo, RTK ofrece una precisión de centímetros a decímetros cuando resuelve las ambigüedades enteras. PPP ofrece resultados inferiores al metro o de orden decimétrico tras converger, pero sus ambigüedades permanecen flotantes y no permiten alcanzar el nivel centimétrico de RTK. Solo con SBAS, la precisión habitual es de 1 a 2 metros. Sin correcciones externas, el posicionamiento basado únicamente en los datos transmitidos ofrece aproximadamente de 1 a 5 metros. El rendimiento depende de la geometría de los satélites, el entorno de la señal, la proximidad de la base RTK y el hardware del dispositivo.

¿SIMT necesita internet para el posicionamiento GNSS sin procesar?

No. La cadena principal funciona sin conexión con efemérides de mensajes satelitales. SBAS llega directamente por aire. Internet es opcional y aporta tres extras: bases RTK para centímetros, correcciones PPP (SSR) de órbita y reloj y efemérides asistidas A-GNSS que acortan el primer posicionamiento. Si cae, vuelve sin problemas al modo sin conexión.

¿Qué es SBAS y cómo lo usa SIMT?

SBAS es un conjunto regional, como WAAS, EGNOS, MSAS y GAGAN, que emite correcciones en tiempo real desde satélites geoestacionarios. SIMT analiza mensajes para correcciones rápidas de reloj y de órbita y reloj a largo plazo, y usa los GEO como fuentes de distancia. En L1+L5 omite SBAS por completo: la combinación libre de ionosfera ya lo supera y ahorra batería. Las cuadrículas ionosféricas SBAS nunca se usan: son redundantes en doble banda y Klobuchar cubre una banda.

¿Qué es GNSS de doble banda y lo admite mi teléfono?

Significa seguir dos frecuencias por satélite, normalmente L1 (~1575 MHz) y L5 (~1176 MHz). Combinarlas cancela matemáticamente la ionosfera sin modelos ni SBAS, acelera la convergencia y mejora la robustez en eventos solares y zonas ecuatoriales. Muchos Android desde 2020 admiten L1+L5, incluidos Pixel 4 y posteriores, Galaxy S22 y posteriores y la mayoría de Xiaomi y OnePlus insignia. El modo GNSS de SIMT muestra la frecuencia de cada satélite.

¿Cuál es la diferencia entre RTK y PPP?

RTK utiliza las observaciones sin procesar de una estación base cercana, normalmente situada a entre 30 y 50 kilómetros, para cancelar los errores comunes entre la base y el receptor móvil. Converge con rapidez, a menudo en segundos, y puede alcanzar una precisión centimétrica. PPP utiliza correcciones de órbita y reloj calculadas globalmente sin necesidad de una base, pero tarda más en converger. SIMT admite ambos modos y permite alternar entre ellos en los ajustes GNSS.