Tradução automática, não revista por um falante nativo. O inglês é a referência.

Validação e evidênciasEditar no GitHubFonte: docs/STANDARDS.md

Normas e interoperabilidade

O Kshana fala os formatos de intercâmbio normalizados das comunidades de GNSS (sistema global de navegação por satélite), de dinâmica de voo e de temporização, para poder estar ao lado do RTKLIB (uma biblioteca de código aberto de posicionamento cinemático em tempo real), do gLAB, do Ginan, do GMAT (General Mission Analysis Tool), do Orekit e das ferramentas dos centros de análise do IGS (International GNSS Service), em vez de numa ilha privada. Esta página associa os formatos de intercâmbio que o motor analisa ou emite ao módulo que implementa cada um e à especificação de referência.

Está limitada aos formatos — coisas com um sentido de leitura/escrita. As normas de sinal e de algoritmo que o motor implementa em vez de analisar (IS-GPS-200 (IS: Interface Specification; GPS: Global Positioning System), IEEE (Institute of Electrical and Electronics Engineers) 1139, RTCA (anteriormente Radio Technical Commission for Aeronautics) DO-229E, IGRF-14 (IGRF: International Geomagnetic Reference Field), a referência WG-C (WG: Working Group) do ARAIM (monitorização avançada da integridade autónoma do recetor), CCSDS (Consultative Committee for Space Data Systems) 401/DSN (DSN: Deep Space Network)) são evidenciadas linha a linha em VERIFICATION-MATRIX.md.

Formatos que o motor fala#

