Masintõlge, mida emakeelne kõneleja pole üle vaadanud. Võrdlusallikaks on ingliskeelne versioon.

Madala Maa orbiidi (LEO) navigatsioonMuuda GitHubisSource: docs/LEO-NAVMSG.md

LEO navigatsioonisõnum

Stsenaariumi liik leo-navmsg koostab madala Maa orbiidi (LEO) positsioneerimise, navigatsiooni ja aja (PNT) satelliidi ringhäälestatud efemeriidi- ja kellasõnumi ning vastab küsimustele, mida sõnumi kavandaja esitab: kui kaua võib üks sõnum katta, mida iga lisaparameeter annab, mida kasutaja näeb, kui sõnum muutub läbilennu keskel, ja kui palju bitte kulub selle kandmiseks sentimeetrini.

See on süsteemist sõltumatu. Mis tahes orbiit, mis tahes kandelaine ja mis tahes neljast efemeriidimudelist töötab ilma ühegi eelseadistuseta; nimetatud eelseadistused on valikulised andmed (vt Eelseadistused).

Väljasta komplekti kuuluv näide käsuga kshana example <name> (üks nimi korraga) ja käivita see käsuga kshana scenarios/<name>.toml: leo-navmsg-fit-interval-trade, leo-navmsg-model-comparison, leo-navmsg-midpass-update ja leo-navmsg-encode-decode. Liik on ühtlasi liigi leo-pnt-chain sõnumietapp (LEO-PNT.md) ja kampaania leo-focus-data-services liige, mis koostab nelja sõnumikonfiguratsiooni ja annab aru igaühe kaadri pikkusest (146, 154, 159 ja 171 baiti).

Kood: src/leo_navmsg/ — elements.rs (kirjed ja kasutaja algoritm), truth.rs (tõeline orbiit ja kell), fit.rs (sobitaja), sisre.rs (signaal-ruumis kaugusviga), services.rs (ionosfäär ja koordineeritud maailmaaeg (UTC)), codec.rs (binaarvorming), text.rs (Receiver Independent Exchange Format (RINEX)-laadsed ja komadega eraldatud väärtuste (CSV) eksportfailid), presets/ (üks fail eelseadistuse kohta), mod.rs (liik).

Mida sõnum kannab#

Osa Sisu
Lisaandmed kosmoseaparaadi identifikaator (SVID), andmeväljaanne (IOD), sagedusriba identifikaator, signaali tervisestaatus (Galileo tava: 0 OK, 1 teenusest väljas, 2 pikendatud töö, 3 katsetuses)
Sünkroniseerimine nädalanumber, edastamise nädala aeg (TOW) ja teise astme kellapolünoom af0 + af1·(t − toc) + af2·(t − toc)²
Efemeriid üks allolevast neljast mudelist
Muud teenused Klobuchari ringhäälestatud ionosfäärikomplekt, Galileo NeQuick-G koefitsiendid ai0, ai1, ai2 koos viie tormilipuga ning süsteemiaja ja UTC vahelised parameetrid A0, A1, ΔtLS, t0t, WNot, WNLSF, DN, ΔtLSF

Efemeriidimudelid#

Kood Mudel Parameetrid
kepler16 Galileo avateenuse signaal-ruumis liidese juhtdokumendi (OS SIS ICD) Kepleri komplekt: √A, e, i0, Ω0, ω, M0, Δn, Ω̇, i̇, Cuc, Cus, Crc, Crs, Cic, Cis, toe 16
kepler-rac sama, pluss piki-, ristsuunalised ja radiaalsed (RAC) parandupolünoomid a0…, c0…, r0… ühikus τ = tk / tau_s, koefitsiendid meetrites, tau_s kahe aste, mis on vähemalt pool sobitusvahemikku (edastatakse), astmed määrab rac_degrees (vaikimisi 7, 5, 6) 16 + 21 vaikimisi, pluss ajaskaala
liu22 Liu, Su, Xie, Zhou ja Qu 22-parameetriline mudel (2025, Remote Sensing 17(16):2894, doi 10.3390/rs17162894): 16 pluss ȧ, ṅ, Crs3, Crc3, Crs1, Crc1 22
ecef-poly ATOMIC (Autonomous Time and Orbit Determination for Microsatellite Constellations) „nullkella“ mudel: Maaga seotud (ECEF) polünoom telje kohta muutujas τ = (t − t_ref) / 64 s (vaikimisi aste 6), kellaliikmeid pole, sest satelliidi kell on juhitud süsteemiajale (InsideGNSS) 22 vaikimisi

Kasutaja algoritm (elements::sat_state) on Galileo ICD järjestus (Kepleri võrrand, teise harmoonilise parandused, Maaga seotud sõlm), millele järgneb liigi kepler-rac korral kolm polünoomi piki Kepleri orbiidi enda koordinaatsüsteemi: radiaalne piki arvutatud asukohta, ristsuunaline piki orbiidi normaali parandatud kaldenurgast ja sõlmest, piki-suunaline, mis täiendab kolmiku. Kell lisab ICD relativistliku liikme F·e·√A·sin E; liigi ecef-poly korral on see üldkuju −2 r·v / c² polünoomist ja selle tuletisest.

