WIKI TÉCNICA

Posicionamiento GNSS: Principios e Implementación de Simulación de Señales

GPS, BeiDou, Galileo, GLONASS — los cuatro sistemas globales de navegación por satélite permiten que un chip de pocos dólares calcule su posición en cualquier lugar de la Tierra. Este manual explica, en lenguaje claro, cómo ocurre realmente el posicionamiento, los "descuentos" que sufre la señal en el camino y cómo nuestro simulador de señales GNSS "reproduce" fielmente todo ello en un entorno cerrado y legal.

≈ 12 min de lectura· 6 capítulos
01 · PRINCIPIO FUNDAMENTAL · PRINCIPIO

La localización, en esencia, es medición precisa de distancias

La localización por satélite se resume en una frase: si sabes a qué distancia estás de varios puntos cuya posición conoces, puedes calcular dónde te encuentras. Los satélites son esos puntos de referencia conocidos — a 20.000 km de altura, transmitiendo constantemente su propia posición y hora.

Medir la distancia con el tiempo

Las señales de los satélites viajan a la velocidad de la luz. Cada señal lleva una "marca de tiempo" precisa de emisión; el receptor registra el instante de llegada, y la diferencia Δt multiplicada por la velocidad de la luz c da la distancia satélite-receptor. La escala es asombrosa: un error de 1 nanosegundo en el tiempo equivale a ≈ 0,3 m de error en la distancia. Por eso cada satélite lleva un reloj atómico, que mantiene la hora al nanosegundo.

Pero para ser asequibles, los receptores usan un reloj de cuarzo ordinario que introduce un "sesgo de reloj" desconocido. Así que lo que realmente medimos no es la distancia verdadera, sino una "pseudodistancia" cargada de sesgo — un término que es la clave de todo lo que sigue.

Tres esferas se intersecan, cuatro satélites fijan la posición

Conocer tu distancia a un satélite te sitúa en una esfera a su alrededor; con dos satélites, dos esferas se cortan en un círculo; con tres satélites, tres esferas se cortan en un punto — eso es la "trilateración". Entonces, ¿por qué los teléfonos siempre dicen "se necesitan al menos 4 satélites"? Porque además de las coordenadas x, y, z hay una cuarta incógnita: el sesgo del reloj del receptor. Cuatro incógnitas requieren al menos cuatro satélites, y se resuelven juntas como un solo sistema. Cuantos más satélites a la vista, más estable y precisa es la solución.

GROUND r₁r₂r₃Δt Receptor
Fig. 1 · Intersección de tres esferas y resolución con cuatro satélites (el 4.º satélite resuelve el sesgo del reloj del receptor Δt)

¿Dónde está el satélite ahora mismo? — las efemérides

Para usar un satélite como referencia, primero hay que saber con precisión dónde se encuentra. Cada satélite transmite un conjunto de parámetros de efemérides en su mensaje de navegación — esencialmente, elementos orbitales keplerianos más una serie de correcciones perturbadoras. Al introducirlos en las fórmulas, el receptor puede calcular la posición 3D y la velocidad del satélite en cualquier instante. Las efemérides "caducan" con el tiempo, por lo que deben actualizarse continuamente.

El tiempo es el alma de todo el sistema

Todo el sistema GNSS se sustenta en una base de tiempo común (tiempo GPS, tiempo BeiDou, …). Derivas del reloj del satélite, efectos relativistas, retardos del hardware en transmisión y recepción — cualquier desajuste temporal se traduce directamente en metros de error de posicionamiento. En un sentido muy real, el posicionamiento es, ante todo, un problema de temporización.

02 · LA SEÑAL · SEÑAL

Qué se emite exactamente desde el espacio

La señal de un satélite consta realmente de tres capas superpuestas. Comprenda estas tres capas y entenderá dónde se oculta realmente la "información de tiempo para la medición de distancias".

① PortadoraCARRIER ② Código de rangoPRN / CDMA ③ Mensaje de navegaciónNAV DATA ModularCombinarBPSK
Fig. 2 · Portadora × código de rango × mensaje de navegación — modulación en tres capas