Norma Sentido Módulo Especificação / autoridade Notas
CCSDS OEM (Orbit Ephemeris Message) leitura e escrita src/oem.rs CCSDS 502.0-B Orbit Data Messages, forma KVN (notação chave-valor) Efeméride tabulada de vetores de estado ingerida pelo GMAT, pelo Orekit e pelo STK (Systems Tool Kit). parse_oem lê-a de volta; validada pela recuperação do exemplo literal da Figura G-11 do Livro Azul CCSDS 502.0-B-3 (tests/ccsds_reference.rs). O bloco de covariância opcional de posição/velocidade de 6×6 (COVARIANCE_START … COVARIANCE_STOP, a serialização KVN do triângulo inferior de 21 elementos com um COV_REF_FRAME opcional) é escrito (covariance_block_kvn) e lido (parse_covariance_block), com simetria de ida e volta (testes de src/oem.rs).
CCSDS OMM (Orbit Mean-Elements Message) escrita src/omm.rs CCSDS 502.0-B-2, forma KVN Publicação em via de normalização dos elementos médios SGP4/TLE (SGP4: Simplified General Perturbations 4; TLE: conjunto de elementos de duas linhas) (movimento médio, e, i, Ω, ω, M, BSTAR (o termo de arrasto do propagador de órbita)). Acessível pela CLI (CLI: interface de linha de comandos) num cenário orbit através de --export-omm <out.omm> ou export_omm = true (um OMM por satélite definido por TLE, com o seu verdadeiro identificador NORAD (North American Aerospace Defense Command), designador COSPAR (Committee on Space Research) e época; tests/sp3_export_roundtrip.rs). A forma XML (Extensible Markup Language) e um leitor são desenvolvimentos futuros.
CCSDS TDM (Tracking Data Message) leitura e escrita src/ccsds_tdm.rs CCSDS 503.0-B Tracking Data Message, forma KVN Registos de seguimento de distância / Doppler / ângulo que uma passagem DSN/ESTRACK (ESTRACK: European Space Tracking network) entrega a um sistema de OD (determinação de órbita). Validado pela recuperação do exemplo literal da Figura E-9 do Livro Azul CCSDS 503.0-B-2 (tests/ccsds_reference.rs).
CCSDS Space Packet (133,0) leitura e escrita src/space_packet.rs CCSDS 133.0-B-2 Space Packet Protocol O enquadramento do cabeçalho primário TM/TC (TM: telemetria; TC: telecomando) de 6 octetos que os sistemas de terra trocam. O codificador reproduz os vetores de teste ao nível do byte publicados pela biblioteca independente spacepackets-py (testes de src/space_packet.rs).
SP3-c (SP3: Standard Product 3, o formato de órbita precisa) / SP3-d (efeméride precisa) leitura e escrita src/sp3.rs IGS Standard Product 3 (c/d) Série temporal de posição fixa à Terra (ECEF) + tempo do relógio. Ida e volta validada a < 0,5 m num instantâneo real de gps-ops (tests/sp3_export_roundtrip.rs).
RINEX (Receiver Independent Exchange Format) 3 (navegação difundida) leitura src/rinex.rs RINEX 3.x NAV (IS-GPS-200, ICD do Galileo (documento de controlo de interface), ICD do BeiDou, ICD do GLONASS (sistema global de navegação por satélite da Rússia)) Ingestão NAV multi-GNSS (GPS LNAV (mensagem de navegação legada), Galileo F/NAV, QZSS (sistema japonês Quasi-Zenith Satellite System), BeiDou MEO/IGSO (MEO: órbita terrestre média; IGSO: órbita geossíncrona inclinada), vetor de estado GLONASS); utilizável como fonte de Propagator de primeira classe.
TLE / 3LE (elementos de duas / três linhas) leitura src/tle.rs NORAD / Celestrak, AIAA (American Institute of Aeronautics and Astronautics) 2006-6753 Propagado pelo núcleo SGP4/SDP4 validado (SDP4: Simplified Deep-space Perturbations 4) (4,12 mm face aos 666 vetores oficiais da AIAA).
RINEX 3.0x (observação) leitura src/rinex_obs.rs RINEX 3.0x OBS (prevê-se que o 4,00 seja analisado, mas nunca foi exercitado num ficheiro 4,00) A outra metade do RINEX: os registos de código/portadora/Doppler/SNR (SNR: razão sinal-ruído) do próprio recetor (parse_obs). É a entrada que o solucionador de posicionamento de ponto único pvt consome junto com o ficheiro de navegação difundido (tests/pvt_abmf.rs, estação IGS real ABMF).
IONEX (IONosphere map EXchange format; mapas globais de TEC (conteúdo eletrónico total)) leitura src/ionex.rs IONEX 1.x (produto de ionosfera do IGS) parse_ionex lê as grelhas globais de conteúdo eletrónico total do IGS — a alternativa medida à correção de Klobuchar difundida — com interpolação espacial e temporal bilinear e o mapeamento de obliquidade para o atraso oblíquo.
IERS (International Earth Rotation and Reference Systems Service) finals2000A / Bulletin B (orientação da Terra) leitura src/eop.rs, src/frame_eop.rs IERS Conventions; IERS EOP (parâmetros de orientação da Terra) 14 C04 / finals2000A.all UT1 (Universal Time 1, tempo de rotação da Terra)−UTC (Tempo Universal Coordenado) e movimento polar a partir do produto oficial, incluindo as linhas previstas, de modo que a redução de referencial possa ser executada em tempo real e o crescimento do seu erro de previsão orçamentado (tests/operational_eop_predictor_reference.rs).
KIF (Kshana Interchange Format) leitura e escrita src/interchange.rs este repositório — ver SCHEMA.md O envelope neutro e versionado em que qualquer artefacto pode ser embrulhado: format / schema_version / kind / engine_version / payload, com um veredicto explícito de compatibilidade maior-menor para um consumidor. Não é uma norma externa; está documentado aqui porque uma ferramenta alheia tem de o reconhecer.
Intercâmbio lunar LunaNet / IOAG (Interagency Operations Advisory Group) escrita (os metadados de tempo também são lidos) src/lunar_interop.rs Especificação de interoperabilidade LunaNet / arquitetura de comunicações lunares do IOAG, sobre CCSDS 502,0 O referencial lunar, a escala de tempo lunar e a efeméride lunar emitidos em formas CCSDS alinhadas com o LunaNet/IOAG (export_lunar_oem, export_kif_lunar, export_lunar_time_metadata), com uma verificação de campos no OEM emitido (tests/lunar_interoperability_export_reference.rs).
CZML (Cesium Language) escrita src/interop/czml.rs Formato de pacotes CZML do CesiumJS Um fluxo JSON (JavaScript Object Notation) de pacotes com marca temporal para o globo do CesiumJS; objetos em movimento escritos em GCRS (INERTIAL). --export czml em qualquer tipo de cenário que coloque objetos na Terra.
KML (Keyhole Markup Language) escrita src/interop/kml.rs OGC (Open Geospatial Consortium) KML 2,2 Longitude, latitude e altura fixas à Terra para o Google Earth e para ferramentas SIG (sistemas de informação geográfica). --export kml.
GeoJSON escrita e leitura (percurso) src/interop/geojson.rs IETF (Internet Engineering Task Force) RFC 7946 Geometria fixa à Terra para mapas web e ferramentas SIG (--export geojson); um LineString é lido de volta como a entrada de trajeto reto dos tipos de cenário que fazem voar um (--import-route <route.geojson>).
Efeméride STK (.e, EphemerisTimePosVel) escrita src/interop/stk.rs Formato de ficheiro de efeméride Ansys STK Posição e velocidade inerciais (ICRF) para o STK e para ferramentas que leem o seu formato de efeméride. --export stk.
SigMF (Signal Metadata Format) leitura e escrita src/sigmf.rs Especificação SigMF Gravações complexas em banda de base mais metadados JSON: o tipo de cenário spectrum escreve as suas amostras sintetizadas em fase/quadratura (IQ) (--export sigmf) e lê uma gravação através do seu bloco [recording].
Texto de mensagem de navegação LEO (estilo RINEX-4 e CSV (valores separados por vírgulas)) leitura e escrita src/leo_navmsg/text.rs Estrutura de navegação RINEX 4, adaptada A efeméride difundida e o relógio do tipo de cenário leo-navmsg para um satélite de órbita terrestre baixa (LEO), exportados e reimportados; uma adaptação documentada, e não um tipo de mensagem RINEX registado (MODELLED na matriz de verificação).