Liu jt liikmed järgivad artikli kasutaja algoritmi (jaotis 2,2, valem 1-7): A = A0 + ȧ·tk, n = √(μ/A0³) + Δn + ṅ·tk (enne 0,30 väljaandeid kasutasid Global Positioning Systemi (GPS) tsiviilnavigatsiooni tava ½·ṅ·tk, seega on nende kirjutatud ṅ kaks korda artikli väärtus) ja Crs1·sin Φ + Crc1·cos Φ + Crs3·sin 3Φ + Crc3·cos 3Φ liidetud raadiusele, Φ on parandamata laiuskraadi argument. Mõõtkava ṅ tava on üle võetud artikli valemist 1; artikli võrdlus reaalsetel orbiitidel ei sõltu sellest (tegur ½ muutujal ṅ jätab iga sobitatud näitaja muutumatuks), seega edastatud väärtuse nDot tähendus pole seal valideeritud.

Kaks lugemist on Kshana enda omad ja neid esitatakse sellistena:

  • RAC koordinaatsüsteem ja τ = tk / tau_s normaliseerimine. Ükski avalik dokument ei määratle LEO parandussüsteemi ringhäälestatud sõnumi jaoks.
  • Nullkella sõnumi kell on kokku null: juhtsilmuse eeldatakse hoidvat näiva kella, relativistlik liige kaasa arvatud, süsteemiajas.

Sobitaja#

truth.rs integreerib orbiidi fikseeritud sammuga neljanda järgu Runge–Kutta meetodil koordinaatsüsteemis, mis läheb ühe pöörde θ(t) = θ0 + Ω̇e·t abil Maaga seotud telgedeks, sama ühe pöörde, mida ringhäälestatud kasutaja algoritm rakendab. Gravitatsioon on kahekeha (gravity_degree = 0), tsonaalsed harmoonilised J2 kuni J6 (2 kuni 6) või Earth Gravitational Model 2008 (EGM2008) väli astmeni ja järguni 7 kuni 70, mille tesseraalsed liikmed kannavad lühiperioodilist signatuuri, mis teeb LEO sobitamise raskeks. Atmosfääripidur on valikuline (staatiline eksponentsiaalne tihedus). Kell on vabalt jooksev (nihe, triiv, triivikiirus ja valge sagedusmüra etteantud ühesekundilise Alani hälbega, pluss perioodiline relativistlik liige) või juhitud (esimese järgu Gauss–Markovi jääk).

fit.rs sobitab Kepleri komplekti Levenbergi–Marquardti meetodil mittesinguljaarsetele elementidele (e·cos ω, e·sin ω, λ0 = M0 + ω): LEO orbiit on peaaegu ringjooneline, mistõttu ω ja M0 üksi on peaaegu eristamatud. See algab oskulatsiooniseisundist ajahetkel toe koos J2 sõlmekiirusega. Nõrgad nullile tsentreeritud eelteadmised piiravad kiirusi ja harmoonilisi, mida lühike kaar ei suuda lahendada; 1 cm vaatluskaaluga toimivad need ainult nendes nullsuundades. Sobitus liu22 kasutab selle asemel artikli jaotise 2,3 algust ja hindajat: see algab kõigi parandusliikmetega nullis, eelteadmisi pole (tavaline vähimruutude meetod) ja artikli 100 iteratsiooni ülempiir säilib. See peatub Kshana enda parameetrite koondumise reegli järgi, kui iga parameetri samm on väiksem kui 1e-3 selle formaalsest standardhälbest; artikkel peatub hoopis siis, kui RMS muutub vähem kui 0,1 mm. RAC polünoomid sobitatakse seejärel piki-/risti-/radiaaljääkidele lineaarsete vähimruutudega ning kellapolünoom tõelisele kellale, millest on lahutatud relativistlik liige, mille kasutaja tagasi lisab.

Leid, mille vaikeväärtused kodeerivad: pärast vähimruutude Kepleri sobitust on jääk konstruktsiooni järgi see, mida 16 parameetrit ei suuda katta, mistõttu see võnkub üle akna (mitu nullkohta igas komponendis), mitte ei triivi. Parandupolünoom eemaldab selle ainult siis, kui selle aste ületab seda, mida Kepleri komplekt juba katab: piki-suunas 7, ristsuunas 5 ja radiaalselt 6 viivad 15-minutilise jäägi sentimeetritest umbes millimeetrini, samal ajal kui madalamad ristsuunalised astmed ei eemalda peaaegu midagi (ristsuunaline jääk on akna keskme suhtes paaritu). Süsteem, mis tuletab oma Kepleri osa mõnel muul viisil, jätab teistsuguse kujuga jäägi ja vajalikud astmed tulenevad sellest. Celeste eelseadistuse enda paranduspolünoomide astmed (madalamad kui need; need asuvad ainult eelseadistuse failis, src/celeste_iod.rs) käivituvad siin Kshana vähimruutude baasil, mistõttu selle ristsuunalised liikmed annavad selles mootoris vähe: väide Kshana sobitaja kohta, mitte ühegi reaalse süsteemi kohta. toe ja toc on täissekundid, nagu binaarvorming neid kannab.