① La portadora es una onda sinusoidal de varios GHz que “transporta” la señal hasta el receptor. ② El código de rango (PRN) es una secuencia pública pseudoaleatoria de 0/1 — como la “huella digital” única de cada satélite: permite al receptor distinguir los satélites en la misma frecuencia (esto es CDMA), y es precisamente lo que transporta la temporización precisa usada para el rango. ③ El mensaje de navegación es la capa de datos más lenta, que difunde efemérides, parámetros de reloj, estado del satélite y más hacia el receptor.

Los sistemas modernos también transmiten en varias frecuencias a la vez (GPS L1/L2/L5, BeiDou B1/B2/B3, …). Multiconstelación, multibanda no solo pone más satélites a la vista y mejora la fiabilidad bajo obstrucción — una combinación de doble frecuencia también puede cancelar directamente la mayor parte del error ionosférico. Esa es la base del posicionamiento de alta precisión, y exactamente por qué nuestro simulador ejecuta 48 canales en paralelo entre 1176 y 1610 MHz.

03 · ERRORES DE PROPAGACIÓN · PROPAGACIÓN

Qué le ocurre a la señal en el camino

A lo largo de los 20 000 km desde el satélite hasta el receptor, la señal se va “descontando” capa a capa. Para simular de forma convincente y posicionar con precisión, hay que modelar cada una de estas pérdidas una a una — y esa es precisamente la diferencia entre un simulador serio y un juguete.

Retardo ionosféricoKlobuchar 8 parámetros Retardo troposféricoDependiente de elevación / altitud Relatividad · retardo de grupoTGD / ISC Edificio · reflector Reflexión multicamino Receptor
Fig. 3 · Principales fuentes de error a lo largo de la trayectoria de la señal

Los principales “descuentos” incluyen: retardo ionosférico (varía fuertemente con la actividad solar; se corrige comúnmente con el modelo Klobuchar de 8 parámetros), retardo troposférico (depende de la elevación del satélite y la altitud de la estación), efectos relativistas (el satélite se mueve rápido y está en un campo gravitatorio más débil, por lo que su reloj avanza más rápido y debe corregirse — incluyendo un término de excentricidad orbital), retardo de grupo TGD/ISC (sesgo de retardo hardware entre frecuencias), multicamino (señales reflejadas en edificios/suelo que se superponen a la onda directa), y sesgo del reloj del satélite (descrito por un polinomio a0/a1/a2).

Por eso mismo integramos una cadena completa de modelos de pérdidas y errores — ionosfera Klobuchar, troposfera dependiente de la elevación, correcciones relativistas y de retardo de grupo, atenuación de potencia basada en la elevación. Lo que sale no es, por tanto, una “señal ideal”, sino una que se aproxima al cielo real; solo así las pruebas que hagas con ella tendrán verdadero significado.

04 · NUESTRA IMPLEMENTACIÓN · IMPLEMENTACIÓN

Reconstruyendo todo el cielo en software

Lo que hace un simulador de señales GNSS es ejecutar el flujo anterior “en reversa”: dado un escenario (tiempo, lugar, trayectoria de movimiento), calcula la posición, pseudodistancia y Doppler de cada satélite respecto al receptor, sintetiza la señal RF correspondiente y la inyecta al receptor. Libera al I+D y a las pruebas del clima y las trayectorias reales — dentro de un entorno cerrado y controlado puedes reproducir cualquier escenario bajo demanda: señales débiles, altas dinámicas, configuraciones de constelación específicas…

Este camino no empezó desde cero. En la comunidad de código abierto, proyectos como GPS-SDR-SIM y GNSS-SDR demostraron pronto que se puede “generar señales GNSS en banda base con una radio definida por software (SDR)” — típicamente monoconstelación, monofrecuencia, generando un archivo IQ offline y reproduciéndolo. Nos apoyamos en ese trabajo, pero lo hemos llevado a otro orden de magnitud hasta alcanzar una usabilidad de grado ingenieril.

Motor de señal en tiempo real · 7×24 continuo · sin pérdidas / sin deriva Escenario y efeméridesSCENARIO Cálculo orbital de satélitesPOS · RANGE Modulación y síntesisCODE × CARRIER Modelos de error y pérdidasPROPAGATION IQ → RF vía SDRRF FRONT-END Klobuchar · troposfera · relatividad · retardo de grupoCompatible con SDR de bajo coste→ Hacia la antena del receptor
Fig. 4 · Del escenario a la RF: la cadena de generación de señales GNSS definida por software

