Traducción automática, no revisada por un hablante nativo. El inglés es la referencia.

Validación y evidenciasEditar en GitHubFuente: docs/STANDARDS.md

Normas e interoperabilidad

Kshana habla los formatos de intercambio estándar de las comunidades de GNSS (sistema global de navegación por satélite), dinámica de vuelo y temporización, de modo que puede convivir con RTKLIB (una biblioteca de código abierto de posicionamiento cinemático en tiempo real), gLAB, Ginan, GMAT (General Mission Analysis Tool), Orekit y las herramientas de los centros de análisis del IGS (Servicio Internacional de GNSS) en lugar de en una isla privada. Esta página asocia los formatos de intercambio que el motor analiza o emite con el módulo que implementa cada uno y con la especificación de referencia.

Se limita a los formatos, es decir, a lo que tiene una dirección de lectura o escritura. Las normas de señal y de algoritmo que el motor implementa en lugar de analizar (IS-GPS-200 (IS: Interface Specification; GPS: Sistema de Posicionamiento Global), IEEE (Instituto de Ingenieros Eléctricos y Electrónicos) 1139, RTCA (antes Comisión Técnica Radioaeronáutica) DO-229E, IGRF-14 (IGRF: Campo Geomagnético Internacional de Referencia), la referencia WG-C (WG: Grupo de Trabajo) de ARAIM (monitorización autónoma avanzada de la integridad por el receptor), CCSDS (Comité Consultivo para Sistemas de Datos Espaciales) 401/DSN (DSN: Red de Espacio Profundo)) se evidencian fila a fila en VERIFICATION-MATRIX.md.

Formatos que habla el motor#