Iga sõnumit kasutatakse perioodi jooksul, mis on tsentreeritud selle sobitusaknasse (esimene kompromissitabel kasutab kogu akent). Signaal-ruumis kaugusvea (SISRE) näitajad mõõdavad sõnumi esitusviga selle tõelise orbiidi suhtes, mille külge see sobitati, ruutkeskmisena (RMS) ja maksimumina üle ulatuse. Orbiidi määramise ja orbiidi ennustamise viga, mille reaalne maa- või pardasegment lisab, ei ole modelleeritud.

Signaal-ruumis kaugusviga#

sisre.rs kasutab Montenbrucki, Steigenbergeri ja Hauschildi globaalkeskmist SISRE-d (2018, Advances in Space Research 61(12):3020–3038, doi 10.1016/j.asr.2018.03.041):

SISRE_orb = sqrt( w_R² R² + w_AC² (A² + C²) )
SISRE     = sqrt( (w_R R − c·dT)² + w_AC² (A² + C²) )

Kaalud on keskmised kasutajate üle, kes on ühtlaselt jaotatud nähtavale Maa kupli peal, mille määravad cos² η ja ½ sin² η, kus η on vaatejoone nadiirinurk satelliidil, arvutatud orbiidi enda raadiuse ja kõrgusnurga maski jaoks. 0° maski juures taastab arvutus artikli tabeli keskmise Maa orbiidi jaoks (GPS 0,98 ja 1/49, GLONASS 1/45, Galileo 1/61, BeiDou 1/54) ja geostatsionaarse orbiidi jaoks (0,99 ja 1/126): see on VALIDATED kontroll. LEO-l annab sama keskmistamine

Kõrgus w_R 1 / w_AC² horisondi nadiirinurk
320 km 0.384 2.35 72.2°
510 km 0.459 2.53 67.8°
550 km 0.472 2.57 67.0°
786 km 0.536 2.81 62.9°
1080 km 0.597 3.11 58.8°
1336 km 0.638 3.37 55.8°

seega tunneb LEO kasutaja, kes näeb satelliiti nadiirist kaugel, piki- ja ristsuunalisi vigu palju rohkem kui keskmise orbiidi kasutaja.

Analüüsid#

analysis = [...] valib mis tahes neljast (vaikimisi kõik).

Sobitusvahemiku kompromiss#

[trade] määrab ulatuse, sobitusvahemikud, uuendusperioodid ja mudelid. scenarios/leo-navmsg-fit-interval-trade.toml (550 km, 97,6°, EGM2008 astmeni 20 ja atmosfääripidur, 30 minutit sõnumeid) annab, kui kasutusperiood on võrdne sobitusvahemikuga:

Mudel Sobitusvahemik SISRE orbiidi RMS SISRE orbiidi maksimum SISRE koos kellaga RMS radiaalne / piki- / ristsuunaline RMS
kepler16 60 s 0,041 cm 0,179 cm 0,069 cm 0,09 / 0,01 / 0,00 cm
kepler16 120 s 0,032 cm 0,160 cm 0,079 cm 0,06 / 0,01 / 0,01 cm
kepler16 180 s 0,093 cm 0,540 cm 0,134 cm 0,18 / 0,06 / 0,00 cm
kepler16 300 s 0,310 cm 1,033 cm 0,329 cm 0,09 / 0,49 / 0,02 cm
kepler16 450 s 1,690 cm 7,542 cm 1,696 cm 0,72 / 2,65 / 0,04 cm
kepler16 600 s 2,875 cm 10,219 cm 2,866 cm 1,72 / 4,42 / 0,26 cm
kepler16 900 s 9,345 cm 34,032 cm 9,349 cm 6,46 / 14,14 / 0,91 cm
kepler-rac 60 s 0,000 cm 0,000 cm 0,057 cm 0,00 / 0,00 / 0,00 cm
kepler-rac 120 s 0,000 cm 0,000 cm 0,074 cm 0,00 / 0,00 / 0,00 cm
kepler-rac 180 s 0,000 cm 0,001 cm 0,090 cm 0,00 / 0,00 / 0,00 cm
kepler-rac 300 s 0,004 cm 0,014 cm 0,106 cm 0,00 / 0,00 / 0,01 cm
kepler-rac 450 s 0,037 cm 0,176 cm 0,127 cm 0,05 / 0,01 / 0,04 cm
kepler-rac 600 s 0,214 cm 0,643 cm 0,229 cm 0,28 / 0,09 / 0,26 cm
kepler-rac 900 s 1,015 cm 3,695 cm 1,062 cm 1,52 / 0,70 / 0,91 cm

Ja 300 s sobitusega, muutes seda, kui sageli uus sõnum üle võtab:

Mudel Uuendusperiood SISRE orbiidi RMS SISRE orbiidi maksimum
kepler16 30 s 0,314 cm 0,850 cm
kepler16 60 s 0,288 cm 0,859 cm
kepler16 150 s 0,219 cm 0,830 cm
kepler16 300 s 0,310 cm 1,033 cm
kepler-rac 30 s 0,004 cm 0,009 cm
kepler-rac 60 s 0,004 cm 0,009 cm
kepler-rac 150 s 0,004 cm 0,010 cm
kepler-rac 300 s 0,004 cm 0,014 cm