Primero, fiabilidad. El antiguo enfoque de archivos offline no permite pruebas largas. Hemos construido un motor de señal en tiempo real que admite operación continua 24/7 — sin caídas ni deriva acumulada en ejecuciones prolongadas — para que las pruebas de resistencia y la monitorización desatendida sean por fin viables.

Segundo, coste. Las fuentes de señal de gama alta alcanzan fácilmente seis cifras. Optimizamos intensivamente a nivel de algoritmo para que el motor sea compatible con dispositivos SDR de bajo coste, acercando la capacidad de laboratorio a un precio asequible para usuarios comunes — para que más equipos y más personas puedan usarlo realmente.

Por último, rendimiento. Frente a los prototipos de un solo satélite y una sola frecuencia, ofrecemos paralelismo multiconstelación y multibanda en 48 canales que — junto con los modelos de error completos de la sección anterior y una tasa de actualización de 1 kHz — aporta ganancias reales tanto en velocidad como en precisión de posicionamiento, suficientes para validar escenarios de alta dinámica y alta precisión. Para una lista de capacidades más detallada, consulte las especificaciones en la página de inicio.

Cómo un receptor obtiene una posición

Cómo un receptor completa una posición

Los capítulos anteriores describieron el posicionamiento desde la perspectiva del sistema; este se centra en el lado del receptor. Para un receptor, una posición típicamente pasa por cuatro etapas —adquisición, seguimiento, demodulación y resolución— completadas de forma continua en un rango de milisegundos a segundos, tras lo cual sigue proporcionando resultados.

Adquisición y seguimiento

Tras encenderse, el receptor debe primero encontrar las señales de los satélites entre el ruido. Los satélites se mueven rápido respecto al suelo, por lo que su portadora presenta un claro desplazamiento Doppler y el código de rango porta una fase de código desconocida. En la adquisición, el receptor correlaciona un código replicado localmente con la señal entrante en un espacio de búsqueda bidimensional de “frecuencia Doppler × fase de código”; cuando ambos se alinean y la correlación muestra un pico nítido, se considera que el satélite ha sido adquirido. Entonces entra en seguimiento: un lazo de seguimiento de código (DLL) mantiene alineada la fase de código y un lazo de seguimiento de portadora (PLL) mantiene el enganche de la portadora, asegurando juntos que el receptor lea los observables de la señal de forma estable y continua. Si cualquiera de los lazos pierde el enganche, se requiere una readquisición.

Demodulación, resolución y tiempo hasta la primera posición

Una vez que el seguimiento es estable, el receptor completa la sincronización de bit y de trama, demodula el mensaje de navegación y obtiene parámetros como las efemérides y el sesgo del reloj; a partir de estos calcula la posición de cada satélite en ese instante, luego combina las respectivas pseudodistancias y resuelve la posición, velocidad y tiempo (PVT) del receptor mediante mínimos cuadrados o un filtro de Kalman. El tiempo desde el encendido hasta la primera salida de coordenadas es el tiempo hasta la primera posición (TTFF): un arranque en frío sin información previa suele tardar decenas de segundos, mientras que un arranque en caliente con efemérides en caché y una posición aproximada a menudo necesita solo unos pocos segundos. Cuantos más satélites a la vista y mejor sea su geometría (cuanto menor sea el PDOP), más estable y precisa será la solución.

Chip GNSS + capas inferiores del SO (invisibles para las apps) AntenaANTENNA Frontal de RFRF / conversión descendente Adquisición · seguimientoDLL / PLL Demodulación · resolviendoPVT Capa de aplicación · APP Servicio de localización del sistemaLOCATION SVC APPLat/lon + precisión Solo la posición, nada más
Fig. 5 · Cadena de procesado de señal del receptor: la capa de aplicación solo recibe las coordenadas finales, nunca los detalles de la señal

Dispositivos de consumo como teléfonos: la capa de aplicación no puede acceder a los detalles de la señal