Norma Dirección Módulo Especificación / autoridad Notas
CCSDS OEM (Mensaje de Efemérides Orbitales) lectura y escritura src/oem.rs CCSDS 502.0-B Mensajes de Datos Orbitales, forma KVN (notación clave-valor) Efemérides tabuladas de vectores de estado que ingieren GMAT, Orekit y STK (Systems Tool Kit). parse_oem las lee de vuelta; validado recuperando el ejemplo literal de la Figura G-11 del Libro Azul CCSDS 502.0-B-3 (tests/ccsds_reference.rs). El bloque de covarianza opcional de posición/velocidad de 6×6 (COVARIANCE_START … COVARIANCE_STOP, la serialización KVN del triángulo inferior de 21 elementos con un COV_REF_FRAME opcional) se escribe (covariance_block_kvn) y se lee (parse_covariance_block), con simetría de ida y vuelta (pruebas de src/oem.rs).
CCSDS OMM (Mensaje de Elementos Medios Orbitales) escritura src/omm.rs CCSDS 502.0-B-2, forma KVN Publicación en vía de normalización de los elementos medios de SGP4/TLE (SGP4: Perturbaciones Generales Simplificadas 4; TLE: conjunto de elementos de dos líneas) (movimiento medio, e, i, Ω, ω, M, BSTAR (el término de arrastre del propagador de órbitas)). Accesible desde la CLI (CLI: interfaz de línea de comandos) en un escenario orbit mediante --export-omm <out.omm> o export_omm = true (un OMM por satélite definido por TLE, con su identificador NORAD (Mando de Defensa Aeroespacial de Norteamérica) real, designador COSPAR (Comité de Investigación Espacial) y época; tests/sp3_export_roundtrip.rs). La forma XML (lenguaje de marcado extensible) y un lector son trabajos posteriores.
CCSDS TDM (Mensaje de Datos de Seguimiento) lectura y escritura src/ccsds_tdm.rs CCSDS 503.0-B Mensaje de Datos de Seguimiento, forma KVN Registros de seguimiento de distancia / Doppler / ángulo que un paso de DSN/ESTRACK (ESTRACK: red europea de seguimiento espacial) entrega a un sistema de OD (determinación de órbita). Validado recuperando el ejemplo literal de la Figura E-9 del Libro Azul CCSDS 503.0-B-2 (tests/ccsds_reference.rs).
CCSDS Space Packet (133,0) lectura y escritura src/space_packet.rs CCSDS 133.0-B-2 Protocolo de Paquetes Espaciales El encabezado primario TM/TC (TM: telemetría; TC: telecomando) de 6 octetos que intercambian los sistemas terrestres. El codificador reproduce los vectores de prueba publicados, a nivel de byte, de la biblioteca independiente spacepackets-py (pruebas de src/space_packet.rs).
SP3-c (SP3: Producto Estándar 3, el formato de órbitas precisas) / SP3-d (efemérides precisas) lectura y escritura src/sp3.rs Producto Estándar 3 del IGS (c/d) Serie temporal de posición fija a la Tierra (ECEF) + tiempo de reloj. Ida y vuelta validada a < 0,5 m en una instantánea real de gps-ops (tests/sp3_export_roundtrip.rs).
RINEX (Formato de Intercambio Independiente del Receptor) 3 (navegación por difusión) lectura src/rinex.rs RINEX 3.x NAV (IS-GPS-200, ICD de Galileo (documento de control de interfaz), ICD de BeiDou, ICD de GLONASS (Sistema Mundial de Navegación por Satélite de Rusia)) Ingesta NAV multi-GNSS (GPS LNAV (mensaje de navegación heredado), Galileo F/NAV, QZSS (Sistema de Satélites Cenitales Casi Zenitales de Japón), BeiDou MEO/IGSO (MEO: órbita terrestre media; IGSO: órbita geosíncrona inclinada), vector de estado de GLONASS); utilizable como fuente de Propagator de primera clase.
TLE / 3LE (elementos de dos / tres líneas) lectura src/tle.rs NORAD / Celestrak, AIAA (Instituto Americano de Aeronáutica y Astronáutica) 2006-6753 Propagado por el núcleo SGP4/SDP4 validado (SDP4: Perturbaciones Simplificadas de Espacio Profundo 4) (4,12 mm frente a los 666 vectores oficiales de la AIAA).
RINEX 3.0x (observación) lectura src/rinex_obs.rs RINEX 3.0x OBS (se espera que 4,00 se analice, pero nunca se ha probado con un archivo 4,00) La otra mitad de RINEX: los registros de código/portadora/Doppler/SNR (SNR: relación señal-ruido) del propio receptor (parse_obs). Es la entrada que consume, junto con el archivo de navegación por difusión, el resolvedor de posicionamiento de punto único de pvt (tests/pvt_abmf.rs, estación real ABMF del IGS).
IONEX (formato de intercambio de mapas de la IONosfera; mapas globales de TEC (contenido total de electrones)) lectura src/ionex.rs IONEX 1.x (producto de ionosfera del IGS) parse_ionex lee las mallas globales de contenido total de electrones del IGS, la alternativa medida a la corrección de Klobuchar por difusión, con interpolación espacial y temporal bilineal y la función de oblicuidad para pasar a retardo oblicuo.
finals2000A / Boletín B del IERS (Servicio Internacional de Rotación de la Tierra y Sistemas de Referencia) (orientación de la Tierra) lectura src/eop.rs, src/frame_eop.rs Convenciones del IERS; IERS EOP (parámetros de orientación de la Tierra) 14 C04 / finals2000A.all UT1 (Tiempo Universal 1, tiempo de rotación terrestre)−UTC (Tiempo Universal Coordinado) y movimiento polar del producto oficial, incluidas las filas predichas, de modo que la reducción de marcos pueda ejecutarse en tiempo real y presupuestarse el crecimiento de su error de predicción (tests/operational_eop_predictor_reference.rs).
KIF (Formato de Intercambio de Kshana) lectura y escritura src/interchange.rs este repositorio; véase SCHEMA.md La envoltura neutra y versionada en la que puede envolverse cualquier artefacto: format / schema_version / kind / engine_version / payload, con un veredicto explícito de compatibilidad mayor-menor para el consumidor. No es una norma externa; se documenta aquí porque una herramienta ajena tiene que reconocerla.
Intercambio lunar de LunaNet / IOAG (Grupo Asesor de Operaciones Interagencias) escritura (los metadatos de tiempo también se leen) src/lunar_interop.rs Especificación de interoperabilidad de LunaNet / arquitectura de comunicaciones lunares del IOAG, sobre CCSDS 502,0 El marco lunar, la escala de tiempo lunar y las efemérides lunares emitidos en formas CCSDS alineadas con LunaNet/IOAG (export_lunar_oem, export_kif_lunar, export_lunar_time_metadata), con una comprobación de campos del OEM emitido (tests/lunar_interoperability_export_reference.rs).
CZML (Cesium Language) escritura src/interop/czml.rs Formato de paquetes CZML de CesiumJS Un flujo JSON (JavaScript Object Notation) de paquetes con marca de tiempo para el globo de CesiumJS; los objetos en movimiento se escriben en GCRS (INERTIAL). --export czml en cualquier tipo de escenario que sitúe objetos sobre la Tierra.
KML (Keyhole Markup Language) escritura src/interop/kml.rs OGC (Open Geospatial Consortium) KML 2,2 Longitud, latitud y altura fijas a la Tierra para Google Earth y herramientas SIG (sistemas de información geográfica). --export kml.
GeoJSON escritura y lectura (ruta) src/interop/geojson.rs IETF (Grupo de Trabajo de Ingeniería de Internet) RFC 7946 Geometría fija a la Tierra para mapas web y herramientas SIG (--export geojson); un LineString se lee de vuelta como la entrada de trayectoria recta de los tipos que vuelan una (--import-route <route.geojson>).
Efemérides de STK (.e, EphemerisTimePosVel) escritura src/interop/stk.rs Formato de archivo de efemérides de Ansys STK Posición y velocidad inerciales (ICRF) para STK y herramientas que leen su formato de efemérides. --export stk.
SigMF (Formato de Metadatos de Señal) lectura y escritura src/sigmf.rs Especificación SigMF Grabaciones complejas en banda base más metadatos JSON: el tipo spectrum escribe sus muestras sintetizadas en fase/cuadratura (IQ) (--export sigmf) y lee una grabación mediante su bloque [recording].
Texto del mensaje de navegación LEO (de estilo RINEX 4 y CSV (valores separados por comas)) lectura y escritura src/leo_navmsg/text.rs Disposición de navegación RINEX 4, adaptada Las efemérides y el reloj de difusión del tipo leo-navmsg para un satélite en órbita terrestre baja (LEO), exportados y reimportados; una adaptación documentada, no un tipo de mensaje RINEX registrado (MODELLED en la matriz de verificación).

