Posicionamiento, navegación y temporización fusionados MEO y LEO
Tres tipos de escenario proporcionan posicionamiento, navegación y temporización (PNT) con satélites en órbita terrestre baja (LEO) solos o fusionados con los sistemas globales de navegación por satélite (GNSS) de órbita terrestre media (MEO): leo-pvt (posición, velocidad y tiempo), leo-ppp (posicionamiento de punto preciso) y ntn-positioning (una red no terrestre 5G). Fuente: src/leo_fusion/.
El motor es independiente del sistema. Toda constelación es de capas Walker, de elementos orbitales explícitos o un preajuste GNSS del tipo de escenario constellation-design; toda señal es una portadora, una tasa de chips y una envolvente de densidad de portadora a ruido (C/N0); todo presupuesto de error es una sigma explícita. Los sistemas con nombre son preajustes opcionales, un archivo cada uno, y toda capacidad, prueba y escenario incluido se ejecuta sin ninguno concreto de ellos.
Sistemas y preajustes#
Un escenario enumera sus sistemas como tablas [[system]]. Este escenario completo une la constelación de línea base de GPS con una capa LEO genérica y se ejecuta tal como está escrito (kshana <file>.toml; el motor 0.40.0 da una dilución de precisión de posición mediana de 2,43 solo con GPS y de 1,17 fusionado, y un error 3D cuadrático medio de 2,06 m y de 0,47 m):
kind = "leo-pvt"
mode = "joint"
seed = 3
duration_s = 600.0
step_s = 60.0
[user]
lat_deg = 40.42
lon_deg = -3.70
height_m = 650.0
[[system]]
name = "GPS"
preset = "gps-baseline"
cn0_dbhz = [38.0, 48.0]
sisre_m = 0.6
[[system]]
name = "Any LEO layer"
carrier_hz = 1.5e9 # any band
chip_rate_hz = 10.23e6 # omit with doppler_only = true for a signal of opportunity
cn0_dbhz = [45.0, 55.0] # at the elevation mask and at the zenith
sisre_m = 0.3 # signal-in-space range error of orbit and clock, one sigma
clock = "estimated" # its own receiver clock (inter-system bias solved) or "known"
isb_ns = 40.0 # true inter-system bias used to simulate its pseudoranges
[[system.shell]]
total = 240
planes = 12
phasing = 1
altitude_km = 1000.0
inclination_deg = 60.0
preset = "gps-baseline" (el Global Positioning System, GPS; o galileo, beidou-meo, glonass) toma una constelación GNSS publicada; leo_preset = "..." rellena lo que la tabla deje sin indicar a partir de un preajuste LEO. El C/N0 varía linealmente con el seno de la elevación desde la máscara hasta el cenit (una decisión de modelado: la envolvente real de una pasada depende del diagrama de la antena transmisora). La sigma de la pseudodistancia es el ruido térmico del lazo de enganche de retardo (DLL) del motor (navsignal::dll_code_jitter_chips) a ese C/N0 combinado con el error de distancia de la señal en el espacio (SISRE), salvo que sigma_pr_m lo fije; la sigma de la velocidad de distancia es la longitud de onda por sigma_doppler_hz. Como la sigma es una entrada, un modelo de señal independiente puede alimentarla sin que el código de posicionamiento sepa de dónde procede.
| Preajuste | Qué incluye | Fuentes |
|---|---|---|
xona-pulsar |
X1 a 1593,3225 MHz, 1,023 Mchip/s, potencia recibida de −148,2 a −139,1 dBW; X5 a 1190,51625 MHz, 10,23 Mchip/s, de −144,9 a −136,2 dBW; 258 satélites en 18 planos a 1080 km, 53 y 97 grados | PUBLIC: arXiv:2509,19551. Representativo: el reparto entre las dos inclinaciones, la fase, el error de distancia |
iridium-stl |
Iridium Satellite Time and Location (STL): 66 satélites, seis planos casi polares a 780 km y 86,4 grados; ráfagas de 1616 a 1626 MHz, modulación por desplazamiento de fase en cuadratura (QPSK) a 25.000 símbolos/s; potencia recibida de 300 a 2400 veces el mínimo de GPS | PUBLIC: Resilient Navigation and Timing Foundation (RNTF), National Institute of Standards and Technology (NIST), constelación. DERIVED: la potencia en dBW. Representativo: portadora en el centro de la banda, error de distancia |
starlink-sop |
Solo Doppler: 11,325 GHz, baliza de multiplexación por división de frecuencia ortogonal (OFDM) de 240 MHz, C/N0 de hasta 57,07 dB-Hz, error Doppler de 30 Hz; primera capa de 1584 satélites a 550 km y 53 grados | PUBLIC: Kozhaya, Saroufim y Kassas 2025, Federal Communications Commission (FCC) 21-48. Representativo: fase, C/N0 en el horizonte |
centispace |
Modulación por desplazamiento de fase binaria (BPSK) a 2,046 Mchip/s cerca de L1 y L5; determinación de órbita centimétrica | PUBLIC: evaluación inicial, GPS Solutions. Representativo: portadoras, potencia, toda la constelación operativa |
generic-c-band |
Un sistema de banda C en la asignación de 5010 a 5030 MHz del servicio de radionavegación por satélite (RNSS), para sistemas cuyos parámetros no son públicos | PUBLIC: la asignación del Reglamento de Radiocomunicaciones de la Unión Internacional de Telecomunicaciones (UIT). Todo lo demás es representativo |
atomic-zero-clock |
Un modelo de efemérides y reloj: efemérides polinómicas de sexto orden, renovación cada 30 s, reloj gobernado al tiempo GNSS; SISRE 0,26 m | PUBLIC: InsideGNSS. DERIVED: el SISRE. Combínese con cualquier constelación mediante ephemeris_preset |
celeste-iod |
Demostración en órbita (IOD) Celeste de la Agencia Espacial Europea (ESA), una configuración de un diseño de señal parametrizado | órbita PUBLIC (ESA, resumen 16907 del Institute of Navigation (ION)); parámetros de señal WORKSHOP, presentados en el taller LEO-PNT del Navigation Innovation and Support Programme (NAVISP) de la ESA, 2026 |
Todo número derivado del taller está en el módulo fusion de src/celeste_iod.rs, usado por scenarios/celeste-iod-fused-pvt.toml (tests/workshop_preset_isolation.rs impone dónde pueden aparecer). Cómo se retiene el preajuste: todo número del motor derivado del taller vive en un único archivo, src/celeste_iod.rs, que build.rs compila solo cuando existe, y en los escenarios exclusivos del repositorio scenarios/*celeste-iod*.toml. Eliminar ese archivo y esos escenarios retiene el preajuste sin editar ninguna fuente; el resto de pruebas, referencias independientes y escenarios se ejecutan sin él, y el recuento de archivos de escenario del README sigue contando los archivos retenidos.
leo-pvt#
Un tipo de escenario, cuatro modos (mode = "doppler" | "joint" | "polar" | "timing").
Doppler. Un receptor que mide el Doppler f_D a la longitud de onda λ observa la velocidad de distancia ρ̇ = −λ f_D = u·(v_s − v_u) + ḋ, siendo u la línea de visión y ḋ la deriva del reloj del receptor. Un ajuste por lotes de Gauss-Newton resuelve la posición, la deriva y, opcionalmente, una velocidad constante, con derivadas parciales analíticas ∂ρ̇/∂r = −(I − u uᵀ)(v_s − v_u)/ρ: solo la velocidad del satélite transversal a la línea de visión aporta información de posición, de modo que la geometría es cómo giran las líneas de visión durante la ventana. El informe da el error frente a la longitud de ventana, la envolvente de Doppler, tasa de Doppler y sacudida de cada sistema, y una tabla de pasada única. Una pasada ubica al usuario a lo largo de la traza (el instante de Doppler cero) y a través de ella (la pendiente de la curva Doppler); el error transversal crece sin límite a medida que la pasada se hace cenital, y la imagen especular respecto a la traza en tierra se ajusta casi igual de bien (solo la rotación de la Tierra las separa). Un sistema solo Doppler (doppler_only = true, el preajuste starlink-sop) se ejecuta en este modo.
Joint. En cada época, mínimos cuadrados ponderados sobre las pseudodistancias de los sistemas GNSS solos, de los sistemas LEO solos y de todos ellos, con un reloj de receptor por sistema (se estima el sesgo entre sistemas, ISB) o un desfase de difusión conocido sobre la escala de tiempo de referencia. Informa de la dilución de precisión geométrica, de posición, horizontal, vertical y de tiempo (GDOP, PDOP, HDOP, VDOP, TDOP), de los errores, de los sesgos estimados y del DOP frente al número de satélites LEO añadidos a la geometría GNSS.
Polar. Satélites a la vista, DOP mediano y disponibilidad frente a la latitud para GNSS MEO, LEO y ambos.
Timing. En una posición conocida, cada pseudodistancia LEO es una medición de reloj. El receptor ejecuta un filtro de Kalman de dos estados (fase, frecuencia) cuyo ruido de proceso es el ruido de frecuencia blanco y de paseo aleatorio de la clase de oscilador (los modelos de slot-timing y de reloj), mantiene el tiempo entre pasadas y convierte el tiempo del sistema en Tiempo Universal Coordinado (UTC) con la expresión Δt_UTC = Δt_LS + A0 + A1 (t_E − t_ot + 604800 (WN − WN_t)) de IS-GPS-200; la incertidumbre del desfase de difusión es un sesgo por ejecución.
leo-ppp#
Un filtro de Kalman extendido (EKF) de posicionamiento de punto preciso (PPP) en coma flotante sobre código y fase libres de ionosfera: coordenadas estáticas, un reloj de receptor blanco, un sesgo entre sistemas por cada sistema adicional, un retardo cenital húmedo de paseo aleatorio y una ambigüedad flotante por arco de satélite. El error de órbita y reloj precisos es común al código y a la fase de un satélite, de modo que cada satélite es una actualización correlada de dos filas, en una forma estabilizada de Joseph que mantiene la covarianza definida positiva a lo largo de miles de actualizaciones de fase de nivel milimétrico. Las mediciones se simulan a partir del mismo modelo, de modo que el error de estimación normalizado al cuadrado (NEES) de la posición debe seguir una ley chi cuadrado con tres grados de libertad; la prueba lo comprueba sobre semillas Monte Carlo. La convergencia es la primera época a partir de la cual los errores horizontal y vertical se mantienen por debajo de los umbrales (10 cm) hasta el final de la ejecución.
Un satélite LEO cruza el cielo en unos diez minutos, un satélite MEO se mueve unos pocos grados, de modo que los arcos LEO separan las ambigüedades de la posición mucho antes.
ntn-positioning#
Un enlace descendente de red no terrestre (NTN) 5G en la banda S del servicio móvil por satélite (MSS), banda n256 del 3rd Generation Partnership Project (3GPP) (2170 a 2200 MHz). La cota de Cramér-Rao (CRB) del tiempo de llegada es c / (2π β sqrt(2 (C/N0) T)), siendo β el ancho de banda cuadrático medio (de Gabor) (B/√12 para un espectro OFDM plano), y la de la frecuencia de un tono sqrt(3 / (2π² (C/N0) T³)). El tipo de escenario compara canales (por defecto, un canal New Radio de 5 MHz y un canal de banda estrecha de 200 kHz) mediante fijaciones de tiempo de llegada del enlace descendente con un reloj de receptor desconocido y una fijación Doppler de un solo satélite a lo largo de una pasada.
Escenarios incluidos#
| Escenario | Tipo de escenario, modo | Qué muestra (con semilla, determinista) |
|---|---|---|
leo-doppler-positioning |
leo-pvt, doppler |
capa Xona Pulsar X1 (258 satélites), ruido Doppler de 1 Hz: error 3D de 7,5 m tras diez minutos (26 satélites); en una sola pasada la sigma transversal es de 303 m cuando la pasada es casi cenital (25 km fuera de la traza) frente a 43 m a 250 km fuera de la traza |
starlink-sop-doppler-positioning |
leo-pvt, doppler |
señales de oportunidad solo Doppler, error Doppler de 30 Hz a 10 Hz: sigma horizontal formal de unos 10 m tras 20 s con 12 satélites y de 6 m tras 60 s |
meo-leo-fused-pvt |
leo-pvt, joint |
PDOP mediano de GPS y Galileo de 1,47 y error 3D cuadrático medio (RMS) de 1,06 m; Xona X5 solo 1,73 y 0,49 m; fusionado 1,06 y 0,41 m; el sesgo LEO de 40 ns (11,99 m) estimado como 12,06 m |
leo-ppp-convergence |
leo-ppp |
Convergencia de 7,4 min (solo GNSS MEO), 4,8, 3,2, 2,7 y 2,3 min con 60, 96, 192 y 288 satélites LEO |
ntn-5g-positioning |
ntn-positioning |
Cota de distancia de 0,26 a 1,03 m para 4,5 MHz y de 6,5 a 26 m para 180 kHz; fijaciones de cerca de 2 m frente a 26 m |
polar-arctic-leo-coverage |
leo-pvt, polar |
VDOP de GPS y Galileo de 1,20 en el ecuador, 1,51 a 89,9 grados; con Iridium 1,14 en el polo |
leo-timing-utc |
leo-pvt, timing |
Transferencia de tiempo con Iridium durante 6 horas en Boulder: de 9,9 a 11,4 ns RMS con C/N0 nominal en cuatro clases de oscilador, de 15,1 a 25,0 ns con 30 dB menos |
celeste-iod-fused-pvt (opcional) |
leo-pvt, joint |
GNSS unido a los dos satélites IOD en la escala de tiempo de referencia (exclusivo del repositorio, retenido junto con el preajuste) |
Los tipos de escenario también se ejecutan dentro de otros escenarios: leo-pvt es miembro del barrido leo-focus-fused-pnt-sisre y de las campañas leo-vertical-autonomous-vehicle, leo-vertical-polar-arctic, leo-vertical-critical-infrastructure-timing y leo-vertical-5g-network-timing; leo-ppp del barrido leo-focus-ppp-altitude; ntn-positioning del barrido leo-focus-ntn-bandwidth; y leo-pvt y leo-ppp son las etapas de fijación fusionada y de PPP del tipo de escenario leo-pnt-chain. Sus resultados están en LEO-PNT.md.
Cifras y etiquetas publicadas#
| Cifra | Fuente | Kshana | Etiqueta |
|---|---|---|---|
| Doppler de Iridium de hasta ±36 kHz | RNTF | 35,9 kHz, el máximo a lo largo de un día de pasadas, a menos de 5% | VALIDATED (tests/leo_doppler_reference.rs) |
| Doppler máximo de Xona Pulsar X1 de 32 a 34 kHz | arXiv:2509,19551 | 33,6 kHz de un satélite de cada capa publicada (1080 km, 53 y 97 grados), dentro del intervalo sin ensancharlo; la capa de 53 grados sola alcanza un máximo de 31,8 kHz, porque la rotación de la Tierra ralentiza una órbita prógrada respecto al suelo | VALIDATED (misma prueba) |
| sacudida de Xona Pulsar X1 de ±1,26 Hz/s² | arXiv:2509,19551 | unos 1,0 Hz/s² en una pasada cenital | informado, no validado |
| convergencia de PPP de 9,6 → 7,0, 3,2, 2,1, 1,3 min con 60/96/192/288 LEO | Li et al., Journal of Geodesy 93:749 (2019), doi 10.1007/s00190-018-1195-2 | 7,4 → 4,8, 3,2, 2,7, 2,3 min, monótona | coherencia MODELLED de la tendencia (no se reproducen constelaciones, ruido ni estaciones) |
| Starlink unos 2 m en 20 s con tres satélites | Kozhaya, Saroufim y Kassas 2025 | sigma horizontal formal de unos 10 m tras 20 s con 12 satélites, con efemérides perfectas y todo el error en una sigma Doppler de 30 Hz a 10 Hz | comparación MODELLED (no se reproducen el receptor ni la tasa de medición) |
| temporización con Iridium por debajo de 40 ns respecto a UTC(NIST) | NIST | unos 10 ns RMS modelados | comparación MODELLED |
Todo lo demás es MODELLED con su justificación en la matriz de verificación (docs/VERIFICATION-MATRIX.md): el DOP se comprueba frente a un caso de cuatro satélites derivado a mano, las fijaciones frente a su covarianza, el modelo Doppler frente a la identidad de la aceleración de distancia, el filtro PPP frente a la banda chi cuadrado del NEES y las cotas frente a cuadratura.
Límites, declarados con claridad#
- Órbitas de dos cuerpos con la deriva secular por J2, el segundo armónico zonal de la Tierra; sin error de ajuste de efemérides de difusión más allá de la sigma del SISRE, sin diagrama de antena del satélite.
- Sin retardo ionosférico ni troposférico en
leo-pvt(el filtro PPP lleva un estado de retardo húmedo; su combinación libre de ionosfera elimina la ionosfera de primer orden), sin centelleo, multitrayecto, saltos de ciclo ni resolución de ambigüedades enteras. - La exactitud de NTN es una cota, no un resultado alcanzado.
- Los valores de preajuste marcados como representativos son ilustrativos y no describen el diseño de ningún operador.