Maskinöversättning, inte granskad av en modersmålstalare. Engelska är referensen.

Validering och evidensRedigera på GitHubKälla: docs/STANDARDS.md

Standarder och interoperabilitet

Kshana talar de standardiserade utbytesformaten hos GNSS-gemenskapen (global navigation satellite system), flygdynamik- och tidsgemenskaperna så att den kan fungera tillsammans med RTKLIB (ett bibliotek med öppen källkod för kinematisk positionering i realtid), gLAB, Ginan, GMAT (General Mission Analysis Tool), Orekit och verktygen hos IGS:s (International GNSS Service) analyscentra i stället för på en privat ö. Den här sidan kopplar de utbytesformat som motorn tolkar eller skriver ut till den modul som implementerar vart och ett och till den auktoritativa specifikationen.

Den är avgränsad till format — saker med en läs-/skrivriktning. De signal- och algoritmstandarder som motorn implementerar snarare än tolkar (IS-GPS-200 (IS: Interface Specification; GPS: Global Positioning System), IEEE (Institute of Electrical and Electronics Engineers) 1139, RTCA (tidigare Radio Technical Commission for Aeronautics) DO-229E, IGRF-14 (IGRF: International Geomagnetic Reference Field), referensen från ARAIM (advanced receiver autonomous integrity monitoring) WG-C (WG: Working Group), CCSDS (Consultative Committee for Space Data Systems) 401/DSN (DSN: Deep Space Network)) belagda rad för rad i VERIFICATION-MATRIX.md i stället.

Format som motorn talar#