Conviene subrayar un punto: en dispositivos de consumo como teléfonos, la recepción de la señal, la conversión descendente, la adquisición, el seguimiento y la demodulación del mensaje los gestionan el chip GNSS (o los bloques de RF y banda base dentro del SoC) junto con las capas inferiores del sistema operativo. Por lo general, una app no puede tocar los observables brutos ni el proceso de procesado de señal; solo puede obtener una conclusión final a través del servicio de localización del sistema: un conjunto de coordenadas de latitud/longitud con una estimación de precisión. (Algunas plataformas exponen una interfaz para leer mediciones brutas, pero no está disponible en todos los dispositivos ni libre de restricciones de autorización del sistema y del framework.)

Esto también explica por qué las pruebas de posicionamiento deben actuar en la capa de señal o del sistema, en lugar de manipular valores en la capa de aplicación: el simulador apunta al propio chip. Reproduce señales de satélite suficientemente realistas en el front-end de RF para que toda la cadena realice la adquisición, el seguimiento y la resolución con lógica real, y el dispositivo calcule por sí mismo la posición predefinida. Solo una validación así es creíble, y solo ella puede cubrir el comportamiento en condiciones reales como señales débiles, multitrayecto y altas dinámicas.

06 · CIERRE · CIERRE

Conoce el cómo y el porqué

Desde un tenue haz de señal en el espacio hasta una coordenada estable en tu pantalla, en medio hay capa tras capa de medición de distancia, resolución, temporización y modelado de errores trabajando en conjunto. Comprende los principios y verás con más claridad dónde debe esforzarse un buen simulador; y es precisamente en esas tres líneas — fiabilidad, coste y rendimiento — donde hemos refinado un prototipo de código abierto hasta convertirlo en un producto apto para ingeniería seria.

Para conocer más sobre capacidades específicas y formas de colaborar, vuelva a la página principal del producto o póngase en contacto.

↑ Volver arriba
APÉNDICE · ESPECIFICACIONES COMPLETAS · APÉNDICE

Especificaciones de AnyLocate

A continuación, un resumen de las especificaciones principales; “✓” indica soporte, el resto son cifras concretas. Los parámetros completos se detallan en el manual incluido con el software y según su versión actual.

01 Bandas / Constelaciones CONSTELACIÓN
GPSL1CA / L1C
BeiDou (BDS)B1I / B1C
GalileoE1 / E5a
GLONASSG1 / G2
02 Canales y RF RF / CANALES
Canales48
Banda RF1176 – 1610 MHz
Cuantificación IQ2 / 4 / 8 / 16 bits
Antena
Potencia RFAjustable
SalidaStreaming SDR en tiempo real · Archivo IQ offline
Canales simultáneosDinámicos (la capacidad escala con el cómputo del host / ancho de banda del SDR)
Canales concurrentesDinámico (la capacidad escala con el cómputo del host / ancho de banda del SDR)
03 Escenarios ESCENARIOS
Punto fijo estático
Dinámica básica
Dinámica personalizada
Funcionamiento continuo 24/7
CoberturaCualquier ubicación / cualquier momento en todo el mundo
Sistemas horariosUTC · GPS · BeiDou · Galileo · GLONASS
Combinación multiconstelaciónCualquier combinación de constelación / señal
04 Dinámica DYNAMICS
Tasa de actualización1 kHz
Velocidad≤ 100 m/s
Aceleración≤ 2 G
Precisión de posicionamiento≤ 5 m
DopplerModelado en tiempo real a partir de la velocidad relativa satélite–receptor
05 Modelos de error y propagación PROPAGACIÓN
Modelo ionosféricoKlobuchar 8 parámetros
Modelo troposféricoDependiente de elevación / altitud
Modelo de reloj del satélitePolinomio a0/a1/a2
Corrección relativistaTérmino de excentricidad
Retardo de grupoSesgo entre señales TGD / ISC
Atenuación por elevación
06 Inyección y avanzado AVANZADO
Inyección de efemérides personalizadas
Sustitución en caliente de efemérides en vivoTransición suave en ejecución, manteniendo el enganche en todo momento (fundido cruzado)
Inyección de mensaje de navegación
Direccionamiento / cambio de semana
Modelo UTC
Control de selección de satélitesEnmascarar un solo satélite por constelación / PRN + máscara de elevación
ConfiguraciónJSON / XML
Interfaces externasMCP / CLI
// El manual completo de especificaciones se incluye con el software · la capacidad real depende de su versión