16-parameetriline Kepleri komplekt halveneb 0,04 cm-lt 60 s juures 9,35 cm-ni 900 s juures: üks Kepleri komplekt kaks korda pöörde kohta harmoonilistega ei suuda järgida LEO kaare kõrgema sagedusega gravitatsiooniliikmeid ja atmosfääripidurdust kauem kui mõni minut ning selle vähimruutude jääk võnkub üle akna. Piki-/risti-/radiaalpolünoomid (astmed 7, 5, 6) neelavad järele jääva: 1,01 cm 900 s juures, 0,21 cm 600 s juures. Lühimatel vahemikel on Kepleri näitajad alla millimeetri ega ole enam rangelt järjestatud (sobitust piirab siis konditsioneeritus, mitte mudel).

Mudelite võrdlus#

scenarios/leo-navmsg-model-comparison.toml käivitab neli mudelit 1, 5 ja 10 minutiga samal orbiidil, näidates parameetrite arvu ning efemeriidi ja kella bitte Kshana kodeeringus:

Mudel Sobitusvahemik Parameetrid Efemeriid + kella bitid SISRE orbiidi RMS SISRE koos kellaga RMS
kepler16 60 s 16 570 0,022 cm 0,049 cm
kepler16 300 s 16 570 0,230 cm 0,260 cm
kepler16 600 s 16 570 3,061 cm 3,071 cm
kepler-rac 60 s 37 1045 0,000 cm 0,044 cm
kepler-rac 300 s 37 1045 0,005 cm 0,120 cm
kepler-rac 600 s 37 1045 0,160 cm 0,208 cm
liu22 60 s 22 730 0,014 cm 0,046 cm
liu22 300 s 22 730 0,074 cm 0,142 cm
liu22 600 s 22 730 0,258 cm 0,290 cm
ecef-poly (nullkell) 60 s 22 750 0,000 cm 28,784 cm
ecef-poly (nullkell) 300 s 22 750 0,005 cm 28,784 cm
ecef-poly (nullkell) 600 s 22 750 0,561 cm 28,774 cm

Nullkella rida hinnatakse kella vastu, mida juhitakse 0,24 m jäägiga (ATOMIC-i näitaja), teisi vabalt jooksva kella vastu, mille külge need sobitati.

Liu jt 2025, SISRE võrreldes kõrgusega (MODELLED). Sama stsenaarium sobitab Kshana 22-parameetrilise mudeli 20-minutilistel kaartel artikli viiel kõrgusel, iga satelliidi kaldenurga juures:

Satelliit Kõrgus Kaldenurk Liu jt 2025 Kshana (ainult orbiidi RMS) suhe
GRACE-A 320 km 89.00° 8,88 cm 4,25 cm 0.48
GRACE-C 475 km 89.00° 6,21 cm 2,87 cm 0.46
Sentinel-2A 786 km 98.57° 2,87 cm 2,20 cm 0.77
HY-2A 966 km 99.34° 2,11 cm 1,25 cm 0.59
Sentinel-6A 1336 km 66.04° 0,75 cm 0,51 cm 0.67

See ei ole valideerimine. Artikkel sobitas nimetatud satelliitide reaalseid täppisteadusorbiite (nende täieliku gravitatsiooni-, atmosfääripidurduse- ja mittegravitatsiooniajalooga); Kshana sobitab oma integreeritud orbiidi, hindab kuut lisaparameetrit ülalkirjeldatud viisil ja kasutab oma SISRE kaalusid. Võrdlus näitab trendi ja suurusjärku. Võrdlus samadel reaalsetel orbiitidel, mida artikkel sobitas, on tests/leo_navmsg_fit_real_orbit_oracle.rs (alates 0,30 langeb 22-parameetriline sobitus seal kokku eelregistreeritud teguri 1,5 piires, artikli päevadel ja kaheksal suletud päeval).

Läbilennu keskel uuendamine#

[midpass] paigutab kasutaja (vaikimisi 45° N, 10° E), leiab kõrgeima läbilennu maski kohal search_s piires ning ajastab sõnumid iga update_period_s järel. Igal läbilennusiseses ümberlülitusel annab see aru asukohahüppest, kellahüppest, kasutaja pseudovahemaa hüppest (uus sõnum miinus vana), suurimast hüppest, mida mis tahes nähtav kasutaja võiks näha (suletud kuju üle nadiirikoonuse), kaugusveast enne ja pärast ning PASS või FAIL vastu threshold_m. scenarios/leo-navmsg-midpass-update.toml (300 s sobitused uuendatud iga 150 s järel):

Päeva kõrgeim läbilend ulatub 43,7° ja kestab 455 s. Selle ümberlülitused:

Ümberlülitus Kõrgusnurk Asukohahüpe Kellahüpe Kasutaja kaugushüpe Halvima geomeetria hüpe
IOD 270 → 271 12.7° 0,07 mm 0,19 mm -0.17 mm 0,27 mm
IOD 271 → 272 37.4° 0,14 mm 0,14 mm -0.24 mm 0,27 mm
IOD 272 → 273 28.2° 0,27 mm -0.22 mm 0,35 mm 0,48 mm

Suurim kasutaja kaugushüpe 0,35 mm läve 5 cm vastu: PASS.

Kodeerimine ja dekodeerimine#

scenarios/leo-navmsg-encode-decode.toml kodeerib esimese kolmest sõnumist, dekodeerib selle, kontrollib CRC-d ja lükkab tagasi rikutud koopia, väljastab kvantimiseelarve ning kirjutab ja loeb tagasi RINEX-laadse bloki ja CSV tabeli:

  • kaader: 171 baiti (1310 kasulikku koormusbitti, millest 1045 on efemeriid ja kell), 24-bitine tsükliline liiasuskontroll (CRC-24Q) 0x19105F;
  • ühegi üksiku välja suurim poolsammu mõju: af0, 0,545 mm;
  • kogu sõnum pärast kvantimist: asukoht 1,126 mm ja kell 0,185 mm piires täpsest sõnumist; SISRE 0,113 cm täpne, 0,129 cm dekodeeritud;
  • kaader ühe ümberläinud bitiga lükatakse tagasi: tõene;
  • RINEX-laadne edasi-tagasi teisendus 5.0e-06 m piires, CSV edasi-tagasi teisendus 0.0e+00 m piires.

Platvormist sõltumatus#

Kaader on edastatud täisarvud, seega peavad need olema samad täisarvud igal pool ja igal viisil, kuidas stsenaarium töötab: natiivne binaar igal operatsioonisüsteemil, silumis- või väljalaskeversioon (debug või release) ning brauseris töötav WebAssembly (WASM) versioon. Teel oli kolm takistust. Hosti matemaatikateegi siinus, koosinus, arkustangens ja eksponent ei pea olema korrektselt ümardatud ning erinevad hostide vahel viimases kohas. Optimeeritud versioon macOS-is võtab ühe argumendi siinuse ja koosinuse süsteemi ühisest rutiinist, mis ei tagasta alati üksiku siinuse väärtust, mistõttu erinesid ka silumis- ja väljalaskeversioon. Ja tavaline normaaljaotuse valim kutsub oma harvaesinevates harudes hosti eksponenti ja logaritmi. Sobitus muudab nii väikese erinevuse erinevateks kvantitud väljadeks. Kogu liik (tõeline orbiit ja kell, sobitus, kasutaja algoritm, signaal-ruumis kaugusviga (SISRE), kodek) arvutab seetõttu iga sellise funktsiooni puhta Rusti crate'iga libm kaudu src/portable_math.rs, täisarvulised astmed otseste korrutistena ning normaaljaotuse juhuarvud polaarmeetodil generaatori toorväljundist. leo_navmsg::tests::the_encoded_frame_is_the_same_bytes_on_every_platform kinnitab allpool oleva kodeerimise ja dekodeerimise stsenaariumi 171-baidise kaadri ja ühe kontrollväärtuse efemeriidimudeli kohta; silumisversioon, väljalaskeversioon ja WASM versioon annavad kõigi viie komplekti kuuluva leo-navmsg stsenaariumi kohta baidi tasemel identsed tulemusdokumendid.

Binaarvorming#

See on Kshana enda dokumenteeritud kodeering. See kannab komponente, mida LEO navigatsioonisõnumite avaldatud kirjeldused nimetavad, modelleeritud Galileo ICD väljakomplekti järgi. See ei ole Celeste'i ega ühegi muu süsteemi bitipaigutus: ükski pole avalik.

Kaader: preambul 0xA7 (8 bitti), versioon 1 (4), mudel (4: 1 kepler16, 2 kepler-rac, 3 liu22, 4 ecef-poly), kasuliku koormuse pikkus baitides (12), baidini nullidega täidetud kasulik koormus, CRC-24Q (24-bitine tsükliline liiasuskontroll, 24 bitti) üle kõigi eelnevate baitide. CRC-24Q on Radio Technical Commission for Maritime Services standardi RTCM 10403 ja Galileo ICD kontroll (polünoom 0x1864CFB, algväärtus 0); kood reprodutseerib kataloogi kontrollväärtuse 0xCDE703 jaoks 123456789 ning RTCM 10403 sõnumitüübi 1005 näitekaadri kontrollbaidid (VALIDATED).

Galileo ICD sammud valiti keskmise Maa orbiidi jaoks ja need on sentimeetritäpse LEO sõnumi jaoks liiga jämedad: Crs sammudega 2⁻⁵ m (3,1 cm), Cuc 2⁻²⁹ rad (1,3 cm LEO raadiusel), nurgad 2⁻³¹ poolringi (1,0 cm) ja af0 2⁻³⁴ s (1,7 cm). Kshana säilitab ICD ühikud ja poolringi tava, täpsustab samme nii, et iga välja poolsammuviga jääb 15-minutilise akna jooksul alla 1 mm asukoha või kauguse osas, ning laiendab välju, et säilitada LEO sobitusele vajalikud vahemikud:

Plokk Väli Bitid Samm Ühik
lisaandmed ja sünkroniseerimine SVID 8 1 -
lisaandmed ja sünkroniseerimine IOD 10 1 -
lisaandmed ja sünkroniseerimine Band 4 1 -
lisaandmed ja sünkroniseerimine Health 2 1 -
lisaandmed ja sünkroniseerimine WeekNumber 13 1 nädal
lisaandmed ja sünkroniseerimine ToW 20 1 s
lisaandmed ja sünkroniseerimine Flags 4 1 -
kell (lipubitt 0) toc 20 1 s
kell (lipubitt 0) af0 34 2^-38 s
kell (lipubitt 0) af1 28 2^-50 s/s
kell (lipubitt 0) af2 20 2^-62 s/s^2
Kepleri (mudelid 1-3) toe 20 1 s
Kepleri (mudelid 1-3) M0 36 2^-35 poolring
Kepleri (mudelid 1-3) e 32 2^-33 -
Kepleri (mudelid 1-3) sqrtA 36 2^-23 m^0,5
Kepleri (mudelid 1-3) Omega0 36 2^-35 poolring
Kepleri (mudelid 1-3) i0 36 2^-35 poolring
Kepleri (mudelid 1-3) omega 36 2^-35 poolring
Kepleri (mudelid 1-3) deltaN 29 2^-43 semicircle/s
Kepleri (mudelid 1-3) OmegaDot 29 2^-43 semicircle/s
Kepleri (mudelid 1-3) iDot 22 2^-43 semicircle/s
Kepleri (mudelid 1-3) Cuc 26 2^-34 rad
Kepleri (mudelid 1-3) Cus 26 2^-34 rad
Kepleri (mudelid 1-3) Crc 26 2^-10 m
Kepleri (mudelid 1-3) Crs 26 2^-10 m
Kepleri (mudelid 1-3) Cic 26 2^-34 rad
Kepleri (mudelid 1-3) Cis 26 2^-34 rad
piki-/risti-/radiaalparandused (mudel 2) degA 3 1 -
piki-/risti-/radiaalparandused (mudel 2) degC 3 1 -
piki-/risti-/radiaalparandused (mudel 2) degR 3 1 -
piki-/risti-/radiaalparandused (mudel 2) racTauExp 4 1 log2(s)
piki-/risti-/radiaalparandused (mudel 2) a_k, c_k, r_k 22 2^-14 m
Liu jt 2025 lisad (mudel 3) aDot 26 2^-20 m/s
Liu jt 2025 lisad (mudel 3) nDot 30 2^-58 poolring/s^2
Liu jt 2025 lisad (mudel 3) Crs3 26 2^-10 m
Liu jt 2025 lisad (mudel 3) Crc3 26 2^-10 m
Liu jt 2025 lisad (mudel 3) Crs1 26 2^-10 m
Liu jt 2025 lisad (mudel 3) Crc1 26 2^-10 m
ECEF polünoom (mudel 4) tref 20 1 s
ECEF polünoom (mudel 4) degP 4 1 -
ECEF polünoom (mudel 4) x0, y0, z0 38 2^-11 m
ECEF polünoom (mudel 4) x_k, y_k, z_k (k >= 1) 34 2^-12 m
Klobuchar (lipubitt 1) alpha0 8 2^-30 s
Klobuchar (lipubitt 1) alpha1 8 2^-27 s/semicircle
Klobuchar (lipubitt 1) alpha2 8 2^-24 s/poolring^2
Klobuchar (lipubitt 1) alpha3 8 2^-24 s/poolring^3
Klobuchar (lipubitt 1) beta0 8 2^11 s
Klobuchar (lipubitt 1) beta1 8 2^14 s/semicircle
Klobuchar (lipubitt 1) beta2 8 2^16 s/poolring^2
Klobuchar (lipubitt 1) beta3 8 2^16 s/poolring^3
NeQuick-G (lipubitt 2) ai0 11 2^-2 sfu
NeQuick-G (lipubitt 2) ai1 11 2^-8 sfu/deg
NeQuick-G (lipubitt 2) ai2 14 2^-15 sfu/deg^2
NeQuick-G (lipubitt 2) SF1-5 5 1 -
UTC (lipubitt 3) A0 32 2^-30 s
UTC (lipubitt 3) A1 24 2^-50 s/s
UTC (lipubitt 3) dtLS 8 1 s
UTC (lipubitt 3) t0t 8 3600 s
UTC (lipubitt 3) WNot 8 1 nädal
UTC (lipubitt 3) WNLSF 8 1 nädal
UTC (lipubitt 3) DN 3 1 päev
UTC (lipubitt 3) dtLSF 8 1 s