Standard Riktning Modul Specifikation / auktoritet Anteckningar
CCSDS OEM (Orbit Ephemeris Message) läsning och skrivning src/oem.rs CCSDS 502.0-B Orbit Data Messages, i formen KVN (keyword-value notation) Tabellerad tillståndsvektorefemerid som GMAT, Orekit och STK (Systems Tool Kit) tar in. parse_oem läser tillbaka den; validerad genom att återskapa det ordagranna Blue Book-exemplet CCSDS 502.0-B-3 Figure G-11 (tests/ccsds_reference.rs). Det valfria 6×6 kovariansblocket för position/hastighet (COVARIANCE_START … COVARIANCE_STOP, den 21 element stora KVN-serialiseringen av nedre triangeln med en valfri COV_REF_FRAME) både skrivs (covariance_block_kvn) och läses (parse_covariance_block), symmetriskt vid rundtur (tester i src/oem.rs).
CCSDS OMM (Orbit Mean-Elements Message) skriva src/omm.rs CCSDS 502.0-B-2, i formen KVN Publikation i standardspåret av SGP4/TLE (SGP4: Simplified General Perturbations 4; TLE: tvåradig elementuppsättning) medelelement (medelrörelse, e, i, Ω, ω, M, BSTAR (dragtermen i banpropagatorn)). Nåbar från CLI (CLI: kommandoradsgränssnitt) på ett scenario orbit via --export-omm <out.omm> eller export_omm = true (en OMM per TLE-definierad satellit, med dess verkliga NORAD-id (North American Aerospace Defense Command), COSPAR-beteckning (Committee on Space Research) och epok; tests/sp3_export_roundtrip.rs). Formen XML (Extensible Markup Language) och en läsare är uppföljningar.
CCSDS TDM (Tracking Data Message) läsning och skrivning src/ccsds_tdm.rs CCSDS 503.0-B Tracking Data Message, i formen KVN Avstånds-, doppler- och vinkelspårningsposter som en DSN/ESTRACK-överflygning (ESTRACK: European Space Tracking network) levererar till ett OD-system (banbestämning). Validerad genom att återskapa det ordagranna Blue Book-exemplet CCSDS 503.0-B-2 Figure E-9 (tests/ccsds_reference.rs).
CCSDS Space Packet (133,0) läsning och skrivning src/space_packet.rs CCSDS 133.0-B-2 Space Packet Protocol Ramningen av 6-oktetters TM/TC-primärhuvud (TM: telemetri; TC: telekommando) som markssystem utbyter. Kodaren återger de publicerade testvektorerna på bytenivå från det oberoende biblioteket spacepackets-py (tester i src/space_packet.rs).
SP3-c (SP3: Standard Product 3, formatet för precisa banor) / SP3-d (precis efemerid) läsning och skrivning src/sp3.rs IGS Standard Product 3 (c/d) Jordfast (ECEF) position + klocktidsserie. Rundtur validerad till < 0,5 m på en verklig ögonblicksbild av gps-ops (tests/sp3_export_roundtrip.rs).
RINEX (Receiver Independent Exchange Format) 3 (sänd navigering) läsa src/rinex.rs RINEX 3.x NAV (IS-GPS-200, Galileo ICD (interface control document), BeiDou ICD, GLONASS (Rysslands globala satellitnavigeringssystem) ICD) Multi-GNSS-NAV-inläsning (GPS LNAV (legacy navigation message), Galileo F/NAV, QZSS (Japans Quasi-Zenith Satellite System), BeiDou MEO/IGSO (MEO: medelhög jordbana; IGSO: inklinerad geosynkron bana), GLONASS-tillståndsvektor); användbar som en förstklassig källa för Propagator.
TLE / 3LE (två-/trerads elementuppsättningar) läsa src/tle.rs NORAD / Celestrak, AIAA (American Institute of Aeronautics and Astronautics) 2006-6753 Propagerade av den validerade SGP4/SDP4-kärnan (SDP4: Simplified Deep-space Perturbations 4) (4,12 mm mot de 666 officiella AIAA-vektorerna).
RINEX 3.0x (observation) läsa src/rinex_obs.rs RINEX 3.0x OBS (4,00 förväntas kunna tolkas, men har aldrig prövats på en fil av version 4,00) Den andra hälften av RINEX: mottagarens egna kod-/bärvågs-/Doppler-/SNR-poster (SNR: signal-brusförhållande) (parse_obs). Detta är indata som lösaren för enkelpunktspositionering pvt förbrukar tillsammans med den sända navigeringsfilen (tests/pvt_abmf.rs, verklig IGS-station ABMF).
IONEX (IONosphere map EXchange format; globala TEC-kartor (total electron content)) läsa src/ionex.rs IONEX 1.x (IGS-jonosfärsprodukt) parse_ionex läser IGS globala rutnät för total elektroninnehåll — det uppmätta alternativet till den sända Klobuchar-korrektionen — med bilinjär rumslig och tidsmässig interpolation och snedställningsfaktorn till sned fördröjning.
IERS (International Earth Rotation and Reference Systems Service) finals2000A / Bulletin B (jordorientering) läsa src/eop.rs, src/frame_eop.rs IERS Conventions; IERS EOP (Earth orientation parameters) 14 C04 / finals2000A.all UT1 (Universal Time 1, jordrotationstid)−UTC (Coordinated Universal Time) och polrörelse från den officiella produkten, inklusive de förutsagda raderna, så att systemreduktionen kan köras i realtid och dess prediktionsfelstillväxt budgeteras (tests/operational_eop_predictor_reference.rs).
KIF (Kshana Interchange Format) läsning och skrivning src/interchange.rs det här repot — se SCHEMA.md Det neutrala, versionerade höljet som varje artefakt kan lindas in i: format / schema_version / kind / engine_version / payload, med ett explicit major-minor-kompatibilitetsutfall för en konsument. Inte en extern standard; dokumenterad här eftersom ett främmande verktyg måste känna igen den.
LunaNet / IOAG (Interagency Operations Advisory Group) månutbyte skrivning (tidsmetadata läses också) src/lunar_interop.rs LunaNet-interoperabilitetsspecifikation / IOAG:s arkitektur för månkommunikation, över CCSDS 502,0 Månsystemet, månens tidsskala och månefemeriden som skrivs ut i LunaNet/IOAG-anpassade CCSDS-former (export_lunar_oem, export_kif_lunar, export_lunar_time_metadata), med en fältkontroll av den utskrivna OEM (tests/lunar_interoperability_export_reference.rs).
CZML (Cesium Language) skriva src/interop/czml.rs CesiumJS CZML-paketformat En JSON-ström (JavaScript Object Notation) av tidsmärkta paket för CesiumJS-globen; rörliga objekt skrivs i GCRS (INERTIAL). --export czml på varje typ som placerar objekt på Jorden.
KML (Keyhole Markup Language) skriva src/interop/kml.rs OGC (Open Geospatial Consortium) KML 2,2 Jordfast longitud, latitud och höjd för Google Earth och GIS-verktyg (geografiskt informationssystem). --export kml.
GeoJSON skrivning och läsning (rutt) src/interop/geojson.rs IETF (Internet Engineering Task Force) RFC 7946 Jordfast geometri för webbkartor och GIS-verktyg (--export geojson); en LineString läses tillbaka som indata för rak bana till de typer som flyger en (--import-route <route.geojson>).
STK-efemerid (.e, EphemerisTimePosVel) skriva src/interop/stk.rs Ansys STK-efemeridformat Inertial (ICRF) position och hastighet för STK och verktyg som läser dess efemeridformat. --export stk.
SigMF (Signal Metadata Format) läsning och skrivning src/sigmf.rs SigMF-specifikation Komplexa basbandsinspelningar plus JSON-metadata: typen spectrum skriver sina syntetiserade IQ-sampel (in-phase/quadrature) (--export sigmf) och läser en inspelning genom sitt block [recording].
Text för LEO-navigationsmeddelande (RINEX 4-liknande och CSV (kommaseparerade värden)) läsning och skrivning src/leo_navmsg/text.rs Navigationslayout från RINEX 4, anpassad Den sända efemeriden och klockan från typen leo-navmsg för en LEO-satellit (låg jordbana), exporterad och återinläst; en dokumenterad anpassning, inte en registrerad RINEX-meddelandetyp (MODELLED i verifieringsmatrisen).

Referenssystem och tid#