Marcos de referencia y tiempo#

El marco que emite el motor es explícito, no implícito. La reducción IAU (Unión Astronómica Internacional) 2006/2000A basada en el CIO (CIO: origen intermedio celeste) (src/cio.rs) y la reducción TEME (ecuador verdadero, equinoccio medio) de equinoccio/GMST (GMST: tiempo sidéreo medio de Greenwich) (src/frames.rs, src/nutation.rs) están validadas bit a bit frente a los vectores de referencia SOFA/ERFA (SOFA: Estándares de Astronomía Fundamental; ERFA: Rutinas Esenciales para Astronomía Fundamental) (véase VALIDATION.md).

Trama Realización Notas
TEME nativo de SGP4 Ecuador verdadero, equinoccio medio: el marco de salida de SGP4/SDP4.
GCRS (Sistema Celeste de Referencia Geocéntrico) / J2000 precesión IAU 2006 + nutación IAU 2000A/2000B teme_to_gcrs (cadena de equinoccio).
CIRS (Sistema Celeste Intermedio de Referencia) CIO IAU 2006/2000A (X, Y, s) gcrs_to_cirs_matrix (eraC2ixys).
ITRS (Sistema Terrestre Internacional de Referencia) / ECEF ERA (ángulo de rotación de la Tierra) + movimiento polar del IERS (CIO) o GMST + movimiento polar (equinoccio) gcrs_to_itrs_matrix (CIO, eraC2tcio) / teme_to_itrf (equinoccio).
geodésico WGS-84 (WGS: Sistema Geodésico Mundial) exacto + inverso iterativo ecef_to_geodetic / geodetic_to_ecef.
Escala de tiempo Uso
TT (Tiempo Terrestre) Evaluación del argumento de precesión/nutación/CIO (jd_tt).
UT1 Ángulo de rotación de la Tierra / GMST (jd_ut1).
JD en dos partes (fecha juliana) src/jd2.rs Jd2 para una resolución de época inferior al µs.

