leo-navmsg (scenarietype)
Scenarietype i motoren v0.40.0, familie Navigation i lav jordbane. Vejledende: analyseoutput fra et forsknings- og ingeniørværktøj, ikke typegodkendt navigationsudstyr og ikke en sikkerhedskritisk tjeneste (safety-of-life). Hver mærkat her er motorens eller verifikationsmatrixens; en type er MODELLED, medmindre matrixen siger andet (hvordan en mærkat opnås: afsnittet Evidens i README).
Hvad det gør#
LEO-navigationsbesked: den udsendte efemeride og det udsendte ur for en positionerings-, navigations- og tidssynkroniseringssatellit i lav jordbane (LEO), for enhver bane, bærebølge og model, med valgfrie navngivne forudindstillinger (Xona Pulsar, Iridium, Starlink, CentiSpace, et repræsentativt C-bånd-system, ATOMIC-nulur-modellen, Celeste IOD). INDHOLD: hjælpedata (SVID, issue of data, bånd, signalsundhed), synkronisering (uge, ugetid, et andenordens urpolynomium af0-af2 om toc), efemeride i en af fire modeller -- Galileo OS SIS ICD's kepleriske sæt med 16 parametre; det sæt plus korrektionspolynomier langs banen, på tværs af banen og radialt; modellen med 22 parametre fra Liu et al. 2025; et ECEF-polynomium uden urled (ATOMIC-nulur) -- og andre tjenester (et udsendt Klobuchar-sæt, NeQuick-G ai0-ai2 med det effektive ioniseringsniveau og parametre for systemtid til UTC med ICD's logik for skudsekunder). FITTER: en sandhedsbane integreret med zonal J2-J6 eller EGM2008-tyngdekraft til den valgte grad og modstand og et seedet frit eller styret ur; Levenberg-Marquardt-tilpasning af det kepleriske sæt på ikke-singulære elementer, derefter lineære mindste kvadraters korrektionspolynomier; uret tilpasset netto af det relativistiske led, som brugeren selv lægger til. ANALYSER: fit-interval-trade (afstandsfejl for signal i rummet, SISRE, med globale gennemsnitsvægte for banehøjden, mod tilpasningsinterval og opdateringsperiode, kun bane og med ur), model-comparison (fire modeller, antal parametre, kodede bit og Kshanas tilpasning ved Liu et al.s højder ved siden af de offentliggjorte tal), midpass-update (den højeste passage over en bruger, hvert beskedskifts spring i position, ur og brugerafstand, spring i den værste geometri, PASS/FAIL mod en kontinuitetstærskel), encode-decode (Kshanas egen dokumenterede binære ramme med CRC-24Q, et kvantiseringsbudget på et halvt trin pr. felt, en kontrol af en beskadiget ramme, en eksport og import af en post i RINEX-4-stil mærket som en Kshana-udvidelse og en CSV-tabel). VALIDATED: SISRE-vægtene mod den offentliggjorte MEO/GEO-tabel (Montenbruck et al. 2018); Galileo-brugeralgoritmen mod RTKLIB på reelle udsendte Galileo-efemerider; CRC-24Q mod dens katalogkontrolværdi og RTCM 1005-eksempelrammen. MODELLED: hvert tal for tilpasning og SISRE er repræsentationsfejl mod en sandhed integreret af Kshana (ingen fejl i banebestemmelse eller prædiktion); sammenligningen med Liu et al. bruger andre baner; kodnings- og tekstformaterne er Kshanas egne.
Én kørsel af scenarios/leo-navmsg-celeste-iod.toml opsummeres sådan: LEO navigation message — 510 km, 97,4 deg, gravity degree 20, model kepler-rac SISRE weights: w_R 0,459, w_AC^2 1/2.53 (mask 0 deg) encode-decode: kepler-rac model, frame 152 bytes (1156 payload bits, 891 ephemeris+clock bits), CRC-24Q 0x58ADF2 quantisation: largest position change 0,52 mm, clock 0,09 mm; SISRE exact 0,0013 m, quantised 0,0013 m corrupted frame rejected: true; RINEX round trip 4.43e-6 m; CSV round trip 0.00e0 m fit-interval trade over 1800 s (usage period = fit interval): kepler16 60 s SISRE orbit RMS 0,0003 m max 0,0015 m with clock RMS 0,0006 m kepler16 120 s SISRE orbit RMS 0,0003 m max 0,0015 m with clock RMS 0,0007 m kepler16 300 s SISRE orbit RMS 0,0036 m max 0,0141 m with clock RMS 0,0037 m kepler16 600 s SISRE orbit RMS 0,0293 m max 0,1023 m with clock RMS 0,0293 m kepler16 900 s SISRE orbit RMS 0,1073 m max 0,3812 m with clock RMS 0,1075 m kepler-rac 60 s SISRE orbit RMS 0,0000 m max 0,0000 m with clock RMS 0,0005 m kepler-rac 120 s SISRE orbit RMS 0,0001 m max 0,0002 m with clock RMS 0,0007 m kepler-rac 300 s SISRE orbit RMS 0,0005 m max 0,0021 m with clock RMS 0,0012 m kepler-rac 600 s SISRE orbit RMS 0,0097 m max 0,0395 m with clock RMS 0,0096 m kepler-rac 900 s SISRE orbit RMS 0,0388 m max 0,1143 m with clock RMS 0,0390 m Det kepleriske sæt med 16 parametre forringes fra 0,0003 m ved 60 s til 0,1073 m ved 900 s: ét kepleriske sæt med harmoniske to gange pr. omløb kan ikke følge de højfrekvente tyngdeled og modstanden på en LEO-bue i mere end nogle få minutter, og dets mindste kvadraters residual svinger hen over vinduet. Polynomierne langs/på tværs/radialt, der har højere grad, end det kepleriske sæt spænder over, optager det, der er tilbage, og giver 0,0388 m ved 900 s.
Input#
Fra skemaet (kshana kinds --json):
- Påkrævede felter: ingen
- Valgfrie felter:
name,description,seed,analysis,preset,orbit,clock,message,trade,comparison,midpass
Eksemplet scenarios/leo-navmsg-celeste-iod.toml angiver blandt andet:
| Felt | Værdi | Enhed |
|---|---|---|
analysis |
[encode-decode, fit-interval-trade] | ikke angivet |
kind |
leo-navmsg | tekst |
message.csv_schema |
celeste-iod | tekst |
name |
Celeste IOD-besked (workshop-forudindstilling) | tekst |
preset |
celeste-iod | tekst |
seed |
15 | ikke angivet |
trade.fit_intervals_s |
[60, 120, 300, 600, 900] | s |
trade.models |
[kepler16, kepler-rac] | ikke angivet |
trade.span_s |
1800 | s |
trade.update_fit_interval_s |
300 | s |
trade.update_periods_s |
[60, 150, 300] | s |
Kør den#
kshana scenarios/leo-navmsg-celeste-iod.toml
5 medfølgende scenarier bruger denne type; de øvrige findes i scenarios/.
Hvad den giver#
De skalare resultater af den kørsel, med de enheder, motoren angiver:
| Resultat | Værdi | Enhed |
|---|---|---|
encode_decode.corrupted_frame_rejected |
true | flag |
encode_decode.crc24q |
0x58ADF2 | tekst |
encode_decode.crc24q_check_value_123456789 |
0xCDE703 | tekst |
encode_decode.csv_round_trip_max_pos_m |
0 | m |
encode_decode.csv_schema |
celeste-iod | tekst |
encode_decode.ephemeris_clock_bits |
891 | bit |
encode_decode.frame_bytes |
152 | byte |
encode_decode.model |
kepler-rac | tekst |
encode_decode.payload_bits |
1156 | bit |
encode_decode.quantised_max_clock_m |
9.4929e-5 | m |
Resultatmærkat (motorens): MIXED, VALIDATED byggeklodser, MODELLED resultater. SISRE-vægtene gengiver den offentliggjorte MEO/GEO-tabel (Montenbruck et al. 2018), Galileo ICD-brugeralgoritmen gengiver RTKLIB på reelle udsendte Galileo-efemerider, og CRC-24Q gengiver sin katalogkontrolværdi og RTCM 1005-eksempelr
Evidens#
MODELLED 5 · VALIDATED 6: rækkerne i verifikationsmatrixen, der nævner denne type.
- VALIDATED leo_navmsg::sisre::sisre_weights: den radiale vægt w_R og den kvadrerede tværvægt w_AC^2 som gennemsnit af cos^2 og halv sin^2 af sigtelinjens nadirvinkel over brugere jævnt fordelt på den synlige jordkalot over en elevati
- VALIDATED leo_navmsg::elements::kepler_point: Galileo OS SIS ICD's kepleriske evaluering (Keplers ligning, andenharmoniske korrektioner, jordfast knude) skrevet separat fra motorens RINEX-evaluator, der returnerer positionen med argumentet Tests: leo_navmsg_reference.rs.
- VALIDATED leo_navmsg::codec::crc24q: generatorpolynomium 0x1864CFB, startværdi 0, ingen refleksion, ingen afsluttende XOR, den kontrol, som Kshanas LEO-ramme bærer over hver foregående byte
- VALIDATED Fitteren og trade i
leo-navmsg-typen: en sandhedsbane integreret med zonal J2-J6 eller EGM2008-tyngdekraft til den valgte grad og modstand og et seedet frit eller styret ur; en Levenberg-Marquardt-tilpasning af det kepleriske Galileo-sæt på ikke-singulære - og 7 flere i matrixen.
De rækker, som kørslen selv afprøvede, med den uafhængige reference, som matrixen giver hver (de offentlige kilder er nævnt dér):
- MODELLED Deterministisk, scenarie-hashet, SBOM + gates med golden-filer på tværs af platforme. Uafhængig reference (ExternalDataset): SBOM'ens validering mod det officielle CycloneDX 1,5 JSON-skema (+ gyldige SPDX-identifikatorer) — en ekstern publiceret standard, nul valideringsfejl over hele afhængighedsgrafen; den del, der gælder FoM-determinisme / byte-reproducerbarhed, er fortsat et fastlåst selvkonsistenstjek, så rækken forbliver MODELLED
- VALIDATED leo_navmsg::sisre::sisre_weights: den radiale vægt w_R og den kvadrerede tværvægt w_AC^2 som gennemsnit af cos^2 og halv sin^2 af sigtelinjens nadir. Uafhængig reference (ExternalDataset): Den offentliggjorte tabel med SISRE-vægtningsfaktorer fra Montenbruck, Steigenberger og Hauschild (2018), Multi-GNSS signal-in-space range error assessment - Methodology and results, Advances in Space Research 61(12):3020-3038, doi 10.1016/j.asr.2018.03.041: GPS 0,98 og 1/49, GLONASS 0,98 og 1/45, Galileo 0,98 og 1/61, BeiDou MEO 0,98 og 1/54, BeiDou IGSO/GEO 0,99 og 1/126. Det samme gennemsnit evalueret ved LEO-radier giver
- VALIDATED leo_navmsg::elements::kepler_point: Galileo OS SIS ICD's kepleriske evaluering (Keplers ligning, andenharmoniske korrektioner, jordfast knude) skrevet separ. Uafhængig reference (ExternalDataset): RTKLIB 2.4.2-p13 eph2pos ECEF-positioner (en uafhængig implementering af den samme ICD-algoritme) for reelle BKG/IGS-udsendte poster fra 2024-09-10, begge committet med proveniens i tests/fixtures/rinex_sp3_interop (NOTICE, rinex_ecef_reference.txt, brdc_multignss_slice.rnx). Dette validerer den kepleriske brugeralgoritme; korrektionerne langs/på tværs/radialt, der lægges ovenpå, dækkes af deres egne rækker, og Liu-leddene b
- VALIDATED leo_navmsg::codec::crc24q: generatorpolynomium 0x1864CFB, startværdi 0, ingen refleksion, ingen afsluttende XOR, den kontrol, som Kshanas LEO-ramme bærer over hver foregående. Uafhængig reference (ExternalDataset): CRC-katalogets kontrolværdi for disse parametre (reveng.sourceforge.io CRC-katalog, CRC-24/LTE-A: bredde 24, poly 0x864CFB, init 0, check 0xCDE703), som er CRC-24Q-parametrene i RTCM 10403 og Galileo OS SIS ICD, og eksempelrammen for beskedtype 1005 trykt i RTCM 10403
- VALIDATED Fitteren og trade i
leo-navmsg-typen: en sandhedsbane integreret med zonal J2-J6 eller EGM2008-tyngdekraft til den valgte grad og modstand og et seedet frit eller styr. Uafhængig reference (ExternalDataset): Reelle præcise videnskabelige baner som sandhed (TU Graz IfG/ITSG operationelle reduceret-dynamiske baner, frie til enhver brug med anerkendelse; SHA-256-værdier i fixturens NOTICE) tilpasset med sættet med 16 parametre over buer på 20 og 30 min, mod de statistikker, som Liu et al. 2025 (Remote Sensing 17(16):2894, CC BY 4,0) offentliggør for de samme satellitter og dage: langs, på tværs og radialt RMS hver inden for 1.5x (målt 0,804 til 1,087), SISR
Begrænsninger#
Hvad kørslens egen rapport siger ikke er modelleret eller ikke er valideret:
- SISRE er beskedens repræsentationsfejl mod den sandhed, den blev tilpasset til; fejl i banebestemmelse og banepræduktion er ikke modelleret. (resultat
limitations[0]) - Sandhedsbanen er en numerisk integration fra Kshana (zonal eller EGM2008-tyngdekraft, statisk eksponentiel modstand), ikke et rigtigt satellits præcise bane; ingen tredjelegemer, solstrålingstryk eller tidevand. (resultat
limitations[1]) - Det binære format er Kshanas egen dokumenterede kodning, modelleret efter de offentliggjorte beskedkomponenter; det er ikke bitlayoutet for Celeste eller noget andet system (ingen er offentlige). (resultat
limitations[2]) - RINEX-blokken er en dokumenteret Kshana-udvidelse; RINEX 4,02 definerer ingen LEO-navigationsposter. (resultat
limitations[3]) - NeQuick-G-koefficienter medbringes, og det effektive ioniseringsniveau beregnes, men NeQuick-integrationen af elektrontætheden, der omsætter det til en forsinkelse, er ikke implementeret; det er Klobuchar-forsinkelsen, skaleret til bærebølgen med 1/f^2 uden korrektion for en satellit, der flyver inde i ionosfæren. (resultat
limitations[4]) - Leddene med 22 parametre fra Liu et al. 2025 følger artiklens brugeralgoritme (ligning 1-7) og tilpasningsstrategi (afsnit 2,3); dens SISRE-mod-højde-tal brugte reelle præcise baner, så denne sammenligning på en bane integreret af Kshana er MODELLED, ikke VALIDATED (sammenligningen med reelle baner er tests/leo_navmsg_fit_real_orbit_oracle.rs). (resultat
limitations[5]) - MIXED, VALIDATED byggeklodser, MODELLED resultater. SISRE-vægtene gengiver den offentliggjorte MEO/GEO-tabel (Montenbruck et al. 2018), Galileo ICD-brugeralgoritmen gengiver RTKLIB på reelle udsendte Galileo-efemerider, og CRC-24Q gengiver sin katalogkontrolværdi og RTCM 1005-eksempelrammen. Hvert tal for tilpasning, SISRE, kontinuitet og kvantisering er MODELLED: repræsentationsfejlen for en besked mod en (resultat
label) - MODELLED: hvert tal for tilpasning og SISRE er repræsentationsfejl mod en sandhed integreret af Kshana (ingen fejl i banebestemmelse eller prædiktion); sammenligningen med Liu et al. (typekatalog (
kshana kinds --json))
Se også#
- Familieside: Navigation i lav jordbane
- Alle typer: KINDS.md
- Emneside: LEO-PNT.md
- Emneside: LEO-NAVMSG.md