Referenciais e tempo#

O referencial que o motor emite é explícito, e não implícito. A redução IAU (International Astronomical Union) 2006/2000A baseada no CIO (CIO: Celestial Intermediate Origin) (src/cio.rs) e a redução TEME (equador verdadeiro, equinócio médio) por equinócio/GMST (GMST: tempo sideral médio de Greenwich) (src/frames.rs, src/nutation.rs) são validadas bit a bit face aos vetores de referência SOFA/ERFA (SOFA: Standards of Fundamental Astronomy; ERFA: Essential Routines for Fundamental Astronomy) (ver VALIDATION.md).

Trama Realização Notas
TEME SGP4 nativo Equador verdadeiro, equinócio médio — o referencial de saída do SGP4/SDP4.
GCRS (Geocentric Celestial Reference System) / J2000 Precessão IAU 2006 + nutação IAU 2000A/2000B teme_to_gcrs (cadeia do equinócio).
CIRS (Celestial Intermediate Reference System) IAU 2006/2000A CIO (X, Y, s) gcrs_to_cirs_matrix (eraC2ixys).
ITRS (International Terrestrial Reference System) / ECEF ERA (ângulo de rotação da Terra) + movimento polar do IERS (CIO) ou GMST + movimento polar (equinócio) gcrs_to_itrs_matrix (CIO, eraC2tcio) / teme_to_itrf (equinócio).
WGS-84 (WGS: World Geodetic System) geodésico exato + inverso iterativo ecef_to_geodetic / geodetic_to_ecef.
Escala de tempo Utilização
TT (Tempo Terrestre) Avaliação do argumento de precessão/nutação/CIO (jd_tt).
UT1 Ângulo de rotação da Terra / GMST (jd_ut1).
JD em duas partes (data juliana) src/jd2.rs Jd2 para resolução de época inferior a µs.