Correspondencia entre campos de salida y norma (CCSDS 502,0)#

Lo que los dos escritores de mensajes de órbita colocan en cada campo de los ODM de CCSDS (Mensajes de Datos Orbitales, 502,0), leído de una ejecución de scenarios/orbit-sgp4-gps.toml con --export-oem y --export-omm:

Salida de Kshana Campo ODM de CCSDS Valor / unidad
Metadatos del segmento OEM CENTER_NAME / REF_FRAME / TIME_SYSTEM EARTH / TEME / GPS: el marco en el que integran los propagadores y la escala de tiempo de la malla de épocas, sin cambiar de etiqueta
Época de estado OEM primera columna de cada línea de datos tiempo de calendario ISO-8601 (ISO: Organización Internacional de Normalización), escala de tiempo GPS
Posición y velocidad OEM columnas de datos X Y Z X_DOT Y_DOT Z_DOT km, km/s
Metadatos OMM REF_FRAME / TIME_SYSTEM / MEAN_ELEMENT_THEORY TEME / UTC / SGP4
Época OMM EPOCH forma ISO-8601 de día del año (la época del TLE)
Elementos medios OMM MEAN_MOTION / ECCENTRICITY / INCLINATION / RA_OF_ASC_NODE / ARG_OF_PERICENTER / MEAN_ANOMALY / BSTAR rev/día, –, grados, 1/radios terrestres

El JSON (JavaScript Object Notation) de resultados del tipo ephemeris lleva el mismo estado en unidades del SI (Sistema Internacional de Unidades) por muestra: jd_utc, teme_r_m / teme_v_m_s, gcrs_r_m / gcrs_v_m_s, ecef_r_m (m, m/s), además de lat_deg, lon_deg, alt_km.

Alcance real#

  • OEM, TDM, Space Packet, KIF, SigMF y el texto del mensaje de navegación LEO son de lectura y escritura; OMM, CZML, KML y las efemérides de STK son escritores (un lector de OMM y la serialización XML son trabajos posteriores); GeoJSON se escribe y se lee de vuelta como una ruta; RINEX NAV, RINEX OBS, IONEX, los productos EOP del IERS y TLE son lectores; la exportación lunar LunaNet/IOAG es un escritor cuyos metadatos de tiempo hacen el viaje de ida y vuelta. INTEROP.md enumera qué exportación se aplica a cada escenario incluido.
  • La correspondencia de campos CCSDS/IGS anterior es documentación, no una afirmación de que se satisfaga ninguna norma; la evaluación formal frente a esas normas (y el registro en el catálogo abierto de la ESA (Agencia Espacial Europea) ESSR (Repositorio Europeo de Software Espacial) / NASA (Administración Nacional de Aeronáutica y del Espacio)) se sigue por separado y está pendiente de revisión.
  • La comprobación numérica cruzada independiente de la reducción de marcos con SPICE/ANISE (SPICE: Spacecraft, Planet, Instrument, C-matrix, Events; ANISE: Attitude, Navigation, Instrument, Spacecraft, Ephemeris, un conjunto de herramientas de geometría planetaria en Rust puro) se entrega en el crate autónomo xval/anise-frames/, excluido del espacio de trabajo: gcrs_to_itrs_matrix frente a la rotación GCRF (Marco Celeste de Referencia Geocéntrico) → ITRF93 (Marco Terrestre Internacional de Referencia 1993) de ANISE en ocho épocas 2020–2023 concuerda a ≤ 0,86 m en el suelo y a ≤ 3,6 m en la órbita GNSS (véase VALIDATION.md). Necesita núcleos SPICE, por lo que no es una puerta predeterminada de integración continua (CI).