Det system motorn skriver ut är explicit, inte implicit. Den CIO-baserade (CIO: Celestial Intermediate Origin) reduktionen enligt IAU (International Astronomical Union) 2006/2000A (src/cio.rs) och reduktionen för ekvinox/GMST (GMST: Greenwich mean sidereal time) TEME (true equator, mean equinox) (src/frames.rs, src/nutation.rs) är validerade bit för bit mot referensvektorerna från SOFA/ERFA (SOFA: Standards of Fundamental Astronomy; ERFA: Essential Routines for Fundamental Astronomy) (se VALIDATION.md).

Ram Realisering Anteckningar
TEME SGP4 nativt True equator, mean equinox — utdatasystemet för SGP4/SDP4.
GCRS (Geocentric Celestial Reference System) / J2000 Precession enligt IAU 2006 + nutation enligt IAU 2000A/2000B teme_to_gcrs (ekvinoxkedjan).
CIRS (Celestial Intermediate Reference System) IAU 2006/2000A CIO (X, Y, s) gcrs_to_cirs_matrix (eraC2ixys).
ITRS (International Terrestrial Reference System) / ECEF ERA (Earth rotation angle) + IERS polrörelse (CIO) eller GMST + polrörelse (ekvinox) gcrs_to_itrs_matrix (CIO, eraC2tcio) / teme_to_itrf (ekvinox).
WGS-84 (WGS: World Geodetic System) geodetisk exakt + iterativ invers ecef_to_geodetic / geodetic_to_ecef.
Tidsskala Användning
TT (Terrestrial Time) Utvärdering av argument för precession/nutation/CIO (jd_tt).
UT1 Jordrotationsvinkel / GMST (jd_ut1).
Tvådelat JD (Julianskt datum) src/jd2.rs Jd2 för epokupplösning under µs.

Utdatafält → standardmappning (CCSDS 502,0)#

Vad de två banmeddelandeskrivarna lägger i varje CCSDS ODM-fält (Orbit Data Messages, 502,0), avläst från en körning av scenarios/orbit-sgp4-gps.toml med --export-oem och --export-omm:

Kshana-utdata CCSDS ODM-fält Värde / enhet
OEM-segmentmetadata CENTER_NAME / REF_FRAME / TIME_SYSTEM EARTH / TEME / GPS — det system som propagatorerna integrerar i och tidsskalan för epokrastret, inte omdöpt
OEM-tillståndsepok första kolumnen på varje datarad ISO-8601 (ISO: International Organization for Standardization) kalendertid, GPS-tidsskala
OEM-position, hastighet datakolumner X Y Z X_DOT Y_DOT Z_DOT km, km/s
OMM-metadata REF_FRAME / TIME_SYSTEM / MEAN_ELEMENT_THEORY TEME / UTC / SGP4
OMM-epok EPOCH ISO-8601 i formen dag på året (TLE-epoken)
OMM-medelelement MEAN_MOTION / ECCENTRICITY / INCLINATION / RA_OF_ASC_NODE / ARG_OF_PERICENTER / MEAN_ANOMALY / BSTAR rev/dag, –, deg, 1/jordradier

JSON-resultatet (JavaScript Object Notation) från typen ephemeris bär samma tillstånd i SI-enheter (International System of Units) per sampel: jd_utc, teme_r_m / teme_v_m_s, gcrs_r_m / gcrs_v_m_s, ecef_r_m (m, m/s), plus lat_deg, lon_deg, alt_km.

Ärligt omfång#

  • OEM, TDM, Space Packet, KIF, SigMF och LEO-navigationsmeddelandetexten är läs och skriv; OMM, CZML, KML och STK-efemerid är skrivare (en OMM-läsare och XML-serialiseringen är uppföljningar); GeoJSON skrivs och läses tillbaka som en rutt; RINEX NAV, RINEX OBS, IONEX, IERS EOP-produkterna och TLE är läsare; LunaNet/IOAG-månexporten är en skrivare vars tidsmetadata gör rundtur. INTEROP.md anger vilken export som gäller för varje medföljande scenario.
  • Fältmappningen mellan CCSDS och IGS ovan är dokumentation, inte ett påstående att någon standard uppfylls; formell bedömning mot dessa standarder (och registrering i den öppna katalogen hos ESA (European Space Agency) ESSR (European Space Software Repository) / NASA (National Aeronautics and Space Administration)) spåras separat och väntar på granskning.
  • Den oberoende numeriska korskontrollen med SPICE/ANISE (SPICE: Spacecraft, Planet, Instrument, C-matrix, Events; ANISE: Attitude, Navigation, Instrument, Spacecraft, Ephemeris — ett planetgeometriverktyg i ren Rust) av systemreduktionen levereras i den fristående, från arbetsytan uteslutna craten xval/anise-frames/: gcrs_to_itrs_matrix mot ANISE:s rotation GCRF (Geocentric Celestial Reference Frame) → ITRF93 (International Terrestrial Reference Frame 1993) över åtta epoker 2020–2023 stämmer till ≤ 0,86 m på marken och ≤ 3,6 m vid GNSS-bana (se VALIDATION.md). Den behöver SPICE-kernlar, så den är inte en standardgrind för kontinuerlig integrering (CI).