Standarder og interoperabilitet
Kshana taler de standardiserede udvekslingsformater i miljøerne omkring GNSS (global navigation satellite system), flyvedynamik og tidssynkronisering, så den kan stå side om side med RTKLIB (et open source-bibliotek til kinematisk positionering i realtid), gLAB, Ginan, GMAT (General Mission Analysis Tool), Orekit og værktøjerne hos IGS' (International GNSS Service) analysecentre i stedet for på en privat ø. Denne side knytter de udvekslingsformater, motoren parser eller udsender, til det modul, der implementerer hvert af dem, og til den autoritative specifikation.
Den er afgrænset til formater: ting med en læse-/skriveretning. De signal- og algoritmestandarder, motoren implementerer frem for at parse (IS-GPS-200 (IS: Interface Specification; GPS: Global Positioning System), IEEE (Institute of Electrical and Electronics Engineers) 1139, RTCA (tidligere Radio Technical Commission for Aeronautics) DO-229E, IGRF-14 (IGRF: International Geomagnetic Reference Field), ARAIM (advanced receiver autonomous integrity monitoring) WG-C (WG: Working Group)-referencen, CCSDS (Consultative Committee for Space Data Systems) 401/DSN (DSN: Deep Space Network)) dokumenteres i stedet række for række i VERIFICATION-MATRIX.md.
Formater, motoren taler#
| Standard | Retning | Modul | Specifikation / autoritet | Noter |
|---|---|---|---|---|
| CCSDS OEM (Orbit Ephemeris Message) | læs og skriv | src/oem.rs |
CCSDS 502.0-B Orbit Data Messages, KVN-form (keyword-value notation) | Tabuleret tilstandsvektor-efemeride, som indlæses af GMAT, Orekit og STK (Systems Tool Kit). parse_oem læser den tilbage; valideret ved at gendanne ordret CCSDS 502.0-B-3 Figure G-11 Blue Book-eksemplet (tests/ccsds_reference.rs). Den valgfri kovariansblok på 6×6 for position/hastighed (COVARIANCE_START … COVARIANCE_STOP, den 21-elements nedre-trekant-KVN-serialisering med en valgfri COV_REF_FRAME) både skrives (covariance_block_kvn) og læses (parse_covariance_block), rundturs-symmetrisk (tests i src/oem.rs). |
| CCSDS OMM (Orbit Mean-Elements Message) | skriv | src/omm.rs |
CCSDS 502.0-B-2, KVN-form | Standardspor-publikation af middelelementer for SGP4/TLE (SGP4: Simplified General Perturbations 4; TLE: to-linjers elementsæt) (middelbevægelse, e, i, Ω, ω, M, BSTAR (modstandsleddet i banepropagatoren)). Kan nås fra CLI (CLI: kommandolinjegrænseflade) på et scenarie orbit via --export-omm <out.omm> eller export_omm = true (én OMM pr. TLE-defineret satellit, med dens virkelige NORAD-id (North American Aerospace Defense Command), COSPAR-betegnelse (Committee on Space Research) og epoke; tests/sp3_export_roundtrip.rs). XML-form (Extensible Markup Language) og en læser er opfølgere. |
| CCSDS TDM (Tracking Data Message) | læs og skriv | src/ccsds_tdm.rs |
CCSDS 503.0-B Tracking Data Message, KVN-form | Afstands-/Doppler-/vinkelsporingsposter, som en DSN/ESTRACK-passage (ESTRACK: European Space Tracking network) leverer til et OD-system (banebestemmelse). Valideret ved at gendanne ordret CCSDS 503.0-B-2 Figure E-9 Blue Book-eksemplet (tests/ccsds_reference.rs). |
| CCSDS Space Packet (133,0) | læs og skriv | src/space_packet.rs |
CCSDS 133.0-B-2 Space Packet Protocol | Rammeopbygningen af den 6-oktets primære TM/TC-header (TM: telemetri; TC: telekommando), som jordsystemer udveksler. Indkoderen gengiver det uafhængige biblioteks spacepackets-py publicerede testvektorer på byteniveau (tests i src/space_packet.rs). |
| SP3-c (SP3: Standard Product 3, formatet for præcise baner) / SP3-d (præcis efemeride) | læs og skriv | src/sp3.rs |
IGS Standard Product 3 (c/d) | Jordfast (ECEF) position + urtidsserie. Rundtur valideret til < 0,5 m på et virkeligt snapshot af gps-ops (tests/sp3_export_roundtrip.rs). |
| RINEX (Receiver Independent Exchange Format) 3 (broadcast-navigation) | læs | src/rinex.rs |
RINEX 3.x NAV (IS-GPS-200, Galileo ICD (interface control document), BeiDou ICD, GLONASS ICD (Ruslands Global Navigation Satellite System)) | Indlæsning af NAV for flere GNSS (GPS LNAV (legacy navigation message), Galileo F/NAV, QZSS (Japans Quasi-Zenith Satellite System), BeiDou MEO/IGSO (MEO: mellemhøj jordbane; IGSO: skråtstillet geosynkron bane), GLONASS-tilstandsvektor); kan bruges som en førsteklasses Propagator-kilde. |
| TLE / 3LE (to-/trelinjers elementer) | læs | src/tle.rs |
NORAD / Celestrak, AIAA (American Institute of Aeronautics and Astronautics) 2006-6753 | Propageret af den validerede SGP4/SDP4-kerne (SDP4: Simplified Deep-space Perturbations 4) (4,12 mm mod de 666 officielle AIAA-vektorer). |
| RINEX 3.0x (observation) | læs | src/rinex_obs.rs |
RINEX 3.0x OBS (4,00 forventes at kunne parses, aldrig afprøvet på en 4,00-fil) | Den anden halvdel af RINEX: modtagerens egne poster for kode/bærebølge/Doppler/SNR (SNR: signal-til-støj-forhold) (parse_obs). Det er det input, som positionsløseren pvt til enkeltpunktspositionering forbruger sammen med broadcast-navigationsfilen (tests/pvt_abmf.rs, virkelig IGS-station ABMF). |
| IONEX (IONosphere map EXchange format; globale TEC-kort (total electron content)) | læs | src/ionex.rs |
IONEX 1.x (IGS' ionosfæreprodukt) | parse_ionex læser IGS' globale gitre for totalt elektronindhold — det målte alternativ til den udsendte Klobuchar-korrektion — med bilineær rumlig og tidslig interpolation og obliquitetsafbildningen til skrå forsinkelse. |
IERS (International Earth Rotation and Reference Systems Service) finals2000A / Bulletin B (jordorientering) |
læs | 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) og polbevægelse fra det officielle produkt, inklusive de forudsagte rækker, så referencesystemreduktionen kan køres i realtid og væksten i dens forudsigelsesfejl budgetteres (tests/operational_eop_predictor_reference.rs). |
| KIF (Kshana Interchange Format) | læs og skriv | src/interchange.rs |
dette repositorium — se SCHEMA.md |
Den neutrale, versionerede indpakning, som alle artefakter kan pakkes ind i: format / schema_version / kind / engine_version / payload, med et eksplicit major-minor-kompatibilitetsverdikt til en forbruger. Ikke en ekstern standard; dokumenteret her, fordi et fremmed værktøj skal kunne genkende den. |
| LunaNet / IOAG (Interagency Operations Advisory Group) månearbejdsudveksling | skriv (tidsmetadata læses også) | src/lunar_interop.rs |
LunaNet-interoperabilitetsspecifikationen / IOAG's arkitektur for månekommunikation, over CCSDS 502,0 | Månereferencesystemet, månetidsskalaen og månens efemeride udsendt i LunaNet/IOAG-tilpassede CCSDS-former (export_lunar_oem, export_kif_lunar, export_lunar_time_metadata), med en feltkontrol af den udsendte OEM (tests/lunar_interoperability_export_reference.rs). |
| CZML (Cesium Language) | skriv | src/interop/czml.rs |
CesiumJS' CZML-pakkeformat | En JSON-strøm (JavaScript Object Notation) af tidsmærkede pakker til CesiumJS-globussen; bevægelige objekter skrevet i GCRS (INERTIAL). --export czml på enhver type, der placerer objekter på Jorden. |
| KML (Keyhole Markup Language) | skriv | src/interop/kml.rs |
OGC (Open Geospatial Consortium) KML 2,2 | Jordfast længdegrad, breddegrad og højde til Google Earth og GIS-værktøjer (geografisk informationssystem). --export kml. |
| GeoJSON | skriv og læs (rute) | src/interop/geojson.rs |
IETF (Internet Engineering Task Force) RFC 7946 | Jordfast geometri til webkort og GIS-værktøjer (--export geojson); en LineString læses tilbage som det rette sporinput til de typer, der flyver et (--import-route <route.geojson>). |
STK-efemeride (.e, EphemerisTimePosVel) |
skriv | src/interop/stk.rs |
Ansys STK's efemeridefilformat | Inertial (ICRF) position og hastighed til STK og værktøjer, der læser dets efemeridformat. --export stk. |
| SigMF (Signal Metadata Format) | læs og skriv | src/sigmf.rs |
SigMF-specifikationen | Komplekse basisbåndsoptagelser plus JSON-metadata: typen spectrum skriver sine syntetiserede in-fase/kvadratur-sampler (IQ) (--export sigmf) og læser en optagelse gennem sin blok [recording]. |
| Tekst til LEO-navigationsmeddelelse (i RINEX-4-stil og CSV (kommaseparerede værdier)) | læs og skriv | src/leo_navmsg/text.rs |
RINEX 4-navigationslayout, tilpasset | Typen leo-navmsgs broadcast-efemeride og -ur for en satellit i lav jordbane (LEO), eksporteret og genindlæst; en dokumenteret tilpasning, ikke en registreret RINEX-meddelelsestype (MODELLED i verifikationsmatrixen). |
Referencesystemer og tid#
Det referencesystem, motoren udsender, er eksplicit, ikke implicit. Den CIO-baserede (CIO: Celestial Intermediate Origin) IAU-reduktion (International Astronomical Union) 2006/2000A (src/cio.rs) og ækvinoks/GMST-reduktionen (GMST: Greenwich mean sidereal time) TEME (true equator, mean equinox) (src/frames.rs, src/nutation.rs) er valideret bit for bit mod referencevektorerne fra SOFA/ERFA (SOFA: Standards of Fundamental Astronomy; ERFA: Essential Routines for Fundamental Astronomy) (se VALIDATION.md).
| Ramme | Realisering | Noter |
|---|---|---|
| TEME | SGP4 native | True equator, mean equinox — SGP4/SDP4's outputsystem. |
| GCRS (Geocentric Celestial Reference System) / J2000 | IAU 2006-præcession + IAU 2000A/2000B-nutation | teme_to_gcrs (ækvinokskæde). |
| 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-polbevægelse (CIO) eller GMST + polbevægelse (ækvinoks) | gcrs_to_itrs_matrix (CIO, eraC2tcio) / teme_to_itrf (ækvinoks). |
| WGS-84 (WGS: World Geodetic System) geodætisk | eksakt + iterativ invers | ecef_to_geodetic / geodetic_to_ecef. |
| Tidsskala | Brug |
|---|---|
| TT (Terrestrial Time) | Evaluering af argumenterne for præcession/nutation/CIO (jd_tt). |
| UT1 | Jordrotationsvinkel / GMST (jd_ut1). |
| To-dels JD (juliansk dato) | src/jd2.rs Jd2 til epokeopløsning under µs. |
Afbildning fra outputfelt til standard (CCSDS 502,0)#
Hvad de to orbitmeddelelsesskrivere lægger i hvert CCSDS ODM-felt (Orbit Data Messages, 502,0), læst fra en kørsel af scenarios/orbit-sgp4-gps.toml med --export-oem og --export-omm:
| Kshana-output | CCSDS ODM-felt | Værdi / enhed |
|---|---|---|
| OEM-segmentmetadata | CENTER_NAME / REF_FRAME / TIME_SYSTEM |
EARTH / TEME / GPS — det referencesystem, propagatorerne integrerer i, og tidsskalaen for epokegitteret, ikke omdøbt |
| OEM-tilstandsepoke | første kolonne i hver datalinje | ISO-8601 (ISO: International Organization for Standardization) kalendertid, GPS-tidsskala |
| OEM-position, -hastighed | datakolonner 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-epoke | EPOCH |
ISO-8601-form med dag i året (TLE-epoken) |
| OMM-middelelementer | MEAN_MOTION / ECCENTRICITY / INCLINATION / RA_OF_ASC_NODE / ARG_OF_PERICENTER / MEAN_ANOMALY / BSTAR |
omdr./dag, –, grader, 1/jordradier |
Resultat-JSON (JavaScript Object Notation) for typen ephemeris bærer den samme tilstand i SI-enheder (International System of Units) pr. 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 omfang#
- OEM, TDM, Space Packet, KIF, SigMF og teksten til LEO-navigationsmeddelelsen læses og skrives; OMM, CZML, KML og STK-efemeride er skrivere (en OMM-læser og XML-serialiseringen er opfølgere); GeoJSON skrives og læses tilbage som en rute; RINEX NAV, RINEX OBS, IONEX, IERS' EOP-produkter og TLE er læsere; LunaNet/IOAG-måneeksporten er en skriver, hvis tidsmetadata gør rundtur.
INTEROP.mdangiver, hvilken eksport der gælder for hvert medfølgende scenarie. - Feltafbildningen for CCSDS/IGS ovenfor er dokumentation, ikke en erklæring om, at nogen standard er opfyldt; en formel vurdering mod disse standarder (og registrering i ESA's (European Space Agency) ESSR (European Space Software Repository) / NASA's (National Aeronautics and Space Administration) åbne katalog) følges separat og afventer gennemgang.
- Den uafhængige numeriske krydskontrol af referencesystemreduktionen med SPICE/ANISE (SPICE: Spacecraft, Planet, Instrument, C-matrix, Events; ANISE: Attitude, Navigation, Instrument, Spacecraft, Ephemeris — et rent Rust-værktøjssæt til planetgeometri) leveres i den selvstændige crate
xval/anise-frames/, der er udeladt fra workspacet:gcrs_to_itrs_matrixmod ANISE's rotation fra GCRF (Geocentric Celestial Reference Frame) til ITRF93 (International Terrestrial Reference Frame 1993) over otte epoker 2020–2023 stemmer til ≤ 0,86 m på jorden og ≤ 3,6 m ved GNSS-bane (seVALIDATION.md). Den kræver SPICE-kerner, så den er ikke en standard-gate i kontinuerlig integration (CI).