Campo de saída → mapeamento para a norma (CCSDS 502,0)#

O que os dois escritores de mensagens de órbita colocam em cada campo ODM (Orbit Data Messages, 502,0) do CCSDS, lido a partir de uma execução de scenarios/orbit-sgp4-gps.toml com --export-oem e --export-omm:

Saída do Kshana Campo ODM do CCSDS Valor / unidade
Metadados do segmento OEM CENTER_NAME / REF_FRAME / TIME_SYSTEM EARTH / TEME / GPS — o referencial em que os propagadores integram e a escala de tempo da grelha de épocas, sem nova etiquetagem
Época de estado do OEM primeira coluna de cada linha de dados tempo de calendário ISO-8601 (ISO: International Organization for Standardization), escala de tempo GPS
Posição e velocidade do OEM colunas de dados X Y Z X_DOT Y_DOT Z_DOT km, km/s
Metadados do OMM REF_FRAME / TIME_SYSTEM / MEAN_ELEMENT_THEORY TEME / UTC / SGP4
Época do OMM EPOCH forma ISO-8601 de dia do ano (a época do TLE)
Elementos médios do OMM MEAN_MOTION / ECCENTRICITY / INCLINATION / RA_OF_ASC_NODE / ARG_OF_PERICENTER / MEAN_ANOMALY / BSTAR rev/dia, –, graus, 1/raios terrestres

O JSON (JavaScript Object Notation) de resultado do tipo de cenário ephemeris transporta o mesmo estado em unidades SI (Sistema Internacional de Unidades) por amostra: jd_utc, teme_r_m / teme_v_m_s, gcrs_r_m / gcrs_v_m_s, ecef_r_m (m, m/s), mais lat_deg, lon_deg, alt_km.

Âmbito honesto#

  • OEM, TDM, Space Packet, KIF, SigMF e o texto de mensagem de navegação LEO são de leitura e escrita; OMM, CZML, KML e a efeméride STK são escritores (um leitor de OMM e a serialização XML são desenvolvimentos futuros); o GeoJSON é escrito e lido de volta como um percurso; RINEX NAV, RINEX OBS, IONEX, os produtos EOP do IERS e o TLE são leitores; a exportação lunar LunaNet/IOAG é um escritor cujos metadados de tempo fazem ida e volta. INTEROP.md indica que exportação se aplica a cada cenário incluído.
  • O mapeamento de campos CCSDS/IGS acima é documentação, e não uma declaração de que qualquer norma seja satisfeita; a avaliação formal face a essas normas (e o registo no catálogo aberto da ESA (European Space Agency) ESSR (European Space Software Repository) / NASA (National Aeronautics and Space Administration)) é acompanhada separadamente e está pendente de revisão.
  • A verificação cruzada numérica independente SPICE/ANISE (SPICE: Spacecraft, Planet, Instrument, C-matrix, Events; ANISE: Attitude, Navigation, Instrument, Spacecraft, Ephemeris — um conjunto de ferramentas de geometria planetária em Rust puro) da redução de referencial é entregue no crate autónomo, excluído do workspace, xval/anise-frames/: gcrs_to_itrs_matrix face à rotação GCRF (Geocentric Celestial Reference Frame) → ITRF93 (International Terrestrial Reference Frame 1993) do ANISE, ao longo de oito épocas 2020–2023, concorda a ≤ 0,86 m à superfície e a ≤ 3,6 m na órbita GNSS (ver VALIDATION.md). Precisa de kernels SPICE, pelo que não é uma barreira predefinida da integração contínua (CI).