Väärtus väljaspool oma välja vahemikku lükatakse tagasi, mitte ei keerata ümber. Vahemikke kontrolliti, kodeerides sobitusi 300 kuni 2000 km juures, kaldenurkade 0° kuni 140° ja kuni 20 minuti pikkuste sobitusvahemikega: deltaN ja OmegaDot on laiad, sest peaaegu ekvatoriaalsel orbiidil on sõlm halvasti määratletud ja sobitus jagab nende vahel laiuskraadi argumendi J2 triivi, ning aDot ja nDot seetõttu, et 22-parameetriline sobitus 20 minuti jooksul neelab osa pooltelje lühiperioodilisest võnkumisest. Alates 0,30 on 22-parameetriline sobitus artikli lihtne vähimruutude meetod ilma eelteadmisteta ning ekvatoriaalne 800 km sobitus vajab siis nDot väärtust umbes 6.3e-10 poolringi/s^2, seega läks selle mõõtkava 2^-60-lt 2^-58-le. Liigi kepler-rac 7. astme piki-suunalised parandused mahuvad 22-bitisesse koefitsiendivahemikku kuni 15 minuti pikkuse sobitusega; pikem sobitus võib seda ületada ja lükatakse siis tagasi. quantisation_budget annab iga efemeriidi- ja kellaivälja kohta aru suurimast asukoha- ja kaugusmuutusest, mille poolsammu muutus põhjustab kasutusperioodi jooksul, ning kogu sõnumi muutusest pärast kvantimist.

Tekstieksport#

RINEX 4,02 ei määratle ühtki LEO navigatsioonikirjet (selle süsteemitähed on G, R, E, J, C, I ja S; International Global Navigation Satellite System (GNSS) Service (IGS) RINEX 4,02). Blokk, mille text.rs kirjutab, laenab RINEX 4 kuju — > EPH kirjepäis, satelliidi- ja epohhirida kolme kelliliikmega, ringhäälestatud orbiidi read nelja D19.12 väljaga — ja on dokumenteeritud Kshana laiendus: süsteemitäht L, kirjetüübid KP16, KRAC, LU22, APOL ja kolm päisekommentaari, mis seda ütlevad. Varasem töö LEO orbiitide kohta RINEX-4-laadsetes navigatsioonikirjetes: arXiv 2401,17767.

> EPH L04 KRAC
L04 yyyy mm dd hh mm ss  af0 af1 af2
     IOD      Crs      deltaN   M0
     Cuc      e        Cus      sqrtA
     toe      Cic      Omega0   Cis
     i0       Crc      omega    OmegaDot
     IDOT     Band     Week     Health
     txTOW    clock    degA     degC
     degR     tau_s    a0       a1         then the rest of a_k, c_k and r_k, four per line

CSV tabel kannab kepler16 ja kepler-rac sõnumeid, üks rea kohta. Vaikimisi veerud kasutavad Galileo ICD nimesid (SVID, IOD, Band, WeekNumber, ToW, Health, toc, af0, af1, af2, toe, M0, sqrtA, e, deltaN, Omega0, OmegaDot, iDot, i0, omega, Crc, Crs, Cic, Cis, Cuc, Cus, a0…, c0…, r0…, racTau); csv_schema valib selle asemel eelseadistuse kirjapildi. Mõlemad vormingud loetakse tagasi.

Ionosfäär ja UTC#

  • Klobuchar: mootori L1 mudel (gnss_sim::klobuchar_delay_m, kontrollitud RTKLIB-i vastu), skaleeritud kandelainele esimese järgu seaduse (f_L1 / f)² järgi.
  • NeQuick-G: koefitsiendid liiguvad sõnumis ja effective_ionisation_level tagastab Az = ai0 + ai1·μ + ai2·μ² modifitseeritud kaldelaiuskraadi μ jaoks, algoritmi reeglitega (kõik-null koefitsiendid annavad 63,7 päikesevoo ühikut, sfu; tulemus piiratakse vahemikku [0, 400] sfu). NeQuick elektrontiheduse mudelit ja selle kaldintegreerimist, mis muudavad Az viivituseks, ei ole teostatud.
  • Mõnesaja kilomeetri kõrgusel olev satelliit lendab ionosfääri sees. Kumbki ringhäälestatud mudel ei arvesta satelliidi kohal olevat elektronsisaldust ning selle jaoks ei rakendata parandust.
  • UTC: system_to_utc rakendab Galileo ICD §5.1.7 kolme juhtu (enne lisasekundi sündmust, kuue tunni jooksul sellest ja pärast seda); lisatud sekund loetakse 86400.

Eelseadistused#

Eelseadistused on andmed, üks fail igaühe kohta kataloogis src/leo_navmsg/presets/, koos nende allikatega. Mootor ja iga komplekti kuuluv stsenaarium peale Celeste'i oma töötavad ilma nendeta.

Võti Allikas Orbiit Kandelaine Sõnumimudel
xona-pulsar PUBLIC, arXiv 2509,19551 1080 km, 53° X1 1593,3225 MHz avaldamata
xona-pulsar-0 PUBLIC, arXiv 2509,19551 520 km, 97° X1 avaldamata
iridium PUBLIC, RNTF-i aruanne, konstellatsiooni kirjeldus 781 km, 86,4° 1621 MHz (1616–1626 MHz riba) ringhäälestatud sõnumit pole
starlink PUBLIC, NAVIGATION 72(1), konstellatsiooni kirjeldus 550 km, 53° Ku-riba, riba keskmine väärtus (esinduslik) puudub (oportunistlikud signaalid)
centispace PUBLIC, Sensors 2023, Satellite Navigation 2026 700 km, 55° B1 lähedal (allikas varjatud; asendajana L1) avaldamata
cband-generic REPRESENTATIVE 600 km, 97,8° 5020 MHz (RNSS C-riba keskpunkt) avaldamata
atomic PUBLIC, InsideGNSS 500 km (esinduslik) L1 (esinduslik) ecef-poly, aste 6, 60 s, värskendatud iga 30 s järel, nullkell, 0,24 m juhtimisjääk
celeste-iod WORKSHOP ja PUBLIC 510 km, 97,4° 1191,795 MHz kepler-rac, astmed ja kirjete vahe eelseadistuse failis

RNSS on raadionavigatsiooni-satelliitteenus; RNTF on Resilient Navigation and Timing Foundation.

Celeste IOD. Euroopa Kosmoseagentuuri (ESA) Celeste'i orbiidil demonstreerimise (IOD) eelseadistus on ainus, mis kasutab ESA Navigation Innovation and Support Programme (NAVISP) LEO-PNT töötoas 2026 esitatud materjali: sõnumi struktuuri (Galileo Kepleri komplekt pluss piki-/risti-/radiaalparandupolünoomid, kellapolünoom, SVID, tervis, IOD, ionosfääri- ja UTC-parameetrid), kirjete vahet ja CSV veergude nimesid. Orbiit (510 km, peaaegu polaarne päikesesünkroonne) ja kandelaine pärinevad failis viidatud avalikest allikatest. Celeste'i bitipaigutus ei ole avalik ja seda ei reprodutseerita; hilisemad Celeste'i faasid ja Euroopa Liidu (EL) LEO-PNT süsteem võivad erineda. Iga töötoast pärinev väärtus asub faili src/celeste_iod.rs moodulis navmsg, mida kasutab scenarios/leo-navmsg-celeste-iod.toml. Kuidas eelseadistust tagasi hoitakse: iga mootori töötoast pärinev arv asub ühes failis, src/celeste_iod.rs, mille build.rs kompileerib sisse ainult siis, kui see olemas on, ja ainult hoidlas olevates stsenaariumides scenarios/*celeste-iod*.toml. Selle faili ja nende stsenaariumide kustutamine hoiab eelseadistuse tagasi ilma lähtekoodi muutmata; iga muu test, sõltumatu etalon ja stsenaarium töötab ilma selleta ning README stsenaariumifailide arv loeb tagasi hoitud failid ikka sisse.

Kontrollimine#

Rida Silt Sõltumatu etalon
SISRE kaalud VALIDATED Montenbrucki jt 2018 tabel (GPS, GLONASS, Galileo, BeiDou, geostatsionaarne)
Galileo ICD kasutaja algoritm VALIDATED RTKLIB eph2pos nelja reaalse Galileo ringhäälestatud efemeriidi puhul, 1 mm telje kohta (tests/leo_navmsg_reference.rs)
CRC-24Q VALIDATED kataloogi kontrollväärtus 0xCDE703; RTCM 10403 1005 näitekaader
Sobitaja ja SISRE kompromiss MODELLED kahekeha tõeline seisund taastatud 1 mm täpsusega; parandatud J2–J6 sobitus 1 mm täpsusega; monotoonne kasv vahemikuga
Läbilennu keskel uuenduse pidevus MODELLED hüppe samasus; suletud kujuga koonuse ülempiir valimi vastu
Binaarvorming ja eelarve MODELLED edasi-tagasi teisendused; iga välja poolsamm alla 1 mm
RINEX-laadne ja CSV MODELLED edasi-tagasi teisendused
Liu jt 2025 22-parameetriline mudel ja sobitus VALIDATED TU Graz ITSG täppisorbiidid nelja satelliidi kohta artikli tabelite 4, 5, 6 ja 8 vastu: piki-, risti-, radiaal- ja SISRE suhted 0,755 kuni 1,138 artikli päevadel ja 0,683 kuni 1,186 kaheksal suletud päeval, 1.5x piires (tests/leo_navmsg_fit_real_orbit_oracle.rs)
ATOMIC nullkella polünoom ja viie kõrguse tabel MODELLED ATOMIC faktid InsideGNSS-ist; avaldatud Liu tabel trükitud Kshana integreeritud orbiidi sobituse kõrvale, kinnitamata
Ionosfäär ja UTC MODELLED ICD suletud kujuga valemid; RTKLIB-iga kontrollitud Klobuchari mudel

Piirangud#

  • SISRE on ainult esitusviga: orbiidi määramise või ennustamise viga puudub.
  • Tõeline orbiit on Kshana integreerimine (kolmandat keha, päikesekiirguse survet ega looded arvestamata), mitte reaalse satelliidi täppisorbiit.
  • Binaarvorming ja RINEX-laadne blokk on Kshana enda omad.
  • NeQuick-G kantakse, kuid seda ei integreerita viivituseks; ionosfääri sees oleva satelliidi jaoks parandust pole.
  • Liu jt võrdlus erineb orbiitide, parameetrite lugemise ja kaalude poolest.