Muudatuste logi
Kõik Kshana märkimisväärsed muudatused on dokumenteeritud siin.
Vorming põhineb dokumendil Keep a Changelog ja see projekt järgib Semantic Versioning-it. Kuni projekt on versioonist 1.0 eelses etapis, võib avalik stsenaariumi/tulemuse skeem veel muutuda; tagasiühildumatud muudatused tuuakse selgelt välja.
Avaldamata#
[0.40.0] - 2026-10-29#
0,40 lisab Artemis-klassi missiooniahela ja selle Kuu lõigu, tõendimärgise igale arvule ja tabelile, mille käivitus kirjutab, mõõdetud kella sisselugemise ja sobitamise, andmepartneri esituse kontrolli, ADS-B või AIS teadetest hinnangulise kiirgusallika piirkonna, 0,40 võrdlusaluse kordkampaania ning käsurea, aruanded ja Studio seitsmeteistkümnes keeles lisaks inglise keelele (masindokumendid jäävad inglise keelde). Kontrollimaatriks kasvab 388 reast 401 reani: 176 VALIDATED (muutumatu), 221 MODELLED (oli 208) ja 4 PARTNER. Ühtki rida ei edutatud VALIDATED-iks. Stsenaariumi liigid kasvavad 87-st 92-ni. Iga lävi, mille eelregistreeritud võrdlus täitmata jättis, on allpool öeldud ja jääb kinnitatuks; ühtegi ei lõdvendatud. Nõuande avaldus on muutumatu: Kshana on nõuandev tarkvara, mitte tüübikinnitust omav navigatsiooniseade ega sertifitseerimine; vastutus jääb operaatorile.
Teadaolevad piirangud#
- Mitteingliskeelsed käivitused võtavad umbes kaks korda kauem, sest stsenaarium käivitatakse kaks korda (üks kord inglise keeles masinfailide jaoks, üks kord valitud keeles inimese jaoks).
- Mõned Studio laused on kokku pandud fragmentidest ja neis võivad puududa artiklid keeltes, millel on grammatiline sugu.
- Tõlked on masintõlked, mida ükski emakeelne kõneleja pole üle vaadanud; võrdlusallikaks on ingliskeelne versioon.
Lisatud#
- Seitseteist keelt lisaks inglise keelele mootori inimesele mõeldud tekstile ning saidile ja Studiole: nl, pl, pt-BR, pt-PT, fi, sv, da, nb, cs, uk, ru, de, fr, es, et, ja, zh-Hans (
--lang,KSHANA_LANG, lokaadimuutujad;langteegi, Pythoni, WebAssembly ja MCP kutsetel). Käsurea teated ja vead, käivituse kokkuvõtted, diagrammi tekst,report.html, liikide kirjeldused ja nõuanded on tõlgitud; masindokumendid (JSON, CSV, veakoodid, kontrollimaatriks) jäävad inglise keelde ning mitteingliskeelne käivitus täidab stsenaariumi ühe korra inglise keeles masinfailide jaoks ja ühe korra valitud keeles inimese jaoks (docs/i18n.md). Tõlked on masintõlked, mida emakeelsed kõnelejad pole üle vaadanud; võrdlusallikaks on ingliskeelne versioon; iga keeleREVIEW.mdloetleb, mida ülevaataja peaks kõigepealt kontrollima, ja saidilehtedel on sellekohane teade. Otsusesõnad, tõendustasemed ja nõuande ulatus („mitte tüübikinnitust omav“, „mitte sertifitseerimine“, „vastutus jääb operaatorile“) on säilitatud igas keeles. kshana interference-map locate: hinnanguline kiirgusallika piirkond ADS-B või AIS teadetest. Posterioor selle kohta, kus võib asuda halvenenud positsiooniteadete allikas (raadionähtavus 4/3 Maa raadiusel, kiirgusallika antenni kõrgus ja võimsus marginaliseeritud, mõjutatud õhusõidukid tõmbavad ja mõjutamata nähtavusega õhusõidukid suruvad vastu), kirjutatud piirkondadena 50, 90 ja 95%, tsentroidina koos selle määramatuse ellipsiga (mitte kunagi paljas punkt), sessioonidena ajas (algus, lõpp, kestus, mõjutatud ala, eristatavad õhusõidukid üle avaldamise miinimumi), ööpäevaprofiili ja tundidena päevas, valikulise TDOA fikseeringu liitmisega failistgeolocation. Väljundid: GeoJSON, JSON-kokkuvõte, sessioonide CSV ja SVG-joonis, igaüks kannab litsentsi, viidet autorile, meetodi id-d, eeldusi, piiranguid ja oma tõendimärgist. Teekinterference_map::api::emitter_regions_from_*, Python ja WebAssemblyinterference_emitter_regions. MODELLED (registriridaVM-bc70cb57; maatriksis on nüüd 401 rida, 176 VALIDATED, 221 MODELLED, 4 PARTNER); kalibreeritud ainult sünteetilistel andmetel, kusjuures võrdlus Jammertest 2025 saatjakohtadega eelregistreeriti ja käivitati üks kord: ADS-B ja AIS mõlemad NOT ASSESSABLE (avatud andmetes liiga vähe planeeritud sessioone), seega rida jääb MODELLED (docs/emitter-region/RESULTS.md). Neutraalne sõnastus, ainult koond; kiirgusallika piirkondade avaldamine avalikus observatooriumis jääb välja lülitatuks. Sünteetiline näide on kaustasexamples/emitter-region/(docs/INTERFERENCE-MAP.md).- Mõõdetud kellalogid.
src/clock_log.rsloeb mõõdetud kellalogi üheks faasireaks: kaheksa vormingut (RINEX clock, TimeLab, TICC, linuxptpptp4l,phc2sysjats2phc, chrony tracking ja statistics), igaüks dokumenteeritud alamhulk; kõik sellest väljaspool lükatakse tagasi veaga, mis nimetab leitu. Seda kasutavadtelecom-timing([series.clock_log]) ja kella liik ([clock_log], mis lisabmeasuredploki logi SHA-256 ning kattuva ADEV, TDEV ja MTIE-ga), koos kaasasoleva stsenaariumigaclock-measured-log(docs/CLOCK-LOG-FORMATS.md). Võrreldud allantoolsiga päris avalikel andmetel eelregistreeritud lävede vastu: esimene käivitus jättis täitmata B1 (5 juhtu 11-st, kõik TICC ajatemplid hoitud kuif64), B2, B3 (7 juhtu 24-st) ja B4 (päise versiooni ei kontrollitud); pärast parandusi on B1, B3 ja B4 täidetud ning B2 on täidetud peale ühe MTIE paari, mis on kinnistatud ja ei ole mootori viga (allantools 2024,6 eemaldab keskmise sageduse enne integreerimist; selle faasirežiimi MTIE vastu on mootor kooskõlas täpsusega 1e-10). Rida jääb MODELLED (tests/fixtures/clock_log_real/RESULTS.md). - Sobitatud mõõdetud reaga käitatud holdover: kella liigi
[clock_fit]sobitab mõõdetud rea müra ja käitab selle põhjal holdoveri (src/clock_fit.rs, kaasasolev stsenaariumclock-fitted-log). Eelregistreeritud võrdlus: F1(b), F3 ja F4 täidetud; F1(a) (registreeritud juhusliku käiguga FM taastamine) NOT MET C3 kirjetel (konstruktsiooni poolest tuvastamatu) ja kahel kolmest C4 kirjest (juhusliku käiguga FM neeldus flicker FM-i ja triivi); F2 (müra tuvastamine allantoolsi vastu) täidetud üheteistkümnel kaheteistkümnest kirjest ja D3 puhul ning NOT MET D2 puhul nii nagu registreeritud (võrreldes samaväärselt täidetud). Kõik möödalasked on kinnistatud (tests/clock_fit_known_noise.rs); plokkfittedja selle käitatud holdover jäävad MODELLED (tests/fixtures/clock_fit/RESULTS.md). - 0,40 võrdlusaluse kordkampaania, eelregistreeritud omaniku kinnitusega enne ühtki käivitust: A3 (EXPLORATORY, kaustapõhise alglaadimisega AUC faili
agc_k_sigmajaoks, 2,5 % kvantiil 0,8502 võrreldes 0,80), D3 (EXPLORATORY, kolm viiest detektorist ületavad optimismilõhe 0,05 skaalal 0,25), R3 (AUC 1,0) ja R4 (P_fa 0,0, P_d 1,0): kõik MET, kõik MODELLED. A2, D1 ja R1 on puutumata ja jäävad NOT MET; siin ei sulge neid miski (xval/bench/RESULTS-0.40.md, Bench). kshana partner check <submission.toml>: kontrollib andmepartneri esituse vormingut ja metaandmeid (kshana.partner-submission/1: seade, andmefail ja SHA-256, kuidas see võeti, millised MODELLED read sellega esitatakse, litsents, avaldused) ning loeb andmeid mootori enda kellalogi või IMU lugejatega. See ei hinda midagi ega valideeri midagi. Sünteetiline näide on kaustasexamples/partner-submission/.docs/PARTNER-DATA.md: milliseid MODELLED registrireid mõõdetud andmed võiksid edutada, millised vormingud on vastuvõetavad, kuidas esitust kontrollitakse, eelregistreeritud läve vastu hinnatakse ja arvesse võetakse ning mida tähendavad PARTNER ja VALIDATED; omaniku jaoks kontaktimärkme mustand failisdocs/drafts/PARTNER-OUTREACH.md(midagi ei saadeta).- Teised kampaaniad liikide
gnss-ssvjalunar-infrastructuretäitmata lävede jaoks, käivitatud nii nagu eelregistreeritud (xval/gnss-ssv/PREREGISTRATION-v2.md,xval/lunar-infra/PREREGISTRATION-v2.md; kinnitatud enne ühtki käivitust). Iga algne möödalase jääb NOT MET ja kinnistatuks.gnss-ssv: kontroll taastab käivituse 1 lahtri lahtri haaval; viis ühe lugemisega ablatsiooni toovad 2 78-st täitmata lahtrist tolerantsi sisse (EXPLORATORY, läve pole); uus lävi S7b (Classic IIR paneelidele sobitatud langus-ja-põranda saatevorm) on NOT MET IIR-M paneelidel tulemusega 3,83 kuni 3,95 dB võrreldes 3 dB; hoitud avaldatud vastuvõtu kampaaniat ei käivitatud (allikat pole kinnitatud) (xval/gnss-ssv/RESULTS-v2.md).lunar-infrastructure: uued läved C3a, C3b (avastuspiir umbes 3e-9 m/s2), Q3a, Q3b (täpne normaaljaotuse CDF eemaldab 1.7e-6 erinevuse) ja G3'' on täidetud omaette lävedena ning G3' illustratiivsete priooritega on täidetud ja märgitud EXPLORATORY (xval/lunar-infra/RESULTS-v2.md). Kõik jääb MODELLED. Uued avalikud elemendid:kshana::lambda::{erfc_accurate, normal_cdf_accurate, bootstrap_success_rate_accurate}. - Tõendimärgis igal arvul ja tabelil, mille käivitus kirjutab. Tulemuse JSON-il on võti
evidence, diagrammi SVG-l metaandmete element ja joon joonise all ning CSV-tabelil# evidence:kommentaarirea: tase (VALIDATED,MODELLEDvõiPARTNER, ridadest nõrgim) ja nende kontrollimaatriksi ridade id-d, millele käivitus toetub. Read ja staatused on loetud maatriksist, mitte käsitsi kirjutatud; id-d on stabiilsed (VM-ja kaheksa kuueteistkümnendnumbrit, uusIDveerg failisdocs/VERIFICATION-MATRIX.md, külmutatud loend failistests/fixtures/evidence_ids.txt). Ka receiver-trust,jammertest score,iq acquire/sweep/track/monitor, marsruudi ekspositsiooniaruandes ning allkirjastatudconfig.jsonsees igas tõendipaketis (config_version1,1;kshana evidence verifyteatab taseme; enne 0,40 tehtud paketid kontrollitakse muutumatuna).tests/evidence_labels_doc_sync.rsebaõnnestub, kui joonisel pole silti, silt on maatriksiga vastuolus või uus failikirjutaja pole ei märgitud ega põhjusega loetletud. Väljundid, mis ei kanna ühtegi, on loetletud failisdocs/SURFACES.md. Kolm README demodiagrammi renderdati uuesti sildiga (selle eemaldamine taastab vanad baidid;docs/revisions/STUDIO15-evidence-label-0.40.md). Ühtki väidet ei muudetud. - Stsenaariumi liik
mission-thread(scenarios/mission-thread-artemis-class.toml,docs/MISSION-THREAD.md): faaside ahela navigatsiooni- ja ajastusvea eelarve startimisest sisenemiseni, iga arv MODELLED ja iga sisend öeldud. Kaheksa faasiliiki:launch-ascent,leo-rendezvous(Clohessy-Wiltshire'i suhteline kovariatsioon anduriosade kaupa, dokkimisaken),tli-and-cruise(Cowelli levitamine lõplike diferentsidega olekusiirdemaatriksiga, põlemisviga,gnss-ssvja maajälgimise uuendused, Kuu valikulisest DE440 kerneli lõigust),entry(lennutrajektoori nurga sigma, koridoritõenäosus, tipp-aeglustus koridoriservades, maandumisjalajälg) ja neli Kuu liiki. Üleandmisreeglid (carry,inflate,reacquire), tugisüsteemi ja ajaskaala teisendused omaette eelarveridadena, valikuline maajaamade võrgu pealis, mis määrab iga faasi jälgimise töötsükli, varu öeldud nõuete suhtes ja nõrgim lüli. Näide järgib avaliku NASA missioonikontseptsiooni slaidikomplekti järjestust ILLUSTRATIVE arvudega: Artemis-klassi läbiv näide 11 faasi kohta, Maa ja Kuu lõigud. Tsislunaarset levitamist võrreldi avaliku Artemis I trajektooriga 72 h kaarel lävega, mis oli enne käivitust kinnitatud failisxval/mission-thread/PREREGISTRATION.md: NOT MET (45,3 km ja 0,25 m/s võrreldes 5 km ja 0,05 m/s). Diagnostika paigutab möödalaske viide väikesesse impulsiivsesse sündmusse etalonis; nende vahel taastab jõumudel tunnioleku mediaanil 0,4 m. Rida jääb MODELLED (xval/mission-thread/RESULTS.md). - Artemis-klassi missiooniahela Kuu lõik: neli stsenaariumi liiki, millest igaüks on ka liidese
mission-threadfaasiliik (src/mission_thread/lunar/), kõik MODELLED.lunar-orbit-rendezvous: suhteline navigatsioon dokkimiseni 100 km ringikujulisel polaarorbiidil või 100 km korda 3000 km elliptilisel polaarorbiidil (scenarios/lunar-orbit-rendezvous.toml,...-elfo.toml). Partii Gauss-Newtoni hinnang kaarel ühendab sõiduki kohta ühe absoluutse fikseeringu illustratiivsest LCNS-klassi releekomplektist, püsiva signaali kosmoses vea (mõlemale sõidukile ühine ja sõltumatu) ja ristlingi kauguse teegi Kuu jõumudeli all. See esitab suhtelise asendi ja kiiruse sihtmärgi kohalikes telgedes, fikseeringu kättesaadavuse, keskmise normaliseeritud hindamisvea ruudu selle oodatava väärtuse suhtes, gravitatsioonilise harmoonika ignoreerimise hinna, lõplikud suhtelise anduri mudelid ainult signaalide arvu kõrval ning edasi antud 6x6 kovariatsiooni.lunar-descent: maandumishajuvuse eelarve lõunapolaarsel alal (scenarios/lunar-descent.toml;lunar-descent-lola.tomlloeb LOLA DEM-i väljavõtmisest): viieolekuline telgede kaupa inertsiaalne veamudel, AFS fikseering (eraldiseisev või diferentsiaalne, kasutades liigilunar-differential-pntkorrektsioonilingi jääki), maastikusuhteline fikseering (sobitajaterrain-navoma sünteetilisel reljeefil või LOLA DEM-i sobitamise Cramer-Rao tõke) ja Kuu aeg läbi sõiduki kella (lunar-time-offset). See esitab 3-sigma maandumisellipsi, iga abivahendite kombinatsiooni ja ellipsi Monte Carlo kalibreeringu.lunar-surface: positsioneerimise ja ajastuse kättesaadavus asukoha ja aastaaja järgi (scenarios/lunar-surface.toml;lunar-surface-terrain.tomllisab kiirtega pühitud LOLA horisondi): ühe asukoha positsioneerimisnäitaja võrdub liigimoonlight-service-volumeomaga bitipealt; Maa ja Päikese nähtavus analüütilistest efemeriididest on see, mis aastaajaga muutub.lunar-ascent: tõus kohtumisorbiidile ja orbiidile tagasi kantud asendi ja kiiruse kovariatsioon (scenarios/lunar-ascent.toml), mille kõrval on esitatud mootori väljalülituse hajuvus.docs/MISSION-THREAD-LUNAR.md; eelregistreering, selle muudatused ja kõik tulemused, möödalasked kaasa arvatud, kaustasxval/mission-thread-lunar/.
Tõendid#
- Eelregistreeritud failis
xval/mission-thread-lunar/PREREGISTRATION.mdenne ühtki käivitust, kuue kuupäevastatud muudatusega (iga tehtud enne andmete toomist, välja arvatud muudatus 6, mis parandab oleku loenduse aritmeetikaviga pärast toomist ja enne ühtki A2 tulemust; iga muudatus on failis avalikustatud). Ühtegi läve ei lõdvendatud. - A1 (levitaja LRO rekonstrueeritud trajektoori vastu JPL Horizonsist, 24 h): MET, maksimaalne 3D-erinevus 33 m võrreldes lävega 500 m ja RMS radiaalne erinevus 2,4 m võrreldes 60 m.
- A2 (sama levitaja CAPSTONE'i NRHO vastu ühe 6.5-päevase tiiru jooksul): NOT MET, lõppasendi erinevus 136,8 km võrreldes lävega 25 km ja oskuleeriva periapsisraadiuse erinevus 28,4 km võrreldes 10 km. Rida jääb MODELLED ja möödalaske kinnistab
tests/mission_thread_lunar_oracles.rs. - B1 (kohtumishinnangu kooskõla oma mudeliga) on MET neljanda hindajakujunduse puhul, keskmine NEES 5,85 kuni 5,93 vahemikus [5,2, 6,8]; kolm varasemat kujundust, laiendatud Kalmani filter kolmes variandis, jäid sellest mööda. Viies muudatus, mis tehti pärast seda, kui kaasasoleva 2 h stsenaariumi puhul leiti, et 4 50-st katsest läheb lokaalsesse miinimumi (keskmine NEES 1e9), käivitab Gauss-Newtoni sobitamise kasvaval kaarel sammu poolitamisega; B1 jääb sellest puutumata ja kaasasolevad stsenaariumid annavad 6,51 ja 6,33. Ajalugu on failis
xval/mission-thread-lunar/RESULTS.md. - Siin pole midagi VALIDATED: oraaklirid testivad jagatud levitajat, mitte navigatsioonifiltrit, signaali ega eelarvet.
[0.39.0] - 2026-10-22#
Uusi funktsioone pole: üks käsurea parandus, sõltuvuste uuendused ristvalideerimise tööriistades ja dokumentatsioon. Mootori tulemused on versiooniga 0.38.0 võrreldes muutumatud.
Parandatud#
- Käsurea väljub vaikselt olekuga 141, kui selle standardväljund sulgub (
kshana kinds | head), selle asemel et kukkuda veateatega „failed printing to stdout: Broken pipe“. 141 on 128 pluss SIGPIPE, olek, mida shell teatab käsuyes | headkorral. Käsitletakse ainult suletud toru: täis ketas või mis tahes muu kirjutusviga teatab endiselt endast ja suletud pesasse kirjutav elav voog saab endiselt oma kirjutusvea.tests/cli_closed_pipe.rssulgeb lugeja enne programmi käivitamist, nii et esimene kirjutamine ebaõnnestub igal käitusel.
Turvalisus#
Üks sõltuvusuuendus tarnitud teegis (esimene kirje), ülejäänud ristvalideerimise tööriistades (xval/).
p256,p384jap521versioonilt 0,13 versioonile 0,14 (kooselliptic-curve0.14.3,ecdsa0.17.0 jacrypto-bigintversioonilt 0.5.5 versioonile 0.7.10; samuti otsenecrypto-bigintsõltuvus, nüüd 0,7) kõrvaldavad nõuande RUSTSEC-2026-0387 (ajastuse varieeruvus teegiscrypto-bigint0.5.5). Kshana kasutab neid teeke ainult avalike allkirjade kontrollimiseks (Galileo OSNMA juurvõti ja RFC 3161 ajatemplitõendid) ning allkirjastab ainult testides ühekordsete võtmetega, nii et praktiline ekspositsioon oli olematu; uuendus eemaldab nõuande ilma eira-kirjeta. Teegi ja MCP lukufailid liiguvad mõlemad; ükski kontrollitulemus ei muutu (OSNMA ja ajatempli vektoritestid läbivad muutmata kujul).- Minimaalne toetatud Rusti versioon on nüüd 1,88 (nõutud RUSTSEC-2026-0387 parandusega).
memmap20.9.10 versioonile 0.9.11 (RUSTSEC-2026-0186) ANISE ristkontrolli lukkudes (xval/anise-lunar-od,xval/anise-mars-od); lukud sünkroniseerivad uuesti ka hoidlasisesekshanatee sõltuvuse.pillow12.3.0 versioonile 13.0.0 ningcertifi2026.7.22 versioonile 2026.10.19 sõltumatu etaloni keskkonna fikseeringutes (xval/oracles/requirements.lock,requirements.frozen.txt): parandatud väljaanded kaheksa pillow nõuande ja ühe certifi nõuande jaoks.
Dokumentatsioon#
docs/BENCH.md, README ja see fail loetlevad iga kshana-bench läve, mis on NOT MET, nagu on kirjas dokumendisxval/bench/RESULTS-v2.md: A2 (agc_k_sigmaAUC 0,766 võrreldes vähemalt 0,80-ga testjaotusel), D1 (suurim vahe 0,0301) ja ülesande (b) R1 (üle võetud, mitte uuesti käitatud). Ühtki lävendit ei lõdvendata.- README täielikkuse läbivaatus: sisukord; perekondade alla paigutatud stsenaariumi liigid, igaühel leht asukohas
docs/kinds/by-kind/(mootori kirjeldus ja väljad, näidiskäituse sisendid ja tulemused, registrireadid ja sõltumatud etalonid, käituse aruande esitatud piirangud ning mootori kirjutatud diagramm), perekonna kohta üks kontaktleht, kõik indekseeritud failisdocs/KINDS.md; iga käsk failisdocs/COMMANDS.md; iga pind, pistikprogrammi käsk, oskus ja Studio leht failisdocs/ALL-SURFACES.md; iga võimekuse valdkond failisdocs/CAPABILITY-DOMAINS.md; lisatud Mermaidi diagrammid (süsteemi ülevaade, pinnad, sisemine tsükkel, vastuvõtja usaldus, labori edasi-tagasi tsükkel, Studio, testi- ja väljalaskevoog, moodulikaart, levitamine). Kirjutanudtools/gen_kinds_index.py,tools/gen_readme_blocks.pyjatools/gen_figures_038.py; auditeerinudtools/readme_audit.py; valvabtests/readme_completeness_doc_sync.rs, mis kinnitab ka iga kirje kirjelduse ja väljad mootori külge. tools/render-diagram-chromium.sh: renderdab Mermaidi diagrammi SVG-ks ja PNG-ks Linuxil ning uuendab renderduskirjet.- README: kosmosekasutaja ja Kuu joonised kasutasid teid, mis olid suhtelised asukoha
docs/suhtes, seega need ei laadinud README-st; üks link osutas asukohale../../docs/JAMMERTEST.md. - Eemaldati kaks aegunud käsitsi kopeeritud diagrammifaili (
docs/assets/clock-ensemble-band.svg,sweep-clock-stability.svg), mida ükski leht ei kasutanud ja mis ei vastanud enam mootorile;docs/KINDS.mdkannab praeguseid diagramme.
[0.38.0] - 2026-10-19#
Lisatud#
- GNSS väljaspool konstellatsiooni (
gnss-ssv). Uus stsenaariumi liik kosmoseaparaatidele GNSS-i orbiitide kohal, ümber ja taga (docs/SSV.md): ühe ja nelja signaali kättesaadavus, katkestuste kestused, C/N0, DOP ning peamaksimumi ja külgmaksimumi lülid GPS-i, GLONASS-i, Galileo, BDS-i, QZSS-i ja NavIC-i jaoks kihil või piki LEO, MEO, GEO, HEO ja Kuule suunduvaid trajektoore; brošüüri-, parameetrilised või kasutaja antud saatemustrid; limbikiire ionosfääri, plasmasfääri ja atmosfääri mudel; nõrga signaali vastuvõtja projekt; pardal olev GNSS-i laiendatud Kalmani filter HEO ja Kuule suunduva trajektoori jaoks; ning moodustise suhteline navigatsioon. Võrreldud ICG kosmoseteenuse mahu brošüüriga enne käitust tehtud eelregistreeringu alusel: minimaalse kiirgusvõimsuse konstandid ja Kuu lävi nõustuvad, teised läved ei ole eelregistreeritud lugemise järgi täidetud (peaaegu kõik brošüüri ebajärjekindla GLONASS-i kiirenurga tõttu) ja parameetriline külgmaksimumi asendaja ei reprodutseeri mõõdetud GPS-i paneelimustreid. Kõik jääb MODELLED (xval/gnss-ssv/RESULTS.md). - Kuu orbiit ja pind navigatsiooni- ja geodeesiataristuna (
lunar-infrastructure). Uus stsenaariumi liik viie uuringuga, mida valibstudy(docs/LUNAR-INFRASTRUCTURE.md): pardal oleva Maa-GNSS orbiidi määramise kooskõla peaaegu sirgjoonelises halo-orbiidis sõltumatu maapealse kauguse ja kauguskiiruse määramisega; ühine pinnajaama ja orbiidi kahekordselt diferentseeritud kandelaine faas LAMBDA täisarvulise fikseerimisega; seitsmeparameetrilise Kuu datumi Fisheri informatsioon orbiidi ja pinna vaheliste kaugusmõõtmistega ja ilma; GNSS-i, VLBI ja laservahemõõtmise tehnikatevahelised nihked kohaliku sidemega võrreldes; ning tundlikkus h2, k2, l2 ja füüsilise libratsiooni suhtes. MODELLED, ILLUSTRATIVE sisenditega: numbrilisi tulemusi kontrollitakse sõltumatute numpy ja scipy programmidega ning midagi ei võrrelda Kuu suuruse mõõtmisega. Läved fikseeriti dokumendisxval/lunar-infra/PREREGISTRATION.mdja kahes avalikustatud muudatuses. Kolm on NOT MET ja igaüht kinnitab test, mis väidab möödalasku: C3 (süstitud jõuviga ei tuvastata eelregistreeritud sagedusega), Q3 (alglaaditud edukuse määr erineb numpy sõltumatust etalonist 1.7e-6 võrra lävi 1e-9 vastu, LAMBDA normaaljaotuse jaotusfunktsiooni lähenduse tõttu) ja G3 jälje pool (kaugusmõõtmisperekonna lisamine ei vähenda alati pseudopöördmaatriksi jälge). Ülejäänud on täidetud (xval/lunar-infra/RESULTS.md). - Kuues artikkel tabelis Research. „Cislunar navigation is an observability problem: arc-length thresholds, Gramian conditioning, and the Doppler lever“ (arXiv:2610,23871, eess.SP) näitab, et DOP on ainult kaugusmõõtmisel põhineva tsislunaarse jälgimise jaoks määramata, ning kasutab selle asemel vaatlusgramiaani neljal tasapinnalisel kaugel retrograadsel orbiidil: ainult kaugusmõõtmise korral on astak 2 4-st hetktõmmisel ja see vajab umbes 2,09 h kaart, kauguskiirus (Doppler) annab astaku 4 kohe ning jaama kaasestimeerimine satelliidi olekute ja kelladega jääb ilma väliselt interferomeetrilise vaatlussuuruseta ühe võrra astaku puudulikuks. Selle arvud genereeritakse uuesti liigiga
cislunar-observability(kshana scenarios/cislunar-observability.toml);cislunar-arc-recoverykatsetab läve sõltumatu hinnangualgoritmiga. README uurimiskaart, crates-, npm- ja PyPI README-d ning generaator kannavad seda. - Neutraalne kohtunik, muudetud mõõdetavaks.
kshana jammertest importloeb avaldatud NPRA Jammertesti kataloogi ja edastuskava ajastatud tõena (kataloogi id-d säilitatud) ningkshana jammertest scorehindab vastuvõtja logi selle suhtes iga katse kohta (tuvastusviide, tuvastamata jäänud häired, valehäired, taastumisaeg), soovi korral allkirjastatud tõendipaketina (docs/JAMMERTEST.md). Hindamislävid eelregistreeriti enne mis tahes hinnatud käitust (xval/jammertest-score/). JammerTest 2024 andmekogumil (toodud, mitte koodibaasi kopeeritud) ebaõnnestus eelregistreeritud minimaalse andmehulga reegel nii esimeses käituses kui ka andmetöötluse redaktsioonis, mistõttu ühtki lävendit ei saa hinnata ja midagi ei väideta; mõlemad käitused on registreeritud ja kindlaks määratud. MODELLED: ajakava on andmekogumi logitud aknad, mitte salvestatud eetriajad. 2025 SimulaMet NMEA komplekti ei kohandata (selle lehel litsentsi ei märgita). - Vastuvõtja enda lipud Kshana omade kõrval. UBX-NAV-STATUS
spoofDetStateja UBX-SEC-SIG loetakse igal epohhil väljaleself_reportning tulemuse võrdlusreceiver_self_reportasetab need Kshana monitoride vastu (mõlemad, ainult vastuvõtja, ainult Kshana, ei kumbki); see ei tõsta alarmi ja ei muuda skoori. Septentrio SBF lugeja (PVTGeodetic, MeasEpoch, RFStatus, ainult lugemine, MIT-litsentsiga kratisbf-toolspeal) jareceiver-trust live --serial(jada- või USB NMEA voog, ainult lugemine; see ei kirjuta kunagi vastuvõtjasse) liituvad nendega. - Ajastus ja riistvaraohutus (
docs/TIMING-HIL.md,docs/HARDWARE-SAFETY.md). Stsenaariumi liikholdover-testhindab ajastussüsteemi holdover-testi (operaatori poolt eemaldatud GNSS, holdover, taastumine) mõõdetud ajavea kirje põhjal, mõõdetuna avalike tabelite ITU-T maskide suhtes.clock_logloeb linuxptp (ptp4l,phc2sys,ts2phc) ja chrony (tracking,statistics) logisid.iq scene --format sdrxkirjutab ION GNSS SDR metaandmeid jaiq monitor --followjälgib SigMF salvestust, kuni see kasvab (ainult vastuvõtt).compliance-reportsaab NIST IR 8323r1 Foundational PNT Profile’i (15 parafraseeritud rida, toetab tõendeid (supports evidence for)). Tõendipakett võib salvestada operaatorilab-attestationoma allkirjastatud manifesti, mida ei kontrollita kunagi; riistvaraetapid 0 kuni 4 ja juriidilised märkused on failisHARDWARE-SAFETY.md(ootab juriidilist läbivaatust). Mingit sorti edastusteed ei ole. - kshana-bench v1 (
kshana bench,bench/SPEC.md,docs/BENCH.md): fikseeritud ülesanded, jaotused ja mõõdikud GNSS-häirete tuvastamiseks vastuvõtja logidel (JammerTest 2024) ja IQ-l, ajastuse holdover-i ennustamiseks (IGS kellad) ning jaotusest väljas oleva optimismivahe jaoks; jaotuste manifestid kindlaksmääratud räsidega ja toomisskriptid (andmeid ei kopeerita koodibaasi), suletud holdout kommiti ja avalikustamise kaudu, tulemusfaili skeem ja staatiline edetabelileht. Lähtetasemed lävede all, mis on eelregistreeritud failisxval/bench/PREREGISTRATION.md: hindaja läved täidetud, C1 kuni C3 täidetud, D2 täidetud; A2 NOT MET (agc_k_sigmaAUC 0,766 võrreldes vähemalt 0,80-ga testjaotusel), D1 NOT MET (suurim vahe 0,0301) ja ülesande (b) R1 NOT MET (üle võetud, mitte uuesti käitatud), igaüks kindlaks määratud (xval/bench/RESULTS-v2.md). Iga skoor on MODELLED. Pythonbench_score,bench_leaderboard; WebAssembly samamoodi; MCPscore_benchmark,render_leaderboard. - Häirete vaatluskeskus (
kshana interference-map daily,sensitivity,docs/observatory/METHOD.md): reprodutseeritav ööpäevane GeoJSON, PNG ja intsidendiaruande JSON kolme olekuga (halvenenud, mitte halvenenud, vaatlemata), minimaalne viivitus 24 h, lahtrid 0,5 kraadi või jämedamad, põhjust ei omistata ja OpenSky andmed lükatakse tagasi; eelregistreeritud parameetrite tundlikkusuuring; 30-päevane Läänemere tagantjärele kataloog adsb.lol-ist. - Masina- ja andurisisendid liigile
receiver-trust(docs/MACHINE-INPUTS.md). Uued[log] formatväärtused, kõik ainult lugemiseks, MODELLED, ise kirjutatud fikstuuridega ja ilma andmeid koodibaasi kopeerimata:rtklib-pos(RTKLIB.poslahendifailid),novatel(OEM7 ASCII- ja binaar-BESTPOS,RANGEC/No jaRXSTATUS; vastuvõtja segaja lipust saab epohhiself_report, mida võrdlusreceiver-self-reportasetab Kshana alarmide vastu),rtcm3(MSM4 ja MSM7 C/N0 GPS-i, GLONASS-i, Galileo, SBAS-i, QZSS-i, BeiDou ja NavIC-i jaoks; paigutused BSD-litsentsiga pyrtcm tabelitest, mille teade on failisNOTICE, mitte RTCM standardist) jagnss-sdr(GNSS-SDR Monitori ja PVT-monitori sõnumid JSON-ridadena, edastatud skriptigaintegrations/gnss-sdr/relay.py). - IMU logid teise andurina.
[log.imu](csvvõieuroc) integreerib güroskoobi pöörlemiskiiruse suunaks, mida monitorheading-courseloeb; sisseehitatult igal pinnal ja kantud tõendipakettide kaudu.kshana imu-fit(Pythonimu_fit, WebAssemblyimu_fit, MCPfit_imu_log, pistikprogramm/kshana-fit-imu, JetBrains toiming) sobitab stsenaariumidehybridjafusionkiirendusmõõturi ja güroskoobi parameetrid paigalseisu logist Alani hälbe abil ning trükib tabeli[accel_classical]logi SHA-256-ga selle päritoluandmetes. - Integratsioonid: ROS 2 pakett (
integrations/ros2/kshana_trust: NavSatFix jaublox_ubx_msgssisse, usaldusteemad välja; selle ROS-ita sild on testitud päris mootori vastu, sõlme ennast ei ole elaval ROS-i graafil käitatud),gnss_lib_pysild (integrations/gnss_lib_py, MIT sõltuvus, valikuline) ja GNSS-SDR relee. - Home Assistant MQTT eksportija usaldustelemeetria jaoks:
kshana trust-telemetry --print-mqttja--mqtt-tcp <host:port>(avastussõnumid ja JSON olekudokument; ainult avaldamine, ilma volituste ja TLS-ita) ningformat = "mqtt"tekstina Pythonis, WebAssembly-s ja MCP-s. - Seitse MODELLED registririda ülaltoodu jaoks. Midagi siin ei ole VALIDATED: ühtki päris vastuvõtja, baasjaama, IMU, GNSS-SDR käituse, ROS-i graafi ega MQTT vahendaja salvestust ei loetud.
- Optilise lüli varu ajas. Liik
optical-atmospherevõtab valikulise tabeli[timeseries](duration_h,step_s,seed) ja kirjutab siis ka jaama kohta ühe algväärtustatud realisatsiooni fikseeritud jaamamudelist ajas: pilveepisoodid, episoodi kohta vedela vee sammas, sammu kohta üks gamma-gamma sintillatsiooni valim ning nendest lüli varu, pilve- ja sintillatsioonisummutused ja lüli töötamise lipp, koos realiseerunud kättesaadavuse, pilvisuse osakaalu, katkestuste arvu ja pikima katkestusega. MODELLED (üks tõmme mudelist, mitte kliima; väline sõltumatu etalon puudub). Ilma tabelita on tulemus dokument 0,37. Kaks kaasasolevat optilist stsenaariumi kannavad tabelit (336 h, 600 s, algväärtus 37). Läved eelregistreeritud failisxval/optical-atmosphere/PREREGISTRATION-timeseries.mdenne esimest käitust. - Katsetingimuste spetsifikatsioon ja laboratoorne edasi-tagasi tsükkel.
kshana.test-conditions/1avaldatakse kuidocs/spec/TEST-CONDITIONS.mdkoos JSON-skeemiga ja see saab väärtuserecording.kind = "receiver-log".kshana bench-exportkirjutab ka<base>.conditions.json.kshana evidence round-tripehitab allkirjastatud paketi, mis seob stsenaariumi räsi, fikseeritud tingimuste räsi, vastuvõtja logi räsi ja skoori fikseeritud sündmuste suhtes, ning keeldub tingimustest, mis ei lähe kokku hindamissündmustega. Läbitöötatud näide, kus gps-sdr-sim kirjutab ainult faili; taasesitus on operaatori vastutus ja seda ei automatiseerita kunagi. Pythonevidence_round_trip, MCPcreate_round_trip_pack, pistikprogramm/kshana-evidence-pack. - Standardipaketid (
kshana standards-pack,standards/): DHS Resilient PNT raamistiku katseprofiilid tasemetele 1 kuni 4, IMO MSC.1/Circ.1575 täpsustasemed ja terviklikkuse hindamine ning ICAO Doc 9849 lisa F jälgimine, hindamine ja leevendamine, igaüks stsenaariumide komplekt, mida hinnatakse enne käitust fikseeritud lävede suhtes, koos compliance-report ridadega, mille kasuks need toetavad tõendeid (supports evidence for). Möödalasud on kirjas ja kindlaks määratud: DHS L4-T1 ja neli IMO täpsustesti. Doc 9849 ennast ei loetud (tasuline); ICAO pakett järgib ICAO enda RFI Mitigation Plan esitlust.compliance-reportsaab standardipakettide jaotise. Kõik MODELLED. - LunaNet Augmented Forward Signal (
docs/LUNANET-AFS.md): AFS-I Goldi ja AFS-Q Weili koodid PRN-idele 1 kuni 210, signaalidlunanet-afs-ijalunanet-afs-qkäsuskshana iq, SB1 BCH kood, CRC-24Q ja põimur ningkshana lunanet-afs-check(spec,symbols,generate), kindlaks määratud LNIS V5 Applicable Document 1 Volume A-ga (LSIS-AFS V1.0, 29. jaanuar 2025). Koodid VALIDATED dokumendi trükitud tabelite suhtes (mida see märgib TBC); üks trükitud kolmanda koodi veerg (PRN 147) on tõenäoliselt trükiviga ja möödalask on kindlaks määratud. Alamkaadrite 2 kuni 4 LDPC kodeerimist ei ole teostatud. - Kursuse märkmikud (
notebooks/course/): jamming, spuufimine, holdover, terviklikkus, OSNMA ja häirekaart, igaüks harjutustega. - EU-US WG-C ARAIM Milestone 3 maksimaalse URA uuring (
xval/araim-m3/,src/bin/gen_araim_m3_study.rs), mis asendab tagasivõetud „Table A-3“ kava; MODELLED fikseeritud kõrvalekalletega. - Omaniku kinnitamiseks mõeldud mustandid asukohas
docs/drafts/: JOSS-i artikkel, TSC harta muudatus, sõltumatute etalonide registri protsess jaLICENSES/jaotamise ettepanek. Midagi sellest pole vastu võetud. - Studio vaated funktsioonidele 0,38 (kshana.dev/studio/). Silla taasesitus (kaks sünteetilist käitust ühel kellal: trajektoor, usaldusskoor, satelliidid, mida logi kuuleb, ja otsus, vastuvõtja enda lippudega Kshana alarmide kõrval); optiline PNT (kaks
optical-atmospherestsenaariumi valikulise algväärtustatud[timeseries]realisatsiooniga, MODELLED); holdover-test (tulemusholdover-test, mõõdetud ITU-T maskide suhtes, joonistatud tulemuse endarecord.seriespõhjal); häirete vaatluskeskuse vaatur, mis avab teie loodud failid ega tarni ühtegi; lehel Tools Jammertesti hindaja, IMU sobitus ja MQTT telemeetriavorminguna; ning lehel Trust logivormingu valija (RTKLIB.pos, NovAtel OEM7, RTCM 3, GNSS-SDR, Septentrio SBF) valikulise IMU failiga. Iga vaade loeb faile brauseris ja ei lae midagi üles; iga arv säilitab sildi, mida register selle jaoks hoiab, ja igaüks kannab nõuandvat avaldust. Saidi leht/benchmarknäitab fragmentikshana bench leaderboard.
Parandatud#
- Probleem #36: baiditäpsed fikseeringukihid. Baiditäpsed fikseeringukihid käivituvad ainult hostil, mis on deklareeritud lähtetasemeks (
KSHANA_EXACT_PINS=1, seadistabscripts/gate.sh), mitte igal Apple-silicon Macil, sest Apple’i matemaatikateek erineb macOS-i väljaannete vahel; portatiivne kiht käivitub kõikjal jatests/exact_pin_gate_guard.rstakistab baiditäpse kihi uuesti ainult platvormi põhjal piiritlemist. Sõltumatute etalonide võrdlused ise läbivad macOS-il. Ühtki literaali ei võetud uuesti ja ühtki tolerantsi ei muudetud.scripts/oracle-triage.shjadocs/LOCAL-ORACLE-TESTS.mdütlevad, kuidas erinevust triaažida;.github/workflows/oracle-macos.ymlon käsitsi käivitatav ja iganädalane diagnostika, mitte värav. - CodeQL: ankurdamata muster Studio usaldusavamise abifunktsioonis sobitub nüüd kogu päisega (
web/studio/lib/trust-open.mjs). - CI: jooksutaja ketas. Töö
checkehitab arendus- ja testiprofiilid ilma silumisinfota, nii et linkimine ei täida enam ketast. - Lähtekoodi kaitsed. Iga lähtefail, mis sisaldab fikseeringuid kandvaid testifikstuure, deklareerib oma fikseeringu skoobi ning testid, mis kirjutavad ajutisi faile, kasutavad iga kutse kohta unikaalset teed, nii et paralleelsed käitused ei saa põrkuda.
docs/SCENARIOS.mdgenereeritakse uuesti optilise atmosfääri valikulise väljatimeseriesjaoks.- JetBrainsi pistikprogramm: aegunud või eemaldamiseks kavandatud platvormi API-t ei kasutata. IntelliJ Plugin Verifier (
verifyPlugin) IntelliJ IDEA ehituse 263 (2026,3: 263.6800.24 ja 263.7031.23) vastu leidis ühe aegunud kutse,FileEditorManager.openFile, toimingus Insert Example; see avab nüüd uue faili käsugaOpenFileDescriptor. Pistikprogramm on ühilduv ja puhas versioonil 2024,3 (since-build, muutumatu) ja mõlemal 263 ehitusel. CI käitab nüüdverifyPluginja ebaõnnestub ühilduvusprobleemide ning mis tahes eemaldamiseks kavandatud API kasutamise korral.
[0.37.0] - 2026-10-17#
Lisatud#
- Optiline PNT läbi atmosfääri (stsenaariumi liik
optical-atmosphere,docs/OPTICAL-ATMOSPHERE.md, projekteerimismärgedocs/design/optical-atmosphere-0.37.md). Optilise lüli ja maajaamade komplekti jaoks esitab see lainepikkusest ja kõrgusnurgast sõltuva selge õhu sumbuvuse, Hufnageli-Valley turbulentsi oleku (Rytovi dispersioon, sintillatsiooniindeks, gamma-gamma summutused, apertuuri keskmistamine), kättesaadavuse lüli varu suhtes fikseeritud pilveklimaatikast, varu, mida vajatakse sihtkättesaadavuste jaoks, ja lae, mida ükski varu ei tõsta, katkestuste kestuse jaotuse, ajastus- ja kaugusmõõtmisvea katkestuse kohta kella holdover-mudeli kaudu, vahemaaga korreleeritud jaamade mitmekesisuse ning mis-kui võimendused lainepikkuse muutmisel, suuremal apertuuril, adaptiivoptikaga sintillatsiooni vähendamisel ja lisavarul.optical_linkbudgetsaab atmosfääri arvestava eelarve; ilma selleta on selle väljund bititäpselt identne versiooniga 0,36 (lävi A5). Kaks kaasasolevat stsenaariumi kannavad ILLUSTRATIVE pilveklimaatikaid. MODELLED: kolm registririda. Numbrilised tulemused täidavad läved A1 kuni A6, mis on eelregistreeritud failisxval/optical-atmosphere/PREREGISTRATION.mdsõltumatu mpmath programmi vastu; see kontrollib fikseeritud valemite teostust, mitte atmosfääri, ja ühtki mõõdetud kättesaadavuse kirjet pole võrreldud, seega ükski rida pole VALIDATED. Lävi A4 jäi esmalt eksimisse 3e-9 võrra, sest kasutatud normaaljaotuse jaotusfunktsioon oli 1.5e-7 lähendus; jaotusfunktsioon asendati ja lävi jäeti registreeritud kujule. Natiivne ja WebAssembly ehitus tagastavad mõlema kaasasoleva stsenaariumi jaoks baitidena identsed dokumendid (A7, käitatud 0.37.0 integratsioonikommitil).
[0.36.0] - 2026-10-16#
Lisatud#
IQ monitoride tuvastus-ROC (PRO-32,
docs/design/DETECTION-ROC.md). Monitoridega kampaania hoiab iga testistatistiku maksimumi fikseeritud sündmuste akendes (positiivne) ja sündmustest väljas olevates ruudustatud akendes (negatiivne,roc_window_s). Aruanne koondab need alarmi liigi kaupa ROC-ks koos selle AUC-i ja töökohaga seadistatud läve juures, kuiroc.jsonja aruande jaotis. Sünteetilistel kampaaniatel on juhusetaseme kontroll täidetud. C/N0 AUC lävi (0,95) ei ole täidetud (0,79), sest negatiivsed aknad vahetult pärast sündmust pärivad CUSUM-i kahanemise tuvastusest; see on registreeritud. MODELLED.IQ monitorid labori taasesituse kampaanias (PRO-31,
docs/design/MONITORS-IN-CAMPAIGN.md). Valikuline tabel[monitors]kampaaniafailis käitab IQ monitore jooksutaja ühel läbimisel: võimsus ja spekter pärast iga esiotsa ahelat ning C/N0, SQM ja lukk iga jälgitud kanali kohta. Nende alarme hinnatakse fikseeritud sündmuste suhtes: tuvastatud või tuvastamata jäänud, tuvastusaeg ja valehäired ekspositsiooni tunni kohta. Iga testi suletud kujuline valehäire näitaja on esitatud, sh uus kahepoolne Gaussi näitaja SQM testidele (2Q(k)). Ilma tabelita ei muutu midagi. Sünteetilistel kampaaniatel on võimsuse ja SQM valehäire läved ning C/N0 valehäire lävi täidetud; 18 sumbuvust 18-st tuvastatakse, kuid tuvastusaja piir, mis on konstruktsiooni järgi alla ühe detektorivalimi, ei ole täidetud ja on registreeritud. MODELLED; registririda „IQ monitorid hinnatud labori taasesituse kampaaniates“.Labori sobitus IQ kampaaniatest, järeluuring (
tests/iq_labfit_followup.rs, CI töölabfit-iq-followup). See testib kahte hüpoteesi, mille dokumendidocs/design/LABFIT-FROM-IQ.md§13,6 jättis lahtiseks, lävede vastu, mis on eelregistreeritud kommitis 1e532f84. See lisab kaks sünteetilist kampaaniat: S astmelise J/S-ga (algväärtus 2026_1014) ja R, värske ramp (algväärtus 2026_1015). Tulemused on failisdocs/design/evidence/labfit-followup/RESULTS.md.- S1 täidetud: kui iga J/S tase on hoitud, taastatakse
δ_effpiirides +0,185 dB. Rampkampaaniate −1,1 dB viga on hinnangualgoritmi viivitus. - S2 täitmata, kindlaks määratud testiga, mis väidab möödalasku: (d) nii nagu kirjutatud astmelisel kampaanial kehtib jälgimisahela mudeli korral (0,45 dB), kuid mitte empiirilise mudeli korral (6,42 dB).
- R1 täidetud: värskel rampikampaanial on (d) sobitatud kaotuse viibimisaegadega, millele on lisatud iga sündmuse rambi kiirus, 1 dB piires mõlema mudeli korral.
- Möödalasud (a′) ja (d) korduvad kampaanial R.
- Kampaania võib nüüd esitada oma J/S-i testkonstruktsioonis profiilina
step. - Ükski §13 otsus ei muutu ja registririda jääb MODELLED.
- S1 täidetud: kui iga J/S tase on hoitud, taastatakse
Piiratud FLL-i sisselukustumine, valikuline (DS-LOOP-05): uus ahelaprojekti võti
[design.carrier] fll_pull_in_max_s(s), RustLoopConfig::fll_pull_in_max_s. Kuifll_assist = "pull-in", sunnib see FLL-ist PLL-ile ülemineku pärast nii pikka aega, sõltumata PLI-st. Vaikimisi seadistamata ja siis projekti räsist väljas; vaikeprojekt ja selle räsi on muutumatud.- Kontrollitud lävede vastu, mis on eelregistreeritud kommitis 58789af0, süstitud tõe põhjal. Kontroll on täidetud: vaikeväärtus ei anna kunagi üle 9 seedil 10-st väärtusel 33 dB-Hz.
- Täitmata: 1,0 s piirangu korral hoiavad 16 käitust 20-st lukku väärtusel 33 dB-Hz ja 8 20-st väärtusel 31 dB-Hz; ülejäänud tsüklevad sunnitud üleandmiste ja FLL-i tagasipöördumise vahel. Faasivärin on 1,8× ainult PLL-i oma väärtusel 33 dB-Hz.
- ~35 dB-Hz sisselukustumise alampiir jääb vaikeväärtuse dokumenteeritud piiranguks.
- MODELLED; registririda „Piiratud FLL-i sisselukustumine allpool vaikeprojekti FLL-ist PLL-ile ülemineku alampiiri (valikuline)“.
Hõivamise hüsterees ja esiotsa kvantiseerija jamming-liigis (CAP-06c): kaks valikulist jaotist stsenaariumile
jamming.[acquisition]:acquisition_threshold_dbhz(dB-Hz, jälgimislävel või sellest kõrgemal) jareacquisition_delay_s(s, vaikimisi 0). Satelliit hõivatakse hõivamislävel või sellest kõrgemal, kui see on olnud hõivamata viivituse jooksul. Seda hoitakse, kuni see on jälgimislävel või sellest kõrgemal. Väljundid:epochs[].sats[].acquired(tõene/väär),epochs[].acquired(arv) jafom.availability_acquired(1).[front_end]:adc_bits(1 kuni 16) jabandwidth_mhz(MHz, vaikimisi kaks korda kiibikiirus). Väljundid plokifront_end:agc_gain_reduction_db(dB,10·log10(1 + J/N)),quantiser_loss_db(dB, võetud maha iga lüli efektiivselt C/N0-lt) jaloss_model. Kadu on Gaussi sisendi oma, märgitud mittekehtivaks CW-, kitsaribaliste ja pühitud segajate korral.- Ilma jaotisteta on iga väljund baitidena identne.
- Kontrollitud lävede vastu, mis on eelregistreeritud kommitis 70c72fcc. Kvantiseerija kadu on 0,0007 dB piires sõltumatust Monte Carlost ja AGC näit 0,012 dB piires IQ-kihi AGC-ahelast.
- Registreeritud hüstereesikäitused olid infoväärtuseta (iga lüli kadus), seega on see lävi NOT MET. Täiendav käituskomplekt, mis on registreeritud kommitis 37793290, täidab selle: iga lipp võrdub sõltumatu ümberarvutusega ja 732 lülist 1824-st näitavad hüstereesi.
- Tähelepanek: CW-segajaga kaotab 1-bitine ADC umbes 5 dB rohkem kui Gaussi näitaja.
- MODELLED; registririda „Hõivamise hüsterees ja esiotsa kvantiseerija jamming-liigis sõltumatute ümberarvutuste suhtes“.
Segaja maastikuvarjestus jamming-liigis (CAP-06b): valikuline jaotis
[terrain]stsenaariumisjammingsegajaga. Väljad:dem_hgt: SRTM.hgtlahter, suhteline töökataloogi suhtes;samples_per_side,ll_lat_degjall_lon_deg(kraadi): lahtri suurus ja nurk;geoid_undulation_m(m, vaikimisi 0),k_factor(vaikimisi 4/3) japrofile_step_m(m, vaikimisi 30).
Mootor valib segaja ja vastuvõtja vahelise suurringi maastikuprofiili ning leiab domineeriva noaserva. Segaja vastuvõetud võimsust ja seega iga J/S-i vähendab ITU-R P.526-15 §4,1 ühe noaserva sumbuvus.
- Tulemus saab ploki
jammer_terrain:nu_max(1),diffraction_loss_db(dB),obstacle_distance_m(m),obstacle_terrain_m(m),path_length_m(m) japrofile_points(arv). - Ilma jaotiseta on iga väljund baitidena identne.
- Kontrollitud lävede ja kümne asukoha vastu, mis on eelregistreeritud kommitis 92cd2bfd, Death Valley lisatud päris SRTM-i lahtril, sõltumatu numpy ümberarvutuse vastu. Kõik täidetud: halvim erinevus 1.6e-10 väärtusel
νja sumbuvusel (lävi 1e-9), sumbuvus on segaja kõrguse suhtes monotoonne ja sumbuvus jõuab J/S-ini täpselt. - MODELLED; registririda „Segaja maastikuvarjestus jamming-liigis sõltumatu numpy ümberarvutuse suhtes päris SRTM-i lahtril“.
CRPA antennivõimendused jamming-liigis (CAP-06a): valikuline jaotis
[crpa]stsenaariumisjamming. Väljad:elements_enu_m(elementide asukohad kohalikus ida-põhja-üles süsteemis, m),weighting("null-steering"või"mvdr") jabandwidth_mhz(MVDR müra ribalaius, MHz, vaikimisi kaks korda kiibikiirus).- Iga kanal moodustab oma satelliidi suunas moonutuseta kiire. Lüli müra skaleeritakse teguriga
‖w‖²ja segaja teguriga|wᴴa_j|²enne olemasolevat häirekindla C/N0 võrrandit. - Iga lüli saab ploki
crpa:array_noise_gain_db(dB) jajammer_gain_db(dB). - Ilma jaotiseta on iga väljund baitidena identne.
- Kehtetu jaotis (tühi elementide loend, tundmatu kaalutus, mittepositiivne ribalaius) on viga nii
kshanajaapi::run_tomlkaudu kui kajamming::run_jammingkaudu. - Kontrollitud lävede vastu, mis on eelregistreeritud kommitis 08d83b4d. Täidetud: additiivsus (pärast parandust: esimene ehitus lisas uued ühikud iga segamiskäituse ühikutabelisse); üks element ei ole massiiv; mürategur ja efektiivne C/N0 sõltumatu numpy ümberarvutuse vastu 1e-9 dB piires; MVDR läheneb nullile kõrge JNR-i korral.
- Täitmata: MVDR segaja võimendus 194 lülil 456-st portatiivse matemaatika 0,36 korral (202 hosti matemaatika korral;
docs/revisions/STUDIO15-batch4-rebaseline.md) (halvim 1.7e-6 dB). Jäägid −100 kuni −188 dB on selle läve juures float64 eraldusvõimest allpool ja numpy erineb iseendast sama suurusjärgu võrra. - MODELLED; registririda „CRPA antennivõimendused jamming-liigis sõltumatu numpy ümberarvutuse suhtes“.
- Iga kanal moodustab oma satelliidi suunas moonutuseta kiire. Lüli müra skaleeritakse teguriga
IQ jälgimismootor GNSS-SDR-i 0.0.19 suhtes (PRO-33):
kshana iq trackja GNSS-SDR jälgivad samu sõltumatuid GPS L1 C/A numpy salvestusi väärtustel 30 kuni 45 dB-Hz.- Läved eelregistreeritud kommitis 48edd4a5. Registreeritud kalibreerimine ebaõnnestus GNSS-SDR-i vale üleandmise tõttu (F3), seega lisab muudatus 1 (1e4288c4) mõlemale vastuvõtjale ainult sisselukustumise FLL-i, lisatud enne mis tahes katsesalvestust.
- Täidetud: kandja ja koodi värin ning Doppler nõustuvad 5 % piires igal C/N0 väärtusel.
- Täitmata: mootori NWPR C/N0 näitab 2,3–7,1 dB alla GNSS-SDR-i SNV (F4, teadaolev hinnangualgoritmi piirang; M2M4 on tõest 0,06 dB piires); lukustusindikaatorid erinevad definitsiooni poolest (F5); üks 30 dB-Hz libisemise lahkarvamus (F6).
- MODELLED; registririda „IQ jälgimismootor GNSS-SDR-i 0.0.19 suhtes sõltumatutel salvestustel“.
Kaks VALIDATED rida IQ-kihi koodidele (DS-GIQ-06b, PRO-39).
- BeiDou B1I. Kõik 63 B1I peamist koodi vastavad kiip kiibi haaval GNSS-SDR v0.0.19 sõltumatule generaatorile (lävi eelregistreeritud kommitis 911106d1). Lisatud on ainult selle programmi väljund: B1I PRN koodid, mille avalik ICD määratleb, eesliite ja räsina.
- GPS L1C. Kõik 126 L1CP/L1CD koodi ja 63 L1CO ülekatet vastavad kontrollveergudele, mida IS-GPS-800J trükib, ning arvutatud Legendre’i jada vastab selle tabelile 6.2-1 (läved eelregistreeritud kommitis fe372e26).
- Read: „BeiDou B1I peamised kaugusmõõtmiskoodid sõltumatu generaatori suhtes“ ja „GPS L1C kaugusmõõtmis- ja ülekattekoodid IS-GPS-800J trükitud kontrollveergude suhtes“.
GLONASS-i, BeiDou ja Galileo E6 ribad spektrimudelis (CAP-12, signaalid): uued ribanimed
glonass-l1ofjaglonass-l2of(mis tahes FDMA kanal kujulglonass-l1of-k<K>, K = −7 kuni 6),beidou-b1i,beidou-b1c,beidou-b2a,beidou-b3ijagalileo-e6. Igaüks kannab oma ICD kandesagedust, modulatsiooni ja minimaalset vastuvõetud võimsust. Need on valikulised nime järgi: vaikimisi ribakomplekt ja iga olemasolev väljund on muutumatud.- Kontrollitud lävede vastu, mis on eelregistreeritud kommitis 5806f28b: ICD väärtused, nullid, B1C komposiit ja C/N0 tee on täidetud.
- Kaks lävi jäid täitmata. Ühikpindala lävi oli kirjutatud kujul saavutamatu (F1). IQ-kihi B1I ja B1C lainekujud vastavad mudelile ainult ribakeskmistatult, nende koodide ebaühtlaste joonspektrite tõttu (F2).
- MODELLED; registririda „Spektrimudel: GLONASS-i, BeiDou ja Galileo E6 ribad (valikuline)“.
Lahtrikeskmistav CFAR-valik IQ hõivamises (PRO-37):
iq::acq::ca_cfarjaca_cfar_cellsotsustavad hõivamisruudustikul, võrreldes iga lahtrit selle Doppleri rea tugilahtrite keskmisega. Lävi tuleneb suletud kujulisest CA-CFAR valehäire tõenäosusestMmittekoherentse bloki jaoks (ca_cfar_pfa,ca_cfar_alpha), seega otsus ei sõltu valimivõimsuse normaliseerimisest. See on valikuline; vaikedetektor ja iga olemasolev väljund on muutumatud.- Kontrollitud lävede vastu, mis on eelregistreeritud kommitis 3724aefa: suletud kuju Monte Carlo vastu (18 juhtu 18-st) ja 1 % projekteeritud määr, mõõdetud 0,97–1,01 % Gaussi ja 2-bitiselt kvantiseeritud müral.
- Üks lävi jäi täitmata: müravabal 2-bitisel signaalil ületab 1,28 % tipuväliseid lahtreid läve, koodi korrelatsiooni külgmaksimumide kohtadel (tähelepanek F1).
- MODELLED; registririda „Lahtrikeskmistav CFAR-valik IQ hõivamises“.
Sintillatsioonimudel mõõdetud andmete vastu (PRO-34): IQ-kanali Cornelli sintillatsioonimudelit võrreldi mõõdetud 50 Hz GPS L1 intensiivsuse ja faasiga ekvatoriaalsest sintillatsiooniööst (Zenodo kirje 16941224, INGV, Malindi, CC BY 4,0), lävede all, mis on eelregistreeritud kommitis b6ccb499. Täidetud: intensiivsuse jaotus ja S4-ga seotud faasisintillatsioon. Täitmata: mudel summutab 2,4 korda sagedamini alla −10 dB ja 3,5 korda kauem (tähelepanek F1). Registreeritud töötlus loeb mudeli mähitud faasi (tähelepanek F2); faasitulemus kehtib ka lahtimähituna.
scripts/fetch_scint_malindi.shtoob andmed. Rida jääb MODELLED: „IQ ionosfääri sintillatsioonikanal (Cornelli mudel) mõõdetud 50 Hz GPS L1 sintillatsiooni suhtes“.Parandatud LuGRE valimilugeja (MR-09):
realdata::lugre::parse_iqs_sdrxloeb LuGRE IQ partii, kus I on kõrges poolbaidis ja keskmise tõusuga tasemed2v + 1(SdrLayout::mid_rise), mis eemaldavad −½ keskmise, mille paljad kahendkomplemendi täisarvud I-l ja Q-l kannavad.run_acq.py --correctedannab GNSS-SDR-ile sama lugemise. Üldine ION lugeja ja iga olemasolev väljund on muutumatud: 149 stsenaariumi tulemust ja uuring on enne ja pärast baitidena identsed ning kindlaksmääratud LuGRE tähelepanekud loetakse nii nagu registreeritud (xval/lugre-reader/RESULTS.md). Ühtki registririda ei muudeta.Valikuline BOC(1 1) jälgimine (CAP-07 (a)):
LoopConfig::bocskaleerib DLL diskriminaatorid siinus-BOC(1 1) peamaksimumi jaoks ja lisab bump-jump monitori (väga varajased ja väga hilised korrelaatorid kohal ±0,5 kiipi, üles/alla loendurid,N = 8), mis nihutab koodi NCO külgmaksimumilt eemale;Channel::bump_jumpsloetleb hüpped. Vaikimisi väljas ja iga olemasolev väljund on muutumatu. Kontrollitud lävede vastu, mis on eelregistreeritud kommitis 6b68f6cc, sünteetilisel BeiDou B1C signaalil: külgmaksimumilt algus, mis jääb ilma valikuta 0,55 kiipi kõrvale, tõmmatakse valikuga peamaksimumile ühe hüppega ajahetkel 0,08 s ja peamaksimumilt valehüpet ei nähtud. Üks lävi jäi täitmata: skaleerimise ühikutesti ruudustik ulatub diskriminaatorite lineaarsest vahemikust välja (tähelepanek F1 failisdocs/design/evidence/boc-bump-jump/RESULTS.md). MODELLED; registririda „BOC(1 1) jälgimine: DLL skaleerimine ja bump-jump mitmetähenduslikkuse lahendamine (valikuline)“.Labori sobitus IQ kampaaniatest (B7.1,
docs/design/LABFIT-FROM-IQ.md). Labfit-stsenaariumi[input] campaign = "<out-dir>"sobitab kausta, mille väljund onkshana iq campaign, CLI-s (kshana iq labfit), Pythonis (kshana.iq_labfit) ja MCP labfit-tööriistas (ainult selle töökataloogis olevad kaustad). See sobitab ühe ühiku signaali, ahelaprojekti, esiotsa ahela ja segaja tüübi kohta:- C/N0 mudeli fikseeritud J/S suhtes, tsenseerimisega;
- jälgimislävi otse ja suletud kujul;
- jälgimisahela ja empiirilised lukumudelid, seotud C/N0 mudeli kaudu, nende viibimisaegadega;
- algväärtustatud klastri alglaadimine salvestuste kohta, 90 % ennustusvahemikud ja ühe salvestuse välja jätvad hold-outid;
- eelregistreeritud tabel
[validation], räsitud, iga läve kohta PASS/FAIL.
Aruanne on
kshana.labfit-iq/1JSON-i, CSV ja Markdownina, koos ühikute plokiga.Q_effei ole C/N0 andmetest tuvastatav ilma sõltumatu võimsusmõõtmiseta. See on fikseeritud, mitte kunagi sobitatud, ja sobitatud parameeter ondelta_eff = delta - 10 log10 Q(projekti muudatus 2026-10-12). Tundmatu segaja tüüp võtab kõige kahjulikuma fikseeritudQ(cw, 1). Kshana enda stseenidest loodud sünteetilistel kampaaniatel läbib hold-out kattuvuse lävi (c). Läviddelta_eff(a') ja (b') (0 50 kampaaniast kaetud) ning suletud kujulise jälgimisläve lävi (d) ei ole täidetud: need on registreeritud oma väärtustega. MODELLED; registririda „Avatud vastuvõtja C/N0 ja lukustusmudelite kalibreerimine IQ kampaania tulemustele, koos fikseeritud ennustusveaga“. Vastuvõtja logi labfit-tee ja selle väljundid on muutumatud.solar-systemJPL-i tuumal (CAP-31):planetary_kernel_pathvõtab iga keha, mida SPK sisaldab (de440s puhul: Merkuur, Veenus, Maa, Kuu), tuumalt, siltKERNEL, ning lisab plokikernelainult siis, kui see on seatud. Uus rida, VALIDATED SPICE-i vastu (eelregistreeritud f8e946ea; halvim 3.3e-5 m, 1.0e-11 m/s). Vaikearuanne on muutumatu.Porkchop DE440 efemeriidil (CAP-20b):
maneuver::porkchop_kernelpühib C3 ja saabumise V∞ heliotsentrilistel olekutel DE440 SPK-st. Uus rida, VALIDATED SPICE-i olekute vastu- pykep 3.0.1 (eelregistreeritud 2d857fb1; Maa Marsile 2026-2028, 304 lahtrit, halvim 2.6e-14, sama minimaalse C3 lahter).
LRO mittegravitatsiooniline makromudel: NOT MET (DS-LRO-10, eelregistreeritud e82047e2).
lunar_od::LunarMacroModel(valikuline kauduLunarForceModel::macro_model): lamedate plaatide otsene päikesekiirgus Kuu varjuga, Päikest jälgiv paneel ning Kuu albeedo ja soojus-IR;LunarMacroModel::lro_genericon märgistatud üldine LRO lähendus avaldatud faktidest (bussiplaate pole: plaadi tabelit ei õnnestunud hankida). 4 h LRO kaarel jätab see vähendatud dünaamilise RMS-i väärtusele 6,668 m ja dünaamilise väärtusele 11,94 m, uskumatu kiirgusteguriga (umbes +21 / −22), seega kõik kolm lävi jäävad täitmata. Tähelepanek on kinnitatud testiga ja ühtki vaikeväljundit ei muudeta (docs/design/evidence/ds-lro-10-macro-model/RESULTS.md). Valikuline Kuu kahurikuuli SRP kasutab nüüd Maa varjuvööndi asemel Kuu koonilist varju (forces::conical_shadow_body).Kuu OD: valikuline k2 tahke loodete mõju ja selenotsentriline relatiivsus (DS-LRO-11), vaikimisi väljas (
LunarForceModel::lunar_tide,::relativity); lülitiKSHANA_LRO_DEGREEANISE ristvalideerimiseks (DS-LRO-04); 24 h LRO kaare fikstuur ja ainult informatiivne pika kaare sobitus (DS-LRO-09). Informatiivsed käitused on registreeritud failisdocs/design/evidence/ds-lro-09-11-longer-arc/RESULTS.md; ühtki avaldatud arvu ei muudeta.CR3BP 9:2 NRHO CAPSTONE’i suhtes (CAP-29d): uus MODELLED rida, mis mõõdab mootori ringpiiratud NRHO-d CAPSTONE’i lennatud orbiidi suhtes (JPL Horizons, märts 2023; eelregistreeritud 4e868170): periood 1,07 %, apolune 0,05 %, perilune 4,1 % CAPSTONE’i keskmistest, registreeritud 3 / 5 / 20 % läve sees. Mõõtmine, mitte valideerimine.
CR3BP pöörlevad olekud Kuu-keskseks ICRF-iks (RM-34, FUT-06):
cr3bp::to_moon_centred_icrf/from_moon_centred_icrf/to_moon_centred_icrf_de440vastendavad mõõtmeteta Maa-Kuu pöörleva oleku hetkelisele DE440 Maa-Kuu joonele, sh kaadri tasapinnaväline kiirus. Uus rida, VALIDATED SPICE-i kahe vektoriga kaadri vastu (eelregistreeritud 2313eb1b, muudetud enne mis tahes käitust d5ef79b3; 72 juhtu, halvim 1.8e-7 m ja 1.2e-9 m/s).CR3BP perekonna liikmed JPL-i Three-Body Periodic Orbits API suhtes: NOT MET (RM-35, eelregistreeritud a9074f65).
cr3bp_family(halo, NRHO ja DRO korrektsioon, monodroomia stabiilsusindeks, pseudokaare pikkusega jätkamine) vastab 54 API liikmele 58-st igal lävel (olek, periood ja Jacobi 1e-10 piires kõikjal). Üks L1 halo stabiilsusindeks (9.5e-2) ja kolm väikese DRO sulgumist (1.5e-8 kuni 3.3e-8 võrreldes väärtusega 1e-8) jäävad lävest mööda, seega on moodul#[doc(hidden)]ja ükski rida seda ei väida. Tulemused:docs/design/evidence/cr3bp-families/RESULTS.md.Valikuline DE440 Kuu orientatsioon ja keskkond (FUT-05, DS-LRO-08; vaikeväärtused muutumatud):
lunar_frame::try_icrf_to_moon_pa_de440,lunar::try_mci_to_mcmf_de440/try_mcmf_to_mci_de440(epohhiga ankurdatud, DE440 peatelgedes) jalunar_od::De440LunarEnvironment(sisseehitatud DE440 PA orientatsioon pluss geotsentriline Päike ja Kuu kasutaja antud DE440 SPK-st). ANISE’i vastu (eelregistreeritud ea537710): orientatsioon 3.5e-7 rad piires ja LRO sobitused 1 mm piires, kuid efemeriidi haru jäi oma lävest mööda (Päike 30,7 m, Kuu 1,1 m, ANISE’i poolel ~1 ms ajanihe), seega see ei ole valideeritud rida. Tulemused:docs/design/evidence/fut05-de440-lunar-env/RESULTS.md.Kuu tugisüsteemi kampaania datum, tinglikkusega skaleeritud NumPy lävi: NOT MET (eelregistreeritud b887eb05; jääb MODELLED). Samm 0 välistab pseudopöördmaatriksi tagavaravariandi kui põhjuse jaamade hinnatud lahknevusele 0,30; NumPy nõustub lävega kaheksast stsenaariumist kuuel, kuid stations_estimated jääb lävest mööda (6.8e-6 võrreldes väärtusega 5.9e-7) ning värskel kuupäeval 2026-12-01 muudab vaatlemata lõunapooluse maják majakainformatsiooni astakupuudulikuks, mida muutmata sõltumatu etalon ei suuda hinnata. Tulemused:
docs/design/evidence/mr05-lunar-datum-cond/RESULTS.md.Kuu tugisüsteemi datum päris vaatluskampaaniast (analüütiline Kuu) VALIDATED värsketel 2025 EDC normaalpunktidel (eelregistreeritud 31f5283 enne ühegi toomist): muutmata SPICE ja NumPy sõltumatu etalon nõustub raamatupidamise, astakute ja nullsidestuse osas ning 1.11e-3 piires sigmadel (lävi 1e-2), 8.95e-4 tinglikkusel ja 1.79e-3 risti/piki suhetel (lävi 2e-2). Ainult kovariatsiooniarvutuse Library kontroll; läved ei eralda Kuu mudeleid. Tulemused:
docs/design/evidence/mr06-llr-analytic-fresh/RESULTS.md.IAU kehade orientatsioon ja GM neljateistkümnel lisatud Päikesesüsteemi kehal, eraldatud reast „Iga Päikesesüsteemi keha füüsikalised konstandid“ VALIDATED reaks (eelregistreeritud 154bc54):
Body::iau_rotation_etnõustub SPICE-ipxformväärtusega pck00011 pealt 1e-9 rad piires 574 maatriksil algsetel epohhidel ja 574 maatriksil 41 värskel epohhil, mida pole kunagi varem võrreldud (halvim Phobos 1.38e-10 rad), ningBody::muvõrdub väärtusega gm_de440 kõigil neljateistkümnel kehal. Algse rea ülejäänud osa (J2, keskmine raadius, aruanne) jääb MODELLED. Tulemused:docs/design/evidence/mr08-body-orientation/RESULTS.md.Mitme tiiruga Lambert (
maneuver::lambert_multirev): iga lahend kuni kolme tiiruga, mõlemad harud. Uus registririda, VALIDATED pykep 3.0.1 vastu (eelregistreeritud a75de851; 382 juhtu, 1058 lahendit, halvim kiiruse erinevus 1.6e-13 võrreldes väärtusega 1e-8). Sisemine Kepleri maandumiskaitse leidis funktsioonimaneuver::kepler_universalühe piirangu kaarel e = 0,994; see on registreeritud failisdocs/design/evidence/lambert-multirev/RESULTS.md.Kasti-tiiva ja ECOM2 päikesekiirguse rõhk (DS-PA-14), valikuline.
srp_boxwing: lamedate plaatide kasti-tiiva mudel Galileo FOC/IOV tabelitega GSC satelliidi metaandmetest, GNSS-i nominaalse yaw-juhtimisega, kiirgusteguri ja paneelipõhiste osatuletistega, ning ECOM2 empiiriline mudel oma osatuletistega. Valitakse käsugaForceModel::box_wing_srp/PreciseForceModel::box_wing_srp(väljadsrp_boxwing, vaikimisiNone: kahurikuuli tee ja iga kuldne väärtus on muutumatu); kasti-tiiva komplekti korral oncrselle kiirgustegur. Võrreldud Orekit 12,2 vastu eelregistreeringu all (xval/srp-boxwing-orekit/): iga lävi täidetud, umbes 1e-15 suhteline; VALIDATED mudeli hindamisena, Galileo SRP ennustus jääb MODELLED.Lapiku Maa SRP vari ja Päikese ketta äärepoole tumenemine (FUT-09, RM-11). Uus moodul
srp_shadow:oblate_conical_shadow(WGS-84 varjutav ellipsoid),limb_darkened_shadow(Eddingtoni seadus) jaShadowModel, valitakse käsugaForceModel::srp_shadow(vaikimisi: olemasolev sfääriline koonuseline vari, muutumatu);forces::srp_accel_with_lit_fraction. Lapiku Maa vari nõustub Orekit 12,2 valgustussuhtega 7.4e-9 piires 2400 geomeetrial (VALIDATED,xval/srp-oblate-shadow-orekit/); ketta äärepoole tumenemisel puudub väline sõltumatu etalon (MODELLED).NRLMSISE-00 termosfäär (FUT-08, RM-10, DS-PA-13).
nrlmsise00: funktsioonidegtd7jagtd7dport (lülitid, päevane Ap ja 3-tunnine ap-massiivi režiim) NRL Fortrani avaliku omandi C-versioonist. See on bititäpselt identne selle C-pordiga ja pymsis 0.13.0 (NRL Fortran, üksiktäpsus) suhtes 1.9e-6 suhtelise vea piires 720-punktilisel ruudustikul ning see reprodutseerib 17 avaldatud testjuhtu (VALIDATED;xval/nrlmsise00-pymsis/). See valideerib porti, mitte mudeli täpsust mõõdetud tiheduse suhtes.Valikuline NRLMSISE-00 õhutakistuse tiheduse tase.
forces::DensityModel::{Exponential, Nrlmsise00 { f107a, f107, ap }},forces::drag_accel_with_density,density_atjapropagator::ForceModel::drag_density. Staatiline eksponentmudel jääb vaikeväärtuseks, bitt bitilt. Kosmoseilm on mudeli kohta konstantne. VALIDATED orbiiditasemel Orekit 12,2 enda NRLMSISE-00 õhutakistuse vastu 24 h jooksul (halvim 0,03 m kuni 142 km õhutakistuse nihke korral;xval/drag-tier-orekit/).Valikuline DE440 Päike ja Kuu Cowelli propagaatoris (RM-33, FUT-10).
propagator::ForceModel::with_ephemerisvõtab mis tahesEphemerisProvider(nt DE440KernelEphemeris) kolmanda keha ja SRP liikmete jaoks; see keeldub pakkujast, kes ei suuda epohhi teenindada, loendab tagasilangemised analüütilisele reale ja on vaikimisi väljas.EphemerisProvider::relative_position_jd2säilitab kaheosalise täpsuse. Orekit 12,2 vastu selle enda DE440 lugejal nõustuvad 24 h orbiidid täpsusega 0,017 m; eelregistreeritud Päikese/Kuu asukoha lävi jäi täitmata (6,4 m / 0,24 m; SPICE näitab sama lahknevust), seega MODELLED (xval/propagator-de440-orekit/).Valikuline S1 atmosfääriline loodete mõju (DS-PA-03).
tides::atmospheric_tide_s1jas1_air_tide_acceleration(Biancale & Bode 2006, GFZ STR06/01 tabel 1 mudel N1, astmed 2–6), lubatud käsugaair_tide_s1()objektidelpropagator::ForceModeljaprecise_od::PreciseForceModel; vaikimisi väljas. MODELLED (koefitsiendid kontrollitud uuesti avaldatud tabeli vastu; jõu mõjul puudub väline sõltumatu etalon).Kauguskiiruse ja asimuudi/kõrgusnurga partii orbiidi määramine kõrgusnurga maskiga (RM-36, FUT-13).
orbit_determination::determine_orbit_batch_tracking,simulate_tracking,predict_tracking,propagate_with_stm(variatsiooniline STM analüütiliste kahe keha + J2 osatuletistega),is_visible,measurement_with_partials;batch_ls::gauss_newton_analytic. Ainult kaugusmõõtmise tee on muutumatu. Võrreldud Orekit 12,2 partii vähimruutudega 8 eelregistreeritud stsenaariumil: iga lävi täidetud, välja arvatud müravaba oleku kokkulangevus (≤ 1 cm), mis jäi täitmata 2 stsenaariumil 4-st väärtustega 1,46 ja 1,74 cm, kui kshana on tõest 1e-8 m piires; registreeritud, MODELLED.SP3 täpsuse kaalumine (DS-PA-06).
sp3::parse_sp3_accuracyjaSp3Accuracy::position_sigma_mvastendavad päise ja kirjepõhised täpsuskoodid vaatluse sigmadeks; SP3-ga kaalutud Galileo sobitusvariant (Tier-2 3D RMS 0,035 m võrreldes kaalumata 0,070 m) on lisatud muutumatute registreeritud käituste kõrvale. MODELLED.Swarm-A täiskaare käivitustöö (DS-PA-08) failis
.github/workflows/agency-od-validation.yml.Planeetide gravitatsioon PDS SHADR tabelitest (CAP-30, CAP-31 osa).
SphericalHarmonicField::from_shadr(src/gravity_pds.rs) loeb Marsi GMM-3 (d/o 120) ja GRAIL GL0660B (d/o 660);Body::with_gravity_fieldkinnitab mis tahes laaditud välja (vaikeväärtused muutumatud). Astme 20 kärped on kaasas (NASA PDS, avalik omand;tests/fixtures/planetary_gravity/NOTICE.md); täisfailid toobxval/planetary-gravity-pyshtools/fetch_data.sh. VALIDATED pyshtools 4.14.1 vastu (4e-15 piires kogugravitatsioonist väärtusel d/o 120 kogu sfääril, 5e-14 väärtusel d/o 660 korral |lat| ≤ 60°); keha koordinaatsüsteemi ühendus jääb MODELLED (iga välja natiivne koordinaatsüsteem ei ole kasutatud IAU süsteem).Kõrge astme gravitatsioon kuni astmeni 2190 (RM-14, FUT-07).
SphericalHarmonicField::acceleration_hf/potential_hf(Holmesi–Featherstone’i modifitseeritud ettepoole veerg, alatäitumiseta, polaarsingulaarsuseta),prepare_high_degree, voogedastav ICGEM laadijafrom_gfc_file/from_gfc_reader(normi ja maksimaalse astme kontrollid, loodete süsteem registreeritud, ajas muutuvad liikmed tagasi lükatud) jascripts/fetch_egm2008.sh(täielik EGM2008, SHA-256 kindlaks määratud, ei ole kaasas; testid piiratud väärtusegaKSHANA_EGM2008_GFC).propagator::FieldEvaluatorvalib selle valikuliselGeopotential. Nõustub Orekit 12,2 väärtusega 7.3e-17 m/s² täpsusega kuni astmeni 2190 ja 24 h 200×200 orbiit nõustub 0,13 m täpsusega. MODELLED: pyshtools jäi eelregistreeritud pooluselähedasest lävest mööda (jälgitud pyshtoolsini) ja orbiidi astme 70 tundlikkuse kontroll jäi mööda (0,73 m < 1 m); mõlemad on registreeritud failisxval/.DOP853 integraator (FUT-11).
integrator::integrate_dop853,integrate_dop853_checked,integrate_dop853_dense(7. järku tihe väljund),dop853_step,dop853_initial_step, rikkekindla sammukaitsega;propagator::Integrator::Dop853,propagate_dop853,propagate_dop853_checked. Vaikedraiver on muutumatu. VALIDATED SciPy 1.18.1solve_ivp(method="DOP853")vastu: üksiksammud 5.6e-15 piires, kattuvad sammujadad, lõppolekud 1.6e-12 piires (xval/dop853-scipy/).Töökindel Kepleri lahendaja (FUT-12). Uus moodul
kepler:solve_kepler_markley(Markley 1995 alglähend, kaotusevaba jääk) kõigi 0 ≤ e < 1 korral, mähitud funktsioonigapropagator::solve_kepler_robust. VALIDATED 50-kohaliste mpmath juurte vastu täpsusega 0,9 ε·|E| kuni e = 0,999999 (xval/kepler-mpmath/).Valikuline tesseraalne Maa gravitatsioon Cowelli propagaatoris (RM-09).
propagator::ForceModelsaab väljageopotential: Option<Geopotential>(with_geopotential,with_egm2008(nmax)). See hindab väljaSphericalHarmonicField(kaasasolev EGM2008 kuni astme/järguni 70 või mis tahes ICGEM.gfc) Maaga seotud süsteemis, milleni jõutakse Maa pöörlemisnurga kaudu (EarthFixedFrame::Era) või CIO GCRS-ist ITRS-i ahela kaudu (EarthFixedFrame::Cio). VaikimisiNone: ükski olemasolev väljund ei muutu. VALIDATED Orekit 12,2 Holmesi–Featherstone’i vastu 24 h jooksul (6 juhtu, halvim 0,036 m), lävedega, mis on eelregistreeritud failisxval/cowell-tesseral-orekit/PREREGISTRATION.md.Kaheosalised Juliuse kuupäevad läbi Maa pöörlemise orbiiditeel:
jd2::gmst82,cio::gcrs_to_itrs_matrix_jd2,frames::teme_to_itrf_jd2/itrf_to_teme_jd2,orbit::Propagator::position_in_frame_jd2jaown_jd2_utc,Fromteisendused tüüpidejd2::Jd2jatimescales::TwoPartJdvahel ning valikulinetwo_part_jd = truestsenaariumileephemeris(ECEF, aluspinna jälg ja jaama vaade; vaikimisi väljas ja muutumatu ning võti jäetakse stsenaariumi räsist välja, kui see on väljas). Uus registririda, VALIDATED pyerfagmst82/c2t06avastu (eelregistreeritud b10475ee; 40 kuupäeva: GMST bititäpselt identne, maatriks 2.7e-14 piires, pöörlemine 1 µs sammude korral 1.1e-14 rad piires, kus üksik-f64tee jääb neist mööda). Cowelli jõumudeli epohh jääb üksik-f64; põhjus on selle dokumentatsioonis.EOP ennustus väljaspool tabelit (
EopSeries::with_ls_ar_prediction,EopSeries::last_mjd): IERS Maa orientatsiooniseeria valikuline laiendus LS+AR ennustajaga, mis on antud selle viimasel real, nii et hilisema epohhi kaadriargumendid järgivad prognoosi, mitte ei kinnistu viimase rea külge. Tabelisisesed vastused on bititäpselt identsed (testitud); seeria jääb siiski viimase rea külge, kui seda ei kutsuta. Prognoosi täpsus jääb olemasolevaks LS+AR leiuks Bulletin A suhtes (MODELLED).Taevapooluse nihked dX, dY CIO ahelas (
cio::gcrs_to_cirs_matrix_with_offsets) ning funktsioonideprecession_matrix,teme_to_gcrs_matrixja uue funktsiooni otsesed ERFA vektorkontrollid. Uus registririda, VALIDATED pyerfa vastu (eelregistreeritud 979c1e39; 40 epohhi 1950–2100: pretsessioon ja CIO bititäpselt identsed, TEME→GCRS 1.1e-10 rad piires, kahe liikmega pööripunktivõrrandi rea ennustatud mõju). Olemasolevad funktsioonid on muutumatud.Enne 1972. aastat kehtinud UTC kaheosalisel ajateel (
timescales::tai_minus_utc_on_dateningJd2::from_utc_calendar,jd2::utc_to_taijajd2::tai_to_utcalates 1960-01-01): triivava kiirusega („kummisekundi“) ajastu, SOFA triivitabeliga, päeva lõpu murdosaliste sammudega ja päevaosa UTC-st SI-ühikutesse skaleerimisega. Uus registririda, VALIDATED pyerfadtf2d/utctai/taiutcvastu (eelregistreeritud 23c40661; 117 hetke 1960–1971, halvim 2.9e-11 s võrreldes 1 µs lävega). Iga 1972+ tulemus on bititäpselt identne (kontrollsumma kindlaks määratud enne muudatust). Enne 1960 on TAI − UTC 0, nagu SOFA-s. Üksik-f64timescales::tai_minus_utcon muutumatu.GLONASS-i edastatav satelliidikell (
GlonassEphemeris::sv_clock_bias_s):−τn + γn·(t − tb)RINEX-i kirjest, satelliidikellalt loetud ajahetkel (kaks kindla punktiga iteratsiooni, RTKLIB-i konventsioon). Parsitud−τnjaγnolid varem kasutamata. Uus registririda „GLONASS-i edastatav satelliidikell ja edastatava orbiidi propageerimine“, VALIDATED RTKLIB 2.4.2-p13geph2clk/geph2posvastu (eelregistreeritud e099c42a; 292 juhtu päris 2013 edastusfailil: kella erinevus 0 s, halvim asukoht 1,1 mm võrreldes 1 cm lävega). Teegi funktsioon; ükski stsenaariumi väljund ei muutu. PZ-90.11 → ITRF teisendust ei rakendata ja moodul ütleb seda.PPP ajalahend IGS jaama kella suhtes (0,36, FUT-19): float PPP filtri vastuvõtja kell jaamas WTZR nõustub IGS lõpliku kombineeritud kellaga selle jaama jaoks 0,075 ns täpsusega (standardhälve) ja püsiva nihkega −0,66 ns koondunud kahe tunni jooksul. Läved eelregistreeriti failis
xval/ppp-time/. VALIDATED (uus registririda). Uus fikstuurigs_2025055_WTZR_05m_0006.clk, IGS lõpliku kellafaili jaamakella kirjed, mida satelliidikellade jaoks juba kasutatakse.PPP ühtivus gLAB-iga (0,36, WP-07, RM-31): gLAB 6.0.0 käitati samadel WTZR sisenditel eraldi tööriistana (Apache-2.0 tuum; allalaadimise kontrollsumma kontrollitud avaldatud loendi vastu), menetlusliku muudatuse käsureaga, mis oli lisatud enne käitust. Esimesel registreeritud käitusel nõustuvad Kshana float PPP ja gLAB 0,05 m piires 240 epohhil 240-st ja viimasel 5,0 mm täpsusega. SPP lävi jäi täitmata (mediaan 1,187 m võrreldes väärtusega 0,50 m) ja on registreeritud tähelepanekuna: gLAB-i ja RTKLIB-i enda SPP lahendid erinevad teineteisest 0,852 m võrra. Registreeritud reegel jätab seetõttu mõlema tööriista harud tervikuna täitmata, samal ajal kui PPP ühtivus kehtib.
RINEX 4 navigatsiooni lugemine (0,36, WP-07, PRO-41):
rinex::parse_navloeb RINEX 4.00-4.02 navigatsioonifaile (> EPHGPS LNAV, Galileo I/NAV ja F/NAV, BeiDou D1/D2, QZSS LNAV; muud kirjed jäetakse vahele järgmise kirjepäiseni) japarse_nav_withvõtab valikuid. VALIDATED sama päeva IGS RINEX 3 ühendatud faili vastu: iga dekodeeritud väli identne ja 0 m asukohas. RINEX 2/3 lugemine on muutumatu.BeiDou GEO edastatavad asukohad (valikuline):
NavParseOptions::include_beidou_geojaRinexEphemeris::sv_position_ecef_bds_geo(BDS ICD, −5 kraadi kalle).parse_navjätab GEO-d endiselt vahele. MODELLED: eelregistreeritud võrdlus täpse orbiidiga on andmetest sõltuv ja pole veel käitatud.RINEX 4 vaatlusfailid: päris RINEX 4,00 MGEX vaatlusfail loetakse testides (MODELLED, vormingu standardi järgimine).
RTK LAMBDA-ga päris RINEX-il (0,36, WP-07 ★):
rtk_real::run_rtk, lühikese baasjoone kahekordsed erinevused kahe sagedusega GPS koodist ja faasist float Kalmani filtri ja LAMBDA täisarvulise fikseerimisega (suhtetest). VALIDATED IGS jaamadel WTZR ja WTZZ (1,4 m teineteisest) nende ITRF2020 baasjoone vastu eelregistreeritud lävedega: fikseeritud igal epohhil pärast esimest kümmet minutit, baasjoone vea mediaan 4,5 mm ja 95. protsentiil 5,5 mm.Päris andmete PPP ühtivus RTKLIB-iga (RM-31):
xval/ppp-parity/run.shjatests/ppp_parity_glab_rtklib.rseelregistreeritud lävedega. RTKLIB v2.4.2-p13 PPP samadel WTZR sisenditel nõustub Kshana-ga 5 cm piires igal viimase kahe tunni epohhil (9,7 mm lõpus) kolmandal registreeringul; kaks esimest käitust, mis registreeriti tähelepanekutena, olid tahke loodete mõju väljas ja vastuvõtja antenn RTKLIB-i baasipesas. Üksikpunkti ühtivuse lävi jäi täitmata (1,09 m mediaan võrreldes väärtusega 0,5 m). gLAB haru pole käitatud (andmetest sõltuv).Navigatsioonisõnumi kodeerijad peale LNAV-i (0,36, WP-07, PRO-40):
gnss_navmsgkodeerib GPS CNAV-i (sõnumitüübid 10, 11, 30; CRC-24Q; pidev kiirusega 1/2 K=7 kodeerimine), Galileo I/NAV-i (sõnatüübid 1-5 paaris/paaritutel nominaalsetel lehtedel; 30x8 põimur; sünk0101100000) ja Galileo F/NAV-i (lehetüübid 1-4; 61x8 põimur; sünk101101110000), testdekoodritega. MODELLED: edasi-tagasi tsüklid ja ICD teadaolevad vastused; eelregistreeritud kontroll, et edastatavad Galileo efemeriidid asuvad kodeerija LSB ruudustikul, kehtis (halvim 3.6e-3 LSB), kuid jäi oma satelliitide arvu lävest mööda (15 20-st), registreeritud. Kodeerijad on teegi funktsioonid; stseeni ühendamine ei kuulu selle muudatuse hulka.IONEX failide lugeja (0,36, WP-07):
ionex::parse_ionex_filekoosIonexFile,IonexHeader,IonexEpoch,IonexFileMapjaIonexTimeInterp: range fikseeritud veergudega IONEX 1,0 lugeja, epohhidega, mis loetakse esimese kaardi päevast,9999loetuna puuduvana, RMS kaartidega ning vormingu lähima, järjestikuse ja pööratud kaardi aja interpolatsioonidega; kaldtee TEC päise kihi kõrgusel. Kontrollitud lisatud sünteetilisel kaardil ja, andmetest sõltuvalt (toodud testi ajal kindlaksmääratud SHA-256-ga, ei ole koodibaasi kopeeritud), päris CODE GIM-i kärbitud osal: iga sõlm täpne; interpolatsioon vastab valemi etalonile täpsusega 4e-13 TECU. RTKLIB-iiontecnõustub 3.6e-13 TECU täpsusega 6885 punktis (eelregistreeritud B6). VALIDATED andmetest sõltuva tõendi alusel (omaniku otsus, 2026-10-13): test ebaõnnestub mis tahes kaardil peale SHA-ga kindlaks määratu.Hatchi kandelaine silumine (0,36, WP-07):
hatch::HatchFilterjapvt::assemble_epoch_precise_smoothed, lahknemisvaba (ionosfäärivaba) vorm täpses üksikpunkti koostamises. MODELLED registreeritud tähelepanekuga: IGS jaamal WTZR langetab see üksikpunkti vea mediaani väärtuselt 1,55 m väärtusele 1,12 m ja 95. protsentiili väärtuselt 3,47 m väärtusele 3,21 m, jäädes alla eelregistreeritud 40 % vähendamise (allesjääv viga on nihketaoline, mitte müra).Float PPP päris RINEX-il (0,36, WP-07):
ppp_real::run_ppp, staatiline float täpse punktipositsioneerimise filter päris kahe sagedusega GPS koodil ja faasil IGS lõplike toodetega (antennide nihked ja variatsioonid, tahke Maa loodete mõju, faasi mähkumine, Shapiro viivitus, hinnatud märg viivitus, tsüklilibisemise tuvastus), koosparse_antex_receiver-ga. VALIDATED suletud IGS jaamal WTZR selle ITRF2020 koordinaadi vastu eelregistreeritud lävedega: pärast 6 h on viga 1,5 mm horisontaalselt ja 2,9 cm vertikaalselt ning iga viimase kahe tunni epohh on 10 cm piires.SP3 täpse kella interpolatsioon (0,36, WP-07):
Sp3File::clock_sjaclock_nodesinterpoleerivad tabuleeritud SP3 satelliidikellad lineaarselt kahe ümbritseva kehtiva sõlme vahel (halva kella sentinell jäetakse vahele) ningClockRinex::from_sp3annab need objektilePreciseProducts, nii et täpne ahel töötab ainult SP3-st. VALIDATED IGS lõplike 30 s kellade vastu kuupäevast 2025-02-24 eelregistreeritud lävedega: 32 GPS satelliiti, keskpunkti RMS 0,121 ns (lävi 0,15 ns), 95. protsentiil 0,265 ns (lävi 0,30 ns).RAIM kella holdover-i kvaliteedinäitajate kõrval (CAP-05b): valikuline jaotis
[integrity]kella liigis esitab eraldi plokiintegrity_fom(hetktõmmise RAIM eelseadistatud taevas fikseeritud asukohast: epohhipõhine otsus ja kaitsetasemed, kättesaadavus; kättesaamatu, kui GNSS on keelatud, mitte kunagi ekstrapoleeritud). Holdover-i näitajad on muutumatud; ilma jaotiseta on väljund baitidena identne. MODELLED.JammerTest 2024 põhjal kalibreeritud receiver-trust läved (CAP-13): C/N0 languse, AGC ja segamisindikaatori monitoride eelregistreeritud kalibreerimine avalikul JammerTest 2024 andmekogumil (toodud käitusajal, mitte koodibaasi kopeeritud;
examples/jammertest_trust_calibration.rs), tarnitud ainult valikulise profiilina[monitors] profile = "jammertest-2024-calibrated"(1,5 dB, 3,5 sigmat, 29). Suletud komplektil: AGC, segamisindikaatori ja liidu läved läbivad; C/N0 valehäire lävi ebaõnnestub (0,023 võrreldes väärtusega 0,02), seega on rida MODELLED (xval/jammertest-trust/RESULTS.md). Vaikeväärtused ja väljundid ilma profiilita on muutumatud.Mitme satelliidi ARAIM rikkehüpoteesid (CAP-05a): ADD v4.2 alamhulga reegel üldistatud paaridest kaugemale (
add_v42_subset_plan,add_v42_protection_levels_to_order; järk 2 on täpselt olemasolev MAAST-iga kontrollitud tee) ja valikuline täiustatud RAIM nende hüpoteeside üle (araim_subset_raim), mis esitab suurima eraldatusega alamhulga, kui rike tuvastatakse. Eeldused, mis vajavad sügavamaid alamhulki, lükatakse tagasi, mitte ei kärbita. MODELLED.Silmapiir vastuvõtja usalduses (FUT-01): receiver-trust seanss võib esitada väärtuse
[skyline]; selle taha jäävad satelliidid on taevast kaotatud (sky-blocked,behind_skyline,open_fraction) ja nende kaod liigitataksegeometry, mitte kunagienvironment; ilma selleta on asimuudilünga tagavara ja iga väljund nagu varem. Meeskonnakoolituse generaator saab sündmusenatural-degradation(blokeeritud taevas, mitte häire) ja stsenaariumiscenarios/training/fjord-natural-degradation.toml. UERE x DOP Monte Carlo saab projekteerimismärkme kaks maskeeritud silmapiiri geomeetriat, eelregistreeritud eraldi: kõik 26 kontrolli läbivad.RFC 3161 ajatempli kontroll (CAP-14):
kshana::evidence::tsa::verify_tokenkontrollib ajatempli märgi allkirja (RSA PKCS#1 v1.5, RSA-PSS, ECDSA P-256 ja P-384), selle ESS allkirjastamissertifikaadi sidumist, allkirjastaja timeStamping kasutust ja selle ahelat usaldatud ankruni märgi genTime hetkel, võrguühenduseta;kshana evidence verify --tsa-ca <anchors.pem>rakendab seda paketi faililetimestamp.tsr(valikuline; ilma selleta on aruanne muutumatu). VALIDATED, kitsalt: kõik 27 ise genereeritud juhtu nõustuvad OpenSSL 3.0.13 otsuse ja genTime osas, enne kontrollija kirjutamist eelregistreeritud võrdluse all. Tühistamist ei kontrollita.Näitajapõhised kontrollitasemed iga liigi jaoks (RM-04): iga stsenaariumi liigi tulemus lõpeb nüüd plokiga
figure_tiers, mis nimetab selle põhinäitajad, iga näitaja omava kontrollimaatriksi rea ja sellelt realt loetud taseme (näitajad, mida ükski rida ei oma, on loetletud tasemeta). Plokk lisatakse pärast käitust ja see eemaldub tagasi eelmiseks dokumendiks bait baidi haaval (api::without_figure_tiers). Liigillunar-station-coveragepuudubfigure_tiers, kuni uus dateeritud ennustus asendab selle külmutatud oma; liikidelleo-ppp,solar-system,sweepjasweep-ndpole skalaarset põhinäitajat jalunar-attack-surfacekirjutab kompaktset JSON-i. Kampaania liikmed säilitavad oma tasemeta dokumendid.Kvanteelseadistus
quantum-cai-coast(CAP-08c): kaasasolev inertsiaalne stsenaarium, milles külmaatom-interferomeetri kiirendusmõõtur, mis on määratletud interferomeetri füüsikaga ([accel_quantum.cai]platvormi vibratsioonitasemega), liigub inertsi mööda navigatsioonikvaliteediga kvartskiirendusmõõturi vastu 110-minutilise GNSS-i katkestuse jooksul. MODELLED.Greenhalli täpne ekvivalentsete vabadusastmete arv (CAP-03):
allan::edf_greenhall, täielik Greenhalli ja Riley (2003) algoritm (vahede järgud 1 kuni 3, müra eksponendid +2 kuni -4, kattuv ja mittekattuv, modifitseeritud ja modifitseerimata, suurte J tabelitega), ADEV, MDEV ja HDEV ümbristega. VALIDATED eelregistreeritud võrdlusega allantools 2024,6 vastu: 4 876 ruudustikupunkti 6.0e-13 suhtelise vea piires; allantools ebaõnnestub 32 täiendaval punktil, mis registreeritakse ilma etaloniväärtuseta. Funktsiooniassurance::uncertaintyusaldusvahemikud on muutumatud bitt bitilt.Külmaatom-interferomeetri veaosad (RM-26/27/28): Ramani laseri faasimüra (koos tagasipeegelduse viivituse liikmega), termilise pilve lainefrondi kõveruse nihe (puhas defookus, tuvastusraadiusega) ja interferentsimustri mitmetähenduslikkuse lahendamine (klassikalise abiga ja kaks küsitlusaega), teegi funktsioonidena failis
src/inertial/cai_error_terms.rs, igaüks suletud kujul kontrollitud kvadratuuri või Monte Carlo vastu. MODELLED; pole veel stsenaariumi liigist kättesaadav (docs/QUANTUM-MODELS.md).Kellalogide vormingud (RM-03):
src/clock_log.rsloeb RINEX-i kellafaile, TimeLab-stiilis ASCII faasi- või sagedusloge ja TAPR TICC loenduri loge üheks normaliseeritud faasiseeriaks (tau0 antud või leitud, lüngad loetud, lünga poliitika). Valikuline: telekommunikatsiooni ajastuse seeria võib nimetada logi ([series.clock_log]) ja kellastsenaariumi tabel[clock_log]lisab plokimeasured(ADEV, TDEV, MTIE). Ilma tabelita on mõlemad liigid baitidena identsed (docs/CLOCK-LOG-FORMATS.md). Eelregistreeritud võrdlus kolmel sünteetilisel logil täitis oma faasi- ja ühenduslävi; hinnangualgoritmid nõustuvad allantools-iga 2.5e-14 piires kõikjal, kus see hindab, ja see ei hinda kogu kirje MTIE punkti (registreeritud). MODELLED.Sageduse sünkroniseerimise triivimaskid (RM-01): liik
telecom-timingsaab seitse püsitemperatuuri MTIE ja TDEV triivi genereerimise maski, ITU-T G.811 PRC, G.812 tüübid I kuni III, G.8262 EEC valikud 1 ja 2 ning G.8262.1 eEEC, astmefunktsiooni osadega, mida tabelid kirjutavad, ja etalonstsenaariumscenarios/telecom-synce-eec.toml(vabalt töötav OCXO EEC maskide vastu: see ebaõnnestub väärtusel 1 000 s, kus töö peab tegema ahel). Iga rida loeti uuesti itu.int tekstiga; G.812 (06/2004) on asendatud eelavaldatud 08/2026 väljaandega, mida ei õnnestunud lugeda. MODELLED (ümberkirjutus); olemasolevad maskid ja väljundid on muutumatud.Filtri eeljaotuse juhis liigile
gnss-ins(0,36, WP-09, RM-21 tähelepanek): paketi vaikefiltri eeljaotus sobib taktikalise klassi IMU-le. Navigatsiooniklassi IMU-ga võib vaikeväärtus muuta liidetud inertsi mööda liikumise halvemaks kui vaba INS: 52 m võrreldes väärtusega 11 m 70 m/s lennuki profiilil.[imu_*.filter_prior]tuleb seada anduri klassile vastavaks, nagu uued mere-, raudtee- ja lennunduspaketid teevad. Ükski kaasasolev stsenaarium ei seo navigatsiooniklassi IMU-d vaike-eeljaotusega: igaühel, mis kasutab vaikeväärtust, on kiirendusmõõturi jääknihked vähemalt 0,015 m/s². Ainult dokumentatsioon; ükski väljund ei muutu.Katsepingi eksport kontrollitud simulaatori enda lugejatega (0,36, WP-09, CAP-16): 8 kaasasoleva stsenaariumi
kshana bench-exportliikumisfailid loeti tagasi gps-sdr-sim NMEA, laius/pikkus/kõrgus ja Maaga seotud liikumise lugejatega (MIT, kommit 28ca29a6, kasutatud eraldi tööriistana kauduxval/testbench-gpssdrsim/; ühtki signaalifunktsiooni ei kutsuta). Need tagastavad eksporditud trajektoori täpsusega 1,2 mm, 0,15 mm ja täpselt. TÄHELEPANEK: selle simulaatori Maaga seotud lugeja ei suuda võtta täislaiust CSV-d, sest selle 100-märgiline reapuhver lõhub iga rea.docs/TEST-BENCH.mdannab nüüd kasutatavad veerulõiked ja simulaatori 300 s piirangu. VALIDATED (uus registririda); ekspordi baidid on muutumatud.GNSS/INS KF-GINS andmekogumil (0,36, WP-09, FUT-17):
fusion::kfginslaadijad ja jooksutaja ning kangivarre mõõtmismudel suletud ahelaga EKF-is. KF-GINS demo andmekogumil (toodud testi ajal, mitte koodibaasi kopeeritud) on Kshana horisontaalne RMS etalontrajektoori suhtes 1,09 cm võrreldes KF-GINS-i enda 1,11 cm-ga ja iga eelregistreeritud lävi pidas. VALIDATED andmetest sõltuva tõendi alusel (omaniku otsus, 2026-10-13): andmekogum tuuakse SHA-256 kindlaksmääramistega ja reprodutseerimistee on failisxval/kfgins/PREREGISTRATION.md.Seotud PNT filter liitpaketis (0,36, WP-09, FUT-16): liik
fusionvõtab valikulise tabeli[coupled], mis käitab ühe virnastatud filtri pseudovahemaadel kiirendusmõõturi nihke olekuga (fusion::coupled::CoupledPntBiasFilter), jafusion::coupled::CoupledPnt3don 3-D 8-olekuline versioon. Uus kaasasolev stsenaariumfusion-pnt-coupled: nihkega kiirendusmõõturite korral hoiab seotud režiim kvantkomplekti asukoha täpsusega 18,7 m (95. protsentiil) täieliku terviklikkusega, kus lahtisidestatud filtrid jõuavad väärtuseni 430 m. Ilma tabelita on niifusionkui kahybridmuutumatud (kindlaks määratud);hybridkeeldub tabelist. MODELLED.Mere-, raudtee- ja lennunduse GNSS/INS paketid (0,36, WP-09, RM-21): kaasasolevad stsenaariumid
gnss-ins-maritime,gnss-ins-railjagnss-ins-aviationtrajektooriteegil ning valikuline tabel[tight]liigilegnss-ins, mis liidab SGP4 Walkeri konstellatsiooni pseudovahemaad (kõik satelliidid nominaalselt, kõrgeimad mõned halvenenult). Raudteepaketil hoiab tihe sidestus navigatsiooniklassi lahendi täpsusel 5,3 m läbi lõike ja tunneli, võrreldes lõdva sidestusega 12,9 m. Ilma[tight]on pakett muutumatu (kindlaks määratud). MODELLED.Kandelaine faasi tihe sidestus (0,36, WP-09, RM-25 / FUT-17):
fusion::carrier_tc, veaoleku EKF selgesõnalise kaheolekulise vastuvõtja kella ja float kandelaine mitmetähenduslikkustega, mida juhib SGP4 Walkeri konstellatsioon Klobucharide ja Saastamoineni parandustega mõõtmisahelas, aja järgi diferentseeritud kandelaine libisemise tuvastuse ja mitmetähenduslikkuse taasalgatamisega ning ainult koodil põhinev käitus samadel mõõtmistel võrdluseks. MODELLED: figure-8 sõidul on kandelaine lahend 2,5 cm võrreldes ainult koodiga 47 cm ning NIS/NEES on algväärtuste lõikes kooskõlalised.GNSS/INS trajektooriteek (0,36, WP-09, RM-24): liik
gnss-insvõtab valikulise tabeli[trajectory]väärtusegaprofile = "straight" | "figure8" | "stop_go" | "aircraft" | "uas" | "csv". Profiilid käsutavad Euleri kiirusi ja piki-rada kiirendust tõe olekust ning tuletavad tõelise IMU jäiga keha kinemaatikast (koordineeritud pöörded, tõusud, Coriolis);csvimpordib tõese trajektoori (t, lat, lon, alt, vn, ve, vd, roll, pitch, yaw) ja lahendab IMU, mis seda reprodutseerib. Ilma tabelita lendab pakett oma ajaloolise sõidu, bitt bitilt (kindlaks määratud). MODELLED.Laius/pikkus DEM lahtrid Kuu silmapiiri jaoks:
[terrain] dem_tile_pathloebrealdata::lola_demtekstilahtri (kõrgused keskmise sfääri kohal laius/pikkus ruudustikul) polaarse stereograafilisedem_pathasemel, nii liigilelunar-station-coveragekui kamoonlight-service-volume; aruanne kordab lahtrit (terrain.dem_tile, koos selle SHA-256-ga).realdata::lola_demon nüüd ühendatud silmapiiri kiirmarssi. Lahter, mis on uuesti diskreteeritud kaasasolevast väljalõikest, annab jaamale väljalõike silmapiiri täpsusega 0,22 kraadi. MODELLED.Maastik teenindusmahu ekspordi asukohas: jaotisega
terrainkannab iga rida liigimoonlight-service-volumesatelliidipõhises geomeetriaeksportis väljaclears_terrain(satelliit ületab lameda maski ja ekspordi asukoha silmapiiri oma asimuudil), aruanne kannab asukoha silmapiiri (export_site_terrain) ja käitusaja CSV saab veeru. Ilma maastikuta on eksport muutumatu. MODELLED.Põhiväljad mootorist (0,36, STUDIO-06):
kshana::api::HEADLINE_FIELDS,field_importance_json()ja WebAssemblyfield_importance()määravad kaheteistkümne liigi jaoks, millised stsenaariumi väljad vastavad selle küsimusele, parim esimesena, punktiiriga teedena (jammers[].eirp_dbw). Studio loeb need enne oma järjestust. Ainult kuvamise metaandmed: mootor ei loe neid kunagi, ükski stsenaariumifail ei vaja neid, ükski tulemus neist ei sõltu.tests/field_importance.rsebaõnnestub, kui liiki ei saa käivitada või teed ei leita ühestki liigi kaasasolevast stsenaariumist (see tabas kahte teed, mille Studio lamendatud id-d olid kirjutanud ilma massiivi nurksulgudeta).Liigi-mooduli tabel mootorist (0,36, STUDIO-05):
kshana::api::KIND_MODULES,kind_modules_json()ja WebAssemblykind_modules()annavad iga stsenaariumi liigi kohta, mille kontrollimaatriksi read nimetavad muud moodulit kui selle enda, moodulite nimed. Studio võimekuskaart kasutas oma käsitsi kirjutatud koopiat;tests/kind_modules.rsebaõnnestub, kui tabelis olevat liiki ei saa käivitada või moodul ei esine ühelgi maatriksireal. Ükski väljund ei muutunud.Lühike IQ käitus brauseriehituses (0,36):
iq_signals()jaiq_run_short(fs_hz, duration_s, signal, ids, dopplers_hz, cn0_dbhz, seed)WebAssembly moodulis ehitavad sünteetilise stseeni, hõivavad iga satelliidi ja jälgivad hõivatuid, kõik mälus, piiratud väärtustega 0,25 s, 1 000 000 valimit ja 8 satelliiti. Stseeniehitaja ja signaali nime järgi otsing viidi ainult natiivsestiq::clivälja (väärtustesseiq::scene::syntheticjaiq::signals::by_name), nii et mõlemad ehitused jagavad neid; käsurea väljund on muutumatu. Natiivne test jaweb/smoke.mjsvõrdlevad sama päringut ühe kuldse väärtusega (tests/fixtures/iq_short_golden.json), bait baidi haaval: alates portatiivse matemaatika muudatusest (STUDIO-15, allpool) annavad brauseriehitus ja natiivne ehitus samad bitid.Tüübitud Pythoni ja TypeScripti API-d (CAP-34):
kshana.pyiannab tüübid suletud sõnavarale (ScenarioKind, iga liigi nimi;ErrorKind;ProvenanceClass) ning sõnastikeleKindMetajaFieldUnit;scenario_kinds()jaerror_kind()tagastavad need. WebAssembly pakett lisabrun_typed(üks käitus tüübitud objektinaRunOutputparsitud dokumendiga kuidata) jascenario_kinds(parsitudKindMeta[]) ning sellekshana.d.tskannab sama sõnavara;error_kindon tüübitud kuiErrorKind | "".tests/typed_api_sync.rshoiab mõlemad loendid mootori omadega võrdsed.Ühikud iga
sweep-ndveeru jaoks (FUT-28): tulemussweep-ndkannab nüüd väärtusikey_unitsjametric_units, iga pühitud võtme ja iga registreeritud mõõdiku ühikut, loetuna pühitud paketi enda ühikutabelist. Telg võib deklareeridaunitvõtmele, mida pakett ei kordu; deklareeritud ühik, mis on vastuolus paketi omaga, lükatakse tagasi, ning ühik, mida kumbki ei anna, onnull, mitte kunagi ära arvatud.points[].coords[]japoints[].metrics[]on kirjeldatud, nii et kõik 76 liiki on nüüd väljaühikute värava poolt täielikult kaetud (katmata liikide lagi 1 -> 0).NumPy massiivid objektist
RunOutput(FUT-26): PythoniRunOutputsaabarray(path),columns(path)jaseries(), mis tagastavad objektenumpy.ndarrayarvulise loendi, kirjete loendi arvuliste veergude või dokumendi iga kirjeseeria jaoks. Iga massiiv võrdub väärtuseganumpy.asarraysamadest väärtustest objektistdata()(dtype ja bitid). NumPy imporditakse ainult siis, kui üht neist kutsutakse, ning see jääb käitusnõuetest välja. Tüübitud failiskshana.pyija kontrollitud stubtestiga.Kampaania optimeerija (CAP-32): liigi
campaignuus valikuline jaotis[optimize]otsib ühe kuni kolme stsenaariumi võtit fikseeritud piirides ühe mõõdiku parima väärtuse jaoks: minimeeri, maksimeeri või saavuta sihtväärtus. See otsib ammendavalt ruudustikul või deterministliku piiratud Nelderi–Meadi simpleksiga. Iga hindamine on nimetatud liigi päris käitus ja on loetletud tulemuse väljaltrace. Näide:scenarios/campaign-optimize-link-budget.toml. Läved eelregistreeriti (docs/design/evidence/cap32-optimize/):- Rosenbrocki funktsioon on täidetud (f* = 1.7e-20);
- suletud kujuga 1-D sihtlahend on täidetud (6e-15 suhteline);
- ruudustik on bitivõrdne sõltumatu jõumeetodiga;
- simpleks saab vähemalt sama hästi hakkama kui 41 × 41 ruudustik 177 käitusega.
Vooru 1 1-D lävi on registreeritud kui NOT MET, sest eelregistreeritud kast jättis lahendi välja. MODELLED; registririda „Ühe mõõdiku piiratud optimeerimine kampaania parameetrite üle“. Additiivne: jaotiseta kampaaniad on muutumatud.
Kalibreerimisansamblid (CAP-10): kolm üksiku algväärtusega kontrolli, mis on käitatud uuesti 200 sõltumatu algväärtuse (seed) üle eelregistreeritud lävede vastu, failis
docs/CALIBRATION-ENSEMBLES.md(genereeritud skriptigagen_calibration_ensembles; algväärtuse kaupa väärtused failisdocs/data/calibration-ensembles.csv).- Kampaania Monte Carlo alglaadimise 95 % vahemik katab tõelise keskmise 192 ansamblil 200-st ja selle hii-ruut kontroll läbib 196 ansamblil.
- Üksiku algväärtusega protsentiili tolerants läbib ainult 183 ansamblil 200-st: NOT MET, nagu ennustatud. See on umbes 2-sigma lävi, registreeritud ja mitte lõdvendatud.
- Valge-FM ADEV kalibreerimised läbivad igal algväärtusel, nende halvim viga jääb tolerantsi piirist kaugele alla.
MODELLED.
Sisseehitatud liigid tunnusjoone
Scenariokaudu (FUT-27, pooleli): tunnusjoonBuiltinKind(api::BuiltinKind, näitajapõhise taseme konksu jaappend_figure_tiers-ga) ning esimesed liigid, mis on sellele üle viidud (inertial,spoof,passes,link-budget,jamming). Väljund on muutumatu: kogu kataloogi manifest iga väljundi SHA-256-st on enne ja pärast identne (tests/scenario_output_manifest.rs).Mänguväljaku mittetoomise kontroll (RM-07):
tests/playground_no_fetch.rskontrollib kolme asja:- iga Studio teegi stsenaarium on brauseripaketis;
- pakett on baitidena identne asukohaga
scenarios/; - iga brauseristsenaarium käitub tühjast töökataloogist.
Alt-PNT kaardid: päris gravitatsiooniväli, kaardivea Monte Carlo, täislahutusega SRTM (0,36, WP-10). Liik
gravity-mapvõtab valikulise[reference]: gravitatsioonianomaalia, mis on sünteesitud kaasasolevatest EGM2008 koefitsientidest (või ICGEM.gfcfailist käsugfc_pathkaudu, ainult natiivsed ehitused). See süntees nõustub ICGEM Calculation Service’iga umbes 1e-8 mGal täpsusega 794 sõlmes kahes piirkonnas, eelregistreeritud lävede 0,005 mGal RMS ja 0,02 mGal max vastu (VALIDATED; registririda „Gravitatsioonianomaalia süntees sfäärilise harmoonilise mudeli põhjal“). Uus kaasasolev stsenaariumgps-denied-gravity-nav-egm2008käitab 60-minutilise etalonülesande sellel päris astme 70 väljal. Eelregistreeritud tulemus: sobitatud viga 3106 m, seega lävi < 500 m on NOT MET, nagu ennustatud (aste 70 on liiga sile), ja triivi kümnekordne vähendamine on MET (MODELLED). Valikuline[map_error_mc]käitab etalonülesande uuesti algväärtustatud, Gaussi korrelatsiooniga kaardivigade üle ja esitab sobitatud vea jaotuse (kaasasolev stsenaariumgravity-map-error-mc). Uuriv ja eelregistreerimata: kui kaardiviga on 2 mGal, korreleeritud 0,2 kraadi ulatuses (suurus, mida sobitaja enda sigma arvestab), jääb 1 realisatsiooni 20-st 500 m piiresse (mediaan 2,9 km, p95 14,7 km), võrreldes 144 m täiusliku kaardiga. Sünteetilise etalonülesande alla 500 m fiks eeldab, et kaart on täpne. Ilma kummagi valikuta on dokument baitidena identne varasemate väljalasetega.combined-altpntvõtab valikulise[magnetic_grid](csv_path,column), mis loeb magnetkanali EMAG2v3 vormingus CSV-st. EMAG2 ei ole koodibaasi kopeeritud, sest selle tingimused ei ole selged:tools/fetch_emag2_tile.pytoob selle kindlaksmääratud SHA-256-ga ja kärpib kasti. Päris EMAG2 ruudustikul ei väideta ühtki navigatsioonitulemust. Ühine kaardihinnang (maastiku SLAM, RM-18):altpnt::sequential::run_sequential_trn_on_maplennutab järjestikuse maastikunavigaatori salvestatud kaardi kohal, mis erineb tõest, kas usaldades seda või hinnates raku kaupa kaardikorrektsiooni FastSLAM-stiilis Rao-Blackwellised filtriga. Eelregistreeritud teadaoleva kaardi SITAN-i vastu 15 m korreleeritud kaardivea korral 20 algväärtusel: 1,5 % keskmine kasu, parem 10 juhul 20-st, seega mõlemad paranduslävid on NOT MET (10 % ja 12 20-st), ilma kahjuta täiusliku kaardi korral (MET). Üksik läbimine ilma taaskülastusteta ei lase kaarti õppida (xval/terrain-slam-rbpf/, MODELLED). Dokumendidterrain-slamon baitidena identsed. Päris SRTM-i testid käivituvad nüüd CI-s kahel lisatud täislahutusega väljalõikel; kõik eelregistreeritud läved on täidetud, lähim sõlm võrdub GDAL 3.8.4 väärtusega 8 punktil 8-st (xval/srtm-ungate/).Koostalitlus, WP-08 (0,36; iga punkt eelregistreeritud ja lisatud eraldi enne selle sõltumatu etaloni käitust, igaüks uus VALIDATED registririda, välja arvatud telemeetria punkt, mis laiendab olemasolevat rida):
- CCSDS orbiidiandmete sõnumid (
src/odm.rs): OPM 3.0/2.0, OMM 3.0/2.0 ja OCM 3,0 (TRAJ, PHYS, COV, MAN, USER plokid) kirjutatud ja loetud KVN-is ja NDM/XML-is ning täistäpsusega OMM SGP4 elementide komplektist (OmmMessage::from_omm_file); väljundOmmFile::to_omm_kvnon muutumatu. Orekit 13.1.8 vastu mõlemas suunas: 27 Kshana sõnumit 30-st parsitakse Orekitis ja Kshana loeb iga Orekiti kirjutatud sõnumi, väärtused 1e-14 suhtelise vea ja epohhid 1e-9 s piires; neli tähelepanekut kindlaks määratud (Orekit nõuabELEMENT_SET_NO, keeldubCOMMENTXML-i kasutaja määratud parameetrites, ei kirjutaBTERMilmaBSTAR-ta ning loeb OCM suhtelisi epohhe TDB all SI sekundites). Pärand-OMM kirjutajaMETA_STARTlükatakse Orekiti poolt tagasi (registreeritud). Rida „CCSDS orbiidiandmete sõnumid (OPM, OMM, OCM)“. - CCSDS asendiandmete sõnumid (
src/adm.rs,src/ndm_xml.rs): AEM 2.0/1.0 ja APM 2,0 KVN-is ja XML-is Orekit 13.1.8 vastu, iga lävi täidetud; Orekiti APM kirjutaja keeldub manöövrist ilmaMAN_DELTA_MASS-ta (kindlaks määratud). Rida „CCSDS asendiandmete sõnumid (AEM, APM)“. - SPICE SPK eksport (
src/spk_writer.rs): SPK tüüpide 9 ja 13 kirjutaja ja lugeja ning OEM-ist SPK ekspordini; CSPICE N0067 vastu on tuumad baitidena identsed SPICE-i omadega ja hindavad bititäpselt identselt. Rida „SPICE SPK eksport (tüübid 9 ja 13)“. - SPICE SPK tüübid 3 ja 21 (
src/spk_writer.rs): tüübi 3 (Chebyshev) ja tüübi 21 (laiendatud vahejooned) segmendid, kirjutatud antud kirjetest ja hinnatud nii nagu SPICE seda teeb; CSPICE N0067 vastu on tuumad baitidena identsed SPICE-i omadega ja iga hinnang nõustub bitt bitilt mõlemas suunas. Rida „SPICE SPK tüübid 3 ja 21 (Chebyshev, laiendatud vahejooned)“. - Space Packet laiendused (
src/space_packet.rs): teisene päis CUC/CDS ajakoodidega, paketi veakontroll, segmenteerimine ja voo kontrollid, ccsdspy 2.0.1, spacepackets-rs 0.18.0, spacepackets-py 0.32.0 ja CPythonicrc_hqxvastu, null lahknevust. Rida „CCSDS Space Packeti teisene päis, paketi veakontroll ja segmenteerimine“. - Telemeetria skeem 1,3 päris tarbijate kaudu: sünteetilise skeemi 1.3 voo Prometheuse eksposeering ja OTLP/HTTP JSON, sh geomeetriaseeria ja silt
class, loetud täpselt prometheus_client ja OTLP prototüübiga, vastu võetud promtool 3.5.0check metricspoolt ilma lint-probleemita ning edastatud muutmata OpenTelemetry Collector contrib 0.135.0 kaudu (andmetest sõltuv: tööriistad toodud kindlaksmääratud SHA-256-ga, väljundid lisatud).
- CCSDS orbiidiandmete sõnumid (
Marsi orbiidi määramine, käitus 2 (0,36, WP-14, CAP-30):
mars_od::fit_dampedskaleerib normaalmaatriksi selle diagonaaliga ja summutab sammu (Levenberg-Marquardt), pärast seda, kui registreeritud Gauss-Newtoni sobitus ebaõnnestus maatriksil, mille toordiagonaal hõlmab kaheksa suurusjärku. Registreeritud eraldi (xval/mro-od/PREREGISTRATION-RUN2.md, sama kaar, läved ja redigeerimine). Hinnatud MRO läbimistel on orbiit 0,36 km RMS (0,53 km maksimum) piires MRO navigatsiooni rekonstruktsioonist, läved täidetud. Sobituse järgne Doppler on 48,6 mHz võrreldes lävega 30 mHz, täitmata (tähelepanek kindlaks määratud). Ainult hindamise muudatus R2-A1 on avalikustatud failisdocs/revisions. Rida jääb MODELLED.Marsi rampitud 2-suunalise Doppleri mudel ja orbiidi määramine (0,36, WP-14, CAP-30 osa, etapp 2):
mars_odennustab DSN rampitud X-riba 2-suunalist Dopplerit ODF-i rampitabelitest (valgusaeg, Shapiro, troposfäär, jaama aeg, DSN jaamad CIO ahela ja IERS EOP kaudu) ja sobitab Marsi orbiidiaparaadi (GMM-3, kolmandad kehad, SRP, õhutakistus).naif_kernelloeb SPK tüüpi 1 (kontrollitud CSPICE vastu) jagravity_sh::from_shadrloeb PDS SHADR välju. Eelregistreeritud MRO navigatsiooni rekonstruktsiooni vastu päris MRO läbimistel (andmetest sõltuv,scripts/fetch_mro_od.sh, igakuine CI): ennustatud Doppler nõustub vaatlustega 12,5 mHz täpsusega (lävi 30 mHz, täidetud); registreeritud orbiidi sobitus ebaõnnestus hinnatud kaarel ega andnud orbiiti (tähelepanek kindlaks määratud). Rida jääb MODELLED.DSN orbiidiandmete faili lugeja (0,36, WP-14, CAP-30 osa):
odf::parse_odfloeb TRK-2-18 ODF-e. Päris Mars Reconnaissance Orbiteri ODF-il (NASA PDS, kaasasolev) vastab lugeja PDS sildi kirjete arvule, rühmade asukohtadele, jaamadele ja aegadele ning kõik selle andmetüübid on teada. Sildi faililõpu tabel on ühe rea võrra faili omast lühem, sildi ebakõla, mis on registreeritud tähelepanekuna. MODELLED. Orbiidi määramist nendel andmetel pole veel tehtud.TWSTFT eelarve ja aja edastamise stabiilsus: liik
time-transfer-budget(0,36, WP-14, FUT-19).- Kahesuunaline võrrand:
twstft_budgetlahendab selle suuruse T_A − T_B jaoks jaama seadmete viivituste, Ku-riba ionosfääri üles/alla asümmeetria, transponderi viivituse erinevuse ja Sagnaci liikmetega ning taastab otsemudeli täpsusega 1e-15 s. - Määramatuse eelarve: kombineeritud ruutkeskmisena, lüli TDEV kui tüüp A liige.
- Lüli müra: kahesuunaline seeria saab flicker-faasimüra põranda, päevase mittevastastikkuse ja püsiva vastastikkuse jäägi. Valge värinaga pakett
timetransferon muutumatu. - Päris seeriad: antud BIPM Circular T,
MJD,nsCSV või IGS jaamakella seeriate stabiilsus.
MODELLED. Uus kaasasolev stsenaarium
time-transfer-budget. PPP ajalahend on VALIDATED eraldi IGS jaama kella vastu GNSS-i päris andmete harus.- Kahesuunaline võrrand:
Sisenemiskuumutus, EO radiomeetria ja tõusukaod (0,36, WP-14, CAP-28): kolm uut liiki.
entry-heating: 3-DoF punktmassiga sisenemine pöörleva Maa või Marsi kohal Sutton-Gravesi peatuspunkti kuumutusega.eo-radiometry: kujutaja SNR, MTF Nyquisti sagedusel, suhteline servavastus ja GIQE 4 NIIRS.ascent-losses: mitmeastmeline gravitatsioonipöördega tõus gravitatsiooni-, õhutakistuse-, juhtimis- ja vasturõhukadudega, kontrollitud täpse identiteediga ideaalne dv miinus kaod.
Sisenemise tippaeglustust kontrolliti avaldatud Stardusti nominaali vastu eelregistreeritud lävega: 35,44 g võrreldes väärtusega 33,4 g (+6,1 %, lävi 10 %). See rida on VALIDATED. Kuumutus, radiomeetria ja tõus on MODELLED. Samuti uued:
reentry::us76_pressure, kaasasolevad stsenaariumidentry-heating-stardust,eo-radiometryjaascent-lossesningdocs/ENTRY-EO-ASCENT.md.Asendijuhtimine reaktsiooniratastega: liik
aocs(0,36, WP-14, CAP-21). Jäiga keskme inertsiaalne suunamispööre kolme või enama tasakaalustatud reaktsiooniratta ja MRP tagasisidega, minimaalse normiga rataste pöördemomentidega, mis on piiratud iga mootori piirini (aocs). See võib sulgeda ka ahela multiplikatiivsel EKF-il simuleeritud güroskoobist ja tähejälgijast (aocs_mekf). Tõese oleku ahelat võrreldi Basilisk 2.9.1 vastu kolmel juhul, mis eelregistreeriti enne koodi olemasolu (kolm ortogonaalset ratast, nelja ratta püramiid, küllastuv juhtum). Iga MRP komponent, keha kiirus, rattakiirus ja mootori pöördemoment nõustusid igal valimil, halvim 2.4e-14 sigmas ja 2.9e-11 rad/s rattakiiruses. See rida on VALIDATED; MEKF on MODELLED (NEES kooskõla). Uued kaasasolevad stsenaariumidaocs-slewjaaocs-slew-mekfningdocs/AOCS.md.Maapealse kontakti ajastamine ja DVB-S2 ACM (0,36, WP-14, CAP-22/23): kaks uut stsenaariumi liiki.
acm-linkannab ühe satelliidi ja ühe jaama kohta iga läbimise Es/N0 ja selle ajal valitud DVB-S2 MODCOD (ETSI EN 302 307-1 tabeli 13 läved pluss varu). See annab ka andmemahu, mille ACM liigutab võrreldes püsiva kodeerimise lähtetasemega.contact-scheduleteeb sama mitme satelliidi ja mitme jaama kohta ning koostab konfliktivaba kontaktiplaani (antenni ümberpööramine, üks jaam satelliidi kohta, prioriteediga kaalutud edastus, mida piirab iga ülekandmata andmemaht). See esitab piirväärtuse ahne plaani, esimesena saabunu lähtetaseme ja täpse optimumi väikestel hulkadel, koos ahne plaani optimaalsuse vahega. Juurdepääsuaknad pärinevad VALIDATED näiva läbimise ennustajast. Uued kaasasolevad stsenaariumidacm-linkjacontact-schedule(illustratiivsed sisendid) ningdocs/CONTACT-SCHEDULING.md. MODELLED (kaks uut registririda).Starlinki Doppleri positsioneerimine avaldatud eksperimendi suhtes (0,36, WP-14, CAP-11 osa, MODELLED). See on eelregistreeritud asendusvõrdlus liigi
leo-pvtDoppleri režiimist eelseadistusegastarlink-sopartikli „Unveiling Starlink for PNT“ (NAVIGATION 72(1), 2025, doi:10.33012/navi.685) andmekogumi 3 protsentiilide vastu. Mudel kasutas 3 satelliiti (kindla reegliga valitud 47 kraadi mask), kõrgusabi puudus ja Doppleri sigma oli 30 Hz, 200 algväärtuse üle. Selle 90. protsentiili 3-D viga on 92,2 m väärtusel 20 s ja 870 m väärtusel 8 s, võrreldes avaldatud 2 m ja 10 m, seega on mõlemad kahekordse teguri läved NOT MET. Mudel on pessimistlik, mitte optimistlik, nagu ennustati: kolm fikseeritud satelliiti annavad palju vähem geomeetrilist mitmekesisust kui eksperimendi 63 satelliiti 10 minuti jooksul kanalivahetusega iga 15 s järel. Mõlemad möödalasud on kinnitatud (tests/starlink_doppler_published_proxy.rs).Impulsiivse ülekande optimeerija DE440 peal (0,36, WP-14, CAP-20c/d):
maneuver::optimise_transfer_kernelleiab ühe tiiruga ballistilise kahe impulsiga ülekande stardi- ja saabumiskuupäevad, mis minimeerivad stardi C3 või saabumise V-lõpmatuse tüübi I või tüübi II piires. See otsib 2-päevasel ruudustikul ja täpsustab seejärel 2-D Nelderi–Meadiga, heliotsentrilistel olekutel DE440 tuumast; see tugineb funktsioonileporkchop_kernel. Võrdlus eelregistreeriti (bf0439e8) sõltumatu SPICE + pykep 3.0.1 + SciPy 1.18.1 optimeerija vastu 2026 Maa-Marsi võimaluse korral: kõik neli optimeerimist nõustuvad 8.7e-13 suhtelise vea piires, kuupäevad 1e-5 päeva piires (VALIDATED, uus registririda). Teisese avaldatud etalonina sobib NASA/TM-2010-216764 (2026-2045 Maa-Marsi käsiraamat) tüübi II minimaalse C3 jaoks (9,182 vs 9,144) ja tüübi II minimaalse saabumise V-lõpmatuse jaoks (2,564 vs 2,565). Selle tüübi I minimaalne C3 ei sobi: 10,535 vs 11,11 (-5.18 %), kus teegi sõltumatu etalon nõustub Kshanaga. See möödalask on registreeritud ja kinnitatud.Kuu etalonjaama uuring (0,36, ajendatud avaldatud materjalist kavandatud Kuu lõunapooluse etalonjaama kohta; allikad failis
docs/LUNAR-REFERENCE-STATION.md): liiklunar-station-coverage, Kuu diferentsiaal-PNT mudeli Monte Carlo pühkimine lõunapolaarse kasutajaruudustiku ja ühe päeva epohhide üle, mis annab punkti kohta ja piirkonna üle protsentiili parandatud ja parandamata vea, kättesaadavuse koos põhjustega, katvuse fikseeritud läve suhtes, kaitsetasemed, katvusraadiuse asimuudi kohta ja parandusside lüli eelarve. See taandub täpselt liigilelunar-differential-pntühe punkti, epohhi ja katse korral; selle aritmeetika arvutati uuesti numpyga eelregistreeritud läve all (asukohad ja protsentiilid täidetud; jaama parandused jäid omadest mööda kahekordse täpsusega ümardamise tõttu, registreeritud). MODELLED; registririda „Kuu etalonjaama katvus- ja täpsuskaart“. Ei ole seotud ühegi asutusega ega ühegi asutuse poolt heaks kiidetud; ühtki väidet ühegi päris süsteemi toimivuse kohta ei esitata.Eelregistreeritud ennustus: Kuu etalonjaama katvus (mitte valideerimine; MODELLED).
docs/predictions/lunar-reference-station.mdkülmutab kommitil c05dac1d liigilunar-station-coveragetulemused avalikult esitatud eelduste all, koos sisendite ja tulemuste SHA-256 räsidega ja nüüd fikseeritud hindamisprotokolliga (tegur 2 täpsuste ja kaitsetasemete jaoks, 10 protsendipunkti kättesaadavuse ja katvuse jaoks; muudetud eeldus saab uue dateeritud ennustuse, mitte kunagi redigeerimist; möödalask avaldatakse sama silmatorkavalt kui tabamus). Iga näitaja domineerib nelja satelliidi konstellatsiooni avaldamata elementide komplekt, mis on ILLUSTRATIVE, ja ütleb seda.tests/prediction_frozen.rsvalvab seda;docs/VALIDATION.mdsaab jaotise „Eelregistreeritud ennustused“. Registririda puudub.Kuu etalonjaama laiendused (0,36; jaamauuringu piirangud 2 ja 3 ning allikate lahendi stiil), igaüks valikuline liigil
lunar-station-coverageja vaikimisi puudu, nii et iga olemasolev dokument, sh külmutatud ennustus, on muutumatu:[receiver](mitmeteelevia + b exp(-el / el0)kasutajal ja jaamal, jaama oma valikuliselt Gaussi-Markovi epohhide üle, DLL koodimüra C/N0-st, kanalitevahelised nihked; väärtused ILLUSTRATIVE Kuul);orbit_err_growth_m_per_s(edastatava orbiidiviga lineaarne kasv parandusviivituse jooksul, ILLUSTRATIVE);[solution](kõrguspiirang, sellega kolme satelliidi miinimum, staatilise kasutaja aken epohhide üle). Kaks lisa avaldatud väidete võrdlusele, kumbki eelregistreeritud eraldi enne oma käitust, asuvad redigeerimata registreeritud käituse kõrval: K5 kasvuga ebaõnnestub igal kiirusel; allikate lahendi stiiliga ebaõnnestuvad K1 kuni K5 ja K6 läbib (1 6-st), R300 parandatud p95 3-D viga langeb väärtuselt 280,6 m väärtusele 2,11 m. MODELLED; kolm registririda.Kuu maastiku silmapiiri maskid (0,36; Kuu etalonjaama uuringu esimene piirang): valikuline jaotis
[terrain]liigillunar-station-coverage(jaam ja iga kasutajapunkt) jamoonlight-service-volume(iga ruudustikupunkt) annab igale asukohale asimuudist sõltuva silmapiiri 0,36 silmapiiritabeli vormingus, fikseeritud profiilist, mis on märgitud oma allikaga (station_horizon,user_horizon) ja/või kiirmarsist üle polaarse DEM-i (dem_path) mööda Kuu sfääri suurringe täpse kõverusega. Kaasas on 0,98 MB väljalõige avaliku omandi LRO LOLALDEM_75S_240Mlõunapolaarsest DEM-ist, 5 x 5 plokikeskmisena uuesti diskreteeritud väärtusele 1200 m (data/lunar-dem/, koos selle NOTICE, SHA-256 jascripts/make_lola_south_polar_crop.py), ning ainult hoidlas olev stsenaariumscenarios/lunar-station-coverage-terrain.toml. Kontrollitud suletud kujuliste silmapiiride vastu (paljas sfäär, kraater platool, rasterdatud koonus); MODELLED, registririda „Kuu maastiku silmapiiri maskid fikseeritud profiilist või polaarsest DEM-ist“. Ilma jaotiseta on iga dokument, sh ühikute plokk, baitidena identne.Geomeetriat arvestav usaldus (0,36 geomeetria projekteerimismärge, jaotis 4). Iga
receiver-trustepohh, staatiline või laev, partii või otse, kannab oma satelliidigeomeetriat:good,degraded(põhjusedfew-satellites,high-pdop,high-hdopja informatiivnesky-blocked) võiunknown, kus logi ei anna satelliidigeomeetriat, koos HDOP-i, PDOP-i, VDOP-i ja kasutatud satelliitidega. See tuletatakse kõrgustest ja asimuutidest, mida vastuvõtja teatab (NMEA GSV, UBX NAV-SAT), olemasolevaorbit::doptuuma kaudu, või võetakse NMEA GSA-st. Iga epohh kannab ka siltigood,fairvõipoor, alati teatatud ja mitte kunagi hinnatud, ning märget HDOP-i, PDOP-i, VDOP-i, satelliitide arvu ja signaalikaoga sõnadega. Laeva skoor saab monitorigeometry, mis ei arva midagi maha, kui geomeetria ei ole kehv (HDOP üle 4, PDOP üle 6 või alla 5 kasutatud satelliidi), siis tõuseb lakini 15 punkti; geomeetria üksi jõuab kõige rohkem halvenenud vööndisse, mitte kunagi ebausaldusväärsesse (alarmi pole). Iga mahaarvamine saab klassigeometry,environmentvõiinconsistency, nii et kehv taevas ei loe rünnakuna.loss-of-lockongeometry, kui kaduma läinud satelliidid olid viimase teate ajal kõik alla 15 kraadi; kehva geomeetria mahaarvamine oninconsistency, kui HDOP, mida vastuvõtja väidab, on vastuolus tema väidetud taevaga rohkem kui max(1,0, 25 % tuletatud HDOP-ist), nii et võltsitud kehva taevaga ei saa silti osta. Uus tabel[geometry]määrab iga läve koos selle päritoluga (HDOP 4, PDOP 6, vähemalt 5 kasutatud, sigma_UERE 1,5 m, HDOP-i tolerants max(1,0, 25 % tuletatud HDOP-ist), kus 25 % on esinduslik valik konstellatsioonipõhiste kellade või alamhulga lahenditega vastuvõtjatele, 15 kraadi; IEC 61108-1 ja GPS SPS näitajad nagu viidatud, mida tuleb kontrollida standardite teksti vastu). Täielikku signaalikadu ei märgita taevana: kui nähtavad satelliidid ei ole jälgitud ja nähtavate satelliitide DOP on hea (ja jälgimata ei piirdu ühe horisondi poolega), kannab epohhsignal_lossja geomeetria mahaarvamine onenvironment. Väidetud HDOP või PDOP väärtusega 99 või rohkem, GGA kvaliteet 0 ja GSA režiim 1 loetakse fiksi puudumiseks, mitte DOP-iks. Lagi (cap_points15), kalde lõpp (full_ratio1,5) ja alampiir (floor, vaikimisi skooridegraded_min) on tabelis[geometry], nagu ka sildi head tasemed (HDOP 2, PDOP 3, 6 satelliiti, esinduslik); kehtiv lagi onmin(cap_points, 100 - floor), nii et tabel[score], mis tõstabdegraded_min(sh 0,35 oma), alandab lage ja seda ei lükata tagasi, ning alampiir alladegraded_minlükatakse tagasi. MODELLED; nõuandev tarkvara, mitte tüübikinnitust omav navigatsiooniseade (IEC 61108, IEC 61162): laeva navigeerimise eest vastutab jätkuvalt operaator.Geomeetria jõuab igale pinnale: tulemuse JSON (
epochs[].geometry,classigal mahaarvamisel,geometry_model,geometry_summary), elavad JSON-read (skeem 1,3), Pythoni ja WebAssemblyreceiver_trust,assess_vessel_logjareceiver_trust_replay, MCPassess_*tööriistad, tõendipaketid (epochs.json,config.json, geomeetriarada kokkuvõtte lehel) jatrust-telemetry(Prometheusekshana_trust_geometry*ja siltclassväljalkshana_trust_reason_active, OTLPkshana.geometry.*, CEF kohandatud väljadcs6(geomeetria olek ja klassid),cfp3(HDOP) jacfp4(PDOP), kontrollitud mõlema CEF-i sõltumatu etaloni parseriga, ning LEEFgeoStatus,geoHdop,geoClass). Geomeetria silt eksporditakse samuti, lisatuna kõigi varasemate seeriate ja väljade järele ja ainult sisenditele, mis seda kannavad: Prometheuskshana_trust_geometry_label{label}jakshana_trust_geometry_vdop, OTLPkshana.geometry.labeljakshana.geometry.vdop, LEEFgeoLabel,geoPdop,geoVdop,geoUsed, ja CEF kolmas välics6(silt) ningcn1(kasutatud satelliidid); VDOP-i CEF-is ei ole (ujukomaga kohandatud väljad on hõivatud). Mõlemad CEF-i sõltumatu etaloni parserid loevad sildijuhud tagasi nii nagu kirjutatud (muudatus 5: 176 rida, 172 parsitud pycef-iga, 176 Logstashiga). Väidetud HDOP, mida väidetud taevas ei selgita, märgitakse igal epohhil ja loendatakse (geometry_summary.hdop_mismatch, rida tõendi kokkuvõtte lehel), hinnatud ainult siis, kui geomeetria on kehv. Signaalikadu eksporditakse eraldi, kuna geomeetria olek jääbdegraded, kuni see kestab: Prometheuskshana_trust_geometry_signal_loss, OTLPkshana.geometry.signal_loss, LEEFgeoSignalLoss=1; CEF-is ilmub see klassinaenvironmentväljalcs6.orbit::dop_cofactor: kovariatsioonitegur(HᵀH)⁻¹funktsiooniorbit::doptaga, sellest välja arvutatud sama aritmeetikaga.Registririda „Asukoha viga geomeetriast: RMS viga = sigma_UERE x DOP“ (MODELLED, sisemine kooskõla): mootori vähimruutude fiksi algväärtustatud Monte Carlo 8 gnss_lib_py-ga sobitatud DOP geomeetrial valideeritud DOP tuuma kovariatsioonteguri vastu, tolerantsidega, mis on eelregistreeritud enne esimest käitust, ja kahe negatiivse kontrolliga, mis ebaõnnestuvad nõutud viisil; selle kõrval varasem kontroll neljal käsitsi valitud taevas hii-ruut usaldusvahemikega, esitatud kui käitatud enne eelregistreerimist.
Asimuudist sõltuvad silmapiiri maskid (
src/skyline.rs,docs/SKYLINE.md, projekteerimismärkme punkt 1): kõrgusnurga lõige, mis sõltub asimuudist, tabelite punktiviisiline maksimum (iga interpoleeritud eraldi, mähitud väärtusel 360°), tänavakanjon suletud kujul (valikuliselt avatud otstega), teravate servadega sektorid ja maastikuprofiil Maa kõverusega; kehtiv lõige onmax(mask_deg, skyline). Neli REPRESENTATIVE eelseadistust fikseeritud päritoluga (city-street,harbour-approach,fjord,container-terminal), välja kaupa ülekirjutatavad. Valikuline jaotis[skyline]failidesgnss-sim,jamming,leo-pvt(iga režiim, sh polaarne pühkimine),leo-passjanmea-scenariokoolitusfailides ning failidesorbitjaintegrityuue maajaama kasutajauser_site = { lat_deg, lon_deg, height_m }kaudu (geodeetilised vaatenurgad pöörleval Maal, geodeetilise ülesuunaga ARAIM-i horisontaalse ja vertikaalse jaotuse jaoks; iga valim on üks absoluutne hetk,epoch + t, milleni elementide komplektid, edastatavad efemeriidid ja SP3 failid edasi viiakse oma epohhidest, dateeritud värskeima satelliidi epohhi järgi, kuiepochpole antud; orbiidil olevuserkeeldub silmapiirist). Tulemused saavadskyline { source, open_fraction, provenance }ja valimipõhisemasked_by_skyline. Ilma jaotiseta on iga stsenaarium baitidena identne versiooniga 0.35.0, kontrollitud väljalaskekommiti räside vastu. Kuus kaasasolevat näidet:orbit-urban-canyon-skyline,integrity-harbour-approach,gnss-sim-container-terminal-skyline,jamming-harbour-approach-skyline,leo-pvt-fjord-skylineja kampaanialeo-vertical-autonomous-vehicle-skyline(autonoomse sõiduki kanjon lameda lõikena ja tänavana; olemasolev kampaania on muutumatu). MODELLED.Taevageomeetria funktsioonid (
src/geometry.rs, projekteerimismärkme punkt 2):sky_geometry(nähtavad ja maskeeritud satelliidid asukohast, ajast ja konstellatsiooni eelseadistustest, kaherealistest elementide komplektidest (tle, kuni 4 MiB, propageeritud mootori SGP4-ga UTC-ksepoch) või antud satelliitidest;sky_sourcejasky_statementütlevad, kas taevas on esinduslik või taevas, mille elementide komplektid sel epohhil annavad, mitte mõõtmine;tle_skippedloetleb iga kasutamata rea koos põhjusega; sisendilaed 2000 satelliiti horisondi kohal, kontrollitud enne süsteemitabeli ehitamist, ja 16 vastuvõtja kella; viis DOP-i; ENU kofaktor ja kovariatsioon ühe kellaga süsteemi kohta või ühe ühisega; horisontaalne veaellips ühel sigmal ja fikseeritud usaldusnivool),sky_monte_carlo(algväärtustatud vähimruutude vead, kuni 5000),skyline_presets,skyline_profilejaskyplot_svg.orbit::dop_covavab kovariatsiooni funktsiooniorbit::doptaga, mis on nüüd selle redutseering (valideeritud skalaarid on muutumatud). Pinnad:kshana skyjakshana skyline, sama nimega Pythoni ja WASM-i funktsioonid ning MCP tööriistsky_geometry(40 tööriista), ja märkmiknotebooks/geometry.ipynb(selle peegliga.md; käitabtests/python/test_notebooks.py). Iga tulemus kannab sildi MODELLED, veamudeli avalduse ja nõuandva avalduse.Register: viis silmapiiri ja taevageomeetria rida. VALIDATED, igaüks võrdluses, mis eelregistreeriti enne selle sõltumatu etaloni käitust: Asimuudist sõltuv silmapiiri mask: nähtav hulk, asimuut ja kõrgusnurk ning DOP maski all Orekit 12,2 (
TopocentricFrame,ElevationMask) ja gnss_lib_py 1.0.4 (get_dop) vastu, halvimad vaatenurga ja maski erinevused 1.1e-12° võrreldes väärtusega 1e-9°, identsed nähtavad hulgad, DOP 3.3e-13 suhteline (xval/orekit-skyline/); Horisontaalne veaellips ja süsteemipõhine kofaktor geomeetria kovariatsioonist numpylinalg.invjalinalg.eighvastu (standard P2), 270 juhtu, teljed 5.1e-13 suhteline (xval/numpy-ellipse/). MODELLED: kanjon, sektor ja maastiku redutseeringud; eelseadistused; taevageomeetria kompositsioon (eelseadistatud taevas, Monte Carlo pilv).Geomeetria-usalduse, silmapiiri ja Kuu etalonjaama ridadega on registris 274 rida: 134 valideeritud, 136 modelleeritud, 4 partneri.
Kuu etalonjaam: jaama aja laboratoorium (MODELLED). Valikuline plokk
[time_lab]liigillunar-time-budget(src/lunar_time_lab.rs). See modelleerib jaama kella (vaikimisi miniRAFS klass, mis tahes nimetatud klass või seadmekaart, mis on sobitatud fikseeritud stabiilsuspunktidele), mis on juhitud LTC-le, siis vabalt töötav või iga N sekundi järel uuesti juhitud. See väljastab ajavea kõvera x(t), aja väärtusteni 1, 10 ja 100 ns (poolitamine suletud kuju kõrval) ja domineeriva liikme horisondi kohta, kõik ühikutega. Juhtimisjääk on ILLUSTRATIVE. LTC kiirust ei tuletata uuesti ja sellel on oma VALIDATED rida. Avaliku ICG WG-B Lunar PNT materjali (juuni 2024) nanosekundi tasemel siht on toodud allika avaldusena, mitte väitena. Kellade järjestus optiline < PHM < RAFS < miniRAFS kehtib väärtusest 1 s kuni 7e5 s ning test kinnitab PHM ja RAFS kõverate lõikumise ligikaudu väärtusel 7.5e5 s. See lõikumine on ühe müratüübiga kellamudelite omadus (puhas flicker FM vs puhas valge FM), mitte füüsikaline tulemus. Ilma plokita on aruanne, selle tabel ja kokkuvõte muutumatud. Näide:scenarios/lunar-station-time-lab.toml. Lisab ühe registririda, mis on märgistatud MODELLED.Kuu etalonjaam: jaama geodeesia (MODELLED). Valikulised sisendid
extra_reflectorsjaextra_beaconsliigillunar-llr-datumlisavad plokistation_geodesy. Arhiveeritud laservahemõõtmise lõigu viie massiivi datumi informatsioon on kombineeritud sellega, mida lisatud retroreflektor ja lisatud VLBI majak fikseeritud asukohtades annaksid. Reflektorit mõõdetakse arhiveeritud epohhidel, mida see näeb, nende arhiveeritud kaaludega. Majakas kasutab võrku ja ajakavalunar-frame-campaign, jaamad fikseeritud. Plokk annab iga Helmerti 1-sigma enne ja pärast ning nende suhte. Need on Cramér-Rao piirid vähendatud parameetrite komplektile, ILLUSTRATIVE ajakava ja asukoha korral. Puuduvad või tühjad sisendid jätavad aruande baitidena identseks. Näited:scenarios/lunar-station-geodesy-baseline.tomlja-with-station.toml. Lisab ühe registririda, mis on märgistatud MODELLED.Kuu etalonjaam: võrdlus avaldatud väidetega (MODELLED). Iga arvuline väide viies avalikus allikas on loetletud täpse sõnastuse, lehekülje ja esitatud eeldustega ning liigitatud võrreldavaks, osaliselt võrreldavaks või mittevõrreldavaks (
tests/fixtures/lunar_station_published/CLAIMS.md; allikad URL-i, toomise kuupäeva, SHA-256 ja litsentsiga failistests/fixtures/lunar_station/SOURCES.md). Osaliselt võrreldavaid väiteid hinnati kuue ühepoolse lävega, mis eelregistreeriti enne käitust (PREREGISTRATION.md, redaktsioon 2, 05bf9a19): 1 väidet 6-st eelregistreeritud läve piires (eelregistreeritud 05bf9a19). Katvus on 0,00 võrreldes väärtusega >= 0,95 mõlemal lõunapolaarsel ringil ja parandatud p95 on 280,6 m võrreldes väärtusega <= 1,5 m. Põhjus on satelliitide orbiidielemendid, mida ükski allikas ei avalda: ILLUSTRATIVE hoidlasisestel elementidel on neli satelliiti ühisel vaatel 8 % epohhidest, peaaegu singulaarse geomeetriaga. Käitus ei reprodutseeri väiteid nendel elementidel ega ole tõend, et väited on valed. Kindlaks määratud failistests/lunar_station_published_oracle.rs. Üks registririda, märgistatud MODELLED koos tähelepanekuga.Kuu etalonjaam: kellafaili andmete valmisolek.
realdata::clk::rinex_clock_seriesesitab nüüd oma epohhide ajasüsteemi. See on väärtusTIME SYSTEM IDvõi, kui see on deklareerimata, päise satelliidisüsteemi vaikeväärtus. Tulemus ütleb ka, kas süsteem oli deklareeritud. Funktsioon keeldub tundmatust ajasüsteemist (näiteks Kuu ajaskaala), deklareerimata segasüsteemi failist ja failidest, mis on vastuolus, selle asemel et lugeda neid GPS-ajana. See tarnib sünteetilise jaamakella fikstuuri. Paranduste failivormingut ei määratleta, sest avalikku sellist ei ole.
Muudetud#
Moodulite
fusion::ukf,fusion::tightly_coupledjafusion::gnss_ins_ekfdokumentatsioon ei nimeta enam 17-olekulist UKF navigaatorit, täielikku INS-i tihedat sidestust ja selgesõnalist kellaolekut tulevaseks tööks; need viitavad moodulitelehybrid_ukf,tightly_coupled17jacarrier_tc.RINEX 4 ei lükata enam tagasi (0,36, WP-07): RINEX 4 navigatsioonifail lükati varem meelega tagasi; nüüd see loetakse (vt Lisatud). Versiooni 4 ja hilisemate vaatlusfailide korral sobitatakse päise sildid ainult veergudes 61-80, nii et uued vabateksti kirjed ei saa silditeks pääseda.
ionex::parse_ionexloeb päris IONEX faile (0,36, WP-07): täielik 16-väärtuseline kirje täidab veerud 61-80, mida lugeja pidas sildiks, nii et see tagastasNoneigal päris IONEX failil. See loeb nüüd kirje, mille sildiväli on arvuline, väärtustena. Ükski tarnitud väljund seda ei kasutanud.Galileo E1 ja E5a vastuvõetud võimsused OS SIS ICD Issue 2,1 järgi (redaktsioon, 2026-10-14). Spektriribad
galileo-e1jagalileo-e5aning LEO-signaali GNSS-ohvrid, mis võtavad neist oma võimsuse, kasutavad nüüd Galileo OS SIS ICD Issue 2,1 tabeli 12 minimaalseid vastuvõetud võimsusi: −157,25 dBW (oli −157,0) ja −155,25 dBW (oli −155,0).- Üheksa stsenaariumi tulemust liigub: spektrinäited, spektrikampaania, kolm LEO vastupidavuse vertikaali ja kolm LEO signaalidisaini. Efektiivne C/N0 liigub −0,25 dB ja J/S +0,25 dB nendel ribadel.
- Iga liikunud väärtus (1766, vana → uus) on loetletud failis
docs/revisions/CAP12-galileo-icd21-power-changes.mdja selle CSV-s, koos dokumendi tabelitega, mis liikusid. Ükski registrirea olek ei muutu. - Teine osa, samal päeval: LEO-signaali ohvrid
galileo-e5b(−155,0 → −155,25 dBW, tabel 12 E5b) jagalileo-e5-altboc(−152,0 → −152,24 dBW). ICD-l ei ole täisriba E5 rida, seega AltBOC väärtus on tabeli 12 E5a ja E5b summade võimsussumma, ehitatud nii nagu vana väärtus. Kolm LEO signaalidisaini tulemust liigub (64 väärtust: need vastuvõetud võimsused ja LEO-st GNSS-i C/N0 halvenemine kahel ohvril), loetletud samas redaktsioonis (§5) ja CSV-s. Midagi muud ei liigu.
S2 atmosfäärilise loodete mõju parandus (
tides::atmospheric_tide). Ray (2001) S2 õhurõhu harmoonilised on normaliseerimataP_nmkoefitsiendid koosinusfaasi hilistumisega; neid kasutati täielikult normaliseeritutena ja hilistumisega kui IERS-i siinuse ees. Nüüd sisenevad need jagatuna väärtusegaN_nmjaε = 90° − ψ; uustides::s2_air_wavesreprodutseerib GFZ STR06/01 tabeli 5 mudelit A2 kõigi 21 laine jaoks (halvim 0,0005 cm, 0,05°; VALIDATED). Liiguvad ainult loodete mõjuga väljundid: Galileo CI sobitus 0,132 → 0,133 m, Swarm-A komponendid 1–2 mm võrra (eelregistreeritud failisxval/s2-air-tide-fix/).Ainult dokumentatsioon:
propagator::solve_kepler_checked,orbit::solve_keplerjaephem::solve_kepleron dokumenteeritud pärandlahendajatena, numbriliselt muutumatuna, osutades moodulilekepler::solve_kepler_markley.D9 vooru 3 (
utck_bound) olek. BIPM Circular T 465 ilmus 2026-10-12. Eelregistreeritud prospektiivset skoori ei ole veel käitatud: väljaanne 465 sisaldab umbes 285 testväärtust ja peatumisreegel vajab 1000, seega umbes väljaandeid 465–468. Käitus vajab ka arhiveeritud 2026-09-30 laboripõhiseid faile, sest BIPM on vahepeal ümber kirjutanud 87 113-st. Registririda ja testi päis ütlevad seda; test, selle läved ja jaotus on muutumatud.Dokumentatsiooni tõepärasuse läbivaatus (0,36). Teekaart, võimekuse read, projekteerimisdokumentide olekuread ja moodulite kommentaarid viidud koodiga vastavusse; ükski väljund ei muutu. Üksused, mis on juba ehitatud, kuid endiselt avatutena loetletud, on nüüd märgitud tehtuks: ITU-T maskide kontrollid, 24 h holdover-stsenaarium ja kellalogi sissevõtt (telekommunikatsiooni ajastus), esimese minuti kiirkäivitused, Lense–Thirring ja Orekiti propagaatori ristkontroll, ITRF-täpne GCRS-ahel, kuldsed ja platvormideülesed räsid, päritolu, mitmerikkeline ARAIM (ADD v4.2), ühe satelliidi FDE, CRPA teek, CAI interferentsimustri mitmetähenduslikkuse piir, katvusribade suurusmääramine ja 3-D orbiidivaade, jäiga keha asendidünaamika, OMM kirjutaja ja NAIF tuuma lugeja, DE440 Kuu libratsioon, käitusetähenduse lause mänguväljakul,
PositioningFom, 17-olekuline tihedalt seotud navigaator ja gravitatsioonikaardi liik. Read esitavad ka täpselt, mis on endiselt avatud (näiteks kaheosaline JD failisorbit::Propagator, lugejasrc/ionex.rspäris toote vastu ja mitme satelliidi välistamine failisraim). Puuduvdocs/design/evidence/cn0-m2m4/RESULTS.mdkirjutatakse selle testide värskest käitusest (M1–M4 läbivad) ja partnerile suunatud IQ valideerimise mustandil on praegused registri arvud.Galileo E1 mälukoode enam kaasa ei pakendata.
data/galileo-os-sis-icd/C7_E1B.txtjaC8_E1C.txt(ICD lisa C.7/C.8) eemaldatakse hoidlast ja pakettidest. ICD tingimused (tsiteeritud failisLICENSING.md) lubavad kasutajal koode allika viitamisega salvestada ja tootes kasutada, kuid lubavad levitamist ainult mittekaubanduslikel eesmärkidel, ja Kshanat pakutakse ka kommertslitsentsiga.galileo::e1b_table/e1c_tabletagastavad nüüd väärtuseResultja loevad kasutaja enda koopia muutujastKSHANA_GALILEO_E1B/KSHANA_GALILEO_E1Cvõi lähtekoodi väljavõtte puhul kataloogistdata/galileo-os-sis-icd/, kuhu uusscripts/fetch_galileo_e1_codes.shneed ICD PDF-ist välja võtab (räsikontrolliga).galileo::E1B_TABLE_TEXT/E1C_TABLE_TEXTeemaldatakse. Ilma tabeliteta tagastavad Galileo E1 signaalid (galileo-e1b,galileo-e1c) vea, mis ütleb, kuidas neid esitada, ja E1 testid jäetakse teatega vahele. Kui tabelid on olemas, jääb iga E1 väljund samaks. Ükski stsenaariumi-, golden- ega spektriväljund kooditabeleid ei kasuta. E5a lisade C.3/C.4 testfikstuurid (LFSR-i sõltumatu etalon failistests/iq_signals.rs) on käsitletud samamoodi: need tõmmatakse sama skriptiga, lisatakse git-ignore'i ja test jäetakse ilma nendeta vahele.Portaalne matemaatika kõikjal (0,36, STUDIO-15): kõik teegi
f64transtsendentfunktsioonid ningrand_distrnormaal-, gamma- ja eksponentjaotuse valimid arvutatakse nüüd puhta Rusti teegilibmkaudu (portable_math::PortableFloat,portable_distr), nii et natiivne ehitus ja WebAssembly ehitus annavad kõigi 141 kaasapakitud stsenaariumi ja lühikese IQ-käituse tulemus-JSON-i baitideni identsena. Hind on see, et hostisüsteemi matemaatikateegiga arvutatud tulemuste viimased bitid nihkusid: 98 kaasapakitud 141 stsenaariumist muutus, 43 ei muutunud; 5 muutus oma suurimas väljas rohkem kui 1e-3 võrra ja ülejäänud vähem. Iga nihkunud väärtus on loetletud kujul vana -> uus failisdocs/revisions/STUDIO15-portable-math-rebaseline.md(koos kõigi 136 127 nihkunud arvu CSV-ga); ükski lävi, tolerants ega piirväärtus ei muutunud. Muutunud avaldatud arvud:europa-surface-pntkättesaadavus Maa kaugusega 0,719 -> 0,713 ja RMS-viga 86,147 -> 86,499 m (üks kättesaadavuse piiril olev epohh laheneb nüüd kõikjal ühtmoodi; macOS-i arm64 peal trükkis see 0,725 / 85,800 m);lunar-joint-od-clockjaama viga 3,541350 -> 3,536885 m VLBI-ga ja 2183,558 -> 2184,021 m ilma;paper/crossover/inertial.json, kaheksavibration_psdväärtust 3 ühiku võrra viimases kohas (erratum tehnilises aruandes); avaldatud dokumentcislunar-observabilityümardusmüra põhja suurustes (kaheksa väärtust üle kuue olulise numbri, kuni 6.8e-5 suhtelisena; ükski järjekoht ega lävi ei nihkunud). Baitidentiteedi kaitsete (skyline_scenarios,geometry_corpus_identity,geometry_trust_no_change) kinnitatud räsid on viidud ümber nimetatud „0,36 portable“ lähtetasemele ning väärtused versioonist 0.35.0 on säilitatud ajaloolise kirjena; külmutatud Kuu tugijaama ennustus on puutumata ja selle portaalne uuesti käitus on salvestatud selle kõrvale (docs/predictions/*.portable-0.36.json).tests/lunar_joint_od_numpy_oracle.rs(valideeritud Kuu ühise OD rida): fikstuurid eksporditi uuesti ja numpy võrdlus käitati uuesti numpy versiooniga 2.4.6, registreeritud versioon, skript ja lävi muutumatud; kõik kuus võrku läbivad (docs/revisions/STUDIO15-lunar-joint-od-oracle-rerecord.md). Pärast STUDIO-15 liidetud partiide 2–3 töö kasutab samuti portaalset matemaatikat (457 väljakutsekohta 62 failis); mida see nihutas, on kirjas failisdocs/revisions/STUDIO15-batch4-rebaseline.md: 12 kaasapakitud stsenaariumi (suurim suhteline muutus 5.2e-8, ükski trükitud arv ei nihku), 28 skyline'i kaitsetabeli rida uuesti kinnitatud,iq_campaignM2M4 digest, vanagnss-instõeväärtuste räsid, vaatlemata majaka datumi sigma (632,3769 -> 632,3772 m) ja kaks registreeritud tähelepanekut (CR3BP DRO sulgumised; CRPA A3, 194 456 lingist). Greenhalli täpne edf säilitab oma valideeritud läve topelttäpsusega (double-double) logaritmiga oma tuumas (docs/revisions/STUDIO15-greenhall-edf-portable.md) ja gps-sdr-sim testbench'i sõltumatu etalon käitati uuesti nihkunud NMEA eksportidel, iga lävi püsis (docs/revisions/STUDIO15-testbench-gpssdrsim-rerun.md).README: Kuu komplekti rida nimetab iga osa tõendustaseme (varem oli kõik märgitud MODELLED).
realdata::clk::rinex_clock_seriestagastabRinexClockSeries(jada, ruudustamise logi, ajasüsteem, kas see oli deklareeritud, kirje tüüp)(PhaseSeries, GriddingLog)ennikute asemel. See langeb nüüd tagasi satelliidi (AS) kirjetelt vastuvõtja/jaama (AR) kirjetele nõutud nimega.Ükski skoor ei muutu, kui geomeetria pole halb; silt esitatakse alati. Hea või rahuldava geomeetria korral (kaasa arvatud 8 satelliidiga ainult GPS-i lahtine taevas) või teadmata geomeetria korral (monitor ei käitu) on iga skoor sama mis versioonis 0,35:
tests/geometry_trust_no_change.rshoiab mõlema näidissessiooni väljundid jatests/geometry_corpus_identity.rsiga kinnitatud laevade NMEA korpuse (samuti ainult GPS-i lahtise taevana) ning meeskonna koolituse stsenaariumid versiooni 0.35.0 baitidena, kui lisatud võtmed on eemaldatud; kahes koolitusstsenaariumis, kus segamine muudab geomeetria halvaks, erinevad halvad epohhid ainult geomeetriavähenduse poolest. Halva geomeetriaga logi kaotab kuni 15 punkti, mida see versioonis 0,35 ei kaotanud. Muud kavatsetud muudatused on kõik lisandused: ülaltoodud võtmed tulemus-JSON-is ja tõendipakettides (score_model.weightson muutumatu); reaalajas JSON-ridade skeem läheb versioonilt 1,2 versioonile 1,3 (geometrylisatud,classigas vähenduses); väljavõtte kokkuvõte saab väljageometry; telemeetria saab geomeetria jadad, väljad ja sildiclassainult sisendite jaoks, mis neid kannavad, nii et versiooni 0,35 voog või tulemus kuvatakse baitideni nagu varem.geometryon 17. monitori nimi; see on loetletud viimasena väljalmonitors_run, kui see otsustas (laev, mille logi annab geomeetria; versiooni 0,35 loend säilitab oma järjekorra ja kokkuvõtte monitoride arv kasvab ühe võrra) ning sellel pole kirjet[score.weights](selle seadmine lükatakse tagasi: selle vähendus seatakse jaotises[geometry]).tests/fixtures/dop/NOTICEnimetas gnss_lib_py litsentsiks Apache-2.0; väljalase 1.0.4 on MIT.NMEA lugeja loeb nüüd GSA-d (lühike GSA jäetakse tähelepanuta, mitte ei loeta vahelejäetuks) ja säilitab GSV tõusunurgad ja asimuudid, ka signaalita loetletud satelliitide puhul; UBX lugeja säilitab NAV-SAT tõusunurga ja asimuudi. C/N0 loetakse täpselt nagu varem.
Tulemuse muutus: lairiba- ja pühitavad segajad kasutavad nüüd Q = 2. Segamisvastane võrrand kasutab nende segajate jaoks õpikuvalmi hajaspektri korrektsiooni Q, kus varem kasutati väärtust 1. Q = 2 on valge müra peaharul normeeritud sisendsignaali võimsusega; see on testides kinnitatud suletud kujule failist
navsignal.- Muutumatu: CW- ja kitsaribasegajad (Q = 1), tundmatu segajatüüp (Q = 1, kõige kahjulikum väärtus) ja
q_override. - Mõju: kus lairiba- või pühitav segaja mõjub, tõuseb efektiivne C/N0 kuni 3,0103 dB, tuletatud J/S läved tõusevad 3,0103 dB ja vaba ruumi keelurajoonid kahanevad teguriga 0,7071.
- Muutunud kaasapakitud stsenaariumid: 12 144-st muutuvad, kõik nagu eelregistreeritud (
xval/jammer-q/PREREGISTRATION.md, tulemused failisxval/jammer-q/RESULTS.md):jamming-demo: C/N0 +3,01 dB;jamming-harbour-approach-skyline:min_tracking6 → 7;lunar-jamming: kaotatud satelliite 26 → 0, jälgimise kaotuse kaugus mediaan 27,4 → 19,4 km;tracking-loop: ahela dünaamika keelurajoon 75,2 → 53,2 km;- ning kampaaniad ja spektri ristkontrollid, mis neid sisaldavad.
- Mõjutatud tarbijad: stsenaariumi liigid
jamming,lunar-jamming,tracking-loopjaimpairment-eval, spektriliikidejamming_kind_cross_check, IQ kampaania MODELLED võrdluskõver ja labfit'i vaike-Q ning interop-stseeni eksport.
- Muutumatu: CW- ja kitsaribasegajad (Q = 1), tundmatu segajatüüp (Q = 1, kõige kahjulikum väärtus) ja
JetBrainsi plugin: aegunud või eemaldamiseks ajastatud platvormi API-sid pole. Viis valikudialoogi kasutavad aegunud
Messages.showChooseDialogasemel väikestDialogWrapperrippmenüüga; ühe faili valijad kasutavad aegunudFileChooserDescriptorFactory.createSingleFileDescriptor()asemel konstruktoritFileChooserDescriptor; animatsioon avatakse aegunudbrowse(File)asemel meetodigaBrowserUtil.browse(Path), mille platvorm 2026,3 ajastab eemaldamiseks. Since-build jääb 243. IntelliJ Plugin Verifier teatab tulemuse Compatible, ilma aegunud või eemaldamiseks ajastatud kasutuseta, versioonide 2024,3 (IC-243.21565.193), 2025,2 (IC-252.23892.409), 2026.2.3 (IU-262.10968.63) ja 2026,3 EAP (IU-263.6259.32) vastu;verifyPluginkontrollib vaikimisi versiooni 2024,3 ja mis tahes loendit, mis on antud muutujasKSHANA_VERIFY_IDES.gnss_sim::run_gnss_simjajamming::run_jammingtagastavadResult: kehtetu jaotis[skyline]on viga otse kutsumisel, nagu see oli juba kauduapi::run_toml, mitte vaikne tagasilangemine lamedale maskile. Katkestav muudatus nende kahe funktsiooni Rusti kutsujatele.
Parandatud#
Kampaania hindaja: päris jälgija valesisselukustumist ei loetud kunagi (
iq::campaign). Jälgija valesisselukustumise kontroll viib kanali olekust LOCKED olekusse LOST, kui see rakendub. Hindaja märkis selle asemel kanali järgmise uuenduse, mis oli siis lukustamata ja jäi seetõttu lugemata. Sündmusfalse-lock, mis on teatatud olekust LOCKED, on nüüd üks episood oma ajahetkel, käituses ja igas seda sisaldavas nimetatud sündmuses. See, mis leiti sisselaskmise ajal või mida kordab juba olekus LOST olev kanal, ei ole uus episood. Uus test ajendab päris valesisselukustumist: seaduslik GPS L1 C/A kandja astub lukustatuna sammu 1/(2T) võrra (tests/iq_campaign_false_lock.rs).- Faili
tests/iq_campaign.rsvõrdluskampaanias muutub ainult ramp/agc-3bit PRN 11 (valesisselukustumise episoodid 0 → 1, 426 ja 437 lukustatud tunni kohta). - Selle lahtrite DIGESTid kinnitatakse uuesti.
- Eelregistreeritud hinnatud tulemuste kinnitus jääb kehtima ja taastoodab jätkuvalt täpselt: selle räsis kaardistatakse tagasi parandusele eelnenud väärtusteni ainult need kuus välja, mida muutis see pärast registreerimist tehtud parandus. Parandatud väärtused kinnitatakse eraldi.
- Ühtki lävi ei muudetud ja ükski VALIDATED rida, joonis ega veebinumber ei nihkunud.
- Faili
lunar-frame-campaign: vaatluseta majakas teatatakse nüüd (leidis MR-05). Aruanne saab väljad
unobserved_beaconsjawarningainult siis, kui mõnel majakal pole vaatlust, ning siis tulevad vaadeldud majakate sigmad nende endi informatsioonist, mitte kõik nullina. Datum on muutumatu ning ükski vaike-, kaasapakitud ega avaldatud väljund ei nihku (docs/revisions/BEACON-unobserved-cell-changes.md).Kuu peatelgede tugisüsteem (
lunar_frame::icrf_to_moon_pa, kasutavadlunar_odja LRO sobitus): DE421 keskmise Maa ja peatelgede nihe failistmoon_080317.tfrakendati vales suunas ja vales Euleri järjekorras, nii et analüütiline PA tugisüsteem asus PA-st umbes 208″ eemal selle asemel, et sellel olla. Nüüd on see ümber kirjutatud nii, nagu SPICE'i Frames Required Reading seda defineerib, ja ühtib SPICE'igapxform('MOON_ME','MOON_PA')täpsusega 2.6e-16 rad; analüütiline PA tugisüsteem on DE440 PA-st 6″ kuni 8″ kaugusel (eelregistreeritud e1ead19b, uuesti registreeritud be33382e pärast seda, kui esimene kavandatud muudatus jäi lävele 1e-12 alla;docs/design/evidence/fut05b-me-pa-offset-sign/). Nihkuvad avaldatud arvud: LRO sobitus (tests/agency_lro.rs) toorkattuvus 53,8 → 39,9 m, dünaamiline 12,6 → 12,05 m, redutseeritud dünaamiline 6,65 → 6,67 m (läved muutumatud). Analüütiline pinu ühtib nüüd ANISE DE-klassi ristvalideerimisega (12,0 / 6,67 m) mõlemal tasemel; varasem dünaamilise taseme lõhe oli see viga.MCP server keeldub väljast
[terrain] dem_hgt(CAP-06b järeltöö). Liigi jamming maastikulahtri tee on nüüd failisinline_only::FILE_SOURCE_KEYS. Sisemine pind keeldub stsenaariumist, mis ühe nimetab, teatega, mis ei kanna ei teed ega operatsioonisüsteemi viga. Failiallika kaitse test märgib nüüd ka väljad, mis lõpevad_hgt.Jd2::from_partsmurdosalise päevaosaga kaotas murdosa UTC, TAI, UT1 ja Maa pöörlemise teisendustes (üks tund päevaosa pööras Maad 15° valesti); päevaosa normaliseeritakse nüüd täisarvuks. Ühtki mootori kutsujat see ei mõjutanud: igaüks annab täisarvulise päeva ja iga tarnitud väljund on bitthaaval identne.
Kavandatud#
- Geomeetria esitatud skyline'ist (0,36 punkt 1, nüüd mootoris kujul
src/skyline.rs):sky-blockedjaopen_fractionskyline'ist, kui sisend selle annab (asimuudilünk tagavarana), looduslik halvenemise (fjord või terminal) sündmus failisnmea-scenarioning projekteerimismärkuse kaks maskeeritud geomeetriat sigma_UERE x DOP real, eelregistreeritud lisana. - Geomeetria navigatsiooniga RINEX-logidele (mootori enda lahendist) ja Androidi logidele (ridadest
Status); mõlemad loevad tänaunknown. Geomeetria lauses$PKSHT(versioon 1 muutumatu versioonis 0,36) ning Signal K ja OpenCPN integratsioonid. - Olemasolev lünk, mida versioonis 0,36 ei toodud sisse: kui iga satelliidi SNR-väli on tühi, ei rakendu ükski
loss-of-lockega C/N0 vähendus; täielik signaalikadu on nähtav ainult geomeetriamonitorisignal_losskaudu (klassifitseeritudenvironment). Selle vähendus on kavandatud. - Skeemi 1,3 voog välistes telemeetriaoraaklites (sõltumatutes etalonides) (Prometheuse tekstivormingu parser ja OTLP kollektor), mis katavad täna ainult 1,2 vooge.
- Kahepoolne takistus (kanjon või kitsas fjord) loetakse signaalikaoks, mitte blokeeritud taevaks, kuni skyline on integreeritud.
[0.35.0] - 2026-10-12#
Kolmandate osapoolte tehisintellekti kliente nimetav lõik on siin välja jäetud; see on GitHubis failis CHANGELOG.md.
Galileo OSNMA kontrollija#
- Uus moodul
kshana::osnmajakshana osnma verify <input>: avatud, puhtalt Rustis kirjutatud vastuvõtjapoolne Galileo OSNMA kontrollija. See loeb I/NAV lehti ja teatab satelliidi ja epohhi kaupa, kas navigatsiooniandmed on autenditud, koos põhjusega iga tõrke või viivituse kohta: HKROOT ja MACK parsimine, DSM-KROOT ja DSM-PKR uuesti kokkupanek, avaliku võtme Merkle'i kontroll, TESLA võtmeahela kontroll, MACSEQ ja sildi kontroll ADKD 0, 4 ja 12 jaoks, kaasa arvatud ristautentimine, ning kujult$PKSOStulemus vastuvõtja usaldusmonitorile. Väljund kannab nõuannet, et olek ei ole navigatsiooni terviklikkuse teenus.docs/OSNMA.mdütleb, mida kontrollitakse ja mida mitte, ajanõude ning et Kshana ei anna õigusi ELi OSNMA ICD IPR-ide alusel (kasutajad toetuvad ICD lisa E volitusele). Realiseeritud SIS ICD väljaande 1,1 ja vastuvõtja juhiste väljaande 1,3 vastu. Lehed on CRC-kontrollitud ja u-blox UBX-RXM-SFRBX baitivoogu saab otse lugeda (--format ubx). Vaiketestid kasutavad sünteetilisi andmeid ja avaldatud primitiivide teadaoleva vastuse teste; valikuline test loeb ametlike vektorite kohalikult alla laaditud koopiat. Pärast sõltumatut ülevaatust võtab kontrollija oma aja ainult kontrollitud TESLA võtmetest (võltsitud kauge tuleviku alamkaader ei saa enam tõrget kustutada), laseb autentimisel aeguda ja järgib kasutusel olevat IODnav-i, arvestab kontrollitud häireteateid (mille Merkle'i leht sisaldab nüüd juhuslikku NPK välja) ja NMA olekut „don't use“, hoiab näivmärgised satelliidi olekust väljas, hoiab ahelaid CID järgi koos tühistamise ja uuendamisega, kontrollib KROOT täiteräsi ning piirab UBX kaadri pikkusi ja TESLA kontrolli tööd. Satelliit loetakse autenditud olevaks ainult seni, kuni selle saadetav uusim efemeriidi- ja kelladata on bitthaaval see andmestik, mis autenditi (mitte pelgalt sama IODnav-i all); olek või tühistamine autentimata NMA päisest loetakse ainult siis, kui kaks satelliiti on nõus või kontrollitud KROOT seda kannab, korratud vanem KROOT ei saa ahelat asendada ja soiku jäänud võtmevoog teatatakse.
Lisatud (MCP serveri kanalid)#
kshana-mcp --http <addr>, voogedastatav HTTP, ise majutatav. Vaikimisi loopback; mitte-loopback aadress vajab väärtust--allow-remoteja kandja (bearer) tokenit muutujasKSHANA_MCP_HTTP_TOKEN; ükski tööriist ei loe ega kirjuta teed (IQ failitööriistad on väljas); päringu suuruse, aja ja samaaegsuse piirangud; CORS-päist pole; Hosti ja Origini kontrollid. Kshana ei majuta ühtki lõpp-punkti (docs/deploy/mcp-http.md, koos Dockeri, Fly.io ja Cloud Runi mallidega).
Kolmandate osapoolte tehisintellekti kliente nimetav lõik on siin välja jäetud; see on GitHubis failis CHANGELOG.md.
Lisatud (liidesed)#
osnma_verifyPythonis ja WebAssembly's. Kontrollija käsukshana osnma verifytaga mälus olevatel baitidel, tagastades JSON-i, mida--jsontrükib (nõuanne selle väljaladvisory; ainult autentimise olek, mitte navigatsiooni terviklikkuse teenus). Samad keeldumised mis käsurea puhul. Mitte MCP-s: sisend on pikk töötlemata vastuvõtjavoog, mida CLI ja Python teenindavad paremini.docs/SURFACES.mdjadocs/OSNMA.mdütlevad seda.trust_telemetryWebAssembly's, Pythonis ja MCP-s, pluginakäsu ja JetBrainsi toiminguga. Renderdab usaldusvoo või tulemusereceiver-trustPrometheuse tekstina, CEF- või LEEF-süslogiridadena või OTLP JSON-i andmekoormana, kodeerijatega, mida kasutabkshana trust-telemetry(kshana::surface::trust_telemetry); sokkel puudub ja kella pole. Plugin:/kshana-trust-telemetryja oskustrust-telemetry. JetBrains: Render Trust Telemetry. Funktsioonidwasmjapythonning MCP server lubavad nüüd kaotlp, mis ei lisa ühtki crate'i.Pariteedi pühkimine. JetBrainsi toimingud Validate Scenario, List Scenario Kinds ja Assess Receiver Stream;
kshana --helploetleb nüüdreceiver-trust evidence,evidence,trust-telemetryjanmea-scenario; märkmikcompliance-and-test-bench(compliance'i vastendus ja test-bench'i eksport); ning iga allesjäänud JetBrainsi lahter „CLI only“ failisdocs/SURFACES.mdon nüüd selge N/A koos põhjusega.
Kolmandate osapoolte tehisintellekti kliente nimetav lõik on siin välja jäetud; see on GitHubis failis CHANGELOG.md.
Lisatud (tõendipaketid)#
kshana receiver-trust evidencejakshana evidence verify: allkirjastatud kontrollitavad tõendipaketid GNSS-i usaldussündmuse jaoks. Pakett koondab töötlemata logilõigu ja kogu logi SHA-256, konfiguratsiooni kõigi lävedega, epohhipõhised tulemused ja põhjused, mootori versiooni, räsiahelaga manifesti ja iseseisva HTML-kokkuvõtte, allkirjastatuna Ed25519-ga (võti käsustkshana evidence keygenvõi teie enda failist; võtmeid ei salvestata kunagi paketti ja*.evidence-keyon git-ignore'is).verifykontrollib iga räsi, ahelat ja allkirja ning nimetab täpselt, mis ebaõnnestub; valikuga--pubkeykinnitab see allkirjastaja. RFC 3161 tõendi saab lisada ning see loetakse ja seotakse manifestiga (autoriteedi enda allkirja see ehitus ei kontrolli;openssl ts -verifykatab selle). Logilõik on akna täpsed baidid seal, kus lugeja teatab allika vahemikke (NMEA, UBX, RINEX 3, Android), vastasel juhul kogu logi, ja manifest ütleb, kumb. Loomine ja kontrollimine on puhtad avalikud funktsioonid (kshana::evidence), mis ehitatakse sihtmärgilewasm32. Paketid ütlevad, et need on tehniline kirje, mitte õiguslik arvamus. Uued sõltuvused on puued25519-dalek(BSD-3-Clause ja Apache-2.0/MIT, minimaalsed funktsioonid) ja otsenezeroize(juba selles puus) võtmematerjali kustutamiseks. Vtdocs/EVIDENCE-PACKS.md.
Lisatud (usaldustelemeetria)#
kshana trust-telemetry: GNSS-i usaldus turvatelemeetria allikana. Loeb epohhipõhist usaldusvoogu (JSON-read: skoor 0-100, riba, põhjused) või partii tulemustreceiver-trustja annab selle Prometheuse lõpp-punktile/metrics(vaikimisi localhost), süslogisündmustele CEF- või LEEF-vormingus RFC 5424 ümbrises (UDP või TCP) ning vaikimisi väljalülitatud funktsiooniotlptaga OTLP/HTTP JSON-ekspordile. Edastus töötab töölõimedel ühenduse ja kirjutamise ajapiirangutega, piiratud taasühenduse tagasilöögiga ja loendurigakshana_trust_syslog_send_failures_total, nii et surnud või kinni jäänud kollektor ei saa reaalajas hindamist peatada ega külmutada lõpp-punkti/metrics; põhjusesildid on piiratud 64 jadaga. Uusi sõltuvusi pole. Näidis-Grafana töölaud on kataloogisdeploy/grafana/. Mõõdikute nimed, sildid ja CEF/LEEF väljade vastendus on failisdocs/TRUST-TELEMETRY.md. Voo vorming on isoleeritud failissrc/telemetry/sample.rs.
Lisatud#
- Merendusliku usalduse hindamine: reaalajas skoor 0-100 liikuva laeva lahendi kohta, NMEA 0183-st, mida vastuvõtja juba väljastab, koos valikulise väravaga.
kshana receiver-trustvõtab tabeli[platform](kind = "static"või"vessel", laeva maksimaalne kiirus, kiirendus ja pöördekiirus, antenni kõrgus veeliinist ja valikuline suunaandur; iga vaikeväärtus dokumenteeritud oma põhjusega). Laeva puhul asendatakse staatiline asendihüppe monitor, mis mõõdab kaugust kalibreerimise keskmisest ja on liikuval laeval vale, põhjuslike liikuva platvormi monitoridega: asendi kinemaatiline kooskõla teatatud kiiruse ja kursiga ning laeva piirangutega, güroskoobi suund võrreldes kursiga maapinna suhtes, kiirusmõõtur võrreldes kiirusega maapinna suhtes, antenni kõrgus võrreldes märgitud kõrgusega veeliinist, C/N0 hajuvuse kokkuvarisemine ja samaaegne tõus kalibreerimise lähtetaseme suhtes ning ajakooskõla (reaalajas režiimis ka selle arvuti kellaga). See loeb ka teatatud autentimisolekut, kogu ulatuses või satelliidi kaupa (ainult teatatud olek: OSNMA krüptograafiat pole). Iga lävi on enne käitust kirjas tabelis[maritime]. Seejärel saab iga epohh skoori vahemikus 0 kuni 100 deterministliku, eelregistreeritud vastendusega (õppimist pole, midagi pole sündmustele sobitatud; kaalud, riba piirid ja tõend on hoitud tabelis[score]), vastendatuna olemasolevatele usaldusolekutele, koos monitoridega, mis vähendasid, ja nende punktidega. Staatilised stsenaariumid on muutumatud ja räsituvad nagu varem.kshana receiver-trust live <session.toml>loeb stdin-i, lisatavat faili, TCP-d või UDP-d ja kirjutab epohhi kohta ühe JSON-rea ning proprietaarse lause$PKSHT; valikuga--gatelaseb see voo muutmata läbi, kuni lahend on usaldatud, ja märgib lahendi kehtetuks (GGA kvaliteet 0, RMC ja GLL olekV, GNS ja VTG režiimN), kuni see ei ole. Värav on väljas, kui pole küsitud;--listen tcp:<port>teenindab väravaga voogu suvalisele arvule TCP klientidele (vaikimisi loopback, aeglane klient visatakse välja, mitte ei blokeeri teisi). See on nõuandev tarkvara, mitte tüübikinnitust omav navigatsiooniseade (IEC 61108, IEC 61162); operaator vastutab jätkuvalt.examples/maritime-trust/on sünteetiline Tallinna–Helsingi logi, kirjutatud ainult tekstina, osaliselt positsiooni triivimisega, mille ajal vastuvõtja jätkab kehtiva lahendi teatamist; selle oodatav väljund on testiga kinnitatud. Juhend:docs/MARITIME-TRUST.md. Kontrollid ei näe spuufijat, kelle lahend on kooskõlas kõigega, mis andmesiinil liigub; juhend ütleb seda.
Häirekaart#
kshana interference-mapjakshana route-exposure: avalik pilt sellest, kus õhusõidukid ja laevad teatasid halvenenud navigatsiooniandmetest ning kui palju see marsruuti puudutab. Sisendid on kohalikud CSV-failid, mis on tehtud avatud litsentsiga ADS-B (adsb.lol, ODbL 1,0) ja AIS (NOAA MarineCadastre, Kystverket NLOD 2,0 all) andmetest; iga väljundfail on üks allikas ja üks UTC päev GeoJSON-i, mis kannab meetodit, selle lävesid, andmelitsentsi, viidet ja allika katvuse kallutatust. ADS-B meetod koondab NIC ja NACp fikseeritud ruudustikule ja nimetab lahtri halvenenuks eristuvate õhusõidukite osakaalu põhjal, kaitsetega seadmete vastu, mis kunagi täpsust ei teata, madala kõrguse ja laiaulatuslike põhjuste vastu. AIS meetod käitab viit detektorit: asendid maismaal (kasutaja antud rannajoone vastu), ringjad rajad, ebausutavad hüpped, ebausutavad kiirused ja paljud laevad ühes asendis. Läved on nimetatud meetodiversiooni eelregistreeritud konstandid. Ainult koondandmed: identifikaatorid räsitakse mälus ega kirjutata kunagi ning lahtreid, kus on alla 5 eristuva õhusõiduki või laeva, ei avaldata. Halvenenud lahter ei ole häire tuvastus. Vaikekäsud ei kasuta võrku; valikuline abilinefetch-land --allow-networklaadib Natural Earthi maismaapolügoonid alla commitiga kinnitatud aadressilt ja hoiab faili ainult siis, kui selle SHA-256 ühtib. ADS-B sisend on CSV või otse adsb.lol readsb ajaloofailid (uus sõltuvus:flate2oma puhtalt Rusti taustaga, gzipi jaoks). Mõlemad meetodid on versioon 2: halvenenud või anomaalne otsus vajab vähemalt 5 õhusõidukit või laeva (avaldamise miinimum), iga lahtri arv alla 5 peetakse tagasi väärtusenanullja päev, mille tausta ei saa hinnata, peab oma otsused tagasi. Väljundfailid nimetatakse<source>-<dataset>-<date>.geojsonja neid ei kirjutata kunagi üle; sisend voogedastatakse rida-realt; marsruudi ekspositsioon käsitleb antimeridiaani. Testid kasutavad ainult sünteetilisi andmeid. Vtdocs/INTERFERENCE-MAP.mdja litsentsiülevaadet failisdocs/data/INTERFERENCE-DATA-SOURCES.md.
Lisatud (koolitusvood)#
kshana nmea-scenario: sünteetiline sillal kasutatav NMEA 0183 meeskonna koolituseks GNSS-i segamise ja spuufimise (spoofing) äratundmisel. Stsenaariumi TOML-ist kirjutab see faili või edastab TCP või UDP kaudu (unicast või broadcast; reaalajas, kiirendatult või nii kiiresti kui võimalik) täieliku sillakomplekti GGA, RMC, VTG, GSV, GSA, GNS, ZDA, HDT ja VBW laeva trajektoorile pöördekiiruse, kiirenduse ja hoovuse piirangutega, satelliidigeomeetriaga mootori enda nominaalsetest konstellatsioonidest. Skriptitud sündmused ajateljel: segamine, asendi triivimine (kehtiv lahend, mis kaugeneb), aja spuufimine ja kordusviivitus, igaüks algus- ja taastumisrampidega. Instruktori logi (JSON ja tekst) kirjutab üles, mida ja millal süstiti, tegeliku trajektoori ja teatatu kõrvutamisega. Teegi kataloogisscenarios/training/(avamere segamine, rannikuäärne triivimine, sadamasse sisenemise aja spuufimine, kombineeritud) on koolitaja märkmed. Väljund on kontrollsummaga kehtiv ja algväärtuse (seed) kohta deterministlik; testid kinnitavad stsenaariumi kohta golden-väljavõtte ja loevad iga lause läbi lugejagareceiver-trustNMEA. Ainult tekst: RF-, IQ- ega lainekujuväljundit pole; vood on mõeldud koolituseks ja testimiseks ning neid ei tohi mitte kunagi anda laeva reaalajas navigatsioonisüsteemidele. Vtdocs/NMEA-TRAINING.md.
Merenduse integratsioonid (0.35.0, töövoog B)#
- Signal K plugin (
integrations/signalk/, npm-is avaldamata): käitab käskukshana receiver-trust livevõi ühendub sellega (serveri enda NMEA sisend, kohandatud sisendargumendid, JSON-ridade TCP voog või värava voo laused$PKSHT), avaldab usaldusskoori, riba, põhjused, alarmid ja värava oleku aadressinavigation.gnss.kshana.*all (sealhulgas vastuvõtja teatatud asendi kontekstina, mitte kunaginavigation.position) ning tõstab Signal K teate (warnhalvenenud korral,alarmmitteusaldatud korral, koos hoidmise, kustutamise ja aegumise läve, kõik konfiguratsiooniskeemis). npm-i sõltuvusi pole. Testitud salvestatud sünteetilise väljundiga. - OpenCPN: värava režiimi NMEA-d teenindab otse
kshana receiver-trust live --gate --listen tcp:10110(soovitatav); sõltuvusteta TCP relee (integrations/opencpn/nmea-tcp-relay.mjs) on valikuline alternatiiv. Kummalgi juhul näeb OpenCPN kehtetut lahendit, kui usaldus variseb kokku, ja$PKSHToma NMEA silumisaknas; testid mängivad sünteetilise väravaga voo uuesti läbi päris TCP sokli ja kontrollivad, mida tarbija saab. Natiivne skooripaneeli plugin (integrations/opencpn/plugin/, plugina API 1,18, CMake) loeb$PKSHTOpenCPN-i enda NMEA voost ja hoiatab mitteusaldatud riba korral; see ehitub, selle loogikat on ühiktestitud ja seda käitati OpenCPN-is 5.8.4 virtuaalekraani all (tõend ja reprodutseerimisskript kataloogisintegrations/opencpn/evidence/); seda pole pakendatud pluginahalduri jaoks. - Etalonehitus (
deploy/reference-build/): üldine osade loend, OS-i seadistus, nõuandva monitori ja valikulise värava systemd-üksused (kontrollibcheck-units.shkäsugasystemd-analyze verify), konteineri variant, Signal K ühendus. - Signal K plugin aktsepteerib reaalajas JSON-skeemi 1,2 (seejärel lisatakse võti
positionja võtiadvisory; tundmatud lisatud võtmed jäetakse tähelepanuta), kontrollitud päris 1,2 väljundil ja päris signalk-serveri vastu. - Ülevaatuse parandused: systemd-üksused taaskäivituvad alati ja töötavad liivakastis (ilma shellita, ilma võrguta seal, kus seda pole vaja), logrotate'i lõik,
check-units.shebaõnnestub iga leiu korral; konteiner käitab värava keskkonnamuutujatest tervisekontrolliga ja räsiga kinnitatud baaspiltidega; Signal K skoori metaandmed, aegunud teade asendatakse, kui andmed jätkuvad, alamprotsesside vead säilitatakse ja tapmised eskaleeruvad, ebaturvalisedinputArgslükatakse tagasi ja teade on aadressilnotifications.navigation.gnss.kshana.trust; relee piirab hoitud poolikut rida;$PKSHTparserid lükkavad tagasi skoorid väljaspool vahemikku 0 kuni 100; dokumentatsiooni linkide kontroll; CI töövoog (marine-integrations.yml), mis käitab kõik need, kaasa arvatud päris binaarfaili otsast lõpuni. docs/MARINE-INTEGRATIONS.md. Nõuandev tarkvara, mitte tüübikinnitust omav seade; operaator vastutab jätkuvalt. Ainult tarkvara: miski ei edasta ja ühtki tuvastamise ega valehäire arvu ei väideta.
Lisatud: compliance'i vastendus ja test-bench'i eksport#
docs/compliance/jakshana compliance-report. Vastendus Kshana väljunditest viiele vastupidavuse raamistikule ja standardile (USA DHS Resilient PNT Conformance Framework v2.0, IMO juhised laevadele, EASA juhised lennunduses, NIS2 artikkel 21, EN 16803, tasuline standard, mida tsiteeritakse osa kaupa ja kataloogitekstis nähtavate üksikute klauslinumbritega), üks tabel raamistiku kohta: viide, mida see meie parafraasis nõuab, väljundid, mis toetavad tõendeid (supports evidence for) selle kohta, ja lünk. Allikaversioonid, URL-id ning mida loeti ja mida mitte, on kirja pandud.kshana compliance-report <result.json>...täidab vastenduse antud käitustest ja märgib iga rea väärtusegaevidenced,partly-evidenced,not-evidencedvõiout-of-scope, Markdownina ja JSON-ina, lünk säilitatud igal real. Sõnastus on „toetab tõendeid (supports evidence for)“; midagi ei hinnata ega kiideta heaks. Testid kasutavad sünteetilisi käitusi ja ebaõnnestuvad, kui kinnitatud tabel koodist lahkneb.kshana bench-export <scenario.toml>. Kirjutab stsenaariumignss-ins,jammingvõignss-simsõiduki liikumise ja sündmused laboratoorse GNSS-simulaatori jaoks: kasutaja liikumise CSV dokumenteeritud tugisüsteemidega ja metaandmete kõrvalfail, NMEA 0183GGA/RMC, teekonnapunktide tekst ning sündmused CSV-na ja plokireceiver-trust[[events]]kujul (src/interop/testbench.rs). Ainult liikumine ja sündmused: signaali ei kirjutata. Iga fail loetakse tagasi failistests/interop_testbench.rsja võrreldakse selle märgitud tolerantsi piires.docs/TEST-BENCH.mdannab meetodi ekspordi simulaatori kaudu uuesti esitamiseks ja vastuvõtja logi hindamiseks käsugakshana receiver-trust.- Mis loetakse tõendiks. Tulemus loetakse võimekuse kasuks ainult siis, kui see kannab välju, mida selle liik kirjutab; ainult liigi silt ei loe midagi. Tundmatud liigid, tulemus, mis on vastuolus oma naaberstsenaariumiga, mitte-kuueteistkümnendsüsteemi räsid ja moondunud receiver-trust'i arvud on loetletud kasutamata jäetutena koos põhjusega. Aruanne eskapeerib Markdowni lahtrid ega põhjusta paanikat (panic) mitte-ASCII räsi korral.
compliance::run_from_textjaassess_textsvõtavad tekste, mitte teid. - Test-bench'i eksport.
--epochon vahemikukontrollitud (UtcEpoch::parse_iso); teekonnapunktide fail kontrollib iga intervalli ja käsk ütleb, miks see välja jäetakse; dokumendid märgivad, etgnss-inssuund on keha pöördenurk (yaw), mitte kurss, väljaGGAkohatäited ja stsenaariumi enda kõrgusemuutuse.bench-exportjacompliance-reporton kasutusteksti. fusion::pack::truth_trajectoryavab profiilignss-instõelise oleku ajaloo (sama sammutus, mida kasutab liigi enda tõde), jaUtcEpochsaab NMEA kuupäeva ja kellaaja väljad.
Häirekaardi valideerimine#
- Häirekaardi dekodeerimise semantikat ja geomeetriat kontrollitakse sünteetilistel sisenditel sõltumatute realisatsioonide vastu. NIC ja NACp koodide tähendused sünteetiliste ADS-B kaadrite pyModeS dekodeerimise vastu, AIS-i mittesaadaval väärtused sünteetiliste AIVDM lausete pyais dekodeerimise vastu, ruudustiku lahtri määramine shapely vastu, marsruudi pikkus lahtri oleku kohta shapely ja GeographicLibi vastu ning sisemaa maskeerimine shapely ja pyproj vastu, kõik tolerantsiga, mis fikseeriti enne esimest võrdlust (
tests/fixtures/interference_map_ref/PREREGISTRATION.md). See valideerib, kuidas koode ja väljaväärtusi loetakse, ning geomeetriat, mitte seda, et märgitud lahter on häire. Maismaapolügoonide lugeja sulgeb nüüd rõnga, mis ei korda oma esimest tippu ja mille ta varem luges ilma viimase servata. Dokumendid esitavad NACp ja NIC madala täpsuse läved piirina, mida iga kood tähistab (NACp 6 on 556 m EPU piir, NIC 5 1 NM sisalduspiir).
Lisatud (telemeetriavormingute ja tõendipakettide valideerimine)#
- Välised kontrollid tõendipakettide krüptograafia, paketikontrollija ja telemeetria andmevormingute kohta. RFC 8032 jaotise 7,1 Ed25519 testvektorid (1, 2, 3 ja 1024) ning FIPS 180-4 SHA-256 näited käitatakse läbi paketi enda allkirjastamise, kontrollimise ja räsimise funktsioonide, täpse võrdsuseni. Pythonis kirjutatud kontrollija, mis on tehtud ainult faili
docs/EVIDENCE-PACKS.mdnormatiivse jaotise põhjal (hashlib jacryptography), on 71 terve ja muudetud paketi puhul Rusti kontrollijaga nõus: otsus, tõrgete hulk, allkirjaotsus ja mõlemad ahela pead. Meie Prometheuse eksponeering loetakse ametliku Pythoni kliendi parseriga ja meie OTLP JSON ametlikuopentelemetry-protosõnumiga, rangelt, ja mõlemad on nõus olekuga, millest need tehti. CEF-il ja LEEF-il pole sõltumatut avatud valideerijat ja need jäävad modelleeritud.docs/EVIDENCE-PACKS.mdsai normatiivse paketivormingu ja kontrollimismenetluse, mille põhjal puhtalt (clean-room) kontrollija kirjutati;VerifyReportsai väljasignature_valid. Sõltumatud etalonid (sõltumatud etalonid) ja fikstuurid:scripts/gen_ed25519_rfc8032_ref.py,scripts/gen_evidence_pack_ref.pykoosscripts/evidence_verify_cleanroom.py,scripts/gen_telemetry_formats_ref.py; testidevidence_crypto_reference,evidence_pack_referencejatelemetry_formats_reference. CI ei vaja Pythonit.
Lisatud (CEF-sündmuste valideerimine)#
- Telemeetria CEF-sündmused loetakse tagasi õigesti kahe sõltumatu avatud lähtekoodiga parseriga.
pycef1,11 ja Logstashi CEF-kodek (logstash-codec-cef6.2.7 Logstashis 8.15.3) parsivad 157 CEF-rida (iga riba muutus ja iga epohh kinnitatud telemeetriavoos, pluss vaenulik tekst, mis sisaldab=, kaldkriipse, püstkriipse, reavahetusi, tabulaatoreid ja mitmebaidist teksti) ning taastavad iga päisevälja, tõsiduse, laiendivõtmete täpse hulga ja iga väärtuse täpselt. Logstashi kodek loeb ka nelja rida, mille päisetekst vajab paomärke, midapycefei suuda. Lävi registreeriti enne mõlema parseri käitamist (tests/cef_reference.rs); fikstuurid kataloogistests/fixtures/cef/, sõltumatu etaloni skriptidscripts/gen_cef_ref.pyjascripts/gen_cef_logstash_ref.py; CI ei vaja ei Pythonit ega Logstashi. LEEF-il pole hooldatavat avatud parserit ja see jääb modelleeritud. CEF-sündmused kannavad nüüd usaldusskoori ja epohhi nihke CEF-sõnastiku ujukomakohandatud väljades (cfp1,cfp2) täisarvuväljadecn1jacn2asemel, mis sobisid kummalegi väärtusele halvasti; CEF on selles väljalaskes uus, seega ükski varem tarnitu ei muutu.
Muudetud#
- MCP:
assess_receiver_logaktsepteerib logi kujultextvõibase64; tööriista sisend on piiratud 4 MiB-ga. - Segamise diagramm võtab oma värvid samuti paletist.
src/jamming.rsoli ainus moodul, mille Observatory paleti uuendus jättis oma värvidele, kui segaja-Q töö maandus; selle*.chart.svg(stsenaariumidjamming,maritime-strait-jammingja teised liigistjamming) loeb nüüd failisrc/palette.rsning lubatud loend failistests/palette_sync.rson tühi. Ainult värvid ja font: diagrammidjamming-demojamaritime-strait-jammingon võrdsed oma varem salvestatud renderdustega, kui värv,font-familyja versiooni jalus on normaliseeritud. Ükski joonistatud väärtus ei nihkunud. Salvestatud Studio koopiad kataloogisweb/studio/recorded/salvestati uuesti versioonide 0.33.0 ja 0.34.0 ümberportimisel (ainult versioonitempel): need kannavad endiselt segamise diagrammi vana värvi ja saavad paleti värvi järgmisel ümberportimisel.
Parandatud#
- Kellaansambli 3-sigma piir katab nüüd flicker-põhja ja filtri tervisekontroll näeb seda. Väärtusega
flicker_floorkandis tõeline kell flicker FM-i, kuid kahe oleku filter, mis annab terviklikkuse piiri, mitte, nii et tarnitud stsenaariumiclock-ensemble3-sigma kate oli 0,41 (klassikaline) ja 0,33 (kvant), ning NIS/NEES kontroll, mis tõmbas oma tõe filtri mudelist, teatas identseid väärtusi põhjaga ja ilma. Piir on nüüd kahe oleku dispersioon pluss viimasest sünkroonimisest kogunenud flicker-faasi täpne dispersioon, arvutatuna samast pangast, mida tõeline kell kasutab; NIS/NEES kontroll tõmbab oma tõe laiendatud mudelist selle pangaga ja käitab sobitatud laiendatud filtrit (ning kahe oleku filter flicker-tõe vastu teatabconsistent = false). Väljundi muutus, ainult nullist erinevaflicker_floorkellade puhul:integritystsenaariumilclock-ensembleläheb väärtustelt 0,40866 / 0,33026 väärtustele 0,99970 / 1,0 (klassikaline / kvant) jafilter_healthNIS/NEES sisaldavad nüüd flickerit; ajaviga,holdover_sjatiming_p95_nson muutumatud ning stsenaariumid ilma põhjata on baitideni identsed. Nihkub kascenarios/orbit-gnss-challenged.toml(orbiidi liik, algväärtus (seed) 7, põhjad 1e-16 / 2e-11):fom.integrityklassikaline 0,7734 väärtusele 1,0 ja kvant 0,9796 väärtusele 1,0, ningfilter_healthNIS/NEES ja nende ribad muutuvad. Selle kvantfilter_health.consistentläheb väärtuselttrueväärtuselefalse: 16 algväärtuse ja 60 sammu flickeri ansambli valimisündmus (NIS 0,8815 riba [0,9125, 1,0914] vastu), mitte defekt. Riba on 95 % riba, nii et umbes 5 % algväärtustest märgib sobitatud filtri konstruktsiooni tõttu (40 selle stsenaariumi uut algväärtust: kvant 1 ja klassikaline 2 märgitud); suuruses 64 korda 200 on sama algväärtus mõlema kella puhul ribas (NIS 0,990 ja 1,001). Teadaolev järeltöö: liigil fusion on sama lõhe (klassikaline terviklikkus 0,80 põhjaga); liik hybrid jääb üle 0,99.
[0.34.1] - 2026-10-10#
Turvalisus#
- MCP serveri sisend karmistatud. MCP serveri stsenaariumitööriistad aktsepteerivad nüüd ainult sisemist sisu ja keelduvad failiallika väljadest; sisendi suurus on piiratud. Turvateade: GHSA-8wpf-hqg5-6xjr.
[0.34.0] - 2026-10-09#
Labori kordusesitus: jälgimismootor, tuvastusmonitorid ja kampaaniakäitaja GNSS-i IQ salvestuste jaoks, koos nendega kaasnevate ahelakujunduste, C/N0 hinnangute ja skooridega. Tõendusklass: kõik allpool on MODELLED või kontrollitud sisemise kooskõla osas suletud kujude ja algväärtustega (seed) simulatsiooni vastu; ükski neist ei lisa VALIDATED rida ja kontrollimise register on muutumatu (251 rida: 124 valideeritud, 123 modelleeritud, 4 partneri). See on tarkvaraline analüüsikiht: siin ei sünteesita segaja ega spuufija lainekuju ja miski ei edasta.
Lisatud#
Labori kordusesitus: testitingimused, kampaaniakäitaja ja hindamine (0.34.0).
kshana iq campaign <campaign.toml>mängib uuesti läbi salvestused × esiotsa ahelad × ahelakujundused (kshana.loop-design/1) ja hindab iga lahtrit salvestuse kohta käiva testitingimuste faili (kshana.test-conditions/1, TOML või JSON) vastu. See fail ütleb, mida labor salvestusest teab: oodatavad satelliidid ja iga sündmuse kohta selle tüübi silt, algus ja lõpp, mõjutatud satelliidid ning märgitud J/S või segaja võimsusprofiil. See on ainult metaandmed. Hinded satelliidi kohta, kogu käituse ja sündmuse kohta on:- kättesaadavus, aeg lukustuse kaotuseni ja märgitud J/S kaotuse hetkel;
- uuesti hõivamise aeg, sündmuse lõpust ja kaotusest;
- mõõdetud C/N0 halvenemine märgitud J/S klassi kohta;
- valesisselukustumise episoodid lukustatud tunni kohta (jälgija lipp või Doppler tõe kõrvalfaili vastu);
- PLL-i ja DLL-i diskriminaatori jitter.
Iga mõõdetud halvenemiskõvera kõrval joonistatakse analüütiline spektraaleraldatuse etalon (
jamming::effective_cn0_dbhztüübiQ-ga) ja märgitakse MODELLED kõikjal, kus see ilmub.Lahtrid käivad paralleelselt läbi jälgimissessiooni lukustusoleku olekumasina ja igaüks kirjutatakse aatomiliselt sisuräsi võtme all. Võti katab salvestuse SHA-256, tingimuse, esiotsa, kujunduse, käituse ja hindamise räsid, nõutava
data_class(synthetic|client-confidential) ning mootori versiooni. Kuirun.epochson seatud, säilitatakse ka iga lahtri voogkshana.track-epoch/1ja lukustussündmused, nimetatuna lahtri võtme järgi ja räsitud lahtrisse.cell_keyjareport::digeston avalikud, nii et tarbija saab iga võtme ja digesti uuesti tuletada. Seetõttu jätab kordusläbimine valmis lahtrid vahele ning väljundid ei sõltu kunagi töötajate arvust. Käitus kirjutabscorecard.csv/.json, iseseisvareport.htmlja failiDIGEST. Läbimise/mitteläbimise läved ([scoring.bars], salvestuse kaupa üle kirjutatavad) rakendatakse aruande koostamisel.[scoring] cn0_estimator = "m2m4" | "nwpr"(vaikimisi"m2m4", osa hindamise räsist) valib C/N0, mis on teatatud C/N0 ja halvenemiskõvera taga. Mõlemat hinnangut hinnatakse ja teatatakse alati (kogu käituse ja lähtetaseme mediaanid ning J/S klassi kohta) ning lahter ja tulemuskaart registreerivad hinnangu. NWPR loeb ahela enda jitteri all umbes 8 dB × Bn·T liiga madalaks; M2M4 mitte.
Samuti uus:
kshana iq campaign report <dir>ehitab tulemuskaardid, aruande ja digesti lahtritest uuesti üles;kshana iq conditions <file>kontrollib testitingimuste faili selle skeemi vastu;events_from_sigmf = trueimpordib SigMF salvestuse annotatsioonidkshana:test_eventsündmustena;- Python saab funktsioonid
iq_test_conditions,iq_campaignjaiq_campaign_report; kshana-mcpsaab funktsiooniiq_campaign, mis on inkrementaalne ja jätkatav kutsekohase valimieelarve all, kus iga fail on piiratud töökataloogiga, ning funktsiooniiq_campaign_status.
Testid:
tests/iq_campaign.rskäitab sünteetilise kampaania 3 salvestust × 2 esiotsa × 2 kujundust. Selle stseenid kannavad märgitud C/N0 profiile ja see katab:- iga mõõdiku, mida kontrolliti süstitud tõe vastu;
- jätkamise pärast osalist ühe töötajaga käitust rikutud lahtriga, baitideni identne katkestamata nelja töötajaga käitusega;
- lahtripõhised epohhifailid;
- 20 s kolme satelliidi uuesti hõivamise regressioon: kui
reacquireon sees, on iga kanal tagasi 2 s jooksul 2 s lõhest; väljalülitatudreacquiretulemus on kinnitatud; - läved hinnatud uuesti ilma uuesti käitamata;
- CLI;
- vahele jäetud väljalaskerežiimi läbilaske- ja mälukontrollid, kaasa arvatud 4 GB salvestus (5,45× reaalaeg, tippmälu 2 MB üle algse RSS-i; ühe masina mõõtmised, mitte läved).
Ainult tarkvara: miski ei edasta ja ühtki häire- ega spuufimislainekuju ei sünteesita. Disaini ja valmisehituse märkmed:
docs/design/LAB-CAMPAIGN.md.Jälgimismootor labori kordusesituseks (0.34.0: B3.1, B3.2, B3.3, B6.1).
Ahelakujundusfailid:
kshana.loop-design/1TOML (docs/design/LOOP-DESIGN-TOML.md; parseriq::track::design). Üks või mitu nimetatud kujundust seavad iga ahelavälja:- kandelaine liik (PLL, FLL või FLL-abistatud PLL), järgud ja ribalaiused;
- PLL/FLL/DLL diskriminaatorid ja kandelaine abistamine;
- vahe ja integreerimine;
- lukustusläved ja C/N0 aknad ning bitisünkroon;
- lukustusoleku olekumasin;
- üleandmise hõivamine (
"auto"või selgesõnaline).
Kujundused võivad üksteist
extends. Tundmatud võtmed lükatakse tagasi. Igal lahendatud kujundusel on SHA-256 räsi kanoonilisel JSON-kujul (võtmed sorteeritud igal tasemel, fikseeritud arvuvorming), nii et räsi ei sõltu väljade järjekorrast; iga väljund registreerib selle. Liidesed:kshana iq track --design <file> [--design-name], kus selgesõnalised lipud tühistavad kujunduse ja registreeritakse;kshana iq sweep --design <file>, mis käitab iga failis oleva kujunduse;- Python
iq_track(design=, design_name=, reacquire=),iq_loop_designs; - MCP
iq_trackdesign/design_name.
M2M4 C/N0 (
EpochOutput.cn0_m2m4_dbhz, track-epoch veergcn0_m2m4_dbhzpärastcn0_beaulieu_dbhz; Pythoni epohhisõnastikud). Teise ja neljanda momendi hinnang samade akende üle nagu NWPR, ainult prompt-võimsusest: NWPR loeb ahela enda kandelaine jitteri all liiga madalaks (umbes 8 dB × Bn_PLL·T) ja M2M4 mitte. GPS L2C CM puhul (20 ms, nominaalne 40 dB-Hz, PLL 1 kuni 10 Hz) loeb see 39,93 dB-Hz igal ribalaiusel, kui NWPR langeb väärtuselt 39,55 väärtusele 38,22; L1 C/A puhul 45 dB-Hz juures loeb see 45,34. NWPR ja iga muu väljund on muutumatud (bitthaaval kinnitus). Binaarkirje jääb 184 baiti (väärtus võtab reserveeritud ujuki ja lipubiti 6).Täiendavad korrelaatori kraanid (multikorrelaator / SQM).
[design.integration] extra_taps_chips = [..](nihked chipides promptist, positiivne vara; kuni 16, igaüks piirides ±2) korreleerib täiendavaid koopiaid E/P/L kõrval ja tagastab need kuiEpochOutput.extra((offset, value)kujunduse järjekorras). Ahelad ei kasuta neid kunagi. Võti jäetakse tühjana kanoonilisest JSON-ist välja, nii et vaikekujunduse räsi ja iga kraanideta väljund on muutumatud (kshana.track-epoch/1jääb; kraanideta CSV/JSONL/binaar on bitthaaval identsed). Kraanidega: CSV/JSONL veerud ja binaarkirje184 + 16 × tapsbaiti, mille päis kannabextra_taps_chips, nii et vana lugeja keeldub failist, mitte ei loe seda valesti.--extra-taps(CLI),extra_taps(Python) jaextra_taps_chips(MCPiq_track). Ühe käituse kujundused peavad kraanide osas ühtima.Paralleelsed kanalid (
iq track/iq sweep --threads <N|auto>; RustTrackSession::with_threads). Iga tüki kanalid käivad kuni N lõimel (std::thread::scope;wasm32jääb jadaks). Kanali korrelatsioon ja lukustusoleku olekumasin puudutavad ainult seda kanalit; selle epohhid ja sündmused puhverdatakse ning kirjutatakse sinkidesse kanalite järjekorras, nii et väljund (CSV, JSONL, binaar, sündmused, kokkuvõte) on baitideni identne jadakäitusega mis tahes N korral. Vaikeväärtus jääb 1 lõimeks. Mõõdetud 12 kanaliga, 4 s, 4,092 MHz salvestusel 4 tuumal: 19,5 s jadana, 11,5 s 2 lõimega, 6,3 s 4 lõimega (3,1×; esialgne hõivamine on jada).Hõivamispinna eksport (
kshana.acq-surface/1;iq::acq_surface,docs/design/ACQ-SURFACE.md).iq acquire --surface <path>(üks PRN; CSV, JSON või binaar), Pythoniq_acq_surfaceja MCPiq_acquiresurface_outkirjutavad kogu Doppleri × koodifaasi korrelatsioonivõimsuse pinna, mille otsing arvutab (selle lahtrid on käsuacquireomad, bitthaaval), koos tipu ja kahe peene Doppleri täpsustusega: paraboolne hinnang ja 1/16 vahemiku peen otsing (≈5 Hz 4 ms koherentsel, 167 Hz vahemike vastu).acquireise ja iga vaikeväärtus on muutumatud.Voogedastatav epohhiväljund (
kshana.track-epoch/1;iq::track::sink). Iga ahela uuendus kannab:- varajase/prompt/hilise korrelaatorid;
- kõik kolm diskriminaatori väljundit;
- PLL/FLL/DLL NCO olekud ja kandelaine faasi;
- PLI ja lukustuslipud;
- mõlemad C/N0 hinnangud ja bitid;
- lukustusoleku.
See kirjutatakse selle toimudes, CSV-na, JSON Linesina või versioonitud binaarvormis, koos lugejatega Rustis (
BinaryEpochReader) ja Pythonis (iq_read_epochs).iq tracksaab valikud--epochs,--eventsja--summary(kshana.track-summary/1) ningiq sweepsaab valikud--epochsja--events. MCPiq_tracksaab valikudepochs_out/events_outja ehitab oma vastuse piiratud mäluga kokkuvõttest.- Käituse hunnik ei kasva enam salvestuse pikkusega:
tests/iq_track_memory.rsmõõdab seda loendava allokaatoriga (6× pikkus, sama tipp 64 KiB piires), kontrolliga, mis näitab, et mälusisene tee kasvab. - Voogedastatud väljund on bitthaaval identne mälusisese kordusesitusega.
Lukustusoleku olekumasin (
iq::track::lock,TrackSession): sisselaskmine → lukustatud → kaotatud → uuesti hõivamine → sisselaskmine või taandatud, kui kaotus kestab kauem kuireacq_window_s(vaikimisi 30 s). Ebaõnnestunud otsinguid korratakse igareacq_interval_sjärel (0,1 s), ühtlase vahega, nii et kordusgraafik lisab mõõdetud uuesti hõivamise ajale kõige rohkem 0,1 s. Valikuline tagasilöök (reacq_max_interval_sülereacq_interval_s) on vaikimisi väljas jamax_reacq_attemptson valikuline ülempiir (0, ehk puudub, vaikimisi). 2 s katkestus kolmel PRN-il sagedusel 4,092 MS/s lõpeb nüüd sellega, et iga kanal on uuesti hõivatud ja lukustatud. 3 katse eelarve korral taandati iga kanal 0,2 s jooksul kaotusest.- Läved (
loss_dwell_s,pull_in_max_s, uuesti hõivamise Doppleri aken) tulevad kujundusest. Iga üleminek on sündmus koos oma põhjusega. - Valesisselukustumise kontroll otsib jälgitud Dopplerit selle ±1/(2T) FLL/PLL aliase vastu. See tabab valesisselukustumise, mida PR #38 mõõtis (−2400 Hz jälgitud 500 Hz kaugusel). Uuesti hõivamise sisselülitatuna lõpeb kanal lukustatuna süstitud Doppleril.
- 0,8 s signaalilõhe kuulutatakse kaotatuks ja hõivatakse uuesti 0,3 s jooksul signaali naasmisest.
--summaryfinal_state(ja tabeli veerg) on olek pärast viimast üleminekut, nii et kanal, mis taandati pärast oma viimast ahelauuendust, loebRETIRED.- FLL-i abistamine ainult sisselaskmise ajal (
[design.carrier] fll_assist = "pull-in", vaikimisi;"always"säilitab varasema käitumise bitthaaval). FLL annab PLL-ile üle, kui silutud PLI on hoidnud tasemelfll_off_pli(0,8) või sellest kõrgemal ajalfll_gate_dwell_s(0,1 s), ja naaseb, kui see langeb allafll_on_pli(0,6). Sisselülitatuna murdis 10 Hz FLL-i tee faasilukustuse puhastel signaalidel alla umbes 38 dB-Hz: sagedusel 35 dB-Hz oli faasilukustuse osakaal 10–16 %, tõelise faasiveaga 38–41°. Väravaga hoiab vaikeväärtus 100 % sagedusel 35 dB-Hz veaga 4,5°, sama mis ainult PLL. Sisselaskmine 100 Hz üleandmisveast on muutumatu. Tõend eelregistreeritud lävedega:docs/design/evidence/carrier-lock/. Vaikeahelad ei ole seega bitthaaval samad vaikekujunduse varasemate käitustega. Nende taastootmiseks kasutagefll_assist = "always". Teadaolev piir: sagedusel 35 dB-Hz tuleb üleandmine 1,9–2,6 s pärast jälgimise algust ja sagedusel 33 dB-Hz hoiab 10 Hz FLL PLI üleandmislävest madalamal, nii et sisselaskmine ei lõpe kunagi. - Uued ahelakujunduse võtmed ja API, loetletuna:
[design.carrier]:fll_assist,fll_off_pli,fll_on_pli,fll_gate_dwell_s;[design.lock]:reacq_window_s,reacq_interval_s,reacq_max_interval_s, kusjuuresmax_reacq_attemptson muudetud vaikeväärtuselt 3 valikuliseks ülempiiriks (vaikimisi 0);- Rust:
LoopConfig.fll_assist(FllAssist,FllGate),LoopCore::set_fll_enabled,EpochOutput.fll_active,ChannelSummary.final_state.
- Kujunduse räsi on kanoonilise JSON-kuju kohta ja sisseehitatud vaikekujunduse räsi on
33261cd171a53803a6c262686e878e01f37d902a93d5918c20a44297b8ef8e80(kinnitatud testiga). - Väljundi ühilduvuse märkused:
- tabelil
iq trackon lõpus veergfinal_state; - käsu
iq sweepCSV-l on lõpus veergdesign_hashja selle JSON-il ondesign_hashningwarnings; - pühkimise
mean_cn0_dbhzon nüüd keskmine kõigi uuenduste üle, millel on NWPR hinnang (piiratud mäluga kokkuvõte), mitte enam käituse teise poole üle.
- tabelil
- Uuesti hõivamine on sisseehitatud vaikimisi väljas, kus olekumasin ainult jälgib ja ahelad töötavad bitthaaval nii, nagu ilma selleta. (Vaikeahelad ise siiski muutusid: vt ülal FLL-i abistamist.) Lülitage see sisse kujunduse kaupa (
[design.lock] reacquire = true), valikuga--reacquirevõi valikugareacquire=True. - Hoiatus
commensurate_sampling: kui fs on 1e-6 piires chipikiiruse poole kordsest (iq::track::commensurate_samples_per_chip), hoiatavadiq track/iq sweep(väljund,--summary, pühkimise JSON), MCP vastusiq_trackja Pythoni tulemusiq_track, et koodiahela jitter ja nihe ei ole representatiivsed. Algpõhjus on dokumenteeritud eelregistreeritud lävedega failisdocs/design/evidence/dll-jitter/. Täpselt 2 valimi korral chipi kohta 0.5-chipi vahega on DLL-i S-kõver üks aste ja ahel väriseb: ≈ 0,09 chipi RMS koodiviga (≈ 26 m) sagedusel 45 dB-Hz, võrreldes ≈ 0,004 chipiga mittekommensureeruval kiirusel. ~2 dB madal NWPR C/N0 sellel kiirusel on sama põhjusega. Täpselt 0 Hz koodi Doppleri ja 4 valimi korral chipi kohta ei ületa kood kunagi ±0.21-chipi surnud tsooni, nii et koodifaasi nihe kuni umbes 0,2 chipi võib püsida ilma jitteris ilmumata (mõõdetud: 0.5-chipi vahe annab 2,0× kontrolli koodivea +0,011 chipi keskmisega; 0.25-chipi vahe annab +0,125 chipi); hoiatus katab kiiruse. - Teadaolev piir: vaikekujundus ei anna FLL→PLL üle alla umbes 35 dB-Hz (~35 dB-Hz sisselaskmise põhi; vt ülal FLL-i abistamist ja
docs/design/evidence/carrier-lock/). - Valesisselukustumise või uuesti hõivamise otsing, mida ei saa käitada (kiirus ilma täisarvu valimiteta koodiperioodi kohta), ei peata enam jälgimist.
- Testid:
tests/iq_track_engine.rs,tests/iq_cli.rs,iq::track::design::tests,tests/pythonja MCP IQ edasi-tagasi tsükkel.
- Läved (
C/N0 profiilid sünteetilistes stseenides (0.34.0).
iq::channel::cn0_profileajastab Kshana enda stseenides satelliidi kaupa ajas muutuva C/N0, dB nihetena stseeni C/N0 suhtes. Kujud: aste, tõus, tükiti lineaarne ja algväärtusega (seed) skintillatsioonitaolised Rice'i summutused märgitud S4 ja dekorrelatsiooniajaga. Need rakendatakse olemasoleva stseenikanali konksu kaudu (Cn0ProfileChannel, komponeerudes ionosfääri, troposfääri, skintillatsiooni ja mitmeteelevi mõjudega), stseenituuma muutmata. Tõe kõrvalfailicn0_dbhzjärgib profiili.- Liidesed:
kshana iq scene … --cn0-profile <toml>jakshana.iq_scene(…, cn0_profile="<toml>"). - Milleks see on: ahelaid, monitore ja kampaania hindamist saab stressitestida teadaoleva tõe vastu. See muudab ainult seaduslike signaalide tugevust.
- Kontrollid (
tests/iq_cn0_profile.rs). Läved: summutuse keskmine intensiivsus 5 % piires väärtusest 1, S4 8 % piires sihtväärtusest (S4 = 0,3, 0,7 ja 1 korral), intensiivsuse korrelatsioon üle 0,9 kohal 0,05 τ ja alla 0,05 kohal 5 τ; tõde täpselt märgitud C/N0 pluss profiil; jälgitud NWPR C/N0 langus 0,7 dB piires 6 dB astmest. Mõõdetud: S4 1,3 % piires sihtväärtusest ja jälgitud langus 6,26 dB.
- Liidesed:
IQ-tee tuvastusmonitorid (0.34.0 „Labori kordusesitus“). Uus moodul
iq::monitor, käskkshana iq monitorja seoskshana.iq_monitor(path, ...). Need jälgivad salvestust ja teatavad ajaread ning märgitud sündmused (algus-, häire- ja lõpuajad, tipp, lävi). Need ainult tuvastavad ja mõõdavad; siin ei genereerita signaali.- Koguvõimsus / AGC: ploki võimsus ja võimendus, mille ideaalne AGC rakendaks; märgib tõusud ja langused.
- Eelkorrelatsiooni spekter: Welchi PSD ploki kohta õpitud lähtetaseme vastu. Ülemäära lävi tuleb valehäire sihtmärgist. Samuti kompleksne kurtoos ja impulsidetektor. Impulsidetektor loeb igas plokis läve ületavad valimid ja tõstab sündmuse, kui selle arvu täpne binoomjaotuse ülemine saba on väiksem kui
pulse_pfa(vaikimisi 1e-4 ploki kohta), mitte siis, kui z-skoor ületab piiri: lühikeste plokkide väikeste oodatavate arvude juures on üksik valim juba mitu sigmat. - Kanali kohta C/N0: kaks ühepoolset CUSUM-i muutusedetektorit (langus ja tõus), mida toidavad sõltumatud hinnangud (samm on seatud ahela C/N0 aknast).
- SQM korrelaatoritest: delta
(I_E − I_L)/I_Pja suhe(I_E + I_L)/(2 I_P), pluss asümmeetriatestid lisakorrelaatoritest, kui kanal neid annab. - Lukustusnäidiku jadad: PLI ja sagedusluku näidik järjestikustest promptidest, toorsignaalidena. Lukustuse ja lukustuse kaotuse otsused jäävad jälgimismootori lukustusoleku olekumasinale.
Üks voogedastav läbimine (
iq::monitor::run::run_monitors) käitab kõik, TOML/JSON seadistusfailiga (MonitorConfig); kampaaniakäitaja kasutab sama sisenemispunkti. Kõik MODELLED. Iga statistikut kontrollitakse selle suletud kuju vastu algväärtustega (seed) simulatsiooniga (tests/iq_monitor.rs):- ploki võimsuse ületused Gamma saba vastu;
- kurtoosi keskmine 2 ja hajuvus
2/√N; - impulsi osakaal
e^{−t}; - CUSUM-i jooksupikkused Siegmundi lähenduse vastu (mõõdetud 330 ja 8,46 valimit vastu 338 ja 8,34);
- faasilukustuse näidik Riceri faasi keskmise vastu;
- jälgitud C/A signaalil on SQM delta ja suhte hajuvused umbes 6 % esimest järku suletud kujudest (mõõdetud 5,97 %; testi lävi 12 %).
Spektraalse ülemäära valehäire valem on lähendus; mõõdetud määr oli 1,3× valem. Otsast lõpuni märgivad monitorid:
- 6 dB C/N0 astet (muutuse aeg ühe hinnangu piires);
- salvestuse keskel ilmuvat peegeldunud teed (suhtetest);
- signaalikatkestust (PLI langeb selle ajal väärtuselt 0,999 väärtusele −0,3 ja FLI väärtuselt 0,93 väärtusele 0,03);
- kitsaribalist tooni ja hõredaid suure amplituudiga valimeid (spektraal-, impulsi- ja kurtoositestid). Need on üldised DSP testsisendid, mitte häiremudelid.
Muudetud#
iq track/iq sweepvoogedastavad läbi uue sessiooni (vt Lisatud).--csvsäilitab oma versiooni 0,32 veerud, kuid on nüüd voogedastatav, nii et mitme kanali read põimuvad ajajärjekorras, mitte ei ole kanalite kaupa grupeeritud.--jsonsäilitab oma versiooni 0,32 kuju ja hoiab endiselt iga epohhi mälus: pikkade salvestuste jaoks kasutage--epochs.iq sweepmõõdab jitterit käituse kestuse teise poole uuenduste üle (varem uuenduste arvu teine pool) ja selle CSV/JSON saavad veerudesign_hash.- Jälgimistabel saab veeru
final_state. - Kasutustekst ei väida enam, et
iq trackvõtab esiotsa lipud; neid rakendab ainultiq acquire. - Pythoni
iq_trackväljadacq_noncoherentjadoppler_maxon nüüd vaikimisiNone(kujunduse väärtused, sisseehitatud kujunduses 1 ja 5000 Hz). Selle epohhid saavad varajase/hilise korrelaatorid,carrier_phase_cycles,bit_edge,bitjastate, ning tulemus saabdesignjaevents.
Parandatud#
Vaikehõivamise samm ei anna enam Galileo E1 jälgimisele jääki, mida FLL ei suuda sisse lasta. Samm
2 / (3 · N · T_code)jätab üleandmisel kuni1 / (3 · N · T_code)Doppleri viga, kuid vaike-kahekvadrandiline FLL laseb sisse ainult1 / (4 T_track). Iga 4 ms või pikema koodi puhul (N = 1), kaasa arvatud Galileo E1-B ja E1-C, oli jääk (83,3 Hz sagedusel 4 ms) väljaspool 62,5 Hz sisselaskmist ja jälgimine lukustus valesti +125 Hz juures, faasilukustuse näidikuga 0,97, mis seda varjas. Vaikesamm on nüüd piiratud ka väärtusega0.2 / T_track(kshana::iq::acq::default_step_hz), 0,8 sisselaskmisest, nii et üleandmine jääb selle sisse ka siis, kui naaberlahter võidab. (0,4 proovitud esmalt: see lukustus valesti 1 käitust 42-st E1-B-l ja 1 ms koherentne GPS L1 C/A otsing valis lahtri 350 Hz kaugusel ja lukustus +500 Hz juures; 0,25 ja 0,2 ei andnud samades käitustes ühtegi.) Hind: Galileo E1-B/E1-C lähevad 166,7 Hz lahtritelt 50 Hz lahtritele, 201 lahtrit vahemikus ±5 kHz 61 asemel; 1 ms koodid (166,7 Hz,N = 4) on muutumatud."auto"ahelakujunduses tähendab seda; selgesõnalinedoppler_step_hzvõi--doppler-stepkasutatakse nii, nagu kirjutatud, jaiq acquire(ilma jälgimise üleandmiseta) säilitab õpikusammu. Epohhipäis ja--summaryregistreerivad nüüd iga kanali lahendatud sammu ja ahela ribalaiused (resolved). Vaikekujunduse räsi on muutumatu. Väljundi muutus: 4 ms ja pikemate koodide tuvastused võivad sattuda teistesse Doppleri lahtritesse.GPS L2C CM (20 ms ahelauuendus) hoiab lukku vaikekujundusega. Vaike-15 Hz PLL-il ja 10 Hz FLL-il on
Bn · Tväärtused 0,3 ja 0,2 kohal T = 20 ms ning ahel kaotas lukustuse isegi täiuslikult algusest (PLI −0,08, M2M4 15,8 dB-Hz). Uus kujunduse võticarrier.bn_t_max(vaikimisi 0,1) piirab PLL-i ja FLL-i müra ribalaiused väärtuselebn_t_max / T, kui ahela uuendusaeg on pikem kui 4 ms (Design::loop_config_for): 5 Hz ja 5 Hz sagedusel 20 ms, 10 Hz ja 10 Hz BeiDou B1C 10 ms juures; 1 ms ja 4 ms koodid säilitavad 15 ja 10 Hz. See kehtib ka selgesõnaliste ribalaiuste kohta;bn_t_max = 0lülitab selle välja. Võti jäetakse vaikeväärtuse korral kanoonilisest kujust välja, nii et vaikeräsi on muutumatu; kujundusel, mis seab mis tahes muu väärtuse, on teistsugune räsi. Sagedusel 45 dB-Hz annab L2C CM nüüd PLI 0,996, Doppleri vea 0,00 Hz ja M2M4 42,71 dB-Hz. Teadaolev lahtine punkt: NWPR C/N0 loeb seal 1,76 dB madalaks (ja 2,45 dB madalaks B1C-l 10 ms juures), nii et maatriksi T5 L2C jaoks jääb ignored-tähelepanekuks.docs/assets/clock-ensemble-band.svgloodud uuesti: kinnitatud joonis oli oma stsenaariumi suhtes aegunud (andmemuutus, mitte ümbervärvimine). Diagramm joonistati 2026-06-02 failistscenarios/clock-ensemble.toml; kaks päeva hiljem seadis 67fed19e selles stsenaariumis flicker-FM põhjad (kvantflicker_floor = 1e-16, CSACflicker_floor = 2e-11) ja joonist ei joonistatud kunagi uuesti. See näitas põhjaeelset käitust: y-telg 0 kuni 47 ns, CSAC käitusekohane katkestuse p95 10,5 kuni 47,6 ns (keskmine 25,2 ns), klassikaline holdover 4050 s keskmiselt. Tarnitud stsenaarium (ja nagu õpetus ja CLI kokkuvõte juba ütlevad) annab y-telje 0 kuni 407 ns, CSAC käitusekohane p95 40,8 kuni 374,0 ns (keskmine 167,0 ns), klassikaline holdover 844 s [220 kuni 2130 s]; 20 ns spetsifikatsioonijoon asub samal 20 ns kohal umbes üheksa korda kõrgemal teljel. Mootor on muutumatu: tänane mootor juunikuu stsenaariumifailil taastoodab vana joonise telje täpselt. Joonisele README-st ega dokumentidest ei viidata.
Teadaolevad piirangud#
- NWPR C/N0 loeb kõrge prompti kohta C/N0·T korral madalaks ja BOC(1 1) sagedusel 5 MS/s kaotab umbes 1 dB. NWPR on ideaalsetel promptidel nihketa, kuid ahela enda PLL-i jitter maksab umbes sobitatud 8 dB × Bn·T (üks stseen, neli punkti: −0.24/−0.44/−0.77/−1,58 dB sagedustel 1/2.5/5/10 Hz ja 20 ms; umbes −1 dB vaikeväärtusel
bn_t_max = 0.1); M2M4 on tundetu. BeiDou B1C andmed sagedusel 5 MS/s kaotavad ka umbes 1 dB prompti võimsust ribapiirangu tõttu (kasutage 10 MS/s või rohkem). Kumbki ei ole hinnangu defekt; signaalimaatriksi T5 read GPS L2C ja BeiDou B1C jaoks jäävad nende põhjustega ignored-tähelepanekuteks.
[0.33.1] - 2026-10-08#
Turvalisus#
- Diagrammi teksti ja Studio diagrammi vastuvõtmise karmistamine. Tekst, mille stsenaarium kannab loodud diagrammi, eskapeeritakse nüüd järjepidevalt ühe jagatud rutiiniga ning Studio võtab diagrammist vastu ainult joonistusmärgistuse. Studio aadresseerimisparameetrid, liigipõhised otsingud ja stsenaariumipäringud on piiratud teadaolevate väärtustega. Kaasapakitud diagrammid, salvestatud tulemused ja avaldatud arvud on muutumatud. Uuendamist soovitatakse kõigile, kes avavad Studios stsenaariumifaile ebausaldusväärsetest allikatest või manustavad loodud diagramme veebilehtedele. Turvateade: GHSA-h25h-cg9f-v2cg.
[0.33.0] - 2026-10-08#
Dokumentatsioon#
- IQ-kihi segamise ja spuufimise ulatus, öeldud täpselt. Allolevad versioonide 0.31.0 ja 0.32.0 kirjed ütlevad, et IQ-kiht lisab „ei mingit segamise ega spuufimise lainekuju sünteesi“. See kehtib IQ-kihi enda kohta (
iq::scenegenereerib ainult seaduslikke GNSS-i signaale), kuid see kõlas väitena kogu mootori kohta, ja see ei ole selline: alates versioonist 0.29.0 kirjutab liigispectrumjaotis[iq]SigMF hetktõmmise oma analüütilisest mudelist koos seadistatud segajatega (müratüüpi segajad lahtri kaupa, toonid ja siristused lainekujudena), jaspoof_capturesummeerib autentse ja spuufija koopiasignaali mälus, et testida ahela püüdmist (komposiiti ei kirjutata kunagi välja). Mootoril on olnud ka tarkvaraline GNSS-vastuvõtja alates versioonist 0.20.0 (sdr: hõivamine ja jälgimine; alates versioonist 0.31.0 kaiq::acqjaiq::track). Miski Kshanas ei edasta ega juhi raadioriistvara. README olekurida,docs/POSITIONING.md,docs/SPECTRUM.mdja IQ disainimärkmed ütlevad seda nüüd; avaldatud kirjed on jäetud sellisena, nagu need avaldati. Käitumine ei muutu. - Teadaolev piirang: kommensureeruv diskreetimine. Valimikiiruse korral, mis on chipikiiruse täis- või poolkordne, asuvad valimid igas chipis samadel chipifaasidel ja koodidiskriminaator muutub trepiks. Sünteetilisel GPS L1 C/A signaalil sagedusel 45 dB-Hz 0.5-chipi vahega annab 2,046 MHz (2 valimit/chip) ≈ 0,09 chipi (≈ 26 m) RMS koodivea ja −0,09 chipi nihke, võrreldes ≈ 0,003 chipiga mittekommensureeruval kiirusel. NWPR C/N0 loeb seal ≈ 2,4 dB madalaks. Sagedusel 4,092 MHz sõltub see vahest ja koodi Dopplerist. Vahe 0,5 chipi korral on see kahjutu 1500 Hz Doppleril, kuid 2× 0,011 chipi nihkega 0 Hz juures ning vahe 0,25 või 0,1 chipi korral on see 8–10× koodiviga. Kandelaine jälgimist see ei mõjuta. Mõõtmised on failis
docs/design/iq-notes/receiver.md.
Lisatud#
GNSS-i IQ-kiht MCP serveris (Phase B.1).
kshana-mcpsaab kuus tööriista, mis juhivad kihtikshana iqagendi poolt:iq_signals(aktsepteeritud signaalinimed ja IQ seadistus),iq_info(kirjelda salvestust),iq_scene(genereeri märgitud profiiliga või edastatud efemeriidiga stseen, valikulise signaalitaseme kanaliga),iq_acquire(FFT hõivamine, valikuliselt esiotsa etappide taga),iq_track(hõiva, siis DLL/PLL/FLL pank) jaiq_frontend(ribafilter, sälk, blankeerimine, väljalõikamine, AGC, kvantiseerija). IQ valimid ei ületa kunagi protokolli: iga tööriist võtab failiteed ühes töökataloogis, mille seabKSHANA_MCP_IQ_DIR(seadmata jätmine jätab IQ failitööriistad välja ja kõik muud tööriistad mõjutamata), keeldub teedest, mis lahenevad väljapoole seda, ja juba olemasolevatest väljunditest, kui pole seatudoverwrite, jõustab enne mis tahes tööd kutsekohase valimieelarve (KSHANA_MCP_IQ_MAX_SAMPLES, vaikimisi 50 000 000), keeldub tundmatutest argumentidest ja vastab kompaktse JSON-kokkuvõttega (tuvastused, C/N0, lukustuse olek ja iga kirjutatud fail oma baitide arvuga). Epohhipõhine väljund läheb ainult failidesse, mida kutsuja nimetab. Tööriistad käitavad sama kooditeed mis CLI uue avaliku õmblusekshana::iq::cli::executekaudu, mis tagastab CLI teate selle trükkimise asemel (stdout on MCP JSON-RPC kanal);iq::cli::build_codejaiq::cli::signal_nameson nüüd samuti avalikud. Ainult tarkvaraline ja lisandav: IQ-kiht ei lisa segamise ega spuufija sünteesi, miski ei edastata kunagi ja uusi sõltuvusi pole.server.jsondeklareerib need kaks keskkonnamuutujat. Edasi-tagasi testid failismcp/kshana-mcp/tests/iq_round_trip.rsgenereerivad lühikese kahe satelliidi stseeni ja kontrollivad hõivamist stseeni enda tõe kõrvalfaili vastu, jälgimise lukustust ja C/N0, esiotsa, SigMF väljundit, eelarvet, tee piiramist ja keelatud olekut.GNSS-i IQ-kiht valideerimisregistris. Eelregistreeritud ristkontroll gps-sdr-simi vastu (sõltumatu GPS L1 C/A baasribageneraator, MIT, commit 28ca29a6) on nüüd alati sees oleva testikomplekti osa (
tests/iq_gpssdrsim_cross_generator.rs). Selle kinnitatud võrdlusväljund (tests/fixtures/iq_gpssdrsim_cross_generator/: 20 ms gps-sdr-simi enda 8-bitist I/Q-d, selle kanalite loend ja selle taga olev kanali olek samast ehitusest linkitud harnessist) luuakse uuesti skriptigascripts/gen_iq_gpssdrsim_ref.sh. Testi ajal ei vaja miski võrku ega välist tööriista. Lisatud on kaks registririda (251 rida: 124 valideeritud, 123 modelleeritud, 4 partneri):- GNSS-i IQ stseeni signaali geomeetria sõltumatu baasribageneraatori vastu: valideeritud. Stseeni tõde (nähtav hulk, pseudovahemaa, koodifaas, Doppler, vaatenurgad) edastatud efemeriidiga stseeni jaoks ühtib gps-sdr-simi kanali olekuga kõigil 11 kanalil: halvim 1,6 mm, 5.5e-6 chipi, 7.4e-5 Hz, 4e-9 kraadi, lävede 0,05 m, 2e-4 chipi, 0,02 Hz ja 1e-4 kraadi vastu, mis fikseeriti enne käitust.
- GNSS-i IQ hõivamine sõltumatult genereeritud I/Q valimitel: modelleeritud, koos tähelepanekuga.
iq::acqleiab iga simuleeritud satelliidi gps-sdr-simi valimitest registreeritud piirides (koodifaas 0,195 chipi piires, Doppler 72 Hz piires). Registreeritud lävi „ühtegi teist PRN-i ei tuvastatud“ siiski ebaõnnestub: gps-sdr-simi müravabal väljundil ületavad Gaussi müra läve teiste satelliitide ristkorrelatsioon kõigi 21 puuduva PRN-i jaoks. Range test säilitatakse, märgitud ignored koos tähelepanekuga, ja kinnitatud test registreerib selle. Mootori koodi ega avalikku API-t ei muudeta. Valimi I/Q-d ei võrrelda valimi kaupa: gps-sdr-simi täisarvuline siinustabel, võimendused, nullist algav kandelaine faas ja kärbitud LNAV väljad ei ole suurused, milles vastuvõtja peab nõustuma. Võrdlus tehakse vaadeldavatel suurustel, mida vastuvõtja mõõdab.
Muudetud#
iq trackannab vaikimisi üle ≈4 ms hõivamisest (käitumise muutus). Hõivamine, mis lähtestab iga jälgimiskanali, integreerib nüüdceil(4 ms / T_code)koodiperioodi koherentselt ühe asemel, kusT_codeon koodi täisperiood (kihilise koodi puhul primaar- korda sekundaarpikkus, ühik, mille üle hõivamine integreerib). Kihita 1 ms koodid (GPS L1 C/A, BeiDou B1I, GLONASS L1OF) otsivad nüüd 4 perioodi (4 ms), nii et vaike-Doppleri samm2 / (3 · N · T_code)on ~167 Hz ~667 Hz asemel. Iga kood, mille täisperiood on juba 4 ms või pikem, säilitab 1 perioodi: Galileo E1-B (4 ms), BeiDou B1C (10 ms) ning kihilised GPS L5-I/L5-Q, Galileo E5a-I/E5a-Q ja E1-C (10 kuni 100 ms koos nende kattekoodidega) ja GPS L2C. Iga signaal integreerib seega vähemalt ~4 ms. Ühe perioodi otsing võis anda kanali üle kuni ~333 Hz kõrvalekaldega, FLL-i sisselaskmisest väljaspool, ja see jälgis siis valesisselukustumist ~500 Hz eemal, teatades samal ajal puhtast jälgimisest. Algväärtustega (seed) pühkimisel 180 GPS L1 C/A kanalil (Doppler ±5 kHz üle, 38 kuni 47 dB-Hz, pooltel navigatsiooniandmed;docs/design/evidence/iq-track-acq-default/, uuesti käitatav) langevad valesisselukustumised 27-lt 180-st 1-ni 180-st ja vahelejäänud hõivamised 102-lt 11-ni, ~40 ms võrra pikema otsinguga PRN-i kohta GPS L1-l (11 → 52 ms). Üks allesjäänud valesisselukustumine on sagedusel 38 dB-Hz, 36 Hz eemal. Kõik liidesed on ühel meelel:kshana iq trackjakshana iq sweep(--acq-coherent), Pythonkshana.iq_track(acq_coherent=Noneon nüüd auto; stub uuendatud) ja MCP tööriistiq_track. Kasutajad, kes toetusid vanale vaikeväärtusele, saavad andaacq_coherent=1(--acq-coherent 1). Käsukshana iq acquireenda vaikeväärtus--coherentjääb 1. Uued avalikudiq::acq::auto_coherent_periodsjaiq::acq::AUTO_COHERENT_S; regressioonitesttests/iq_cli.rs::track_default_handoff_does_not_false_lock_where_one_period_did.- Iga loodud graafika järgib nüüd saidi Observatory teemat: iga diagrammi baidid muutuvad. See on avaldatud jooniste, värvide ja fontide tahtlik uuendus; ükski joonistatud väärtus, koordinaat ega silt ei nihkunud. Iga stsenaariumi
*.chart.svg(ja seega Studio diagrammieksport ja README demodiagrammid), käituse aruande HTML (*.report.html), ajaskaala animatsioon (--animate), stsenaariumitulemuse ja uuringu HTML-lehed, valideerimiskokkuvõte ning dokumentide joonised ja diagrammid kasutasid sooja tumedat juulipaletti (#0c0b08põhi,#e0bd84kuld) ja sooja paberi aruandeteemat. Nüüd võtavad need iga värvi ja fondi ühest moodulistsrc/palette.rs, mis peegeldab failiweb/theme.css: diagrammid joonistatakse instrumenditumedana Observatory põhjal (#060A14) Geisti kirjatüübipinus; aruanne, animatsiooniesitaja ja tulemuslehed järgivad vaataja hele/tume eelistust Observatory heleda ja tumeda tokenitega. Kuus rikkevaldkonda säilitavad igaüks ühe värvi (häire korall, spuufimine magenta, ajastus sinine, orbiidid tsüaan, terviklikkus laim, navigatsioon merevaik), ja tõendustasemed loevad valideeritud laim, modelleeritud merevaik, partner magenta. Joonvesi (waterfall) rambid säilitavad oma tajupõhise (inferno) järjestuse, uuesti ankurdatuna uuel põhjal.tests/palette_sync.rshoiab mooduli mõlemas teemas failigaweb/theme.csskooskõlas, kontrollib, etdocs/assets/palette.jsonjadocs/diagrams/mermaid-config.json(mõlemad moodulist genereeritud, Pythoni jooniste tööriistade ja mermaid-cli jaoks) on ajakohased, ning ebaõnnestub, kui kataloogissrc/ilmub väljaspool paletti kuueteistkümnendsüsteemis värvikirjeldus.tests/published_figures_still_reproduce.rssaab kolmanda diagnoosi „ainult värvid ja fondid nihkusid“, nii et paleti uuendust saab eristada nihkunud joonistatud väärtusest. Iga uuesti renderdatud README diagramm kontrolliti selle normaliseerija all oma eelkäijaga võrdseks.tools/gen_validation_figures.pyloeb paletti ja genereerib nüüd ka kolm README tulemusjoonist, millel polnud kinnitatud generaatorit (domain-coverage-map,scenario-fom,sgp4-regime-bars), päris tekstielementidega, failidestweb/capabilities.json, tulemusestclock-holdoverjatests/fixtures/sgp4_comparison.md.tools/gen_readme_assets.pyloeb sama paletti, mis parandab selle heleda teema triivi saidist. Väärtusedsgp4-regime-barson selle fikstuuri halvima juhu veergkshana↔ref(7.31e-9, 8.05e-9, 8.18e-9 ja 4.12e-6 km), muutumatud Matplotlibi joonisest, jatests/figures_doc_sync.rsebaõnnestub nüüd, kui kinnitatud joonis ja fikstuur on vastuolus.
docs/assets/figures/domain-coverage-mapvärskendatud praeguste andmetega (andmemuutus, mitte ümbervärvimine). Joonis väitis 28 võimekust 8 valdkonnas (11 valideeritud, 17 modelleeritud), aegunult oma väidetud allika suhtes; nüüd uue generaatoriga failistweb/capabilities.jsonjoonistatuna loeb see 46 võimekust 8 valdkonnas (17 valideeritud, 29 modelleeritud).
Parandatud#
CW/kitsaribasegaja Q on nüüd 1,0, mitte 1,5. Õpikuväärtus kandjal oleva tooni jaoks on 1 (toon säilitab signaali spektraalse tipu,
κ = T_c,Q = 1/(R_c κ)); vana 1,5 tegi tooni võrdsel J/S-il vähem kahjulikuks kui lairibamüra. Väljundi muutus: umbes −1,8 dB efektiivne C/N0 CW/kitsaribasegajate all kõrgel J/S-il liikidesjamming,lunar-jammingja interop (kaasapakitud näitespectrumtoon: 17,98 dB-Hz tabelist, oli 19,74). Lairiba Q jääb 1,0 (konservatiivne, umbes 3 dB õpiku ~2 alla) ootel versiooni 0,34 ülevaatust. Vana 1,5 säilitamiseks seadkeq_override.kshana iq scenetäisarvuväljund kasutab täisarvuvahemikku. Ühikvõimsusega müra ja kirjutaja skaalaga 1 tulidci8/ci16stseenid välja umbes kujul {-1, 0, 1} ja 2-bitistel stseenidel olid läved kohal 2,8 sigmat. Täisarvuvormingud skaleeritakse nüüd nii, et oodatav komponendi RMS on veerand täisskaalast (31,75 LSB ci8-s, 8191,75 ci16-s) või 2 LSB 2-bitises. Skaala ja piiratud elementide arv trükitakse ja kirjutatakse kõrvalfaili. Ujukomaväljund on muutumatu.Kaheksa fikstuurikinnitust seitsmes testifailis enam macOS-is viimase biti erinevuste tõttu ei ebaõnnestu (osa probleemist #36). Kinnitused, mis kontrollivad, et mootor ehitab endiselt sõltumatu etaloni kinnitatud sisendid (Jacobi maatriksid, olekutabel, stardiasimuudid), võrreldi bitthaaval ja need ebaõnnestusid macOS arm64 peal 2 kuni mõne tuhande ühiku võrra viimases kohas. Nüüd võrreldakse neid 1e-12 piires fikstuurist võetud skaalast; täisarvud, võtmed ja pikkused võrreldakse endiselt täpselt ning mutatsioonitest näitab, et suhteline muutus 1e-6 ebaõnnestub endiselt. Stardiasimuudi kinnitus võrdleb
sin azja tõusva/laskuva haru, mitte asimuuti ennast, kunaasinvõimendab oma argumendi ühe ulp-i umbes 3e-9 rad-ini, kus kalle võrdub koha kolatituudiga. Ükski sõltumatu etaloni tolerants ega eelregistreeritud lävi ei muutunud. Kaks testi (Kuu ühine OD, Kuu jälgitavus) ei ole kaetud: macOS-is nihkuvad nende eelregistreeritud võrdlused ise ja see jäetakse järeltööks.kshana iq trackjakshana iq sweeprakendavad esiotsa lipud. Kasutustekst reklaamis--bandpass/--notch/--blank/--excise/--agc/--bitskäsultrack, kuidtrackjasweepei ehitanud ahelat kunagi: lipud jäeti vaikselt tähelepanuta ja väärtuseta lipp nagu--notchneelas selle järel oleva lipu. Mõlemad käsud parsivad need nüüd naguiq acquireja panevad värske esiotsa ahela hõivamisläbimise ja jälgimisläbimise ette. Väljund on võrdne käsu käitamisega failil, milleiq frontendkirjutab samade lippude jaoks.IQ stseeni andmed paigutatakse signaali kaupa.
kshana iq scene --data(jaNavData::Seeded) pani 50 bit/s bitid igale signaalile, kaasa arvatud pilootidele, ning Galileol ja BeiDoul GPS LNAV kiirusel. Andmed järgivad nüüd iga signaali enda sümboliajastust, mida annab uusSpreadingCode::data_modulation()(DataModulation, seatud iga konstruktori poolt moodulisiq::signals). See on 10 ms L5-I5-l, 4 ms E1-B-l, 2 ms BeiDou B1I GEO-l (D2) ning 20 ms bitid 10 ms meandriga GLONASS L1OF-il. Andmed lükatakse tagasi pilootidel, GPS L2C-l ühe CM/CL vooguna jaNavData::Lnavkõigel peale L1 C/A. Kohandatud koodid säilitavad vaikimisi eelmise 20 ms ajastuse. ProgrammeeritudScene, mis küsisNavData::Lnavmitte-L1 C/A koodil võiNavData::Seededpiloodil, genereeris varem vaikselt ja tagastab nüüd esimesel lugemisel vea.GLONASS L1OF kanalid hõivatakse ja jälgitakse oma FDMA kandjal.
iq::acq::acquireja jälgimiskanalid segasid iga koodi alla ainult väärtusestif_hz. Mitme kanaliga GLONASS salvestuses leidis seetõttu kanali +3 otsing kanali 0 signaali (kõik kanalid jagavad ühte kaugusmõõtmiskoodi) ega vaadanud kunagi 1,6875 MHz kõrgemale. Mõlemad kasutavad nüüdSampleSpec::baseband_hz(carrier) = if_hz + (carrier − center_hz). Kandja liige on null iga salvestuse puhul, mis on tsentreeritud signaali enda kandjale, ja jäetakse välja, kui keskpunkt on teadmata, nii et CDMA töötlus on muutumatu. Kui tegite vana käitumise ümber, lisadescarrier − centerkõrvalfaili väljaleif_hz, eemaldage see liige: nihe rakendatakse nüüd kandjast ja keskpunktist, nii et selle sisse jätmine rakendab seda kaks korda. Teadaolev piirang, siin muutumatu: GLONASS stseen tuvastab iga satelliidi selle sagedusnumbrikjärgi ja satelliidi idu32ümbritseb negatiivse kanali. Tõe kõrvalfail kirjutabk = -7kuisat_id4294967289 (k + 2^32). Lugege see tagasi kuikkoosi32teisendusega.
[0.32.0] - 2026-10-05#
Lisatud#
- GNSS-i IQ-kiht CLI-s ja Pythonis (0.32.0 Phase A). Olemasolev moodul
iqon nüüd kasutatav ilma Rusti kirjutamata. Viis uut käskukshana iqliituvad andmetöötluse rühmaga:scenegenereerib pika mitme satelliidi IQ stseeni faili koos tõe kõrvalfailiga;acquirekäitab ühe või mitme PRN-i FFT hõivamist salvestusel ja teatab iga tuvastuse (PRN, Doppler, koodifaas, statistik, lävi);trackhõivab ja käitab seejärel DLL/PLL/FLL panka salvestusel ning väljastab epohhipõhise jälgimisväljundi (CSV/JSON) seadistatavate ahela ribalaiuste, integreerimisaja ja korrelaatori vahega;sweepmängib ühe salvestuse läbi mitme ahelakujundusega ja teatab tulemuseks oleva jitteri ja lukustuse mõõdikud kujunduse kaupa; ninglabfitsobitab jälgimisahela lukustuse kaotuse mudeli vastuvõtja usaldusajajoonega. Sama tuum on eksponeeritud Pythonile (kshana.iq_scene,iq_acquire,iq_track,iq_labfit,iq_signals), tagastades NumPy-sõbralikke loendeid ja sõnastikke. Ainult tarkvaraline ja lisandav: uusi sõltuvusi pole, ei edastata, segamise ega spuufimise lainekuju sünteesi pole; mootor, hõivamine, jälgimine ja ahelakujundused on teegi enda omad, nii et CLI või Pythoni kutsuja saab samad bitid mis Rusti testid. Uus mooduliq::cli; stseeni enda tõe kõrvalfail on sõltumatu etalon failistests/iq_cli.rs(hõivamine taastab iga süstitud koodifaasi ja Doppleri, jälgimine koondub süstitud Doppleri juurde). Ükski avaldatud stsenaariumi liikide arv ega kontrollimaatriksi rida ei muutu. - Ülejäänud GNSS-i IQ teegi võimekused CLI-s
iqja Pythonis (0.32.0 Phase A.2). Tugineb Phase A-le, tuues pinnale kihiiqülejäänud osa ilma Rusti kirjutamata:- Levikanal käsul
iq scene(ja Pythoniiq_scene): esimest järku ionosfäär (--iono-stec/--iono-vtecvõi--iono-klobuchar), Saastamoineni/Niell'i troposfäär (--tropo), Cornelli skintillatsioonimudel (--s4,--scint-tau0,--sigma-phi), peegeldav maapinna mitmeteelevi (--multipath-height/--multipath-ground), kolme oleku maismaa-mobiilne kanal (--land-mobile) ja nähtavuseta (NLOS) plokk (--nlos) kehtivad igale satelliidile uue crate'i-sisese silla (iq::channel::SceneChannelAdapter) kaudu, mis teisendab kanalimudelite absoluutsed teed stseeni geomeetriat ületava liigse kujule. - SigMF väljund käsul
iq scene(--format sigmf): kirjutab valimid paarina.sigmf-data/.sigmf-metakoos hõivamise ja satelliidipõhiste annotatsioonidega;acquire/trackloevad SigMF-i juba, nii et stseen käib edasi-tagasi. - Esiotsa DSP: uus käsk
iq frontend <in> <out>ja samad lipud käskudelacquire/track(--bandpass,--notch,--blank,--excise,--agc,--bits1/2/3/8/14) käitavad etapidiq::frontend(ribafilter FIR, adaptiivne sälk, impulsi blankeerimine, sageduspiirkonna väljalõikamine, AGC, kvantiseerija); peegeldatud Pythonis kuiiq_frontend. - Edastatud efemeriidiga stseenid:
iq scene --nav <rinex_nav> --rx-pos lat,lon,alt(koos--start/--window/--prn) paigutab iga terve GPS satelliidi selle tõelisele edastatud geomeetriale, kasutades mootori RINEX-lugejat, nii et tõe kõrvalfail kannab päris satelliidipõhist vahemaad, Dopplerit ja koodifaasi; peegeldatud Pythonis kuiiq_scene_broadcast. Ainult tarkvaraline ja lisandav: uusi sõltuvusi pole, ei edastata, segamise ega spuufimise lainekuju sünteesi pole (kanali leviefektid mõjuvad ainult seaduslikule signaalile). Iga arvuline väide on testitud sõltumatu etaloni vastu (suletud kuju või süstitud tõde) kanali/esiotsa ühiktestides ja failistests/iq_cli.rs.
- Levikanal käsul
[0.31.0] - 2026-10-04#
Lisatud#
- GNSS-i IQ-kiht: signaalitaseme simulatsioon ja tarkvaravastuvõtja töötlus. Uus moodul
iqviib Kshana ühe satelliidi lühiplokiga L1 C/A esiotsast täieliku signaalitaseme kihini, mis on kättesaadav käsurühmastkshana iq. See genereerib pikki, mitme satelliidi töötlemata IQ stseene epohhipõhise tõe kõrvalfailiga (iq::scene); rakendab levi signaalitasemel — ionosfäär koodi-kandja lahknemisega, troposfäär, amplituudi ja faasi skintillatsioon (Cornelli mudel), Fresneli mitmeteelevi ja kolme oleku maismaa-mobiilne kanal, koos nähtavuseta (iq::channel); hõivab ja jälgib FFT hõivamise ja mitme kanaliga DLL/PLL/FLL pangaga, mängides ühe salvestuse läbi paljude ahelakujundustega (iq::acq,iq::track); modelleerib esiotsa — FIR/IIR filtreerimine, 1–14-bitine kvantimine, AGC, sälk, impulsi blankeerimine ja sageduspiirkonna väljalõikamine (iq::frontend); voogedastab suuri salvestatud andmekogumeid piiratud mälus — int8/int16/float32/pakitud-2-bitised ja reaalse IF vormingud, mitme failiga SigMF, ümberdiskreetimine, andmekogumi inventar faili kohta SHA-256-ga ja partiikäitaja (iq::io); lisab hajutuskoodid GPS L5/L2C, Galileo E1 (CBOC, päris ICD mälukoodid) ja E5a, BeiDou B1C/B1I ning GLONASS L1OF jaoks, igaüht kontrollitakse selle liidesekirjelduse dokumendi vastu (iq::signals); ning sobitab jälgimisahela lukustuse kaotuse mudeli päris vastuvõtja täheldatud käitumisega labori käitustes, koos ühe käituse väljajätmise hold-out veaga ja ekstrapolatsiooniga, mis on märgitud ennustusena (iq::labfit). Iga arvuline väide on testitud sõltumatu etaloni vastu (ICD tabel, suletud kuju või sõltumatu vastuvõtja, mis taastab süstitud tõe); füüsikalised kanali- ja ahelamudelid jäävad MODELLED. See on ainult tarkvarakiht: see kirjutab IQ faile tarkvaravastuvõtjatele ega sünteesi häire- ega spuufimislainekujusid ega juhi raadioriistvara. Ükski avaldatud stsenaariumi liikide arv ega kontrollimaatriksi rida ei muutu. Disain:docs/design/GNSS-IQ-PLAN.md. - Vastuvõtja usaldus: hinda päris GNSS-i vastuvõtja logi.
kshana receiver-trust <scenario.toml>loeb u-blox UBX, RINEX 3 (valikulise edastatud navigatsioonifailiga), Android GnssLogger või NMEA 0183 logi üheks ajamärgistatud ajajooneks ja käitab selle kohal usaldusmonitore: kandja ja müra tiheduse (C/N0) langus, lukustuse kaotus, automaatne võimenduse juhtimine (AGC), u-blox segamisnäidik, asendihüpe ning RINEX-i ja navigatsiooni korral mootori enda üksikpunkti lahend pariteediga vastuvõtja autonoomse terviklikkuse monitooringuga (RAIM) ja kellaabistatud monitor. Iga epohh on nominaalne, halvenenud või mitteusaldatud ning tulemus ütleb, millal ja miks. Stsenaariumis märgitud sündmusi ja ennustatud C/N0 langusi hinnatakse samas failis märgitud tolerantside vastu: tuvastatud, hiline või vahele jäänud, ning nõus või mitte nõus. Väljundid on tulemus-JSON, epohhipõhine CSV ja diagramm; tulemus kannab logi SHA-256 ja iga lävi. Samuti kättesaadav Pythonist (kshana.receiver_trust), WebAssembly paketist (receiver_trust, logid sisemised) ja Model Context Protocoli (MCP) serveri uuest tööriistastassess_receiver_log. Juhend:docs/RECEIVER-TRUST.md; näide:examples/receiver-trust/. JammerTest 2024 spuufimislogidel taastoodab mootori tee eelregistreeritud sõltumatu etaloni torujuhtme esimese häire igal avaldatud algusel (tests/receiver_trust_jammertest.rs). Monitorid jäävad MODELLED; ükski kontrollimaatriksi rida ei muutu.
0.30.0 - 2026-10-03#
Väiksem väljalase. Valideerimise voorud 2 ja laine 1 paketid viivad kontrollimaatriksi 223 realt (93 VALIDATED) versioonis 0.29.3 249 reale (123 VALIDATED, 122 MODELLED, 4 PARTNER); iga edutamine kontrolliti sõltumatu etaloni vastu tolerantsiga, mis fikseeriti enne käitust, ja iga lahknevus avaldatakse tähelepanekuna. Uus: natiivne NAIF-i kerneli lugeja ja DE440 tee, üks valideeritud SGP4-st ITRS-i levi ja aja tee, mõõdetud kellateek, LunaNet AFS-i etalongeneraator, laiendatud täpsusega ja ruutjuur-informatsioonilahendajad ning päris Kuu IQ töötlus LuGRE andmetel. Nihkunud avaldatud arvud on loetletud allpool uuendustena.
Kakskümmend seitse kontrollimaatriksi rida muutuvad VALIDATED, kui sõltumatu etalon oli nõus tolerantsi piires, mis fikseeriti enne esimest võrdlust (edutamisreegel failis docs/VALIDATION.md): kümme esimeses valideerimisvoorus ja seitseteist teises. Viiskümmend üks MODELLED rida pandi esimeses voorus välise sõltumatu etaloni ette ja ülejäänud suunatavad read teises; iga lahknevus on allpool kirja pandud tähelepanekuna, mitte ära häälestatud. Kolm rida jagati nii, et valideeritud osa ei kanna valideerimata jääki, mis viib maatriksi 223 realt 226 reale; sellest ajast liidetud valideerimispaketid viivad selle 249 reale. Arvud loetakse genereeritud failist docs/VERIFICATION-MATRIX.md.
| 0.29.0 | pärast vooru 1 | Avaldamata | |
|---|---|---|---|
| Kontrollimaatriksi read | 223 | 223 | 249 |
| neist VALIDATED välise etaloni vastu | 83 | 93 | 123 |
| neist MODELLED | 136 | 126 | 122 |
| neist PARTNER | 4 | 4 | 4 |
Selles kirjes kasutatud lühendid
| Lühend | Tähendus |
|---|---|
| ADD, ARAIM, MAAST | Airborne Design Document (ARAIM-i oma); täiustatud vastuvõtja autonoomne terviklikkuse monitooring; Stanfordi ülikooli Matlab Algorithm Availability Simulation Tool |
| ADEV, VRW, ARW | Alani hälve; kiiruse juhuslik kõnd; nurga juhuslik kõnd |
| ANISE, SPICE, NAIF, PCK | avatud lähtekoodiga astrodünaamika tööriistakomplekt (Nyx Space); NASA Spacecraft, Planet, Instrument, C-matrix, Events tööriistakomplekt selle Navigation and Ancillary Information Facility'st; planeetide konstantide kernel |
| BCRS, TDB, TT | Barycentric Celestial Reference System; Barycentric Dynamical Time; Terrestrial Time |
| BIPM, UTC(k) | Rahvusvaheline Kaalude ja Mõõtude Büroo; labori realisatsioon koordineeritud maailmaajast |
| CCSDS, OEM, LTC, TCL | Consultative Committee for Space Data Systems; Orbit Ephemeris Message; Kuu ajasüsteemid, mis on kirjutatud sõnumi väljale TIME_SYSTEM |
| CRLB | Cramér–Rao alumine piir |
| CW | Clohessy–Wiltshire'i suhteline liikumine |
| DE440 | Jet Propulsion Laboratory Development Ephemeris 440 |
| DOP, PDOP | täpsuse halvenemise tegur; asendi täpsuse halvenemise tegur |
| EKF, UKF, INS, GNSS, IMU | laiendatud Kalmani filter; unscented Kalmani filter (UKF); inertsiaalnavigatsioonisüsteem; ülemaailmne satelliitnavigatsioonisüsteem; inertsiaalmõõteseade |
| EMT, VPL, HPL | efektiivne monitori lävi; vertikaalne ja horisontaalne kaitsetase |
| EOP, IERS, PCC, MAE | Maa orientatsiooniparameetrid; Rahvusvaheline Maa Pöörlemise ja Tugisüsteemide Teenistus; Prediction Comparison Campaign; keskmine absoluutviga |
| ERFA, SOFA | Essential Routines for Fundamental Astronomy; Standards of Fundamental Astronomy |
| GMAT | NASA General Mission Analysis Tool |
| NTN, SSB | mitteterrestriaalne võrk (3GPP); sünkroniseerimissignaali plokk |
| IGS, ILRS, ITRF2020 | Rahvusvaheline GNSS-i Teenistus; Rahvusvaheline Laserkaugusmõõtmise Teenistus; Rahvusvaheline Maa Tugisüsteem 2020 |
| ILS, LAMBDA | täisarvuline vähimruutude meetod; Least-squares AMBiguity Decorrelation Adjustment |
| ISB | süsteemidevaheline nihe |
| LEO | madal Maa orbiit |
| MHSS, PL, TPL | mitme hüpoteesi lahenduse eraldamine; kaitsetase; ajastuse kaitsetase |
| PSD, IQ, SigMF | võimsuse spektritihedus; faasis ja kvadratuuris valimid; Signal Metadata Format |
| QPN | kvantprojektsioonimüra |
| RAIM | vastuvõtja autonoomne terviklikkuse monitooring |
| SBAS, WAAS, DFMC, GEO | satelliidipõhine täiendussüsteem; USA Wide Area Augmentation System; kaksiksageduslik mitme konstellatsiooniga; geostatsionaarne SBAS-i satelliit |
| RMS, SISRE | ruutkeskmine; signaali ruumis vahemaa viga |
| RTKLIB | avatud lähtekoodiga GNSS-i positsioneerimisteek |
| TCXO | temperatuurikompenseeritud kristallostsillaator |
| VLBI | väga pika baasjoonega interferomeetria |
Kontrollitud#
Iga allolev rida nimetab oma sõltumatu etaloni liigi (Teek: sõltumatu kolmanda osapoole teek, mis arvutab üheselt määratud suuruse; Mõõdetud: päris mõõdetud andmed; P2: sõltumatu numbriteek, mis arvutab uuesti lineaaralgebra suuruse kinnitatud sisenditel), sõltumatu etaloni, tolerantsi, mis fikseeriti enne käitust, ja tulemuse. Iga edutamise käitas uuesti teine ülevaataja, kes lõi fikstuuri baitideni uuesti ja näitas, et tahtlik mootori mutatsioon muudab testi punaseks.
- GNSS/INS andurite liitmine (Teek), piiratud lõdvalt seotud 15-olekulisele veaoleku EKF-ile: NaveGo v1.4 (LGPL-3.0, käitatud GNU Octave'is) oma päris Ekinox IMU/GNSS sõidul. Kshana horisontaalne, vertikaalne ja asendi innovatsiooni RMS on 0,912, 0,940 ja 0,861 NaveGo omast (lävi 1,2) ja selle keskmine normaliseeritud innovatsioon on 0,395 (lävi 1,5). GNSS on kogu sõidu vältel olemas, nii et katkestust ei testita. Tihedalt seotud UKF ja seotud kellafilter jäävad väitest välja.
- 3-DOF asendi- ja suunamisvea eelarve (Teek), kitsendatud gravitatsioonigradiendi pöördemomendi tipule: Basilisk 2.9.1 GravityGradientEffector, 40 juhtu, 1e-12 suhtelise piires (halvim 2.1e-15). RSS suunamiseelarve on kutsuja antud arvude summa ja jääb sellest välja.
- Kuu ühine side- ja navigatsioonigeomeetria (Teek), kitsendatud koha paigutusele, asimuudile, tõusunurgale ja vahemaale: ANISE 0.10.2, 768 valimit, 1e-6 kraadi ja 1 mm piires (halvim 2.2e-12 kraadi ja 5.6e-9 m). Kaugusmõõtmise täpsuse parameeter on disainisisend, mis jääb väitest välja.
- Momendivaba jäiga keha asendidünaamika (Teek): Basilisk 2.9.1 kosmoseaparaadi hub, 1e4 s kahel üldisel inertsil, kvaternion ja kiirused 1e-9 piires (halvim 3.3e-11 ja 3.4e-12 rad/s).
- GNSS-i kandelaine faasi täisarvuliste mitmetähenduslikkuste lahendamine (LAMBDA) (Teek), kitsendatud ILS-lahendusele ja selle kahele parimale normile: RTKLIB v2.4.2-p13
lambda(), 300 kovariatsiooni, 0 täisarvulist mittevastavust, normid 1e-9 suhtelise piires (halvim 5.6e-13). Alglaadimise (bootstrapped) edumäär jääb kontrollituks ainult sisemiselt. - Komponeeritud ajastuse PL, skalaarne MHSS (P2): numpy 2.3.5 ja scipy 1.18.1 300 kinnitatud sisendil, PL 1e-9 suhtelise piires (halvim 1.2e-10), määrav alamhulk identne.
- GLS ühisrežiimi valgendamine ja Mahalanobise samasus (P2): numpy 2.3.5 LAPACK 201 kinnitatud kovariatsioonil, 1e-12 suhtelise piires (halvim 7.9e-16); tingimusarvud kuni 19,3.
- DE440 Kuu peatelgede orientatsiooni pakkuja (Teek): SPICE
pxformbinaarsel PCK-l 2 000 sõlmedevälisel epohhil, 1.7e-5 rad piires (halvim 1.7e-6 rad, umbes 3 m pinnal), pärast parandust, mis on loetletud jaotises „Parandatud“. - SigMF salvestuse sisend ja väljund ning Welchi spektrid (Teek), kitsendatud SigMF-i lugemisele ja kirjutamisele ning
welch_psd: scipy 1.18.1signal.welch1e-12 suhtelise piires lahtri kohta (halvim 6.0e-14); sigmf-python 1.13.0 salvestused dekodeeriti bitthaaval identselt; teegi metaandmed kehtivad SigMF v1.2.6 skeemi vastu. IQ süntees ja selle mudelivõrdlused jäävad sellest välja. - LEO edastatud efemeriidi sobitaja ja SISRE sobitusintervalli vastu (Mõõdetud), kitsendatud 16-parameetrilisele Kepleri sobitusele ja selle ainult orbiidi SISRE-le: TU Grazi ITSG täpsed orbiidid nelja satelliidi jaoks Liu et al. 2025 statistika vastu, komponendid 1.5x piires (0,804 kuni 1,087) ja SISRE 1.5x piires (0,716 kuni 0,809).
Tähelepanekud#
Sõltumatu etalon oli nende ridadega vastuolus, seega jäävad need MODELLED. Iga tähelepanek on kirjutatud ka rea sõltumatu etaloni teksti (ja seega faili docs/MODELLED-RATIONALE.md), koos testiga, mis seda kinnitab.
- Pardakella oleku hindamine: 11 GPS Block IIF satelliidi väljajäetud IGS kelladel on kolme oleku filter ühe sammu ees kooskõlas, kuid ühe tunni juures ülekindel 9-l 11-st (perioodilised ja flicker-liikmed ei ole mudelis).
- Spuufimise tuvastamine: JammerTest 2024 puhul ei andnud ükski vaadeldavuse taseme monitor häiret 10 s jooksul ühestki 8 avaldatud algusest ja kolm algusele eelnevat akent kandsid valehäireid.
- Ajastuse kaitsetase spuufimise all: mõõdetud tuvastamata ajaviga ületab TPL-i 3 8 tuvastatud algusest (1.9x kuni 5.3x); 60 s kella kalibreerimine ei kata vastuvõtja TCXO triivi.
- Stardiakna ja tõusu geomeetria: Orekit 12,2 vastu ühtib geomeetria ümardamiseni, kuid Maa pöörlemise koha kiirus ületab 1e-6 suhtelise kohal 62,9 kraadi laiust (1.12e-6, poolusliikumine, mille sfääriline mudel välja jätab). Voor 2: tõelise poolusega kiirus epohhiga ühtib, vaike-epohhita kiirus ületab endiselt (vt allpool).
- Ballistiline atmosfääri sisenemise koridor (Allen–Eggers): Stardusti sisenemise ennustatud tipukiirendus on 61,8 g rekonstrueeritud 32,89 g vastu (+88 %, tolerants 15 %).
- Ühine UT1 ja poolusliikumise viga: 178 IERS Bulletin A väljaandes trükitud täpsusvalemi vastu ühtib poolus 1.5x piires, kuid UT1 mitte (0,48 10 päeva juures, 1,59 40 päeva juures). Asendatud voorus 2: rida on nüüd VALIDATED (vt allpool).
- Võrguväline vaikimisi Maa orientatsiooni sisend: astropy kinnitab ridade loenduse, kuid 12 rida, mida teek nimetab Bulletin A ennustusteks, on märgitud mõõdetuks (I), mitte ennustatuks (P). Operatiivse ennustaja rea kokkulangevusarvud olid seetõttu mõõdetud ridade vastu. Asendatud voorus 2: mootor klassifitseerib read lipu järgi ja rida on VALIDATED.
- Operatiivstiilis Maa orientatsiooni ennustusviga: ennustaja UT1 viga on 2.4x kuni 12.6x Bulletin A omast 1 kuni 10 päeva juures ja 5,32 ms 10 päeva juures, väljaspool 2. EOP PCC vahemikku 0,36 kuni 3,13 ms.
- Kuu geodeetiline VLBI: ANISE valguse aegade vastu läbi DE440 ei jää ükski viivitus 1 ps piiresse; suurim lõhe on 24 µs, enamasti analüütiline Kuu keskpunkt (umbes 200 km DE440-st). Voor 2: kerneliitee on VALIDATED omaette real; see analüütiline tee jääb MODELLED.
- Kuu koostalitlusvõime eksport: Orekit 12,2 keeldub ajasüsteemidest LTC ja TCL, seega Kuu OEM-failide vahetust teise lugejaga ei ole tõestatud.
- Clohessy–Wiltshire'i suhteline liikumine: Orekiti mittelineaarse liikumise vastu 100 m juures on lõhe 1,2 kuni 6,3 mm, üle 1 mm; see skaleerub nagu väljajäetud teist järku liige, nii et eelregistreeritud tolerants asus lineariseerimisvea all. Asendatud voorus 2: teist järku parandus on VALIDATED sama läve vastu.
- INS/TRN vabaliikumise vea kasv: NaveGo vabainertsiaalse Monte Carlo vastu kehtivad kasvuseadused 5 % piires kuni 600 s ja ületavad seda sealt edasi (2.2x kuni 8x ühe tunni juures), kuna need jätavad välja Schuleri tagasiside. Asendatud voorus 2: Schuleri veamudel on VALIDATED.
- Kuu teenindusruumala päris konstellatsiooni geomeetriast: 4 12 avaldatud kättesaadavuse statistikast erinevad rohkem kui 2 protsendipunkti võrra (kuni 22,5).
- Heterogeense UTC(k) jälgitavuse nihke ülempiir: 105 024 BIPM-i real ületab 50,8 % ridadest ülempiiri; avaldatud määramatus piirab BIPM-i nihke mõõtmist, mitte nihet.
- Kuu datumi nullruumi klassifikatsioon: avaldatud viie reflektori geomeetria puhul on korrelatsioon -0.78 vastu -0.97 ja alguspunkti CRLB on 96 kuni 98 % artikli omast madalam.
- Kuu LLR datumi geomeetria substraat: 192 ILRS-i Kuu normaalpunkti vastu 2024. aastast oli ühesuunaline jääk RMS 96 m varasema orientatsiooni interpolatsiooniga ja on 22,7 m pärast allolevat parandust, endiselt üle 10 m läve (ümardatud jaamade koordinaadid, poolusliikumist pole). Orientatsiooniseeria piirab vaikselt väljaspool 2024-2025. Voor 2: mõõdetud kauguse mudel on VALIDATED omaette real (2,81 m); seeria katab nüüd 2014-2030 ja annab väljaspool seda vea.
- Relativistliku kellakiiruse seos tugisüsteemiga: omapotentsiaali liige on 3.18e-4 üle avaldatud väärtuse (tolerants 1e-4); artikkel hindab teistsugust potentsiaali, nii et selle suletud kuju avaldatud väärtust pole. Asendatud voorus 2: 2. astme ekvatoriaalne potentsiaal on VALIDATED sama artikli vastu.
- Iga Päikesesüsteemi keha füüsikalised konstandid: 12 84 lisatud kehade konstandist erinevad NAIF-i pck00011 ja gm_de440 omadest (vanemad Marsi kaaslaste elemendid; muud GM-lahendused Uraanile, Neptuunile ja Pluutole). Voor 2: konstandid järgivad nüüd NAIF-i (ümberkirjutus, ei loeta), ja arvutatud orientatsioon ühtib SPICE-iga; rida jääb MODELLED.
- Valitavad LEO efemeriidimudelid: 22-parameetriline sobitus jätab 20 min kaaredel 1.71x ja 1.86x avaldatud piki rada viga, üle 1.5x. Asendatud voorus 2: 22-parameetriline mudel ja sobitus on VALIDATED omaette real.
- Ühine GNSS-i ja LEO positsioneerimine: süsteemidevaheline nihe ühtib RTKLIB-iga, kuid 93,2 % epohhidest on 3 m piires ITRF2020-st 95 % vastu; RTKLIB ise saavutab andmetel 88,2 % (93,6 % pärast vooru 2 rühmaviivituse parandust).
- Ühisrežiimi terviklikkuse pimedus ja katvuse ning DOP-i kaardid: mõlemad võrdlused läbiti, kuid lükati ülevaatusel tagasi, sest tahtlikult vale mootor läbib need samuti (esimene kontrollib ainult sisemist samasust; teise avaldatud põhjad ei näe kahekordistunud PDOP-i). Voor 2: ühisrežiimi terviklikkuse pimedus on VALIDATED pariteeti kandvatel sisenditel; katvuse kaardid jäävad tähelepanekuks (vt allpool).
Valideerimise voor 2#
Teine voor võttis iga rea, mille esimene voor jättis suunatavaks, uute eelregistreerimistega, mis kinnitati enne mis tahes fikstuuri toomist või sõltumatu etaloni käitamist, vastuolulise teise ülevaatajaga, kes käitas iga võrdluse uuesti, ja tahtliku mootori mutatsiooniga, mis peab iga testi punaseks muutma. Omanik võttis 2026-10-02 vastu Omega-välise piiri rea parandatud sõnastuse enne selle edutamist (vana tekst oli koodiga vastuolus).
Edutatud VALIDATED (17). Sõltumatu etaloni liik sulgudes; tolerants fikseeritud enne käitust.
- Relativistliku kellakiiruse seos tugisüsteemiga (Etalon): Ashby ja Patla 2024 L_m 2.8e-6 piires (lävi 1e-4) artikli viidatud kahe välja 2. astme ekvatoriaalsest potentsiaalist; pyshtools 350. astme gravitatsioon radiaalse sissekande jaoks (8.3e-5); DE441 Kuu kiirus (2.5e-3).
- Võrguväline vaikimisi Maa orientatsiooni sisend (Teek): astropy 8.0.1 ja IERS Bulletin A nr 039 kinnitavad uuesti lõigatud väljavõtte 30 lõplikku, 54 kiiret ja 90 ennustatud rida.
- Ühine UT1 ja poolusliikumise viga (Teek): astropy ja pyerfa täispöörded reprodutseerivad ühise tabeli (UT1 ja poolus 6e-16 piires, kombinatsioon 1.9e-7 piires); IERS Annual Report 2019 realiseeritud vead annavad suhted 1,001 kuni 1,100.
- EO kasulikkoormuse jalajälg ja katvus (Teek): Orekit 12,2 ja GeographicLib 2,1 igal eelregistreeritud lävel, J2 sõlme regressiooniga nüüd sõlmede vahes.
- Clohessy–Wiltshire'i suhteline liikumine (Teek): suletud kujul teist järku parandusega 1.2e-7 m piires Orekiti mittelineaarsest liikumisest 1e-3 m vastu; ainult lineaarne maatriks jääb iseloomustatuks (1,2 kuni 6,3 mm).
- B-tasandi sihtimine ja kontaktkoonuse gravitatsiooniabi (Teek): GMAT R2026a B-tasand, asümptoodid, C3 ja heliotsentrilised elemendid; sbpy 0.6.0 ning Kasuga ja Jewitt 2019 Tisserandi parameetri jaoks.
- INS/TRN vabaliikumise vea kasv (Teek): üheksa oleku Schuleri veamudel 5 % piires parandatud NaveGo vabaliikumise käitustest kõigis 48 punktis (halvim 3,70 %).
- Ühisrežiimi terviklikkuse pimedus (P2): numpy
lstsq1464 pariteeti kandval sisendil 1e-12 piires (halvim 1.06e-14). - Kuu ühine mitmetehnikaline OD ja kell (P2): numpy arvutab uuesti iga Gaussi–Newtoni sammu, sigma ja jaama vea kuuel võrgul (2.4e-11 piires) pärast QR-lahenduse parandust.
- Kuu-VLBI jaama koordinaatide kovariatsioon (Teek): SPICE-iga ehitatud Jacobi maatriks reprodutseerib ajakava, spektri, sigmad ja nullruumi 1 % ja 0,1 kraadi piires; numpy 2e-13 täpsusega.
- Jääk väljaspool Omega tuvastamatu ühisrežiimi piir (P2, omaniku otsusega parandatud sõnastus): numpy LAPACK 256 juhul 1e-12 piires, kuus täpset lõpmatust.
- Baasinvariantne nullruumi klassifikatsioon (P2): SciPy ja NumPy alamruumide ühisosa 72 konstrueeritud maatriksil, täisarvud täpsed, projektori norm 6.0e-15 piires.
- LEO navigatsioonisõnumi ühesageduslikud ionosfääri ja UTC teenused (Teek): GNSSTk 15.3.1 Klobucharile, asimuudile ja UTC triivile; ERFA kolmele liigsekundi juhule.
- 5G mitteterrestriaalse võrgu positsioneerimispiir (P1): Bachl, Lei ja Nabeel 2026 ühe SSB piirid poole trükitud numbri piires; numpy lahendite kovariatsioonide jaoks.
- LLR mõõdetud kauguse mudel (Mõõdetud, uus rida, eraldatud LLR datumi substraadist): 192 ILRS-i Kuu normaalpunkti RMS-iga 2,81 m 10 m läve vastu, IERS 2010 barütsentrilise valguse ajaga; läve all olevaid komponente ei lahendata üksikult ja rida ütleb seda.
- Kuu geodeetiline VLBI, kerneliitee (Teek, uus rida, eraldatud Kuu VLBI reast): SPICE koondunud valguse ajad 1 ps piires ja osatuletised 1e-6 piires J2000 lähedastel epohhidel; analüütiline vaiketee jääb MODELLED.
- Liu et al. 2025 22-parameetriline LEO efemeriidimudel ja selle sobitus (Mõõdetud, uus rida, eraldatud valitavate mudelite reast): päris täpsed orbiidid 1.5x piires avaldatud statistikast artikli päevadel ja väljajäetud päevadel (0,683 kuni 1,186); n_dot skaala konventsioon on ümber kirjutatud ja seda selle võrdlusega ei valideerita ning peatumisreegel on Kshana parameetrite koondumise reegel, mitte artikli RMS-muutuse reegel. ATOMIC polünoom ja viie kõrguse tabel jäävad MODELLED.
Olemasolevad VALIDATED read uuesti toetatud (arvu muutus puudub).
- Planeetide asendid JPL Standishi elementidest ja valguse aeg Päikesesüsteemi kehade vahel: tagantjärele kahekordse nominaalväärtuse läved asendatakse eelregistreeritud võrdlustega JPL Horizons DE441-ga (RMS kõige rohkem Explanatory Supplement tabeli 8.10.1 arv, halvim 0,778, Maa lõhestus ja ICRF-i pööre kaasa arvatud; valguse ajad 1e-6 s piires Horizonsist DE441 asenditel, halvim 6.7e-9 s). Nende lipud „piir seatud pärast võrdlust“ eemaldatakse.
- Terviklikkus (RAIM/ARAIM/SBAS): rida ei toetu enam usutavuse kontrollidele. See ütleb nüüd: ADD v4.2 ARAIM-i mitme hüpoteesi lahenduse eraldamine ühtib Stanfordi MAAST-iga ARAIM 2 jaoks 270 päris juhul (halvim VPL erinevus 2.2e-3 m 0,05 m vastu); hetktõmmise RAIM-i tuvastamine ja välistamine ühtivad RTKLIB
raim_fde-ga 2016 2016 otsusest, kaldekaitsetasemega 2.7e-12 m piires; SBAS DO-229E L1 kaitsetasemed ühtivad Stanfordi MAAST-iga päris WAAS-i edastustel (2868 paari 1.6e-5 m piires). See ütleb selgelt, et ühtlase sigmaga funktsioonidraim::araim_raimjaraim::araim_dual_raimEI järgi ADD-i (sobitatud sisendite lüngad 0.75/4.04 m ja 0.39/1.93 m VPL/HPL, tähelepanek), et DFMC L5 SBAS-i võrdlus on tähelepanek (308 paari, millel pole GEO-t vaates, on Kshana poolt kaitstud ja MAAST-i poolt mitte) ja etraim::solution_separation_raimei ole välist võrdlust. Selle enda lipp eemaldatakse. - LEO edastatud efemeriidi sobitaja: integreeritud tõeline orbiit lisatakse valideeritud osale (Orekit 12,2 4,55 mm piires 6 h jooksul, lävi 2 cm); parandusepolünoomid, kella sobitus ja uuendusperioodi kompromiss jäävad modelleeritud.
Tähelepanekud ja blokeeritud read (jäävad MODELLED). Iga rea sõltumatu etaloni tekst kannab tähelepanekut ja selle kinnitatud testi.
- Navsignaali modulatsioon (Betz 2001, Hein 2006): spektrid ja korrelatsioonid ühtivad; 24 MHz külgsagarad ja iga mitmeteelevi nihe (11 kuni 15 % madal) mitte, põhjus lahendamata.
- TDOA/FDOA geolokatsioon: piirid ühtivad Ho ja Chani ning Ho ja Xu omadega ning autorite koodiga 3e-12 täpsusega; Monte Carlost trükitud Ottawa tegurid erinevad 1,3 % ja 4,4 % võrra.
- Maa GNSS Kuu kaugusel: GENESIS-i seniidi keskmised ühtivad Montenbruck et al. 2023 omadega 5 6-st; nadiiri keskmised on 1,0 kuni 2,4 satelliiti liiga kõrged.
- Katvuse ja DOP-i kaardid: Maa kujundused ühtivad Orekiti, gnss_lib_py ja numpyga igal lävel; Kuu ja Marsi kujundused ületavad 1e-9 ainult peaaegu singulaarsetes lahtrites.
- Ühine GNSS-i positsioneerimine: kaksiksageduslik 79,9 % ja täpsed tooted 94,2 % 3 m piires 95 % vastu (RTKLIB 67,9 % ja 94,1 %); täpsete toodete ISB lõhe on RTKLIB-i antennide nihete tähelepanuta jätmine.
- Jälgimisahelad (GNSS-SDR 0.0.19): ühtivad sagedusel 35 kuni 45 dB-Hz; sagedusel 30 dB-Hz PLL +21 %, DLL -32 %, läved +1,5 dB; libisemiste ajad 0,5 kuni 2 dekaadi lühemad.
- Kuu teenindusruumala (Orekit ja Hipparchus): 155 160 väärtusest ühtivad; halvima valimi nõue ebaõnnestub peaaegu singulaarsel LNCSS B geomeetrial.
- Kvantinertsiaalandur: ainult QPN põhi on 21 kuni 31 % Gauguet 2009 mõõdetud mürast madalam (lävi 30 %, möödas 0,5 punkti võrra).
- Ostsillaatorite eelseaded: mõõdetud üksused ületavad rubiidiumi holdover-i, tseesiumi lühiajalise ja CSAC halvima üksuse eelseaded; OCXO eelseadel pole mõõdetud kirjet.
- Kosmoseilma tihedus: Jacchia 1971 on teguri 2 piires kiirendusmõõturite tihedustest päikesemaksimumil, kuid umbes 1.7x liiga tihe 2008 miinimumis.
- Geomeetriavaba kaldtee TEC: 33 36 kaarest 3 TECU piires CODE kaardist (halvim 6,84).
- Spuufimise tuvastamine ja TPL ametliku JammerTest 2024 logi vastu: 4 10 algusest tuvastati õigel ajal; TPL ületatakse 4 10-st.
- Kellafilter värsketel IGS kelladel: kaks 11 satelliidist ei läbi innovatsioonisumma kriteeriumi.
- Vähimruutude pluss autoregressiivne EOP ennustaja: UT1 1,73 kuni 2.11x Bulletin A 2 kuni 10 päeva juures.
- UTC(k) realiseeritud nihke ülempiir: koondatud ületus 0,0333 vastu 1e-2.
- Kuu tugisüsteemi datum kampaaniast: SPICE haru ühtib; jaamade hinnatud P2 haru jääb 1e-9 möödas tingimus-2.1e8 probleemil.
- Kuu tugisüsteemi datum päris LLR-ist: 15 16 arvust ühtivad SPICE-iga; z-nihke sigma on 1,03 % kõrge 1 % vastu.
- Atmosfääri sisenemine (Allen-Eggers): punktmassi lahendus ühtib agentuuride rekonstruktsioonidega (ainult ristkontroll); kiirendusmõõturi võrdlus on blokeeritud loetavale Hayabusa2 allikale.
- ITU-T maskid: trükitud töötatud väärtused ühtivad; G.8273.2 klassi piiridel neid pole (blokeeritud).
- Stardiakna geomeetria: tõelise poolusega koha kiirus epohhiga ühtib Orekitiga (4.9e-8); vaike-epohhita kiirus ületab endiselt (1.12e-6). Ei edutatud; järeltöö ootel.
- Iga keha füüsikalised konstandid: nüüd erineb NAIF-ist 0 84-st (ümberkirjutus) ja arvutatud orientatsioon ühtib SPICE-iga 1.4e-10 rad täpsusega. Ei edutatud; järeltöö ootel.
- Blokeeritud omaniku ulatuseotsusel, igaühel koos ühtiva kinnitatud võrdlusega: Kuu absoluutse jaama jälgitavus, pinnamajaka DOP, telje kõrvalekaldega eksport, ristmodaalsuse tuvastusvõimsus, ühisrežiimi kooskõla statistik ja polaarne LEO katvus.
- Blokeeritud andmetel: aja edastamise vea eelarvestamine (vajab päris andmete redutseerimist), JammerTest C/N0 (antenni asendi ja võimsuse jaotus dokumenteerimata).
Uuendused (avaldatud arvud, mis nihkusid, vana -> uus).
snapshot_raimkaitsetasemed on nüüd geodeetilisel kohalikul tasandil radiaalse asemel: kuni 0,31 m HPL ja 0,14 m VPL jaamas ABMF (16 kraadi N); ükski golden ei nihkunud, kuid õpetusegnss-simsalvestatud kokkuvõte nihkub keskmiselt HPL 22,1 m / VPL 40,0 m väärtustelt väärtustele 22,2 m / 39,9 m (docs/tutorials/scenarios/gnss-sim.toml).- Kuu kiirustugisüsteemi sidumise vaikeväärtused: d_alpha/d_scale 3.139807e-11 -> 3.138801e-11; d_alpha/d_radial 1.807187e-17 -> 1.806185e-17 meetri kohta.
- Võrguväline vaike-EOP käitus (
realtime-frame-eop, lahtrid loetletud failisdocs/revisions/M035-default-eop-recut-cell-changes.md): predicted_rows 12 -> 90; poolusepõhi 0,06776 -> 0,05550 mas; eop_term_m 14,01601 -> 14,01583; total_m 20,09759 -> 20,09746; total_time_ns 67,03834 -> 67,03790; failitests/golden/realtime-frame-eop.csvtabeli 2 read; operatiivse ennustaja kokkulangevus 0.256/0.695/1.252/3.885 ms -> 0.133/0.421/0.839/2.786 ms. docs/LEO-NAVMSG.mdliu22 SISRE orbiit/kellaga: 60 s 0.011/0.046 -> 0.014/0.046 cm; 300 s 0.068/0.139 -> 0.074/0.142 cm; 600 s 0.269/0.299 -> 0.258/0.290 cm.- Liu kõrgustabel, Kshana (suhe): GRACE-A 5,40 (0,61) -> 4,25 (0,48); GRACE-C 4,12 (0,66) -> 2,87 (0,46); Sentinel-2A 2,95 (1,03) -> 2,20 (0,77); HY-2A 2,38 (1,13) -> 1,25 (0,59); Sentinel-6A 0,70 (0,94) -> 0,51 (0,67).
- LEO navigatsioonisõnumi
nDotskaala 2^-60 -> 2^-58 (ei eelregistreeritud, avalikustatud; väljaspool sobitusvõrdlust); liu22 näidiskaadri CRC 0x62373A -> 0xDED99C. docs/LEO-NAVMSG.mdkontrollitabel: Liu ja ATOMIC rida jagati VALIDATED 22-parameetriliseks reaks ja MODELLED ATOMIC ning viie kõrguse reaks.- DE440 Kuu peatelgede orientatsiooni rea tekst: ulatus 2024-2025 / 731 rida -> 2014-2030 / 6 209 rida; „piirab vaikselt“ -> vead väljaspool selle ulatust.
- Stsenaarium
eo-coverage: equatorial_ground_track_spacing_km 2756,37 -> 2752,17 km; uued väljad inclination_deg (98,19) ja nodal_period_min (98,893). constellation-multi-gnss-coverage(TDOP/GDOP etalonkell on nüüd vaates oleva madalaima numbriga konstellatsioon): globaalne GDOP max 2,2236 -> 2,1205, keskmine 1,122 -> 1,131, mediaan 1,115 -> 1,125, p90 1,255 -> 1,265, p95 1,305 -> 1,315, p99 1,41 -> 1,42 ja lahtripõhine GDOP kaart; mean_visible_by_constellation summeeritud täisarvudena (umbes 1e-12 suhtelist, nähtamatu 4 kümnendkohal).- Ühine GNSS-i ühesageduslik lahend pärast edastatud rühmaviivituse parandust: 93,2 % -> 93,6 % 3 m piires; ISB mediaan -0.351 -> -0.114 ns.
tracking-loopjitter_table log10_mean_time_to_cycle_slip_s (Costase ahela SNR rho/4): läve 25,47 dB-Hz juures 11,58 -> 2,10; 25 dB-Hz juures 9,55 -> 1,60; 22 dB-Hz juures 2,24 -> -0.14.ins-trn-coast: iga väljund nihkub Schuleri veamudeliga; tarnitud stsenaariumi TRN tipp 52,932679 -> 44,711834 m (tests/conflict_resilience_architecture_guard.rs).lunar-vlbiaruanne: uus võti geometry_path („analytic“ vaikekäitusel, ükski arvväärtus ei muutunud); uued valikulised väljad planetary_kernel_path, earth_orientation_kernel_path ja moon_orientation_kernel_path, koos epoch_partials kerneliteel; liigi kirjeldus on ümber kirjutatud. Kontrollirea kerneliitee sõltumatu etalon on SPICE (0,06 ps); ANISE (0,12 ps) muutub kerneli hindamise ristkontrolliks.- Keha konstandid: Phobos GM 7.087e5 -> 7.087546066894452e5; Deimos 9.62e4 -> 9.615569648120313e4; Uraan 5.7939506103e15 -> 5.793951256527211e15; Neptuun 6.83509997e15 -> 6.835103145462294e15; Pluuto 8.69326e11 -> 8.696138177608748e11 (m^3/s^2); Phobose ekvatoriaalraadius 13,1 -> 13,0 km; Phobose ja Deimose pooluse ja nullmeridiaan failist pck00011; Päikesesüsteemi prime_meridian_deg sisaldab nüüd ruut- ja perioodilisi liikmeid.
europa-surface-pnt(body-pntEuropal), täielikust pck00011 Europa orientatsioonist (7cfd66b4; orientatsioon ühtib SPICE pxform-iga 1.4e-10 rad täpsusega), mis nihutab maanduri inertsiaalruumis: kättesaadavus ainult releed / Maa kaugusega 0,485 / 0,725 -> 0,480 / 0,719 (83 -> 82 171 epohhist ainult releed), mediaan PDOP 5,266 -> 5,360, RMS lahendi viga 129,516 / 100,983 m -> 112,742 / 86,147 m, mediaan formaalne sigma 5,266 / 4,272 m -> 5,360 / 4,239 m. Tabel failisdocs/SOLAR-SYSTEM.mdja kinnitus failismcp/kshana-mcp/tests/round_trip.rsjärgivad;mars-orbit-pnton muutumatu.space-weather(f107 180, f107a 165, kp 4), kalibreeritud tegur asendatud Jacchia 1971 omaga: activity_density_kg_m3 kõrgustel 300/400/500/600/800 km 2.602e-11 -> 3.608e-11, 4.176e-12 -> 6.929e-12, 8.136e-13 -> 1.618e-12, 1.769e-13 -> 4.189e-13, 1.544e-14 -> 3.781e-14; activity_factor 1.076/1.121/1.168/1.216/1.320 -> 1.492/1.860/2.322/2.881/3.232; reference_exospheric_temperature_k eemaldatud, mean_exospheric_temperature_k lisatud (1186,7 K);tests/space_weather_reference.rs: 800 km päikesetsükli kõikumine on nüüd 10.4x (NRLMSISE-00 13.6x) ja kõrguse väide järgib NRLMSISE-i tõusu kuni 500 km ja langust 800 km juures.ntn-5g-positioningtoa_median_sigma_3d_m: NR 5 MHz 2,0903959 -> 2,0903962 m; NB 200 kHz 25,938613 -> 25,938839 m (kokkuvõtte tekst muutumatu 2,09 / 25,94 m).lunar-joint-od-clock(QR-lahendus): with_vlbi.station_pos_err_m 3,541344 -> 3,541350 m; without_vlbi.station_pos_err_m 2183,119 -> 2183,558 m.docs/field-units-schema.jsonväljastati uuesti ülaltoodud uute ja eemaldatud väljade jaoks.
Valideerimispaketid#
D12, laiendatud täpsus ja ruutjuurlahendaja (kaks uut VALIDATED rida: 226 -> 228 rida, 110 -> 112 valideeritud).
Osa 1, laiendatud täpsusega sõltumatu etalon:
- Kuu tugisüsteemi datum hinnatud jaamadega: 50-kohaline mpmath laiendatud täpsusega sõltumatu etalon (eelregistreeritud 804662d5, tingimusega skaleeritud läved a priori tagurpidi veavalemist) ühtib uuel kampaaniakuupäeval (2026-03-18) ja algsel 2024-01-01 stsenaariumil; uus VALIDATED rida kategooria P2 all. See lahendab varasema kahekordse täpsuse vaidluse: mootori datumi sigmad on kuni 9.7e-6 võrra eemal, NumPy pöördmaatriksi ja omaväärtuse teed kuni 6.2e-6 võrra ning selle Choleski ja QR teed umbes 1e-8 võrra. Mootor on oma veapiiri sees, kuid umbes tuhat korda vähem täpne kui faktoriseerimistee.
- Sõltumatu etaloni keskkond: mpmath 1.3.0 lisatud.
- Uuendused: puuduvad. Ükski golden-fail ega avaldatud joonis ei muutu; rida „Kuu tugisüsteemi datum vaatluskampaaniast“ jääb MODELLED (asutaja otsus 2026-10-02, variant A: see ei laena eraldi rea olekut); selle testide tekst viitab uuele testile ja selle tähelepanekule.
Osa 2, ruutjuur-informatsiooni datumi lahendaja:
- Uus valikuline ruutjuur-informatsiooni lahendaja (
linalg_sr;solver = "srif"stsenaariumis lunar-frame-campaign): Householderi QR, marginaliseerimine kolmnurkse teguri kaudu, Jacobi SVD spektri jaoks ja kompenseeritud korrutised ainult korrektselt ümardatud tehetest. 50-kohalise sõltumatu etaloni vastu (eelregistreeritud b41908c9) ühtivad selle datumi sigmad 3e-13 täpsusega uuel kuupäeval (2026-06-09); 2026-03-18 ja 2024-01-01 sisenditel on vaikelahendaja kuni 1e-5 võrra eemal. Uus VALIDATED rida kategooria P2 all. Vaikelahendaja ja selle väljund on muutumatud. Eelregistreeritud läved tõendavad vigu ainult üle umbes 2e-7 suhtelise: need lükkavad vaikelahendaja tagasi, kuid mitte ümberpööratud Householderi märki, kompenseerimata skalaarkorrutist ega spektraalset lõppinversiooni, ja rida ütleb seda. - Valikulised ruutjuurteed muutumatute vaikeväärtuste kõrval:
fim::crlb_srif,batch_ls::gauss_newton_srif,orbit_determination::determine_orbit_batch_srif,lunar_combination::formal_covariance_srif,precise_od::fit_srifjacislunar_srif::srif_cross_validation_sqrt, uutellinalg_sr::weighted_lstsqjacovariance_from_sqrt_information. Igaüks ühtib oma vaikeväärtusega seal, kus mõlemad on täpsed (sisemine kontroll, rida pole; nende kohta ei väideta valideerimist).precise_od::fitdelegeerib nüüd jagatud rutiinile; selle väljund ja iga stsenaariumi vaikeväljund on muutumatud. - Kuu tugisüsteemi kampaania astaku otsused: eelregistreeritud laiendatud täpsusega kontroll 40 päeva üle kinnitab iga otsustatava jaamaploki ja täisastakuga Helmerti otsuse. A priori piir ei suuda kinnitada 20 astakuvaest Helmerti päeva; täpses aritmeetikas on nende defekt geomeetriline, läve 1e-9 asudes kampaania omaväärtuste suhete loomulikus vahemikus. Rida pole.
- Laiendatud täpsusega kampaania rea väide on kitsendatud kujule „halvima juhu piires“ ja selle jaamad-fikseeritud nõrgima suuna kontroll mõõdab nüüd päris nurka (6.6e-16 rad; võrdlusoperaator muutus acos-ist kõõluks, lävi mitte).
- Uuendused: puuduvad. Ükski golden-fail ega avaldatud joonis ei muutu; rida „Kuu tugisüsteemi datum vaatluskampaaniast“ on muutumatu ja jääb MODELLED (asutaja otsus 2026-10-02, variant A).
D4, JPL kerneli efemeriidi selgroog, faas 1 (neli uut VALIDATED rida: 228 -> 232 rida, 112 -> 116 valideeritud).
- NAIF-i kerneli lugejal on oma rida.
naif_kernel(DAF-konteiner, SPK tüüp 2, binaarne PCK tüüp 2) ühtib SPICE Toolkitiga (CSPICE N0067 läbi spiceypy 8.2.0) ja ANISE-iga 0.10.6 kõigil 600 DE440 olekul ja 200 Kuu orientatsiooni pöördel juhuslikul ruudustikul, mis on tõmmatud eelregistreerimise commiti enda räsist (abcd9133), läviväärtuste sees, mis on eelnevalt tuletatud kahekordse täpsusega Tšebõšovi hindamisest (halvim 0,6 % lävest, 1.95e-3 m). Rida väidab, et mootor loeb JPL-i kerneleid õigesti, mitte seda, et DE440 või analüütiline seeria on täpne (tests/naif_reader_spice_oracle.rs). ephem_provider::KernelEphemeris: DE440 (või mis tahes tüübi 2 SPK) asendid läbi mootori enda lugeja, kahest osast koosnevate TDB epohhidega ja kerneli SHA-256 aruannete jaoks säilitatuna; see ei asenda kunagi planeeti süsteemi barütsentriga.LunisolarSourcelaseb geomeetriateel valida analüütilise seeria (vaikimisi) või kerneli.- Valikuline kerneli Kuu liikidele
lunar-llr-datumjalunar-vlbi-fim: võtiplanetary_kernel_pathloeb geotsentrilise Kuu keskpunkti kernelist; midagi muud ei muutu ja aruanne saab plokimoon_ephemeris, mis nimetab kerneli ja selle SHA-256. Ilma võtmeta on mõlemad aruanded baitideni identsed varasemaga. - Kuu pinnapunkti kovariatsioon kerneliteel (uus VALIDATED rida): kui iga jaam on fikseeritud ja majakas DE440 Kuul, ühtib majaka kovariatsioon SPICE valguse aja Jacobi maatriksiga (halvim 1.7e-3 1 % läve vastu) ja NumPy pöördmaatriksiga (4e-14 1e-9 vastu), eelregistreeritud 4a51256 (
tests/lunar_vlbi_surface_point_spice_oracle.rs). Analüütilise tee rida jääb MODELLED: analüütilisel Kuul on selle väikseim majaka sigma 3,9 % sõltumatu etaloni omast madalam. - Kuu tugisüsteemi datum päris kampaaniast, kerneli Kuu keskpunkt (uus VALIDATED rida): 447 nägemata 2019-Q2 normaalpunktil, eelregistreeritud 830d945a enne ühegi toomist, ühtib datumi kovariatsioon kerneliteel muutumatu SPICE ja NumPy sõltumatu etaloniga 7.6e-5 piires 1 % ja 2 % läve vastu (
tests/validate_llr_datum_kernel_moon_fresh.rs). Asutaja otsustas, et see rida edutatakse ainult värskete punktide põhjal; nähtud andmete diagnostika (c51f8b2) on tähelepanek, mitte tõend. Lävi ei eralda Kuu mudeleid: ka analüütiline Kuu läbib sama lõigu (halvim 3.8e-3), kavandatud mutatsiooni (kerneli Kuu tund hiljem) ei tuvastatud ja voltimisel läbis ka umbes 4 650 km vale Kuu keskpunkt (Kuu võetud ümber Maa-Kuu barütsentri). Rida väidab kovariatsiooni sellel teel, mitte Kuu keskpunkti, ja ütleb seda. - Päikese, Kuu, Merkuuri ja Veenuse asendid DE440-st UTC epohhidel (uus VALIDATED rida):
KernelEphemeris::relative_position_utcühtib Skyfield 1,54 omaga 600 asendil aastate 1973 ja 2026 vahel, halvim 2,96 m, eelregistreeritud läve (0bfafe6d) piires, mille seab kahe liikmega TDB − TT seeria (tests/kernel_ephemeris_skyfield_oracle.rs). Planeetide asendid saavad selle uue kerneli rea nüüd; Standishi rida ja planeetide kaaslaste rida on muutumatud ning kaaslased ootavad stsenaariumi, mis neid vajab (asutaja otsus). - Tähelepanekud: LLR datumi võrdluse ainus möödalask (z-nihke sigma 1,025 % 1 % vastu) langeb väärtusele 0,049 %, kui ainult Kuu keskpunkt loetakse DE440-st, nähtud andmetel (
tests/validate_llr_datum_kernel_moon.rs); värskel 2019 lõigul läbib ka analüütiline Kuu, nii et 2015 möödalask oli selle kvartali geomeetria suhtes marginaalne. Analüütilised read „Lunar frame datum from a REAL observing campaign“ ja „Lunar-surface-point coordinate covariance … kept distinct from the Earth-station one“ jäävad MODELLED; nende sõltumatu etaloni tekstid osutavad nüüd kerneliitee ridadele. lunar_ephemerisei ütle enam, et mootoril pole binaarkerneli lugejat; see osutab lugeja reale ja selgitab, miks kosmoseaparaadi kernelid (tüübid 13 ja 21) tulevad endiselt Horizonsi kaudu.- Uuendused: puuduvad. Ükski golden-fail, avaldatud joonis ega olemasolev testiväärtus ei muutu; analüütilised aruanded
lunar-llr-datum,lunar-vlbi-fimja kõigi jaamade fikseeritudlunar-vlbi-fimon baitideni identsed varasemaga (tulemuse SHA-256 prefiksid 9927aac2, cf1d2671, 25c357e4).
D9, mõõdetud kellateek „Clock Atlas“ (kolm uut rida, üks VALIDATED: 232 -> 235 rida, 116 -> 117 valideeritud).
- Mõõdetud kellateek (
clock_library). Seadmekaardid (valge faas, valge, flicker ja juhusliku kõnni sageduse modulatsioon, lineaarne sageduse triiv ja valikuliselt ühe- kuni neljakordsed pöördekohased faasiliikmed), sobitatud nimetatud mõõdetud kella kirjele ja hinnatud väljajäetud andmetel; lünki arvestavad Alani ja Hadamardi dispersioonid; konditsioneerimisdetektor, mis logib iga lünga, faasi kõrvalekalde, faasihüppe, purske ja sagedushüppe ning ei tea midagi faili- ega päevapiiridest; kaardi teisendus ajapilu müramudeliks, laiendatud Kalmani kellamudeliks ja spuufimismonitori müratasemeteks. Lugejad RINEX- ja IGS-i kellafailidele, BIPM-i laborikaupa failidele ja Circular T jaotisele 1 (realdata::clk); koondatud hierarhiline vananemise ülempiir UTC(k) jaoks (utck_bound, veel hindamata). - Viivituse 1 autokorrelatsiooni müra tuvastamine (
allan::lag1_noise_id, Riley ja Greenhall 2004), uus VALIDATED rida (Teek): ühtib allantools 2024,6autocorr_noise_idomaga 140 juhul, täisarvud identsed, halvim erinevus 9.6e-13 1e-9 läve vastu (eelregistreeritud 2ec76864;tests/clock_library_lag1_noise_id_allantools.rs). - Mõõdetud seadmekaardid väljajäetud andmete ennustusega, uus MODELLED rida (tähelepanek): sobitus ühele kolmandikule, ennustatakse ülejäänud kahe kolmandiku Alani hälve teguri 1,5 piires (eelregistreeritud 2ec76864). GPS Block IIF värskel IGS aknal (2026-03-01 kuni 14): 10 11-st; G27 on kahetunnisel skaalal optimistlik (halvim tegur 1,510). Tseesium (piires, 1,070), OCXO (väljaspool, 2,348) ja strontsium (piires) on teatatud, mitte pimedad. JammerTesti vastuvõtja kaart ning Galileo maseri ja Deep Space Atomic Clocki kaardid on blokeeritud. ZED-F9P vastuvõtja TCXO mudeliklass 12 staatilisel Wroclawi jaamal (Zenodo 6488497) ebaõnnestub: 1 11 pimedast jaamast avalikustatud parandatud kordusel (
tests/clock_library_device_cards_oracle.rs,tests/clock_library_f9p_cards_oracle.rs). - GPS Block IIF kaardid pöördekohaste liikmetega, uus MODELLED rida (tähelepanek): teisel värskel aknal (2026-04-01 kuni 14) 9 11-st läve piires; G03 (1,947) ja G25 (1,581) on optimistlikud, kuna nende väljajäetud kirjed on müras kui nende sobitusosad; perioodiliste liikmete väljajätmine ebaõnnestub kõigil 11 (eelregistreeritud fb475550;
tests/clock_library_periodic_cards_oracle.rs). - M002, pardakella oleku hindamine, voor 3 (tähelepanek, jääb MODELLED): pärast külmutatud konditsioneerimisdetektorit täidab vooru 2 laiendatud filter, häälestus ja kriteeriumid muutumatuna kriteeriumid (a) ja (c) esimest korda kõigil 11 satelliidil; (b) ebaõnnestub G09 (0,894) ja G26 (0,876) puhul (eelregistreeritud fb475550;
tests/clock_state_ext_igs_conditioned_oracle.rs). - M010, spuufimise tuvastamine, voorud 3 kuni 4b (jääb MODELLED): voor 3 blokeeritud (167 treeningepohhi JammerTesti seadme teistest sessioonidest 3600 vastu); ZED-F9P mudeliklassi kaardiga (voorud 4 ja 4b) tõstab kellamonitor nullist valehäiret enne algust kõigil 10 logitud algustel (voor 2: 86) ja 6 10 algusest tuvastatakse 10 s jooksul (voor 2: 4); samad neli jäävad hiljaks (
tests/clock_library_tcxo_card_jammertest_oracle.rs). - M083, UTC(k) ülempiir, voor 3: eelregistreeritud prospektiivselt (fb475550) Circular T väljaannetel alates 465, veel käitamata (
tests/utck_bound_prospective_oracle.rs). - Sõltumatu etaloni keskkond: Wroclawi ZED-F9P kirje on andmevärava taga kataloogis
$KSHANA_ORACLES/data/wroclaw_f9p(CC BY 4,0, umbes 1,5 GB); IGS kellafikstuurid on kaasatud (IGS tooted, viitega). - Uuendused: puuduvad. Ükski golden-fail, avaldatud joonis ega olemasolev testiväärtus ei muutu; M001 (holdover-i uuesti ankurdamine) ei rakendu, kuna ühtki kellaklassi ei edutatud.
D8, üks valideeritud levi-, tugisüsteemi- ja ajatee (kolm uut VALIDATED rida ja M131 edutatud: 235 -> 238 rida, valideeritud 117 -> 121).
Maa orbiidi liigid, mis kandsid oma kahe keha, sekulaarse J2 või ainult sideeraajaga mudeleid, jagavad nüüd ühte teed: SGP4/SDP4 elemendikomplektid kahest osast koosnevate Juliuse kuupäevadega, viidud GCRS-i ja ITRS-i (International Terrestrial Reference System) IAU (Rahvusvaheline Astronoomia Liit) 2006/2000A ahela kaudu, valikuliste Maa orientatsiooniparameetritega.
- Uued
sgp4::MeanElementSet,sgp4::SgpOrbit,sgp4::Eop,sgp4::teme_to_itrs_matrix[_eop]jasgp4::gcrs_to_itrs_matrix[_eop];Sgp4::new_atjaSgp4::propagate_atvõtavad kahest osast koosnevaid epohhe. Uuedjd2::Jd2::from_utc_calendar(SOFAdtf2dkonventsioon liigsekundi päevade jaoks),jd2::utc_to_tai,tai_to_utc,utc_to_ut1(läbi TAI, nagu SOFAutcut1),tai_to_ttja kahe osagajd2::earth_rotation_angle. - Liigi
leo-pvtpolaarrežiim levib SGP4-ga ajahetkel 2026-01-01T00:00:00 UTC IAU ahelal (leo_fusion::polar::latitude_sweep_atvõtab mis tahes epohhi); SGP4 Walkeri generaator pöörab Maaga seotud tugisüsteemi IAU ahela kaudu. - Liik
passeskäitab uut näiva läbimise ennustajat (passes::predict_passes_apparent,apparent_look_angles): SGP4 IAU ahelal, ITU-R P.834-9 murdumine ja allalingi valguse aeg (uued lülitidrefractionjalight_time, vaikimisi sees), Maa orientatsiooniparameetrid (ut1_minus_utc_s,xp_arcsec,yp_arcsec, vaikimisi 0), ületused lahendatud 1e-7 s täpsusega ja kulminatsioon kuldlõike otsinguga. Geomeetrilinepasses::predict_passeson muutumatu. tests/no_private_models.rshoiab paketi geomeetria-, aja- ja levituumad vabana privaatsest Kepleri levist, sekulaarsetest J2 kiirustest või ainult sideeraajaga pöördest; nimetatud kiired tasemed ja füüsika, mis on rea teema, on põhjendatud erandid.- Uus VALIDATED rida „Two-part Julian dates and leap seconds on the Earth-orbit time path“: pyerfa 2.0.1.5
dtf2d/utctai/taiutc224 ajahetkel ümber kõigi 27 liigsekundi 1e-6 s piires (eelregistreeritud e947e69d); halvim 1.9e-11 s. - Uus VALIDATED rida „One Earth-orbit path“: 232 elemendikomplekti TEME asendid python-sgp4 2,24 (Vallado etalon SGP4) vastu 6.1e-8 m piires (lävi 1 cm) ning GCRS -> ITRS ja TEME -> ITRS pöörded ERFA
c2t06a,pnm06ajaee06avastu 2.9e-6 mas ja 0,41 mas piires (läved 0,1 ja 2 mas), Maa orientatsiooniparameetritega (eelregistreeritud 72ea9eb0). Avalikustatud: esimene käitus ebaõnnestus ajahetkel 2016-12-31T23:59:59,5 ühe pöördesekundi võrra; UT1 võeti UTC kvaasi-Juliuse kuupäevast liigsekundi päeval, mootor läheb nüüd läbi TAI ja teine käitus ühtib muutumatute lävedega. - M131 „LEO coverage and dilution of precision for polar and Arctic users against MEO GNSS“ muutub VALIDATED: Orekit 13.1.8 võtab mootori GCRS olekud, pöörab need ja arvutab nähtavuse ning DOP-i (NumPy mitme kellaga rühmade jaoks); asendid 6.8e-5 m piires (lävi 0,2 m), vaates olevate arv identne 4040/4040 valimil, mediaan DOP 2.3e-11 suhtelise piires.
- Uus VALIDATED rida „Apparent ground-station pass prediction with refraction and light time“: Orekit 13.1.8 levitab samu elemendikomplekte TEME-s, mille see ehitab öeldud definitsiooni järgi, ITU-R P.834 murdumise ja selle valguse aja mõõtemudeliga, 60 juhu üle merepinna jaamades: 1210 läbimist, ületused 3.4e-6 s piires (lävi 5 ms), maksimaalne tõusunurk 5.5e-7 kraadi piires, näiv suund 8.8e-7 kraadi piires (lävi 1e-4 kraadi).
- Tähelepanekud, hoitud kinnitatuna: esimesed täisväite võrdlused Orekitiga otsast lõpuni jätsid oma asendi- ja suunalävedest mööda, mitte mootori tõttu, vaid seetõttu, et Orekit 13.1.8 SDP4 erineb etalon-SGP4-st ringikujuliste (e = 0) sügavkosmose orbiitide puhul (kuni 67 m) ja selle vaike-TEME on ehitatud IERS 1996 (IAU 1980) nutatsioonile, umbes 72 millikaaresekundit IAU 2006/2000A ahelast (2,7 m LEO-l). Orekiti ITU-R P.834 koefitsient h*theta0^2 on 0,011380, kus soovitus trükib 0,01380; võrdlus on merepinnal, kus liige kaob, ja erinevus selle kohal on kinnitatud.
- „Ground-station pass prediction (ground segment)“ jääb VALIDATED, selle väide kitsendatud geomeetrilisele
passes::predict_passes; liikpasseskuulub uuele reale. - Sõltumatu etaloni keskkond: Orekit 13.1.8 koos Hipparchusega 4.0.3, pyerfa 2.0.1.5, python-sgp4 2,24 (
xval/d8-orekit13/setup.sh). - Uuendused: kaasapakitud
scenarios/passes.tomlkogupääs 1675 s -> 1659 s (viis läbimist nagu varem; parim maksimaalne tõusunurk 73,25 kraadi -> 70,08 kraadi) ja igapassesväljund nihkub uue teega (trükitud rida failisdocs/examples/multi-tool-pipeline.mdja kirjepassesfailisdocs/CAPABILITY.mdütlevad seda nüüd); kaasapakitudpolar-arctic-leo-coverageGNSS VDOP ekvaatoril 1,19669 -> 1,19710, 89,9 kraadi juures 1,50645 -> 1,50590, liidetud VDOP 89,9 kraadi juures 1,14388 -> 1,14250 (avaldatud kahe kümnendkohaga arvud 1,20, 1,51 ja 1,14 on muutumatud). Ükski golden-fail ei muutu. - Veel suunamata:
leo_pass, doppleri-, ühis- ja ajastusrežiimidleo-pvtningleo_navmsgtõeline orbiit (nende mudelid asuvad failidesleo_link::geometryjaleo_fusion::geom), ja Maa kujundused liigisconstellation-design(nimetatud kahe keha kiire tase).
D6, LunaNet AFS etalongeneraator, LSIS V1.0 (neli uut rida, kaks VALIDATED: 238 -> 242 rida, valideeritud 121 -> 123).
- LunaNet Augmented Forward Signal (AFS) etalongeneraator (
lunar_afs), kinnitatud LunaNet Signal-In-Space Recommended Standard (LSIS) V1.0 kuupäevaga 29. jaanuar 2025 ja nimetades seda versiooni igas väljundis: 2492,028 MHz kandja; AFS-I BPSK(1) andmekanal 500 sümbolit sekundis oma 2046-chipise Goldi koodiga; AFS-Q BPSK(5) piloot oma 10230-chipise Weili primaar-, 4-chipise sekundaar- ja 1500-chipise tertsiaarkoodiga; kaadri identifikaatori 0 kaader (sünkroniseerimismuster, BCH (51, 8) alamkaader 1, CRC-24, kiirusega üks pool LDPC alamkaadrid 2 kuni 4, 60 korda 98 ploki põimur) täieliku alamkaadri 1 dekoodri ja min-sum LDPC dekoodriga, mis on kirjutatud ainult pariteedikontrolli maatriksist; ning baasriba IQ süntees tõesiltidega, kirjutatud SigMF salvestusena. Koodid genereeritakse standardi nihkeregistritest ja Legendre'i/Weili konstruktsioonidest. Midagi standardist kopeeritut ei levitata (sellel pole taaskasutustingimusi): AFS-Q primaarindeksid tulevad dokumendist IS-GPS-800J ja see, mida defineerivad ainult standardi lisad (AFS-I G2 viivitused, tertsiaarkoodid, LDPC alammaatriksid), loetakse käitamise ajal kohalikust vahemälust, millexval/lunar-afs/fetch_lsis.shtäidab NASA majutatud PDF-ist, iga fail kontrollitud kinnitatud SHA-256 vastu (lunar_afs::lsis). Mudel on standardi järgimise võrdlusalus, mitte kanali-, leviku- ega lingieelarve mudel. sigmf::meta_to_json_with_extensionsjasigmf::annotation_extension_fields: salvestus võib kanda nimeruumiga laiendusvälju, mis on deklareeritud väljalcore:extensions.- Uus VALIDATED rida „LunaNet AFS baseband rendering against an independent generator, given its channel state“: LANS-AFS-SIM-i (BSD-2-Clause, commit 480c6bf3, S-riba ehitus) vastu null chipi mittevastavust PRN-ide 1 kuni 210 koodidel, null sümboli mittevastavust käituse kolmel kaadril ja normaliseeritud kompleksne korrelatsioon 0,999990 oma 23,9 s valimite üle (halvim 2 ms plokk 0,999948), enne võrdlust fikseeritud läve piires (eelregistreeritud 986ac280). See juhib renderdajat simulaatori enda kanali olekuga ega kata võimsuse jaotust kandja ja müra tiheduse põhjal ega SigMF-i ja 8-bitist kirjutamist.
- Uus VALIDATED rida „LunaNet AFS frame channel coding, FID 0“: 6000-sümbolised kaadrid on LANS-AFS-SIM-i omadega sümbol sümboli haaval võrdsed (eelregistreeritud 986ac280); alamkaadri 1 kood reprodutseerib LSIS joonise 8 töötatud näite ja CRC-24 CRC-24/LTE-A kataloogi kontrollväärtuse.
- Mõlemad edutatud read on LSIS vahemälu taga andmeväravaga: nende sõltumatu etaloni test jäetakse teatega vahele, kuni
xval/lunar-afs/fetch_lsis.shon käitatud. - Tähelepanek (uus MODELLED rida), „LunaNet AFS spreading-code generation“: standardi tabelitega ja lisa 3 failidega võrreldud 2 937 232 genereeritud chipist ja bitist erineb üks, „last 24 chips“, mille Tabel E-5 trükib tertsiaar-PRN 147 jaoks ja mis dubleerib PRN 151 lahtri, samas kui standardi enda lisa 3 fail ühtib generaatoriga. Nullmittevastavuse kriteerium jääb täitmata.
- Tähelepanek (uus MODELLED rida), „LunaNet AFS closed-loop decodability“: kolm eelregistreeritud käitust PocketSDR-AFS-i vastu; kolmas täitis oma jälgimis- ja dekodeerimisläved täielikult, kuid mitte oma kaitset, et ainult trükkiv vastuvõtja ehitus reprodutseerib kinnitatud ehituse logi, kuna kaks muutmata vastuvõtja käitust erinevad juba oma hõivamiskirjetes.
- Parandatud: liikide
lunar_service(export_antenna.carrier_hz),lunar_jammingjaattack_surfacevaikekandja oli ümardatud 2,4 GHz; see on nüüd LSIS-020 AFS kandja, 2492,028 MHz. Vana vaikeväärtuse korral oli vaba ruumi kadu alahinnatud 0,327 dB võrra. - Uuendused: puuduvad. Iga kaasapakitud stsenaarium nimetab oma kandja ja kõigi 138 stsenaariumifaili tulemused on baitideni identsed eelmise main-iga.
D7, päris Kuu IQ ja GPS LNAV (seitse uut rida, ükski pole VALIDATED: 242 -> 249 rida, valideeritud 123 muutumatu).
portable_math::FftPlan: segabaasiline kiire Fourier' teisendus (FFT), mille väljund on igal platvormil samad bitid; 8000- ja 24000-punktiliste teisenduste SHA-256 kinnitus läbib x86_64 ja wasm32-wasip1 peal (käitaja kataloogisxval/portable-fft-wasm/).acquisition: paralleelne koodifaasi otsing diskreetitud IQ-l (pcps_acquire,pcps_grid) koherentse voltimisega, mittekoherentse akumuleerimisega, hii-ruut lävega kogu otsingu valehäire tõenäosuse jaoks ja lahtrite keskmistamise statistikuga ribapiiratud müra jaoks;refine,prompt_serieskoodi Doppleriga ning M2M4 ja ruudustiku tipu kandja ja müra tiheduse (C/N0) hindajad.gps_lnav: IS-GPS-200 pärandnavigatsioonisõnumi (LNAV) kodeerija alamkaadritele 1 kuni 3, tabeli 20-XIV pariteediga ja väljadekooderiga.realdata::ion_sdr: ION GNSS SDR Metadata Standardi (.sdrx) lugeja ja selle näidisfailid, kahe täiendi tasemete jaoksto_mid_rise.realdata::lugre: LuGRE (Lunar GNSS Receiver Experiment) IQS partii päis, RAW, ACQ ja NAV telemeetria ning CLK failid ja kontroll, mis loetleb, kus.sdrxmetaandmed on binaarpäisega vastuolus.antenna::GainPattern2Dja moodulisearth_gnss_lunaryaw-juhitav kerekoordinaatsüsteem, saate asimuut ja nadiirist kõrvalnurgad ningtransmit_side_dbsuhtelise C/N0 jaoks mõõdetud mustritega.GPS LNAV navigatsioonisõnumi kodeerimine (uus rida, jääb MODELLED pärast integreerija järelkontrolli): 2. märtsi 2025 IGS edastusfailil, mida parsis ja dekodeeris RTKLIB v2.4.2-p13, läbivad kõik 960 sõna pariteedi, kõik 96 alamkaadrit dekodeeruvad ja kõik 608 edastatud täisarvu on võrdsed Kshana omadega (
tests/gps_lnav_rtklib_integer_oracle.rs), kuid eelregistreerimine (d4d9eb9d) jõudis avalikule harule kaks sekundit pärast tulemust sisaldavat commiti, nii et järjestust „registreeritud enne faili toomist“ ei saa näidata ja rida ei edutata.realdata::ion_sdrtäidab sõnu kõrgeimast bitist (I LuGRE baidi kõrges poolbaidis; varasem lugemine andis konjugeeritud signaali), säilitab vana lugemise kujulSdrLayout::fill_lsb_firstja loeb sõnast laiemaid valimeid.acquisition::refine_doppler_coherent: faasikoherentne Doppleri täpsustus (0,2 Hz RMS sagedusel 30 dB-Hz 200 ms jooksul simulatsioonis).GPS L1 C/A gps-sdr-simi vastu: chipid ja pariteet bitthaaval täpsed; 230 1152 LNAV väljast erineb ühe ühiku võrra, kuna gps-sdr-sim kärbib seal, kus edastatud täisarv vajab ümardamist.
RTKLIB-i dekodeeritud LNAV: kogu pariteet ja alamkaadrid läbivad ning iga parameeter on poole kvandi piires; 41 skaleeritud väärtust erineb mõne ühiku võrra viimases kohas RTKLIB-i kümnendkonstandi 2^-43 kaudu, üle registreeritud läve.
LuGRE hõivamine GNSS-SDR 0.0.19 vastu: 266 266 otsust ühtib, 250 asusid samas lahtris; enamik positiivseid on artefaktid −0,5 keskmisest paljastes 4-bitistes tasemetes; C/N0 harul polnud samaaegseid lennuandmeid. Kaks partiid (OP5, OP12) jäeti eksikombel välja: nende metaandmed ühtivad nende päistega, kuid lugeja ei suutnud siis lugeda sõnast laiemat valimit.
LuGRE hõivamine orbiidilt ennustatud Doppleri vastu: valimivõimsuse otsusega ületab iga otsing ribapiiratud müral; lahtrite keskmistamise otsusega ühtivad tugevaimad paarid suuruselt vastupidise märgiga, näidates, et registreeritud I/Q järjekord on andmete konjugaat.
Pime hõivamine Kuu pinna partiidel: neli partiid hõivavad igaüks ühe satelliidi (ennustatud nähtav, valehäiret pole väärtusel 1e-7), ükski kahte, nii et Doppleri erinevuse lävel pole paari, mida hinnata.
Suhteline C/N0 Kuu kaugusel (M039 uuesti sõnastatud): 15 Block IIR/IIR-M kirjet ja üks paar, liiga vähe registreeritud läve jaoks.
Uuendused: puuduvad; ükski avaldatud arv, golden-fail ega dokumendijoonis ei muutunud.
M039 rida „Earth-GNSS at lunar distance“ sõnastab oma väite Kuu kaugusel uuesti suhtelise C/N0 kujul satelliitide vahel ühel epohhil pluss nähtavus (absoluutset C/N0 ei väideta); see jääb MODELLED. Ülataseme NOTICE kannab LuGRE CC BY 4,0 viidet.
Parandatud#
- DE440 Kuu peatelgede orientatsioon interpoleeritakse nüüd geodeesiajoonel päevasõlmede vahel. Varasem elementhaaval interpolatsioon oli vigane kuni 2.0e-4 rad (340 m Kuu pinnal) iga päeva veerandpunktide lähedal, mitte „umbes 14 m“, nagu rida väitis. Selle kasutajad (Kuu laserkaugusmõõtmise geomeetria, Kuu datum, Kuu vea jälgitavus) saavad parandatud orientatsiooni.
- Vooru 2 mootoriparandused, igaüks uuesti käitatud oma muutumatu eelregistreeritud tolerantsi vastu: EOP rea IERS-i vintage loetakse selle I/P lippudest, mitte tühjast Bulletin B plokist;
snapshot_raimkasutab geodeetilist kohalikku taset; Kuu kiirustugisüsteemi sidumine kasutab ekvatoriaalraadiust, J2 ja pöörlemist; liu22 sobitus algab nullparandustest ilma prioriteetideta ja kasutab artikli keskmise liikumise kiirust; EO sõlmede vahe kannab J2 sõlme regressiooni; Costase tsükli libisemise aeg kasutab rho/4; ühine lahend rakendab paari edastatud rühmaviivitust; Kuu ühine lahend kasutab QR sammu; NTN piir hinnatakse tõelises asendis; konstellatsiooni kujunduse kella etalon on vaates olev madalaim konstellatsioon; DE440 orientatsiooniseeria hõlmab 2014-2030 ja annab väljaspool seda vea piiramise asemel.
Lisatud#
leo_navmsg::truth::TruthOrbit::from_ecef_states, tabuleeritud Maaga seotud olekutest ehitatud tõeline orbiit, mida kasutab päris orbiidi sobitaja võrdlus.- Ülaltoodud võrdluste testifailid ja fikstuurid, igaüks oma generaatori ja failiga
NOTICE.md, mis annab allika, litsentsi, toomise kuupäeva ja SHA-256. - Voor 2:
araim_reference::add_v42_protection_levelsja_ecef(ADD v4.2 veatuvastus, järgides Stanfordi MAAST-i ARAIM 2 jaoks, BSD-3 teade lähtekoodis);raim::snapshot_raim_fde;cw_dynamics::second_order_correctionjapropagate_second_order; üheksa oleku INS-i veamudelinertial::coast::ErrorDynamics;lunar_vlbi::KernelGeometryosatuletised ja kerneliitee sisendid liigislunar-vlbi;naif_kernel, SPK tüübi 2 ja binaarsete PCK kerneli lugeja;lunar_llr_geometry::llr_bcrs_one_way_mITRF2020 jaamadega; Jacchia 1971 tihedus;solar_system::link_onmis tahes efemeriidipakkuja kohal;launch::site_rotation_speed_at;eo_payload::j2_nodal_periodjaground_track_spacing_equator_j2;batch_ls::gauss_newton_qr;precise_products(RINEX kell, ANTEX ja DCB lugejad).
[0.29.3] - 2026-10-01#
Paranduslik väljalase versioonil 0.29.2. Kshana Studio on ümber ehitatud kahe vaate ümber: Lihtne vaade, mis vastab esimesena ja selgitab lihtsate sõnadega, ning Täpsem vaade kogu töölauaga. Kaasas on kaks väikest parandust saidil kshana.dev. Mootor ei muutu: iga komplekti kuuluv stsenaarium annab versiooniga 0.29.2 baidi-baidilt identse tulemuse, välja arvatud versioonitempel.
Muudetud#
- Kshana Studios on Lihtne vaade. Studio avaneb just sellel.
- Vastus tuleb esimesena: stsenaarium avaneb oma tulemusega, mis on öeldud ühe selge lausega. Igal komplekti kuuluval stsenaariumil on oma lause, mis on kirjutatud selle järgi, mida see stsenaarium mõõdab.
- Nähtaval on kuni viis seadet, need, mis vastust enim muudavad. Ülejäänud on jaotises „Täpsemad seaded“, mis on kokku volditud, kuni selle avada.
- „Kuidas see arvutatakse“ selgitab meetodit mõne reaga ning „Teadlastele“ annab mootori enda arvud, stsenaariumi faili ja tulemuse taga oleva tõendi.
- Kogu töölaud on Täpsem vaade. Kõik varasema Studio paneelid, diagrammid, ekspordid ja aruanded on seal.
- Lüliti liigub kahe vaate vahel ja hoiab koha. Stsenaarium, vaade, milles viibiti, ja kõik muudetud seaded kanduvad üle. Studio jätab meelde, millist vaadet viimati kasutati. Saidilt ja dokumentatsioonist pärinevad lingid avavad Lihtsa vaate; link, milles on
view=advanced, avab Täpsema vaate, ja iga varasem Studio link avab endiselt sama stsenaariumi ja vaate. - Kiirem esimene vaade aeglase ühenduse korral. Stsenaariumi salvestatud vastus joonistatakse enne ülejäänud Studio laadimist, nii et aeglase mobiiliühenduse korral ilmub vastus umbes kahe sekundiga, mitte umbes üheksaga.
- Parem otsing. Otsing loetleb nüüd esimesena stsenaariumid, mille valdkond või pealkiri vastab sõnadele, enne stsenaariumeid, mis mainivad neid ainult failinimes või tekstis.
Parandatud#
- Avalehe gloobus ei lähe enam tühjaks, kui vähendatud liikumine on sisse lülitatud. Kui süsteemi seade vähendatud liikumise jaoks oli sisse lülitatud, võis akna suuruse muutmine jätta tiitligloobuse tühjaks, kuni leht kerides liikus. Gloobus joonistatakse nüüd uuesti samas kaadris, kus suurus muutub.
- Avalehe L-riba konsool selgitab oma tühja riba. Stsenaariumis „Watch a jammer take the band“ jäi GPS L5 / Galileo E5a paneel terveks minutiks tumedaks, mis tundus rikkena. Selles stsenaariumis ei saada sellel ribal ükski segaja ja satelliidisignaalid on müratasemest allpool, nii et seal ei tõuse miski sellest kõrgemale. Vaikne silt ütleb seda nüüd igas paneeli lõigus, kus midagi pole müratasemest kõrgemal (L5 / E5a paneel ja L2C paneel enne, kui selle mürasegaja algab), koos iga riba C/N0 ja lukustusolekuga samast jooksust. See asetatakse ainult sinna, kus miski pole müratasemest kõrgemal, nii et see ei kata kunagi segaja energiat.
0.29.2 - 2026-10-01#
Paranduslik väljalase versioonil 0.29.1. See eemaldab dubleeritud koodi LEO navigatsioonisõnumi, liitmise ja spektri moodulitest, lisab saidile kshana.dev heleda teema, viib Kshana Studio omaenda aadressile, muudab saidi loetavaks otsingumootoritele ja tehisintellekti assistentidele, parandab mitu väikest asja Studios ning laseb npm-i väljalasetel avaldada ilma salvestatud märgita. Mootori väljund ei muutu: iga komplekti kuuluv stsenaarium annab versiooniga 0.29.1 baidi-baidilt identse tulemuse, välja arvatud versioonitempel.
Lisatud#
- Heleda teema saidile kshana.dev. Iga lehte saab lugeda heleda või tumedana. Sait järgib lugeja süsteemiseadet ja sellel on selle muutmiseks lüliti.
- Otsingumootorid ja tehisintellekti assistendid saavad saiti lugeda. Igal lehel on nüüd oma pealkiri, kirjeldus, kanooniline aadress, sotsiaalkaardi märgendid ja schema.org struktureeritud andmed ning lihttekst lõikude jaoks, mille joonistab skript. Sait avaldab faili
robots.txt, failisitemap.xml, milles on iga lehe viimase muutmise kuupäev, ning failidllms.txtjallms-full.txt(lühike ja täielik lihttekstijuhend tehisintellekti assistentidele) ja IndexNow võtme, et juurutus saaks otsingumootoritele teatada, mis muutus. - npm-i väljalasked saab avaldada ilma salvestatud märgita. npm-i töö käitab nüüd Node-i 24 ja npm-i 11.5.1 või uuemat, mis toetavad npm-i usaldusväärset avaldamist: npm vahetab väljalasketöö GitHubi identiteedi lühiealise mandaadi vastu. Saladus
NPM_TOKENtöötab endiselt ja seda kasutatakse seni, kuni see on seatud, nii et midagi ei muutu enne, kui usaldusväärne avaldamine on npmjs.com-is paketi jaoks sisse lülitatud. Sammud on loetletud failisdocs/RELEASING.md.
Muudetud#
Avalehe pealkiri on gloobuse peal loetav. Pealkirja ja selle teksti taga on nüüd pehme vari, mis tuhmistab animeeritud gloobuse orbiidijooned ja satelliidipunktid seal, kus need pealkirja ületavad.
Kshana Studiol on oma aadress: https://kshana.dev/studio/. Iga link saidil ja dokumentatsioonis viitab sinna. Vana aadress
/playground/töötab endiselt ja suunab uuele, säilitades lingis oleva stsenaariumi, vaate ja muud seaded.Studio parandused. Mootori fail laaditakse alla üks kord kahe asemel. Allalaadimise ajal näitab Studio stsenaariumi salvestatud tulemust kohe, märgitud salvestatuks, tühja ekraani asemel. Telefonis on päis üks kompaktne rida. Põhinäitajad murduvad kaks rea kohta, nii et ükski ei jää ekraani servast välja. Väljade sildid kasutavad stsenaariumi enda sõnu, kõrval on välja nimi, ja otsing leiab väljad kummagi järgi.
Vähem dubleeritud koodi. LEO navigatsioonisõnumi ühikute tabel kirjutas samad kümme SISRE statistikaarida neljale sobitusekokkuvõttele. Nüüd kirjutab need üks kord makro. Kaks spektri koskdiagrammi jagavad ühte ajatelge, värviriba ja C/N0 riba paneeli. Põhivõrgu allvalimine taaskasutab funktsiooni
downsample_gridja Simpsoni integraal taaskasutab funktsiooninavsignal::simpson. LEO läbimise liigi kaks sisenemispunkti jagavad ühte häälestusetappi. Moodulleo_link::geometryimpordib vektoriabilised moodulistleo_fusion::geomneid kopeerimata. Täpsem aruanne impordib API aruande HTML-i paomääramise kopeerimata. Kõik 139 stsenaariumifaili kataloogisscenarios/käitati versioonil 0.29.1 ja sellel koodil ning iga väljundfail on baidi-baidilt identne.Tabelitel leo-navmsg ja leo-pvt units on omad failid. Need viidi välja moodulitest, mis sisaldavad ka loogikat, faili
src/leo_navmsg/units.rsja failisrc/leo_fusion/pvt_units.rs.PVT_UNITSsäilitab oma avaliku tee. Ainult need kaks tabelifaili liituvad deklaratiivsete kataloogide kopeerimise ja kleepimise tuvastamise erandite hulgas failissonar-project.properties, mida kontrollibtests/sonar_cpd_exclusions_are_justified.rs.
Parandatud#
- README CI märk näitab main-harusse tehtud push'ide tulemust. Märk luges kõigi sündmuste jooksutusi main-haru peal, nii et see võis näidata „failing“, kui iga push'i jooksutus oli roheline; nüüd küsib see ainult push'ide jooksutusi (
event=push).
0.29.1 - 2026-10-01#
Paranduslik väljalase versioonil 0.29.0: mõõdetud katvuse arv, projekti nimerida saidil kshana.dev, kiirem katvuse töö ja uuendatud README. Mootori väljund ei muutu: iga stsenaarium annab sama tulemuse kui versioonil 0.29.0.
Avaldatud arvude parandused#
- Ridade katvus: ~96 % → ~95 %. Katvuse töö mõõtis uuesti välja antud koodi 0.29.0 (commit
db796dd, CI jooksutus 36809850252, 2026-10-01): 95.35 %, 55 970 rida 58 697-st kataloogissrc/. Avaldatud arv oli 95,63 % (37 697 rida 39 419-st), mõõdetuna commit'ilb1d350denne versiooni 0.28.0; see ümardus väärtuseks ~96 %. Uus arv ümardub väärtuseks ~95 %, nii et iga pind, midatests/coverage_figure_doc_sync.rskinnitab, liigub koos:docs/COVERAGE.md, README märk, Evidence'i rida ja CI tabel, märgid crates.io-s, PyPI-s ja npm-is, tehniline aruanne ning saidi kshana.dev katvuse leht. Alampiir 85 % ei muutu.
Lisatud#
- Nimerida saidil kshana.dev. „Kshana · क्षण · the precise instant“ avab nüüd avalehe tiitli ja asub iga lehe jaluses kaubamärgi all. Sait kshana.dev ei tee endiselt ühtki päringut teisele hostile: devanagari kiri on isehostitud Noto Sans Devanagari alamhulk kolmest tähest sõnas क्षण (1 692 baiti,
web/fonts/, koos selle SIL Open Font License'i tekstiga ja selle SHA-256-ga failisweb/fonts/FONTS.json).web/tools/fetch_third_party.pyõppis salvestama Google Fontsitext=alamhulka sisupõhise aadressiga failinime alla.
Muudetud#
- Saidi lingid maanduvad sinna, kuhu nad osutavad, puhaste aadressidega. Link jaotisele asetab selle jaotise nüüd päise alla, nii telefonis kui töölaual: Missions-sektori link avab selle sektori ja selle paneeli ülaosas; Capabilities'i ja Editions'i lingid hoiavad oma koha, kuni nende kohal olevad diagrammid joonistuvad; Editions ei lisa enam teist päise nihet; ja link dokumentatsioonilehe kokku volditud ossa avab selle. Iga leht on lingitud oma puhta aadressiga (
/evidence#research,/docs/changelog,/avalehe jaoks) ning kanoonilised lingid, saidikaart ja vanade aadresside ümbersuunamised nimetavad samu; aadressid.htmltöötavad endiselt. Research'il on oma link päises Evidence'i ja Developers'i vahel ning jaluses. Dokumentatsioon ei näita enam teekaarti (ROADMAP.mdjääb hoidlasse): Project'i rühm on Changelog, Licensing, Security, Contributing, Governance ja Code of conduct ning Glossary viidi rühma Get started. - Katvuse töö on kiirem. Versioonil 0.29.0 kulus sellele 143 minutit tervisliku 91 vastu kuni
- Fuzzer
tests/property.rs, eelmine põhjus, võttis neist 4. Komplekti kuuluv korpus kasvas 74-lt 139 stsenaariumini ja kolm testibinaari käisid kõik läbi ühe faili kaupa (determinismkaks korda,advanced_reportjaanimationüks kord): kokku 37 minutit katvuse instrumenteerimisega, versioonil 0.27.2 oli see 3. Nüüd jagavad need failitests/support/corpus.rs, mis käitab stsenaariumipõhise töö igal tuumal ja annab tulemused tagasi sorteeritud järjekorras; iga stsenaarium ja iga väide jääb alles. arm64 sülearvutil, silumisehitus:determinismvõtab 143 s 14 tuumal, versus 612 s käsugaKSHANA_CORPUS_THREADS=1(vana järjestikune läbikäik).
- Fuzzer
- README, uuendatud. See algab sama nimereaga kui sait; Studio ekraanipildid on uuesti tehtud Studiost 0.29.1, uue pildiga Studiost telefonis ja selle alumise sammuribaga; uus riba „The site“ näitab saidi kshana.dev kolme lehte versiooni 0.29.1 ehitusest (
tools/capture_site_shots.mjs, koostanudtools/readme_shots.pyja salvestatud failidocs/assets/readme/site/SHOTS.json); katvuse arv on ~95 %; ja uurimistöö joonise alt-tekst, mis kordas arhitektuurijoonise oma, kirjeldab nüüd artikleid. Päisemärgid on väiksemad ja lühemad (18 px kõrged; „~95%“, „83/223“, „quality“, „AGPL-3.0“, „zenodo.20528627“), nii et üksteist mahub kahele reale; iga link ja alt-tekst säilitab oma täieliku tähenduse. - Konteineri kujutise töö saab 90 minutit. Versioonil v0.29.0 jõudis kujutise
kshana-mcpemuleeritud linux/arm64 ehitus vanale 45-minutilisele piirile oma viimase crate'i kompileerimisel, nii et kujutis, MCP registri kirje ja kanali kontroll ei avaldatud. Piir on nüüd 90 minutit; kujutis ei muutu. - Kaheksa ujukomakonstanti ümber rühmitatud failides
src/ephem.rsjasrc/sgp4.rs(0.323_273_64→0.323_273_640): SonarQube Cloud luges viimase rühma_64või_32puuduvaks järelliiteksf64võif32(reegel S7454). Väärtused on samad arvud, nii et ükski tulemus ei muutu.
0.29.0 - 2026-10-01#
Kaksteist uut stsenaariumi liiki ja kolm uut viisi jooksutust lugeda. Mootor katab nüüd raadiospektri, kogu päikesesüsteemi, mis tahes keha ümber olevad konstellatsioonid, kampaaniad, mis seovad stsenaariumid üheks missiooniks, ning positsioneerimise, navigatsiooni ja aja (PNT) madalalt Maa orbiidilt (LEO) signaalist asendilahenduseni. Iga jooksutuse saab kirjutada ka animatsiooniks, täielikuks aruandeks ja teiste tööriistade jaoks mõeldud koostalitlusfailide komplektiks.
Mootori ümber: ümber kujundatud kshana.dev (mitmeleheline sait ja uus Kshana Studio töölaud, mis käitab brauseris kõiki võimekusi), ümber kirjutatud README, neliteist tööriista Model Context Protocoli (MCP) serveris, brauseriehitus, mis annab samad arvud kui natiivne, ja avalik leht Kshana Pro jaoks.
| 0.28.0 | 0.29.0 | |
|---|---|---|
| Stsenaariumi liigid | 63 | 75 |
| Stsenaariumifailid (pluss üks komplekti manifest) | 77 | 138, millest 132 on komplekti kuuluvad käsu kshana example jaoks |
| Kontrollimaatriksi read | 174 | 223 |
| neist VALIDATED välise etaloni vastu | 66 | 83 |
| millest MODELLED (öeldud mudel, kontrollitud sisemise kooskõla suhtes) | 104 | 136 |
| millest PARTNER (vajab partneri riistvara või andmeid) | 4 | 4 |
Kust kasv tuleb:
| Valdkond | Liigid | Stsenaariumifailid | Maatriksi read (valideeritud + modelleeritud) |
|---|---|---|---|
| Spekter | 1 | 1 | 3 (1 + 2) |
| Päikesesüsteem ja positsioneerimine mis tahes keha ümber | 2 | 3 | 6 (2 + 4) |
| Konstellatsiooni kavandamine | 1 | 3 | 3 (2 + 1) |
| Kampaaniad | 1 | 5 | 3 (0 + 3) |
| Mere-, maantee- ja raudteestsenaariumid | 0 | 5 | 0 |
| Animatsioon, aruanded, koostalitluseksportid | 0 | 0 | 0 |
| LEO signaalikavandid ja mitmeribaline spekter | 1 | 4 | 4 (2 + 2) |
| LEO ülelend ja lingibilanss | 1 | 6 | 9 (6 + 3) |
| LEO navigatsioonisõnum | 1 | 5 | 9 (3 + 6) |
| LEO positsioneerimine, ajastus ja liitmine | 3 | 8 | 8 (1 + 7) |
| LEO otsast lõpuni ahel | 1 | 3 | 1 (0 + 1) |
| LEO vastupidavus, fookusvaldkonna ja lõppkasutaja stsenaariumid | 0 | 18 | 3 (0 + 3) |
| Lisatud kokku | 12 | 61 | 49 (17 + 32) |
LEO võimekus on süsteemist sõltumatu: see töötab üldistel, öeldud parameetritel ega vaja nimetatud süsteemi. Nimetatud süsteemid on valikulised eelseaded, igaüks omas failis oma avaliku allikaga. Üks eelseade, Celeste IOD (orbiidil demonstratsioon), kasutab arve, mis esitati ESA NAVISP LEO-PNT töötoas, 2026 (ESA on Euroopa Kosmoseagentuur; NAVISP on selle navigatsiooni innovatsiooni ja toetuse programm); see asub ühes failis src/celeste_iod.rs koos oma viie ainult hoidlas oleva stsenaariumiga, nii et seda saab tagasi hoida ilma lähtekoodi muutmata, ja ühtki selle töötoa arvu ei korrata selles muutuste logis.
Enne uuendamist tuleb lugeda jaotist „Avaldatud arvude parandused“. Üks mootori väljund muutub (stsenaariumi ephemeris-id inertsiaalsüsteemi veerud pärast märgiparandust nutatsioonimaatriksis) ja dokumentatsiooni audit parandas arve, mida varasemad dokumendid olid trükkinud.
Selles kirjes kasutatud lühendid
Olekud: VALIDATED tähendab kontrollitud sõltumatu välise sõltumatu etaloni vastu (avaldatud tabel, teise rühma tarkvara või mõõdetud andmed); MODELLED tähendab öeldud mudelit, mida on kontrollitud ainult sisemise kooskõla suhtes; PARTNER tähendab, et kontroll vajab partneri riistvara või andmeid.
| Lühend | Tähendus |
|---|---|
| 3GPP, 5G, NTN | 3rd Generation Partnership Project (kolmanda põlvkonna partnerlusprojekt); viienda põlvkonna mobiilivõrk; mittemaapealne võrk |
| AD, BC | kalendriajastud (anno Domini, enne Kristust) |
| AIAA | American Institute of Aeronautics and Astronautics (Ameerika Aeronautika ja Astronautika Instituut) |
| AltBOC, BOC, BPSK, MBOC | alternatiivne binaarne nihkekandja; binaarne nihkekandja; binaarne faasmanipulatsioon; multipleksitud binaarne nihkekandja (signaali modulatsioonid) |
| ATOMIC | Autonomous Time and Orbit Determination for Microsatellite Constellations (avaldatud LEO efemeriidimudel) |
| C/A, L1, L2, L2C, L5 | jämekoodi ehk omandamiskood ning ülemaailmse positsioneerimissüsteemi kandelaine ja tsiviilsignaali nimed |
| C/N0 | kandelaine ja müratiheduse suhe |
| CIO | Celestial Intermediate Origin (taevane vaheorigo) |
| CLI | käsurealiides |
| CRC-24Q | 24-bitine tsükliline liiasuskontroll (Qualcommi polünoom) |
| CSAC | kiibimõõtmetes aatomkell |
| CSS, HTML, SVG, XML | Cascading Style Sheets; HyperText Markup Language; Scalable Vector Graphics; Extensible Markup Language |
| CSV, JSON, PDF, TOML, URL | komadega eraldatud väärtused; JavaScript Object Notation; Portable Document Format; Tom's Obvious Minimal Language; uniform resource locator (ühtne ressursiaadress) |
| CW | pidevlaine |
| CZML, KML, GeoJSON | Cesium Language; Keyhole Markup Language; Geographic JSON (kaardi- ja gloobuseformaadid) |
| DE441 | Jet Propulsion Laboratory arendusefemeriid 441 |
| DOI | digitaalne objektitunnus |
| DOP, GDOP, PDOP, HDOP, VDOP | täpsuse halvenemise tegur: geomeetriline, asendi, horisontaalne, vertikaalne |
| E1, E5, E5a, E5b | Galileo signaalide nimed |
| E3F | ülemaailmse positsioneerimissüsteemi konstellatsioonitabeli pesa nimi |
| ECEF | Maa keskne, Maaga seotud |
| EE | ekvinoktsiumide võrrand |
| EGM2008 | Earth Gravitational Model 2008 |
| EIRP | ekvivalentne isotroopselt kiiratud võimsus |
| ERFA, SOFA | Essential Routines for Fundamental Astronomy; Standards of Fundamental Astronomy (astronoomia etalonteegid) |
| ESA, NAVISP | Euroopa Kosmoseagentuur; selle navigatsiooni innovatsiooni ja toetuse programm |
| FDMA | sagedusjaotusega hajusjuurdepääs |
| GCRF, GCRS | Geocentric Celestial Reference Frame (geotsentriline taevane tugisüsteem); Geocentric Celestial Reference System (geotsentriline taevane tugisüsteem) |
| GLONASS | Venemaa ülemaailmne satelliitnavigatsioonisüsteem |
| GNSS, GPS | ülemaailmne satelliitnavigatsioonisüsteem; ülemaailmne positsioneerimissüsteem |
| IAU | Rahvusvaheline Astronoomiaunioon |
| ICD, OS SIS ICD, OS SDD | liidese juhtdokument; Galileo avatud teenuse kosmosesignaali liidese juhtdokument; Galileo avatud teenuse teenuse määratluse dokument |
| ICRF | International Celestial Reference Frame (rahvusvaheline taevane tugisüsteem) |
| IMO | Rahvusvaheline Mereorganisatsioon |
| INS, MEMS | inertsiaalnavigatsioonisüsteem; mikroelektromehaaniline süsteem |
| IOD | orbiidil demonstratsioon |
| IQ | samafaasiline ja kvadratuurne |
| IS-GPS-200 | ülemaailmse positsioneerimissüsteemi liidese spetsifikatsioon |
| ISS | Rahvusvaheline Kosmosejaam |
| ITRF, ITRS, PEF, TEME | International Terrestrial Reference Frame; International Terrestrial Reference System; pseudo-Earth-fixed (näiv Maaga seotud); tegelik ekvaator, keskmine ekvinoktsium (tugisüsteemid) |
| ITU, ITU-R | Rahvusvaheline Telekommunikatsiooniliit; selle raadiosidesektor |
| J/S | segaja ja signaali suhe |
| J2 kuni J6, J2000 | gravitatsioonivälja tsoonilised harmoonikud; epohh 2000-01-01 12:00 |
| JPL | Jet Propulsion Laboratory |
| LEO, MEO | madal Maa orbiit; keskmine Maa orbiit |
| MBSE | mudelipõhine süsteemitehnika |
| NEES | normaliseeritud hindamisvea ruut |
| NeQuick-G | Galileo ionosfäärimudel |
| OEM, SP3, TLE | Orbit Ephemeris Message; Standard Product 3 (täppisorbiidid); kaherealine elementide komplekt |
| PNT, PPP | positsioneerimine, navigatsioon ja aeg; täppispunktpositsioneerimine |
| PSD, SSC | võimsusspektri tihedus; spektraalse eraldatuse koefitsient |
| RAIM, SQM | vastuvõtja autonoomne terviklikkuse seire; signaali kvaliteedi seire |
| RINEX, RTCM | Receiver Independent Exchange Format (vastuvõtjast sõltumatu vahetusformaat); Radio Technical Commission for Maritime Services |
| RMS | ruutkeskmine |
| RTKLIB | avatud lähtekoodiga GNSS-i positsioneerimisteek, mida kasutatakse siin sõltumatu etaloni rollis |
| SGP4 | Simplified General Perturbations 4 (kaherealiste elementide komplektide orbiidimudel) |
| SHA-256 | Secure Hash Algorithm, 256-bitine |
| SigMF | Signal Metadata Format |
| SISRE | kosmosesignaali vahemaaviga |
| SPS PS | Standard Positioning Service Performance Standard |
| SRTM | Shuttle Radar Topography Mission |
| STK | Systems Tool Kit (selle efemeriidifailiformaat .e) |
| STL | Satellite Time and Location |
| SVID | kosmoseaparaadi tunnus |
| T/P/F | Walkeri konstellatsiooni satelliitide koguarv, orbiiditasandid ja faasinihe |
| TEC | elektronide koguhulk |
| UHF | ülikõrgsagedus |
| UTC | ülemaailmne koordineeritud aeg |
| WGS 84 | World Geodetic System 1984 |
| X1, X5 | Xona Pulsari süsteemi signaalide nimed |
Avaldatud arvude parandused#
Muudetud avaldatud arv on parandus ja see kirjendatakse, mitte kunagi ei parandata vaikselt. See väljalase sisaldab ühte mootori väljundi parandust ja mitut dokumentatsioonis trükitud arvu parandust.
Mootori väljund
- TEME→GCRS teisendus pööras 2·Δψ võrra: nutatsioonimaatriksil oli Δψ märk vastupidine.
nutation::numatehitasRx(−(ε̄+Δε))·Rz(Δψ)·Rx(ε̄), kus SOFA funktsiooniauNumatehitabRx(−(ε̄+Δε))·Rz(−Δψ)·Rx(ε̄), nii etnutation_matrix,nutation_matrix_2000a,teme_to_gcrsjagcrs_to_temepöörasid kaks korda pikkuskraadi nutatsiooni võrra, umbes 25 kaaresekundit. Kõik ahela kontrollid olid omaduspõhised testid (õige pööre, edasi-tagasi teisendus, nullist erinev nutatsiooni panus), mille märgiviga läbib; otsast lõpuni Vallado test katis TEME→PEF, TEME→ITRF ja GCRS→ITRS, kuid mitte TEME→GCRS. Vallado näite (AIAA 2006-6753, 2004-04-06) korral eksis ahel avaldatud GCRF-ist 1 145 m; nüüd jääb see sellest 0,11 m kaugusele ja maatriks võrdub ERFA funktsiooniganumattäpsusega 1e-14.tests/frame_reference_vectors.rs::teme_to_gcrs_matches_vallado_gcrfjanutation::tests::nutation_matrix_matches_erfa_numatmõlemad ebaõnnestuvad vana märgi korral. CIO (Celestial Intermediate Origin) kooskõlatest failissrc/cio.rsoli sellest tulenenud ~130 m lahknevuse omistanud väärtusele „≈ 2·EE“; jääk on nüüd 5 cm ja selle piir on pingutatud 250 m-lt 1 m-ni. See muudab avaldatud arve, mis siin parandusena kirjendatakse: stsenaariumiephemeris-id veerudgcrs_r_mjagcrs_v_m_s(umbes 0,8–1,0 km komplekti kuuluva ISS-i (Rahvusvaheline Kosmosejaam) stsenaariumi puhul; selle TEME, Maaga seotud, jälje, vaatenurga ja Doppleri veerud ei muutu) ningPropagator::position_in_frame/state_gcrsGCRS-i ja ITRS-i tugisüsteemide jaoks. Ükski komplekti kuuluva stsenaariumi kokkuvõtterida, diagramm ega golden-räsi neid veerge ei loe. Uued koostalitluseksportid kasutavad parandatud ahelat: esimeseorbit-sgp4-gpssatelliidi CZML-asend ühtib sama TLE ERFA-teisendusega (propageeritud Pythoni paketigasgp4) täpsusega 2,3 cm. - Stsenaariumi
leo-navmsg-id, natiivselt ja brauseriehituses. See stsenaariumi liik arvutab nüüd iga transtsendentse funktsiooni ühe teisaldatava matemaatikateegi kaudu, nii et selle kaader on samad baidid igal platvormil ja igas ehituses (režiimis Fixed). Igaleo-navmsgarv liigub sellega kaasa, samutileo-pnt-chainetappnavmsg. Stsenaariumi liik on selles väljalases uus, nii et midagi varasemast väljalasest ei liigu, kuid enne parandust trükitud arvud liiguvad: failisdocs/LEO-NAVMSG.mdoli kodeerimise ja dekodeerimise stsenaariumi kontrollväärtus0x110315ja nüüd on0x19105Fning selle dekodeeritud sõnumi SISRE on 0,129 cm. Saidil kshana.dev näitas Missions'i kaart stsenaariumileleo-navmsg-fit-interval-tradehalvimaks vahemaaveaks 1,6 mm 60 s sobitusega ja 40,3 mm 900 s sobitusega; sait ehitatakse nüüd selle väljalaske mootorist ja näitab 1,8 mm ja 46,6 mm. - Segamise jalajälje kaart saidil kshana.dev (Missions). Selle 875 lahtrist on iga üks stsenaariumi
maritime-strait-jammingjooksutus, kus on muudetud ainult vastuvõtja asendit. Lahtrid arvutatakse nüüd samadest kolmekohalistest koordinaatidest, mille lahtri link „open this run“ annab Kshana Studiole, nii et lahter näitab täpselt seda, mida selle link reprodutseerib. 30 lahtri keskmine segaja ja signaali suhe (J/S) liigub 0,1 dB võrra, üles või alla; ühegi lahtri jälgimise kättesaadavus ei muutu. Mootor annab versioonides 0.28.0 ja 0.29.0 iga lahtri jaoks identsed tulemused. - Algväärtusega ümbervalim WebAssembly (WASM) paketis. Brauseriehitus tõmbas samast algväärtusest (seed) (režiimis Fixed) teistsugused bootstrapi ja segamise indeksid kui natiivne ehitus. Brauseris oli stsenaariumi
quantum-anomaly-detect-id kõvera aluse pindala vahemik[0.9901265, 0.9938305]ja nüüd on see natiivne[0.99035875, 0.993861]. Ükski natiivne arv ei liigu.
Dokumentatsioonis trükitud arvud
Dokumentatsiooni auditeeriti sõna-sõnalt selle väljalaske mootori jooksutuste vastu. Kui trükitud arv jooksutusega ei ühtinud, parandati dokumenti ja iga parandus on siin loetletud kujul vana → uus. Allpool on mootori väljund igal juhul muutumatu; dokument oli seda valesti lugenud, valesti ümardanud või see oli aegunud.
- Spektri, konstellatsiooni, kampaania, animatsiooni, aruande ja koostalituse lehtede dokumentatsiooni audit ning uus
docs/SOLAR-SYSTEM.md. Iga arv jooksutati uuesti selle mootoriga. Kaks avaldatud arvu liigub:docs/CONSTELLATION-DESIGN.mdandis 5 000 satelliidiga katvuse testi kohta „umbes 0,13 s silumisehituses“; see ei reprodutseerunud (1,24 s koormatud sülearvutil), nii et leht annab nüüd eelfiltri osakaalu, mille test trükib (9,9 % arvust 19 440 000 paaritesti), ja väljalaskebinaari 0,14 s komplekti kuuluvaleo-pnt-mega-shelljaoks. Sama leht andis E3F-i ületuse kohta „0,050 kraadi vale“; ükski test seda arvu ei trüki, nii et leht väidab nüüd ainult 0,06 kraadi lävendit, mida test jõustab, ja selle taga olevat tuletust 7,30 versus 7,36 kraadi. Mootori väljund ei muutu. - LEO-PNT dokumendid: parandatud avaldatud arvud (uuesti jooksutatud selle väljalaske mootoriga).
docs/LEO-SIGNAL.mdribade kompromiss: stsenaariumigeneric-sesimese järgu ionosfääriviivitus on 3,24 m (trükitud oli 3,25 m) ja stsenaariumilgeneric-c-wide0,77 m (oli 0,78 m).docs/LEO-NAVMSG.mdkodeerimine ja dekodeerimine: dekodeeritud sõnumi SISRE oli trükitud 0,119 cm, kus jooksutus andis 0,122 cm; leht trükib nüüd 0,129 cm, arv pärast platvormist sõltumatuse parandust jaotises Fixed allpool.docs/LEO-PASS.mdLEO ja GNSS-i läbimise võrdlus: 32 dB vähem vabaruumi sumbumist läbimise tipus (oli „26 kuni 32 dB“). Signaali ja läbimise arvude puhul mootori väljund ei muutunud; dokumendid olid seda valesti lugenud või valesti ümardanud. - Õpetused, läbitöötatud torustiku näide ja käsk
/kshana-run, auditeeritud selle väljalaske mootori vastu. Avaldatud arvude parandused, vana → uus: liike, mis kirjutavad<scenario>.table.csv, on kuus, mitte neli (puudusidleo-navmsgjatelecom-timing;docs/tutorials/README.md,commands/kshana-run.md); külma aatomi ½bT² ületus õpetuses 3 on 18 443 s, mitte 18 440 s;oem-interopedasi-tagasi viga failisdocs/examples/multi-tool-pipeline.mdon mõõdetud 4.88e-7 km, mitte „~1e-7 km“; õpetuse 2 CSAC holdover'i riba on 2000–3200 s, mida test väidab, mitte „~2600–4400 s“; õpetus 1 tsiteerib SP3 ridu ja geomeetriaplokki täpsusega, millega mootor need kirjutab. Mootori väljund ei muutunud. - Valideerimise, kvantmõõtmise, SGP4, animatsiooni, väidete ja terviklikkuse lehed.
docs/VALIDATION.md: valge sagedusmüraga kella simuleeritud ühesekundilise Alani hälbe jõustatud lävi on 20 % (trükitud oli 25 %; lävi 25 % on see, mis on kõveral väärtustel 1, 10 ja 100 s); kiiruse juhusliku kõnni rida ütleb nüüd oma jõustatud 20 % lävendi välja jälgitud umbes 12 % kõrval; ja kiibiskaalas aatomkella kättesaadavus stsenaariumisorbit-gnss-challengedon umbes 0,73 (trükitud oli umbes 0,83).docs/QUANTUM.md: vibratsiooniga piiratud lasu kohta müra lehe läbitöötatud külma aatomi näites on umbes 46 korda selle lasumüra põhjast (oli „~45ד; ümber arvutatud 46,49) ning vahemik „1–50 µg/√Hz“ välitingimustes seadmete jaoks, mis oli vastuolus seadmega, mida leht ise tsiteerib, on asendatud kahe tsiteeritud seadme avaldatud arvudega.docs/SGP4-VALIDATION.md: halvim asendi erinevus on 4,12 mm (oli „≈ 4 mm“), satelliit nimetatud.docs/ANIMATION.md: videokodeerija näide luges 24 kaadrit sekundis kaadreid kiirusel 12; nüüd kasutab see väärtust 24, kiirust, mille kaadrimanifest ütleb.docs/CLAIMS-VS-REALITY.md: segamismudelil on 10 testi (oli 8) ja seotud filtri „2,97 m versus 48,8 m“ on asendatud sellega, mida selle test väidab (seotud asendiviga alla 0,6 korda lahtisidutud omast, võites vähemalt 90 katsest 100-st).docs/INTEGRITY.md: tempel „Today“ luges v0.22.0; nüüd nimetab see seda väljalaset ning kaks sellest ajast ehitatud võimekust (konstellatsiooni hõlmav rikkerežiim ja terviklikkuse tugisõnum) lahkuvad selle lünkade loendist.
Lisatud#
Spekter
- Stsenaariumi liik
spectrum: L-riba spektrimudel ja koskdiagramm (src/spectrum.rs,src/sigmf.rs,docs/SPECTRUM.md). Kogu GNSS-i L-riba ühe võimsusspektri tihedusena (PSD): GPS L1 jämekood ehk omandamiskood (C/A) ja L2 tsiviilsignaal (L2C) (BPSK(1)), Galileo E1 (multipleksitud binaarne nihkekandja, MBOC(6,1,1/11), või BOC(1 1)), GPS L5 ja Galileo E5a (BPSK(10)), kT mürapõhi koos vastuvõtja müranäitajaga ning pidevlaine- (CW), kitsaribalised, sirina- ja sobitatud mürasegajad skriptitud ajateljel. Iga segajat hinnatakse ribade kaupa selle spektraalse eraldatuse koefitsiendiga (SSC), mis annab segaja ja signaali suhte (J/S) ning efektiivse kandelaine ja müratiheduse suhte (C/N0) riba ja rea kohta. Diagramm on SVG koskdiagramm C/N0 ribadega; result.json kannab võrku võimsuses blokkide kaupa keskmistatult. Valikuline[iq]joonistab mudeli IQ-valimitena, kirjutab ja loeb Signal Metadata Formati (SigMF) salvestust (cf32_le,ci16_le) ning võrdleb Welchi hinnangut mudeliga; valikuline[recording]hindab päris SigMF-faili. Komplekti kuuluv näidescenarios/l-band-waterfall-jamming.toml: sirin võtab L1 C/A ja E1 10 s juures, CW toon L1 kandelainel hoiab C/A väärtusel 17,98 dB-Hz pärast sirina lõppu, samal ajal kui E1, mille spektris on seal null, taastub; L5 ja E5a jäävad puutumata.- Uus VALIDATED rida: signaalide PSD-d ja SSC-d, mida võrreldakse BPSK(n) peaasagariga 2n x 1,023 MHz, BOC(1 1) asagaridega keskpunktidega +/-1.023 MHz, Parsevali kinnisvalemitega avaldatud SSC-de -61.8 / -64.8 / -67.8 dB/Hz taga ning õpikuväärtustega Q = 1 (CW) ja 1,5 (sobitatud). BOC(1 1) PSD maksimum on kohas +/-0.759 MHz, mitte asaga keskpunktis; test kinnitab mõlemat.
- Kaks uut MODELLED rida: koskdiagramm ja C/N0 ajatelg, mis taanduvad täpselt stsenaariumi
jamming-id ahelale (kontrollitud igas aruandes), ning SigMF kodek ja Welchi hindaja. Hoidlas pole kolmanda osapoole salvestust. navsignal: MBOC variant jaspectral_separation_coeff_offset.- Aruanne trükib C/N0, mille annaks stsenaariumi
jamming-id esindav Q tabel, spektrist tuletatud väärtuse kõrvale; C/A kandelaine CW tooni puhul erinevad need 1,8 dB võrra. Kolm uut maatriksi rida: üks valideeritud (signaali spektrid ja spektraalse eraldatuse koefitsiendid) ja kaks modelleeritud.
Päikesesüsteem
- Päikesesüsteemi efemeriid ja positsioneerimine mis tahes keha ümber. Kaks uut stsenaariumi liiki.
solar-system: Päike, kaheksa planeeti, Pluuto, Kuu, Phobos, Deimos, Io, Europa, Ganymedes, Callisto ja Titan ühel epohhil: heliotsentriline asend ja kiirus International Celestial Reference Frame'is (ICRF), gravitatsiooniparameeter, raadiused, J2 (teine tsooniline harmoonik), kus avaldatud, sideeriline pöörlemine, Rahvusvahelise Astronoomiaunioni (IAU) pooluse ja nullmeridiaan, orbiidi jälg ühe tiiru jooksul ning valguse läbimisaeg, ühesuunaline ja kahesuunaline vahemaa, Päikese Shapiro viivitus ja Päikese eraldusnurk vaatluskehast ning iga lisalingi jaoks. Planeedid pärinevad Jet Propulsion Laboratory (JPL) Kepleri elementidest, mille on koostanud Standish ja Williams (tabel 1, 1800 AD kuni 2050 AD; tabelid 2a/2b, 3000 BC kuni 3000 AD); kuud JPL keskmistest elementidest IAU sünkroonse pöörlemiskiirusega ning Titan IAU pöörlemismudelist. Näide:scenarios/solar-system-tour.toml.body-pnt: orbiter või pinnalander mis tahes nende kehade ümber, mis navigeerib keha ümber oleva Walkeri konstellatsiooni pseudovahemaade ja Maalt tuleva kellavaba kahesuunalise vahemaaga; täpsuse halvenemise tegur, formaalne määramatus ja algväärtusega vähimruutude lahendid koos Maa-lingiga ja ilma selleta. Näited:scenarios/mars-orbit-pnt.toml,scenarios/europa-surface-pnt.toml.Bodysaab juurde Merkuuri, Veenuse, Jupiteri, Saturni, Uraani, Neptuuni, Pluuto ja seitse kuud, nimeotsingu ja füüsikalise kirje;AnalyticSolarSystemannab mis tahes keha suhtes mis tahes teise olemasolevaEphemerisProviderliidese kaudu.- VALIDATED JPL Horizonsi vastu (Development Ephemeris DE441; fikstuurid ja päringud kataloogis
tests/fixtures/solar_system/): Merkuurist Saturnini ja Maa tabelist 1 kahekordse öeldud nominaalvea piires (halvim 1,87 korda), kõik kaheksa planeeti tabelitest 2a/2b (halvim 1,71 korda) ning Maa ja Marsi ning Jupiteri valguse läbimisaeg. MODELLED: Uraan ja Neptuun tabelist 1, mis ületavad öeldud viga DE441 suhtes (2,0 ja 5,2 korda), Pluuto, kuud, keha konstandid jabody-pnttulemused. - Leid: Montenbrucki ja Gilli Kuu jada failis
src/ephem.rson oma täppusliikme abil juba viidud J2000 ekvinoktsiumile (0,05 kraadi Horizonsist), nii et seda kasutatakse ilma täiendava täppuspöördeta. Kuus uut maatriksi rida: kaks valideeritud (planeedi asendid, valguse läbimisaeg) ja neli modelleeritud.
Konstellatsioonid mis tahes keha ümber
- Konstellatsiooni kavandamine suures mastaabis (stsenaariumi
constellation-design-id,src/constellation.rs). Walker delta ja Walker star mustrid (T/P/F), selged elementide loendid ja mitmekihilised kavandid, mitu konstellatsiooni jooksutuse kohta, Maa, Kuu, Marsi või mis tahes muu planeedi, Pluuto või suure kuu ümber keha konstantidest, mille lisas stsenaariumisolar-system-id. Eelseaded avaldatud nominaalelementidest: ülemaailmse positsioneerimissüsteemi (GPS) baasjoon ja laiendatav 24 pesaga konstellatsioon (Standard Positioning Service Performance Standard, SPS PS, 2020), Galileo Walker 24/3/1 (Open Service Service Definition Document väljaanne 1,1), BeiDou keskmise Maa orbiidi Walker 24/3/1 pluss geostatsionaarsed ja kaldunud geosünkroonsed satelliidid (Open Service Performance Standard 3,0) ja GLONASS 24/3/1 (Interface Control Document 5,1). Katvus ja täpsuse halvenemise tegur (DOP) laius- ja pikkuskraadi võrgu kohal: nähtavad satelliidid, GDOP, PDOP, HDOP ja VDOP (geomeetriline, asendi, horisontaalne, vertikaalne) ja kättesaadavus lahtri kohta, globaalselt ja halvimas kohas, ühe vastuvõtja kellaga konstellatsiooni kohta. Nähtavuse eelfilter (katvuse poolnurk pluss alamsatelliidi laiuskraadi riba, sfäärilisel kehal täpne) käitab 5 000 satelliiti 10 kraadi võrgul umbes 0,13 s silumisehituses.- VALIDATED: Walkeri generaator reprodutseerib Galileo OS SDD tabeli 23 ja GLONASS ICD pesa valemi; GPS eelseade reprodutseerib SPS PS ekvaatoriületuse veeru (35 kohta 36-st 0,0108 kraadi piires; E3F 0,06 kraadi piires, kuna tabeli enda rida on vastuoluline); GPS baasjoone globaalne HDOP jaotus ühtib SPS PS lisaga B (mediaan 0,940 versus 0,94, 95 % 1,255 versus 1,25, keskmine 0,965 versus 0,96; lävi 0,03).
- MODELLED: suvalised kavandid, muud kehad, BeiDou faasi- ja kaldunud geosünkroonsed sõlmed, kahe keha orbiidid valikulise J2-ga, ainult geomeetria.
- Stsenaariumid:
constellation-multi-gnss-coverage(102 satelliiti, kättesaadavus 100 %, mediaan PDOP 0,95, 31,0 nähtaval üle 10 kraadi),leo-pnt-mega-shell(5 000 satelliiti, kättesaadavus 99,22 % PDOP-i 3 või väiksema korral üle 20 kraadi, 0 % polaarmütsidel, eelfilter säilitab 11,5 % paaritestidest),lunar-relay-constellation(14 satelliiti Kuu ümber, kättesaadavus 21,33 % kokku ja kõrgeim lõunapolaarpiirkonnas). Kõik kolm kuuluvad komplekti käsukshana examplejaoks. Märkmed:docs/CONSTELLATION-DESIGN.md. Kolm uut maatriksi rida: kaks valideeritud (Walkeri generaator ja GNSS-i eelseaded, GPS globaalne DOP) ja üks modelleeritud.
- Spektrimudelist juhitud kampaania ja konstellatsioonid mis tahes keha ümber.
scenarios/campaign-spectrum-holdover-integrity.tomlseob stsenaariumispectrum-id kella holdover'i ja terviklikkuse monitoriga (sirin võtab L1 C/A ja E1; CW toon hoiab seejärel C/A all, kuni E1 taastub ja vastuvõtja langeb tagasi ainult Galileo taevale), kinnitatud failitests/campaign_composition_reference.rseraldiseisva koskdiagrammi näite vastu. Stsenaariumiconstellation-design-id lahendab nüüd oma keskkeha funktsiooniBody::by_namekaudu, nii et konstellatsiooni saab paigutada mis tahes planeedi, Pluuto või suure kuu ümber konstantidega, mida kasutab stsenaariumisolar-system-id.
Kampaaniad
- Kampaaniad: paljud stsenaariumid koondatud ühte jooksutusse. Uus stsenaariumi
campaign-id (src/campaign.rs, dokumenteeritud failisdocs/CAMPAIGNS.md) käitab olemasolevate liikide liikmeid sama käsurealiidese jaotuse kaudu ja loeb arvud nende tulemustest tagasi. Neli jaotist, mis tahes kombinatsioonis:[[phases]]: aheldatud missioon ühel ajateljel. Liigipõhised eelseaded loevad kella ajaviga selle valve vastu, keskmist efektiivset kandelaine ja müratiheduse suhet (C/N0) jälgimispõhja vastu, vertikaalset kaitsetaset häirepiiri vastu, asendiviga, jälgitavaid satelliite ja alarmilippe, hoituna ühisele võrgule koos faasipiiride ja sündmustega. Olek antakse edasi võtmetegacarry,handoffjaend_at.[sweep]: üks kuni kolm punktiga võtit mis tahes liigist, valikuliselt iga sõlme algväärtusega ansambliga.[monte_carlo]: realisatsioon k algväärtusel baas + k, keskmise, hajuvuse, protsentiilide ja fikseeritud algväärtusega bootstrapi 95% usaldusvahemikuga.[compose]: ühised väärtused, mis on seotud mitme liikmega, koos kombineeritud parima ja halvima kokkuvõttega. Iga tulemus kannab kampaania räsi ja kokkuvõtet iga liikme tulemuse kohta. Neli komplekti kuuluvat stsenaariumi:campaign-jam-spoof-holdover-integrity(nominaalne, segamine, spuufimine, mis lõpeb kellamonitori 370 s tuvastamisel, holdover, mis kannab 37,0 ns spuufitud nihet inertsiaalseadme rannikusõidul, terviklikkuse alarm, taastumine),campaign-sweep-jammer-power,campaign-shared-jammer-sea-roadjacampaign-monte-carlo-clock-holdover.tests/campaign_composition_reference.rskinnitab koostise samasusi: ühefaasiline kampaania reprodutseerib eraldiseisva jooksutuse bitt-bitilt kolmel liigil, fikseeritud algväärtusega ansambel on baidistabiilne ja valge sagedusmüraga kella puhul jääb ansambli keskmine teatatud vahemikku ning hajuvus hii-ruut vahemikku sqrt(q_wf * tau) = 16,459 ns kohta. Kolm uut modelleeritud maatriksi rida.
Animatsioon
- Animatsiooni eksport (
--animate svg|html|frames|all,src/animation.rs,docs/ANIMATION.md). Mis tahes jooksutuse, mille tulemus kannab ajarida, saab nüüd kirjutada animeeritud Scalable Vector Graphics (SVG) failina (Cascading Style Sheets võtmekaadrid, skripti pole: jooned joonistuvad sisse liikuva ajakursori taha), ühe isemajandava HyperText Markup Language (HTML) esitajana (esita ja peata, kerimine, kiirus, kõik paneelid ühel sünkroonitud kursoril, sündmusemärgid, mis klõpsuga otsivad; väliseid varasid pole) või nummerdatud SVG kaadrijadana koos failigamanifest.json, mis ütleb videokodeerijale kaadrid sekundis, kestuse ja kaadriajad. Kampaania esitatakse oma faasidena koos märgitud alarmidega; spektrijooksutus animeerib oma koskdiagrammi rea haaval. Esitaja järgib seadetprefers-color-schemening seadmeprefers-reduced-motionkorral näitavad nii SVG kui esitaja liikumise asemel valmis pilti. Seaded--animate-fpsja--animate-durationmääravad esituse;kshana::api::animate_tomljakshana::animation::animate_resulton teegi sisenemispunktid ningresult.jsonsaab plokianimationainult siis, kui--animatetöötab. Väljund on tulemuse ja valikute puhas funktsioon, kordusjooksutusel baidi-baidilt identne, ajatempliga pole. Liik, millel pole diskreetset ajatelge, lükatakse tagasi teatega „no time series to animate“ ja midagi ei kirjutata. Eksportija joonistab jooksutuse enda valimid ega lisa ühtki arvu, nii et see on MODELLED (sisemine kooskõla) ega kanna kontrollimaatriksi rida; ükski avaldatud arv ei muutu. Testid:tests/animation.rs(determinism, kaadrite arv, väline aadress puudub, korrektne XML, vähendatud liikumise tee ja iga komplekti kuuluv ajareaga stsenaarium animeerub).
Aruanded
- Täpsemad jooksutuse aruanded (
src/advanced_report.rs, docs/REPORTS.md). Iga käsurealiidese (CLI) jooksutus kirjutab nüüd faili<scenario>.report.html, prinditava HyperText Markup Language (HTML) aruande, ja faili<scenario>.report.json, sama sisu masinloetava JavaScript Object Notation (JSON) dokumendina. Jaotised: juhtkokkuvõte; iga stsenaariumi sisend koos ühikuga, loetud väljaühikute skeemist (tulemuse plokkunits), muidu välja nime järelliitest, muidu märgitud mitteöeldud; tulemused jooksutuse diagrammiga, iga skalaar ja iga arvulise veeru kokkuvõte; kampaania puhul pühkimissõlmede tabel, Monte Carlo keskmine, standardhälve, 5. / 50. / 95. protsentiil ja bootstrapi usaldusvahemik koos histogrammiga iga mõõdiku kohta, ahela faaside tabel või koostise liikmed ja kombineeritud kokkuvõte (ning jooksutusesweepvõisweep-ndvõrk); sündmuste ajatelg; iga kontrollimaatriksi rea, mida jooksutuse liigid kasutavad, silt VALIDATED / MODELLED / PARTNER, sõltumatu etalon ja testitõend, loetud maatriksist liigi ja rea ristviite kaudu (rida, mis hindab ühte sisendteed, näiteks stsenaariumiorbitSimplified General Perturbations 4 (SGP4) teed või stsenaariumislot-timingmõõdetud kirje teed, loetletakse ainult siis, kui jooksutus seda teed kasutas, ja Shuttle Radar Topography Mission (SRTM) lugeja rida ei loetleta ühegi liigi jaoks, sest ükski stsenaariumi väli ei loe SRTM-i paani); mittemodelleeritud väited ja eeldused, igaüks oma allikaga tsiteeritud; ning reprodutseeritavuse kirje (mootori versioon, lähtekoodi commit, kui ehitus seab muutujaKSHANA_GIT_COMMIT, stsenaariumifaili ja tulemusdokumendi Secure Hash Algorithm 256-bit (SHA-256) räsid, algväärtus, platvorm ja täpne käsk). Aruanne ei loe kella: sama stsenaarium, algväärtus ja mootoriehitus annavad baidi-baidilt identse aruande ning ainus ajatempel, mida see võib näidata, on see, mille--study-namejuba kirjutab. Prindistiil mahub A4 ja US Letteri formaati, kordab tabelipäiseid ning hoiab read ja joonised lehtede vahel tervena; Portable Document Format (PDF) fail tehakse brauseri funktsiooniga „Save as PDF“. Valikut--report pdfpole, sest diagrammide renderdamine PDF-i vajaks uut rasket sõltuvust. Testid:tests/advanced_report.rsannab aruande iga komplekti kuuluva stsenaariumi kohta (tühje jaotisi pole, kohatäiteteksti pole, sildid võrduvad maatriksiga, stsenaariumi räsi võrdub faili omaga, kordusjooksutusel baidi-baidilt identne) jatests/advanced_report_cli.rsjooksutab salvestatud käsu uues kataloogis uuesti ning nõuab baidi-baidilt identset failiresult.json. Ükski avaldatud arv ei muutu ning liikide, stsenaariumifailide ja maatriksi ridade arv on muutumatu. - Aruanne, animatsioon ja eksportid töötavad koos. Täpsem aruanne saab jaotise „Animation and exports“: jooksutuse animeeritud joonis, manustatud inertse pildina (või põhjus, miks seda pole), lingid selle kõrvale kirjutatud animatsiooni- ja eksportfailidele ning iga koostalitlusformaat koos sellega, kas see kehtib, miks mitte, ja selle spetsifikatsiooniga;
report.jsonkannab sama plokkicompanions. HTML animatsiooniesitaja loetleb selle kõrvale kirjutatud eksportfailid. Käsurealiides (CLI) renderdab nüüd eksportid enne aruande kirjutamist, nii et mõlemad saavad failid nimetada.
Koostalituse eksportid
- Koostalituse eksportid ja impordid (
--export,src/interop/, docs/INTEROP.md).kshana <scenario.toml> --export <format>kirjutab stsenaariumi geomeetria kujul CZML (Cesium Language), KML (Keyhole Markup Language 2,2, Open Geospatial Consortiumi standard, aegmärgitud radadegagx:Track), GeoJSON (Internet Engineering Task Force Request for Comments 7946) ja Ansys STK (Systems Tool Kit) efemeriidid.e(EphemerisTimePosVel, meetrid, üks fail iga liikuva objekti kohta) ning stsenaariumispectrum-id sünteesitud IQ (samafaasiline ja kvadratuurne) hetktõmmise SigMF (Signal Metadata Format) paarina olemasolevasrc/sigmf.rskaudu.--export allkirjutab iga kehtiva formaadi ja trükib, miks teised ei kehti;--export listannab aru jooksutamata. Liikuvad objektid kirjutatakse Geocentric Celestial Reference Systemis (CZMLINERTIAL, STKICRF) ning Maaga seotud WGS 84 (World Geodetic System 1984) pikkuskraadi, laiuskraadi ja kõrgusena (KML, GeoJSON); fikseeritud kohad CZML-is onFIXED. Stsenaariumijamming-id lisab kaks segaja jalajälge oma lingivõrranditest.--import-route <file.geojson>kirjutab GeoJSONLineStringfailideterrain-nav,terrain-slam,gravity-mapjacombined-altpntraja sisenditesse. Eksportid on baidideterministlikud ega kanna ajatemplit.tests/interop_formats.rsvalideerib iga ekspordi selle avaldatud spetsifikatsiooni vastu, võrdleb eksporditud satelliidi olekuid mootori omadega 1 mm täpsusega ja jooksutab iga komplekti kuuluva stsenaariumi läbi iga formaadi, millest igaüks kas eksporditakse või ütleb, miks mitte (tabel failis docs/INTEROP.md). Ükski avaldatud arv ei muutu: stsenaariumispectrum-id IQ süntees viidi üheks jagatud funktsiooniks ja selle tulemusdokument on baidi-baidilt identne ningPassesScenariosaab juurdepropagator()jaepoch_calendar(), mida kasutab selle enda jooksutus. Liikide, stsenaariumifailide ja kontrollimaatriksi ridade arv on muutumatu. Orbiidi- või terviklikkusstsenaarium ilmaepochdateeritakse selle satelliitide enda andmete järgi:t = 0on varaseim TLE (kaherealine elementide komplekt), edastatud efemeriidi või SP3 (Standard Product 3) epohh ning iga selline satelliit pööratakse GCRS-i ja Maaga seotud tugisüsteemidesse oma hetkel; 2000-01-01T00:00:00Z kasutatakse ainult siis, kui ükski satelliit epohhi ei kanna. SP3 ja OEM (Orbit Ephemeris Message) eksportid hoiavad oma sildi 2000-01-01. Selle toetamiseks lisatiSgp4::epoch_jd_utc,Sp3Interpolator::jd_ut1jaPropagator::own_jd_utc; midagi olemasolevat neid ei loe.
Madala Maa orbiidi navigatsioon: signaal
- LEO-PNT signaalikavandid ja mitmeribaline spekter. Uus stsenaariumi
leo-signal-id ja stsenaariumispectrum-id, mis ulatub L-ribast kaugemale: üks liik, neli stsenaariumifaili (kolm komplektis; Celeste IOD fail on ainult hoidlas) ja neli maatriksi rida (kaks VALIDATED, kaks MODELLED).leo-signal: parameetritega madala Maa orbiidi (LEO) positsioneerimise, navigatsiooni ja aja (PNT) signaalikavandid mis tahes süsteemile (riba, saatja ribalaius, ITU jaotus; omandamis-, andme- ja piloodikomponendid BPSK(n), BOC(m,n), MBOC või lamedate spektritega, võimsusosad, FDMA alamkandjad, koodipikkused ja andmekiirused) kompileeritud avalikest eelseadete failidest kataloogisdata/leo-signals/(Xona Pulsar X1/X5, Iridium STL, Starlinki oportunistlik signaal, CentiSpace, esindav C-riba kavand ja esindavad UHF/L/S/C/lai-C kavandid, igaüks oma allika URL-iga) või kirjutatud otse. Signaali kohta: ribapiiratud PSD ja ribasisesed võimsusosad, Gabori ribalaius, ribapiiratud varajase-hilise koodijälgimise värin C/N0 ja vahe suhtes (Betz & Kolodziejski 2009) ning ulatuse täpsus, omandamise otsinguruum, avastamistõenäosus ning keskmine järjestikune ja koodiparalleelne omandamisaeg, SSC GPS L1 C/A, Galileo E1, GPS L5, Galileo E5a, E5b ja AltBOC-sse ja neist koos C/N0 kaoga, CW, lairiba ja sobitatud J/S tolerants spektrikoodi stsenaariumi liigi SSC-koodist, ribade kompromiss (ionosfääriviivitus, vabaruumi sumbumine, ulatus võrdsel C/N0 ja võrdsel EIRP-l, segaja tolerants) ning valikulised kujukontrollid kirjeldatud mõõtmise vastu. Näited:scenarios/leo-band-trade.toml,scenarios/xona-pulsar-signals.toml,scenarios/celeste-iod-classical-pilot-signals.toml(Celeste IOD ribad ja signaali seadistus, mis esitati ESA NAVISP LEO-PNT töötoas, 2026; tagasi hoitud koos Celeste IOD eelseadega, vt „LEO-PNT otsast lõpuni“ allpool). Märkmed failisdocs/LEO-SIGNAL.md.spectrum: ribad võivad nüüd olla eelseatud signaalikavand (iga komponent joonistatud, ribapiiratud, C/N0 ja J/S viidud jälgitavale komponendile) või kohandatud kandja ja modulatsioon;[[panels]]lisavad koskdiagramme muudele sagedusvahemikele ühel ajateljel;wideband(barrage) segaja liitub nelja lainekujuga. Aruanne lisabbands[].tracked_power_dbw,bands[].designjapanelsning ühe kirjenot_modelled. Lihtribad annavad samad arvud kui varem. Näide:scenarios/multi-band-jamming-waterfall.toml.navsignalsaab juurde siinusintegraali, BPSK võimsuse ribas ja ribapiiratud Gabori ribalaiuse kinnisvalemid, ribapiiratud varajase-hilise värina mis tahes spektri jaoks ja selle Gabori piiri, nihutatud BPSK SSC kinnisvalemi, Galileo E5 AltBOC(15 10) spektri ja modulatsioonisildi parseri;Modulation::labeltrükib BPSK(1/3) murruna.- Neli maatriksi rida: VALIDATED ribapiiratud kinnisvalemid (90,3 % BPSK võimsusest peaasagaris, värin, mis taandub Kaplani ja Hegarty koherentsele kujule, 0,0039564 kiipi juures 45 dB-Hz, B_L 1 Hz, d 1 kiip, T 20 ms, ja selle Gabori piirile, ning BPSK enda SSC 2/(3 R_c); Gabori kinnisvalem ja nihutatud SSC selle Parsevali kuju vastu on öeldud sisemiste ristkontrollidena); VALIDATED LEO Doppleri maksimum (Xona X1 33,2 kHz avaldatud 32 kuni 34 kHz piires, Iridium 0,5 kHz piires väärtusest 36 kHz); MODELLED
leo-signal; MODELLED mitmeribaline spekter.
Madala Maa orbiidi navigatsioon: link
- LEO-PNT läbimine ja ribakohane lingieelarve: stsenaariumi
leo-pass-id. LEO-PNT on positsioneerimine, navigatsioon ja aeg madala Maa orbiidi (LEO) satelliitidelt. Kasutaja (maapealne, mere-, õhu- või siseruumides, paigal või liikuv) ja üks või mitu LEO satelliiti kavandatud läbimisest, selgetest elementidest, kaherealisest elementide komplektist (TLE) SGP4 kaudu või Walkeri konstellatsioonist koodiconstellation-designabil. Satelliidi, riba ja epohhi kohta: vaatenurgad, vahemaa, kinnisvalemiga vahemaa muutumiskiirus ja kiirendus (kontrollitud igal jooksutusel kesksete vahedega), Doppler ja Doppleri kiirus, vabaruumi sumbumine, EIRP (ekvivalentne isotroopselt kiiratud võimsus) isovoo-, Gaussi kiire või lameda satelliidimustriga, plaaster-kasutajaantenn, ITU-R P.676 gaasiline sumbumine, ITU-R P.838/P.618 vihmasumbumine, P.618 troposfääri skintillatsioon, ITU-R P.2109 hoonesse sisenemise kadu siseruumi kasutaja jaoks, polarisatsiooni mittevastavus, süsteemi müratemperatuur ja C/N0 (kandelaine ja müratiheduse suhe); esimese järgu ionosfääriviivitus riba kohta Klobucharist või vertikaalsest TEC-ist (elektronide koguhulk), kaldus TEC satelliidi all, ning ionosfäärivabad ribapaarid koos nende müra võimendusega. Galileo või GPS satelliite hinnatakse sama vastuvõtjaga nende liidesedokumentide vastuvõetud võimsustest, nii et kellukakujuline LEO läbimine ja lame MEO (keskmine Maa orbiit) kandelained jagavad ühte graafikut. Jaotis[iot]annab esimese asendilahenduse aja, energia asendilahenduse kohta ja aku eluea töötsükli suhtes (MODELLED).- Süsteemist sõltumatu: mootor ei vaja eelseadet. Valikulised eelseaded, igaüks omas failis ja märgitud PUBLIC (URL-iga), REPRESENTATIVE või WORKSHOP: üldine mitmeribaline (UHF, L, S, C), üldine C-riba, Xona Pulsar X1/X5 (arXiv 2509,19551), Iridium STL, Starlink ainult Doppleri oportunistliku signaalina, CentiSpace ja Celeste IOD (orbiidil demonstratsioon), mille signaaliparameetrid esitati ESA NAVISP LEO-PNT töötoas, 2026, ja asuvad failis
src/celeste_iod.rs, nii et neid saab tagasi hoida (vt „LEO-PNT otsast lõpuni“ allpool). - Avalikud ehituskivid kataloogis
src/leo_link/(geometry, antenna, itu, iono, energy, presets), mida teised moodulid saavad kutsuda. - Stsenaariumid:
leo-pass-vs-gnss-cn0,leo-indoor-uhf,leo-iot-energy,leo-pass-xona-pulsar,leo-pass-iridium,leo-pass-celeste-iod-multiband. - Üheksa maatriksi rida. VALIDATED (6): ITU-R P.838-3 koefitsiendid selle tabeli 5 vastu; P.618-14 vihmasumbumine ja skintillatsioon ITU-R uurimisrühma 3 valideerimisnäidete vastu; P.2109 hoonesse sisenemise kadu uurimisrühma 3 töövihiku vastu; esimese järgu ionosfääri skaleerimine IS-GPS-200 rühmaviivituse suhte vastu koos vabaruumi sumbumisega; ringorbiidi paigalseisva kasutaja Doppleri maksimum arXiv 2509,19551 tabeli 1 vastu. MODELLED (3): läbimine ja lingieelarve, eelseaded ning väikese energiakuluga asendilahenduse eelarve. Üks liik ja kuus stsenaariumifaili. Märkmed failis
docs/LEO-PASS.md.
- Süsteemist sõltumatu: mootor ei vaja eelseadet. Valikulised eelseaded, igaüks omas failis ja märgitud PUBLIC (URL-iga), REPRESENTATIVE või WORKSHOP: üldine mitmeribaline (UHF, L, S, C), üldine C-riba, Xona Pulsar X1/X5 (arXiv 2509,19551), Iridium STL, Starlink ainult Doppleri oportunistliku signaalina, CentiSpace ja Celeste IOD (orbiidil demonstratsioon), mille signaaliparameetrid esitati ESA NAVISP LEO-PNT töötoas, 2026, ja asuvad failis
Madala Maa orbiidi navigatsioon: navigatsioonisõnum
- LEO navigatsioonisõnum (stsenaariumi
leo-navmsg-id,src/leo_navmsg/). Madala Maa orbiidi (LEO) positsioneerimise, navigatsiooni ja aja (PNT) satelliidi edastatav efemeriidi ja kella sõnum mis tahes orbiidi, kandja ja mudeli jaoks; nimetatud eelseaded on valikulised andmed ja iga võimekus töötab ilma nendeta. Üks liik, viis stsenaariumifaili ja üheksa maatriksi rida (kolm VALIDATED, kuus MODELLED). Vtdocs/LEO-NAVMSG.md.- Sõnumi sisu: SVID, andmete väljaanne, riba ja signaali tervis; nädal, nädala aeg ja teist järku kellapolünoom; efemeriid ühes nelja mudeli seast: Galileo OS SIS ICD 16-parameetriline Kepleri komplekt, see komplekt pluss mööda rada, risti rada ja radiaalsed parandupolünoomid, Liu jt 2025 22-parameetriline mudel (doi 10.3390/rs17162894) või ATOMIC nullkella ECEF-polünoom; ning Klobuchari komplekt, NeQuick-G koefitsiendid efektiivse ionisatsioonitasemega ja süsteemiaja ja UTC vaheline parameetrid ICD liigsekundi juhtudega.
- Sobitaja: tõeline orbiit, mis on integreeritud tsooniliste J2–J6 või EGM2008 gravitatsiooni ja takistusega, algväärtusega vaba või juhitud kell, Levenbergi–Marquardti sobitus mittesingulaarsetel elementidel, seejärel lineaarsed vähimruutude parandupolünoomid ja kell, mis on sobitatud kasutaja relativistliku liikme netona.
- Neli analüüsi ja stsenaariumi:
leo-navmsg-fit-interval-trade(kosmosesignaali vahemaavea (SISRE) sõltuvus sobitusvahemikust ja uuendusperioodist),leo-navmsg-model-comparison(neli mudelit, bitid ja Kshana 22-parameetriline sobitus Liu jt kõrgustel avaldatud arvude kõrval, MODELLED),leo-navmsg-midpass-update(pidevus igal sõnumivahetusel läbimise ajal) jaleo-navmsg-encode-decode(Kshana enda dokumenteeritud binaarkaader CRC-24Q ja kvantimiseelarvega, RINEX-4-stiilis plokk, mis on märgitud Kshana laiendiks, ja CSV tabel). - VALIDATED: globaalse keskmise SISRE kaalud Montenbrucki jt 2018 avaldatud keskmise orbiidi ja geostatsionaarse tabeli vastu; Galileo kasutajaalgoritm RTKLIB-i vastu neljal päris Galileo edastatud efemeriidil (
tests/leo_navmsg_reference.rs); CRC-24Q kataloogi kontrollväärtuse ja RTCM 10403 1005 näitekaadri vastu. - Eelseaded, igaüks omas failis allikatega: Xona Pulsar ja Pulsar-0, Iridium, Starlink, CentiSpace, esindav C-riba süsteem, ATOMIC ja Celeste IOD (ainus eelseade, mis kasutab ESA NAVISP LEO-PNT töötoas 2026 esitatud materjali, hoitud failis
src/celeste_iod.rskoos oma stsenaariumidega, nii et seda saab tagasi hoida).
Madala Maa orbiidi navigatsioon: liitmine
- Liidetud MEO + LEO positsioneerimine, navigatsioon ja aeg:
leo-pvt,leo-pppjantn-positioning. Kolm uut stsenaariumi liiki kataloogissrc/leo_fusion/, süsteemist sõltumatud: iga konstellatsioon on Walkeri kihid, elementide komplektid või GNSS-i eelseade, iga signaal kandja, kiibikiirus ja kandelaine ja müratiheduse (C/N0) ümbris, iga veaeelarve selge ühe sigma ning nimetatud madala Maa orbiidi (LEO) süsteemid on valikulised eelseaded, igaüks omas failis oma allikatega, mis on märgitud avalikuks, töötoa- või tuletatuks (Xona Pulsar X1/X5, Iridium Satellite Time and Location (STL), Starlinki oportunistlikud signaalid, CentiSpace, esindav C-riba süsteem, ATOMIC nullkella efemeriidimudel ja üks ESA Celeste orbiidil demonstratsiooni eelseade, mille töötoast tuletatud parameetrid asuvad failissrc/celeste_iod.rs, nii et neid saab tagasi hoida).leo-pvton neli režiimi: Doppleri positsioneerimine (vahemaa muutumiskiiruse partii vähimruudud kellahälbe ja kiiruse olekutega, ainult Doppleri oportunistlike signaalide režiim, ühe läbimise rajasuunaline ja raja-ristisuunaline täpsus ning Doppleri, Doppleri kiiruse ja hoo ümbris); ühine GNSS + LEO kaalutud vähimruudud ühe kellaga süsteemi kohta (süsteemidevaheline nihe) või teadaoleva nihkega, mõõtmispõhised sigmad sisenditena ja DOP LEO satelliitide arvu suhtes; polaar- ja Arktika katvus laiuskraadi suhtes; ning LEO aja edastamine ülemaailmse koordineeritud ajani (UTC) C/N0 ja vastuvõtja ostsillaatori suhtes IS-GPS-200 süsteemiaja ja UTC avaldisega.leo-ppp: ujuv täppispunktpositsioneerimise (PPP) laiendatud Kalmani filter ionosfäärivabal koodil ja faasil, ainult GNSS ja LEO täiendusega, selle koondumisajaga ning Monte Carlo NEES (normaliseeritud hindamisvea ruut) kooskõlatestiga. Komplekti kuuluv stsenaarium annab 7,4 min nelja MEO süsteemiga ja 4,8, 3,2, 2,7 ning 2,3 min vastavalt 60, 96, 192 ja 288 LEO satelliidiga, Li jt 9,6, 7,0, 3,2, 2,1 ja 1,3 min kõrval (J. Geod. 93:749, 2019) suundumuse MODELLED võrdlusena.ntn-positioning: 5G mittemaapealse võrgu (NTN) positsioneerimine 3GPP n256 mobiilsatelliidi S-ribas Cramér-Rao piirist saabumisaja ja Doppleri kohta.- Stsenaariumid:
leo-doppler-positioning,starlink-sop-doppler-positioning,meo-leo-fused-pvt,leo-ppp-convergence,ntn-5g-positioning,polar-arctic-leo-coverage,leo-timing-utc(komplektis) jaceleste-iod-fused-pvt(ainult hoidlas, tagasi hoitud koos Celeste IOD eelseadega). - Kaheksa maatriksi rida: LEO Doppleri ümbris VALIDATED avaldatud Iridiumi (±36 kHz: 35,9 kHz, 5% piires) ja Xona Pulsar X1 (32 kuni 34 kHz: 33,6 kHz 97 kraadi kihist, laienemiseta) arvude vastu (
tests/leo_doppler_reference.rs); Doppleri positsioneerimine, ühine pseudovahemaa positsioneerimine, PPP koondumine, NTN piirid, LEO aeg, polaarkatvus ja eelseaded MODELLED. Kolm liiki ja kaheksa stsenaariumifaili. Dokumentatsioon:docs/LEO-PNT-FUSION.md.
- LEO-PNT otsast lõpuni: stsenaariumi
leo-pnt-chain-id ja kokku ühendatud LEO etapid. Üks madala Maa orbiidi (LEO) positsioneerimise, navigatsiooni ja aja (PNT) süsteem, jälgituna selle signaalikavandist kasutaja asendini, iga etapp mootori enda liik oma stsenaariumitabelil, väärtused edastatakse koodis (docs/LEO-PNT.md):leo-passribad võivad nimetada kavandileo-signal(signal = "xona-x5"): riba võtab kavandi keskpunkti, saatja ribalaiuse ja jälgitava komponendi kiibikiiruse, jagab oma EIRP (ekvivalentne isotroopselt kiiratud võimsus) kavandi komponentide vahel ning annab iga epohhi jälgitava komponendi C/N0 (kandelaine ja müratiheduse suhe) ja ribapiiratud koodijälgimise värina (ulatusviga; paariiono_freemüra kasutab seda samuti). Kavandita riba annab sama väljundi nagu varem.leo-pnt-chainkäitab signaal -> läbimine -> navigatsioonisõnum -> liidetudleo-pvtühine asendilahendus -> valikulineleo-ppp. Iga positsioneerimisetapi LEO süsteem, mis jätab need seadmata, võtab läbimisele sobitatud C/N0 joone sin(kõrgus) kaudu, sõnumi kosmosesignaali vahemaavea (SISRE: selle esitusviga läbimise satelliidi orbiidil koos öeldud orbiidi määramise liikmegaod_sisre_mruutude summa juurena) ning kavandi kandja ja kiibikiiruse; täppispunktpositsioneerimise (PPP) juhud võtavad SISRE. Iga üleandmine on loetletud oma väärtuse ja ühikuga ningtests/leo_pnt_chain.rskontrollib, et kumbki võrdub ülesvoolu väljundiga ja et ülesvoolu muutused liigutavad allavoolu arve.LeoNavmsgScenario::broadcast_sisreon uus sõnumi sisenemispunkt.- Stsenaariumid:
leo-pnt-end-to-end(üldine 1080 km konstellatsioon ja esindav signaalgeneric-l),xona-pulsar-end-to-end(avalik X5 signaal), mõlemad komplektis, ja valikuline, ainult hoidlas olevceleste-iod-end-to-end. - Läbimise, sõnumi ja liidetud positsioneerimise valdkondade Celeste IOD (orbiidil demonstratsioon) eelseaded asuvad nüüd ühes failis
src/celeste_iod.rs, millebuild.rskompileerib sisse ainult siis, kui see olemas on (konfiguratsiooni lippkshana_celeste). Selle viis stsenaariumi (scenarios/*celeste-iod*.toml) on ainult hoidlas, nii et selle faili ja nende stsenaariumide kustutamine hoiab tagasi iga arvu, mis esitati ESA NAVISP LEO-PNT töötoas 2026, ilma lähtekoodi muutmata;tests/workshop_preset_isolation.rskontrollib, millised failid võivad eelseadet nimetada või selle ribaplaani arve kanda. - Iga LEO liik täpsema aruande ristviites, mille teespetsiifilised read on loetletud ainult siis, kui jooksutus seda teed kasutas (vihmakiirus, hoone, analüüs või režiim, mis jooksis).
leo-pvtDoppleri aknad saavadt_sjaleo-pppjuhud saavadt_min, nii et mõlemad animeeruvad;leo-passjaleo-pnt-chainekspordivad CZML-i, KML-i, GeoJSON-i ja STK efemeriide ning teised LEO liigid ütlevad, miks formaat ei kehti.
Madala Maa orbiidi navigatsioon: vastupidavus, fookusvaldkonnad ja lõppkasutaja stsenaariumid
- LEO-PNT vastupidavus, üks stsenaarium katsefookuse valdkonna kohta ja üks lõppkasutaja vertikaali kohta ning
docs/LEO-PNT.mdkogu LEO liikide ja stsenaariumide ülevaatena. Iga stsenaarium töötab ilma Celeste andmeteta ja kuulub komplekti.leo-passsaab jaotise[spoofer]: spuufer võltsib vahemaa ja vahemaa muutumiskiiruse osas isekooskõlaliselt väidetud asendi signaale, mis hüppab ja/või lükatakse tõelisest pärast algust (LEO riba kohta ja MEO GNSS signaal), ionosfääriga või ilma. Kaks monitori töötavad öeldud valehäire tõenäosusel: Doppleri ja läbimise geomeetria kooskõla (mõõdetud vahemaa muutumiskiirused võrreldes nendega, mis on ennustatud orbiitidest ja sõltumatust eelnevast asendist ja kiirusest; üldistatud vähimruutude hii-ruut aknas GNSS, LEO ja kõigil kanalitel, faasilukustussilmuse müra C/N0-st) ja ribadevaheline kooskõla (iga LEO ribapaari mudelikorrigeeritud geomeetriavaba kombinatsiooni samm). Tulemus annab statistikud epohhi kohta (nii et see animeerub), iga paari ja selle, millal iga monitor tuvastab. Ehituskivid failisleo_link::spoof. Jaotise puudumisel on väljund muutumatu.- Iga
leo-passribapaar annab ka kaldu elektronide koguhulga (TEC), mille selle geomeetriavaba kombinatsioon läbimise tipus taastab, ja selle hinnangu koodimüra sigma (ionosfääri sondeerimine). See lisab kaks välja iga mitmeribaliseleo-passtulemusele; ükski olemasolev arv ei muutu. leo-pvtajarežiim võtabtrace = true: iga rida annab siis oma ajavea ja ennustatud sigma igal epohhil samade tõmmetega, nii et rea statistikud on muutumatud ning jooksutus animeerub ja aheldub kampaanias.- Kampaania ekspordib nüüd iga liikmestsenaariumi, millel on geomeetria (faasijooksutused, pühkimise ja Monte Carlo baasstsenaariumid, koostatud liikmed oma seotud ühiste väärtustega), omaette failikomplektina, liikme silt failinimes; varem kampaania midagi ei eksportinud. Koostalituse tabel failis
docs/INTEROP.mdmuutub vastavalt. - Kampaania pühkimisvõti võib indekseerida tabelite massiivi asukoha järgi (
system.2.sisre_m). - Vastupidavuse stsenaariumid:
leo-resilience-multiband-diversity(50 MHz L5-riba pealetung, pühitud võimsuses: iga L-riba signaal kukub, UHF, S- ja C-riba LEO signaalid säilitavad oma C/N0),leo-resilience-js-margin(J/S varu vastuvõetud võimsusest: GPS L5, Galileo E5a ja Xona X5 kaotatud tasemel -105, -100 ja -95 dBW, -135 dBW üldine LEO signaal jälgib endiselt tasemel -90 dBW),leo-resilience-spoof-doppler(30 m hüpe, mille ainult GNSS Doppleri test jätab märkamata ja kõigi kanalite test tuvastab 105 s pärast algust),leo-resilience-spoof-monitors(neli spuufrit mõlema monitori vastu) jaleo-resilience-gnss-jammed-leo-carries(GNSS segatud, S- ja C-riba LEO kiht jälgitud, vastuvõtja autonoomne terviklikkuse seire ainult LEO kihil annab alarmi 2 epohhil 30-st). - Fookusvaldkonna stsenaariumid:
leo-focus-ppp-altitude,leo-focus-ntn-bandwidth,leo-focus-iot-eirp,leo-focus-science-iono-sounding,leo-focus-data-services,leo-focus-indoor-uhf,leo-focus-fused-pnt-sisre(vastupidavus L-, S- ja C-ribas onleo-resilience-multiband-diversity). - Vertikaalide kampaaniad, igaüks animeeritud ja oma LEO läbimisi eksportiv:
leo-vertical-autonomous-vehicle,leo-vertical-rail-maritime(komplekti kuuluvad mere- ja raudteestsenaariumid pluss LEO),leo-vertical-critical-infrastructure-timing,leo-vertical-polar-arctic,leo-vertical-5g-network-timing,leo-vertical-asset-tracking-iot. Ühe rea tulemused failisdocs/LEO-PNT.md. - Kolm MODELLED maatriksi rida: Doppleri ja läbimise geomeetria spuufimismonitor, ribadevaheline spuufimismonitor ja ionosfääri sondeerimine.
tests/leo_resilience_verticals.rskontrollib monitore (vaikivad enne algust, Doppleri statistik ruutfunktsioon hüppes, maapealse spuufri ionosfääri samm ja ionosfääri teadliku spuufri puhul selle puudumine), sondeerimise samasust, ajarida rea statistikute vastu ja seda, et kampaania eksport võrdub iga liikme enda omaga. - Stsenaariumi
leo-pass-id leht liigub failidocs/LEO-PASS.md;docs/LEO-PNT.mdon ülevaade.
Mere-, maantee- ja raudteestsenaariumid
- Mere-, maantee- ja raudteestsenaariumid. Viis komplekti kuuluvat näidet olemasolevatel liikidel, nii et laevadel, maanteesõidukitel ja rongidel on igaühel läbitöötatud juhtum. Iga arv on MODELLED; ühtki pole valideeritud mõõdetud andmete vastu.
scenarios/maritime-strait-jamming.toml(jamming): 50 W laiaribaline segaja 30 m mastil, 30 km kaugusel avaveel laevast. Keskmine segaja ja signaali suhe (J/S) umbes 48 dB ning kättesaadavus langeb väärtuselt 1,00 väärtusele 0,00.scenarios/maritime-port-approach-coast.toml(ins-trn-coast): navigatsioonitaseme inertsiaalnavigatsioonisüsteem (INS) kiirusel 12 sõlme, GNSS kadunud ja ilma toetuseta. See ületab 10 m 281 s järel ja 100 m 833 s järel, Rahvusvahelise Mereorganisatsiooni (IMO) resolutsiooni A.1046(27) sadamasselähenemise ja ookeaniveekogude arvud, mida siin kasutatakse eelarvetena.scenarios/maritime-spoof-position-push.toml(spoof-detect): +2 dB, mitte kandelainega joondatud spuufer, mis lükkab nelja satelliiti, et lohistada laeva 500 m. Liidetud monitor tuvastab selle (skoor 0,70 läve 0,50 vastu) vastuvõtja autonoomse terviklikkuse seire (RAIM) ja signaali kvaliteedi seire (SQM) abil; ainult võimsuse seire jätab selle märkamata.scenarios/automotive-urban-canyon.toml(gnss-ins): auto 15 s alt läbisõidu ja 60 s teeäärse segaja katkestuse kaudu, 1,5 m poole sõidurea eelarve vastu. Liidetud katkestuse ruutkeskmine (RMS) viga on 1,9 m autotööstuse klassi mikroelektromehaanilise süsteemi (MEMS) seadme puhul ja 0,7 m taktikalise taseme võrdlusseadme puhul; vabalt jooksval seadmel triivib MEMS seade 850,8 m-ni.scenarios/rail-tunnel-coast.toml(ins-trn-coast): taktikalise taseme INS rongil kiirusel 160 km/h tunnelis. See ületab 2 m (rööpa eristamine) 35,8 s järel, umbes 1,6 km sisenemisest, ja 20 m 107,3 s järel. See on ainult INS: mootoril pole odomeetrimudelit, nii et see on pessimistlik piir. README stsenaariumifailide arv liigub väärtuselt 77 väärtusele 82. Kõik viis kuuluvad komplekti käsukshana examplejaoks ja on loetletud brauseri mänguväljakul.
Model Context Protocoli server
Model Context Protocoli (MCP) server ulatub iga liigini ja jooksutuse iga vaateni: seitse uut tööriista, kokku neliteist.
run_scenariojaotas juba iga liigi; agendil puudus tee liigi kehtiva stsenaariumini ja kolme väljundini, mida käsurida kirjutab tulemuse kõrvale. Uued tööriistad:list_example_scenariosjaget_example_scenarioteenindavad komplekti kuuluvaid etalonstsenaariume (tabelkshana example), igaüks oma liigi ja oma päise esimese lausega, bait-baidilt fail kataloogisscenarios/. Stsenaarium, mis on hoidlas, kuid ei kuulu komplekti, lükatakse tagasi koos põhjusega. Igal liigil pealelunar-llr-datum(mille andmelõik tarnitakse ainult hoidlaga) on vähemalt üks näide.report_scenarioannab jooksutuse aruande JSON-ina (JavaScript Object Notation) või prinditava HTML-lehena (HyperText Markup Language) (docs/REPORTS.md).animate_scenarioannab jooksutuse ajatarja animeeritud SVG (Scalable Vector Graphics) joonisena, HTML esitajana või nummerdatud kaadritena, pärast JSON kokkuvõtet sellest, mis joonistati (docs/ANIMATION.md). Vastus kannab kuni 120 kaadrit; käsurida kirjutab mis tahes pikkuse.list_export_formats,export_interopjaimport_routeteenindavad koostalituse eksporte ja GeoJSON marsruudi importi (docs/INTEROP.md): CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON, STK (Systems Tool Kit) efemeriid.eja SigMF (Signal Metadata Format), failide JSON registriga (järelliide, suurus ja SHA-256, 256-bitine Secure Hash Algorithm räsi) ja binaarse SigMF valimifailiga base64 kujul.
Teek saab vaikimisi väljalülitatud funktsiooni
bundled-scenarios, mis avab etalonstsenaariumide tabeli kuikshana::bundled_scenarios; ainult MCP server lülitab selle sisse, nii et Pythoni wheel ja WebAssembly moodul ei kanna endiselt stsenaariumi teksti. Uuringukomplektid (--study) jäävad ainult käsurealiidese omaks, sest komplekt nimetab kettal olevaid faile ja server ei loe ühtki. Edasi-tagasi testid käitavad iga uue tööriista komplekti kuuluvate stsenaariumide vastu ja kontrollivad mootori arve: spekter, päikesesüsteem, konstellatsioonid Kuu ja Europa ümber, kampaania pühkimine ning madala Maa orbiidi (LEO) signaali, läbimise, navigatsioonisõnumi, liidetud positsioneerimise, täppispunktpositsioneerimise, mittemaapealse võrgu ja otsast lõpuni liigid. Iga pind, mis nimetab MCP tööriistade arvu või loetleb tööriistad, ütleb nüüd neliteist, välja arvatud mänguväljaku leht kataloogisweb/, mis asendatakse saidiga.
kshana.dev, Kshana Studio ja README
- Ümber kujundatud kshana.dev. Üksik mänguväljaku leht on asendatud mitmelehelise saidiga: Home, Missions, Capabilities, Evidence, Developers, Editions ja Docs, Kshana Studio ühe klõpsu kaugusel. Iga selle diagramm, kaart ja arv on selle väljalaske mootori salvestatud jooksutus koos stsenaariumi ja lingiga, mis avab sama jooksutuse uuesti Studios; saidi ehitus lükkab tagasi teise mootori commit'i tehtud salvestuse. Dokumentatsioonilehed genereeritakse hoidla kataloogist
docs/ja paigaldusvalikud selle kanalitest. Fondid ja skriptiteegid serveeritakse kshana.dev'ist endast, nii et ükski leht ei päri midagi kolmanda osapoole hostilt. Vanad aadressid (/#playground,/#ledger,/#s=<scenario>jagamislingid,/?embed=1&…manuselingid ja ülejäänud) suunavad ümber oma uude kohta ning tundmatu aadress saab 404 lehe. - Kshana Studio, töölaud iga võimekuse jaoks. Studio avaneb algekraanil valdkonnaplaatide ja headelt esimeste jooksutustega, seejärel viib jooksutuse läbi viie nummerdatud sammu: Vali stsenaarium, Sea selle parameetrid, Käivita mootor kohapeal brauseris, Loe tulemusi (esmalt põhinäitajad, igaüks PASS või FAIL märgiga, kus jooksutus ütleb läve, seejärel paneelid) ja Jaga või ekspordi. Üks otsingukast leiab stsenaariume, valdkondi ja nendes olevaid välju ning hüppab juhtelemendile; jooksutusi saab kinnitada ja võrrelda; leivapuru ütleb, kus ollakse; telefonis muutuvad sammud sammuribaks. Igal stsenaariumi liigil on oma vaade, sealhulgas spektri koskdiagramm, päikesesüsteem, konstellatsiooni katvus, kampaaniad, animatsioon, jooksutuse aruanne, koostalituse eksportid ja madala Maa orbiidi ahel. Süvalink (
?scenario=…&tab=…) avab sama jooksutuse nimetatud paneelil. - Uurimistöö ja tsiteerimine. Lehel Evidence on loetletud viis Kshana artiklit arXivis (2606,22054, 2606,24210, 2607,02566, 2607,05415 ja 2607,06212), igaüks koos kokkuvõtte, selle mootoriga arvutatud joonise, seda reprodutseeriva käsu, Studio lingi ja BibTeXiga, tarkvara tsiteerimise juhendi kõrval. README saab sama jaotise Research.
- Avalik leht Kshana Pro jaoks.
docs/PRO.mdja saidi leht Editions ütlevad, mida suletud lähtekoodiga Pro kiht samale mootorile lisab (kavandioptimeerija, määramatus ja tundlikkus, missioonidosjee, kampaania jälgimine, spektri kooseksisteerimine, kohapealne tööteenus, nõuete jälgitavus), mida iga neist toodab ja mida see ei tee. Iga Pro arv, mida sait näitab, on öeldud selles avalikus lehes. Pro ei lisa ühtki füüsikalist mudelit ja avatud mootor jääb tervikuks ja vabaks. - Ümber kirjutatud README. Lühikesed jaotised, üks pilt jaotise kohta, Kshana märk, kaks märgirida, genereeritud arhitektuuri-, stsenaariumivoo-, madala Maa orbiidi ahela ja kontrollimise pildid (
tools/gen_readme_assets.py, mis ebaõnnestub aegunud pildi korral) ning Studio ekraanipildid, mis on tehtud töötavast Studiost tööriistagatools/capture_studio_shots.mjs. crates.io, PyPI, npm-i ja MCP serveri README-d järgivad sama kujundust. Pikk viitematerjal on kokku volditud või viidud kataloogidocs/.
Muudetud#
- Fail
<scenario>.report.htmlon nüüd täpsem jooksutuse aruanne, mida kirjeldatakse jaotises Lisatud, ja käsurealiidese ridawrote …nimetab ka faili<scenario>.report.json. Ühelehekülgne tulemuskaart, mille see asendas, on muutumatu kujulRunOutput::html_report(), mida Pythoni ja WebAssembly sidumised endiselt tagastavad.OracleKind::modelled_reason()avab lause, milledocs/MODELLED-RATIONALE.mdtrükib iga MODELLED rea kohta; see dokument on muutumatu. - README ütleb, mille peale Kshana Pro ehitab. Jaotis Editions ja Kshana Pro rida jaotises „Support & professional services“ ütlevad nüüd, mida Pro mudelipõhise süsteemitehnika (MBSE) ja programmi tööriistad teevad ning milliseid avatud mootori avaldatud väljundeid see loeb (iga jooksutuse
result.jsonjareport.json, stsenaariumifail, väljaühikute skeem ja kontrollimaatriksi sildid) ning millel kella digitaalsed kaksikud, kompromissiuuringud ja tõendipaketid avatud mootoris põhinevad. Ainult sõnastus: mootori väljund ega ükski avaldatud arv ei muutu. - Ühilduvus. Avalik enum
navsignal::Modulationsaab variandiMboc, mis on katkestav muudatus kutsujale, kes seda ammendavalt sobitab. Stsenaariumiephemeris-id veerudgcrs_r_mjagcrs_v_m_smuutuvad (vt „Avaldatud arvude parandused“). Jooksutuse reprodutseerib endiselt see mootori versioon, mis selle tegi.
Parandatud#
MCP serveri
export_table_csvnimetas ainsatena CSV (komadega eraldatud väärtused) tabeliga neli liiki; tabeli avaldab kuus. Tööriist tagastas tabeli alati stsenaariumiletelecom-timingja stsenaariumileleo-navmsg(selle analüüsencode-decodemudelilkepler16võikepler-rac), kuid selle kirjeldus, keeldumissõnum ja liike loetlevad dokumendid jätsid mõlemad välja, nii et agendile öeldi mitte küsida. Need on nüüd nimetatud ja edasi-tagasi test toob mõlemad tabelid kätte.Madala Maa orbiidi (LEO) navigatsioonisõnumi kaader ei olnud samad baidid igal platvormil ega ühe platvormi igas ehituses.
scenarios/leo-navmsg-encode-decode.tomlkodeeris kaadri tsüklilise liiasuskontrolliga0x110315väljalaskeehituses aarch64 macOS-il,0x898BD8sama lähtekoodi silumisehituses samal masinal ja0x6A82D9WebAssembly (WASM) ehituses;leo-navmsg-celeste-iod.tomlandis natiivselt0x6EDB2Dversus0xC6E4F0brauseris. Kolm põhjust, igaüks jälgitud esimese lahknevuva väärtuseni:- Platvormide vahel. Tõeline orbiit oli mõlemal bitt-bitilt identne; sobituse lähtepunkt ei olnud.
truth::state_to_elementsvõtab oskuleeriva kaldenurga funktsioonistacosja periapsise argumendi funktsioonistatan2ning kaks matemaatikateeki ümardavad neid viimases kohas erinevalt (üle 20 000 argumendi lähevad need lahku 781 siinuse, 858 koosinuse, 1 931 eksponentfunktsiooni ja 1 899 kahe argumendiga arkustangensi puhul). - Ehitusprofiilide vahel. Optimeeritud ehitus macOS-il ühendab ühe argumendi siinuse ja koosinuse üheks kutseks süsteemi kombineeritud rutiinile ning selle siinus ei ole üksiku
sinoma 379 argumendi puhul 200 000-st; optimeerimata ehitus teeb kaks kutset. Stsenaariumi liik võtab siinuse ja koosinuse koos kolmeteistkümnes kohas. - Kellas. Teegi
rand_distrnormaaljaotuse valimivõtja kutsub oma kahes harvas harus hosti funktsiooneexpjaln: nelja miljoni algväärtusega tõmbe seas kolm erinesid viimases bitis natiivse ja WASM ehituse vahel.
Levenbergi–Marquardti sobitus, mis sellel kaarel peatub oma 80 iteratsiooni piiril, mitte miinimumis, kannab ühe ühiku viimases kohas üle erinevatesse kvantitud väljadesse. Stsenaariumi liik arvutab nüüd iga transtsendentse funktsiooni uue faili
src/portable_math.rskaudu, mis kutsub puhast Rust-i teekilibm(juba sõltuvuspuus, nüüd nimetatud failisCargo.toml), mis on kompileeritud ühest lähtekoodist iga sihtmärgi jaoks, mitte teegikutsest, mida optimeerija ümber kirjutab:leo_navmsg::{truth, fit, elements, codec, sisre, services}ja stsenaariumikood. Täisarvulised astmed sellel teel on kirjutatud välja ruutu tõstmise ja korrutamisena, sestf64::powitäpsus on määratlemata, ja tõelise kella normaaljaotuse hälbed tõmmatakse funktsioonistportable_math::standard_normal(Marsaglia polaarmeetod generaatori toorväljundil). Jagatud rutiinid, mille kaudu tõeline orbiit integreeritakse, on kirjutatud üks kord, matemaatikateegi suhtes üldistatult, koos kasti sisemise_portablesisenemispunktiga olemasoleva kõrval: sfäärilise harmoonilise kiirendus, tsoonilised ja takistuskiirendused, J2 sekulaarsed kiirused ja Klobuchari viivitus. Olemasolevad sisenemispunktid on viimase bitini muutumatud, nii et ühegi teise stsenaariumi liigi arv ei liigu.leo_navmsg::tests::the_encoded_frame_is_the_same_bytes_on_every_platformkinnitab kogu 171-baidise kaadri ja ühe kontrollväärtuse iga efemeriidimudeli kohta tavalises (optimeerimata) testiprofiilis igal platvormil ja ilma baashosti väravata;the_kind_never_calls_the_host_mathematics_libraryloeb stsenaariumi liigi lähtekoodi kettalt ja ebaõnnestub omase transtsendentse kutse, valimivõtjarand_distrvõi ülevaatamata mooduli kutse korral. Pärast muudatust annavad silumisehitus, väljalaskeehitus ja WASM ehitus kõigi viie stsenaariumileo-navmsgjaoks baidi-baidilt identsed tulemusdokumendid. See muudab arve, mis siin parandusena kirjendatakse. Stsenaariumileo-navmsg-id on selles väljalases uus, nii et midagi varasemas väljalases avaldatut ei liigu, kuid igaleo-navmsgarv liigub, natiivselt ja WASM ehituses, ning sellega koos etappnavmsgstsenaariumisleo-pnt-chain: orbiidi arvud, sest sobitus algab nüüd portatiivsetest elementidest, kella arvud, sest tõeline kell on sama protsessi teistsugune realisatsioon.docs/LEO-NAVMSG.mdgenereeritakse uuesti uutest tulemustest; selle avaldatud kontrollväärtus kodeerimise ja dekodeerimise stsenaariumi jaoks oli0x110315ja on0x19105F(asend 1,126 mm piires täpsest sõnumist, kus see oli 0,665 mm, kell 0,185 mm piires, kus see oli 0,451 mm). Muutuste suurus millimeetri murdosa arvudes on sobituse tundlikkus, mitte kummagi komplekti viga: sobitus on muutumatu ja peatub endiselt oma iteratsioonipiiril.- Platvormide vahel. Tõeline orbiit oli mõlemal bitt-bitilt identne; sobituse lähtepunkt ei olnud.
Algväärtusega ümbervalim tõmbas 32-bitisel sihtmärgil teistsugused indeksid.
Rng::gen_rangetüübiusizekohal võtab generaatorilt 64 bitti 64-bitisel hostil ja 32 bitti 32-bitisel, nii et sama algväärtus andis teised indeksid ja jättis voo mujale, WASM ehituses. Kolm kohta tõmbasid nii: protsentiilide bootstrapid funktsiooniseval_stats(bootstrap_ci,bootstrap_auc_ci), segamine enne iga treeningläbimist funktsioonisimpairment_mlja permutatsioonitest funktsioonisimpairment_study. Nüüd tõmbavad need funktsiooniportable_math::uniform_indexkaudu, mis valib alati tüübinau64: täpselt nagu 64-bitine host, nii et ükski natiivne arv ei liigu. See muudab WASM paketi avaldatud arve, mis siin parandusena kirjendatakse: stsenaariumiquantum-anomaly-detect-id kõvera aluse pindala bootstrapi vahemik (quantum_auc_ci,trade.foms[0].ci95) oli brauseris[0.9901265, 0.9938305]ja on nüüd natiivne[0.99035875, 0.993861].STK efemeriidifailide nimed liikuja tunnustest. Liikuja tunnus, milles oli
/või tühik (konstellatsioonikiht ja satelliit,Pulsar inclined/S1-0163), pani käsurealiidese käsul--export stkpaanikasse; iga tunnus läbib nüüd turvalise failiosa (tähed, numbrid,-,_).TEME→GCRS nutatsiooni märk, mida kirjeldatakse ülal jaotises „Avaldatud arvude parandused“, sest see muudab avaldatud väljundit.
0.28.0 - 2026-09-26#
Lisatud#
- Stsenaariumi liik
slot-timing(src/slot_timing.rs): sekundid, kuni vabalt jooksev kell lahkub ajaindekseeritud marsruutimise või ülesandestamise pesa valvest, iga sel hetkel panustav liige koos nimetatud domineerivaga, pärast viimast asendilahendust järele jäänud aeg ning suurim asendilahenduse intervall, mis hoiab kella sees, asendilahenduse latentsuse netona. Kell tuleb klassi vaikeväärtusest, telecom-timing andmelehe eelseadest, otseandmelehest (Alani hälbe maksimumid, vananemine, temperatuurikoefitsient) või mõõdetud faasikirjest. Rikkumine, mis ületab pikima keskmistamisaja, mida allikas toetab, märgitakse ekstrapoleeritud. Komplekti kuuluv näide:slot-timing-ocxo-leo. Vtdocs/SLOT-TIMING.md. - Mõõdetud punase müra põhi. Faasikirje kattuv Alani hälve sobitatakse kaalutud vähimruutudega valge faasi ja IEEE Std 1139 sagedusmodulatsiooni baasis (
slot_timing::fit_weighted), iga punkt kaalutud oma ekvivalentse vabadusastmete arvuga, nii et holdover'i vastus võib toetuda kella enda põhjale klassi eelduse asemel. Kaalumata sobitus pani valge müra testikirjele võlts-flikkerpõhja ja lühendas 2 000 s rikkumist 30 % võrra. - Holdover'i pöördamise suletud komplektiga valideerimine päris kellal (
tests/slot_timing_cs5071a_holdout.rs): sobitatud 5071A tseesiumi ja vesinikmaseri kirje esimesele kolmandikule, jäävad ennustatud ühe sigma rikkumised kuuel lävel vahemikus 0,5 kuni 2,5 ns väärtuse 0,84 kuni 1,03 piiresse teisel kahel kolmandikul mõõdetud rikkumistest, lävi 1,5 fikseeriti enne testi esimest käitamist. Kontroll (ühesekundiline Alani hälve loetud valge müraga) eksib umbes 1 000-kordselt ja ei täida lävendit. Uus VALIDATED registri (ledger) rida; töövoogrealdata-clockkäitab seda nüüd. - Sama ennustus päris kristallostsillaatoril (
tests/slot_timing_ocxo_holdout.rs,scripts/fetch_ocxo.sh): mõõdetud ahjuga juhitud kristallostsillaatoril on suletud komplektiga ennustus konservatiivne, 0,59 kuni 0,70 mõõdetud rikkumisest ega kunagi hilisem, ja enamasti lävendi 1,5 väljaspool, sest selle ostsillaatori mürapõhi vähenes 5,5-tunnise kirje jooksul poole võrra; valimis sobitatuna jääb see piiridesse 0,98 kuni 1,17. Kristallijuhtum ei ole valideeritud ja jääb MODELLED. Jooksutus paljastas ka puuduva liikme: kristalli sagedus hulbib, nii et mudel kannab nüüd asendilahenduse hetkel teada oleva sageduse määramatust (fix_frequency_sigma); ilma selleta oli ennustus optimistlik kuni 2,5× võrra. - Sama ennustus orbiidil olevatel aatomkelladel (
tests/slot_timing_igs_holdout.rs,scripts/fetch_igs_clocks.sh): 14 päeva International GNSS Service'i lõplikke kelli GPS Block IIF satelliitidele, protokoll kirja pandud enne andmete allalaadimist. Kaheksa kümnest satelliidist jääb lävendi 1,5 sisse; G25 ja G30 ennustavad rikkumisi kuni umbes kaks korda hilisemaks kui mõõdetud. Protokoll nõuab, et iga satelliit läbiks, nii et orbiidi juhtum ei ole valideeritud ja jääb MODELLED; tulemus on kinnitatud. - Temperatuuriga kompenseeritud kristalli (TCXO), ahjuga juhitud kristalli (OCXO) ja rubiidiumi aatomsagedusstandardi (RAFS) kellaklassid (
ClockClass::Tcxo,Ocxo,Rafs), osad, mida lennutab kaubanduslik väikesatelliidi buss või maapealne lüüs, igaüks tsiteerib ühte avalikku andmelehte (ClockClass::source). LisatudClockClass::ALL,idjafrom_id. Stsenaariumiquantum-tradeparameeterbaseline_clock_classaktsepteerib kolme uut tunnust. Avaliku enumi variantide lisamine on katkestav muudatus kutsujale, kes seda ammendavalt sobitab. - Ajakaitsetase orbiidil olevale vastuvõtjale (
src/orbital_timing.rs, stsenaariumislot-timing-id valikuline jaotisspoofing): kui kaua maapealne spuufer võib madala Maa orbiidi satelliidini ühe läbimise jooksul ulatuda, tõmme, mille öeldud maksimaalse kasvukiirusega spuufer kogub, enne kui satelliit lahkub selle ulatusest või jookseb sõltumatu kontroll, ning kas iga maakontakti- või ristlingi kontroll on sellest spuuferist sõltumatu. Taandub täpselt funktsiooniletpl::timing_protection_level_nskellal ilma flikker-, valge faasi või juhusliku jooksu müra. MODELLED. - Kolm märget:
docs/SLOT-TIMING.md(sealhulgas see, millise hulkumismõõdiku vastu tuleks pesa vastu võtta: maksimaalne absoluutne ajaviga, mitte maksimaalne ajaintervalli viga ega ajahälve, ja miks),docs/DECEIVED-TIME.md(petetud ajal rakendatud allkirjastatud käsk suunab endiselt valesti) jadocs/DEPLOYMENT-TARGETS.md(kus Kshana töötab;no_stdlennutuuma ei pakuta).
0.27.4 - 2026-09-26#
Väljalase v0.27.3 jõudis crates.io-sse (kshana ja kshana-mcp) ja PyPI-sse, seejärel peatus npm-is, nii et npm, ghcr.io MCP kujutis, MCP register, JetBrains Marketplace ja kshana.dev ei saanud seda kunagi kätte. 0.27.4 kannab sama mootori koos allpool oleva väljalaskeparandusega igasse kanalisse.
Parandatud#
- npm-i avaldamise samm nimetab tarballi selge teega. npm loeb paljast
npm-dist/kshana-0.27.3.tgzGitHubi lühendiksowner/repo, nii et v0.27.3 npm-i töö üritas kloonidagithub.com/npm-dist/kshana-0.27.3.tgzja ebaõnnestus teatega „Permission denied (publickey)“. Tarball ise oli ehitatud ja atesteeritud. Samm avaldab nüüd./npm-dist/*.tgz. Kõik pärast npm-i väljalaskejärjekorras (MCP kujutis, JetBrains plugin, kanalite pariteedi kontroll ja sait) jäeti vahele, nagu kavandatud.
Muudetud#
- Telecom-timing ja
gnss-insühikute kataloogid on kopeerimise ja kleepimise tuvastamisest vabastatud, sama poliitika ja põhjendustesti alusel nagu teised kataloogid. SonarCloudi kvaliteedivärav oli uue koodi dubleerimise tõttu punaseks läinud (4,0% versus 3%) ning iga dubleeritud plokk oli ühikute rida või ITU-T maski kirje.
0.27.3 - 2026-09-25#
Lisatud#
scenarios/small-uas-jammed-nav.toml: kui kaua väikese drooni navigatsioon peab vastu pärast GNSS-i segamist. See käitab lennujuhtimisklassi mikroelektromehaanilist (MEMS) inertsiaalseadet Bosch BMI088 taktikalise taseme seadme vastu. GNSS (ülemaailmne satelliitnavigatsioonisüsteem) signaal on nominaalne 100 s, seejärel keelatud 60 s (jamming-demo.tomlnäitab, miks lähedal olev segaja seda teeb). BMI088 nihked on jäägid, mis jäävad pärast käivituskalibreerimist, võetud selle andmelehe temperatuurikoefitsientidest (BST-BMI088-DS000-19 rev 1,9): 0,015 °/s K kohta güroskoobile ja < 0,2 mg K kohta kiirendusmõõturile. Failis on märgitud kaks eeldust: 10 K soojenemine pärast kalibreerimist ja jätkuv soojenemine 1 K minutis lennul. Lennuaegne triiv on viga, mida filter ei jõua enne segamise algust õppida, ja see lõpetab rannikusõidu. Iga arv on modelleeritud; selle valideerimiseks on vaja segatud keskkonna lennulogisid.kshana example small-uas-jammed-navtrükib selle.Iga stsenaariumi
gnss-insandur saab seada oma filtri eelteadmise ([imu_quantum.filter_prior]või[imu_classical.filter_prior], koossigma_accel_biasjasigma_gyro_bias). Vaikeväärtus on muutumatu, nii et iga olemasolev stsenaarium annab sama tulemuse. Tarbijaklassi seadme jääkgüroskoobi nihe asub umbes 26 sigmat taktikalise taseme vaikeväärtusest väljas, kus filter ei õpiks seda kunagi. Eelteadmine, mis ei ole lõplik ja positiivne, lükatakse tagasi ning tulemus kordab eelteadmist, kui see on seatud.kshana example [<name>]annab registrikasutajale stsenaariumi käitamiseks. Kasutajalcargo install kshanaon käivitusfail ja kataloogiscenarios/pole, nii et esimene käsk, mille iga kiirstart andis, ebaõnnestus. Käsurealiides (CLI) kannab nüüd 75 etalonstsenaariumi, mis jooksevad üksi, bait-baidilt, kompileeritud kataloogistscenarios/(src/bundled_scenarios.rs; tabel asub CLI binaaris, nii et Pythoni wheel ja WebAssembly moodul ei kasva).kshana exampleloetleb need;kshana example clock-holdover > clock-holdover.tomlkirjutab ühe. Teised kaks faili on ainult hoidlas:lunar-llr-datumloeb arhiveeritud kuu laservahemõõtmise andmeid, mis tarnitakse ainult hoidlaga, jaquantum-pnt-demonstrator.suiteon uuringumanifest, mis käitab kolm kõrvalfaili käsuga--study. Kummagi küsimine ütleb põhjuse ja lõpetab koodiga 2, selle asemel et trükkida midagi, mis ei saa üksi jooksta.tests/cli_first_run.rshoiab tabeli kataloogiga kooskõlas mõlemas suunas, nii et uus stsenaariumifail, mis ei kuulu komplekti ega ole nimetatud ainult hoidlas olevaks, ebaõnnestub.Iga kella, orbiidi, hübriid- või liitmistulemuse näitaja ütleb nüüd tulemuses endas, kas see on VALIDATED või MODELLED. Tulemusdokument saab ploki
figure_tiers, alati selle viimase võtmena. See loetleb iga teatatud näitaja (näiteksquantum.fom.timing_p95_ns) selle tasemega — VALIDATED tähendab kontrollitud sõltumatu välise sõltumatu etaloni vastu, MODELLED tähendab esimestest printsiipidest mudelit, mida testitakse sisemiselt — ja kontrollimaatriksi reaga, millest tase loetakse. Tase tuleb failistsrc/verification.rsfailisrc/fom_label.rskaudu, nii et teist tabelit, mis laiali läheks, pole. Enne seda esinesid sõnad „valideeritud“ ja „modelleeritud“ kella holdover'i tulemuses null korda ning toorest JSON-i (JavaScript Object Notation) lugev lugeja ei saanud neid kahte eristada. Positsiooninäitajatelhybridjafusionpole omavat maatriksi rida, nii et need on loetletud kategooriasuntieredtaset andmata. Plokk ei kanna arve. See on tõestatud lisandiks, mitte eeldatud: selle eemaldamine annab muudatuse-eelse dokumendi tagasi bait-baidilt kõigi viie liigi puhul (mootori test) ja mõlemad golden-harnessid (tests/registry_golden.rs,tests/cross_platform_golden.rs) eemaldavad nüüd täpselt selle võtme, ja ainult siis, kui see on viimane, seejärel räsivad ülejäänu oma muutumatute külmutatud konstantide vastu. Loend igas harnessis kinnitab, millised stsenaariumid peavad plokki kandma, nii et väljajätt ei saa vaikselt laieneda.Stsenaariumi
telecom-timing-id vastab ajastusinseneri ühikutes: ajaviga, maksimaalne ajaintervalli viga (MTIE) ja ajahälve (TDEV), igaühel PASS või FAIL ja varu Rahvusvahelise Telekommunikatsiooniliidu telekommunikatsioonistandardimise sektori (ITU-T) maskide vastu. Maskid on ümber kirjutatud kehtivatest väljaannetest: G.8272 (07/2025) esmase etalonaja kella (PRTC) klassidele A ja B, G.8272.1 (2024) Amd. 1 (07/2025) täiustatud PRTC jaoks lukustatud režiimis ja holdover'is (sealhulgas selle ajavea ümbris, mis tõuseb 30 ns-lt 100 ns-ni holdover'i perioodi jooksul, mille määrab see, kui kaua kell oli lukustatud), G.8273.2 (2023) Amd. 2 (11/2025) telekommunikatsiooni piiri- ja ajaorjakellade jaoks, klassid A kuni D, ja G.8271.1 (2022) Amd. 3 (05/2025) võrgupiiridele tugipunktis C. Iga kirje, mille need soovitused jätavad „edasiseks uurimiseks“, on puudu, mitte hinnatud, jadocs/TELECOM-TIMING.mdloetleb iga arvu koos selle tabeli või klausliga ning iga väljajäetud punkti. Aruanne annab ka aja, mil iga ajavea eelarve ületatakse: vaikimisi 100 ns ePRTC holdover'i vaikeväärtus, 400 ns võrgu holdover'i jaotus, 1 100 ns punkti C piir ja 1,5 mikrosekundi klassi 4 otsast lõpuni nõue.Sisend on kas sünteetiline holdover või oma jada. Sünteetiline kasutab ühte nelja ostsillaatori eelseadest (ahjuga juhitud kristallostsillaator, rubiidiumstandard, tseesiumstandard ja kiibiskaalas aatomkell), igaüks kannab nimetatud Microchipi andmelehe stabiilsuse, vananemise ja temperatuuri arve. Kuidas need arvud muutuvad valgeks, flikker- ja juhuslikuks kõnnisageduse müraks, vananemiseks ja temperatuuriliikmeks, on öeldud igas aruandes ja märgitud MODELLED. Oma jada on paarid
[time_s, time_error_ns], otse (nii see brauseris jookseb) või natiivsetes ehitustes komadega eraldatud väärtuste failist. MTIE/TDEV tabel, iga valitud maski piiriga selle kõrval, kirjutatakse jooksutuse CSV artefaktina.scenarios/telecom-prtc-holdover-24h.tomlon 24-tunnine rubiidiumi holdover vananemise, flikkeri ja ööpäevase temperatuuritsükliga: selle suurim ajaviga on 603,2 ns, see ületab 100 ns 8 206 s pärast kadu ja jääb kogu päeva 1,5 mikrosekundi sisse ning ei täida täiustatud PRTC holdover'i ümbrist, nagu kell, mis pole tseesiumiklassi, peabki.scenarios/telecom-tie-ingest.tomlnäitab otsesisendit. Stsenaariumi liigi teatatud MTIE ja TDEV on kontrollitud paketi allantools vastu kinnitatud 2 048 valimiga holdover'i jadal, MTIE täpselt ja TDEV 1.1e-15 piires, nii et maatriks saab ühe VALIDATED rea ja kaks MODELLED rida (maski ümberkirjutus ja eelseaded) ning on nüüd 171 rida — 65 VALIDATED, 102 MODELLED, 4 PARTNER. Väljaühikute katvus läheb 60-lt 61 liigist väärtusele 61 62 liigist ja 1 742 kirjeldatud väljalt väärtusele 1 788. Stsenaariumi liik on uus ja lisanduv: ükski olemasolev stsenaarium, kinnitus ega avaldatud arv ei liigu.Mänguväljak käitab mootorit taustal Web Workeris, nii et aeglane stsenaarium ei külmuta enam lehte.
web/engine-worker.mjshostib WebAssembly mootorit jaweb/engine.mjssuunab sellele iga stsenaariumi täitmise — jooksutused, parameetripühkimised ning SP3 / OMM / OEM / CSV eksportid. Jooksutus, mis kestab üle 150 ms, näitab hõivatud olekut (Run keelatud, „Running… N s“) ja nuppu Cancel, mis lõpetab ja taaskäivitab workeri; brauser, mis ei saa moodulworkerit käivitada, langeb tagasi vanale põhilõime teele.cislunar-arc-recovery, mis jäeti kataloogist välja, sest see külmutas lehe, on tagasi selles, märgitud aeglaseks: see võtab Chrome'is umbes 13 s (neli mootorikutset umbes 3 s kaupa), mille jooksul leht jääb reageerivaks.Iga stsenaariumi
cislunar-observabilityteatatud suurus kannab nüüd ühikut, päritoluklassi ja määratlust — viimane liik, välja arvatud üks, kogu kasti hõlmavas erandite loendis. Kõik 41 RELEASED dokumendi arvuvälja on kirjeldatud, nii et väljaühikute katvus läheb 59-lt 61 liigist väärtusele 60 61 liigist ja 1 698 kirjeldatud väljalt väärtusele 1 742, määratluseta mahajäämus on muutumatult 239.Seda blokeeris kinnitus, mis külmutab välja antud dokumendi ja mis nimetas
unitsvõtmena, mida dokument ei tohi kunagi juurde saada. Selle lisamine oleks tähendanud selle väite kustutamist ja kolme räsi uuesti baseerimist kolmes failis — kuju, mida ei saa eristada regressiooni varjamisest. Selle asemel tõestavad kaks kinnitust, mis seda dokumenti mõõdavad, nüüd, et lisandus on lisanduv: kumbki eemaldab plokiunitstagasi ja räsib uuesti enne ploki olemasolu külmutatud konstandi vastu ning mõlemad konstandid on muutumatud. Mutatsioon kinnitab, et garantii on päris — väljalastud väärtuse liigutamine ja kogu dokumendi räsi uuesti baseerimine nii, nagu hooletu parandus seda teeks, ei takista siiski eemalda-ja-räsi-uuesti ebaõnnestumist. Kolmas kinnitus üldises registri golden-harnessis on uuesti baseeritud kooskõlas kuue õdega, mis uuesti baseeriti täpselt sel põhjusel, ja selle väärtust kandevexpect_summaryliteraal ei liigu.realtime-frame-eopteatab, millise tõe vastu iga Maa orientatsiooni rida hinnati ja kui sageli varuvariant rakendus.table3_joint_eop[].{ut1, polar_motion,combined}saavadtruth_sourcejatruth_fallback_rows. Põhifinalhinnatakse Bulletin B lõpliku vastu ja see saab kasutada ainult epohhe, mis ühe avaldavad; igadNrida hinnatakse funktsioonitruth_pm()/truth_ut1()vastu, mis langevad tagasi Bulletin A kiirele väärtusele. Komplekti kuuluval 2026 väljavõttel on see 12 valimit 31-st ühe päeva juures, versus 0 põhjal — nii et põhjarida ja selle kõrval olevad ennustusread toetuvad mõõdetavalt erinevale tõele, mida aruanne nüüd ütleb, selle asemel et jätta see järeldada valimiarvust, mis kasvab seal, kus pesastatud horisondid ütlevad, et see ei saa.moonlight-service-volumeannab suuruselt sobitatud Kepleri baasjoone.ephemeris_comparison.keplerian_matchedjooksutab illustratiivse konstellatsiooni uuesti RETRIEVED komplekti enda satelliitide arvuga, olemas ainult siis, kui arvud erinevad. Arv on selle kavandi geomeetria osa — RAAN ja keskmine anomaalia on mõlemad jaotatud kujul360k/n— nii et ilma selleta hinnati viiest satelliidist saadud komplekti kaheksa satelliidiga illustratiivse komplekti vastu ning kavand ja suurus aeti segi. Viie satelliidiga LANS etalonkomplekti puhul osutub 14,24-punktilisest katvuslõhest 8,68 kolmeks puuduvaks satelliidiks ja ainult 5,56 punkti kavandiks; nelja tegelikult Kuu orbiidil oleva kosmoselaeva puhul saavutab sihipäraselt ehitatud neljasatelliidine komplekt 4,86 %, kus need saavutavad 0 %. Test kinnitab, et sobitatud rida on uuesti ehitatud konstellatsioon, mitte seatud konstellatsioon ümbernimetatud, nagu see algselt kirjutati ja mida jooksutus siis teatas.Üheksa võimekuse kaarti avalikul saidil, mis katavad 22 kontrollimaatriksi rida, mis tarniti ilma tootetasandi kaardita. Mootor oli kasvatanud võimekuste perekonna — ARAIM kontroll avaldatud Working Group C etalonvektorite vastu, päris saadud Kuu konstellatsiooni geomeetria, Kuu keelamise kontuur mõõdetud C/N₀ ribaga, VLBI-ajakava ja jaama kovariatsiooni samm, optiline ja RF üleandmine ristmodaalse rikkesüstimisega, reaalajas Maa orientatsiooni ennustus arhiveeritud Bulletin A vastu, navigatsiooni ja side avause jagamine, INS/TRN rannikusõit ning ühikute ja päritolu katvus — igaühel oma maatriksi rida ja komplekti kuuluv stsenaarium ning ühtegi neist ei nimetatud saidil kshana.dev. Kaardi ja rea katvus läheb 72-lt 168 realt väärtusele 94.
Mänguväljaku kataloogi lisati kaheksa stsenaariumi. Võimekuse kaardi nupp Run ilmub ainult siis, kui
web/app.jskannab ka faili; kuus kaarti nimetasid stsenaariumi, mida see ei kandnud, nii et need renderdati ilma võimaluseta neid käitada — üks neist, päris laservahemõõtmise andmepunkt, oli selles olekus alates tarnimisest.tests/scenario_examples_doc_sync.rskontrollib nüüd invarianti mõlemas pooles: kaardi sihtmärkrunpeab olema komplektis kataloogisscenarios/ja kataloogi pakutav. Mutatsioonitestitud mõlema rikkerežiimi vastu.Stsenaariumi
moonlight-service-volumeväljastab oma satelliidipõhise geomeetria failina<scenario>.table.csv, kui eksportimiskoht on seadistatud (G11). See on suurim massiiv, mille kast avaldab — 2304 rida välja antud ühises side- ja navigatsioonitabelis — ja see jõudis tarbijateni ainult JSON-i sees, kujul, mis lühendas õdestsenaariumi 57-punktilise kõvera 23 punktini veeru all, mis väitis neid kõiki. Üks rida lingi kohta, ridade arv päisereal, antennide veerud olemas ainult siis, kui antenn oli seadistatud. Jooksutus ilma eksportimiskohata on baidi-baidilt muutumatu ega kirjuta faili.SBOM kirjeldab nüüd seda, mis tarnitakse: 60 komponenti sai 66-ks.
scripts/gen-sbom.shloetles iga vaikefunktsioonide lahenduse paketi, sealhulgas arendussõltuvused. See pani materjalide loendissesgp4jachrono— ainult testimiseks mõeldud craty, mis pole ühtegi artefakti kompileeritud — ja jättis välja ahela--features python, millega PyPI wheel lingib (pyo3,pyo3-ffi,pyo3-macros,pyo3-macros-backend,pyo3-build-config,portable-atomic,target-lexicon,heck), mis on selle wheel'i võõrfunktsioonide piir. Skript käib nüüd lahenduse graafi läbi paketist kshana ainult tavaliste ja ehitusservade kaudu, vaikimisi,pythonjawasmfunktsioonikomplektide liidu kohal (npm-i pakett kannab sedasama SBOM-i), iga sihtplatvormi jaoks. Kinnitatud CycloneDX standardi järgimise otsus baseeritakse uuesti selle kinnitatud generaatori kaudu: 60 → 66 komponenti, 53 → 60 liitlitsentsiavaldist ja endiselt null skeemiviga, kui need on paigutatud standardsesse kujusseexpression.CSV reprodutseeritavuse tabel jõuab igale uksele, mitte ainult käsurealiidesele ja Pythoni wheel'ile. MCP server saab seitsmenda tööriista,
export_table_csv, mis jooksutab stsenaariumi ja tagastab baidistabiilse tabeli, mille käsurida kirjutab failina<scenario>.table.csv— või vea, mis nimetab liigid, mis seda avaldavad (realtime-frame-eop,lunar-time-budget,lunar-jammingjamoonlight-service-volumeainult siis, kuiexport_site_lat_deg+export_site_lon_degon seatud). WebAssembly moodul saab funktsioonitable_csv, mis tagastab sama teksti võiundefined. MCP edasi-tagasi test ja Pythoni sidumise testid kinnitavad nüüd tagastatud CSV-d bait-baidilt failitests/golden/realtime-frame-eop.csvvastu ning kinnitavad, etRunOutput.write_csvtagastab kirjutatud baidid ja väärtuse 0 ilma faili loomata liigi puhul, millel tabelit pole. Iga pind, mis nimetab MCP tööriistade arvu või loetleb tööriistad, ütleb nüüd seitse.run_allWebAssembly moodulis: üks mootori jooksutus iga väljundi jaoks.run,chart_svg,summaryjatable_csvtäidavad igaüks stsenaariumi otsast peale, nii et mänguväljak maksis iga klõpsu eest nelja täisjooksutuse — umbes 12 s asemel 3 s stsenaariumicislunar-arc-recoveryjaoks brauseris.run_alltagastab{json, svg, summary, csv}ühest jooksutusest ja mänguväljak kasutab seda nüüd. See ühtib nelja eraldi kutsega bait-baidilt.
Parandatud#
PARANDUS: GNSS/INS filtri güroskoobi nihke sidestusel oli vale märk ja stsenaariumi
gnss-inskatkestuse arvud muutuvad. Veaoleku laiendatud Kalmani filter (EKF) hoiab mõlemat inertsiaalset nihet jääkidena (tõeline miinus jooksev hinnang, tagasi toidetud liitmisega). Kiirendusmõõturi veerg juhtis kiiruse viga väärtusega+C_b^n b_a, kuid güroskoobi veerg juhtis orientatsiooniviga väärtusega−C_b^n b_g. Jääkgüroskoobi nihe pöörab arvutatud orientatsiooni tegelikult väärtusega+C_b^n b_g, nii et iga güroskoobi nihke hinnang lükkas vales suunas. Pakett püsis stabiilne ainult seetõttu, et selle vaikimisi güroskoobi nihke eelteadmine (1e-4 rad/s, 1-sigma) oli piisavalt kitsas nende olekute paigal hoidmiseks. Laiema eelteadmisega filter hajus ka siis, kui tõeline güroskoobi nihe oli null: 93 m liidetud katkestuse viga sai 4,3 km-ks. Stsenaariumiscenarios/gnss-ins.tomlavaldatud arvud muutuvad järgmiselt:gnss-ins.tomlenne (≤ 0.27.2) pärast külma aatomi IMU, liidetud katkestuse RMS 96,1 m 1,9 m külma aatomi IMU, nõuetekohane rannikusõit (50 m) 30 s 60 s (kogu katkestus) taktikaline IMU, liidetud katkestuse RMS 62,5 m 3,1 m taktikaline IMU, nõuetekohane rannikusõit (50 m) 37 s 60 s (kogu katkestus) Vabalt jooksvad arvud (130,7 m ja 314,3 m) ei muutu; need ei kasutanud kunagi filtrit. Paketi varasem lugemine, et liidetud rannikusõitu piirab üleandmise orientatsioonipõhi ja see seetõttu parema anduriga ei parane, oli selle vea artefakt ja see võetakse tagasi. Konstantsete, müravabade nihete korral õpib filter need nüüd ära, kuni GNSS on olemas, nii et liidetud rannikusõit on parim juhtum. Väline filterpy etalon (
tests/gnss_ins_sensor_fusion_reference.rs) kontrollib ainult mõõtmisuuendusi, mistõttu see ei näinud kunagi levitamist. Kaks testi kontrollivad nüüd märki otse ja mõlemad ebaõnnestuvad vana märgi korral. Esimene, failisclosed_loop.rs, söödab teadaoleva jääkgüroskoobi nihke läbi strapdowni ja nõuab, et filter ennustaks tekkiva orientatsiooniveaga 2 % piires. Teine nõuab, et lai eelteadmine õpiks 1e-3 rad/s güroskoobi nihke ja püsiks 6 m sees. Stsenaariumignss-insplatvormideülene golden on selleks põhjuseks uuesti kinnitatud ja ühelgi teisel.Iga registri kiirstart töötab nüüd puhtal masinal nii, nagu on kirjutatud. Enne seda muudatust mõõdetult lugesid crates.io ja PyPI (Python Package Index) näited
scenarios/clock-holdover.toml, mida registripaigaldus ei sisalda, ja npm-i näide jooksis Node.js-is kokku veagaTypeError: fetch failed, sest paketiinit()toob oma WebAssembly binaari ja Node'ifetchei saa lugeda kohalikku faili. Nüüd:README.crates.mdjaREADME.pypi.mdkannavad seda stsenaariumi otse, naguREADME.npm.mdjuba tegi. Rust-i plokk on terve programm oma funktsioonigamain, sest rustdoc'is peidetud rida# Ok::<…>, millega see lõppes, on crates.io-s nähtav ja ei kompileeru kleebituna.tests/readme_code_fences_doc_sync.rskompileerib seda endiselt bait-baidilt ja nüüd keeldub ka peidetud reast plokis.README.npm.mderaldab brauseri Node.js-ist ja annab Node'i retsepti, mis loeb binaari kettalt ja annab selle funktsioonileinitSync. Doc-sync test aktsepteeribinitSynclaadijana, mille wasm-bindgen genereerib.- Kõik kolm manustavad stsenaariumi lühendamata päritolustringidega, nii et stsenaariumi räsi on igal pinnal
5ba83a232b94. npm-i näide lühendas neid varem, mis andis sellele käsurealiidesest erineva räsi. - Reprodutseeritud selle puu kohalikest ehitustest: värske
cargo newprojekt teesõltuvusega pakendatud craty peale ehitas ja käitas Rust-i näite; maturiniga pakendatud lähtekoodist ehitatud wheel, paigaldatud uude virtuaalkeskkonda, käitas Pythoni näite; ja pakettwasm-pack --target web, pakitud ja npm-iga paigaldatud, käitas Node'i retsepti. Kõik kolm trükkisid sama kokkuvõtterea.
cargo run -- <scenario.toml>töötab kloonist.Cargo.tomlseabdefault-run = "kshana". Ilma selleta keeldus cargo teatega „could not determine which binary to run“, mille tabas iga dokumentatsiooni ridacargo run --.Käsurealiidese esimese minuti vead ütlevad, mida järgmisena teha. Stsenaariumi tee, mida pole olemas, lisab nüüd vihje, mis osutab käsule
kshana example, ja teine positsiooniline argument trükib kasutusteksti lisaks argumendi nimetamisele.--help,--version, tundmatu valiku viga (väljumiskood 2) ja käsu--validateühe reaok:õnnestumisel olid juba main-harus.tests/cli_first_run.rskatab nüüd need kõik, sest ükski test ei käitanud binaari ühegi nende jaoks varem.Pythoni
list_kinds()on dokumenteeritud ühe JSON-stringi tagastajana, mitte loendina. See tagastab samad metaandmed, misscenario_kinds(), serialiseeritult, nii et selle läbikäimine käib märke. See säilitab oma stringitagastuse, et olemasolevad kutsujad ei katkeks.kshana.pyi, sidumise dokumentatsioonikommentaar,docs/PYTHON_API.mdjaREADME.pypi.mdütlevad seda nüüd ja osutavad funktsioonilescenario_kinds().Kolm registri README-d kirjutavad iga lühendi esimesel kasutamisel lahti. PNT on nüüd lahti kirjutatud tunnuslauses, kus see esimest korda esineb, ning CLI, TOML, JSON, SVG, CSV, CSAC, HTML, URL ja API on lahti kirjutatud failides, mis neid kasutavad. Sõltumatu etaloni tabeli pealkiri ei ütle enam „CI-gated“ enne, kui CI on defineeritud.
Parandatud avaldatud arv: kahe konstellatsiooni ARAIM kättesaadavus kaasasoleval Celestraki GPS + Galileo TLE-del.
docs/CAPABILITY.mdväitis, et Galileo koondamine tõstab kättesaadavuse väärtuselt 0,21 väärtusele 0,67 VAL-i 12 m juures ja et konstellatsiooniviga taluv režiim on ainult kahe konstellatsiooniga piiratud. See tuli sellest, ettests/araim_dual_real_data.rspropageeris iga satelliiti selle enda TLE epohhist (parse_propagatorskaotab epohhi), ja nende failide epohhid hõlmavad 70,6 h (GPS) ja 335,7 h (Galileo), nii et satelliidid asusid vastastikku ebajärjekindlatel aegadel. Test hoiab nüüd iga epohhi (parse_tle) ja hindab iga satelliiti ühel ühisel UTC hetkel, komplekti hilisimal TLE epohhil (2026-06-07T07:21:04). Mõõdetud kättesaadavus sama 24 h, 289 valimi võrgul on nüüd ainult GPS 0,993 (oli 0,208), koondatud 1,000 (oli 0,671) ja konstellatsiooniviga taluv kaksik 0,990 (oli 0,031); APV-I piiril läheb kaksikrežiim väärtuselt 0,180 väärtusele 1,000. Järeldus pöördub: järjekindlal taevalaotusel kannavad kaks konstellatsiooni konstellatsioonivea hüpoteesi VAL-i 12 m juures. Samad arvud tulevad ka varaseima TLE epohhiga etalonina. Testi enesekontroll kinnitab selle kättesaadavuse tsükli valim valimi haaval funktsioonilearaim_dual_constellation_availability, nii et ainus erinevus on ajajoondus.docs/CAPABILITY.mdjadocs/REAL_TLE_GUIDE.md§ 3 kannavad uusi arve; allpool olev kirje 0.13.0 jäetakse nii, nagu see välja anti.Avalikud pinnad ei reklaami enam RINEX 4 valideeritud olevana. Mootor keeldub nüüd RINEX 4 navigatsioonifailist nime järgi, mitte ei dekodeeri seda valesti, kuid standardite võrk näitas endiselt kaarti „RINEX 3 / 4“ siltiga valideeritud, seotud navigatsiooniparseri RINEX-3 tõendiga. Kaart on nüüd „RINEX 3“ ning README,
docs/CAPABILITY.md,docs/STANDARDS.md,ROADMAP.mdja võimekuse kokkuvõte ütlevad, mis on tõsi: RINEX 3.0x vaatlusfailid parsitakse, 4,00 vaatluse paigutust oodatakse parsitavaks, kuid ühtegi 4,00 faili pole koodiga läbi loetud, ja RINEX 4 navigatsioonifailidest keeldutakse.--validateütleb, millal „ok“ tähendab, et polnud midagi kontrollida. Umbes kaks kolmandikku kataloogist ei avalda ühtki kohustuslikku välja — need paketid käitavad oma etalonkonfiguratsiooni tühjast kehast — nii et lint võis neile trükkida ainult „ok“, samade sõnadega, mida kasutas pärast kuue välja kontrollimist. Õnnestumise rida ütleb nüüd, mitu kohustuslikku välja leiti olemasolevana, või et liik ei nõua ühtegi.scripts/gate.shkeeldub mittenumbrilisestREPEATvõiTEST_THREADS. Bash-i 3,2 all põhjustasREPEAT=noarvuvõrdluse vea ja hindamise väärana, nii et värav teatas „repeatability loop SKIPPED (REPEAT=0)“ väärtuse kohta, mis polnud 0, ja kirjutas siiski kviitungi. Mõlemad nupud väljuvad nüüd koodiga 2, kui need pole lihtsad täisarvud.MSRV on öeldud väärtusena 1,85 kõikjal, kus inimene seda loeb.
Cargo.tomlliikus eelmisel väljalaskel väärtusele 1,85; README märk, paigaldus- ja tõrkeotsingu tekst,codemeta.jsonning MCP kasti enda põhjendus ütlesid endiselt 1,75.Pythoni sidumise
RunOutput.__repr__teatab baite, mitte „chars“. See trükkis UTF-8 stringidelen(), mis on baitide arv: 710 „chars“ 708 märgi pikkuse tabeli kohta.README ei dokumenteeri enam koos
--study --study-name.--study-nameon ühe stsenaariumi lipp, mida ignoreeritakse koos--study(binaar hoiatab). Kaks kopeeri-kleebi näidet failides README.md ja README.crates.md näitavad nüüd uuringukäsku üksi.Saidi kella stabiilsuse tõend ütleb välja mõlemad jälgitud tolerantsid. 5071A tseesiumi rida reprodutseeritakse täpsusega ≤ 3e-5 ja PHASE.DAT täpsusega ≤ 5e-5; lõik andis mõlema jaoks 3e-5.
Kaks mootori väljundfaili ei ole enam jälgitud.
scenarios/quantum-pnt-demonstrator.study.{json,html}templiti mootor 0.20.0 iga näitaja tühjaga ja README enda uuringukäsk kirjutas need üle, määrides puu ja blokeerides push-värava.*.study.json/*.study.htmlignoreeritakse nüüd nagu teisi nelja mootori väljundit.Algväärtuse pühkimine mänguväljakul ei ebaõnnestu enam iga jooksutuse korral. Pühkimine astus täisarvulist nuppu
seedlineaarselt (1, 10,9, 20,8, …) ja mootor, lugedes seda tüübinau64, lükkas iga murdväärtuse tagasi. Täisarvulised nupud pühivad nüüd selgeid täisarve.Iga mänguväljaku allalaadimine ütleb, milline mootor ja milline sisend selle tegi. Mõned liigid (nt
realtime-frame-eop) ei väljastaengine_versionegascenario_hash, nii et nende allalaadimised nimetati lihtsaltkshana-csv.csv. Nimi langeb nüüd tagasi laaditud mootori versioonile ja stsenaariumi teksti 12-kohalisele hex FNV-1a-64 sõrmejäljele.
Muudetud#
Avaldatud crate on vähem kui pool oma varasemast suurusest ja
cargo install kshanaehitab ainult käsurealiidese. Pakett sisaldas varem artikleid, nende esitamispakette, artiklijooniste artefakte, märkmikke,docs/, hooldajate skripte ja näiteprogramme. Ühtki neist ei kompileeri teek ega käsurealiides. See sisaldas ka kolme sisemist generaatorit kataloogissrc/bin/(crossover_study,gen_validation_artifacts,validation_report), nii et registripaigaldus kompileeris ja paigaldas neli käivitusfaili, millest kolm olid kasulikud ainult tõmmise sees. Need puud ja kolm generaatori lähtefaili on nüüd välja jäetud. Cargo loetleb paketi binaarid selle sisalduvatest failidest, nii et avaldatud manifest nimetab ainultkshana. Kloonis leitakse generaatorid endiselt automaatselt, nii etcargo run --bin <name>ja väljalasketöö, mis käitabvalidation_report, on muutumatud. Mõõdetud käsugacargo package: 763 faili, 16,7 MiB, 6,8 MiB tihendatult enne; 591 faili, 10,5 MiB, 3,0 MiB tihendatult pärast. Selle kontrollehitus, mis kompileerib ainult pakendatud failid, läbib.cargo install --pathpakendatud craty peal paigaldas ühe käivitusfaili,kshana.Väljund, mida ajastusinsener saab lugeda: enam pole
p95 0.0ns, enam polesecurity 0.000ilma rünnakuta ja saidiarvud ühtivad README-dega. See on kuvaparandus. Ükski avaldatud arv ei muutu; JSON väärtused on identsed, mida ülal olevad golden-räsid tõestavad.- Ühe rea kokkuvõte trükkis optilise kella 95. protsentiili (p95) ajavea kujul
0.0ns, samal ajal kui selle kõrval olev tabel näitas 1.20e-4 ns. Nullist erinev ajastusarv, mis on ühe kümnendkoha jaoks liiga väike, trükitakse nüüd kolme tüvenumbriga (p95 1.20e-4ns); täpne null trükitakse endiselt kujul0.0. HTML (HyperText Markup Language) aruanne, uuringu võrdlustabel ja mänguväljaku allalaaditav aruanne kasutavad sama reeglit, nii et ükski nullist erinev arv ei trüki ka kujul0.000. securityon analüütiline spuufimise tuvastatavuse piir, mis tähendab midagi ainult seadistatud rünnaku vastu. Liigidclock,orbit,hybridjafusionei seadista ühtki, nii et nende kokkuvõte trükib nüüdsecurity n/a (no attack)numbri nagu0.000asemel, mis loeb nagu ebaõnnestunud tuvastus. Väärtus jääb failifom.security, märgitudapplicable: falseja põhjus failisfigure_tiers, ning aruandetabelid näitavad „not applicable“. Stsenaariumispoof-id hindab tuvastamist endiselt.- Kaks kokkuvõtte kinnitust failis
tests/registry_golden.rsliikusid just nendel kahel põhjusel ja mitte ühelgi teisel:golden_clock(kvant-p95 ja mõlemad väärtusedsecurity) jagolden_orbit(mõlemad väärtusedsecurity; selle p95 väärtused on täpselt null). Nende kogu dokumendi räsid ei liikunud. README, kolme õpetuse ja nende õppestsenaariumide oodatud kokkuvõtted on vastavalt uuendatud jatests/tutorials.rskontrollib õppekoopiaid mootori vastu. - Mänguväljaku juhendatud tutvustus ei avane enam esmasel laadimisel. Selle modaal püüdis esimesed klõpsud ja selle esiletõst kerias lehe külastaja maandumiskohast eemale. See algab nupust „Take the 60-second tour“ või ujuvast nupust Tour.
- Leht ei keri enam telefonis külgsuunas. Kell 390 px läks kaubamärgirida ja GitHubi nupp umbes 410 px sisuks, 4 px ületäitumine; päis mahub nüüd alates 320 px ja näitajate tabel keritakse oma kasti sees, mitte ei laienda lehte.
- Võimekuse uurija juhtis oma kaartide arvuga („46 capability cards … 17 backed by an external oracle“) README-de kõrval, mis ütlevad 64 168-st. Nüüd juhib see kontrollimaatriksiga, loetuna genereeritud failist
web/data/verification-matrix.json(sama maatriks, millele README arvud on kinnitatud), ja nimetab kaardid seejärel kokkuvõttekihina, mis need on.web/counts.test.mjs, uus samm pideva integratsiooni (CI) töövoos, kontrollib aritmeetikat ning ristkontrollib faili README.md ja lehe kirjeldusi;tests/web_validation_counts_doc_sync.rskinnitab ühenduse Rust-i poolelt.
- Ühe rea kokkuvõte trükkis optilise kella 95. protsentiili (p95) ajavea kujul
Avalik kirjeldus juhib nüüd ajastuse ja holdover'iga, kõige paremini valideeritud valdkonnaga. README avang ja
docs/POSITIONING.mdesitavad Kshanat avatud, reprodutseeritava, päritolu märgistava PNT vastupidavuse tõendimootorina: kriitilise taristu ajastus ja holdover esimesena (Alani, modifitseeritud Alani, ajahälbe ja maksimaalse ajaintervalli vea hindajad ning holdover'i rannikuvariatsiooni pöördamine on selle taga olevad VALIDATED read), kvant kui neutraalne kvant-versus-klassikaline kompromissi meetod, mille tulemused on märgitud MODELLED, ning Kuu / tsislunaarne (Maa–Kuu ruum) ja kaugkosmose navigatsioon hooldatavate võimekustena, mitte pealkirjana. Mõlemad lehed ütlevad nüüd, mis Kshana ei ole — mitte raadiosageduslik signaalisimulaator ega riistvara-ahelas rig, mitte MATLAB/Simulinki, STK ega Orekiti asendaja — ja osutavad uuele stsenaariumi liigiletelecom-timingja faililedocs/TELECOM-TIMING.md. Vana rida „there is no good open tool“ on kadunud: otsing, mis midagi ei leia, ei ole tõend, et midagi pole olemas.ROADMAP.mdsaab dateerimata prioriteetide järjekorra (ajastus esimesena, kvantkompromiss teisena, Kuu hooldatav) ja loobub kolmest aegunud punktist (Coriolise ja valgusnihke süstemaatilised vead, NRHO algtingimused ja Kuu stsenaarium, kõik tarnitud); README rida „Coriolis and light-shift remain roadmap“ on parandatud samamoodi.docs/CAPABILITY.mdlõpetas alahindamise. Maaga seotud tugisüsteemide rida ütles „none“, samal ajal kui maatriks hindab GCRS→ITRS VALIDATED; see on nüüd „full“ ja põhitugisüsteemide rida kirjendab ANISE ristkontrolli tarnituks. Juhendatud režiim oli loetletud teekaardil; mänguväljak on tarninud juhendatud liugurid ja juhendatud tutvustuse. Pühkimine failisrc/verification.rsvastu parandas veel viis rida, mis eelnesid oma valideerimistele: Cowelli jõumudel ning partii- ja järjestikune orbiidi määramine Orekit 12,2 vastu, jaamaläbimised Orekiti kõrgusnurga detektori vastu, täpsuse halvenemise teguri tuum gnss_lib_py vastu ja OEM import sõltumatu parserioemvastu; kontrolli ja valideerimise rida nimetab nüüd valvureid, mis kontrollivad, et iga tsiteeritud test on olemas.Sõnastik selgitab, mida tulemusfail ütleb.
docs/GLOSSARY.mdsaab lihtkeelsed kirjed väljundterminite jaoks (holdover, p95, terviklikkus, turvaskoor, PDOP,sigma_y,q_wf), telekommunikatsiooni ajastusterminite jaoks (ajaviga, max|TE|, cTE, dTE, MTIE, TDEV, PRTC, ePRTC, T-BC, T-TSC, OCXO, CSAC) ja kolme tõendustaseme jaoks (VALIDATED, MODELLED, PARTNER).Lühendid on lahti kirjutatud esimesel kasutamisel igas käsitsi kirjutatud avalikus dokumendis. README-l ja 24 failil kataloogis
docs/oli mitusada lühendit kasutatud enne oma lahtikirjutust või ilma selleta; igaüks on nüüd lahti kirjutatud seal, kus see selles failis esimest korda esineb. Kolm genereeritud faili (docs/VERIFICATION-MATRIX.md,docs/MODELLED-RATIONALE.md,docs/SCENARIOS.md) jäetakse rahule: need kirjutatakse failidestsrc/verification.rsjaapi::list_scenario_kinds(), nii et nende sõnastus tuleb muuta allikas.Ridade katvusel on ametlik mõõtmine.
docs/COVERAGE.mdkirjendab 95,63 % (37 697 rida 39 419-st) CI tööltcoveragecommit'ilb1d350djatests/coverage_figure_doc_sync.rskinnitab viis avalikku pinda „~96%“ selle külge — ainus pealkirjaarv, mida hoiti käsitsi ja mis oli juba kord märkamatult liikunud.Uued dokumendi sünkroonimise väravad pindadele, mida miski ei lugenud.
tests/readme_code_fences_doc_sync.rskontrollib igaimport { … } from "kshana"JavaScripti plokis WebAssembly ekspordi vastu ja kinnitab README.crates.md Rust-i näite bait-baidilt koopiale, mille testi binaar kompileerib.tests/security_md_doc_sync.rsebaõnnestub, kuisrc/lib.rskaotab#![forbid(unsafe_code)]või SECURITY.md lõpetab selle väitmise.tests/no_overclaims.rsskannib nüüd ka failiweb/README.mdja kolme registri README-d ning iga saidil olev standard peab omaproofselgelt ütlema.Kaks päris riistvara kellakontrolli jooksevad runneril.
realdata-clock.yml(kuuti ja käsul) toob 5071A ja PHASE.DAT read ning käitab mõlemad testid seadegaKSHANA_REQUIRE_REALDATA=1, nii et puuduv sisend ebaõnnestub, mitte ei jäeta vahele. Mõlemad toomisskriptid on kinnitatud ühele allantools commit'ile ja kontrollivad SHA-256.Pythoni tüübitükk kontrollitakse ehitatud wheel'i vastu (
mypy.stubtestsidumiste töös), mille tõttucsv/write_csvtarniti tükita.Sõnastik defineerib URE, EOP, FoM, CTI ja TIB, mida README ja register (ledger) kasutasid paljalt.
Iga liigi avaldatud väljalepe on nüüd tõene ja test hoiab seda seal. Viis 61 liigist muutus. Liigid, millel on mittetühi
required_fields, lähevad 21-lt 22-le:ephemerisnõuab nüüdtle|orbit+epoch(paljaskind = "ephemeris"läbis varem--validateja ebaõnnestus siis jooksutuses) ningquantum-tradelisabcandidate_adev_taus+candidate_adev_values|candidate_clock_class, mida selle jooksutus juba nõudis. Nõutav kirje võib kasutada|(üks neist) ja+(kõik need koos);--validatemõistab mõlemat.lunar-joint-od-clock,pvtjaearth-gnss-lunaravaldavad 9 tõelist valikulist välja, mille nad olid välja jätnud.docs/SCENARIOS.mdütleb nüüd, etkindon nõutav iga liigi puhul pealeclock.tests/required_fields_are_true.rskontrollib iga liiki selle tarnitud stsenaariumi vastu: iga nõutava kirje eemaldamine peab põhjustama jooksutuse ebaõnnestumise ja dokument, mis sisaldab ainult nõutavaid välju, peab jooksma.JetBrains Marketplace'i märkmed on värava taga.
scripts/check-version-sync.shebaõnnestub nüüd, kui failiplugin.xmluusim kirje<change-notes>ei nimeta tarnitavat versiooni; seitse avaldatud versiooni olid serveerinud märkmeid 0.22.0 muutmata kujul.Tehnilise aruande katvuse arv on mõõdetud arv.
paper/kshana-technical-report.mdütles „near 97 %“; nüüd ütleb see near 96 % (95,63 % mõõdetud,docs/COVERAGE.md) ja on kuues pind, mida katvuse test kinnitab.Põhilõimest väljas oleva mootorikliendi testitakse (
web/engine.test.mjs, CI-s): saatmise lubatud loend, tühistamine ja taaskäivitamine, kolm põhilõime varuteed ja krahhist taastumine, võltsworkeri vastu.Midagi ei avaldata, enne kui sildistatud commit on oma testid läbinud, ja väljalase ei ole valmis, enne kui iga register seda serveerib. Järjekord on nüüd silt, kontroll, avaldamine, pariteet, sait, ühes jooksutuses failist
release.yml(docs/RELEASING.md).- Avaldamine ootab otsust.
publish.yml,mcp-publish.ymljajetbrains-plugin.ymlei käivitu enam sildi push'ist;release.ymlkutsub neid töödest, millel onneeds: verify. Varem võistlesid need sellega: versioonil v0.27.2 olid crates.io, npm ja Python Package Index (PyPI) kõik avaldanud 4,5 minuti jooksul sildist javerifytagastas 84 minutit pärast seda; versioonil v0.27.0 avaldasid npm ja PyPI, samal ajal kui crates.io töö ebaõnnestus. Käsitsi kordust sildil hoiab tagasi uusscripts/check-release-verdict.sh, mis nõuab rohelistverifytäpselt selle commit'i jaoks Actionsi liidesest ja ebaõnnestub suletuna kõige muu korral. - Kõik ehitatakse enne, kui midagi üles laaditakse, ning crates.io, mille pakendamise samm oli see, mis väljalaske keskel ebaõnnestus, avaldab esimesena.
- Puuduv registri märk ebaõnnestub töö, selle asemel et laadimine vahele jätta ja edu teatada.
- Pariteedi kontroll pärast avaldamist.
scripts/check_channel_parity.pypärib crates.io-d (kshanajakshana-mcp), npm-i, PyPI-d (lähtekoodi levitus ja kõik kuus platvormi wheel'i) ja ghcr.io-d, kuni iga neist serveerib versiooni, või ebaõnnestub jooksutuses; docs.rs ja Model Context Protocoli (MCP) register on teatatud, mitte nõutud. Varasemate väljalaskete vastu käitatuna leiab see, et npm-ist ja PyPI-st puudub 0.22.0, PyPI-st 0.23.0 ja crates.io-st 0.27.0. - Eelehitatud käsurealiidese binaarid macOS-ile (Apple silicon ja Intel) ja Windows x86-64-le, nimetatud sihtmärgi järgi (
kshana-aarch64-apple-darwinja nii edasi), Linuxikshanakõrval, mille nimi on muutumatu. FailSHA256SUMSkatab iga vara ningverify-releasekontrollib seda ja käitab macOS-i ja Windowsi binaare nende endi süsteemides. - kshana.dev näitab väljalaset, mitte haru
main. Varem juurutati see uuesti iga push'i peale harussemain, samal ajal kui selle lehed nimetasid viimast väljalaset.pages.ymlehitab nüüd ainult väljalaskesilti: väljalase käivitab selle üks kord, kui iga kanal serveerib versiooni, ja käsitsi käivitamine juurutab uuesti viimase väljalaske (või nimetatud ühe). - Üks wheel'ide allikas. Faili
publish.ymlkäsitsi kopeeritud kuuesihtmärgiline maatriks on kadunud; see kutsub failiwheels.yml, nii et auditwheel sildi värav ja bait-baidilt reprodutseeritavuse kontroll hindavad nüüd wheel'e, mida PyPI saab, ning kummagi ebaõnnestumine peatab väljalaske. - Kinnitatud ehitustööriistad. Iga töövoog nõuab Rust-i 1.93.0 (töö msrv oma versiooni);
publish.ymljapages.ymlolid nõudnud@stable, ning versiooni v0.27.2 logi näitab rustupi paigaldamas 1.98.1 ja seejärel kompileerimas versiooniga 1.93.0 ainult sellepärast, etrust-toolchain.tomlon sellest ülimuslik. wasm-pack on kinnitatud versioonile 0.13.1 (versioon, mis ehitas v0.27.2, mille valis kinnitamata paigaldusskript) kontrollsumma kontrolliga ja mcp-publisher versioonile 1.8.1 oma avaldatud SHA-256-ga.scripts/check-toolchain.shebaõnnestub nüüd, kui töövoog küsib teist kompilaatorit või suunab allalaaditud skripti shelli. Ühtegi kontrollitööd, golden-kinnitust ega kohalikku värava skripti ei eemaldatud ega lõdvendatud.
- Avaldamine ootab otsust.
Turvalisus#
Iga kolmanda osapoole GitHub Action on kinnitatud commit'i SHA-ga — 93 viidet 15 töövoos, neist 92 uut — sildiga, mis jäetakse lõppkommentaarina Dependabotile uuendamiseks. Erand on
dtolnay/rust-toolchain, mille silt on tööriistaahela valija.MCP serveri kujutise baaskihid on kinnitatud multi-arch räsiga ja Dependabot jälgib nüüd stsenaariumi
mcp/kshana-mcpDockerfile'i, nii et OS kihid saavad endiselt turvauuendusi — läbi ülevaadatud PR-i.Sildi ja manifesti kontroll jookseb kahes avaldamise töövoos, mis tarnivad sildi versiooni.
mcp-publish.yml(ghcr kujutis, MCP register) jajetbrains-plugin.yml(Marketplace) võistlevad failigapublish.yml, mitte ei oota seda, nii et valesti lõigatud silt oli värava taga ainult õdetöövoos. Mõlemad käitavad nüüd enne ehitamistscripts/check-version-sync.sh.Neli nõuannet, mille Dependabot tõstatas päeval, mil selle hoiatused sisse lülitati, on parandatud. MCP server liigub teegilt
rmcp1,7 väärtusele 2,2: kolm nõuannet teegirmcp< 2,1 vastu (Streamable-HTTP seansitabeli leke, puuduv OAuth kaitstud ressursi valideerimine, kohandatud päised, mis järgivad ristpäritolu ümbersuunamist) — ükski pole siin ligipääsetav, kuna server räägib ainult stdio-d, kuid avaldatud crate ei tohiks kinnitada haavatavat SDK-d. Teegirmcp2 makrod vajavad Rust-i 1,88, nii et ainultkshana-mcpdeklareerib nüüdrust-version = "1.88"; teekkshanajääb versioonile 1,85. Ainus API muudatus (Content→ContentBlock) on rakendatud ja edasi-tagasi testid läbivad. SonarQube'i skannimise action liigub versioonilt v5 versioonile v6, mis parandab argumendisüsti nõuande (≥ 4,0, < 6,0).
0.27.2 - 2026-09-22#
Lisatud#
Iga Rust-i üksus, mida kontrollimaatriksi rida tsiteerib, lahendatakse nüüd kasti vastu. Olemasolev valvur kontrollis failiteedena kujundatud viiteid; 63 164 mitte-partneri reast nimetavad oma tõendi hoopis kastisisese üksusena —
navsignal::code_tests,integrity::tpl_scalar::tests,api::tests::tracking_loop_kind_round_trips_through_the_dispatch— ja märk ilma järelliiteta.rsoli teedeskanneri jaoks nähtamatu. Need read oleksid võinud nimetada ümber nimetatud moodulit, tühjendatud testimoodulit või funktsiooni, mida polnud kunagi olemas, ning iga värav oleks jäänud roheliseks.tests/verification_rows_name_a_test_that_exists.rslahendab kõik 339 sellist viidet mooduli puu kaudu, nõuab, et iga mitte-partneri rida nimetaks vähemalt ühe testi, mis tegelikult kannab#[test], ja nõuab, et partneri read ei nimetaks ühtegi. Selle hindamiseks kasutati nelja mutatsiooni: viidatud mooduli ümbernimetamine, rea ainsa testiviite suunamine mitte-testfunktsioonile, tegelikumod testsümbernimetamine ja selle atribuutide#[test]eemaldamine — igaüks läheb punaseks väitel, mis seda omab.Üks rida oli juba vale: Alternative / complementary PNT tsiteeris
tests/*, mis on glob, mitte viide. See nimetab nüüdtests/alternative_complementary_pnt_reference.rsja kolme selle taga olevat kastisisest testimoodulit.Avaldatud jooniseid kontrollitakse igas ehituses mootori vastu uuesti (
tests/published_figures_still_reproduce.rs). Kolm README demodiagrammi on mootori enda väljundchart.svgja miski ei jooksutanud stsenaariumi uuesti; paberi kaks ristumisuuringut genereeriti üks kord ja kinnitati; ning README ütleb proosas neli näitajat failiscenario-fom.pngkõrval. Kõik kolm on nüüd kinnitatud elava mootori väljundi külge.Nende ühitamine tõi esile kasuliku tulemuse: demodiagrammid olid joonistatud mootoriga 0.22.0 ja paberi ristumise JSON mootoriga 0.20.0 ning versioonil 0.27.1 on iga joonistatud väärtus kõigis viies artefaktis identne — kolm diagrammi-SVG erinevad värskest jooksutusest täpselt kahe märgi võrra igaüks, versioonitempli võrra jaluses. Diagrammid on uuesti renderdatud, et jalus oleks tõene. Paberi JSON jäetakse tahtlikult templitud kujule 0.20.0: see on jooksutuse kirje, mille joonist avaldatud paber manustab, ja uuesti templimine väidaks päritolu, mida PDF-il pole. Valvur väidab selle asemel tugevamat omadust — et praegune mootor reprodutseerib endiselt iga avaldatud väärtuse.
Parandatud#
SonarCloudi analüüsid kirjendati kujul
VERSION=not provided, nii et uue koodi perioodprevious_versionei edenenud kunagi: see oli endiselt ankurdatud 2026-07-02 analüüsile, hinnates kaheksakümmend kaks päeva tööd ühe deltana ja mõõtes 7877 „uut“ dubleeritud rida 3 % läve vastu. Skannimine annab nüüd edasi kasti versiooni. Aluseks olev dubleerimine on päris ja seda ei peideta: see on koondunud deklaratiivsetesse registritesseFieldUnit, mis kordub failidesensemble,hybrid,fusion,inertialjareport, ning 168-realisse kontrollitabelisse ning see on siin nimetatud tööna, mitte mõõtmisest välja jäetud.Failil
scripts/gate.shpolnud ühekirjutajalukku ja iga jooksutus kirjutas sama logi. See ei ole korrastamise küsimus: kviitungiintegration_binaries,tests_passedjatests_ignoredloetakse sellest logist TAGASI ja push-eelne konks usaldab kviitungit. Värav, mis tapeti, kuid mille testibinaar oli veel elus, kirjutas jätkuvalt faili, mille järgmine jooksutus oli just kärpinud — nii et ühe jooksutuse arvud oleks võinud olla tõestatud teise jooksutuse omadena, lubades push'i komplekti alusel, mis ei jooksnud kunagi push'itaval puul. Nüüd on üks värav iga checkout'i kohta (keeldudes väljumiskoodiga 75 elava kõrval, kustutades aegunud luku, mille pid on kadunud) ja üks logi jooksutuse kohta, failitarget/gate-run.logvärskendatakse lõpetava jooksutuse põhjal väljumisel. Mõlemat suunda testitakse: elav pid keeldub, surnud kustutatakse.src/verification.rsväitis, et selle testid „do not prove the named test/oracle strings resolve to live code“. Kaks valvurit teevad nüüd täpselt seda, nii et mooduli dokument ütles tõe vastupidist; see ütleb nüüd, mis on masinkontrollitud ja mis on jäetud inimese otsustada. Aegunud viideverification::gen— moodul onartifacts— on parandatud õdevalvuri enda dokumentatsioonis.
Muudetud#
mainkirjutati ümber 2026-09-22 ja force-push'iti. Kümnest commit'ist sai neli. Ümberkirjutus voltis iga commit'i, mis jättis värava punaseks, commit'i sisse, mis selle puhastas, nii et igal commit'il harusmainon nüüd puu, mis läbib, ning eemaldas tühistatud jooksutused, mida harude ülene paralleelsusrühm oli jätnud igale asendatud commit'ile.Midagi ei visatud ära. Ümberkirjutuse-eelsed commit'id jäävad kättesaadavaks siltide kaudu, mis neile osutavad, ja lõplik puu on bait-baidilt identne puuga, millest ümberkirjutus algas —
git diffvana tipu ja uue vahel on tühi, välja arvatud kolm töövoofaili, mida see väljalase muudab.Asendatud SHA-d neile, kellel on neile viide:
vana teema 9733177docs(changelog): disclose the authorship rewrite and the two dangling crate sha1s 5d16ea8fix(docs): the engine-flow diagram said 6 figures of merit; the engine scores 7 148d31dfix(test): two more cross-platform pins, and two wrong assumptions of my own a3a2667feat(web): surface the lunar cluster on the site — seven capability cards 1e8bec6docs(lunar): document 42 public fields and ratchet the ceiling down to 985 7bba514chore(release): v0.27.0 3154548test(docs): guard the distribution diagram, the last unguarded one 7864142chore(release): v0.27.1 Silte v0.27.0 ja v0.27.1 TAHTLIKULT EI liigutatud. Need osutavad endiselt commit'idele
7bba514ja7864142, täpsetele commit'idele, mille puud tootsid artefaktid, mis on nüüd elus crates.io-s, npm-is, PyPI-s, ghcr.io-s ja MCP registris. Crate'i.cargo_vcs_info.jsonkirjendab sha1, millest see pakendati, registrid on muutumatud ja SLSA ehituse päritoluatesteering väljalaske v0.27.1 varadel on seotud selle commit'iga. Siltide liigutamine oleks jätnud iga neist avaldatud artefaktidest osutama commit'ile, mida enam pole. Nende jätmine hoiab vanad commit'id kättesaadavad ja iga avaldatud päritoluahela lahenduvana, hinnaga kaks silti, mis ei ole enam harumainesivanemad — mistõttu see väljalase on olemas: v0.27.2 annab harulemainoma sildi, pakendatud commit'ist, mis on sellel.See on selle ajaloo teine avalikustatud ümberkirjutus; esimene, 2026-09-21, kanoniseeris autorluse ja on kirjendatud märgetes 0.27.0 oma kahe rippuva crate'i sha1-ga. Ümberkirjutus avalikustatakse siin iga kord, sest hoidla, mis müüb kontrollitavat päritolu, ei saa vaikselt avaldatud artefakti alt maad liigutada.
0.27.1 - 2026-09-22#
Parandatud#
Avaldatud crate ei kompileerunud.
src/lunar_orientation.rssisaldab ülemisel tasemelinclude_str!failitests/fixtures/llr_geometry/de440_moon_pa.csvja manifest jätab/tests/fixturespaketist välja, nii et tarball, mille crates.io saab, ei sisaldanud faili, mille teek ise manustab. Avaldamine v0.27.0 ebaõnnestus selle tõttu oma kontrollehituses ja ükski 0.27.0 ei jõudnud crates.io-sse; npm ja PyPI, mille tööd sellest ei sõltu, avaldasid normaalselt. Väljajätt kannab nüüd erandit selle ühe kataloogi jaoks.Iga teine fikstuuri
include_str!kataloogissrc/asub mooduli#[cfg(test)]sees ega jõua seetõttu pakendatud teeki. Ainult ülemise taseme oma jõuab.Miski CI-s ei käitanud käsku
cargo package, mistõttu tarball, mis ei saa kompileeruda, avastati esmalt avaldamise töös, pärast seda, kui kaks muud registrit olid juba tarninud. Tööpackageehitab ja kompileerib nüüd täpse tarballi igal push'il.
Muudetud#
- Kuu tugisüsteemi realisatsiooni emissiooni kinnitused ei liigu enam versiooni tõstmisel. SVG jalus kannab mootori versiooni, nii et iga väljalase baseeris uuesti kolm räsi — kaks korda ühes päevas — ja rutiiniga uuesti võetud kinnitust ei loeta enam. Versioonistring normaliseeritakse enne räsimist kohatäiteks ja emissiooni väidetakse eraldi öeldavat jooksvat versiooni, nii et seda fakti kontrollitakse täpsemalt kui räsi seda kunagi kontrollis.
0.27.0 - 2026-09-22#
Lisatud#
lunar-llr-datum— Kuu tugisüsteemi andmepunkt päris vaatluskampaaniast.lunar-frame-campaignasendas süstitud Helmerti teisenduse simuleeritud kampaaniaga ja ütles seda: selle jaamavõrk, ajakava ja vaatluskohane sigma on illustratiivsed sisendid. See stsenaarium eemaldab simulatsiooni kahest kohast, kus ajakava ja veamudel vastusse sisenevad. Epohhid on 337 arhiveeritud ILRS Kuu laservahemõõtmise normaalpunkti saatmisajad (2015-04-08 .. 2015-06-27, Grasse MeO 7845 ja Matera MLRO 7941, kõik viis retroreflektorite massiivi) ja iga vaatluse kaal on selle normaalpunkti enda arhiveeritud täpsus,bin_rms / sqrt(n_raw)— 5,13 mm ühesuunalise vahemaa mediaan, failist välja võetud, mitte siin valitud. Jaamade koordinaadid pärinevad IERS ITRF2020-st ja reflektorite koordinaadid JPL DE430 tabelist 7; iga fikstuur kirjendab URL-i, hankimiskuupäeva ja SHA-256 ning genereeritakse uuesti oma allikast kinnitatud generaatoriga, mis kontrollib allikat ja katkestab, mitte ei väljasta arvu. Aruanne nimetab, millised lingid on mõõdetud ja millised jäävad modelleeritud, ning modelleeritud on mõõdetud: vaadeldud-miinus-arvutatud ühesuunaline vahemaa päris andmete peal on 156 494 m RMS, mida sama testikomplekt kinnitab JPL Horizonsi vastu sama vahemiku jooksul (195 655 m RMS vektor, halvim epohh 0,054° — sisseehitatud analüütilise Kuu jada enda väidetud ~0,3° piires). Lisanduv: uus liik, uus lugeja (realdata::llr_crd) ja uus moodul (lunar_llr); olemasolevad Kuu tugisüsteemi paketid on bitt-bitilt kinnitatud.sigma_ure_mstsenaariumi parameetrina stsenaariumitellunar-integrityjamoonlight-service-volume. Kosmosesignaali ulatuse täpsus oli kompileerimisaja konstant (LUNAR_SIGMA_URE_M), nii et teenindusmahu pühkimine võis vastata ainult läbimisele/ebaõnnestumisele ühel fikseeritud väärtusel. Kaitsetasemed on selles täpselt lineaarsed, seega muudab selle avamine pühkimise ulatuse täpsuse nõudeks kogu mahu kohal. Vaikeväärtus reprodutseerib varasema käitumise bitt-bitilt.Satelliidipõhise geomeetria eksport stsenaariumil
moonlight-service-volume:export_site_lat_deg+export_site_lon_deglisavad massiiviper_sat_geometry, mis annab asimuudi, kõrguse ja kaldulatuse igale satelliidile igal epohhil ühe nimetatud selenograafilise koha jaoks, pluss nähtavuslipu. Koondkatvuse kokkuvõte tahtlikult kaotab satelliidipõhise geomeetria, kuid kaldulatus on täpselt see, mida lingieelarve tarbib, nii et ühist side- ja navigatsioonianalüüsi ei saanud kokkuvõttest üksi teha. Väljas, kui mõlemad koordinaadid pole antud; puhtalt lisanduv.lunar_service::topocentric, avalik vaatenurga abiline ekspordi taga.Kontrollimaatriksi rida uue geomeetriavõimekuse jaoks.
Päris antennimuster geomeetria ekspordis. Mootor on kandnud ühtlaselt valgustatud ringava mustrit alates P1-st (
antenna::pattern_gain_dbi, Airy kuju[2·J₁(x)/x]²) ja miski väljaspool failiantenna.rsei kasutanud seda — töö tegi selle asemel peasuuna võimendus koos võimenduse ja kiirelaiuse pöidlareegliga. Valikuline tabelexport_antennastsenaariumilmoonlight-service-volume(loetud ainult siis, kui ekspordikoht on seatud) annab nüüd igale eksporditud reale peasuunast kõrvalekalde nurga satelliidil ja saatmisvõimenduse saidi suunas sellest mustrist ning lisab plokiantenna_pattern, mis teatab kiires olevate arvu päris mustri korral sümmeetrilise lähenduse kõrval (θ₃dB[deg] = √(31000/G_lin)) erinevusega nimetatud parandusena. Mõlemad arvud väljastatakse; kumbki ei asenda teist. Mõõdetuna mootori enda esindava Kuu ava juures (1 m taldrik, 2,4 GHz, η = 0,60) lõunapolaarse koha ja illustratiivse LCNS-klassi kihi kohal lähevad kaks lahku rohkem kui ühe satelliidi võrra: päris muster paneb 0 76 nähtavast lingist poolvõimsuskiire sisse, lähendus väidab 28 — parandus −2,33 satelliiti epohhi kohta, halvim üksik epohh 3. Lähendus kannab oma ava efektiivsust (0,641 võrreldes reegliga70·λ/Dkraadi, millega seda tavaliselt tsiteeritakse, 0,920 ühtlase ringava vastu), nii et η = 0,60 taldriku korral annab see kiire, mis on 1,238× liiga lai; plokk väljastab mõlemad kaudsed efektiivsused, mitte ei jäta neid järeldada. Puhtalt lisanduv: mõõdetuna dokumenteeritud tööpunkti kohal, 597 eelnevalt olemasolevat lehte, 0 muudetud, 0 eemaldatud, 494 lisatud.antenna::symmetric_beamwidth_rad,antenna::symmetric_relation_implied_efficiency,antenna::within_half_power_beam,antenna::HALF_POWER_DROP_DB,antenna::SYMMETRIC_GAIN_BEAMWIDTH_CONST_DEG2,antenna::UNIFORM_APERTURE_HPBW_COEFFjalunar_service::nadir_off_boresight_rad, selle taga olevad avalikud osad. Muster on nüüd ankurdatud ka avaldatud Airy konstantide vastu, mitte ainult iseenda vastu: poolvõimsuse ületus leitakse poolitamisega ja võrreldakse väärtusegax = 1.61634, mis teeb täpse poolvõimsuslaiuse väärtuseks1.02899·λ/Dja kirjendab ausalt, et tavapärane koefitsient1.02paneb funktsioonipattern_gain_dbiväärtusele −2,955 dB, mitte −3,010 dB.Pikk reprodutseeritavuse tabel stsenaariumile
lunar-time-budget. Stsenaariumi massiiviväärtusega väljundid — keskmistamisaja võrk, seitse liikmepõhist kõveratx(τ)ja nende ruutude summa juur — jõudsid tarbijateni ainult JSON massiividena. Üks välja antud tabel kärbiti 400 märgi juures ja avaldas 23 oma 57 keskmistamisajast veeru all, mis väitis neid kõiki, ja käsikiri ehitas liikmepõhised kõverad kinnisvalemitest uuesti, sest mootor ei väljastanud neid kunagi. Tavaline jooksutus kirjutab nüüd ka faili<scenario>.table.csvühe reaga (võrgu indeks, keskmistamisaeg, liige) kohta, mida ei saa kärpida millekski, mis näeb endiselt tervik välja. Võrgu indeks on täpne liitmisvõti;τkirjutatakse 13 tüvenumbriga ja igax7-ga, nii et baidid ei hargne sama lähtekoodi ehituste vahel. Puhtalt lisanduv: aruande JSON on bait-baidilt identne.Stsenaariumi
hybrid-optical-rfaruanne kirjeldab nüüd ennast. Plokklink_configurationkordab lahendatud lingi sisendeid — kandelaine lainepikkus, saatja ja vastuvõtja ava, vahemaa, impulsi laius, integreerimisaeg, efektiivsused ja kaod — vaikeväärtused rakendatud, nii et artikkel ütleb konfiguratsiooni, millega see jooksis, mitte ei tsiteeri lähtekoodist loetud vaikeväärtust. Plokkunitsannab iga suuruse ühiku ja päritoluklassi, mida artikkel tõenäoliselt tsiteerib. Üleandmise kovariatsioonijäljed on põhjus, miks see on olemas: need väljastati paljanavarianceja käsikiri järeldas ruutmeetreid sisemisest kooskõlakontrollist. Järeldus oli õige, mis on täpselt põhjus, miks see oli defekt — miski ei oleks tabanud, kui see oleks olnud vale. Puhtalt lisanduv: mõõdetuna nelja konfiguratsiooni kohal, 456 eelnevalt olemasolevat välja, 0 muudetud, 0 eemaldatud, 196 lisatud.Kontrollimaatriksi rida ajaeelarve reprodutseeritavuse tabeli jaoks, ausalt
InternalConsistency/ MODELLED — kogusumma kontrollitakse samas failis olevate liikmete ruutude summa juure vastu, mis jagab mootori enda liikmemääratlusi ja ei ole seetõttu sõltumatu etalon. Koos lisavad need kolm rida. Selle väljalaskmata jaotise jooksev kogusumma on 168 rida — 64 VALIDATED, 100 MODELLED, 4 PARTNER.
Muudetud#
Commit'ide autorlus kogu ajaloos on nüüd üks identiteet ja kaks avaldatud crate'i osutavad commit'ile, mida enam pole. 2026-09-21 kirjutati git-ajalugu ümber nii, et iga inimese commit'i autor ja commit'ija on
ashfordeOU <236818772+ashfordeOU@users.noreply.github.com>. Varem kandis see ühe isiku kolme kirjaviisi — 688 commit'i kujulashfordeOU <contact@ashforde.org>, 34 kujulChakshu Baweja <contact@ashforde.org>ja 94 juba kanooniline. Ainusdependabot[bot]commit jäeti tahtlikult oma autorile: roboti sõltuvuse tõstmise ümbersildistamine väidaks autorlust töö eest, mida siin keegi ei teinud.Sisu ei muutunud. Ümberkirjutus puudutas ainult autori ja commit'ija päiseid ning see on kontrollitav, mitte väidetav: iga sildi ja iga haru puu on bitt-bitilt identne sellega, mis see oli enne.
v0.26.0lahendub endiselt puuks92284e9420605568f1bfabb78cd95d383b40f3e2, täpselt nagu varem.Mis see maksis. Commit'i nimi on räsi selle puust, vanematest ja autoripäistest, nii et esivanema muutmine nimetab ümber iga järeltulija. Väljalaske
v0.26.0commit olidce2dbf7700788cf6de46260c14673c0e5347360ja on nüüdd4921f3025569e00e425e1747d0acfc261e96e18. Kaks artefakti kirjendasid vana nime avaldamise ajal ja neid ei saa parandada, sest avaldatud registri versioon on kavandi poolest muutumatu:kshana0.26.0 crates.io-s —.cargo_vcs_info.jsonkirjendabdce2dbf…kshana-mcp0.26.0 crates.io-s — sama sha1,path_in_vcs: mcp/kshana-mcp
Midagi muud see ei mõjuta. npm-i pakett ei kirjenda
gitHeadja PyPI levitus ei kirjenda üldse commit'i; mõlemad kontrolliti, mitte ei eeldatud.Pole parandust, mis paneks
dce2dbf…nimetama ümberkirjutatud commit'i: see string on vana esivanemate ahel ja ainus viis, kuidas see lahendub, on hoida ümberkirjutuse-eelne ajalugu avaldatuna, mis taastaks autorluse, mille ümberkirjutus eemaldas. Versiooni 0.26.0 päritolu kulgeb seetõttu sildi, mitte kirjendatud sha1 kaudu — ja silt annab identsed baidid, millest crate ehitati. Järgmine väljalase kirjendab kehtiva commit'i ilma täiendava tegevuseta.
Parandatud#
Stsenaariumi
realtime-frame-eopvaikimisi EOP fail ei sisaldanud ennustusridu (G12). Stsenaarium manustas viierealise ainult lõplike väljavõttefinals2000Aoma võrguühenduseta vaikeväärtusena, nii et paljas jooksutus teataspredicted_rows.n = 0ja horisondipõhine tabel toetus 5, 4, 3 ja 2 paarile. Mootor võis alati ennustusrida lugeda — sisendil lihtsalt polnud ühtegi. Vaikeväärtus on nüüd sõna-sõnalt IERS 2026 väljavõte (tools/finals2000A_2026.txt, MJD 61173–61204): 20 Bulletin B lõplikku ja 12 Bulletin A ainult ennustusrida, nii et paljas jooksutus ilma failiargumendi ja võrguta teatabpredicted_rows.n = 12ja horisondipõhise tabeli väärtusel n = 20 / 31 / 30 / 29 ning operatiivse ennustaja võrdlus ja kokkulangevus toote enda avaldatud ennustustega täituvad samuti. Pika ulatusega 45-realist väljavõtet mõõdeti alternatiivina ja lükati tagasi: see on samuti ainult lõplik, nii et see oleks jätnudpredicted_rows.nväärtusele 0. See muudab avaldatud arve, reegli R4 alusel ja asutaja loal: kümme 22 lahtrist välja antud failisp4_frame_eop.csvja 24 42 täidetud lahtrist failistests/golden/realtime-frame-eop.csv. Mõõdetud kiire-miinus-lõpliku poolusepõhi muutub väärtuseks 0,0678 mas (varasema 0,0769 mas asemel), mis on väärtus, mille paberi P4 enda poolusliikumise tabel juba avaldab väärtusel n = 20 — need ühtivad nüüd, mitte ei erine 13,5 % võrra. Iga teine arv, mille P4 sellest tabelist trükib, on trükitud täpsusega muutumatu. Täielik vana → uus loend, sealhulgas väljad, mis ei liikunud, on failisdocs/revisions/G12-default-eop-cell-changes.md. Ainult lõplik väljavõte jääb tarnitud, bait-baidilt kinnitatud ja kasutatud: ennustusridade nullarv sellel on faili omadus ja test tõestab seda endiselt.Aegunud satelliidipiirang failis
moonlight-service-volume. Stsenaarium piiras väärtusen_satsarvuni 12, kuigi selle enda konstellatsiooniehitaja toetab arvu 24 ja test kinnitab arvu 24; seetõttu vähendati iga taotletud arvu üle 12 vaikselt ja satelliidiarvu pühkimine andis üle 12 identsed väärtused, mida ei saanud eristada tõelisest geomeetrilisest küllastusest. Nüüd piiratakse ehitaja piirini. See on käitumismuudatus ainult juhuln_sats > 12.Sama aegunud piirang failis
lunar-differential-pnt.lunar_dpntpiiras väärtusen_satsarvuni 12 sama tagajärjega ja see jõudis avaldatud tabelisse:dpnt_nsats_sweep.csvsisaldab ridan = 16, mis on baidi haaval identne reagan = 12, sest mootor tagastas kaheteistkümne satelliidi vastuse kuueteistkümne satelliidi sildi all. Nüüd piiratakse ehitaja piirini 24 ja uus test fikseerib selle: iga suurem konstellatsioon peab teatama oma arvust ja kaitsetaset rangelt parandama, nii et piirang ei saa märkamatult tagasi tulla. See muudab avaldatud arve: kaitsetasen = 16muutub 16,92 m → 14,57 m. Arvuni 24 pühitult on kõver rangelt monotoonne (11,94 m 24 satelliidi juures, 29,5 % parem kui 12 juures), seega 12 juures küllastust pole: näiline platoo oli piirang. Käitumismuudatus ainult juhuln_sats > 12.
0.26.0 - 2026-09-18#
Dokumentatsiooni, läbipaistvuse ja mänguväljaku väljalase. Mootori käitumine ei muutu: kontrollimaatriksis on 102 rida — 56 VALIDATED, 42 MODELLED, 4 PARTNER, muutumatu versioonist 0.25.0.
Lisatud#
- Teegitaseme rustdoc (
//!failislib.rs), mis hõlmab sisenemispunkte, aususe/tasemete mudelit ja reprodutseeritavust, nii et docs.rs avaneb päris avalehena, mitte paljana moodulite seinana. docs/SCENARIOS.md— liigipõhine teatmik kõigi 50 stsenaariumi liigi kohta, genereeritud funktsioonistapi::list_scenario_kinds()(ainus tõeallikas) käsugagen_validation_artifactsja kaitstud testigatests/scenarios_reference_doc_sync.rs, nii et see ei saa dispetšerist kõrvale triivida.- Moodulidokumentatsioon 11 varem dokumenteerimata avaliku mooduli jaoks (
allan,estimator,fom,hybrid,inertial,models,report,run,scenario,timetransfer,types). - Kirjandusallikad viiele valemimoodulile, mis esitasid võrrandi, kuid ei nimetanud viidet:
batch_ls(Tapley/Schutz/Born; Bjorck),cr3bp(Szebehely; Koon et al.),detection(Kay),attitude_budget(Wertz; Sidi),reentry(Allen-Eggers, NACA TR-1381). - Avaldatud
security.txtaadressil kshana.dev koordineeritud avalikustamiseks. - Käitluskordse valideerimistase mänguväljakul. Ühe käitluse kvaliteedinäitajate tabel sisaldab nüüd iga näitaja kohta VALIDATED/MODELLED märki, mis loetakse samast otsingust
fomTier(), mida kasutab allalaaditav aruanne (peegeldab failisrc/fom_label.rs, mis ise tuletatakse kontrollimaatriksist), nii et elava arvu kõrval kuvatav tase ei saa kunagi registriga vastuolus olla. lunar-attack-surfacemänguväljaku menüüs — kõik 50 käivitatavat liiki on nüüd ühe klõpsu kaugusel (varem 49/50).- Viis täiendavat käivitatavat võimekuskaarti (kosmoseilm, RF-häirete hindamine, vastupidavus, CCSDS OEM koostalitlus, KIF), mis tõstavad käivitatavate kaartide arvu 11-st 16-ni. API- ja teegipõhised kaardid säilitavad ausa dokumentatsioonilingi, mitte võlts käivitusnuppu.
Muudetud#
- Dokumentatsiooni katvust hoitakse nüüd CI-s ratšeti põhimõttel.
check-doc-coverage.shkompileerib teegi lipugamissing_docs, loeb hoiatused kokku ja ebaõnnestub ainult siis, kui arv ületab fikseeritud ülempiiri (986). Range#![warn(missing_docs)]koos-D warningsoleks muutnud ~1000 praegu dokumenteerimata avalikku üksust üleöö ehituse katkestuseks; nii ebaõnnestub ehitus uute dokumenteerimata avalike üksuste korral, samal ajal kui olemasolevat tagavara vähendatakse teadlikult.
Parandatud#
- MCP tööriista
list_scenario_kindsrida reklaamis „~17 sisseehitatud stsenaariumi liiki“, kuigiapi::list_scenario_kinds()oli juba mõnda aega esitanud 50 — agendile suunatud dokument alahindas tegelikku võimekust kolmekordselt. Fikseeritud tegelikule arvule. - Uuendatud sõltuvusgraafi jaoks genereeriti uuesti CycloneDX SBOM-i standardi järgimise sõltumatu etalon (60 komponenti). Standardi järgimise otsus on muutumatu: normaliseeritud skeemivigu on null ja iga aatomlitsentsi tunnus kuulub endiselt ametlikku SPDX loendisse.
0.25.0 - 2026-07-15#
Lisatud#
- Viis võimekust edutati väliselt VALIDATED tasemele, iga neist on nüüd ristkontrollitud sõltumatu kolmanda osapoole teostuse vastu sama üheselt defineeritud suuruse jaoks (mitteringlev, võrguühenduseta taastatavate testandmetega):
- IEEE-1139 astmeseadusest Alani hälbeks teisendus võrdluses teegi
allantoolssuletud kujuga kõigi viie mürategevi jaoks (tests/powerlaw_oadev_reference.rs); - CRPA MVDR / minimaalnormiga nullsuunamise kimbumoodustaja kaalud võrdluses numpy/scipy LAPACK-iga (
tests/crpa_reference.rs); - Wahba / TRIAD / QUEST orientatsiooni määramine võrdluses SciPy SVD-ga
Rotation.align_vectorsmüravabadel vaatlustel (tests/wahba_reference.rs); - CCSDS 502,0 OEM kovariatsiooniploki vahetus, mis käib edasi-tagasi läbi sõltumatu teegi
oemparseri (tests/ccsds_oem_covariance_reference.rs); - ruutseaduslik haaramise tuvastusstatistika tuum (üldistatud Marcum-Q / P_d / P_fa / lävi) võrdluses SciPy-ga
ncx2/chi2(tests/acquisition_reference.rs). Masinkontrollitud valideerimismaatriks liigub tasemele 56 VALIDATED · 42 MODELLED · 4 PARTNER kokku 102 real (varem 51 · 47 · 4). Ausad ulatuse hoiatused säilivad — nt haaramise edutamine hõlmab ainult tuvastusstatistika tuuma; CFAR/ristumiskadu jääb MODELLED.
- IEEE-1139 astmeseadusest Alani hälbeks teisendus võrdluses teegi
- Asendiruumi kvaliteedinäitajad (
fom::positioning_performance): täpsed CEP, SEP ja 2DRMS navigatsioonilahendi 3-D ENU asendikovariatsioonist pluss horisontaalne kaitsetase. CEP/SEP on täpsed mediaanradiaalvead (mitte lineaarne reegel0.589·(σ₁+σ₂)), ristkontrollitud teegiscipy.statsrayleigh/maxwell kvantiilide ja sõltumatu NumPy Monte Carlo mediaaniga (tests/positioning_fom_reference.rs). Asendab varasema ausa teostamata tüübi — funktsiooni signatuur muutus kujult(), mis tagastas vea, kujule(cov_enu, hpl_m), mis tagastab tüübiPositioningFom. - Usaldusvahemiku ekvivalentsete vabadusastmete arv (EDF) viidi lõpuni kõigi Alani perekonna hinnangute jaoks (
assurance::uncertainty::edf): modifitseeritud Alani, Hadamardi ja kogu-dispersiooni EDF kasutavad nüüd Greenhalli ja Riley kombineeritud EDF algoritmi ning NIST SP 1065 tabeli 7 TOTVAR vormi (varem oli teostatud ainult kattuva Alani EDF; teised kasutasid vaikselt seda uuesti), ristkontrollitud teegiallantoolsvastuedf_greenhall/edf_totdev(tests/uncertainty_edf_reference.rs). - Sõltumatud välised ristkontrollid Kuu PNT geomeetria, DOP-i, EOP, DRO ja RF-kaugusmõõtmise võimekuste jaoks (
tests/validate_p*.rs, testandmed ja sõltumatu etaloni generaatorid kataloogistests/fixtures/{p1_footprint,lunar_service,eop_prediction,rf_ranging_precision,dro_family_jpl,p2_independent_dop}/). Iga kontroll käitab juba tarnitud modelleeritud võimekust sõltumatu etaloni vastu, mille on andnud teistsugune teostus, nii et kokkulangevus on mitteringlev: orbitaalne edastus-/haaramisjalajälg võrdluses teegigascipy.special.j1(Cephes — tõeliselt teistsugune Besseli J1); pinnamajaka geomeetria DOP võrdluses sõltumatu NumPy lahendusega(HᵀH)⁻¹; UT1/EOP püsivusprognoosi veakasv võrdluses sama sõna-sõnalise IERS-ifinals2000Aridade eraldi NumPy uuesti parsimisega; tasapinnaline kauge retrograadse orbiidi perekond võrdluses NASA/JPL kolme keha perioodiliste orbiitide andmebaasiga; ning RF-kaugusmõõtmise korduvtäpsuse eelarve võrdluses esimeste printsiipide etalonega. Need on täiendav regressioonitõend olemasolevate moodulite kohta; nende ristkontrolltestide lisamine ei muuda ise ühegi võimekuse märgistust (ülaltoodud viis edutamist on eraldi, etalonipõhised staatusemuudatused failissrc/verification.rs). - Stsenaarium
lunar-attack-surface(src/attack_surface.rs,kind = "lunar-attack-surface"): komponeeritud, binaarselt ligipääsetav (CLI / Python / MCP / wasm kaudurun_toml) P1 Kuu signaaliturbe käitus, mis ühendab lingieelarve võimsusdefitsiidi ja selle 12–18 dB tundlikkusvahemiku, nõutava segamis-/spuufimissaatevõimsuse sõltuvuse kaugusest, orbitaalse haaramisjalajälje päris antennidiagrammi korral, jälgimissilmuse spuufimishaarde sissetõmbetulemuse, õhutu keha silmapiiri ulatuse ning OSNMA/TESLA autentimiseelarve. Tühi keha taastoodab P1 lähtetaseme. - Võimsusdefitsiidi tundlikkusvahemik (
linkbudget::deficit_sensitivity_band,deficit_power_factor): tõeline mitmeteljeline pühkimine (etalon × EIRP × kaldkaugus), ehitatud tüübilesweep::SweepAxisja hinnatud funktsioonireceived_signal_power_dbwkaudu, mis taastoodab P1 12–18 dB vahemiku ning ühtlustab 32× (ümardatud) / 36× (ümardamata) lineaarteguri väärtused. - Kolmemõõtmeline spuufimishaarde kuup (
spoof_capture::capture_cube): lisab haardekaardile kandja/Doppleri nihke telje (J/S × koodinihe × kandjanihe, lukustusaeg raku kohta); nullkandja lõige taandub täpselt 2-D kaardikscapture_map.
Muudetud#
- Hõreda seirevõrgu tuvastamine (
monitor_network) komponeerib nüüd füüsikalisespoof_monitorsAGC statistiku jalunar_serviceselenograafilise nähtavusvõrgu, et tuletada iga jaama tuvastusstatistik ja geomeetria vabade parameetrite ja ad hoc suurringi ülekatte asemel; seirekohane ja võrgu tuvastustõenäosus jäävad moodulidetectionhii-ruut/Marcum-Q suletud kujudeks. VäljadSurfaceMonitor/SpoofEventmuutusid füüsikalisteks (lat/lon/kõrgus/võimsus) suurusteks.
Parandatud#
- OSNMA/TESLA autentimise lisakulu mõõtmine (
nma_budget): OSNMA väljade lehekülje kohased osad (8-bitine HKROOT + 32-bitine MACK 2 s lehekülje kohta) olid ekslikult märgitud alamkaadri kogusummadeks, mistõttu lisakulu alahinnati 15 korda (1,33 bit/s). Parandatud avaldatud SIS-ICD alamkaadri (30 s) kogusummadele (HKROOT 120 + MACK 480 bitti ⇒ 20 bit/s). Tagajärg on nüüd ausalt öeldud: 50 bit/s AFS navigatsioonikiiruse korral on autentimise lisakulu esimese järgu ≈40 % kulu, mitte tühine mõne protsendi suurune; väliauth_latencyon dokumenteeritud kui võtme avalikustamise viivitus (alampiir otsast lõpuni aja kuni esimese autenditud lahendini).
0.24.0 - 2026-07-09#
Lai võimekuse väljalase. See toob kaks täielikult väliselt valideeritud analüüsikomplekti — täieliku mitmekriteeriumilise otsusanalüüsi (MCDA) perekonna ja Alani triivi / pika τ kella stabiilsuse hinnangud — ning avab aluse peale uue käivitatava Kuu ajaeelarve, reaalajas raami/EOP, optilise/RF hübriidi, tsislunaarse jälgitavuse ja kihilise PNT konfliktikindluse stsenaariumikihi, lisaks Kuu pinnamajaka ja signaaliturbe võimekuse aluse. Masinkontrollitud valideerimismaatriks kasvab tasemele 51 VALIDATED · 47 MODELLED · 4 PARTNER kokku 102 real (varem 40 · 47 · 4 kokku 91 real): kõik üksteist uut rida on otsusanalüüsi ja ajastushinnangute väliste sõltumatute etalonidega valideerimised, kontrollitud sõltumatute teekide (SciPy, pymcdm, pyDecision, allantools) vastu range tolerantsiga, samal ajal kui uus PNT võimekuse pind esitatakse ausalt kui MODELLED. Nagu alati, ei edutata ühtegi arvulise mudeli väidet ilma väline andmestikuta selle taga.
Lisatud#
Käivitatavad stsenaariumid — igaüks registreeritud stsenaariumi kind-id, edastatud mootori kaudu ja CI-s otsast lõpuni tõestatud testiga tests/determinism.rs (mis käitab iga kaasasoleva scenarios/*.toml ja ebaõnnestub kõvasti iga mittekäivitatava testandmestiku korral):
- Kihilise PNT konfliktikindlus (
conflict-resilience,src/conflict_resilience.rs) — algväärtusega (seed) Monte Carlo vastupidavuse mootor mitmekihilise PNT arhitektuuri jaoks, mille juurde kuulub § 4,2 ohuvektorikohane sujuva halvenemise ellujäämise mudel (neli nimetatud ohuvektorit, kasutatava PNT ellujäämise suletud kuju, millele iga kihipõhine Monte Carlo koondub, väljastatakse tulemuse JSON-is) ning dokumenteeritud, triivi vastu kaitstud ohuparameetrite päritolu (src/conflict_threat_params.rs). MODELLED arhitektuurid; ellujäämise Monte Carlo koondumine suletud kujule on valideeritud tuum. - Tsislunaarne jälgitavus (
cislunar-observability,src/cislunar_observability.rs) — jälgitavuse Grami maatriksi omaspekter kaare kohta, diferentsiaalselt korrigeeritud kauge retrograadse orbiidi (DRO) algväärtustaja ja sõltumatu ruutjuur-infofiltri ristkontroll, mille aposterioorne kovariatsioon muutub lõplikuks täpselt täieliku jälgitava astaku korral. MODELLED konstellatsioon; astaku/Grami maatriksi/STM/SRIF invariandid on valideeritud tuum. - Heterogeense optilise/RF hübriidi pidevus ja terviklikkus (
hybrid-optical-rf,src/hybrid_integrity.rs,src/optical_availability.rs,src/optical_linkbudget.rs,src/cross_raim.rs) — valdkondadevaheline kättesaadavus ja terviklikkus, kui optiline ja RF PNT on kombineeritud. MODELLED. - Endogeenne Kuu ajaeelarve (
lunar-time-budget,src/lunar_time_budget.rs) ja reaalajas raami / EOP eelarve (realtime-frame-eop,src/realtime_frame_eop.rs,src/frame_eop.rs) — P3/P4 Kuu aja ja Maa orientatsiooni eelarved, mis on tuletatud endogeenselt ajastusahelast, mitte väidetud. MODELLED.
Väliselt valideeritud analüüsikomplektid — teegivõimekused, millest igaüks siseneb maatriksisse uute VALIDATED ridadena (kontrollitud sõltumatu välise etaloni vastu, mitte enesekontrollina):
- Täielik mitmekriteeriumilise otsusanalüüsi (MCDA) komplekt (
src/mcda/) — neli meetodiperekonda: väärtuse agregeerimine (WSM, WPM, WASPAS), suhtsüsteem (MOORA) ja proportsionaalne (COPRAS), kaugus ideaalist (TOPSIS), kompromissprogrammeerimine (VIKOR) ja ülekaalumine (PROMETHEE II kuue üldistatud kriteeriumi kujuga, ELECTRE I kooskõla/lahknevus) — pluss AHP Perroni omavektori prioriteedikaalud Saaty järjepidevussuhte (CR < 0,10) väravaga, MAUT kasulikkus, Pareto frondi eraldamine ja kaalude tundlikkuse analüüs. Üheksa agregaatorit taastoodavad teegid pymcdm / pyDecision ning AHP omavektor langeb kokku SciPy/LAPACK-iga, kõik täpsusega < 1e-9 (tests/mcda_*_reference.rs). Tundlikkuse tornaado on esitatud ka konfliktikindluse stsenaariumi sees. - Alani triivi ja pika τ kella stabiilsuse hinnangud (
src/allan.rs) — MTIE (ITU-T G.810/G.823/G.8261 tipust tippu ajavea triivistatistik, mille vastu sünkroonimismaskid on kirjutatud), MDEV ja TDEV ajapiirkonna triiv ning Theo1 / TOTVAR laiendatud ulatusega hinnangud. VALIDATED teegi allantools vastu NIST SP 1065 reaga; TOTVAR-ile rajatud nihkevaba ThéoH hübriid jääb ausalt MODELLED. - Kindlustus- / välise etaloni raamistik (
src/assurance/) — etaloniraamistik, mis on ühendatud otse CI ausustõkkega, W3C-PROV päritolukirje deterministliku Merkle juurega ning Greenhalli ekvivalentsed vabadusastmed + hii-ruut usaldusvahemikud stabiilsushinnangutele. - PackRegistry / ExternalPack laienduskoht (
src/registry.rs,src/api.rs) — edastuskoht, mille kaudu võimekuspaketid suunatakse ühe registri kaudu (sisseehitatud edastus asub CLI kuumal teel; puust väljas paketid ühenduvad vaikeväärtusegaExternalPack::register_intotaga), kaitstud golden baidi-identsuse standardi järgimise komplektiga ning iseseisva / wasm32 CI väravaga.
Modelleeritud võimekuse alus — uued teegimoodulid, mis toidavad ülaltoodud ja tulevasi stsenaariume (veel mitte iseseisev stsenaariumi kind-id):
- Kuu pinnamajaka DOP (
src/lunar_beacon.rs) realiseeritud täpsuse eelarve, N satelliidi pühkimise ja GDOP kaardiga, pluss häiritud Kuu efemeriid (src/lunar_perturbed.rs) ning õhutu silmapiiri geomeetria / spuufimisvõimsuse pöördülesanne / AFS defitsiidi vahemik (src/jamming.rs,src/linkbudget.rs). Taaskasutab gnss_lib_py-ga valideeritud DOP tuuma. - LOLA-vormingus DEM sisend + maastikunähtavus (
src/realdata/lola_dem.rs). - Signaaliturbe kolmekihiline kaitse — spuufimishaare, andurite-vaheline terviklikkus ja seirevõrgu mõõtmine (
src/spoof_capture.rs,src/cross_sensor_integrity.rs,src/monitor_network.rs) koos orbitaalkiire antennijalajälje ja OSNMA autentimiseelarvega (src/antenna.rs,src/nma_budget.rs). MODELLED.
Muudetud#
- Valideerimismaatriks ja iga tuletatud artefakt genereeriti uuesti ainsast tõeallikast (
src/verification.rs): saidi register, moodulikaardi ja valideerimispäritolu diagrammid ning README / pinnakohased arvustringid näitavad nüüd 51 / 47 / 4 kokku 102-st (varem 40 / 47 / 4 kokku 91-st); arvuausluse kaitse skannib nüüd kogu git-ajalugu ja README joonised on ühtlustatud tumeda kaubamärgipaleti peale. - Üks ühine adaptiivne integreerimisdraiver toetab nüüd nii funktsiooni
integratekui kaintegrate_dopri(src/integrator.rs), eemaldades dubleeritud sammutaja. - CI-sse lisati SonarQube Cloud staatiline analüüs (Rust + imporditud katvus), README-s on turvalisuse / hooldatavuse / töökindluse hinnangumärgid.
- Väljalaske / pakendamise distsipliin: CI registreerib iga paketi/registri avaldamise jaoks juurutuskeskkonna ning keskendunud avalik iseseisev töö on aeglastest valideerimisbinaaridest eraldatud.
- Autorsuse puudumise hügieenikaitse on piiratud ainult autorlusmärkidega, nii et integratsioonihosti või toote nimetamine ei lase enam ehitust ebaõnnestuda.
- Dokumentatsioon: README jaotis Citing loetleb nüüd neli avaldatud arXiv eeltrükki ning pinnamajaka DOP võimekus on dokumenteeritud Kuu reas.
Kolmandate osapoolte tehisintellekti kliente nimetav lõik on siin välja jäetud; see on GitHubis failis CHANGELOG.md.
Parandatud#
- Täisarvulised tsüklilugejad ujukomaga juhitud tsüklite jaoks (Sonar S2193).
- Täpne hii-ruut pöördfunktsioon madalate vabadusastmete korral Newtoni täpsustuse kaudu kindlustuse usaldusvahemiku teel.
- kshana.dev: standardite jaotis avaneb nüüd vaikimisi ja registri arvu tagavaraväärtus on parandatud; jälgitavuse kihi ümber olevad aegunud README / saidi stringid sünkroonitud.
0.23.0 - 2026-06-29#
Võimekuse väljalase, mis lisab üldise Fisheri informatsiooni / Cramér–Rao jälgitavuse ja optimaalse eksperimendikavandi kihi ning väljalase, millele Kuu PNT jälgitavuse artikkel toetub. Masinkontrollitud valideerimismaatriks kasvab tasemele 40 VALIDATED · 47 MODELLED · 4 PARTNER kokku 91 real (varem 39 · 46 · 4 kokku 89 real): uus hindamismootor on kontrollitud välise etaloni vastu ja on VALIDATED; selle Kuu rakendus on ausalt MODELLED. Nagu alati, ei edutata ühtegi arvulise mudeli väidet ilma väline andmestikuta selle taga.
Lisatud#
src/fim.rs— Fisheri informatsioon, Cramér–Rao piirid ja optimaalne eksperimendikavand. Üldine korduvkasutatav hindamisteooria mootor: Fisheri informatsioonimaatriksM = HᵀWHmõõtmise Jacobi maatriksist ja kaaludest; sümmeetriline omaväärtuslahendaja (tsükliline Jacobi); Cramér–Rao alampiir pöördmaatriksi kaudu või Moore–Penrose pseudopöördmaatriksi pluss nullruumi baasi kaudu, kui informatsioon on astakupuudulik (vaba võrgu / datumi defekti juhtum); ning D-, A-, E- ja T-optimaalsed eksperimendikavandi mõõdikud koos valijagabest_designkandidaatgeomeetriate üle. VALIDATED NumPy (eigh/inv) ning Kay (1993) avaldatud suletud kujuga piiride vastu täpsusega 1e-9 (tests/fim_observability_reference.rs), nii et see siseneb maatriksisse välise etaloni reana, mitte enesekontrollina.- Kuu ühis-OD jälgitavus (
lunar_observabilityfailissrc/lunar_combination.rs, esitatud Kuu kombinatsiooni aruandes): rakendab FIM/CRLB mootori ühisele orbiidi ja kella lahendusele, et esile tuua absoluutse jaama datumi defekt, selle astaku taastumine Maa baasjoonega jaamade lisamisel, saavutatud jaama asendi CRLB ja E-optimaalne tinglikkus. Ausalt MODELLED — hindamismootor on väliselt valideeritud, kuid Kuu võrk, millele seda rakendatakse, on esindussimulatsioon ja ükski praegune andmestik ei saa seda geomeetriat mõõtmiseks muuta. - Esindav elliptilise Kuu külmutatud orbiidi (ELFO) geomeetria Kuu kombinatsiooni stsenaariumi jaoks (
orbit_ecc,orbit_inc_deg,orbit_argp_deg,orbit_planes; ringpaigutus jääb vaikeväärtuseks) ning aruande ilma-VLBI jälgitavuse väli, et datumi defekti tulemust saaks näidata geomeetriaüldisena. Sama 3→1→0 redel ja kolme jaama lävi kehtivad Moonlight/LCNS-perekonna ELFO-l ning kolme Maa VLBI baasjoone korral on absoluutne jaama asend jälgitav alammeetrilise piiriga — lukustatud testigaelfo_geometry_confirms_the_observability_structure. Endiselt MODELLED.
Muudetud#
- Valideerimismaatriks ja iga genereeritud tõendiartefakt genereeriti uuesti ainsast tõeallikast (
src/verification.rs): register (web/data/verification-matrix.json),docs/VERIFICATION-MATRIX.md,docs/MODELLED-RATIONALE.md, valideerimise jaotuse ja etaloniliigi joonised ning README arvustringid kõigil levituspindadel näitavad nüüd 40 / 47 / 4 kokku 91-st.
0.22.1 - 2026-06-29#
Ainult pakendamise paranduslõige. Mootori, stsenaariumi ega tulemuste muudatusi pole; valideerimismaatriks on muutumatu: 39 VALIDATED · 46 MODELLED · 4 PARTNER kokku 89 real.
Parandatud#
- npm publish: crate'i manifestist tuletatud pakett
repository.urlkasutas vale suurtähestusega GitHubi omanikku (AshfordeOU), mis ebaõnnestus npm-i sigstore päritolu kontrollis (see võrdleb omanikku tõstutundlikult). Manifestirepositoryon nüüd kanooniline väiketähtedegaashfordeOU, nii et genereeritudpackage.jsonvastab päritoluobjektile ja npm-i väljalase avaldatakse.
Muudetud#
- Wheel-i ehitus fikseerib
codegen-units = 1, et manylinux wheel oleks uuesti ehitamisel bait-baidilt reprodutseeritav (uuesti ehitamise ja diffi reprodutseeritavuskontroll).
0.22.0 - 2026-06-29#
Konsolideeriv väljalase, mis keskendub tõenditele, päritolule ja levitamisdistsipliinile. Masinkontrollitud valideerimismaatriks kasvab tasemele 39 VALIDATED · 46 MODELLED · 4 PARTNER kokku 89 real (varem 15 · 42 · 4 kokku 61), mille taga on modelleeritud võimekuste ristvalideerimine sõltumatute väliste etalonidega. Iga levitatav artefakt kannab nüüd krüptograafilist SLSA ehituspäritolu atesteeringut, sisaldab CycloneDX SBOM-i ja avaldatakse sünkroonselt kõigil pindadel. Ühtegi arvulise mudeli väidet ei edutata ilma väline andmestikuta selle taga; uus võimekus jääb ausalt MODELLED.
Lisatud#
- Orientatsioonidünaamika (
src/attitude_dynamics.rs, MODELLED) — väändemomendivaba jäiga keha Euleri võrrandid + kvaternioonkinemaatika (RK4), koos jäävusseaduste enesetestidega (kvaternioonnorm, kineetiline energia, |Iω|, sümmeetrilise vurri pretsessioon). - Modelleeritud võimekuste ristvalideerimine sõltumatute väliste etalonidega, mis viib valideerimismaatriksi 39 VALIDATED reani, millest igaühe taga on väline andmestik (CI ausustõke keelab VALIDATED staatuse ilma selleta). Uusimad välise etaloniga valideerimised: optilise kella mõõdetud stabiilsuskõver (
quantum_tradeADEV-kõvera sobitus taastoodab Norcia et al. avaldatud ⁸⁸Sr optilise võrekella σ_y(τ), Science 366:93 (2019), Zenodo 10.5281/zenodo.3382347, CC-BY-4.0, kaasatud kataloogitests/fixtures/optical_clock_adev/); GPS L1 C/A hajutuskoodi genereerimine (src/sdr.rsG1/G2 LFSR taastoodab IS-GPS-200 tabeli 3-Ia koodifaasi oktaalid PRN 1–9 jaoks); ning SRTM kõrgusmudeli lugeja päris maastikul (src/altpnt/terrain.rsloeb kaasatud avaliku omandi NASA/USGS SRTM v3 lehe N36W117 / Death Valley, paigutades Badwater Basini selle dokumenteeritud uuringuvahemikku). - Uued MODELLED võimekused, millest igaüks on sisemiselt ristkontrollitud suletud kuju või õdekoodi tee vastu: Clohessy–Wiltshire / Hilli suhtelise liikumise dünaamika, TDOA/FDOA passiivne emitteri geolokatsioon, Wahba/TRIAD/QUEST orientatsiooni määramine, GNSS kandelaine faasi täisarvuliste mitmetähenduslikkuste lahendamine (LAMBDA), B-tasandi sihtimine ja koonuste liitmise gravitatsioonimanööver, CRPA häiretevastane antennimassiivi kimbumoodustus, GNSS ruutseaduslik haaramisstatistika, kvantinertsiaalanduri vöötmitmetähenduslikkus / dünaamiline ulatus, IEEE-1139 astmeseaduslik kellamüra + flicker-FM põhi ning CCSDS-OEM kovariatsiooniploki vahetus.
- Ühe allikaga tõenditeregister genereeritud kontrollidokumentatsiooni ja triivikaitsega; sirvitav valideerimisregister aadressil kshana.dev koos kaardipõhiste tõendite otselinkidega.
- Masinloetavad tsiteerimismetaandmed —
codemeta.json(CodeMeta 2,0) ja.zenodo.json, mis on Cargo manifestiga seotud testigatests/citation_metadata_doc_sync.rs. - Tarneahela päritolu — SLSA ehituspäritolu atesteering crate'i tarballile, wheel-idele, sdist-ile ja npm tarballile; PyPI OIDC Trusted Publishing; CycloneDX SBOM, mis on kaasatud wheel-i ja npm paketti; reprodutseeritava ehituse diff ja väljalaskejärgne kontroll.
- Leitavus —
robots.txt,sitemap.xmlning Open Graph / JSON-LD metaandmed aadressil kshana.dev; maatriksist tuletatud genereeritud joonisvalidation-breakdown. - Pinnakohased README-d crates.io / PyPI / npm jaoks koos arvuausluse kaitsega.
Muudetud#
- Sagnaci aja edastamise etalon uuendati tüübile ExternalDataset — ekvatoriaalse ringi Sagnaci parandust kontrollitakse nüüd Ashby avaldatud 207,4 ns vastu (Living Reviews in Relativity 6:1, 2003, võrrand 1,29; taastoodetud täpsusega < 0,05 ns). Liitaja edastamise võimekus jääb ausalt MODELLED.
- Dokumentatsioon, diagrammid ja joonised värskendati elava maatriksi (39/46/4/89) järgi: valideerimise päritolu diagramm, joonis
oracle-kind-stacked(nüüd maatriksist genereeritud CI triivikaitsega), VALIDATION/PROVENANCE/CAPABILITY/QUANTUM-MODELS/WHEEL_TAGS, arhitektuuri- ja õpetusdokumendid ning kshana.dev registri kogusumma. - Lähtekoodipuu vormindati uuesti fikseeritud rustfmt-iga (tööriistaahel 1.93.0) — puhas stiil, käitumine ei muutu.
- Sünkroonne versioonimine. Iga levituspind (crate, PyPI, npm, MCP crate + OCI kujutis, JetBrainsi plugin) versioneeritakse nüüd mootoriga sünkroonselt, mida CI-s jõustab
scripts/check-version-sync.sh. - JetBrainsi plugin litsentsiti ümber tingimusele AGPL-3.0-only (avaldatud 0.1.1 reklaamis endiselt Apache-2.0) ja tuletab nüüd oma Marketplace'i versiooni väljalaskemärgendist.
- Töökindluse tugevdamine — mittetestitavad
unwrap-kutsed eemaldati või põhjendati;clippy::unwrap_usedon lubatud mittetestkoodil. - kshana.dev tõendid-kõigepealt põhjalik ümberkorraldus: domineeriv avaplokk, arhitektuuridiagrammid ja tulemusjoonised, i18n, kokkupandav/kohanduv register ja Standardite jaotised.
Parandatud#
- SP3 täppisefemeriid — rakendada interpoleerimisel IGS Maa pöörlemise sõlme parandust.
- Registripildid — PyPI/crates.io/npm README-d kasutavad absoluutseid pildi URL-e; peamise README suhtelised pilditeed kuvati PyPI 0.21.0 lehel katkiste piltidena. CI kaitse (
tests/surface_readme_image_urls_doc_sync.rs) takistab regressiooni. - CI —
fmt+clippyroheline; lõpetati kompileerimine git-ignoreeritud päris andmete vastu.
Testid#
- Kalmani kella kovariatsioon jääb PSD ja sümmeetriliseks (omaduspõhine test,
tests/property.rs). - Dokumentatsiooni sünkroonikaitsed: iga avalik valideerimisarvu string, tsiteerimismetaandmed, genereeritud joonis ja pinna README pildi URL-id on kõik seotud oma tõeallikaga.
0.21.0 - 2026-06-26#
See väljalase lisab avatud mootorile kaks MODELLED rakenduskomplekti — kvantvõimalustega PNT demonstraator (usaldatav kvantaja edastamine, GNSS-vaba kvantnavigatsioon, kvanttõrgete/anomaaliate tuvastamine) ja Kuu / tsislunaarne PNT komplekt (Kuu koordinaataeg, Kuu VLBI, ühis-OD+kell, tugisüsteemi realiseerimine, teenindusmaht, diferentsiaalne PNT, koostalitluse eksport) — mõlemad käivitatavad ühe stsenaariumi kind-id abil, mõlemad väljastavad ausa kirje TradeEvidence ning esindatavuse / lünkade lennuni registri. Samuti lisab see kuus uut välise etaloniga valideerimist, mis viivad masinkontrollitud valideerimismaatriksi tasemele 15 VALIDATED · 42 MODELLED · 4 PARTNER kokku 61 real. Uued rakendusarvud on MODELLED illustratiivsetest avaliku allika parameetritest — TRL-i, lennupärandit, sertifitseerimist ega agentuuri heakskiitu pole — ja nende taaskasutatavad valideeritud tuumad on sellisena märgistatud.
Lisatud#
- Kvantvõimalustega PNT demonstraatorikomplekt (
quantum-time-transfer,quantum-gnss-free-nav,quantum-anomaly-detect). Kolm käivitatavat MODELLED rakendusvaldkonda mootori taga, millest igaüks väljastabTradeEvidencepluss esindatavuse / lünkade lennuni kirje:- Usaldatav kvantaja edastamine (
src/timetransfer_chain.rs) — optilise võrekella + fotoonilise lingi kahesuunaline eelarve võrdluses CSAC + RF-iga, taaskasutades ajastuse kaitsetaset, koos viivitus-/kordusründe turbe kvaliteedinäitajaga (1 − P_md) ning kellaanomaalia tuvastamise + CUSUM latentsusega. - GNSS-vaba kvantnavigatsioon (
src/quantum_nav_od.rs) — külmaatom-interferomeetriline inertsiaalne väljajooks võrdluses navigatsioonikvaliteediga INS-iga GNSS-i katkestuse ajal; ausalt märgitud, et ilma välise lahenduseta jääb kiirendusmõõturi nihe jälgimatuks, nii et viga siiski kasvab. - Kvanttõrgete / anomaaliate tuvastamine (
src/quantum_faults.rs) — märgendatud tõrkekataloog bootstrap-CI ROC AUC-ga ja minimaalselt tuvastatava tõrkega fikseeritud valehäire määra juures. - Ühine kvantseadmete veamudelite teek (
src/quantum_devices.rs) ja ühtne kvant-versus-klassikaline kompromissiraamistik (src/qtrade.rs) on kõigi kolme aluseks.
- Usaldatav kvantaja edastamine (
- Kuu / tsislunaarne PNT komplekt. Seitse käivitatavat MODELLED stsenaariumi
kind-id, mis on ehitatud CR3BP tuumale: Kuu koordinaatkaeg (LTC/TCL − TT sekulaarne kiirus,src/lunar_time.rs), geodeetiline Kuu VLBI viivituse vaadeldav suurus (src/lunar_vlbi.rs), ühine mitme tehnika OD + kell partii hindaja (src/lunar_combination.rs), tugisüsteemi realiseerimine (7-parameetriline Helmert + IAU 2015 WGCCRE seos,src/lunar_frame_realise.rs), Moonlight / LCNS-klassi teenindusmahu analüüs (src/lunar_service.rs), Kuu diferentsiaalne PNT (src/lunar_dpnt.rs) ja LunaNet / IOAG-ga joondatud koostalitluse eksport (CCSDS-OEM + Kuu ajaskaala KIF ümbrikus,src/lunar_interop.rs). Kõik MODELLED illustratiivsetest avaliku allika parameetritest; pole valideeritud päris VLBI / Gateway jälgimise vastu; agentuuriga sidet ega heakskiitu pole. - Kuus uut välise etaloniga valideerimist (valideerimismaatriksis on nüüd 15 valideeritut):
- ADEV / HDEV päris tseesiumikellal 5071A — valideeritud Stable32 dekaadipunktide etalonide vastu (
tests/cs5071a_reference.rs). - OADEV / MDEV / TDEV Stable32 etalonil
PHASE.DAT— valideeritud Stable32 avaldatud tabelite vastu (tests/phasedat_reference.rs). - Anomaaliate tuvastamise ROC AUC päris ESA OPS-SAT telemeetrial — valideeritud scikit-learn-i vastu (
tests/opssat_ad_reference.rs). - ICGEM raskusjõufunktsionaalide süntees — valideeritud GRS80 normaalraskusjõu standardi vastu (Somigliana γ täpsusega 3.5e-12; EGM2008 häiringukaart,
tests/icgem_gravity_reference.rs). - Klobucharri edastatav ionosfäärimudel — valideeritud RTKLIB-i vastu (
tests/klobuchar_reference.rs). - RAIM tuvastustuum (171 juhtu,
tests/raim_reference.rs) ja SBAS DO-229E kaitsetase päris EGNOS-i andmetel (RTKLIB SBAS-PL fork,tests/sbas_reference.rs) — mõlemad valideeritud oma väliste etalonide vastu.
- ADEV / HDEV päris tseesiumikellal 5071A — valideeritud Stable32 dekaadipunktide etalonide vastu (
- Esindatavuse ja lünkade lennuni register (
src/representativeness.rs). Struktureeritud kirje, mille iga demonstraator väljastab — mis on esindav, mis on lihtsustatud ja mis seisab mudeli ning lennu vahel — iga MODELLED kompromissi aus kaaslane. - Uuringute koondamine ja CLI mugavus. Stsenaariumikomplekti manifest ühe käsuga uuringute koondamisega, räsistabiilsed uuringu metaandmed +
--study-name, stsenaariumi lintimine käsuga--validatening kvaliteedinäitajakohane valideerimistaseme esitus uuringuaruannetes.
Muudetud#
- kshana.dev kujundati ümber ühise valdkonnaselgroo ümber — võimekused ja valideerimine liideti üheks valdkonnauurijaks ühise sõnavaraga, uued valideeritud saared tuuakse nähtavale, maapinnatäpne animeeritud Maa instrument ja uuringu tellimise üleskutse ning Ashforde OÜ kaubamärk/lingid.
- README + ARCHITECTURE auditeeriti täielikkuse ja aususe osas — aegunud valideeritud arvud parandati (nüüd 15 välist etaloni), diagramme laiendati ning tsiteeritakse eeltrükke Conditional Timing Protection Level (arXiv:2606,24210) ja RF-häirete optimismilõhe (arXiv:2606,22054).
- Allikad kataloogis
paper/ja JOSS-i mustandi torujuhe hoitakse avalikus hoidlas.
0.20.0 - 2026-06-22#
See väljalase lisab avatud mootorile neli uuringuvõimekust — tinglik ajastuse kaitsetase, raamistikuga joondatud PNT vastupidavuse skoorimine, RF-häirete optimismilõhe hindamine ning tarkvaraliselt määratletud vastuvõtja / päris andmete esiots — igaüks reprodutseeritav ühest käsust ja kirjutab baidi tasemel deterministliku artefakti. Kõik uuringud on MODELLED (sünteetiline või avaliku andmestiku kalibreerimine), kannavad oma ausat päritolu (mootori versioon, algväärtused, konfiguratsiooni räsi) ja valideerimismärgendeid ning ei ole sertifitseerimised.
Lisatud#
- Tinglik ajastuse kaitsetase (
tpl). Holdover-iga piiratud tõkestus tuvastamata ajaveale GNSS-i spuufimise korral, k-sigma seirepõhjaga, tuvastusviivituse ulatuses van Loani väljajooksu dispersiooniga ja CUSUM aja-alarmini. Kalibreeritud päris salvestatud rünnakul (JammerTest 2024, stsenaarium 2.1.1) käsucargo run --release --example tpl_jammertestkaudu, mis taastoodab selle etalontabeli avaliku salvestise skalaaridest (toorandmestikku ei levitata edasi). - Raamistikuga joondatud PNT vastupidavuse skoorimine + otsuse ebastabiilsuse uuring (
resilience). Arhitektuurimudel, RPCF-iga joondatud skoorimine, Dirichlet' kaalusimpleks, Kendalli tau ja top-1 ümberpöördumise määra ebastabiilsus ning ühisrežiimi mitmekesisuse kollaps (Hill-N2), käsugacargo run --release --example resilience_report -- paper-artifacts/resilience-study.json. Vastavustabel failisdocs/RESILIENCE-CROSSWALK.md. - RF-häirete optimismilõhe uuring (
impairment_study,impairment_ml,eval_stats). 13 detektori paneel parameetritest lähtuval sünteetilisel korpusel, jaotusesisese ja jaotusevälise optimismilõhe võrdlus, skaleerimisseaduse trendid permutatsiooni nullmudeliga ning ühe välja jätmise (leave-one-out) halvenemise ennustaja, käsugacargo run --release --example optimism_study -- paper-artifacts/optimism-study.json. - Tarkvaraliselt määratletud vastuvõtja esiots (
sdr) ja päris andmete adapterid (realdata/). Toor IQ/IF korrelaatorikraanideks ja SQM-iks, pluss sisendiadapterid (RINEX, u-blox UBX, GnssLogger, JammerTest, Yunnan, SatGrid) ja sondinäited. Need loevad salvestisi, mille kasutaja kohapeal esitab; ühtegi salvestist ei ole commit'itud. - Commit'itud uuringuartefaktid. Baidi tasemel deterministlikud
optimism-study.jsonjaresilience-study.jsonon nüüd jälgitud kataloogispaper-artifacts/, et uuringu arve saaks kontrollida ilma uuesti ehitamata; need on endiselt taastatavad ülaltoodud generaatoritest. Toorandmestikud jäävad hoidlast välja (/realdata-cache/).
Muudetud#
- Versioon tõsteti tasemele 0.20.0 failides
Cargo.toml,CITATION.cffjaREADME; ristumisuuringu artefaktid genereeriti uuesti, et nende tempel vastaks väljalastud versioonile.
0.19.0 - 2026-06-18#
Muudetud#
- Litsentsiti ümber Apache-2.0-lt GNU AGPL-3.0-only peale, kommertslitsentsiga, mida saab Ashforde OÜ-lt (topeltlitsentsimine). Avatud mootor jääb täielikult avatuks ja avalikult kontrollitavaks; AGPL-i võrgu-copyleft (§13) tähendab, et suletud või majutatud tuletis peab tulema tagasi avatud lähtekoodi alla — või võtma kommertslitsentsi. See kaitseb valideeritud tuuma fork-and-close vastu, säilitades samal ajal avaliku, käivitatava ja auditeeritava mootori usaldusväärsuse. Vt
LICENSE(AGPL) ja uutLICENSING.md(mida iga litsents katab ja millal see kehtib).LICENSEsisaldab nüüd AGPL-3.0 teksti; SPDX päised kõigis allikates uuendati väärtuseleAGPL-3.0-only;NOTICE,README,GOVERNANCE,GLOSSARY, veebisait ning crate'i/paketi metaandmed (Cargo.toml,pyproject.toml,CITATION.cff, MCP crate + kujutis) uuendati vastavalt.- Panustajate tingimused (
CONTRIBUTING.md) litsentsivad nüüd sissetuleva AGPL-i all ja annavad Ashforde OÜ-le õiguse lisada panused kommertslitsentsitud väljaandesse, et topeltlitsents jätkuvalt toimiks. - Sõltuvuspoliitika on muutumatu, kuid uuesti põhjendatud (
deny.toml,GOVERNANCE): sõltuvused jäävad lubavaks (Apache/MIT/BSD/ISC). AGPL on lubatud ainult kshana enda crate'i jaoks — copyleft-sõltuvus rikuks kommertsväljaande ja lõhuks topeltlitsentsimise. - Märkus allavoolu kasutajatele: see on copyleft-ümberlitsentsimine. Kasutajad, kes toetusid Apache-2.0 lubavatele tingimustele, saavad jätkata viimase Apache-2.0 väljalaske kasutamist (
v0.18.0ja varasemad, nagu avaldatud); alatesv0.19.0kehtib AGPL-3.0 / kommertslitsents.
Turvalisus#
- Tõsteti
pyo30,24 → 0,29, et eemaldada RUSTSEC-2026-0176 / RUSTSEC-2026-0177 (GHSA-36hh-v3qg-5jq4 / GHSA-chgr-c6px-7xpp) väliste OSV/sõltuvuste skannimistest. Mõlemad on funktsioonitaseme nõuanded, mille mõjutatud funktsioone (BoundList/TupleIterator::nth/nth_back,PyCFunction::new_closure) Kshana kunagi ei kutsu, japyo3on valikuline (python-funktsiooniga) sõltuvus — seega tegelik kokkupuude oli null —, kuid tõstmine hoiab puhta skannimise allavoolu auditeerijatele. Failissrc/python.rsmigreeriti pyo3 0,29 API-le (Bound tagastustüüp funktsioonilescenario_kinds; selgesõnalineskip_from_py_objectpyclass'ilRunOutput). Kõik 11 Pythoni sidumise testi läbivad uuesti ehitatud laiendi vastu.
0.18.0 - 2026-06-17#
Lisatud#
Üksteist uut käivitatavat stsenaariumi liiki — kahe pakkumise demonstraatorid, CCSDS koostalitluse sild ja esimese järgu missioonianalüüsi / keskkonnakomplekt (kõik MODELLED, lisanduvad; olemasolevad reprodutseeritavuse golden-failid muutumatud). Igaüht saab edastada CLI / Python / WASM / MCP kaudu, igaühel on
scenarios/<kind>.tomlja selge MODELLED märgend oma tulemuse JSON-is ning üherealine kokkuvõte (liigipõhine test failistests/dominance_demonstrators.rskinnitab, et märgend on olemas ja et väljund ei sisalda kunagi stringiVALIDATED):impairment-eval(src/impairment_eval.rs) — masinõppel põhineva RF-häirete tuvastuse hindamise katsestend: märgendatud sünteetiline korpus + detektorist sõltumatu ROC/AUC raamistik + jaotusesisese/jaotusevälise optimismilõhe aruanne (ainult tööomadused — mitte kunagi välja-/IQ-andmed).quantum-trade(src/quantum_trade.rs) — kvant-versus-klassikaline PNT kompromiss mõõdetud ADEV sisendiga ja GNSS-ita vastupidavuse ümbrisega.space-weather(src/space_weather.rs) — päikese/geomagnetilised indeksid (Kp↔ap IAGA tabel, päevane Ap, tsentreeritud 81-päevane F10.7a), Jacchia-71 eksosfääri temperatuur ja aktiivsusest juhitud termosfääritiheduse sidestus staatilise atmosfääri kohal (MITTE NRLMSISE absoluuttiheduse mudel).oem-interop(src/oem.rs) — CCSDS 502,0 OEM import + edasi-tagasi sild GMAT / Orekit / STK efemeriididele (lugejaparse_oem, kirjutaja täpne pöördfunktsioon).launch-window(src/launch.rs) — kahe keha stardiazimuut (sin Az = cos i/cos lat), tasandimuutuse Δv, stardiplatsi pöörlemisbonus ja päevase võimaluse geomeetria.reentry(src/reentry.rs) — Allen-Eggersi ballistilise atmosfääri taassisenemise koridor: maksimaalne aeglustus, maksimaalse g ja maksimaalse kuumenemise kiirused, maksimaalse g kõrgus.eo-coverage(src/eo_payload.rs) — EO vööndi laiuse / GSD / ligipääsu / taaskülastuse geomeetria (SMAD kosmosekolmnurk).space-packet(src/space_packet.rs) — CCSDS 133.0-B Space Packet esimese päise kodeerimine/dekodeerimine bitttäpse edasi-tagasi teisendusega.attitude-budget(src/attitude_budget.rs) — 3-DOF gravitatsioonigradiendi moment + RSS sihtimisvea eelarve (skalaarne eelarve enne riistvara, mitte juhtimissilmus).passes(src/passes.rs) — maajaama tõusu/loojangu ülelennu prognoos (AOS/TCA/LOS, maksimaalne kõrgus, ligipääs).link-budget(src/linkbudget.rs) — ühesuunaline CCSDS-401 / DSN-810-005 lingivõrrand (C/N₀ = EIRP − FSPL − L_other + G/T − k, FSPL / Eb·N₀ / varu / sulgumine).
17-olekuline hübriidne kvant- + klassikaline tihedalt seotud UKF — esitatud käivitatava stsenaariumina (MODELLED). Uus stsenaariumi liik
hybrid-ukf(src/fusion/hybrid_ukf.rs,scenarios/hybrid-ukf.toml), mis muudab varem ainult API kaudu kättesaadava 17-olekulise tihedalt seotud GNSS/INS unscented Kalmani filtri (UKF) (src/fusion/tightly_coupled17.rs) stsenaariumiks, mida CLI/Python/WASM/MCP sidumised saavad edastada. 17-olekuline veavektor on 15 INS-i veaolekut (asend, kiirus, orientatsiooni nihe, kiirendusmõõturi + güroskoobi nihe), mida täiendab CAI-st tuletatud kiirendusmõõturi nihke parandus — külmaatom-interferomeeter (src/inertial/quantum_imu.rs) määrab kiiruse juhusliku käigu põhjaq_va, nii et pikaajaline väljajooksu triiv on kvantanduriga piiratud — ning 2-olekuline faasi + sageduse kell, mille protsessimüra tuleb q-parameetri kellamootorilt (clock_state::q_from_allan, mis kujutab kella Alani hälbe profiili PSD-deksq_wf/q_rw, skaleeritud kaugusühikutesse). Platvormi abistab GNSS sissejuhatuseks (filter õpib nihked, kiiruse ja kella), seejärel veerab see GNSS-i katkestuse läbi ainult CAI IMU + kella abil, nii et käitus demonstreerib klassikalise IMU lühiajalise + kvant pikaajalise hübridiseerimist. Kvaliteedinäitaja on filtri enesekooskõla: koondatud NEES (Normalised Estimation Error Squared, hinnatava asendi/kiiruse/kella alamhulga üle) ja innovatsiooni valgeduse NIS (Normalised Innovation Squared) Monte Carlo ansambli üle, kontrollitud nende 95 % χ² vööndite vastu (Bar-Shalom §5,4). Sobitatud filter jääb vööndite sisse; tahtlikult valesti häälestatud filter (nupudq_factor/r_factor) märgitakse — objektiivselt kontrollitav, eristav värav, mitte tembeldaja. NEES/innovatsiooni valgeduse kontroll on STATISTILINE ORAAKEL (SÕLTUMATU ETALON): enesekooskõla väide (filtri teatatud kovariatsioon vastab ausalt tema enda vigade hajuvusele modelleeritud müra korral), MITTE reaalse maailma täpsuse garantii. Aus ulatus: kõik on modelleeritud / simulatsioon — CAI ja kella sisendid on piiritletud, kirjandusele esindavad väärtused, mitte mõõdetud riistvara; CAI riistvara ja selle Key-Person jäävad partneri omandisse; siin ei vihja miski TRL > 3-le, lennupärandile ega välisele valideerimisele (tulemuse JSON ja üherealine kokkuvõte kannavad neid märgendeid selgesõnaliselt). Ainus konstantse kiirusega horisontaalne trajektoor jätab orientatsiooni- ja IMU nihke olekud vaid nõrgalt jälgitavaks, seega hinnatakse NEES-i 8 hinnatava oleku üle; manööverdav trajektoor täieliku 17 jälgitavuse jaoks on teekaardil. Lisab ka instrumentatsiooniUkf::update_stats(tagastab uuenduskohase NIS-i) jaTightlyCoupled17::{update_gnss_nis, nees, nees_subset}kooskõla jaoks. Kõiki olemasolevaid stsenaariume see ei mõjuta (lisanduv; reprodutseeritavuse golden-failid muutumatud).Järjestikune (rekursiivne) maastikupõhine navigatsioon — SITAN töötava filtrina. Uus stsenaariumi liik
terrain-slam(src/altpnt/sequential.rs,scenarios/terrain-slam.toml), mis käitab olemasolevat kõrgusmõõtja-vs-DEM mõõtmismudelit epohhhaaval läbi mootoriparticle_filterSIR, mitte partii jämedalt-täpseni otsinguga, midaterrain-navkasutab ühe konstantse INS-i nihke taastamiseks. Igas teekonnapunktis propageeritakse pilve INS-i teatatud juurdekasvuga (mis ise on riknenud sammukohase triivikasvuga), kaalutakse uuesti maastikusobitusega ja valimit võetakse uuesti degeneratsiooni korral — nii et ajas muutuvat INS-i triivi jälgitakse piki rada, mida konstantse nihke sobitus struktuurselt ei suuda. Sünteetilisel DEM-il jääb rekursiivne hinnang piiratuks ja koondub uuesti (lõpp ≈ 70 m), samal ajal kui abitu inertsiaallahend hajub piiramatult kuni ≈ 5 km; epohhikohane viga järgib maastiku eristatavust (see veerab nihkega INS-il üle lamedate sadulate ja lukustub uuesti eristuva reljeefi kohal) ning efektiivse valimi suuruse seire kinnitab tervet pilve. Aus ulatus: kaart on teada ja fikseeritud — rekursiivne lokaliseerimine salvestatud DEM-i vastu (maastiku SLAM-i lokaliseerimise pool), mitte ühine kaardi hindamine; konstruktsiooni poolest mitteringlev (süstitud triivirampp on sõltumatu tõde). Kõiki olemasolevaid stsenaariume see ei mõjuta (lisanduv; reprodutseeritavuse golden-failid muutumatud).GNSS-ita vastupidavuse selgroog + FutureNAV demonstraatori lõigud (
src/holdover.rs, ja vastupidavuse ümbriku alused kataloogidessrc/impairment_eval.rs,src/quantum_trade.rs,src/navsignal.rs,src/inertial/quantum_imu.rs, FutureNAV kontrolli lõikudega failissrc/verification.rs). Komponeerib alternatiivse PNT ehituskivid — kella holdover, signaali jälgimine, inertsiaalne väljajooks, maastik — üheks GNSS-i katkestuse vastupidavuse looks. MODELLED; lisanduv.Kshana Interchange Format (KIF) — versioneeritud, ise end kirjeldav artefaktiümbrik (
src/interchange.rs). Skeemimärgendiga ümbris stsenaariumi tulemuste ümber, nii et salvestatud artefakt kannab kaasas oma liiki, skeemiversiooni ning MODELLED/VALIDATED märgendeid ja vanemad ümbrikud jäävad edasiühilduvalt loetavaks. Lisanduv; olemasolev tulemuse JSON muutumatu.Navigatsioonisignaali modulatsioon / jälgimine + CR3BP halo/NRHO diferentsiaalparandaja (
src/navsignal.rs,src/cr3bp.rs). Esimese järgu navigatsioonisignaali modulatsiooni ja jälgimise mudel ning piiratud kolme keha ülesande diferentsiaalparandaja halo / peaaegu sirgjoonelistele halo orbiitidele, esitatud olemasoleval kaugkosmose võimekuse teljel. MODELLED.Jaotusnihke hindamisrežiim + korpuse tõsiduse skaala nupp tööriistale
impairment-eval(src/impairment_eval.rs). Lisab ROC/AUC optimismilõhe raamistikule selge jaotusesisese/jaotusevälise jaotuse ja häälestatava korpuse tõsiduse skaala (ainult tööomadused — mitte kunagi välja-/IQ-andmed).Katvuse hinna kohta ROI + tuvastamata jäänud sündmuse terviklikkuse mõju vastendus (
src/frugal.rs,src/integrity_impact.rs). Säästliku inseneeria ROI lääts (hind katvuse ühiku kohta) ja vastendus tuvastamata jäänud sündmuste määrast terviklikkuse mõjule. MODELLED; lisanduv.Viidatud külmaatom-interferomeetri (CAI) veamudeli parameetrileht (
src/inertial/quantum_imu.rs). Kirjandusele viitav, piiritletud parameetrileht CAI inertsiaalse mudeli jaoks — sisendid on viidatud, mitte mõõdetud riistvara (TRL-i / lennuväidet pole); see toidab kiiruse juhusliku käigu põhja stsenaariumishybrid-ukf.Projekti juhtimine.
GOVERNANCE.md, mis dokumenteerib otsustusmudeli ning avatud/suletud piiri; võimekuskaardi kogukonna/juhtimise rida liigubnone → partial, et seda kajastada.
Parandatud#
ARAIM terviklikkuse kaitsetase — nominaalne nihe (
b_nom) ja σ_URA on nüüd rakendatud. MHSS kaitsetase lahutab nüüd ühepoolse nominaalnihke projektsioonib_k = Σ_i |s_i|·b_nomiga tõrkerežiimi kohta ja kasutab terviklikkuse sigmat σ_URA (erinev täpsuse sigmast σ_URE), mida kannab Integrity Support Message. See teeb kaitsetaseme konservatiivsemaks ja standardikohaseks ning seetõttu muudab olemasolevate terviklikkuse stsenaariumide teatatud PL väärtusi. ISM/stsenaarium saab väljad#[serde(default)]sigma_ura_m/b_nom_m, nii et sisendid, mis neid ei sea, säilitavad varasema käitumise. Vtdocs/ARAIM_REFERENCE.mdtaastatud valemib_kja ausa teostusmärkuse kohta.Spuufimisseire χ² kooskõla.
parity_raim_testkasutab nüüd ühist pöörd-χ² radaraim::chi2_quantile, eemaldades teise lahknevana χ² teostuse, nii et RAIM ja pariteedi spuufimisseire on oma läviväärtustes ühel nõul.gravity-map-navühendati CLI dispetšeriga. Stsenaarium oli varem kättesaadav ainult API kaudu; nüüd edastatakse seda nagu iga teist stsenaariumi, kasutadeskind=.Dokumentatsiooni/arvu täpsus. README stsenaariumi liikide arvud on nüüd seotud väärtusega
api::list_scenario_kinds().len()testigascenario_count_doc_sync, nii et dokumenteeritud arv ei saa enam dispetšerist kõrvale triivida.
0.17.0 - 2026-06-14#
Lisatud#
- Kaugkosmose ja Marsi PNT — avatud radiomeetriline navigatsioonimootor + GSE simulatsioon. Uus, täielikult lisanduv võimekuse telg Maal valideeritud tuuma peal (iga olemasolev Maa stsenaarium on baidi haaval identne — reprodutseeritavuse golden-failid läbivad muutmata ilma uuesti genereerimata). Lisab: mitme keha dünaamika tuuma (
Body{mu, re, zonals, gravity, rotation, IAU-pole}Marsi GMM-3 tesseraalse gravitatsiooniga, IAU Marsiga kinnitatud keharaam, ühendatavEphemerisProviderkoht, mikrosekundist väiksema täpsusega kaheosalised Juliuse kuupäevad ja TT↔TDB); radiomeetrilised vaadeldavad suurused (iteratiivne valguse levi aeg + Shapiro viivitus, kahe-/ühe-/kolmesuunaline Doppler ja kaugus Moyeri kahe haru lahendiga, koherentne transponderi pööre, regeneratiivne/PN kaugusmõõtmine CCSDS 414 järgi, Δ-DOR CCSDS 506 järgi, päikeseplasma/tropo/iono keskkonnad); CCSDS-TDM (503) parsimine + väljastamine; vähendatud dünaamikaga ruutjuur-infofilter RTN empiiriliste kiirendustega, kolmeolekuline pardakell ja Marsi takistusmudel; ühine ühesuunalise + kahesuunalise sulatushindaja; stsenaariumipindmars-pnt(releekonstellatsioon + LMO/ülekanne/ pind) CLI, Pythoni, WASM-i, MCP ja mänguväljaku kaudu; ning otsast lõpuni GSE tulemuslikkuse simulaator (geomeetria → lingieelarve → vaadeldavad suurused → SRIF → kovariatsioon). Valideerimistase — simulatsiooniga valideeritud: sünteetiline suletud ahelaga OD (Marsi-LMO ≈ 0,2 m) ja analüütiline enesekooskõla, kusjuures Päikese-keskne Marsi dünaamika on sõltumatult ristkontrollitud JPL DE440 vastu (xval/anise-mars-od, kerneliga piiratud: 137 m @ 1-päevane kaar, aus modelleerimata n-keha jääk). Teatatud kaugkosmose täpsused on simulatsiooni / kovariatsiooni kvaliteedinäitajad, mitte päris missiooni tulemused; päris DSN/ESTRACK jälgimisandmetega valideerimine jääb teekaardile. ANISE (MPL-2.0, edition-2024) on piiratud tööruumist välja jäetud ristkontrolli crate'iga, nii et litsentsiväravcargo denyja MSRV-1.75 töö jäävad puutumata. - Agentuuritäpsed maapinnajäljed päris IERS-i Maa orientatsioonist. Stsenaarium
ephemerisvõtab valikulise väljaeop_finals2000a— päris IERS-i failifinals2000Asisseehitatud keha — ja taandab maapinnajälje sellest interpoleeritud epohhikohase UT1−UTC ja poolusliikumise kaudu (samaEopSeries, mida kasutabprecise_od), alistades nominaalsed skalaariddut1_s/xp_arcsec/yp_arcsec. Andmed liiguvad stsenaariumi sees, nii et käitus jääb reprodutseeritavaks ega vaja failisüsteemi (see töötab WASM-i mänguväljakul). Lippkshana --eop <finals2000A>põimib päris faili CLI-st stsenaariumi. Sulgeb asümmeetria, kus päris Maa orientatsiooni andmeid tarbis ainultprecise_od.
Parandatud#
- Kiiruse muutumise kiiruse raami kooskõla. Maajaam kujutatakse nüüd inertsiaalraami satelliidi taandamise täpse pöördfunktsiooni kaudu (
frames::itrf_to_teme, võttes tagasi poolusliikumise ja sideerilise pöörde) poolusliikumisest teadmatu GMST pöörde asemel, nii et mõlemad otspunktid jagavad ühte raami. Mõju teatatud Dopplerile on valideerimispõhja all, kuid see eemaldab päris raami mittevastavuse ja „täpse“ üledeklareerimise allikas. carrier_hzvalideeritakse. Null või mittelõplik kandesagedus tagastab nüüd vea, selle asemel et vaikselt anda null Doppler (see oli teinud λ = c/kandja lõpmatuks), vastavalt olemasolevale kaitselestep_s.
0.16.0 - 2026-06-11#
Lisatud#
- Jõumudeli valideerimine efemeriidi sobitamisega, ristvalideeritud päris agentuuri toodete vastu. Uus partii vähimruutude hindaja (
src/precise_od.rs) variatsioonilise olekuüleminekumaatriksi ja kõrvalekallete redigeerimisega, mida juhib täielik jõumudel (PreciseForceModel: EGM2008 geopotentsiaal, kolmandad kehad, tahke + ookeani + atmosfääri looded ning empiirilised CPR/2-per-rev kiirendused), mida toidab päris IERS-i Maa orientatsiooni parserfinals2000A. Valideeritud avaldatud etalonorbiitide vastu: Galileo MEO 13 cm järelsobituseni, ESA Swarm-A LEO ja LRO Kuu (selenotsentriline, GRAIL gravitatsioon, IAU-2015 kehaaraam — vähendatud dünaamikaga 6,6 m, ausalt üle 5 m sihtmärgi avatud teel; DE-klassi ANISE/DE440 tee, mis selleni jõuab, on tööruumist välja jäetud crate). - Stsenaarium
spoof-detect— integreeritud mitmekihiline spuufimise detektor, mis ühendab epohhikohase RAIM pariteedi, AGC ja signaalikvaliteedi (SQM) seired ning liitotsuse, valideeritud avaldatud TEXBAT stsenaariumi parameetrite vastu (Humphreys et al., ION GNSS 2012), sealhulgas kandjaga joondatud raske juhtum. - Stsenaarium
ephemeris— olek, raamid, maapinnajälg ja Doppler. Propageeri üks satelliit (TLE→SGP4 või analüütiline orbiit) ja väljasta sammu kohta inertsiaalne TEME ja GCRS olek (asend ja kiirus), Maaga seotud ITRF/ECEF asend, WGS-84 alamsatelliidi maapinnajälg (laiuskraad / pikkuskraad / kõrgus) ning topotsentriline asimuut / kõrgus / kaugus koos kauguse muutumise kiiruse ja Dopplerina maajaamast. Kättesaadav CLI-st, Pythonist, WASM-ist ja MCP serverist ning tarnitakse eelseadena „Maapinnajälg“ veebimänguväljakul, kus jälg joonistatakse päris maailmakaardi peale (Natural Earth 1:110m rannajooned, sisseehitatud — võrku ega välist sõltuvust pole). - CCSDS OEM eksport (
--export-oem/export_oem = true) — kiirust kandev Orbit Ephemeris Message, mida tarbivad GMAT / Orekit / STK, pariteedis olemasolevate SP3 ja OMM eksportijatega. - Tahked, ookeani (FES2004) ja atmosfääri (Ray 2001 S2) Maa looded geopotentsiaalil (IERS Conventions peatükk 6), ühendatud jõumudelisse.
- ARM64 wheel-id — PyPI ehitus toodab nüüd ka Linux aarch64 (manylinux_2_28), macOS arm64 ja Windows arm64 wheel-id.
- Laiendatud tehniline aruanne (eeltrükk) on README-st lingitud ja JOSS-i artikkel tehtud esitatavaks (autori ORCID, CI-s PDF-iks kompileeritud iga muudatuse korral).
Muudetud#
- Raamid valideeritud millimeetri täpsusega avaldatud Vallado vektorite vastu. TEME→PEF/ITRF taandamine, täielik CIO IAU 2006/2000A GCRS→ITRS ahel ja ECEF→geodeetilise WGS-84 teisendus on nüüd seotud Vallado et al. (AIAA 2006-6753) läbitöötatud näitega koos selle IERS EOP-ga, mitte ainult sisemise enesekooskõlaga.
- Sõltumatud ajaskaalade ristkontrollid. ERA ning UTC/TAI/TT skaalad langevad teegiga
hifitimekokku täpsusega < 1 µs ja DE440 planeetide efemeriid langeb kokku JPL Horizonsiga (Kuu/Päikese geotsentrilised asendid), mõlemad alati sisselülitatud CI väravatena. - Veebimänguväljak peidab kvaliteedinäitajate sakid, kui tulemusel pole ühtegi kvaliteedinäitaja rida, nii et ainult joonisega paketid (efemeriid, RAIM, spuufimine) avanevad oma joonisel — efemeriidi puhul maapinnajäljel — tühja tabeli asemel.
- Mänguväljaku juhitud liugurid ja parameetri pühkimine töötavad nüüd efemeriidi / maapinnajälje stsenaariumi jaoks: selle nupud (jaama laiuskraad / pikkuskraad, ajasamm, kestus, UT1−UTC) on häälestatavad ja pühkimine saab joonistada ülelennu geomeetriat (maksimaalne kõrgus, tipp-Doppler, kõrgus, kiirus) mis tahes nende vastu — nt maksimaalne kõrgus vs jaama laiuskraad. Sakk Sweep kuvatakse nüüd ainult siis, kui stsenaarium on tõesti pühitav, nii et ükski pakett ei paku juhtelementi, mis ei joonista midagi.
- Dokumenteeriti SGP4 lähendus
DUT1 ≈ 0GMST kutsekohas (≤ ~13″ pöördeviga, SGP4 enda mudelivea piires) ja värskendati failiCAPABILITY.md.
0.15.1 - 2026-06-09#
Lisatud#
- JetBrainsi plugin Kshana — PNT simulator on nüüd avaldatud ja kinnitatud portaalis JetBrains Marketplace. README,
kshana.devja levitusdokumendid lingivad sellele otse.
Parandatud#
- MCP registri avaldamine õnnestub nüüd:
server.jsondescriptionületas registri 100-märgilist piiri (HTTP 422). Seda lühendati ning serveri nimi (ja kujutise omandimärgend) joondati kanoonilise nimeruumigaio.github.ashfordeOU/kshana-mcp. - JetBrains Marketplace'i avaldamine õnnestub nüüd: CI laadis uuesti üles sama pluginaversiooni, mis oli käsitsi loetletud, mida Marketplace tagasi lükkab. Plugina versioon tõsteti tasemele
0.1.1ja idempotentsuse kaitse käsitleb nüüd ka vastust „already contains version“ no-op õnnestumisena. kshana.devvahemälu kõrvaldamine: versioonitempligastyle.css/app.jspäringustringid järgivad väljalaset, nii et naasvad külastajad saavad alati praeguse ehituse.
0.15.0 - 2026-06-08#
Lisatud#
kshana-mcp— Kshana kui Model Context Protocol (MCP) server (mcp/kshana-mcp/). Iseseisev, tööruumist välja jäetud crate (SDKrmcpon edition 2024), mis avab valideeritud mootori tehisintellekti agentidele ja assistentidele — Cursor, JetBrains AI Assistant / Junie ja mis tahes MCP klient — stdio kaudu. Tööriistad:run_scenario,list_scenario_kinds,validate_scenario,export_sp3,export_omm, igaüks õhuke ümbris ülekshana::api.- JetBrains IDE plugin (
ide/jetbrains/). Tee stsenaariumi.tomlpeal paremklõps → Run Kshana Scenario; kvaliteedinäitajad ja tulemuse JSON voogedastatakse Kshana tööriistaaknasse. Puhas platvormi Kotlini plugin, ühilduv iga JetBrains IDE-ga 2024,3+. - Avalik levitamine + iga väljalaske automaatne avaldamine mõlemale:
kshana-mcpportaali crates.io (cargo install kshana-mcp) kaudu failigapublish.yml.kshana-mcpmitmearhitektuurilise OCI kujutisena portaalisghcr.io(docker run ghcr.io/ashfordeou/kshana-mcp) uue failimcp-publish.ymlkaudu.kshana-mcpametlikku MCP registrisse GitHub OIDC kaudu (null saladust); registrikirje (server.json) kasutab OCI paketi tüüpi märgendiga kontrollitud omanikuga.- IDE plugin JetBrains Marketplace'i käsuga
publishPlugin(märgiga piiratud, valikuline arendaja allkirjastamine) iga väljalaskemärgendi korral.
0.14.1 - 2026-06-08#
Lisatud#
- Sõltumatu ANISE/SPICE tugisüsteemi ristvalideerimine (
xval/anise-frames/). Iseseisev, tööruumist välja jäetud crate kontrollibkshanaIAU 2006/2000A CIO taandust (kshana::cio::gcrs_to_itrs_matrix, GCRS→ITRS) ANISE (puhas-Rust NAIF/SPICE uusteostus) vastu, mis pöörab GCRF→ITRF93 JPL-i failistearth_latest_high_prec.bpc, kusjuures samad IERSfinals2000AMaa orientatsiooni parameetrid antakse mõlemale poolele, kaheksal kvartaalsel epohhil 2020–2023. Kaks sõltumatut raami realiseeringut langevad kokku maksimaalse suhtelise pöördega 0,028″ — ≤ 0,86 m maapinnal, ≤ 0,93 m LEO-l, ≤ 3,6 m GNSS-i orbiidil, täites ammuse ROADMAP-i raami ristkontrolli „< 10 m“ suure varuga (see täiendab, kuid ei asenda, olemasolevaid bitt-bitilt SOFA/ERFA ankruid). Crate on isoleeritud, sestanise+hifitimeon MPL-2.0 / edition-2024 ja ei tohi kunagi sattuda avaldatudkshanasõltuvusgraafi, selle failiCargo.lock, litsentsiväravassecargo denyega MSRV ehitusse; ANISE on fikseeritud märkegadefault-features = false. Sisaldab binaariframe-xval(toob ~5 MB BPC, prindib tabeli, kirjutabreport.{json,md}), kernelit/võrku ise vahelejätvat testiväravat ja valikulist ainultworkflow_dispatchCI tööd (ei blokeeri kunagi harumain). Dokumenteeritud failisdocs/VALIDATION.md(CIO rida) jaROADMAP.md.
Parandatud#
- Mobiilisõbralik mänguväljak. Parandati mänguväljaku
.panelhorisontaalne ülevool telefonidel (CSS-grid üksus, mille vaikeväärtusmin-width: autorenderdus ~100 px laiemana kui vaateala) märkegamin-width: 0ja laiusega kaitstud juhtelementidega; kontrollitud puhtaks laiustel 360 / 390 / 414 / 768 px. Joondati nupud „Pin to compare“ / „Download report“ (võrdsed veerisekastid flex-reas). Suurendati käivitusnupud, liugurid, valikud ja navigatsioonilingid telefonidel ja puuteseadmetel umbes 44 px WCAG 2.5.5 / Apple-HIG puutesihtmärgi miinimumini, lauaarvuti suurus muutumatu.
0.14.0 - 2026-06-08#
Parandatud#
- Töökindluse tugevdamine vaenuliku lahingutesti läbimisest. (1)
sbas_protection_levellükkab nüüd tagasi mittelõpliku kõrguse/asimuudi/dispersiooni ja negatiivsed või mittelõplikud kovariatsiooni diagonaalid (peaaegu singulaarne geomeetria, mida väike σ skaleeris üles, võis varem libiseda absoluutse pivoti väravast läbi ja tagastada NaN VPL-i / absurdse HPL-i kehtivaSomekujul — vaikiv terviklikkuse tõrge). (2) Numbriline propageerija (propagate/propagate_dopri) ebaõnnestub suletult mittelõpliku algoleku korral, selle asemel et adaptiivset kontrollerit igavesti ringi keerutada. (3) DEM-i raku abifunktsioon ei kuku enam kokku ühe valimiga (1×N) ruudustiku korral. (4)lunar_look_angleasimuuti hoitakse rangelt vahemikus[0, 360). (5)SphericalHarmonicField::from_gfclükkab tagasi mittefüüsikalise (NaN / mittepositiivse)GM/raadiuse.
Lisatud#
- Binaar
validation_report+ väljalaskeartefakt: sõltuvusteta generaator, mis väljastab ühelehekülgse, printimisvalmis HTML valideerimiskokkuvõtte, mis indekseerib iga CI-s jõustatud valideerimise (SGP4 666/666, EGM2008, bitt-bitilt raamid, NIST Allan, IMU andmelehed, ARAIM/SBAS, 3-OS reprodutseeritavus, katvus) selle testi ja välise etaloni juurde. Väljalasketöövoog genereerib failikshana-validation-summary.htmlja lisab selle (SLSA päritoluga) igale märgendatud väljalaskele. - numpy-koostalituse pytest + wheel-i tugevdamine:
tests/python/test_numpy_interop.py(käitatakse CI-s) pluss fikseeritud manylinux konteiner ja kontrollisammauditwheel showwheel-i ehituses. - Õpetused ja haridus:
docs/tutorials/(kolm läbitöötatud õpetust, valdkonnakohased annoteeritud stsenaariumid, Tier-1/2/3 harjutused) koos failigatests/tutorials.rs, mis seob iga tsiteeritud arvu elava mootori väljundiga. - Välised esitusartefaktid (
paper/,notebooks/,submissions/): JOSS-i artikli mustand, kvant-versus-klassikaline märkmik ja esitusvalmis komplektid awesome-gnss / ESA Navipedia / NASA ASCL / ESA ESSR / ION/IAC jaoks, plussFUNDING.yml— esitamise väliste sammude ettevalmistamine. - Maastikupõhine ja kombineeritud alternatiivse PNT navigatsioon (moodul
altpnt): TERCOM/SITAN maastikusobitusnavigaator DEM-i kohal (.hgtlaadija + sünteetilise testandmestiku generaator) ja kombineeritud gravitatsiooni + magnetilise (IGRF) + maastiku GPS-ita navigaator, esitatud stsenaariumi liikidenaterrain-navjacombined-altpnt. Valideeritud maastikusobituse koondumisega (teadaolev süstitud nihe taastati) ja piiratud kombineeritud filtri veaga GPS-ita akna jooksul. - LunaNet LANS geomeetria (
lunar): nimetatud Kuu pinna asukohad (Apollo 11/15/16, Shackletoni serv) autoriteetsete selenograafiliste koordinaatidega, pinna vaatenurgad (az/el/kaugus), nähtavus/katvus ja asukoha DOP, valideeritud Kuu raadiuse, avaldatud asukohakoordinaatide ja radiaalse otse ülal oleva 90° kõrguse samasuse vastu. - Juhitud brauseri mänguväljak: juhitud režiimi liugurid, sakitatud väljundipaneel, esmakäivituse ringkäigu ülekate, parameetri pühkimise ja mitme käitluse ülekatte režiimid, sõltuvusteta canvas/SVG 3D orbiidivaade (orbiidipakett väljastab nüüd lisanduva
eci_track), manustamise/iframe režiim ja allalaadimine HTML aruandena — igaühel on CI-s node ühiktestid. - Andmelehega valideeritud IMU veamudel (
tests/imu_allan_spec.rs): ADIS16465/16488/16460 ARW/VRW/nihke ebastabiilsus taastatud sünteesitud Alani hälbest ja kontrollitud tootja spetsifikatsioonide vastu (NIST SP1065 / IEEE 952 tuvastus). - NIST SP1065 Alani hinnangute valideerimine (
tests/allan_nist_sp1065_1000point.rs): neli hindajat taastoodavad avaldatud 1000-punktilised etalonhälbed ja tabeli 32 usaldusvahemikud. - SBAS / DO-229E kaitsetasemed, L1/L5 ionosfäärivaba ja DO-316 compliance-kaart (moodul
sbas).sbas_protection_levelmoodustab kaalutud geomeetriamaatriksi iga satelliidi kõrgusest/asimuudist ning UDRE/GIVE/õhusõiduki/tropo veaeelarvest, pöörab normaalmaatriksi (ühineorbit::invert4) ja projitseerib dispersioonid HPL/VPL-i DO-229E K-tegurite kaudu (PA 6.0/5.33, NPA 6,18).iono_free_l1l5lisab GPS L1/L5 ionosfäärivaba pseudovahemaa (IS-GPS-705,γ₁₅ = 1.79327), valideeritud tühistama mootori sõltumatu esimese järgu ionosfäärilise viivituse.do316_compliance_mapjälgib DO-316/DO-229E nõudeid teostavate funktsioonideni. Valideeritud suletud kujuga K-teguri definitsioonide, numpyinv(GᵀG)etalongeomeetria ja kahe tee kovariatsiooni samasuse vastu; avaldatud-PL RTKLIB/gLAB standardi järgimise ristkontroll on dokumenteeritud ülevaatuse ootel failisdocs/COMPLIANCE.md. - Täielik tesseraalne sfääriliste harmooniliste gravitatsioon — EGM2008 väli astme/järguni 70. Uus
gravity_sh::SphericalHarmonicFieldhindab geopotentsiaali ja selle kiirendust Maaga seotud raamis täielikult normaliseeritud koefitsientidestC̄_nm, S̄_nm, kasutades stabiilset Holmes–Featherstone'i normaliseeritud Legendre'i rekurrentsi (denormaliseerimine voolaks sellel astmel üle). Tarnitavad koefitsiendid on NGA EGM2008 toode (avalik omand, ICGEM kaudu), kaasatud failiegm2008_data.rsja taastoodetud bitt-bitilt skriptigatools/gen_egm2008.pysissekirjutatud failisttools/egm2008_to70.gfc; iga ICGEM.gfcmudel laaditakse funktsioonigafrom_gfc. Valideeritud kolme sõltumatu etaloni vastu: punktmassi kollaps (ainultC̄00=−μr/|r|³), ainult tsonaalne väli, mis taastoodab olemasolevaforces::zonal_acceltäpsusega ~1e-9, ning analüütiline kiirendus, mis langeb kokku otse summeeritud potentsiaali lõplike vahede gradiendiga täpsusega <1e-6. - Üldrelatiivsusteooria Lense–Thirringi (raamiveo) kiirendus (
forces::lense_thirring_accel, IERS 2010 võrrand 10,12), gravitomagnetiline liige väljaspool olemasolevat Schwarzschildi parandust, ühendatud numbrilisse propageerijasse uue lipugaForceModel::lense_thirring(). Valideeritud lineaarsena Maa nurkimpulsi suhtes ja 1–2 suurusjärku Schwarzschildi liikmest väiksemana, mis on LAGEOS / Gravity Probe B mõõtmiste režiim. - Tunnusjoon
Propagator, mis ühendab analüütilised ja numbrilised orbiidipropageerijad. Numbriline Cowelli jõumudeli propageerija on nüüd SGP4 esmaklassiline kaaslane: uus tüüpNumericalPropagator(algolek +ForceModel+Tolerance+ sammu kahekordistamise või Dormand–Prince'iIntegratorvalik) jaSgp4mõlemad teostavadpropagator::Propagator, millestate_at(t_seconds) -> StateVectortagastab inertsiaalse TEME oleku SI ühikutes (m, m/s), nii et need on omavahel asendatavad tüübiBox<dyn Propagator>taga. SGP4 teostus on omase meetodi täpne km/min→SI teisendus (kontrollitud võrdsustestiga); numbriline teostus ületab tunnusjoone kaudu sama alammeetrilise täpse Kepleri värava, kaks adaptiivset draiverit langevad kokku jaPropagatorErrortoob esile aluseks oleva SGP4 koodi.
0.13.0 - 2026-06-08#
See väljalase sulgeb mootori suurima õigsuse lünga: Maa orientatsioon ja tugisüsteemi taandamine tehakse nüüd etalonteostuse tasemel (valideeritud bitt-bitilt ERFA/SOFA vastu), terviklikkuse pakk saab kahe konstellatsiooniga ARAIM-i päris GPS+Galileo TLE-del ning propageerimise, kvantandurite, Kuu/tsislunaarne ja geomagnetilised kihid süvenevad — koos tüpiseeritud Pythoni API, rikkalikuma brauserimänguväljaku ja kolme OS-i reprodutseeritavuse maatriksiga. Tipphetked:
- Tugisüsteemid, bitt-bitilt. Täielik IAU 2000A ja 2000B nutatsioon, IAU 2006 pretsessioon, CIO-põhine (X, Y, s) IAU 2006/2000A GCRS↔ITRS taandamine, IERS poolusliikumine ja TEME→GCRS/ITRS väljundraamid — igaüks valideeritud bitt-bitilt ERFA/SOFA etalonrutiinide vastu.
- Kahe konstellatsiooniga ARAIM (GPS + Galileo) päris TLE-del, HPL/VPL-i, Stanfordi diagrammi väljundi ja avatud failiga
docs/ARAIM_REFERENCE.md. - Tsislunaarne PNT: Maa–Kuu CR3BP propageerija, MCI↔MCMF raamid, selenograafilised koordinaadid ja käivitatav LunaNet Kuu terviklikkuse stsenaarium.
- Kvantandurdus: Coriolisi ja AC-Starki süstemaatilised vead külmaatom-interferomeetrile, triivi pühkimine ja valideerimine Freieri (2016) eelarve vastu.
- IGRF-14 geomagnetilise põhivälja mudel, iseseisev ja valideeritud.
- Tüpiseeritud Pythoni API (PyO3
RunOutput/ScenarioMeta,.data(),scenario_kinds,validate_toml, tüübitõmmised) CI wheel-i ehitusega, pluss esmaklassiline GCRS/ITRS propageerija väljund ja CCSDS OMM eksport. - Usaldusväärsus ja reprodutseeritavus: otsene SGP4 täpsuse võrdlus sõltumatu crate'iga
sgp4, CI katvuse värav (~97 % ridu kataloogissrc/) ja kolme OS-i (ubuntu/macos/windows) reprodutseeritavuse maatriks.
Muudetud#
- Iga mänguväljaku joonis vastab nüüd saidi teemale. Kõik kaksteist SVG joonisegeneraatorit — tulemuse/holdover-i joonis (
src/report.rs+src/chart.rs), Alani hälbe joonis (web/app.js) ja iga stsenaariumi joonis (src/hybrid.rs,jamming.rs,timetransfer.rs,spoof.rs,raim.rsStanford + kättesaadavus,lunar.rs,ensemble.rs,sweep.rs,gnss_sim.rs,fusion/pack.rs,inertial/mod.rs) — kasutasid külmi meremehesinise paneele (#0e131b), külmhalle telgi/teksti ning kokkusobimatut punase/sinise/lilla seeriapaletti. Nüüd kasutavad need kõikjal sooja grafiitpaletti: paneelid--bg, soe ruudustik--line, sildid--fg, järjepideva seeriate jaotusega: kvant = mesikuldne (--accent-bright), klassikaline = soe merevaik (--partial), spets/piir =--crit. Ohutuskodeeringuga vaated säilitavad oma tähenduse: RAIM Stanfordi diagramm jääb roheliseks (kättesaadav) / merevaigukarva (eksitav) / punaseks (ohtlik) / summutatud teraseks (kättesaamatu) ning HPL/VPL loetakse kuld-/pronksina. - Joonised on nüüd salvestamisel/allalaadimisel ise end kirjeldavad. Mõlemad joonised põimivad oma pealkirja SVG-sse (Alani joonise pealkiri + alapealkiri „lower is better“ olid varem ainult HTML-i pildi ümber, nii et salvestatud pildil polnud allkirja) ja mõlemal on päritolu jalus —
Kshana v<version> · <scenario-hash> · kshana.dev— nii et allalaaditud joonis seisab iseenesest ja jääb reprodutseeritavaks. - Iga joonis kannab nüüd päritolu jalust. Jalus —
Kshana v<version> · scenario <hash> · kshana.dev— templitakse kesksest kõigi stsenaariumi liikide jaoks funktsioonisapi::run_toml(varem oli see ainult holdover-i ja Alani joonistel), nii et iga salvestatud või allalaaditud pilt — mänguväljakult, CLI eksportist.chart.svgvõi HTML tulemuskaardilt — tuvastab oma versiooni, stsenaariumi sõrmejälje ja allika. Räsi on selguse mõttes märgitudscenarioja tuleb tulemuse väljaltscenario_hash, kui see on olemas, koos allikaräsi tagavaraga terviklikkuse/Kuu aruannete jaoks. Mis sõrmejälg on ja miks see seal on, on dokumenteeritud README jaotises „Output“ ja failisdocs/PROVENANCE.md.
Parandatud#
raim::chi2_quantileja RAIM Stanfordi müra valimivõtja on nüüd paanikavabad vahemikust väljas / mittelõplike sisendite korral (read_dir-järjekorrast sõltuv fuzz-leid uutest ARAIM stsenaariumidest).chi2_quantilekaitseb nüüdp/knagunormal_quantile(tagastab piiriväärtuseassert!-paanika asemel) ja kättesaadavuse Stanfordi müraNormalpiirab rangelt positiivse σ-ni — nii et terviklikkuse/ARAIM pakk ei paanitse kunagi mutatsiooniga või valesti seadistatud stsenaariumidel.
Lisatud#
- Platvormideülene reprodutseeritavuse CI maatriks. Uus töö
reproducibility-matrixkäitab reprodutseeritavuse teste platvormidel ubuntu-latest, macos-latest ja windows-latest iga push'i korral. Kuna täielik tulemuse JSON ei ole OS-ide vahel baidi haaval identne (viimase ULP libm lahknevus), kinnitab see täpselt platvormist sõltumatut projektsiooni — sisendi sõrmejälge pluss väljundi kuju, fikseeritud stsenaariumi kohta SHA-256 golden-failidena kataloogistests/golden/uue failitests/cross_platform_golden.rspoolt — koos numbriliste fikseeringutega (golden.rs, täpsusega 1e-6), SGP4 olekutega (sgp4_verification.rs, täpsusega 2e-5 km) ja sama protsessi determinismiga (determinism.rs). Koos tõestavad need platvormideülest reprodutseeritavust kolmel OS-il ilma täpse täisväljundi baidiräsi hapruseta. Jaotust dokumenteeribdocs/REPRODUCIBILITY.md. - Koodikatvuse värav CI-s. Uus töö
coveragekäitab tööriistacargo-tarpaulinLLVM-i lähtekoodipõhise mootoriga, avaldab lcov aruande ehitusartefaktina ja jõustab ridade katvuse põhja kataloogilsrc/(genereeritud andmetabelid, CLI sisenemispunkt, testid ja veebivarad välja arvatud). Mõõdetud ridade katvus on ~97 % kataloogissrc/(SGP4 ja kellamoodulid ≥95 %); värav on seatud tasemele 85 % — üle ≥80 % sihtmärgi ja mõõdetud väärtusest eemal, nii et see püüab regressioone ilma kõikumata. README-s on avaldatud katvuse märk. - SGP4/SDP4 otsevõrdlus sõltumatu crate'iga
sgp4. Uus test (tests/sgp4_crate_comparison.rs) ristvalideerib Kshana propageerijat enimkasutatud Rust SGP4 teegi (neuromorphicsystems/sgp4, lisatud ainult testiks mõeldud dev-sõltuvusena) vastu samadel 666 AIAA 2006-6753 vektoritel. Kui mõlemat juhitakse vektorite kasutatud WGS72 gravitatsioonimudelil, langevad kaks sõltumatut teostust kokku alammikromeetri täpsusega Maa-lähedastel ja resonantsorbiitidel ning halvima juhu 4,12 mm täpsusega kõigis režiimides, mõlemad taastoodavad etalontabelitcppver.out. Commit'itud võrdlustabel (tests/fixtures/sgp4_comparison.md, genereeritud uuesti käsugaKSHANA_REGEN_FIXTURES=1) jaotab tulemuse režiimide kaupa (LEO/MEO, kaugkosmos, ½-päeva ja 1-päeva resonants) ning märgib neli tahtlikult patoloogilist juhtu, mille crate konstruktsioonil tagasi lükkab. Elavad väited nõuavad mõlemalt täpsust 2e-5 km piires etalonist ja omavahelist kokkulangevust 4e-5 km piires — regressioonikaitse, mitte ühekordne. See on konkurentsivõimeline päritolu: õigsus sõltumatu koodibaasi vastu, mitte ainult staatilise tabeli vastu. (Crate'i vaikimisifrom_elementskasutab WGS84 ja erineb seetõttu WGS72 etalonist ~km võrra — esitatud ausalt tabeli selgituses.) - CCSDS OMM eksport on nüüd otsast lõpuni kättesaadav. OMM kirjutajal (
src/omm.rs) polnud varem CLI/API teed; stsenaariumiorbitkeskmised elemendid saab nüüd avaldada CCSDS 502.0-B-2 OMM kataloogina — üks OMM KVN sõnum iga TLE-ga määratletud satelliidi kohta — käsugakshana <orbit.toml> --export-omm out.ommvõiexport_omm = truestsenaariumis kirjutab automaatselt faili<scenario>.omm(peegeldab olemasolevat--export-sp3). Iga sõnum kannab satelliidi tegelikku NORAD kataloogi numbrit, COSPAR rahvusvahelist tähist (YYYY-NNNP) ja epohhi (CCSDS aasta-päeva vorm), parsitud TLE reast 1 uue funktsioonigatle::parse_tle_identity; nimerida muutub väärtuseksOBJECT_NAME(muiduOBJECT <id>).CREATION_DATEon stsenaariumi epohh, mitte seinakell, nii et väljund on reprodutseeritav. Uus API:api::export_omm/api::auto_export_omm,OmmFile::from_tle_block,OrbitClockScenario::to_omm_string. Sünteetiline Walkeri või RINEX stsenaarium (ilma TLE keskmiste elementideta) annab vea, mitte ei väljasta tühja faili. Valideeritud kaasasoleva 30 satelliidigps-opshetktõmmise vastu (tests/sp3_export_roundtrip.rs). - Interaktiivsed hõljutusnäidud mänguväljaku joonistel. Kursori liigutamine joonise kohal naelutab ristjoone lähima valimi külge ja näitab väärtuse kohtspikrit (
web/hover.mjs, ühendatud failisweb/app.js). Alani joonisel näitab see τ ja iga kella σ_y(τ); ajarea stsenaariumijoonistel (kella holdover, hinnangulise asukoha jälgimine, aja edastamine, hübriid-PNT, GNSS/INS) näitab see aega ja iga komplekti väärtust joonise enda ühikutes (ns / m / ps / kasutusaste), parsitud tulemusest, nii et näit vastab kõverale. Spetsialiseeritud diagrammid (RAIM, spuufimine, pühkimine) ülekatet ei saa. Joonised jäävad ise end kirjeldavateks blob-<img>-ideks — ülekate on läbipaistev ristjoon + kohtspikker peal, nii et allalaadimine/võrdlemine/eksport on puutumata. Koordinaadimatemaatika (lähim valim, kursor→joonise osa, murdjoone parsimine) on ühiktestitud (web/hover.test.mjs, käitatakse CI-s). - A/B võrdlusrežiim mänguväljakul. Kinnita mis tahes käitus lähtetasemena A, käivita teine stsenaarium ja need kuvatakse kõrvuti kvaliteedinäitajate deltatabeliga (holdover, ajastuse RMS/p95, kättesaadavus), mis värvib mõõdiku kohta võitja (
web/compare.mjs, ühendatud failisweb/app.js; deltaloogika ühiktestitud failisweb/compare.test.mjs, käitatakse CI-s). Kõik väärtused lisatakse tekstina ja kõik joonised blob-<img>kaudu, nii et stsenaariumi stringist ei süstita kunagi midagi märgistusena. - Joonise allalaadimisnupud (SVG + PNG). Igal mänguväljaku joonisel on nüüd teemaga sobiv tööriistariba „Download SVG / PNG“ (
web/chartdl.mjs, ühendatud failisweb/app.js). SVG annab tagasi täpse, skaleeritava originaali; PNG rastriseerib sama ise end kirjeldava pildi 2x slaidide ja dokumentide jaoks. Failid nimetatakse oma päritoluga —kshana-<chart>-v<version>-<scenario-hash>.<ext>— ning failinime/suuruse loogika on ühiktestitud (web/chartdl.test.mjs, käitatakse CI-s). - IGRF-14 geomagnetilise põhivälja mudel (
src/igrf.rs). IAGA standardne sfääriliste harmooniliste väli (aste/järk 13, epohh 2025,0 + sekulaarne muutus 2025–2030; koefitsiendid masinaga genereeritud ametlikust failistigrf14coeffs.txtskriptigatools/gen_igrf.pyfailisrc/igrf_data.rs, bitt-bitilt reprodutseeritavad). Schmidti normaliseeritud süntees tagastab välja vektori (põhi/ida/alla) ja tuletatud elemendid (deklinatsioon, inklinatsioon, horisontaalne/kogu intensiivsus) mis tahes geodeetilises asukohas/kuupäeval, pluss geomagnetilise pooluse ja dipoolitugevuse — magnetiline vaste gravitatsioonikaardi sobitajale alternatiivse PNT navigatsiooni jaoks. Valideeritud iseseisvalt: süntees langeb kokku täpse suletud kujuga kaldus dipooliga, täielik astme-13 analüütiline väli langeb kokku skalaarpotentsiaali lõplike vahedega, dipooli telg taastoodab tuntud geomagnetilise pooluse (~80,7°N, −72,7°E) ja ~29,7 µT tugevuse ning globaalne väli on füüsikaline. - Tüpiseeritud Pythoni sidumised (
src/python.rs). Lisaks stringi sisse/stringi välja funktsioonidelerun/run_fullavab moodul nüüd tüpiseeritud klassiRunOutput(.json,.svg,.summaryja juurdepääsufunktsioon.data(), mis tagastab tulemuse parsituna natiivseks Pythoni sõnastikuks — JSON-i uuesti parsimist pole, NumPy-ga ümbritatav), plussrun_typed,scenario_kinds()(metaandmete sõnastike parsitud loend) javalidate_toml()(veateadete mittepaiskuv loend). Tarnib PEP 561 tüübitõmmise (kshana.pyi+py.typed) mypy/pyright/redaktorite jaoks ning kiirjuhendidocs/PYTHON_API.md. Olemasolevad funktsioonid on muutumatud. - Propageerijate esmaklassilised väljundraamid (
src/orbit.rsFrameenum +position_in_frame+state_gcrs). IgaPropagator(Kepler, SGP4, RINEX, GLONASS, SP3) saab nüüd väljastada oma asendi raamis TEME, GCRS (≈ J2000) või ITRS (Maaga seotud) — TEME natiivselt, GCRS valideeritud TEME→GCRS taandamise kaudu, ITRS selle ahelduse kaudu IAU 2006/2000A CIO pöördessegcrs_to_itrs— ning oma täieliku GCRS oleku (asend + kiirus) funktsioonigastate_gcrs. Kuupäevaga inertsiaalne väljund ei ole enam ainult TEME. - CIO-põhine IAU 2006/2000A taevasest maapealseks taandamine (
src/cio.rs). Kaasaegne, pööripäevavaba ahel GCRS↔CIRS↔ITRS: CIP koordinaadidX, Yloetud IAU 2006/2000A nihke-pretsessiooni-nutatsiooni maatriksist (taaskasutades valideeritud FW pretsessiooni + 2000A nutatsiooni parandusegaeraNut06aP03), 66-liikmeline CIO-asukohasrida (eraS06, masinaga genereeritud ERFA etalonist skriptigatools/gen_s06.pyfailisrc/cio_s06_data.rs, bitt-bitilt reprodutseeritav), GCRS→CIRS maatriks (eraC2ixys), Maa pöördenurk (eraEra00) ning täielik GCRS→ITRS pööre (eraC2tcio, kombineeritud olemasoleva IERS poolusliikumisega). Valideeritud bitt-bitilt avaldatuderaXys06a(X=0.5791308482835292617e-3, Y=0.4020580099454020310e-4, s=-0.1220032294164579896e-7 juures JD_TT 2453736,5),eraC2ixysjaeraEra00testvektorite vastu. CIO ahel ja vana pööripäeva/GMST-1982 TEME taandamine langevad kokku kuni nende dokumenteeritud ≈2·(pööripäevade võrrand) sideerilise aja konventsiooni erinevuseni. See on range taandamine, mida pööripäeva/GMST tee lähendas. - Täielik IAU 2000A nutatsioonirida (
src/nutation.rsnutation_iau2000a,nutation_matrix_2000a). Täielik MHB2000 mudel — 678 Kuu-Päikese + 687 planeetide liiget — täpsusega < 0,1 mas, olemasoleva 77-liikmelise 2000B kärpe kõrval. Tabelid on masinaga genereeritud IAU SOFA / ERFA etalonistnut00askriptigatools/gen_nut00a.pyfailisrc/nutation_iau2000a_data.rs(generaator taastoodab commit'itud faili bitt-bitilt) ning kogu rida — nii IERS-2003 kui MHB2000 põhiargumentide komplektid ja planeetide pikkused — on valideeritud bitt-bitilt avaldatuderaNut00atestvektori vastu (Δψ = −0.9630909107115518e-5, Δε = 0.4063239174001679e-4 juures JD_TT 2453736,5, täpsusega 1e-13 rad). Vaikimisi TEME→GCRS taandamine hoiab 2000B rida (~1 mas, ahela kiiruseraami pöörde lihtsustuse all);nutation_matrix_2000aavab < 0,1 mas kuupäevamaatriksi neile, kes seda vajavad. - Käivitatav Kuu terviklikkuse stsenaarium (
kind = "lunar-integrity",scenarios/lunanet-araim.toml). Ühendab Kuu lõunapooluse kaitsetaseme läbimise (src/lunar.rsLunarScenario→south_pole_hpl_pass) stsenaariumikäitajaga JSON-igaLunarReportja SVG HPL-i ajajoonisega, nii et tsislunaarse terviklikkuse juhtum on kättesaadav otse CLI-st. See toob lünga ausalt esile: 30 m LANS σ_URE korral ületab lõunapooluse HPL (≈ 260–450 m) 50 m häirepiiri (0 % kättesaadav) — Kuu PNT terviklikkus ei ole veel täidetud. - Kahe konstellatsiooniga ARAIM kättesaadavus päris GPS+Galileo TLE-del ja stsenaariumikäitaja ühendus (
src/raim.rs,src/orbit.rs,scenarios/araim-gps-galileo.toml). Lisab funktsiooniaraim_dual_constellation_availability(täiustatud ARAIM mootor — ühe satelliidi ja kogu konstellatsiooni tõrked — käitatuna ajaruudustikul) javisible_positions_labeledning ühendab selle käitajagaIntegrityScenariolipuaraim_dualkaudu, nii et mitme-GNSS-i ARAIM uuring on kättesaadav otse TOML-ist. Päris andmetega test (tests/araim_dual_real_data.rs) kaasatud 2026-06-07 Celestraki GPS+Galileo hetktõmmistel näitab, et Galileo ühendamine tõstab ARAIM kättesaadavuse väärtuselt 0,21 väärtusele 0,67 nõudliku 12 m VAL juures (10,5→21,8 nähtavat satelliiti), samal ajal kui konstellatsioonitõrke-robustne režiim on kahe konstellatsiooniga põhimõtteliselt piiratud — kvantitatiivne põhjus, miks robustne kahe konstellatsiooniga terviklikkus kaldub kolmanda konstellatsiooni või SBAS-i poole. Aus jääk: arvuliselt täpne EU ARAIM TN tabeli A-3 taastootmine ühe versioonilukustatud epohhi vastu ja Zenodo testandmestiku kirje. - Maa–Kuu süsteemi piiratud ringikujuline kolme keha ülesanne (CR3BP) (
src/cr3bp.rs). Uus tsislunaarse dünaamika tuum, mida kahe keha/SGP4 propageerijad pakkuda ei saa: pöörleva raami liikumisvõrrandid (cr3bp_accel), RK4 propageerija (propagate_cr3bp), Jacobi konstandi integraal (jacobi_constant) ja viis Lagrange'i punkti (lagrange_points). Valideeritud suletud kuju / avaldatud ankrute vastu: Maa–Kuu kollineaarsed punktid (L1 ≈ 0,83692, L2 ≈ 1,15568, L3 ≈ −1,00506), täpne võrdkülgne L4/L5 = (½−μ, ±√3/2, 0), kõik viis kinnitatud välja tasakaaluna, Jacobi säilib integraatori täpsusega propageerimisel ja tasapinnaväline taastav jõud, mis teeb halo/NRHO orbiidid võimalikuks. See on alus päris NRHO esitamiseks. Aus jääk: diferentsiaalselt korrigeeritud perioodilised 9:2 NRHO algtingimused, ekstsentriline/efemeriidi (DE) mudel ja denormaliseeritud teisendus failisrc/lunar.rsselenotsentrilistesse raamidesse. - IERS poolusliikumine ja TEME→ITRF taandamine (
src/frames.rs). Lisab funktsioonipolar_motion_matrix(SOFAiauPom00:W = Rx(−y_p)·Ry(−x_p)·Rz(s′)TIO asukohagas′),pef_to_itrf/itrf_to_pefjateme_to_itrf— GMST-põhine TEME→PEF pööre, millele järgneb poolusliikumine — täiendades ITRF-täpset Maaga seotud asendit ainult GMST-põhiseleteme_to_ecefpeale (poolusliikumine on orbiidiraadiusel kümnete meetrite suurune mõju).x_p/y_pon vaadeldud IERS suurused, mille kutsuja esitab. Aus jääk: täielikult CIO-põhine (X, Y, s) ahel ja ANISE/SPICE <10 m numbriline ristkontroll jäävad järgmisteks sammudeks. - Külmaatom-interferomeetri süstemaatilised vead, triivi pühkimine ja avaldatud seadmega valideerimine (
src/inertial/quantum_imu.rs,docs/QUANTUM.md). Laiendab esimestest printsiipidest CAI kiirendusmõõturit kahe juhtiva deterministliku süstemaatilise veaga: Coriolisi/pöörlemise faasΦ_cor = 2·k_eff·v_⊥·Ω·T²(coriolis_phase, samaväärse kiirendusnihkega2·Ω×vfunktsioonicoriolis_accel_biaskaudu) ja AC-Starki valgusnihke faasΦ_LS = (δ_LS,1 − δ_LS,3)/Ω_eff(ac_stark_phase, mis tühistub π/2–π–π/2 sümmeetria tõttu konstantse nihke korral). Lisab funktsioonicai_drift_sweep(hinnangulise asukoha triiv vs tsükli aeg — kvant-versus-klassikalise võrdluse tuum) ja valideerimistesti Freier et al. 2016 mobiilse gravimeetri vastu (arXiv:1512,05660): modelleeritud kvantprojektsioonimüra põhi jääb avaldatud 96 nm/s²/√Hz lühiajalisest mürast allapoole ja ~2 suurusjärgu piiresse.docs/QUANTUM.mduuendatud. Aus jääk: lainefrondi/kimbu suunamise süstemaatilised vead, vöötmitmetähenduslikkuse lahendamine, täpne CARIOQA-PMP / Boeing-AOSense lennutesti taastootmine (vajab avaldatud platvormi PSD-sid) ja JS mänguväljaku eelseade. - Tsislunaarne raami taandamine ja Kuu lõunapooluse terviklikkuse läbimine (
src/lunar.rs). Laiendab Kuu ARAIM mootorit MCI↔MCMF (Kuukeskne inertsiaalne ↔ Kuuga seotud) pöördega (mci_to_mcmf/mcmf_to_mci, lihtsustatud keskmise pöörde mudel Kuu sideerilise kiirusega), selenograafilise laiuse/pikkuse/kõrgusega (mcmf_to_selenographic/selenographic_to_mcmf) ja funktsioonigasouth_pole_hpl_pass— maandunud Artemise piirkonna vastuvõtja vastu esindava LunaNet releekomplekti 24 h läbimisel, mis kvantifitseerib terviklikkuse lünga ausalt: nominaalse 30 m LANS σ_URE korral on kaitsetase lõplik, kuid ületab 50 m pinnaoperatsioonide häirepiiri. Aus jääk: täpne LANS NRHO efemeriid (3-keha tsislunaarne orbiit), füüsikaline libratsioon / pretsesseeruv Kuu poolus (DE421/SPICE) ja LunaNet TOML stsenaarium jäävad järgmisteks sammudeks. - ARAIM terviklikkuse tugisõnum, Stanfordi diagrammi SVG ja avatud ARAIM etalon (
src/raim.rs,docs/ARAIM_REFERENCE.md). Lisab selgesõnaliseIntegritySupportMessage(σ_URA / σ_URE / b_nom / P_sat / P_const, WG-C GPS+Galileo etalonväärtustega ja teisendajatega.fault_priors()/.dual_fault_priors()ühe tõrke mootorissearaim_raimja kogu konstellatsiooni mootorissearaim_dual_raim), iseseisva Stanfordi terviklikkuse diagrammi renderdajastanford_svg(neli tsooni, piirPL = error, häirepiiri juhtjooned, üks värvikodeeritud marker epohhi kohta) ningdocs/ARAIM_REFERENCE.md, mis dokumenteerib algoritmi, ISM-i, tõrkehüpoteesid, kaitsetaseme lepingu ja kahe konstellatsiooni kasu. Testid demonstreerivad geomeetria/liiasuse kasu (teise konstellatsiooni ühendamine pingutab ühe tõrke HPL-i) ja konstellatsioonitõrke taluvust (kahe konstellatsiooniga kasutaja elab üle terve konstellatsiooni kaotuse; ühe konstellatsiooniga kasutaja mitte). Aus jääk: EU ARAIM TN tabeli A-3 / 15–25 % kättesaadavuse arvu arvuline taastootmine versioonilukustatud päris TLE hetktõmmise vastu, Zenodo testandmestiku kirje ningaraim_dual_raimühendamine stsenaariumifaili käitajaga. - IAU 2000B nutatsioon ja täielik TEME→GCRS/J2000 inertsiaalne taandamine (
src/nutation.rs). Lisab tõelise inertsiaalraami taandamise teise ja kolmanda osa tarnitud IAU 2006 pretsessiooni peale: 77-liikmeline Kuu-Päikese MHB2000 nutatsioonirida (nutation_iau2000b, standardne IAU 2000B kärbe täpsusega ~1 mas) Delaunay põhiargumentide ja SOFAiauNumatnutatsioonimaatriksiga ning Vallado AIAA-2006-6980 ahel TEME→TOD (pööripäevade võrrand) → TOD→MOD (nutatsioon) → MOD→GCRS (nihe-pretsessioon), esitatud kuiteme_to_gcrs(r, v, jd_tt)/gcrs_to_teme. Rida, argumendid ja ühikukonstandid on ümber kirjutatud IAU SOFA / ERFA etalonistnut00bja valideeritud bitt-bitilt avaldatuderaNut00btestvektori vastu (Δψ, Δε täpsusega 1e-13 rad). Aus jääk: täielik IAU 2000A 678-liikmeline rida (<0,1 mas), ANISE/SPICE <10 m numbriline ristkontroll ja poolusliikumine jäävad järgmisteks sammudeks (vtROADMAP.md).
0.12.0 - 2026-06-06#
See väljalase toob Kshana esimese mitteanalüütilise orbiidipropageerija — Cowelli integraatori hierarhilise kuue häiringu jõumudeliga (kahe keha + J2–J6 tsonaalne + epohhijuhitud Päikese/Kuu kolmas keha + päikesekiirguse rõhk koonilise umbra/penumbra varjuga + atmosfääri takistus + Schwarzschildi post-Newtoni relativistlik parandus), mida juhib kahe adaptiivse integraatori valik (RK4 sammu kahekordistamine ja Dormand–Prince'i RK5(4) põimitud paar) — koos manöövri / trajektoori kavandamise kihiga (impulss- ja lõplikud põletused, Izzo Lamberti lahendaja ja porkchop-pühkimine), gravitatsioonikaardi sobitamise alt-PNT kihiga, mis taastab 60-minutilise GPS-ita raja alla 500 m täpsusega, partii + järjestikuse orbiidi määramise torujuhtmega ja täieliku 17-olekulise tihedalt seotud GNSS/INS UKF-iga kvant-CAI hinnangulise asukoha jälgimisega. Iga numbriline võimekus on seotud analüütilise tõe või käsitsi tuletatud suletud kujuga; vaikimisi väljalülitatud häiringud jätavad väljalastud golden-failid puutumata.
Lisatud#
- Post-Newtoni (Schwarzschildi) relativistlik parandus (
forces::relativistic_accel+propagator::ForceModel::relativity). Lisab domineeriva üldrelatiivsusteoorilise häiringu Maa-lähedasel orbiidil — relativistliku perigeumi nihke peamise tekitaja — IERS / Montenbruck–Gilli kujulβ = γ = 1a = (μ/c²r³)·{[4μ/r − v²]·r + 4(r·v)·v}. Nagu atmosfääri takistus on see kiirusest sõltuv, nii et see sõidab integraatori(r, v)parempoolsel küljel funktsiooni [accel_rv] kaudu, valikuline ja vaikimisi väljas. Valideeritud iseseisvalt: ringorbiidil taandub see suletud kujule3μ²/(c²r³)·r̂(puhtalt radiaalne ja väljapoole, väljaspool telge olevad komponendid täpselt null); selle suhe kahe keha omaga on õpikuline≈1.9·10⁻⁹LEO-l (signatuurμ/(c²r)); radiaalkiiruse juhtum langeb kokku käsitsi lihtsustatud kujugaμ(4μ + 3v²r)/(c²r³); ja propageerijas häirib see orbiiti seda hajutamata — suurpooltelg säilib selgelt alla meetri/päevas, mis on struktuurselt takistuse monotoonse lagunemise vastand. Kuna see on vaikimisi väljas, jäävad kahe keha/J2/tsonaalsed golden-failid puutumata. PPN-parameetri (β,γ) häälestamine ja Lense–Thirringi raamiveo liige jäävad järgmisteks sammudeks. - Koonilise umbra+penumbra varjumudel (
forces::conical_shadow), mida nüüd kasutab päikesekiirguse rõhk. Täiendab kahendi umbrasilindri varjutust sujuvaks teguriksν ∈ [0,1]: Päikest ja Maad modelleeritakse ketastena näiliste nurkraadiustegaa = asin(R☉/d☉),b = asin(Rₑ/|r|)ja näiva keskpunktide vahegac, ningνon üks miinus Päikese ketta osa, mille Maa ketas varjab (ringide läätsekujulise kattuvuse pindala) — täis päike korralc ≥ a+b, täielik umbra korralc ≤ b−a, rõngasvarjutus korralc ≤ a−bja vahepeal pidev penumbra.srp_accelkasutab seda nüüd, nii et SRP jõud väheneb varjutuse kaudu sujuvalt, mitte ei lülitu sisse/välja. Lisab IAU nominaalseforces::SOLAR_RADIUS. Valideeritud iseseisvalt:ν = 1täis päikesel jaν = 0sügaval umbras (täpne), sujuv monotoonne penumbra (νtõuseb 0 → ~½ juuresc = b→ 1 üle vahemiku[b−a, b+a]) ja koonuseline penumbra ulatub umbrasilindrist kaugemale (punkt, mida kahend-silinder nimetab täielikult valgustatuks, on koonusele0 < ν < 1). Lihtsamcylindrical_shadowjääb kättesaadavaks; päikese serva tumenemine ja lapiku Maa vari jäävad järgmisteks sammudeks. - Dormand–Prince'i RK5(4) põimitud integraator (
integrator::dopri54_step/integrator::integrate_dopri+propagator::propagate_dopri). Lisab standardse Dormand–Prince'i (1980) põimitud Butcheri tabeli paari olemasoleva RK4 sammu kahekordistamise draiveri kõrvale: seitse FSAL etappi annavad 5. järku lahendi ja 4. järku veahinnangu ühest hindamiskomplektist (7 vs 11 funktsioonikutset sammu kohta), odavam lokaalse vea hinnang. Adaptiivne draiver taaskasutab sama RMS vea normi ja sammukontrollerit0.9·(1/err)^(1/5), nii et see on otseasendaja;propagator::propagate_dopriavab selle orbiidi jõumudelil. Valideeritud iseseisvalt: põimitud veahinnang on O(h⁵) (sammu poolitamine vähendab seda ~32×); DP5(4) integreeriby' = yväärtusenieja harmoonilise ostsillaatori 50 perioodi jooksul energiat säilitades täpsusega <1e-6; see jõuab samale lõpp-punktile samal tolerantsil vähemate funktsioonihinnangutega kui sammu kahekordistamine (täpsust ohverdamata); ningpropagate_dopriläbib sama analüütilise tõe värava kui RK4 tee — alammeetriline täpne universaalmuutuja Kepleri lahendi suhtes 24 h LEO orbiidil — samal ajal kui kaks draiverit langevad kokku täpsusega <1 m J2..J6 orbiidil (suletud kuju puudub). Kõrgemad põimitud paarid (RKF7(8) / DOP853) jäävad järgmiseks sammuks. - Atmosfääri takistus ühendatud propageerijasse tema esimese kiirusest sõltuva jõuna (
forces::atmospheric_density+forces::drag_accel+propagator::ForceModel::drag). Lisab Vallado tabeli 8-4 tükiti eksponentsiaalse atmosfääriρ = ρ0·exp(−(h−h0)/H)(28 riba merepinnast üle 1000 km, pinna all piiratud) ja ruutkõlbulise takistusea = −½ · ρ(h) · (C_D·A/m) · |v_rel| · v_relkaaspöörleva atmosfääriv_rel = v − ωₑ ẑ × rsuhtes (forces::EARTH_ROTATION_RATE = 7.2921151467e-5). Kuna takistus sõltub kiirusest, saabForceModeluue funktsiooniaccel_rv(t, r, v)ja integraatori parempool edastab nüüd kiiruse (f(t,[r;v]) = [v; a(t,r,v)]); ainult asendist sõltuvaccel_aton muutumatu, nii et konservatiivsed liikmed ja golden-failid on puutumata. Valideeritud iseseisvalt: tihedus ankurdub merepinna väärtusel 1,225 kg/m³, on pinna all piiratud, väheneb monotoonselt läbi LEO, asub 400 km juures päikese keskmises ~1e-12 kg/m³ vahemikus ning selle taastatud kohalik skaalakõrgus (≈ 58 km juures 400 km) on füüsikaline; takistus vastandub kaaspöörleva suhtelise kiirusega ~2e-6 m/s² LEO suurusjärgus väärtuseC_D·A/m = 0.02 m²/kgkorral; ja — võtmesignatuur — takistus on hajutav: 300 km orbiit kaotab erienergiat monotoonselt ja selle suurpooltelg laguneb piiratult ~km/päevas, samal ajal kui vaakumi lähtetase säilitab energia täpsusega <1e-9. NRLMSISE-00 termosfääri tihedus (< 5 % takistustiheduse klausel) jääb järgmiseks sammuks. - Päikesekiirguse rõhk ühendatud epohhijuhitult propageerija jõumudelisse (
forces::srp_accel+propagator::ForceModel::solar_radiation). Lisab kahurikuuli SRP mudelia = ν · P☉ · cᵣ · (A/m) · (AU/d)² · d̂silindrilise varju varjutusteguriga (forces::cylindrical_shadow, ν ∈ {0 1}): kiirgusrõhkP☉ = Φ☉/ckaasaegsest 1361 W/m² kogu päikesekiirguse vooluhulgast (≈ 4,5398·10⁻⁶ N/m²), pöördruut-voo(AU/d)²langus ja radiaalne tõuge Päikesest eemale. See sõidab sama epohhijuhitud parempoolega kui kolmas keha, võttesephemPäikese ühe korra edasiliikunud epohhilepoch_jd_tt + t/86400, mida jagavad Päikese kolmas keha ja SRP. Komponeeritav:with_zonals_j2_j6().third_body(true, true, epoch).solar_radiation(1.5, 0.02). Valideeritud iseseisvalt käsitsi tuletatud signatuuride vastu: 1-AU kiirgusrõhk fikseerub õpikulisele ≈ 4,5398·10⁻⁶ N/m²; täielikult valgustatud LEO satelliidi SRP on bitt-bitilt identne kahurikuuli valemiga, osutab Päikesest eemale ja asub ~1,36·10⁻⁷ m/s² vahemikus cᵣ = 1,5, A/m = 0,02 m²/kg korral; Päikese kauguse kahekordistamine neljandikustab suuruse (pöördruut); silindriline vari varjutab ainult umbrasilindrit (Päikesest eemal ja ühe Maa raadiuse sees Maa–Päikese joonest) ja annab varjutuses täpselt nulli SRP; ning propageerijas häirib SRP LEO orbiiti väikese piiratud määra võrra, mis skaleerub ~lineaarselt A/m-iga — samal ajal kui häireteta mudel jääb bitt-bitilt ajast sõltumatuks, jättes kahe keha/J2/tsonaalsed golden-failid puutumata. Koonuseline umbra/penumbra (sujuv ν ∈ [0 1]), atmosfääri takistus ning väline GMAT/Orekit ristvalideerimine jäävad järgmisteks sammudeks. - Epohhijuhitud Päikese/Kuu kolmas keha ühendatud ajas muutuvasse propageerija parempoolde (
propagator::ForceModel::third_body/accel_at). Kolmanda keha häiring ei ole enam eraldiseisev jõuliige — Cowelli propageerija integreerib seda nüüd tõeliselt ajas muutuva jõuna: iga parempoole hindamine võtabephemPäikese/Kuu asendid edasiliikunud epohhilepoch_jd_tt + t/86400(taaskasutadesprecession::julian_centuries_ttpäeva↔sajandi teisenduseks), nii et häirijad liiguvad integreerimise ajal mööda oma orbiite, mitte ei ole algushetkel külmutatud. Komponeeritav mis tahes gravitatsioonimudeliga (ForceModel::with_zonals_j2_j6().third_body(true, true, epoch)). Valideeritud iseseisvalt: parempoole Päikese liige on bitt-bitilt identne funktsioonigathird_body_accel, mis on hinnatud efemeriidi asendil selle hetke jaoks niit = 0kuit = 1 daykorral (tõestades täpselt seose 86400 s ↔ 1 päev ↔ 1/36525 sajandit), häirija liigub proovide vahel ~2,6·10⁹ m/päevas (ei ole külmutatud), hetkelised LEO loodete suurused tabavad õpikulisi ~5·10⁻⁷ m/s² (Päike) ja ~1,1·10⁻⁶ m/s² (Kuu, ≈ 2× Päike) vahemikke, iga keha häirib mõõdetavalt päevapikkust trajektoori, jäädes piiratuks, ja sama algolek, mis on propageeritud veerandaasta kaugusel epohhidel, annab erineva trajektoori (loodete telg pöörleb 90°) — samal ajal kui mudel, kus kumbagi keha pole lubatud, on bitt-bitilt ajast sõltumatu, jättes kahe keha/J2/tsonaalsed golden-failid puutumata. DE-klassi efemeriidi täpsus ja väline GMAT/Orekit ristvalideerimine jäävad järgmisteks sammudeks. - Madala täpsusega Kuu efemeriid (
ephem::moon_position), mis täiendab Päikese/Kuu kolmanda keha paari. Lisab Montenbruck & Gilli madala täpsusega Kuu rea (§3.3.2) Päikese mudeli kõrvale, nii et kehast sõltumatutforces::third_body_accelsaab nüüd juhtida kummagi taevakehaga ilma välise DE/SPK kerneli vajaduseta. Valideeritud iseseisvalt käsitsi tuletatud Kuu signatuuride vastu: geotsentriline kaugus jääb kuu jooksul päris perigeumi/apogeumi ümbriku (~356 500–406 700 km) sisse ja selle kuukeskmine taastab ~384 400 km suurpooltelje; ekliptikaline laius ei ületa kunagi ~5,3° Kuu orbiidi kaldenurka (kontrollitud projitseerimisega ekliptika poolusele ekvatoriaalkoordinaatides, valideerides laiusrea ja kaldenurga pöörde koos); Kuu suund naaseb 1° piires pärast ühte sideerilist kuud (27,3217 d) ja selle ööpäevane liikumine jääb füüsikalisse 12–15°/päevas vahemikku; ning Kuu kolmanda keha häiring LEO satelliidile on õpikulise ~1,1·10⁻⁶ m/s² suurusega (≈ kaks korda Päikese oma). DE-klassi asenditäpsus, atmosfääri takistus ja SRP jäävad järgmisteks sammudeks. - Kolmanda keha (Päikese) gravitatsioon sisseehitatud madala täpsusega efemeriidiga (
forces::third_body_accel,ephem::sun_position). Lisab jõumudelisse kolmanda keha häiringu:a = GM₃·((s−r)/|s−r|³ − s/|s|³)(otsene külgetõmme miinus kaudne liige, mille geotsentriline raam peab lahutama), kusjuures Päikese asendi annab uue mooduliephemMontenbruck & Gilli madala täpsusega analüütiline rida — välist DE/SPK kernelit pole vaja madala täpsusega käituse jaoks. Valideeritud iseseisvalt: kiirendus langeb kokku oma häiriva potentsiaali täpse gradiendiga (third_body_potential), häiring kaob geotsentris ja on õpikulise ~5·10⁻⁷ m/s² suurusega LEO satelliidil ning Päikese efemeriid tabab käsitsi tuletatud J2000 ankruid — periheeli kaugus ≈ 1,471·10¹¹ m, deklinatsioon ≈ −23° detsembri pööripäeva lähedal, näiv liikumine ≈ 1°/päevas (≈ 90° veerandaasta kohta) ja kaugus, mis jääb terve aasta jooksul Maa orbiidi 0,983–1,017 AU ümbrikusse. Annab numbrilise propageerija verstaposti jõumudeli sammu kolmanda keha poole (Kuu tuuakse ülaltoodud kaaskirjes); DE-klassi asenditäpsus, atmosfääri takistus ja SRP jäävad järgmisteks sammudeks. - J2–J6 tsonaalsete harmooniliste jõumudel (
forces::zonal_accel/zonal_potential). Laiendab Cowelli propageerija jõumudelit J2-st kaugemale täieliku Maa tsonaalse väljani kuni astmeni 6 (standardne avaldatud EGM-96 mittenormaliseeritudJ2..J6), ühendatud propageerijasse kuiForceModel::with_zonals_j2_j6(). Kiirendus on tsonaalse häiriva potentsiaaliR(r) = −(μ/r)·Σ Jₙ(Re/r)ⁿPₙ(z/r)täpne analüütiline gradient (Legendre'i polünoomid ülespoole rekurrentsiga), valideeritud kolmel sõltumatul viisil: see taandub 666 vektoriga valideeritud funktsiooniksj2_accelmasintäpsusega, kui piirdutakse[J2]-ga; see langeb kokku oma potentsiaali numbrilise gradiendiga kogu J2..J6 välja ulatuses (konservatiivse välja kuldstandardi kontroll); ning paarituJ3versus paarisJ2/J4..J6liikmed näitavad oma iseloomulikku põhja–lõuna (anti)sümmeetriat teisendusez → −zall — pirnikujuline asümmeetria. Propageeritud J2..J6 orbiit säilitab koguenergia (kineetiline + tsentraalne + tsonaalne potentsiaal) täpsusega ~1e-8 päeva jooksul ja häirib ainult J2 orbiiti väikese nullist erineva määra võrra. See annab numbrilise propageerija verstaposti sammu 2 („J2–J6 tsonaalsed harmoonilised“); kõrge astme EGM tesseraalne väli, takistus, SRP, kolmas keha ja väline GMAT/Orekit ristvalideerimine jäävad järgmisteks sammudeks. - Numbriline (Cowelli) orbiidipropageerija (
src/propagator.rs). Kshana esimene mitteanalüütiline propageerija (ülejäänud orbiidipakk on analüütiline SGP4/SDP4): see ühendab kahe keha + J2 jõumudeli (src/forces.rs) adaptiivse sammu kahekordistamise RK4 draiveriga (src/integrator.rs) kuif(t,[r;v]) = [v; a(r)], lülitigaForceModel. Valideeritud analüütilise tõe vastu, mis on tugevam kui numbriline ristitööriist oleks: häirimata orbiit taastoodab täpse universaalmuutuja Kepleri lahendi alammeetri täpsusega 24-tunnisel LEO orbiidil (rangem värav kui verstaposti sõnastatud „võrdluses numbrilise etaloniga < 10 m“), erienergia ja nurkimpulss säilivad ~1e-9 suhtelise täpsusega ning J2 sõlme regressioon taastoodab suletud kujuj2_secular_ratesesimese järgu teooriani (2 % piires, O(J2²) jääk). Lisab ka funktsioonisolve_kepler_checked, Newtoni lahendaja Kepleri võrrandile, mis tagastabErrvaikselt valesti vastamise asemel, kui see ei koondu piiratud iteratsioonieelarve jooksul (periapsise-lähedanee = 0.999juhtum). Aus ulatus: jõumudel on ainult kahe keha + J2 — kõrge astme EGM tesseraalne väli (200×200 + laadija), takistus (NRLMSISE-00), SRP, kolmanda keha jõud ja väline GMAT/Orekit ristvalideerimine jäävad järgmisteks sammudeks. - 60-minutiline GPS-ita gravitatsioonikaardi sobitamine täpsusega < 500 m (
run_gps_denied_gravity_nav). Süvendab alt-PNT kihti ESA NAVISP Quantum Wayfarer valideerimissihtmärgini: sõiduk lendab ~700 km rada terve tunni GNSS-i katkestuse jooksul — selle inertsiaallahend triivib ≈ 70 km peale — ning külmaatom-gravimeeter pluss hierarhiline jämedalt-täpseni osakeste/ruudustiku sobitaja taastab konstantse INS-i triivi ≈ 145 m täpsusega (< 500 m), > 480× vähendus. Gravimeetri tegelik valgemüra põhi süstitakse deterministliku algväärtusega (seed) jadana, nii et sobitajale ei anta kunagi müravaba tõde, ent käitus on täpselt reprodutseeritav (kontrollitud bitt-bitilt identne ning stabiilne mõne meetri piires müra realisatsioonide vahel). Regressioonitaseme test näitab, et täpsustamine on vajalik — üksik jäme ruudustik jääb pidama ~2 km juures, ainult kolmeastmeline täpsustamine murrab 500 m tõkke. Uus commit'itud stsenaariumscenarios/gps-denied-gravity-nav.toml. Ridadocs/CAPABILITY.mdjääb ausalt osaliseks (kaasasolevat EGM2008 kaarti endiselt pole), tema tõendid on uuendatud 60-min < 500 m tulemuseni. Aus ulatus on muutumatu: madala astme sfääriliste harmooniliste väli + sünteetilised mascon'id; Monte Carlo kaardi esitusvea realisatsioonide üle on järgmine samm. - Ülehinnangute register + regressioonikaitse (
docs/CLAIMS-VS-REALITY.md,tests/no_overclaims.rs). Sulgeb aususe/väidete tagasivõtmise raja: neliteist ülehinnangut, mille varasem audit kataloogis (OC-0…OC-13), on nüüd kõik GREEN — tugevad väited (OC-0seotud kell+asend Kalman,OC-2segamise J/S→C/N₀→lukustuse kadu,OC-7Mach–Zehnderi CAI füüsika,OC-8ARAIM HPL/VPL) on asendatud tarnitud, testitud võimekustega, mitte pehmendatud sõnastusega, ning ülejäänud read on koodiga sobitamiseks väidetest tagasi võetud. Uus CI test skannib elavaid avalikke pindu (README,CAPABILITY,GLOSSARY,web/) ja ebaõnnestub, kui mõni taganenud paljas ülehinnangufraas ilmub uuesti hoiatuseta, nii et GREEN rida ei saa vaikselt regresseeruda. Käitusekohane „terviklikkuse“ kvaliteedinäitaja jääb ausalt märgitud filtri enesekooskõlaks (mitte lennunduse terviklikkuseks); päris ARAIM HPL/VPL on esitatud eraldi, nii et neid ei aeta kunagi segamini. - Gravitatsioonikaardi sobitamise navigatsioon (GPS-ita alt-PNT). Uus
src/gravimeter.rslisab alt-PNT võimekuse kihi, mida ESA NAVISP Quantum Wayfarer / QT-CCI gravitatsioonikaardi sobitamise uuringud nõuavad: külmaatom-gravimeetri mõõtmismudel, mille valgemüra põhi on tuletatud CAI kiirendusmõõturi ASD-st (σ = ASD/√τ); madala astme, täielikult normaliseeritud sfääriliste harmooniliste gravitatsiooni anomaalia väli (valideeritud suletud kujuga Legendre'i funktsioonideP̄₁₁=√3·cosφ,P̄₂₀=(√5/2)(3sin²φ−1),P̄₂₂=(√15/2)cos²φja käsitsi tuletatud ühe liikmega anomaalia 1,897 mGal vastu) pluss sünteetilised mascon'id kõrge astme kohalike tunnuste jaoks; ning gravitatsioonikaardi sobitamise osakestefilter (komponeeribmapmatch+particle_filter), mis taastab GPS-ita raja läbilennatud anomaaliate jadast. Commit'itud NAVISP etalonkatse (scenarios/gravity-map-nav.toml) vähendab ~73 km vaba inertsiaalse triivi mõne kilomeetrini. Aus ulatus: Kshana ei paku kaasa täielikku EGM2008 2190° koefitsientide komplekti — väli on madala astme + mascon'id, mitte päris kõrge eraldusvõimega kaart; EGM/EIGEN laadija, magnetkaart, maastikuabiga SLAM ja stsenaariumimootorikind=ühendus SVG triivijoonisega jäävad järgmisteks sammudeks.docs/CAPABILITY.md„Gravity-map / alt-PNT navigation“ → osaline. - Manöövrite modelleerimise ja trajektoori kavandamise sillapea. Uus
src/maneuver.rslisab esimese trajektoori kavandamise kihi SGP4 kohal: impulss-ΔV sõlmed, mis rakendavad kiiruse katkevust ja kannavad edasi 6×6 kovariatsiooni (deterministlik põletus ⇒ ühikmaatriksist olekuüleminek; täitmisvea kovariatsioon pöördub põletusraamist — ECI või LVLH — kiirusplokki), lõpliku põletuse integreerimise (konstantne tõuge põletuskaarel massiga olekuna), mille saavutatud ΔV on kontrollitud suletud kujuga Tsiolkovski raketivõrrandi vastu paremini kui 0,01 %, Izzo-2015 ühe tiirlusega Lamberti lahendaja (r1,r2, lennuaeg ⇒v1,v2), täpse universaalmuutuja Kepleri propageerija (kahe keha tõde) ja porkchop pühkimise, mis kujutab stardiepohhi × saabumisepohhi ruudustiku starti C3 ja saabumise V∞ peale, väljastatuna 2-D JSON-massiivina brauseri isojoonte renderdamiseks. Valideerimine on iseseisev ja tugevam kui õpetuslik väljavõte: iga Lamberti väljund käib läbi Kepleri propageerija edasi-tagasi (see peab maanduma tagasi punktir2) ja porkchopi miinimum kontrollitakse analüütilise Hohmanni ülekande C3 põhja vastu kahe tasapinnalise ringorbiidi jaoks. Kshana positsioneerib selle tulemuslikkuse simulatsiooni kihina GMAT/Orekit kohal, mitte asendajana (mitme tiirlusega harud ja päris planeetide efemeriid jäävad ulatusest välja). Kümme testi. - Täielik 17-olekuline tihedalt seotud GNSS/INS UKF kvant-CAI hinnangulise asukoha jälgimisega. Uus
src/fusion/tightly_coupled17.rskannab täielikku inertsiaalnavigatsiooni olekut, mida tihedalt seotud filter hindab —[position, velocity, attitude-error, accelerometer bias, gyro bias, clock bias, clock drift](17 olekut) — propageeritud mõõdetud erijõu ja nurkkiirusega juhitud strapdown-mehhaniseerimise kaudu, väikese nurgaC ≈ I + [ψ×]keha→inertsiaal pöördega, nii et orientatsiooni viga põhjustab horisontaalset kiirendust (standardne INS-i kalde sidestus). GNSS-i katkestuse ajal veereb see ainult IMU peal; kiiruse juhusliku käigu protsessimüra on külmaatom-interferomeetri kiirendusmõõturi tuletatudq_va(crate::inertial::quantum_imu), nii et hinnangulise asukoha triiv on kvantanduriga piiratud — 120-sekundiline katkestus jääb piiratuks mõne sajani meetrini, versus kilomeetrid, milleni jõuaks navigatsioonikvaliteediga vaba INS. Pseudovahemaa/kauguse muutumise kiiruse uuendus käib läbi ühise unscented Kalmani filtri (α = 1 hästi tingimustatud kaaludeks sellel olekusuurusel). Viis testi: mõõtmismudeli samasus, ideaalse IMU konstantkiirusega integreerimine, GNSS-i abistamine, kiirendusmõõturi nihke hindamine ja CAI-ga piiratud 120-s katkestuse etalonkatse.
0.11.0 - 2026-06-05#
Muudetud#
- Aus raamistus kvantpositsioneerimisele. Põhikirjeldus on nüüd järjepidevalt „PNT-resilience simulator with quantum-sensor performance models“ README sloganis, tsiteerimisreas, failis
CITATION.cff(pealkiri + kokkuvõte) ja bännerigraafikas — asendades lõdvema „hybrid quantum/classical PNT simulator“ turundusformulatsiooni. README jaotis What it is / is not saab selgesõnalise „It is not (yet)“ ulatuse väite (mitte esimestest printsiipidest aatom-interferomeetria füüsikamootor, mitte GNSS vastuvõtja/PVT lahendaja, mitte missioonikavandamise tööriist) ning uus tipptasemeROADMAP.mdteeb kvantfüüsika kihist P2 kirje (Mach–Zehnderi CAI faas, projektsioonimüra, vibratsioonitensor), et lugejad teaksid, et esimeste printsiipide füüsika on ulatusse võetud ja tulemas, mitte hüljatud. Käitumise ega API muudatust pole.
Lisatud#
- Konstellatsioonikavandi kompromissiuuring: Walkeri kavandi pühkimine Pareto frondiga, taaskülastusaja JSON ja alamkilomeetriline Walkeri valemi valideerimine.
src/walker.rssaab funktsiooniwalker_design_sweep, mis käitab ruudustikkuplanes × sats_per_plane(nt 3×3 kompromiss) fikseeritud kaldenurgal ja tabuleerib iga kavandi kohta katvuse osa, halvima juhu PDOP-i ning maksimaalse/keskmise taaskülastuse vahe;pareto_frontmärgib mittedomineeritud kavandid (vähem satelliite, rohkem katvust, madalam PDOP, lühem taaskülastus) ningWalkerDesignReport::to_jsonserialiseerib rakud ja Pareto fronti — sh taaskülastusaja väljad — JSON-ina. Uus valideerimine seob generaatori Walkeri valemigai:T/P/F: samas pesas olevad satelliidid naaberorbiiditasandites kujutuvad üksteisele täpse pöördegaR_z(2π/P)täpsusega alla 1 km terve 24 h SGP4 propageerimise jooksul (J2 lühiperioodiline hingamine on ühisrežiim ja tühistub), ning orbiiditasandisisesed pesad on kinnitatud keskmiselt vahega2π/S. Toetub commit'itud päris Celestrakigps-ops2021-07-28 hetktõmmisele (scenarios/orbit-sgp4-gps.toml, mida kasutavad stsenaariumikatvuse ja SP3 edasi-tagasi testid). - Täiustatud aja ja sageduse edastamine: TWSTFT, GNSS ühisvaade, PPP, optiline, IEEE-1139 astmeseaduse sobitus ja kellaansambel. Uus
src/timetransfer_adv.rsehitab operatiivsed edastusmeetodid tarnitud Sagnaci/ühisvaate suletud kujude ja Alani stabiilsuse tööriistade peale.twstft_sagnacannab kahesuunalise satelliitaja ja -sageduse edastamise Sagnaci parandi kolmehüppelise silmussummana, mis võrdub BIPM suletud kujugaΔt = 2·A·ω_E/c²täpselt (ristkontrollitud sõltumatutwstft_sagnac_bipmvastu);run_twstftväljastab ühepäevaseT_A − T_Brea ja selle TDEV.gnss_common_view_seriesvõtab kahe sünteetilise maajaama ühe vahe, nii et satelliidi kell tühistub.iono_free_combination+ppp_receiver_clockon PPP ionosfäärivaba kombinatsioon ja vastuvõtja kella lahendus SP3-klassi (sünteetilise) tõe vastu, tühistades esimese järgu ionosfääri täpselt.rytov_variance,fried_parameterja ühikkeskmisegalognormal_fadingmodelleerivad vaba ruumi optilise lingi turbulentsist tingitud sillerdust.fit_power_law_psdon Alani dispersioonikõvera täielik IEEE-1139 viie koefitsiendih_αvähimruutude sobitus (kõik viis kanoonilist müraprotsessi korraga), domineeriva protsessiga, mis on esitatud τ-dekaadi kohta.ensemble_timescalemoodustab pöördvariatsiooniga kaalutud paberist ajaskaala, mille Alani hälve langeb rangelt alla parima panustava kella. 31 ühiktesti; valideerimise sihtmärgid on suletud kujud ja sünteetiline tõde — päris BIPM Circular-T / IGS SP3 sisend on veel tegemata. - IONEX ionosfäärikaardid: failiparser, ajainterpolatsioon ja kaldkiire kaldetegur.
src/ionex.rssaab funktsiooniparse_ionex, mis loeb IONEX failivormingu (päise ruudustikumääratlus +START/END OF TEC MAPplokid) jadaksIonexMap— normaliseerides faili põhjast lõunasse laiuskraadide järjekorra positiivse sammugaTecGridja skaleerides väärtused teguriga10^EXPONENT.interpolate_tec_in_timesegab kaks järjestikust kaarti päringu epohhile ningobliquity_factor/slant_teckujutavad vertikaalse TEC-i kaldkiirele ühekihilise õhukese kesta teguriM(z) = 1/cos z′kaudu (sin z′ = (Rₑ/(Rₑ+H))·sin z). Koos tarnitud ruudustikumudeliga muudavad need mõõdetud IGS globaalse ionosfäärikaardi kasutatavaks kaldviivituseks. - Konstellatsioonikavand: katvusribade (streets-of-coverage) mõõtmine + mitme konstellatsiooni võrdlus.
src/walker.rssaab funktsioonimin_satellites_streets_of_coverage, idealiseeritud katvusribade minimaalse satelliidiarvu lahendaja — tarnitud katvuse poolnurgastλja ribapoollaiusestcmõõdab see lähipolaarse konstellatsiooni pidevaks üksikuks globaalseks katvuseks kuip = ⌈π/(2c)⌉tasandit (nt GPS-i kõrgusel 4 satelliidiga tasand vajab 2 tasandit, 8 satelliiti) ning teatabNone, kui satelliidid on pideva riba moodustamiseks liiga hõredad.compare_constellationson mitme konstellatsiooni võrdlusvahend: see hindab iga nimetatud Walkeri kavandit samal jaamal/aknal funktsioonigapdop_sweepja tagastab nende katvuse / PDOP-i / suuruse kõrvuti. Aus ulatus: õmblustäpne Rideri parandus vastupidiselt pöörlevate tasandite piiril ja 3-D katvusgloobus jäävad järgmisteks sammudeks. - Mitmekihiline spuufimise tuvastus: RAIM-kooskõla pariteedidetektor + kihtide liitmine.
src/spoof_monitors.rssaab kolmanda ja viimase tuvastuskihi ning liitmisetapi:parity_raim_testsobitab asendi/kella lahendi vähimruutudega üleliigsele pseudovahemaade komplektile ja testib allesjäänud kaalutud jääkruutude summat selle χ²(m−4)läve vastu — märkides satelliitide nihutatud alamhulga, jättes samal ajal ühisrežiimi nihke (mille vastuvõtja kell neelab) õigesti RAIM-ile nähtamatuks, mitte seda üle katmata.fuse_spoof_layerskombineerib pariteedi, AGC ja SQM kihid üheks kaalutud otsuseks, mis kirjutab üles, millised kihid aktiveerusid. Monte Carlo iseloomustab detektorit: empiiriline P_fa ≈ 0,068 vs 0,05 kavandipunkt, tuvastamata jäänud sündmus langeb väärtuselt 0,885 2σ spuufimisnihke korral väärtusele 0,16 8σ korral. Aus ulatus: ristvalideerimine konkreetsete avaldatud (Spirent / ION GNSS+) spuufimise testvektoritega vajab neid väliseid andmestikke ja jääb järgmiseks sammuks. - Seotud-vs-lahutatud Kalmani valideerimisansambel. 100-katseline Monte Carlo failis
src/fusion/coupled.rskvantifitseerib asendi↔kella ristkovariatsiooni kandmise väärtust: truu sisseehitatud lahutatud lähtetase (valideeritud bitt-bitilt tarnitudCoupledPntFiltervastu) töötleb samu andmeid nullitud ristplokkidega ning pärast peaaegu degenereerunud pseudovahemaid pluss ainult kella lahendust taastab seotud filter asendi 2,97 m RMS täpsusega vs lahutatud filtri 48,8 m, võites 97 katsest 100-st — kella lahend teravdab asendit ainult korrelatsiooni kaudu, mille lahutatud pakk kõrvale heidab. See lõpetab Kalmani õigsuse valideerimiskomplekti (Joseph'i vorm, PSD ohutus, NEES/NIS kooskõla ja nüüd seotud filtri ansambel). - Orbiidi määramise torujuhe (partii + järjestikune). Uus
src/orbit_determination.rstaastab satelliidi orbitaalse oleku[r, v]maajaama kaugusjälgimisest, komponeerides kolm tarnitud osa: kahe keha + J2 jõumudel (src/forces.rs) ja RK4 integraator (src/integrator.rs) propageerivad kandidaatoleku üle kaare, kaugusmõõtmise mudel ennustab iga jaama kauguse ning Gauss–Newtoni partiiparandaja (src/batch_ls.rs) juhib kandidaadi parima sobituse olekule (determine_orbit_batch). Samad dünaamika ja kaugusmudel juhivad ka järjestikust rekursiivset määramist tarnitud unscented filtril (determine_orbit_sequential). Seda valideerib neli testi: kauguse ennustus üle kaare; partii taastamine alammeetri / mm·s⁻¹ täpsusega müravabadest kaugustest; partii taastamine ~2 m täpsusega, järelsobituse jäägiga 5 m müra põhjal (kooskõlalise vähimruutude sobituse signatuur); ja järjestikune taastamine kümnete meetrite piires. Aus ulatus: kauguse muutumise kiiruse/Doppleri ja nurkmõõtmised, analüütiline J2 olekuüleminekumaatriks ja jaama nähtavusmaskeerimine on järgmised sammud. - Tihedalt seotud GNSS/INS UKF navigaator. Uus
src/fusion/tightly_coupled.rsühendab tarnitud unscented Kalmani tuuma (src/fusion/ukf.rs) töötavaks tihedalt seotud navigaatoriks kaheksaolekulisel[px,py,pz,vx,vy,vz,b,d](ECEF asend/kiirus pluss vastuvõtja kella nihe ja triiv kaugusühikutes). See võtab sisse toorsatelliidimõõtmised —pseudorange(ρ = |p − sᵢ| + b) jarange_rate/Doppler (ρ̇ = (p − sᵢ)·(v − ṡᵢ)/|p − sᵢ| + d) — mitte eelnevalt moodustatud asendilahendit, nii etTightlyCoupled(funktsioonidegapropagate/propagate_orbital/update_gnss) jätkab parandamist alla nelja satelliidiga ja veereb GNSS-i katkestustest läbi oma propageeritud dünaamikal. Viis testi valideerivad seda otsast lõpuni, sh verstaposti vastuvõtustsenaariumid: pseudovahemaa/Doppleri geomeetria käsitsi väärtuste vastu; müravaba koondumine alammeetrini viiel satelliidil; kolme satelliidi juhtum, mis koondub ~212 m-lt ~13 m-ni, kus hetktõmmise PVT-d ei saa isegi moodustada; konstantse kiirusega 120-sekundiline katkestus 50 m piires; ja — põhiline vastuvõtt — 30-minutiline kõverduv LEO ülelend (päris kahe keha + J2 orbiit) 120-sekundilise GNSS-i katkestusega, hoitud 0,77 m ülelennu RMS ja 2,9 m halvima juhuna katkestuse jooksul. See orbitaalne väljajooks komponeerib tarnitud gravitatsiooni jõumudeli (src/forces.rs) ja RK4 integraatori (src/integrator.rs) UKF protsessimudeliks (propagate_orbital), nii et filter järgib orbiidi kõverust — mida konstantse kiirusega väljajooks ei suuda (ainuüksi kõverus on LEO-l ~58 km 120 s jooksul). Aus ulatus: orbitaalne väljajooks kasutab kahe keha + J2 jõumudelit, mitte toor-IMU erijõudu (jõuta orbitaalplatvormil need langevad kokku); strapdown-IMU veaoleku ja tsüklisisese iono/tropo parandite sissepõimimine on järgmised sammud. - Kaardisobituse mõõtmismudel (maastiku-/gravitatsioonipõhine navigatsioon). Uus
src/mapmatch.rsannab mõõtmismudeli, mis muudab tarnitud järjestikuse tähtsusvalimi osakestefiltri (src/particle_filter.rs) töötavaks GPS-ita navigaatoriks:field_likelihood(Gaussi välja sobitamise tõepära) jamap_match_likelihood, mis valimit mis tahes georefereeritud etalonvälja — maastiku kõrgus (TRN) või gravitatsiooni anomaalia — osakese asendis ja kaalub seda kokkulangevusega sõiduki mõõdetud väärtusega. Väli on mis tahesFn(lat, lon) -> valuevalimivõtja, nii et see komponeerub ruudustiku bilineaarse interpolaatoriga failissrc/ionex.rsvõi sulundiga. Kaks testi ankurdavad seda — tõepära tipp (=1) täpsel sobitusel langeb väärtusenie^(−½)ühe sigma juures ning osakestefilter eristuval sünteetilisel maastikulaigul taastab tõelise asendi 0,1 piires. Aus ulatus: päris etalonkaardid (SRTM kõrgus, EGM/EIGEN gravitatsiooni anomaalia) ja nende laadijad on järgmised sammud. - Tsislunaarne PNT terviklikkus (Kuu ARAIM). Uus
src/lunar.rsrakendab Maa poole MHSS ARAIM mootorit LunaNet-laadsele Kuu navigatsiooniteenusele Kuu parameetritega (σ_URE ≈ 30 mvs GPS 0,6 m,P_sat ≈ 1e-4): Kuu konstandid, selenotsentriline Ida/Põhja/Üles baas ja taevageomeetria abifunktsioon ninglunar_araim(HPL/VPL). Kolm testi ankurdavad seda — ortonormaalne selenotsentriline baas, kaldkauguse geomeetria ja täpne lineaarne kaitsetaseme skaleerumineσ_UREjärgi (Kuu 30 m annab 50× suurema kaitsetaseme kui sama geomeetria GPS 0,6 m juures — kvantitatiivne põhjus, miks Kuu PNT terviklikkus on raske). Aus ulatus: täpne LANS NRHO efemeriid, signaal-ruumis veaeelarve ja MCI↔MCMF raami taandamine on järgmised sammud. - Kaheosalised (kõrge täpsusega) Juliuse kuupäevad. Uus
src/jd2.rslisabJd2, täisarvuliseksdayja murdosaksfracvahemikus[0,1)jagatud Juliuse kuupäeva (SOFA/hifitime konventsioon), funktsioonideganew/from_parts/add_seconds/diff_seconds/total. Lähedaste epohhide vahed jäävad täpseksf64põhjani, kus üksik-f64JD kaotab J2000 lähedal ~50 µs. Neli testi ankurdavad seda: edasi-tagasi teisendus, murdosa normaliseerimine, täpne mikrosekundi taastamine (kõrval demonstreeritud üksik-f64tõrge) ning liiteline/pööratav sekundiaritmeetika. - CCSDS OMM (Orbit Mean-Elements Message) kirjutaja. Uus
src/omm.rstäiendab efemeriidikirjutajatoemkeskmiste elementide sõnumiga:OmmFile::from_tlekujutab SGP4/TLE keskmised elemendid OMM ühikutesse (keskmine liikumine tiirlustes päevas, nurgad kraadides, plussBSTAR) jato_omm_kvnserialiseerib standardiloomise CCSDS 502.0-B-2 KVN vormi — nii et Kshana orbiiti saab tarbida iga OMM-i tundev tööriist, mitte kohandatud TLE-na. Kaks testi ankurdavad TLE→OMM ühikuteisendust (≈ 15,5 tiirlust/päevas, 51,6° kaldenurk jne) ja nõutud KVN märksõnade olemasolu. Aus ulatus: KVN vorm ja TLE vastendus tarnitakse siin; XML (ndm/omm) renderdus ja etalonparseriga edasi-tagasi teisendus on järgmised sammud. - Järjestikuse tähtsusvalimi osakestefilter. Uus
src/particle_filter.rslisab mittelineaarse, mitte-Gaussi hindaja kaardiabiga GPS-ita navigatsiooni taga (maastikupõhine või gravitatsioonikaardi sobitamine):predict(propageeri osakesed läbi dünaamika + Gaussi protsessimüra),update(kaalu uuesti osakese kohase mõõtmise tõepäraga), süstemaatilineresample, degeneratsiooni seireeffective_sample_sizeja kaalutud keskmine hinnang. Kuus testi ankurdavad deterministlikku tuuma täpselt — ESS ulatub 1…N, süstemaatiline uuesti valimine valib indeksid kaaluga võrdelises vahekorras, kaalutud keskmise kumer kombinatsioon, Gaussi tõepära tõmbab hinnangu mõõtmisele, uuesti valimine ühtlaseks käitumine ja algväärtusega (seed) predict-determinism. Aus ulatus: mootor tarnitakse siin; etalonkaardid (SRTM kõrgus, EGM gravitatsiooni anomaalia) ja kaardi mõõtmismudel on järgmised sammud (ruudustiku+bilineaarne valimivõtjaionexteeniks gravitatsiooni/maastiku kaarti võrdselt). - IONEX-laadsed TEC ionosfäärikaardid. Uus
src/ionex.rslisab mõõdetud ionosfääri alternatiivi edastatavale Klobucharri mudelile:TecGrid(vertikaalse TEC-i korrapärane laius-/pikkuskraadi ruudustik, IGS globaalne ionosfäärikaart) bilineaarse interpolatsiooniga läbitungimispunktis (vtec_at, väljaspool ruudustikku piiratud) ja esimese järgu viivitusegaΔ = 40.3·TEC/f²(vtec_to_delay_m,delay_at). Neli testi ankurdavad seda:1 TECU ≈ 0.162 mL1 juures skaleerimisega1/f², sõlmetäpne interpolatsioon, bilineaarsed keskpunktid, mis keskmistavad nurgad, ning serva järgi piiratud ruudustikuvälised päringud. Aus ulatus: ruudustik ja interpolatsioon tarnitakse siin; IONEX failivormingu parsimine, ajainterpolatsioon kaartide vahel ja kaldkiire kujutusfunktsioon on järgmised sammud. - Geomeetrilised aja edastamise parandid (Sagnac + GNSS ühisvaade). Uus
src/timegeo.rslisab kaks deterministlikku efekti, mida päris kellavõrdlus peab arvestama, täiendades stohhastilist kahesuunalist mudelit failistimetransfer:sagnac_correction(Δt = (ω_E/c²)·(x₁y₂ − x₂y₁), pöörleva Maa viivitus — kontinentaalsete baasjoonte puhul kümneid ns) jacommon_view_offset, GNSS ühisvaate ühe vahe, mis tühistab satelliidi kella vea täpselt ja taastab jaamadevahelise nihke. Kolm testi ankurdavad neid täpsete etalonide vastu: ekvatoriaalse veerandpöörde ≈ 33 ns Sagnac, antisümmeetria ning radiaalsed/polaarsed nulljuhud ja täpne satelliidikella tühistumine. Aus ulatus: täielik TWSTFT transponderi/riistvara viivituse eelarve ja PPP ionosfäärivaba aja edastamise lahendus on järgmised sammud. - Orbitaalne jõumudel (kahe keha + J2). Uus
src/forces.rslisab kiirendusmudeli, mida numbriline propageerija integreerib:two_body_accel(−μ·r/|r|³), lapikusehäiringj2_accel(ECI suletud kuju) ja neid summeerivgravity_accel— seo see failigasrc/integrator.rskuif(t,[r;v]) = [v; a(r)]. See avab ka analüütilised J2 sekulaarsed kiirused (j2_secular_rates): sõlme regressioonΩ̇, apsiidide pöörlemineω̇ja keskmise anomaalia triivṀ. Kuus testi ankurdavad füüsikat täpsete etalonide vastu:μ/r²kahe keha liikme jaoks, J2 suletud kuju ekvaatoril (~10⁻³ kahe keha suurusest), kriitiline kaldenurk (63,4349°), mis külmutab perigeumi (ω̇ = 0), ISS-i sõlme regressioon (Ω̇ ≈ −5°/day) ning retrograadse päikesesünkroonse orbiidi idasuunaline triiv. Aus ulatus: ainult kahe keha + J2; J3–J6, takistus, SRP ja kolmas keha on järgmised sammud. - Jagatavad stsenaariumi püsilingid. Uus
src/permalink.rslisab sõltuvusteta RFC 4648 Base64 koodeki (standardne+/tähestik täitega ja URL-ohutu-_täiteta tähestik) ning ümbrisedencode_scenario/decode_scenario, nii et mänguväljaku TOML saab kodeerida päringuparameetriks?s=ja jagada URL-ina. Brauserile avatud wasm sidumistenaencode_permalink/decode_permalink. Neli testi ankurdavad seda kanooniliste RFC 4648 vektoritega ("foobar"→"Zm9vYmFy"jne), URL-ohutu stsenaariumi edasi-tagasi teisendusega (+///=pole vaja paojada), kehtetute sümbolite tagasilükkamisega ja kõigi 256 baidi edasi-tagasi teisendusega. Aus ulatus: koodek ja sidumised tarnitakse siin; mänguväljaku nupu Share kasutajaliides, Plotly/D3 mitme seeria joonis ja A/B võrdlusrežiim on järgmised sammud. - Gauss–Newtoni partii vähimruudud (partii diferentsiaalparandaja). Uus
src/batch_ls.rslisab hindamistuuma, millel põhineb partii orbiidi määramine (või mis tahes parameetrite sobitus):gauss_newtonlineariseerib kasutaja antud mudelih(x)tsentraalse lõpliku vahe Jacobi maatriksiga, moodustab ja lahendab kaalutud normaalvõrrandid(HᵀWH)·Δx = HᵀW·(z − h(x))(taaskasutades testitud maatriksi pöördmaatriksit) ning itereerib koondumiseni mõõtmiskohaste kaaludega. Neli testi ankurdavad seda: lineaarne sirge sobitus, mis jõuab täpse kaalutud vähimruutude lahendini, mittelineaarnea·exp(b·t)sobitus, mis taastab tõelised parameetrid, 3-D kauguse multilateratsioon, mis taastab teadaoleva asendi müravabadest kaugustest (orbiidi määramise maitse), ning alammääratud/mittesobivate sisendite tagasilükkamine. Aus ulatus: see on üldine parandaja mootor; orbiidispetsiifiline kauguse/kauguse muutumise kiiruse/asimuudi-kõrguse mõõtmismudel, analüütiline J2 olekuüleminekumaatriks ja avaldatud juhtumiga valideerimine on järgmised sammud. - RF-kihi spuufimise seired (AGC võimsus ja SQM). Uus
src/spoof_monitors.rslisab kaks sõltumatut vastuvõtja esiosa spuufimise detektorit, mis täiendavad kellaabiga ajaspuufimise seiret failisspoof: AGC võimsusseire (combine_power_dbmmittekoherentne võimsussumma +AgcMonitor), mis märgib liigse vastuvõetud võimsuse, mille spuufimissaatja lisab üle seadistatava dB varu, ja signaalikvaliteedi seire (bpsk_autocorrkolmnurkne koodi autokorrelatsioon +SqmMonitor), mis märgib Early-miinus-Late korrelaatori tasakaalutuse, mille toovad sisse mitmeteelevi/meaconing/kordus. Neli testi ankurdavad täpseid suletud kujusid (3,01 dB võimsuse kahekordistamisel, koondsumma10·log10(N), kolmnurkneR(τ)=1−|τ|ja 10 % Early/Late häirelävi). Aus ulatus: täielik RAIM-kooskõla pariteedi spuufimisdetektor, seireväljundite mitmekihiline liitmine ja valideerimine avaldatud Spirent/ION GNSS+ spuufimisvektoritega on järgmised sammud. - Adaptiivne numbriline ODE integraator. Uus
src/integrator.rslisab numbrilise propageerija esimese osa (Kshana orbiidi propageerimine on muidu analüütiline SGP4/SDP4): üldine neljandat järku Runge–Kutta samm (rk4_step) mis tahes esimest järku süsteemiy' = f(t, y)kohal ja adaptiivne draiver (integrate), mis kontrollib lokaalset viga sammu kahekordistamisega (Richardsoni ekstrapolatsioon) standardse sammukontrolleriga0.9·(tol/err)^(1/5)ja vastuvõtmise/tagasilükkamise loogikaga. Kuus testi ankurdavad seda täpsete lahendite vastu: eksponenty' = y → etäpsusega< 1e-9, ~16× vea vähenemine poolitatud sammu kohta, mis tõestab neljandat järku koondumist, harmoonilise ostsillaatori energia/tagasipöördumise säilimine täisperioodi jooksul ning adaptiivne draiver, mis täidab range tolerantsi muutuvate sammudega. Aus ulatus: see on integraatori tuum ja selle veakontroll; Dormand–Prince'i RK5(4)/RKF7(8) põimitud tabelid ja hierarhiline orbiidi jõumudel (kahe keha + J2–J6 + takistus + SRP + kolmas keha), mis teevad sellestNumericalPropagator, on järgmised sammud. - Unscented (sigma-punktide) Kalmani filter. Uus
src/fusion/ukf.rslisab skaleeritud unscented Kalmani filtri (Julier & Uhlmann; Wan & van der Merwe) üldisen-olekulise hindajana kasutaja antud protsessi- ja mõõtmisfunktsioonide kohal — sigma-punktide hindaja, mida tihedalt seotud GNSS/INS navigaator kasutab, kui pseudovahemaa/Doppleri mudel on tugevalt mittelineaarne ja EKF-i Jacobi maatriks halveneb. See sisaldab toetavat tihedat lineaaralgebrat (Choleski tegur sigma-punktide hajuvuse jaoks, Gauss–Jordani pöördmaatriks innovatsioonikovariatsiooni jaoks) ja Joseph'i vaba uuendustP⁺ = P⁻ − K S Kᵀ. Kuus testi fikseerivad selle, võtmetestid kasutavad täpset omadust, et lineaarse mudeli korral taastoodab unscented teisendus Kalmani filtri numbrilise täpsusega (ennustus, uuendus ja täielik ennustus+uuenduse tsükkel, kõik võrdluses käsitsi käitatud lineaarse KF-iga, pluss 1-D analüütilise Bayesi aposterioorse kontrolliga ning Choleski/pöördmaatriksi samasustega). Aus ulatus: see on hindaja mootor; 17-olekuline tihedalt seotud GNSS/INS navigaator, pseudovahemaa/Doppleri mõõtmismudel ja katkestuse valideerimise stsenaarium jäävad järgmisteks sammudeks. - Kahe konstellatsiooniga ARAIM kaitsetasemed. Uus
araim_dual_raimlaiendab ühe tõrkega täiustatud RAIM-i (araim_raim) EU ARAIM / DO-316 konstellatsiooniülese tõrkerežiimiga: tõrgeteta ja satelliidikohaste hüpoteeside kõrval annab iga konstellatsioon (märgendatud satelliidi kohta) ühe hüpoteesi, mis eemaldab kõik oma satelliidid korraga, eelnevagaP_const(uusDualFaultPriors { p_sat, p_const }). Iga hüpotees lisab liikme samasse MHSS terviklikkuse summasse, nii et VPL/HPL on väikseimad piirid, mille koguP_HMItäidab eelarve tõrgeteta + ühe SV + konstellatsioonikohaste tõrgete üle (Bonferroni valehäire jaotus on kõigiN + Chüpoteeside üle). KuiP_const = 0, on tulemus bitt-bitiltaraim_raim; ühe konstellatsiooniga kasutaja tagastabNoneoma konstellatsioonitõrke vastu (seda ei saa välistada) — just seetõttu on kahe konstellatsiooniga katvus oluline. Neli testi katavad samaväärsuse, kaitsetaseme laienemise, ühe konstellatsiooni kättesaamatuse ja sisendi valideerimise, taaskasutades olemasolevat lahenduse eraldamise alamlahendi masinavärki. - IAU 2006 pretsessioon (Fukushima–Williamsi nurgad ja nihke-pretsessiooni maatriks). Uus
src/precession.rsteostab IAU 2006 (P03; Capitaine, Wallace & Chapront 2003) pretsessiooni: neli Fukushima–Williamsi nurka(γ̄, φ̄, ψ̄, ε̄_A)TT Juliuse sajandite polünoomidena (fw_angles) ja neist SOFAiauFw2mkonstruktsiooniga ehitatud GCRS→keskmine-kuupäeva nihke-pretsessiooni pöördemaatriks (precession_matrix, abifunktsioonidegagcrs_to_mod/mod_to_gcrs). See on esimene inertsiaalraami osa olemasoleva GMST-põhiseframestaandamise peal. Kaheksa testi valideerivad suletud kuju ankrute vastu — J2000 keskmine kaldenurkε̄ = 84381.406″ = 23.4392794°, avaldatud nurkade konstantliikmed, üldpretsessiooniψ̄ ≈ 5039.998″kuhjumine sajandi jooksul, maatriksi ortonormaalsus jadet = +1, peaaegu ühikväärtus (ainult raami nihe) J2000 juures ja≈ 1.40°/sajand netopöördenurk. Aus ulatus (ROADMAP.md): ainult pretsessioon — IAU 2000A 678-liikmeline nutatsioon, täielik TEME→GCRS ahel ja SOFA/ANISE µas/<10 m numbriline ristkontroll on järgmised sammud. - Esimestest printsiipidest külmaatom-interferomeetri (CAI) kiirendusmõõturi füüsika.
src/inertial/quantum_imu.rsmodelleerib kolmeimpulsilist Mach–Zehnderi aatominterferomeetrit esimestest printsiipidest, mitte andmelehe järgi: efektiivne lainevektork_eff = 4π/λ, interferomeetri faasΦ = k_eff·a·T², kvantprojektsiooni (haava) müraσ_Φ = 1/(C·√N), kiirendustundlikkus ühe kordi kohta, kontrasti lagunemineC(t) = C₀·e^(−t/τ)ja — põhiline —CaiAccelerometer::q_va(), mis tuletab valge kiirenduse PSD, mida klassikalineAccelModeljuba tarbib, aatomite arvust, päringuajast ja kontrastist. Mudel katab nüüd ka vibratsioonisidestuse — domineeriva päris seadme liikme: interferomeetri kiirendus→faas ülekandefunktsioon|H(ω)| = (4/ω²)sin²(ωT/2)(accel_transfer_function), valge PSD faasidispersioonσ_Φ² = k_eff²·S_a·T³/3(vibration_phase_variance_white, numbrilise ribaintegraali ristkontrolligavibration_phase_variance_band), astaku-1 kiire sihisbeam_axis_projectionningCaiAccelerometer::vibration_phase_noise/vibration_limited_accel(viimane taandubk_eff-sõltumatule põhjale√(S_a/(3T))). Üksteist testi kontrollivad füüsikat käsitsi (Rb-87k_eff ≈ 1.61×10⁷,Φ(1 g) ≈ 1.58×10⁴ rad,σ_a ≈ 0.13 µg/kord haavamüra põhi vs ≈ 5,9 µg vibratsiooni põhi,1/T²,1/√NjaT³skaleerimisseadused). Aus ulatus failisdocs/QUANTUM.md: see hõlmab projektsioonimüra põhja ja sellest kõrgemat vibratsiooniga piiratud režiimi; laserifaasi müra, Coriolisi ja valgusnihke süstemaatilised vead ning PHARAO/CARIOQA valideerimisstsenaariumid jäävad järgmisteks sammudeks. - Kvant-CAI kiirendusmõõtur ühendatud inertsiaalstsenaariumisse. Kiirendusmõõtur inertsiaalses hinnangulise asukoha stsenaariumis lahendub nüüd uueks
ImuKind—Classical(olemasolev andmelehe koefitsiendiga andur) võiQuantumCai, kui sellel on valikuline plokk[cai](CaiCfg: lainepikkus, impulsside vahe, aatomite arv, kontrast, tsükli aeg ja valikuline platvormivibration_psd). Anduriquantum_caikiiruse juhusliku käigu PSDq_vaon tuletatud interferomeetri füüsikast — haavamüra põhi pluss, kui vibratsiooni PSD on antud, vibratsiooniga piiratud osa kvadratuuris — selle asemel et esitada koefitsient, ning käituse päritolu kirjutab üles, et müra on füüsikast tuletatud. Välicaionskip_serializing_if = "Option::is_none", nii et olemasolevad stsenaariumid jätavad selle välja ja serialiseeruvad baidi haaval identselt (stsenaariumi räsi on muutumatu). Viis testi katavad tuletuse, kvadratuurse vibratsioonisumma, valikuClassical/QuantumCai, räsistabiilse serialiseerimise ja otsast lõpuni CAI-juhitud käituse. - Konstellatsioonikavandi optimeerija ja katvusribade (streets-of-coverage) geomeetria.
src/walker.rssaab funktsioonioptimize_walker_design, gradiendivaba ruudustikuoptimeerija, mis otsib kavandiruumi{planes × sats × inclination}ja tagastab parima Walkeri kavandi valitud eesmärgiDesignObjectiveall —MinSatellitesForCoverage,MaxCoveragevõiMinWorstPdop— juba valideeritud PDOP pühkimise üle (test kinnitab, et see tagastab toorjõu võitja). Pluss analüütilised katvusribade (streets-of-coverage) suletud kujudcoverage_half_angle_rad(λ = arccos(Re/r·cos ε) − ε) jastreet_half_width_rad(cos c = cos λ / cos(π/s), Rider/Beste), käsitsi kontrollitud õpikugeomeetria vastu ja tuvastades alaasustuse lünga. Täielik Rideri minimaalse satelliidiarvu globaalse katvuse lahendaja, 3-D mänguväljaku gloobus ja välise tööriista DOP ristkontroll on järgmised sammud. - SP3 täppisefemeriidi eksport CLI-st. Propageeritud orbiidi/konstellatsiooni stsenaariumi saab nüüd kirjutada SP3-c faili:
kshana <orbit.toml> --export-sp3 out.sp3võiexport_sp3 = truestsenaariumis kirjutab automaatselt faili<scenario>.sp3(api::export_sp3/auto_export_sp3,OrbitClockScenario::to_sp3_string, valikulineepoch). Edasi-tagasi test (tests/sp3_export_roundtrip.rs) propageerib päris Celestrakigps-opshetktõmmise, ekspordib selle, parsib uuesti ja kinnitab, et taastatud ECEF asendid langevad SGP4 tõega kokku 24 h jooksul täpsusega < 0,5 m (tublisti 10 m TLE-klassi tolerantsi sees). README dokumenteerib koostalitluse rolli (RINEX → RTKLIB/gLAB, SP3 → Ginan/täppisorbiidi tooted). - Seotud kella+asendi Kalmani filter (ristploki kovariatsioon).
src/fusion/coupled.rsCoupledPntFilteron üks virnastatud[pos, vel, phase, freq]filter (Joseph'i vormi uuendused), mille pseudovahemaa mõõtmineρ = g·pos + c·phase + noiseseob asendi- ja kellaplokid tõeliselt — erinevalt vana liitmispaketi kahest sõltumatust kaheolekulisest filtrist, mis hoiavad ristploki kovariatsiooni täpselt nullis. Valideeritud: ühine pseudovahemaa ajabP[pos,phase]nullist erinevaks; kaks erinevat geomeetriat lahendavad koos süstitud asendi+kella nihked, mida üksik kaugus eristada ei suuda; ainult kella lahend teravdab asendit ristkovariatsiooni kaudu (kasu, mida lahutatud filtrid anda ei suuda); ja Monte Carlo NEES on χ²(4)-kooskõlaline. See on 1-DOF realisatsioon (liitmispaketi dimensionaalsus); 3-D 8-olekuline laiendus ja ühendamine käivitatavasse paketti on järgmised sammud. - Kalmani filtri kooskõla tervisejälgimine (NIS/NEES). Kaheolekulise kellafiltri kovariatsiooniuuendus on nüüd Joseph'i stabiliseeritud kujul `P⁺ = (I−KH)P(I−KH)ᵀ
- KRKᵀ
, which stays positive-semidefinite under extreme Q/R ratios (Cholesky-checked in CI atR=1e-26 / Q≈1e-30). A newsrc/filter_health.rsruns a Monte-Carlo consistency assessment (Bar-Shalom §5.4): pooled **NIS** (normalised innovation², target 1) and **NEES** (normalised estimation error², target 2) against 95% χ² bands, surfaced as afilter_health { nis_mean, nis_chi2_lower_95, nis_chi2_upper_95, nees_mean, nees_chi2_lower_95, nees_chi2_upper_95, consistent }block in the clock result JSON and as a green/amber card in the playground. A Q/R-mismatch sweep test proves the monitor flips to inconsistent when the process noise is mistuned by ×0.1–×10. Adds a general χ² quantile (detection::chi2_inv_cdf`, Wilson–Hilferty, tabeliga kontrollitud).
- KRKᵀ
docs/PROVENANCE.md— üks tsiteeritav päritolutabel. Koondab iga anduriparameetri (kellad, inertsiaal, aja edastamine), füüsikalise/algoritmilise mudeli (orbiit, ajasüsteemid, raamid, iono/tropo, terviklikkus, tuvastamine, segamine, Alan) ja valideerimisandmestiku (AIAA 2006-6753, Celestrakigps-ops) koos selle avaldatud allikaga — andmeleht, artikkel, ICD või standard — ning aus küpsusmärgend (lennukvalifitseeritud / maalabor / kosmoseesmärk-maapealsel-riistvaral). Lingitud README sissejuhatusest ja dokumentatsioonitabelist; täiendab käitluskohaseidprovenancestringe, mis juba liiguvad tulemuse JSON-is kaasas.- Tüpiseeritud stsenaariumi API. Edastus toimub nüüd tüpiseeritud enumil
ScenarioKindtoorestringikindsobitamise asemel (ScenarioKind::classify+ ammendav edastus), nii et paketi lisamine on kompileerimisel kontrollitud. Uued tüpiseeritud pinnad muutumatu stringi tagastavarun_tomlkõrval:run_scenario(src) -> Result<RunOutput, KshanaError>struktureeritud veataksonoomiaga (InvalidInput/NonConvergence/Unsupported/IoError, igaühel stabiilnekind_tag()); tunnusjoonScenarioja laienduspunktExternalPack(pakettjammingon selle kaudu ühendatud töötatud näitena); ning enesevaatluslist_scenario_kinds()(nimi, kirjeldus, kohustuslikud/valikulised väljad liigi kohta). Pythoni ja WebAssembly sidumised saavadlist_kinds()jaerror_kind(). Dokumenteeritud failisdocs/ARCHITECTURE.md. - Päris GPS konstellatsioon + töökeskkonna ümbriku katvus.
scenarios/orbit-sgp4-gps.tomltarnib nüüd päris Celestrakigps-opshetktõmmise (2021-07-28, 30 satelliiti) sünteetiliste Walkeri TLE-de asemel lipugastrict_checksum = true, nii et see laaditakse ainult siis, kui iga TLE kontrollsumma on kehtiv;scripts/fetch_tles.shdokumenteerib reprodutseeritava värskenduse ja README tunnustab avaandmete allikat. Uustests/scenario_coverage.rskäitab iga paketti ≥5 ümbrikuvariandiga, kinnitades lõpliku/piiratud väljundi, kinnitab, et flicker-FM põhi halvendab mõõdetavalt kella väljajooksu, kui see on lubatud (nüüd seatud kolmes tarnitud stsenaariumis), ja kinnitab, et liitmisfilter koondub realistliku nullist erineva kiirendusmõõturi nihkega (kuni 3× nullitud nihkega juhtumist), sulgedes realismilõhe „fusion only works with zeroed biases“.docs/VALIDATION.mdsaab töökeskkonna ümbriku tabeli. - Mõõtmisruumi GNSS simulatsioon (stsenaariumi liik
gnss-sim). Pseudovahemaa taseme otsemudel: iga nähtava satelliidi kohta sünteesib seeρ = geometric range + c·δt_rx − c·δt_sv + I + T + noise + multipathja L1 Doppleri, Klobucharri ühesagedusliku ionosfääri (IS-GPS-200 §20.3.3.5.2.5) ja Saastamoineni zeniidi troposfääriga, mida projitseerib Nielli (1996) kujutusfunktsioon — esitatud TOML plokkidena[iono]ja[tropo]. Jäägid toidavad hetktõmmise RAIM-i epohhikohase HPL/VPL jaoks ning JSON-massiivgnss_measurements[]kannab iga SV pseudovahemaad, Dopplerit, C/N₀ ja iono/tropo parandeid. Nullmüraga käitus taastoodab geomeetria + parandid alammillimeetri täpsusega (CI test). Uuedsrc/gnss_sim.rsjascenarios/gnss-sim-raim.toml. - Stohhastiline ajaspuufimise detektor (stsenaariumi liik
spoof). Spuufimispakett käitab nüüd päris detektorit deterministliku kalde-vs-piiri võrdluse asemel: neli süstimiskuju (linear_ramp,step_jump,meaconing,replay), kahepoolne χ²₁ energia / Neyman–Pearsoni test kellaabilise seirestatistiku peal lävega, mis on seatud sihtvalehäire eelarvesttarget_pfa, ning tuvastamata jäänud sündmuse tõenäosusP_mdesitatud nii suletud kujul kui Monte Carlo abil (mc_runskatset hüpoteesi kohta — need kaks langevad kokku mõne ×1/√N täpsusega). Turbe kvaliteedinäitaja on nüüd1 − P_mdoperatiivselt kahjuliku (spets) suuruse juures. Uussrc/detection.rs(Gaussi sabafunktsioonid, NP/energia test, Monte Carlo P_fa/P_md) jascenarios/spoof-meaconing.toml. Tagurpidi ühilduv: paljas[attack] rate_ns_per_son endiselt aktsepteeritud lineaarse rambina.
Muudetud#
- Turbe kvaliteedinäitaja definitsioon (stsenaariumi liik
spoof): analüütilisest tuvastatavuse piirist1 − min_detectable/thresholdstohhastilise detektori1 − P_md-ni. Kellapaketi välisecurityjääb kiiremaks analüütiliseks asendajaks.
Lisatud (jätk)#
- RF segamismudel (stsenaariumi liik
jamming). Lingieelarve häiremudel, mis muudab segaja võimsuse ja geomeetria satelliidikohaseks lukustuse kaoks: segaja-signaali suhe vaba ruumi levikaost ja suunakohasest vastuvõtuantenni võimendusest, efektiivne C/N₀ standardse häiretevastase võrrandi kaudu (hajutuse kaotamise töötlusvõit × spektrierotustegurQ; Kaplan & Hegarty §9,4) ja seadistatav jälgimislävi, hinnatud Walkeri konstellatsioonil kui kvaliteedinäitajaavailability_under_jamming. Uuedsrc/jamming.rsjascenarios/jamming-demo.toml. Aus ulatus (mitmeteelevi, maastiku varjutuse, AGC ega adaptiivse nullimiseta) on dokumenteeritud failidesdocs/CAPABILITY.md/docs/VALIDATION.md. - Üldine N-D parameetri pühkimine mis tahes stsenaariumi liigi üle (
sweep-nd). Eelmine N-D pühkimine oli ainult kellapaketile.sweep-ndvarieerib stsenaariumi[base]punktiga eraldatud TOML võtmeid oma telgede Descartes'i korrutise üle, edastab iga ruudustiku sõlme uuesti tavalise käitusraja kaudu ja loeb tulemusest punktiga eraldatud JSON-tee järgi ühe või mitu mõõdikut — nii et see töötab iga paketi (inertsiaal, gnss-ins, terviklikkus, spuufimine, …) jaoks ilma iga paketi Rust-tüübiga sidumata. Ruudustiku sõlmi hinnatakse natiivsetel sihtidel paralleelselt üle OS-i lõimede (lisasõltuvust pole); wasm langeb tagasi järjestikusele. Deterministlik ja ridade kaupa sõltumata lõimede arvust. Uus näidescenarios/sweep-nd-inertial.toml. - TOML-iga seadistatav deterministlik IMU veamudel paketis
gnss-ins. Kolmetelgne strapdown-veaahel (skaalategur, nihe joondusest, g-tundlikkus, kvantimine, kiiruse rampp; IEEE Std 952-1997 §A.2, Groves 2013 §4,3) on nüüd anduri kohta kättesaadav stsenaariumifailist valikulise ploki[imu_*.error_model]kaudu, kihina konstantsete sisselülitusnihkete peal. Ploki väljajätmine jätab iga anduri puhta konstantse nihke allikaks, nii et olemasolevadgnss-inskäitused on muutumatud. See ühendab varem ainult teegis olnud veamudeli käivitatavasse paketti ja kvaliteedinäitajasse.
0.10.0 - 2026-06-04#
Muudetud#
- Päris andmetega valideerimine. Mitme-GNSS RINEX navigatsiooniparserit, GLONASS RK4 propageerijat ja SP3 lugejat harjutatakse nüüd päris IGS/DLR failidega (päris RINEX 3 segatud edastatav nav fail ja IGS SP3-c orbiiditoode), mitte ainult ise kirjutatud näidistega — kinnitades mittetühje satelliidikomplekte ning lõplikke, füüsikaliselt mõistliku suurusega ECEF asendeid. Testandmed on ainult testiks (avaldatud crate'ist välja jäetud); vt
tests/fixtures/igs/NOTICE. - RAIM päris etalonorbiidi geomeetrial. Hetktõmmise, lahenduse eraldamise (MHSS) ja ARAIM kaitsetaseme tuumad on nüüd valideeritud päris IGS täppisorbiidi (SP3) geomeetria vastu, mitte ainult sünteetiliste konstellatsioonidega: vaatejoone geomeetria ehitatakse esimesest SP3 epohhist päris maajaamas ja testid kinnitavad meetritasemel, APV-I-kättesaadavaid kaitsetasemeid, et 60 m pseudovahemaa nihe käivitab χ² seire, et lahenduse eraldamine tuvastab tõrkunud satelliidi ning et ARAIM-i tasemed täidavad eraldatud
P_HMI. Sulgeb ainult sünteetilisel geomeetrial valideeritud lünga (vastuvõtjaruumi gLAB pariteet üle täieliku RINEX kaare jääb teekaardi punktiks — see vajab pseudovahemaa lahendit).
Lisatud#
- Sõlmekohased usaldusvahemikud N-D parameetri pühkimisele (
sweep::nd_sweep_ensemble). Iga N-mõõtmelise Descartes'i korrutise pühkimise ruudustiku sõlme saab nüüd hinnata algväärtuste (seed) Monte Carlo ansamblina, esitades mõõdiku keskmise, protsentiilid ja protsentiili-bootstrap 95 % CI sõlme kohta (mõlema kella jaoks) — statistiliselt aus pühkimine, mitte üks väljavõte sõlme kohta. Taaskasutab ansambli/bootstrap'i masinavärki (metric_stat); deterministlik;runs = 1taandub täpselt ühe algväärtusegand_sweep. (Pühkimise üldistamine kõigile pakettidele, põimituna tüpiseeritud Scenario ümberkorraldusega, ja paralleelne täitmine jäävad tegemata.) - IMU-müra töövoo ristvalideerimine NaveGo vastu (
tests/navego_imu_crossval.rs). Väline ristkontroll NaveGo (R. Gonzalezi avatud lähtekoodiga INS/GNSS-tööriistakomplekt) vastu: reprodutseeritakse failinavego_example_allan.msünteetiline edasi-tagasi tsükkel selle avaldatud Microstrain 3DM-GX3-35 etalonprofiilil ning kinnitatakse, et meie kattuva ADEV hinnang taastab NaveGo kiiruse ja nurga juhusliku liikumise koefitsiendid (ADEV(1 s) = σ·√dt) alla 5% täpsusega ning eeldatava valge müra tõusuga −1/2. (Salvestatud 40 MB STIM300.mat-logi ei loeta sisse: see on blokeeritud binaarvormingu tõttu.) - Tihedalt seotud (pseudovahemaa) GNSS/INS-i uuendus.
GnssInsEkf::update_tightly_coupled(ja ümbrisClosedLoopInsGnss::fuse_tightly_coupled) realiseerivad varem tühjalt jäetud vahemaa-ruumi mõõtmise: innovatsioon on INS-i asukohast igasse satelliiti arvutatud ennustatud vahemaa võrreldes mõõdetud pseudovahemaaga, kusjuures vaatejoone Jacobi maatriks on asukohavea suhtes. Kuna iga satelliit on skalaarne mõõtmine, jätkab filter korrigeerimist ka vähem kui nelja satelliidiga, kus lõdvalt seotud PVT-lahendit ei eksisteeri. Viis testi katavad nelja satelliidi nullimist, kahe satelliidi korrektsiooni (PVT pole võimalik), ühe satelliidi jälgitavust piki vaatejoont ja sisendi valideerimist. Ainult pseudovahemaa; kandelaine faas ja selgesõnaline vastuvõtja kella olek jäävad teekaardile. Kasutamata cargo-funktsioontight_coupling(mis blokeeris vana veatühja) on eemaldatud. - Lõdvalt seotud GNSS/INS-i stsenaariumipakett (
kind = "gnss-ins",src/fusion/pack.rs). Ühendab kolmeteljelise strapdown-navigaatori ja 15-olekulise veaoleku EKF-i (closed_loop/gnss_ins_ekf) käivitatavaks stsenaariumiks, millel on kvaliteedinäitaja: EKF distsiplineerib mehhaniseerimist müraste GNSS-lahendite vastu, kuni katvus on olemas, seejärel libiseb läbi katkestuse, asendades vana 1-DOF skalaarpaketi tõe külge sundimise lähtestamise tõelise liitmisega. Tulemus esitab liidetud horisontaalvea rea, hinnatud asukoha kvaliteedinäitaja (kättesaadavus / katkestuse RMS / holdover) ning võrdluseks lahtise ahelaga vaba INS-i RMS-i; kvant- ja klassikalise IMU paar erinevad ainult tõelise nihke poolest. Käivitatakse CLI-st, Pythonist või wasm-i sisenemispunktist koos näitegascenarios/gnss-ins.toml. Aus raamistus: ainult lõdvalt seotud, üks deterministlik trajektoor ning liidetud katkestusvea alumise piiri seab üleandmise asendivea (seega ei väideta, et see skaleeruks nihkega); töökindlad järeldused on, et liitmine ületab abita dead-reckoning’u nihkega sensori puhul ning et väiksema nihkega sensoril on parem abita libisemine. - Konstellatsiooni kavandamine valideeritud SGP4 tuumal (
src/walker.rs). Uus moodulwalkerväljastab kavandatud Walker-delta mustri (i: T/P/F) SGP4 keskmiste elementidena, nii et sünteetiline konstellatsioon levib sama SGP4 teekonda mööda, mis on valideeritud 4,12 mm täpsusega AIAA 2006-6753 vektorite vastu, mitte analüütilise Kepleri generaatori kaudu. Selle peal:pdop_sweeptabuleerib katvuse ning mediaanse/halvima PDOP-i{planes × sats × inclination}kavandi ruudustiku kohta jacoverage_revisitannab katvuse osa ja uuesti läbimise vahed (halvim/keskmine) maapealses punktis. Valideeritud füüsikaliste monotoonsustega, mida kompromissanalüüs peab järgima (rohkem satelliite ⇒ suurem katvus, madalam PDOP, lühem uuesti läbimine). Eraldi lisatakse ehtne Celestrakigps-opsTLE hetktõmmis (2021-07-28, 30 töötavat GPS-satelliiti) ainult testides kasutatava testandmestikuna ning selle vastu valideeritakse reaalse TLE → SGP4 → ECEF geomeetria teekond (kogu MEO kest 1% piires, üheksa satelliidi samaaegne nähtavus PDOP-iga 1,64), lisaks olemasolevatele reaalandmete SP3 ja RINEX teekondadele. - Müratüübispetsiifilised efektiivsed vabadusastmed Alani usaldusvahemike jaoks.
allan::edf_overlapping_adevrealiseerib NIST SP 1065 tabeli 5 kinnised valemid (Stable32 lihtne komplekt) kõigi viie kanoonilise astmeseadusliku mürategundi jaoks: valge/flicker-PM, valge/flicker-FM ja juhusliku käimise FM. See asendab konservatiivse mittekattuva arvu χ² vabadusastmetena. Uus loendusPowerLawNoisejaclassify_power_lawtuvastavad domineeriva tüübi kirje modifitseeritud Alani hälbe tõusust (MDEV eristab valget PM-i flicker-PM-ist seal, kus ADEV seda ei suuda), ningoverlapping_adev_curvelisab nüüd igale eksporditud ADEV kõvera punktile tuvastatud mürategundi, selle edf-i ja 95% usaldusvahemiku (AdevPointsaab väljadnoise/edf/ci_lo/ci_hi, lisanduvad serde vaikeväärtustega). Valideeritud kahel viisil: viis valemit ühtivad käsitsi arvutatud väärtustega 1e-12 täpsusega ning 4 000 kirjega Monte Carlo valge-FM ansambel kinnitab, et valem ennustab hinnangu tegelikku hii-ruut edf-i 20% piires (ja et see on konservatiivsest arvust oluliselt parem). Kaheksa uut testi. - Kahesuunalise aja edastamise stohhastiline mudel.
timetransfer::TwoWayLinkasendab ainult valget müra andva valimi füüsikaliselt põhjendatud mudeliga: vastastikune (ühisrežiimi) teekonnaviivitus tühistub hinnangus(m_AB - m_BA)/2(two_way_offset_estimate, nii et kaks sõltumatut ühesuunalist mõõtmist keskmistuvad väärtuseks1/sqrt(2)) ja jääk on mittevastastikune diferentsiaalviivitus, mida modelleeritakse värvilise valge-FM + juhusliku käimise FM protsessina (valideeritudClockModel), andes sünkroniseerimisvea reale realistliku Alani signatuuri (sigma_y^2(tau) = q_rw*tau/3) lameda valge müra asemel.LinkCfgsaab väljadq_wf_s/q_rw_s(serde vaikeväärtus 0 ⇒ varasem ainult valge käitumine, bitthaaval samane), lingi kvaliteedinäitaja annabadev_tau0(mudeli Alani hälve baassammul) ning stsenaarium ja CLItimetransferteevad selle nähtavaks. Kuldse kvaliteedinäitaja väärtus on uuesti fikseeritud. Kuus käsitsi tuletatud testi (ühisrežiimi tühistumine, kahesuunalise mõõtmise sqrt(2) võit, RWFMtau/3seadus lingi endastep()kaudu, varasema käitumisega samaväärsus väärtuselq=0, determinism ja kvaliteedinäitaja lõpust lõpuni nähtavus). - Stable32 arvuline vastavus Alani perekonna hinnangute jaoks (NBS14).
tests/allan_reference.rsvalideerib kattuva ADEV, modifitseeritud ADEV, ajahälbe ja kattuva Hadamardi hinnangud Stable32 etalonhälvete vastu kanoonilisel NBS14 andmestikul (W. J. Riley, Handbook of Frequency Stability Analysis, NIST SP 1065, ~lk 107) väärtustel tau = 1, 2 suhtelise tolerantsiga 1e-4 — tegelik ühtivus ~1e-6. See kinnitab hinnangute matemaatika de facto etalonrealisatsiooni vastu, mitte ainult hinnangute enda analüütilise sisemise kooskõla vastu. Kasutatakse ainult avalikke etalonarve; kolmanda osapoole koodi ei kasutata. - Vertikaalne Stanfordi terviklikkuse diagramm, mida ekspordib stsenaarium
integrity. Käivitatav stsenaariumi liikintegrityekspordib nüüd vertikaalse Stanfordi(-ESA) diagrammi HPL/VPL kättesaadavuskaardi kõrval: igal kaitstud epohhil kujutatakse algväärtusega reprodutseeritav veatu vahemaaveavalim geomeetria kaudu tegelikuks vertikaalseks asukohaveaks ja klassifitseeritakse VPL-i ning vertikaalse häireläve suhtes (Available / System-Unavailable / Misleading / Hazardously-Misleading). Diagramm (epohhipõhised punktid + piirkondade arvud) kantakse tulemuse JSON-i ning terviklikkuse sündmuste / HMI arvud CLI kokkuvõttesse, nii et Stanfordi klassifikaator, mis oli varem ainult teegis, on kättesaadav lõpust lõpuni.IntegrityScenariosaab väljaseed(vaikimisi 0), mis juhib vea realisatsiooni; kättesaadavuskaart ise jääb puhtalt geomeetriapõhiseks ja algväärtusest sõltumatuks. - ARAIM-i terviklikkusriski (P_HMI) eelarve kaitsetasemete jaoks.
raim::araim_raimtuletab horisontaalsed ja vertikaalsed kaitsetasemed selgesõnalisest terviklikkusriski eelarvest, mitte fikseeritud kordajastK_md: kõigi satelliitide nähtavuse lahenduse ja iga ühe satelliidi välistamise alamlahenduse jaoks koostab see igal teljel režiimipõhise(prior, detection threshold, σ)ningaraim_protection_levellahendab väikseima PL-i, mille ohtlikult eksitava informatsiooni tõenäosuste summa (araim_integrity_risk,P_HMI = Σ_k p_fault,k · Q((PL − T_k)/σ_k), Blanch jt Baseline ARAIM) vastab eraldatudP_HMIväärtusele. Tulemus annab terviklikkusriski, mille tasemed tegelikult saavutavad, nii et kasutaja saab terviklikkust ja häireläve selgesõnaliselt vahetada. Kuus käsitsi tuletatud testi (veatu ja läviga üherežiimi kinnised valemid, mitmerežiimiline summeerimine/monotoonsus, lõpust lõpuni veatu kaitse, kus 10⁵× kitsam eelarve tõstab PL-i, vea tuvastamine/identifitseerimine ja kuue satelliidi liiasuse alampiir). Üksikvea MHSS on ARAIM-i baasjoon; üheaegsed mitme SV-alamhulga vead, kogu konstellatsiooni vearežiim ja gLAB etalonandmestikuga valideerimine on dokumenteeritud laiendused. - Kahekiiruseline coning/sculling kompensatsioon strapdown-mehhaniseerimisele.
inertial::mechanization::coning_sculling_compensatevoldib kõrgsageduslikud coning (asend) ja pöörlemine+sculling (kiirus) liikmed välja jämeda uuenduse järjestatud alamintervalli IMU juurdekasvudest, nii et mõõduka sagedusegaNavState::step_incrementstaastoodab vibratsioonist rektifitseeritud liikumise, mille toorsummadel põhinev jäme samm kaotab. Valideerimistest ajab 10 Hz coning+sculling keskkonda 60 s ning võrdleb peenisagedusega tõde, naiivset jämedat integreerimist ja volditud jämedat integreerimist: voltimine vähendab asukohaviga ~18× (meetrites naiivne libisemine → alla detsimeetri), kinnitades, et coning/sculling liikmed on kandvad. TüübialiasScalarErrorBudgetnimetab varasema 1-DOFAccelModelselleks, mis see on, eristatuna kolmeteljelisest navigaatoristNavState. - RINEX-vaatlusfaili parser. Uus moodul
rinex_obsloeb RINEX 3.0x / 4,00 vaatlusfaili — vastuvõtja tegelikke mõõtmisi — ning täidab RINEX-i paari olemasoleva navigatsioonisõnumi parseri kõrval.parse_obsdekodeerib päise (versioon/tüüp, süsteemipõhisedSYS / # / OBS TYPESloendid jätkuridadega, ligikaudne asukoht, intervall, esimese vaatluse aeg) ja iga epohhi satelliidipõhised kirjed: pseudovahemaa, kandelaine faas, Doppler ja signaali tugevus, tunnustatud nende RINEX 3 vaatluskoodidega (C1C,L1C, …) ning sideme kaotuse (LLI) ja signaalitugevuse (SSI) lippudega; tühi väli säilitatakse puuduvana, mitte nullina. Aus ulatus: see on standardvormingu sissevõtt (tegelik RTKLIB/gLAB/IGS-jaama vaatluslogi sisse, tüübitud mõõtmised välja), mitte positsioneerimismootor — siin pole pseudovahemaa lahendust, PPP-d ega RTK-d. - CCSDS OEM (Orbit Ephemeris Message) kirjutaja. Uus moodul
oemekspordib levitatud konstellatsiooni kehtiva CCSDS 502.0-B OEM 2,0 sõnumina — KVN efemeriidivorming, mida GMAT, Orekit, STK ja enamik lennudünaamika tööriistu sisse loeb.OemFile::from_propagatorsvalib iga satelliidi inertsiaalse (TEME) oleku — asukoha ja kiiruse, otse levitajast ilma Maaga seotud pöördeta, erinevalt SP3 ekspordist — ajaruudustikule ningOemFile::to_oem_stringserialiseerib päiseCCSDS_OEM_VERS/CREATION_DATE/ORIGINATORpluss üheMETA_START … META_STOPlõigu satelliidi kohta (OBJECT_NAME/OBJECT_ID/CENTER_NAME/REF_FRAME = TEME/TIME_SYSTEM = GPS/START_TIME/STOP_TIME), millele järgnevad selleepoch X Y Z X_DOT Y_DOT Z_DOTread (km, km/s). VäljaCREATION_DATEannab kutsuja, mitte seinakell, nii et väljund on käivituste vahel baitideni identne (reprodutseeritavuse leping). See on GNSS SP3 ekspordi kosmoseaparaadi efemeriidi vaste: Kshana orbiidi saab nüüd standardvormingus lennudünaamika tööriistale üle anda. - SP3 täppisefemeriid levituse allikana.
Sp3File::interpolatorehitab satelliidipõhiseSp3Interpolator, mis täidab tabuleeritud SP3 epohhide vahelise asukoha 9. astme Lagrange’i polünoomiga (standardne IGS-i praktika) ja pöörab selle ühisesse TEME tugisüsteemi; see on kättesaadav kuiPropagator::Sp3Precise. IGS-i / analüüsikeskuse täppisorbiidifail saab nüüd juhtida sama geomeetria/nähtavuse/terviklikkuse töövoogu mis leviedastatud ja analüütilised levitajad. Valideeritud edasi-tagasi tsükkel: SP3-sse kirjutatud ja interpolaatori kaudu uuesti loetud Kepleri orbiit ühtib algsega sõlmedes meetri murdosa täpsusega ja < 100 m intervalli keskel. Kella interpoleerimine on järgmine. - GLONASS leviedastatud efemeriid (täiendab multi-GNSS RINEX nav-i). Uus moodul
glonass: GLONASS ei edasta Kepleri elemente, vaid PZ-90 Maaga seotud olekuvektorit (asukoht, kiirus, Kuu-Päikese kiirendus).parse_glonass_navloeb RINEX 3Rkirjeid ning satelliidi asukoht mis tahes ajahetkel saadakse GLONASS ICD liikumisvõrrandite 4. järku Runge–Kutta integreerimisega (tsentraalne gravitatsioon +J2+ Maa pöörlemise Coriolise/tsentrifugaalliikmed + leviedastatud kiirendus). Kättesaadav kuiPropagator::Glonass, nii et GLONASS-i satelliidid liiguvad konstellatsiooni/nähtavuse/terviklikkuse töövoos koos Kepleri süsteemidega; üksrinexkonstellatsiooniplokk võib nüüd segada GPS-i, Galileot, QZSS-i, BeiDoud ja GLONASS-i. - Multi-GNSS RINEX navigatsioon (GPS, Galileo, QZSS, BeiDou). RINEX 3 navigatsiooni parser dekodeerib nüüd Galileo (
E), QZSS-i (J) ja BeiDou (C, MEO/IGSO) kirjeid GPS-i (G) kõrval — neil on ühine Kepleri paigutus ja kasutaja algoritm — kusjuures igaüht hinnatakse oma gravitatsioonikonstandi ja Maa pöörlemiskiirusega (Galileo/BeiDou μ, BeiDou Ω̇ₑ). Segakonstellatsiooni fail annab neid kõiki, mis liiguvad konstellatsiooni/nähtavuse/terviklikkuse töövoos kuiPropagator::Rinex. BeiDou geostatsionaarsed satelliidid kasutavad teistsugust koordinaatide pööret ning jäetakse vahele, kuni on olemas etalonandmestik, mille vastu valideerida. Kirjete läbijalutaja kasutab süsteemipõhiseid reaarve, parandades varjatud vea, kus neljarealisi GLONASS-i/SBAS-i kirjeid jäeti vahele, nagu oleksid need kaheksarealised. GLONASS (olekuvektori mudel) on järgmine. - SP3-c/d täppisefemeriidi lugeja ja kirjutaja. Uus moodul
sp3parsib IGS-i/analüüsikeskuse SP3 täppisorbiidifaile (parse_sp3) — järeltöödeldud ECEF asukoha/kella toodet, mida PPP mootorid (Ginan, RTKLIB, gLAB) käsitlevad etalonina — struktureeritudSp3Filekujule (päis, epohhiruudustik, satelliidipõhine asukoht km→m, kell µs ja kiirus dm/s→m/sVtoodete puhul), säilitades SP3 vigaste väärtuste markerid. Vastupidine suund on samuti kaetud:Sp3File::from_propagatorsehitab SP3 levitatud konstellatsioonist (TEME→ECEF epohhi kohta) jato_sp3_stringserialiseerib selle, nii et Kshana orbiite saab eksportida vormingus, mida välised PPP tööriistad sisse loevad — lugemise↔kirjutamise edasi-tagasi tsükkel. Epohhide interpoleerimine ja SP3 levitaja allikas on järgmised. - RINEX leviedastatud efemeriid käivitatava konstellatsiooni allikana. Konstellatsioon aktsepteerib nüüd lisaks olemasolevale valikule
tleka sisseehitatud plokkirinex(RINEX 3 GPS navigatsiooniteksti), nii et tegelik leviedastatud fail juhib stsenaariumi lõpust lõpuni CLI-st, Pythonist või brauserisisesest mänguväljakust — RINEX sisse, PNT geomeetria välja. Uusscenarios/orbit-rinex.tomldemonstreerib GNSS-i kättesaadavust ja DOP-i kaheksa GPS-satelliidiga, mis on ehitatud otse leviedastatud kirjetest. (Ainult GPS LNAV; multi-GNSS ja SP3 on järgmised.) - RINEX leviedastatud efemeriid levituse allikana. Parsitud
RinexEphemeristeisendub nüüd väärtuseksorbit::Propagator(Propagator::Rinex): asukoht on IS-GPS-200 leviedastatud orbiit, mis on ECEF-ist pööratud ühisesse TEME inertsiaalsesse tugisüsteemi (sv_position_teme, lisasekundi suhtes õige GPS→UT1 ajaga), kiirus tsentraalse lõppdiferentsiga ning Kepleri orbiidiperiood. Tegelikud GPS leviedastatud andmed saavad nüüd juhtida sama geomeetria, nähtavuse ja terviklikkuse (RAIM) töövoogu mis analüütilised SGP4/Kepleri levitajad. (Pole veel kättesaadav RINEX-faili stsenaariumi liigina — see ning multi-GNSS/SP3 on järgmised.)
0.9.2 - 2026-06-03#
Lisatud#
- Arhiivi DOI. Väljalasked deponeeritakse nüüd Zenodosse ja neile omistatakse tsiteeritav DOI.
0.9.1 - 2026-06-03#
Muudetud#
- Dokumentatsioon. README on ajakohastatud institutsionaalsele tasemele: kogu v0.9.0 pinu võimekuste ülevaade, jaotis Versioonihaldus ja väljalasked, puhas päis uue märgiga ning lühike olekurida. Mootori muudatusi pole.
0.9.0 - 2026-06-03#
See väljalase lisab 0.8.0 SGP4 aluse peale kolm olulist võimekuse valdkonda: tõeline kolmeteljeline strapdown INS, lõdvalt seotud GNSS/INS veaoleku EKF suletud ahela tagasisidega, tõeline hetktõmmise ja lahenduste eraldamise (ARAIM-laadne) RAIM koos HPL/VPL-iga ja käivitatav stsenaarium integrity, ning GNSS-vormingute koostalitusvõime esimene samm (RINEX-3 GPS efemeriidi sissevõtt).
Lisatud#
- RINEX 3 GPS navigatsioonisõnumi parser (
src/rinex.rs). Esimene samm GNSS-vormingute koostalitusvõime suunas:parse_navloeb RINEX 3.x navigatsioonifaili ja dekodeerib iga GPS (G) leviedastatud efemeriidi kirje — kaheksarealise SV/epohhi +BROADCAST ORBITploki — Kepleri elementide ja kella paranduste kirjeksRinexEphemeris, väljanimede ja ühikutega IS-GPS-200 järgi. Käsitleb FortraniD-eksponendiga ujukomavormingut (parse_d) ja fikseeritud laiusega veeru paigutust; mitte-GPS süsteemide kirjed jäetakse vahele, mitte ei lükata tagasi, nii et segafail annab siiski oma GPS efemeriidid. Neli testi:D-eksponendi parsimine (sh tühikud ja vead), täielik kirje dekodeeritud teadaolevate väljaväärtuste vastu GPS poolsuurtelje terviklikkuskontrolliga (√A² ≈ 26 560 km), mitte-GPS kirjete vahelejätmine ja tühja faili juhtum. - GPS leviedastatud efemeriid → ECEF asukoht (
src/rinex.rs).RinexEphemeris::sv_position_ecef(t_tow)hindab satelliidi Maaga seotud asukohta parsitud efemeriidist IS-GPS-200 §20.3.3.4.3.1 kasutaja algoritmi järgi: Kepleri võrrandi Newtoni lahendus ekstsentrilise anomaalia jaoks, teise harmoonilise laiuskraadi argumendi / raadiuse / kaldenurga parandused ning pööre ECEF-i, arvestades Maa pöörlemist alates etalonepohhist (spetsifikatsiooni nõutava GPSμjaΩ̇ₑning nädalavahetusetkvoltimisega). Kolm testi: geotsentriline raadius jääb GPS vahemikku (≈ 26 560 km), Maaga seotud kiirus on ~3,9 km/s ja terve nädala kaugusel hindamine annab sama asukoha. - GPS SV kella nihe relativistliku paranduse arvestamisega (
src/rinex.rs).RinexEphemeris::sv_clock_bias_s(t_tow)hindab leviedastatud kellapolünoomiaf0 + af1·Δt + af2·Δt²ümber punktiTocpluss relativistliku ekstsentrilisuse liikmeF·e·√A·sin Ek(IS-GPS-200 §20.3.3.3.3.1). UusEpochUtc::gps_time_of_weekteisendab kirje kalendriepohhi GPS-i nädala ajaks Juliuse päeva aritmeetikaga alates GPS-i epohhist (1980-01-06) ning Kepleri lahendus jagatakse asukoha hindamisega. Testid: GPS-i nädala aeg pühapäeva/teisipäeva/laupäeva jaoks (nädalapiirid) ning kella nihe, kus domineerib af0, olemasoleva piiratud relativistliku liikmega. L1 grupiviivitustTGDkuvatakse, kuid seda tahtlikult sisse ei arvestata. Aus ulatus: allikasPropagator, Galileo/BeiDou/GLONASS ja SP3 jäävad järgmisteks sammudeks. (docs/CAPABILITY.mdon vastavalt uuendatud.) - Kasutaja käivitatav stsenaariumi liik
integrity(scenarios/integrity-raim.toml). RAIM-i kättesaadavuse võimekus on nüüd CLI-st/TOML-ist kättesaadav nagu iga teine pakett:kind = "integrity"parsib kirjeIntegrityScenario(kasutaja orbiit, üks või mitu GNSS-i konstellatsiooni, kõrgusmask ja terviklikkuse seadistus(sigma, P_fa, P_md, AL_H, AL_V)), käivitabconstellation_raim_availabilityning väljastab epohhipõhise HPL/VPL kättesaadavuskaardi JSON-ina pluss isemajandava SVG — kaitsetasemed ajas häireläviede suhtes, rohelise/punase kättesaadavusribaga.kshana scenarios/integrity-raim.tomlkirjutab JSON-i, diagrammi ja HTML-aruande. Kaasasolev stsenaarium (24 satelliidi Walker, 1 m kahesageduslik kaugusmõõtmine, APV-I piirid) annab kättesaadavuseks ~95 %; see dokumenteerib, et ühesageduslik RAIM ei täida ühe konstellatsiooni puhul vertikaalset APV-I piiri, mistõttu vertikaalseks juhtimiseks kasutatakse SBAS-i/kahesageduslikku/ARAIM-i. Testid katavad suunamise, kättesaadavuskaardi JSON-i ja SVG. - Käivitatav RAIM-i kättesaadavus konstellatsiooni kohta (
src/raim.rs). Terviklikkuse moodulil polnud kutsujat —constellation_raim_availabilityteeb sellest tõelise lõpust lõpuni sisenemispunkti: igal ajaruudustiku epohhil levitab see nähtavad satelliidid (samade SGP4/KepleriPropagator-idega, mida mootor kasutab), arvutab veatud kaitsetasemed ja hindab kättesaadavust horisontaalsete/vertikaalsete häireläviede suhtes, tagastadesserde-ga serialiseeritavaRaimAvailabilityReport(epohhipõhinen_visible/HPL/VPL/availablepluss kättesaadavuse osa).RaimConfigkoondab(sigma, P_fa, P_md, AL_H, AL_V)ning epohhipõhineraim_availability_epochon kättesaadav kutsujatele, kes lahendavad oma geomeetria ise. Kolm testi: epohh, mis on APV-I piiride all kümne satelliidi geomeetrial kättesaadav, muudetud kättesaamatuks võimatult range piiriga, ning tasemedNonealla viie satelliidi; ja lõpust lõpuni käitus 24 satelliidi Walker-konstellatsioonil, mis annab lõpliku kättesaadavuskaardi ja serialiseerub. (Kuus satelliiti — jääk-RAIM-i liiasuse alampiir — ei täida ausalt mitte APV-I-d isegi 1 m kaugusmõõtmise puhul; APV-I kättesaadavus vajab tihedamat geomeetriat, mida test kasutab.) - Stanfordi(-ESA) terviklikkuse diagrammi akumulaator (
src/raim.rs). Standardne viis terviklikkuse monitori kokkuvõtmiseks paljude epohhide peale: see kujutab tegelikku asukohaviga (x) kaitsetaseme (y) vastu ja klassifitseerib iga epohhi diagonaaliy = xja häireläve järgi väärtuseksAvailable(PL piirab viga, AL piires),SystemUnavailable(PL piirab viga, kuid ületab AL-i — ohutu, kasutamatu),MisleadingInformation(PL < viga ≤ AL) võiHazardouslyMisleadingInformation(PL < viga ja viga > AL — ohtlik rike).classify_stanfordon puhas klassifikaator;StanfordDiagramakumuleerib(error, PL)punkte fikseeritud häireläve vastu, kuvades piirkondade arvud, kättesaadavuse, terviklikkuse sündmuste summad jaserde-ga serialiseeritavad punktid joonistamiseks/JSON-i eksportimiseks. Neli testi: iga piirkond (sherror == PLpiiratud piir), arvu/kättesaadavuse akumuleerimine ja JSON-i edasi-tagasi tsükkel. See on RAIM-i kaitsetasemete aruandlusliides; selle ühendamine konstellatsiooni stsenaariumiga ja avaliku andmestiku vastu valideerimine jäävad teekaardi punktideks. - Lahenduste eraldamise (ARAIM-laadne) RAIM (
src/raim.rs). Mitme hüpoteesiga terviklikkuse monitor olemasoleva jäägi/pariteedi hii-ruutsnapshot_raimkõrval. Kõigi satelliitide nähtavuse vähimruutude lahenduse ja iga ühe satelliidi välistamise alamlahenduse jaoks moodustab see eralduseΔ_k = x_k − x₀— nullkeskmise Gaussi jaotusega vea puudumisel kovariatsioonigaCov(x_k) − Cov(x₀)(pesastatud hinnangute samasus, kehtib, kuna kõigi satelliitide nähtavuse lahendus on BLUE) — ning seega nii tuvastab vea kui ka identifitseerib vigase satelliidi (selle, mille välistamine annab suurima normaliseeritud eralduse). Horisontaalsed/vertikaalsed kaitsetasemed järgivad standardset MHSS-i eraldustPL = max(K_md·σ₀, max_k[K_fa·σ_ss,k + K_md·σ_k]), kusK_fa = Φ⁻¹(1−P_fa/2),K_md = Φ⁻¹(1−P_md). Uued sõltuvustetanormal_cdf/normal_quantile, mis on ehitatud mooduli olemasolevale regulariseeritud mittetäielikule gammafunktsioonile (erf(x) = P(½,x²)). Neli käsitsi tuletatud testi: normaaljaotuse CDF / kvantiil õpikuväärtuste vastu (Φ(1,95996)=0,975, 1e-7 saba = 5,1993, sümmeetria); veatu geomeetria, mis ei anna häiret ja annab lõpliku positiivse HPL/VPL-i; 60-σ üksiku satelliidi nihe, mis tuvastatakse ja identifitseeritakse õigesti (excluded_sv == 2); ning kuue satelliidi liiasuse alampiir. Sulgeb auditi lünga „tautoloogiline terviklikkus — pole tõelist RAIM/HPL/VPL-i“ (P0) algoritmi poolel; gLAB-andmestikuga valideerimine ja Stanfordi diagrammi akumulaator jäävad teekaardi punktideks. - Suletud ahelaga GNSS/INS integreerimine (
src/fusion/closed_loop.rs).ClosedLoopInsGnssühendab veaoleku EKF tuuma kolmeteljelise strapdown-mehhaniseerimisega: iga IMU valim korrigeeritakse jooksvate nihkehinnangutega, mehhaniseeritakse edasi ja EKF kovariatsioon propageeritakse ajas sobiva navigatsioonikontekstiga; iga GNSS asukoha/kiiruse lahend moodustab INS−GNSS innovatsiooni ning annab hinnatud asukoha, kiiruse, asendivea (ψ, kvaternioonpöördena) ja kiirendusmõõturi/güroskoobi nihked tagasi lahendusse, lähtestades veaoleku keskmise. Asendi tagasiside (mitte ainult nihked) on stabiilsuse jaoks vajalik — kalle ja kiirendusmõõturi nihe on seotud paar, nii et ühe korrigeerimine ilma teiseta hajub. INS-i ja GNSS-i võrreldakse kohalikus puutujatasandi NED tugisüsteemis, kasutades mehhaniseerimise enda kõverusraadiusi (uusmechanization::radii_of_curvature;NavState::omega_ie_n/omega_en_non kättesaadavad). See on aus asendus hübriidpaketi tõe külge sundimise lähtestamisele. Kolm testi: suletud ahel, mis nullib sisestatud 8 m / −5 m asukohavea väärtuseni <0,1 m; abistatud lahendus, mis püsib meetrites piiratuna (<6 m) sõidutrajektooril, samal ajal kui vabalt jooksev INS hajub üle 100 m; ning verstapostietalon — liidetud lahenduse Monte Carlo asukoha RMS 60 s GNSS-i katkestuse jooksul ületab abita lahtise ahelaga dead-reckoning’u rohkem kui 2× (≈4× algväärtuste lõikes). Mooduli dokumenteeritud aus piirang: lõdvalt seotud režiimis on kiirendusmõõturi nihe ja kalle vaid nõrgalt eraldatavad (mõlemad seotud gravitatsiooni kaudu), nii et pakutav väärtus on piiratud, korrigeeritud olek ja puhas katkestusse sisenemine, mitte täpne inertsiaalne kalibreerimine; rikkam dünaamika ja tihedalt seotud laiendus jäävad teekaardi punktideks. - Lõdvalt seotud GNSS/INS veaoleku EKF tuum (
src/fusion/gnss_ins_ekf.rs). 15-olekuline veaoleku laiendatud Kalmani filter —δx = [δp, δv, ψ, b_a, b_g]— strapdown-vea dünaamikaga Grovesi 2013 §14,2 järgi (erijõu/kalde sidestus, Coriolis, keha→nav nihke projektsioon, Gaussi–Markovi nihkemudelid), esimest järku diskreetse üleminekugaΦ = I + F·dtning lõdvalt seotud asukoha+kiiruse mõõtmisuuendusega (H = [I₃ 0 0 0 0; 0 I₃ 0 0 0]) Joepi kujul. Sõltuvusteta tihe lineaaralgebra (Gaussi–Jordani pöördmaatriks, Joepi kovariatsiooniuuendus). Cargo-funktsioontight_couplingblokeerib dokumenteeritud, kuid veel realiseerimata pseudovahemaa/Doppleri uuenduse. 7 testi käsitsi tuletatud eeldustega: kaldsümmeetria/ristkorrutise samasus, kontrollitud 3×3 pöördmaatriks, kovariatsioon püsib ennustamisel sümmeetrilise/PSD-na (ja abita asukohamääramatus kasvab), asukohalahend vähendab asukoha kovariatsiooni, teadaoleva asukohavea täpne taastamine analüütilise Kalmani võimenduseP/(P+R)korral ning väiksemad korrektsioonid suurema mõõtmismüra korral. See on tuum, mis asendab hübriidpaketi lahtise ahelaga tõe külge sundimise lähtestamise suletud ahelaga tagasisidega (paketi ühendamine + NaveGo valideerimine järgnevad). - Deterministlik IMU veamudel 3-teljelisele strapdown-navigaatorile (
src/inertial/imu_errors.rs).ImuErrorModelmoonutab tõelise keharaami paari(ω, f)mõõdetuks viie süstemaatilise kategooria kaudu (IEEE Std 952-1997 §A.2; Groves 2013 §4,3, tabel 4,1): skaalategur (teljepõhine ppm võimenduse viga), nihkeviga / ristsidestus (triaadi mitteortogonaalsus väljaspool diagonaali), g-tundlikkus (erijõuga võrdeline güroskoobi kiirusnihe), kvantimine (ümardamine väljundi LSB-le) ja kiirusrambi (ajas lineaarne triiv — kolmas Alani piirkond), pluss konstantne sisselülitusnihe. Iga liige on vaikimisi null, mistõttuImuErrorModel::ideal()on läbipaistev läbilase ja olemasolevaid stsenaariume see ei mõjuta. Igal veaallikal on isoleeriv test (skaala lineaarne täpsusega <0,01%, ristteljeline nihe üle VRW põhja, g-tundlikkuse nihe, LSB ruudustik, lineaarne ramp) ning lõpust lõpuni test juhib moonutatud IMU-st mehhaniseerimise kaudu navigatsiooniviga. Modelleerimata: vibratsiooni rektifikatsiooniviga, temperatuurigradiendi triiv. (Kaasasolev stsenaariumipakettinertialkäitab endiselt varasemat 1-DOF skalaareelarvet; see mudel toidab 3-teljelist teeki.) - Coning ja sculling kompensatsioon strapdown-integraatorile. Asenditee lisab kahe valimi
coning_increment(½ Δθ_prev × Δθ_cur); 30 Hz jämesagedusega (5 valimit tsükli kohta) 5 Hz coning-keskkonna integreerimise kohta on kontrollitud, et see jälgib peenisagedusega tõde korrektsiooniga ≥ 3× paremini kui naiivne juurdekasvude summeerimine. Kiiruse tee lisabsculling_increment(½ Δθ × Δv, Groves valem 5,82) ja lahendab keha kiiruse juurdekasvu uue juurdekasvupõhise uuenduseNavState::step_incrementskaudu, kasutades kehasuhtelist pööretΔθ_rel = Δθ_b − C_n^b ζ, nii et Maaga seotud platvormil ei teki valesculling’ut, samal ajal kui tõeline vibratsioon käivitab täieliku liikme. - Täielik kolmeteljeline strapdown-mehhaniseerimine NED tugisüsteemis (
src/inertial/mechanization.rs).NavState { q, v_ned, p_llh }edastatakse sammugastep(gyro_b, accel_f_b, dt)standardsete maapealse tugisüsteemi NED võrranditega (Groves §5,4): keha→NED asend korrigeeritud inertsiaal-nav kiiruseω_in = ω_ie + ω_en(Maa pöörlemine + transpordikiirus) järgi; erijõud lahendatud keha→NED DCM-i kaudu; kiirus integreeribv̇ = f_n − (2 ω_ie + ω_en) × v + g_n(Coriolis/transport + gravitatsioon); ning geodeetiline asukoht meridiaani/põikisuunalise kõverusraadiuse kaudu. Gravitatsioon on WGS-84 kinnine Somigliana normaalgravitatsioon (loodi gravitatsioon) NIMA vaba õhu kõrgusparandusega — mitte kunagi kõvakodeeritud konstant. See on tõeline kolmeteljeline navigaator, mis asendab 1-DOF skalaarse veaeelarve tee. Kontrollitud füüsikaliste invariantidega: pöörlevale Maale kinnitatud platvorm 45°N juures (tajub Maa pöörlemiskiirust + 1 g) püsib 60 s jooksul 1 mm piires; horisontaalne põhja suunatud erijõud annabv_N ≈ a·tja½ a t²nihke; normaalgravitatsioon ühtib teadaolevate ekvaatori/pooluse/45° pinnaväärtustega ja vaba õhu langusmääraga. - Kolmeteljeline asendiesitus strapdown INS-ile (
src/inertial/attitude.rs). ÜhikkvaternioonitüüpQuaternion(skalaar ees, Hamiltoni konventsioon), mis kannab keha→nav pööret, DCM-vaatega (to_dcm/from_dcmShepperdi meetodil), Hamiltoni korrutise, telje-nurga ja pöördevektori (täpne eksponentkaart) konstruktoritega ning kvaternioonkinemaatikaga — nii esimest järku RK kiiruse uuendus (q̇ = ½ q ⊗ ω) kui ka coning-korrigeeritud pöördevektori uuendus. Kahe valimiconing_increment(Savage / Bryan–Lewantowski,½ Δθ_prev × Δθ_cur) annab pöörlemiskiiruse ristsidestuse liikme, mille skalaarne dead-reckoning välja jätab. See on asendi alus täielikule 3-teljelisele mehhaniseerimisele, mis asendab varasema 1-DOF veaeelarve tee. Kontrollitud kinniste pööretega: konstantse kiirusega levik ühtib telje-nurga kvaternioniga 1e-6 täpsusega, DCM-id on ortonormeeritud ühikdeterminandiga ja coning kaob ühe telje liikumise korral. (src/inertial.rson nüüd mooduli kataloogsrc/inertial/; avalik teecrate::inertialon muutmata.) - Geodeetiliselt korrektne maajaama nähtavus (
src/frames.rs).elevation,is_visiblejavisible_countarvutavad satelliidi kõrguse maajaama silmapiiri kohal WGS-84 ellipsoidi normaali (tõelise kohaliku vertikaali) suhtes, mitte geotsentrilise radiaali suhtes — need erinevad kuni ~0,19° geodeetilise kõrvalekalde võrra, mis on piisav, et lülitada silmapiiri lähedased satelliidid kõrgusmaski sisse või välja. Kontrollitud lõpust lõpuni (Walker-konstellatsioon levitatud, pööratud TEME→ECEF ja loetud geodeetiliselt jaamast) ning geotsentrilise lähenduse vastu.
Muudetud#
- CI töökindlus. Töö
test-python-bindingsehitab nüüd wheeli abilPyO3/maturin-action(manylinuxi konteiner) toore hostimaturin buildasemel, kõrvaldades vahelduvarustfmt-preview/cargo-fmtrustupi konflikti jooksutuspildil. Töödenypaigaldabcargo-denyeelehitatud binaarfailina abiltaiki-e/install-actionDockeril põhinevacargo-deny-actionasemel, eemaldades Docker Hubi registrist tõmbamise ajalõpu. Kumbki muudatus ei mõjuta tehtavaid kontrolle.
0.8.0 - 2026-06-02#
Lisatud#
Inertsiaalne kiirus on allavoolu kättesaadav.
Propagator::velocity_ecijaPropagator::state_eci(tagastavadStateEci { r_m, v_m_s }) toovad analüütilise TEME kiiruse, mille SGP4 juba arvutab — varem kõrvale visatud — kutsujateni m/s-des;Orbit::velocity_eciannab Kepleri teele ühtse kiiruse. AIAA 2006-6753 kontrolltest kontrollib nüüd kiirust ka iga etalonrea puhul (halvim kiiruse viga 1.85e-9 km/s kõigi 666 oleku üle) ja fikseerib võrreldud ridade arvuks täpselt 666.Rangem, paanikavaba TLE parsimine. Read peavad olema ASCII ja neid lõigatakse ohutult (enam pole baidiindeksi paanikaid mitmebaidise sisendi korral); elemendid kontrollitakse vahemiku suhtes (kaldenurk, ekstsentrilisus, keskmine liikumine); veeru 69 kontrollsummat saab jõustada kaudu
ParseOpts { strict_checksum }/parse_propagators_optsja uue lipugastrict_checksumväljalConstellationCfg(vaikimisi leebe).Alani hälbe kõver väljundis. Iga kellajooks annab nüüd välja
adev_curve([{tau_s, adev, n_samples}]) ning brauseri mänguväljak joonistab log-log diagrammi „Kella stabiilsus (ADEV)“.Ajaruudustiku sisendi valideerimine.
TimeCfg::validatelükkab tagasi mittelõpliku, nulli, negatiivse või liiga suure ajaruudustiku (sammu, mis on kestusest suurem, või rohkem kuiMAX_TIME_STEPSvalimit) enne mis tahes mälu eraldamist, nii et väära kujuga stsenaarium tagastab vea, mitte ei põhjusta paanikat ega ammenda mälu.Monte Carlo ansamblid inertsiaalpaketile.
runs = Ninertsiaalstsenaariumil käivitab N algväärtust ja annab iga mõõdiku keskmise, standardhälbe, protsentiilid ning protsentiili-alglaadimisega 95% usaldusvahemiku (ensemble). Iga inertsiaalkäitus kannab nüüd lippumonte_carlo, nii et ühe realisatsiooni kvaliteedinäitajat ei peeta enam ekslikult jaotuseks. (CEP/2DRMS-i ei esitata tahtlikult — need nõuavad teekaardil olevat 3-telgset mudelit.)Juhitud mänguväljaku režiim. Brauseri mänguväljak ei viska enam toorele TOML-i seinale: „Alusta siit“ riba ühe klõpsuga stsenaariumikaartidega laadib ja käivitab läbitöötatud näite, liugurid avavad universaalsed seaded (algväärtus, ajastuse lävi) TOML-i puutumata, märkus „Kuidas seda lugeda“ selgitab tulemust ning täielik TOML on ühe kokkuvolditava jaotise taga. Iga käitust saab jagada — Kopeeri jagamislink kodeerib kogu stsenaariumi URL-i fragmenti (midagi ei laadita üles), nii et link taastoodab täpselt sama käituse laadimisel. Koodek on ühiktestitud (
web/share.test.mjs, käivitatakse CI-s).N-mõõtmelised parameetrite pühkimised (
src/sweep.rs).nd_sweephindab mõõdikut mitmeSweepAxisvahemiku täielikul Descartes’i korrutisel (mitme parameetriga kompromissuuring) reapõhises järjekorras, deterministlikult. Lisanduv — olemasolev 1-D pühkimise API on muutmata. Sõlmepõhised alglaadimisega usaldusvahemikud ja üldistamine väljaspool kellapaketti jäävad teekaardile.Tõeline hetktõmmise RAIM (
src/raim.rs). Ehtne asukohadomeeni vastuvõtja autonoomne terviklikkuse seire: see ehitab vaatejoone geomeetria nähtavate satelliitideni, moodustab vähimruutude lahenduse ja jäägid, käitab χ² jääkide vea tuvastamise testi (täpne lävi sõltuvusteta mittetäielikust gammafunktsioonist χ²/mittetsentraalsest χ²-st) ning arvutab tõusupõhised horisontaalsed ja vertikaalsed kaitsetasemed (HPL/VPL) seadistatud P_fa/P_md jaoks tuletatud tuvastamata jäänud sündmuse nihkega. See erineb stsenaariumi töövoo filtri sisemise kooskõla terviklikkuse näitajast ja ei ole sellega veel ühendatud; vea välistamine, häireläve/P_HMI eelarvestamine ja ARAIM jäävad teekaardile.Sageduse stabiilsuse komplekt: MDEV, TDEV, HDEV + usaldusvahemikud (
src/allan.rs). Kattuva ADEV kõrval: modifitseeritud Alani hälve (eristab valget faasimüra flicker-müra omast), ajahälve (TDEV = tau/sqrt(3) * MDEV) ja Hadamardi hälve (tõrjub lineaarse sageduse triivi täpselt välja ja koondub lahknevate punase müra tüüpide korral). χ²-põhised usaldusvahemikud (deviation_ci) kasutavad sõltuvusteta normaal-/χ²-kvantiilide paari (Acklam + Wilson-Hilferty) konservatiivse mittekattuva edf-iga; mürategundispetsiifiline edf ja Stable32 arvuline vastavus jäävad teekaardile.Tugisüsteemi taandamine (
src/frames.rs). GMST-põhine TEME↔ECEF pööre (sama IAU-1982 tähtajaga nagu levitaja), täpne WGS-84 geodeetiline↔ECEF Bowringi algväärtustatud iteratiivse pöördteisendusega (masinatäpne kõigil kõrgustel, sh MEO/GEO) ning geodeetiline maajaama vaatleja, mis tagastab asimuudi / kõrguse / vahemaa kohalikus Ida-Põhja-Üles tugisüsteemis. Poolusliikumist ja kaaresekundi-alust nutatsiooni ei rakendata (ainult GMST, alla kilomeetri maapinnajäljel); ITRF-täpne CIO ahel on teekaardil.Ajaskaalade alus (
src/timescales.rs). Sõltuvusteta Juliuse kuupäeva API (Gregoriuse tsiviil ↔ JD, MJD), täielik IERS-i täisarvuliste lisasekundite ajalugu (UTC↔TAI, 10 s aastal 1972 kuni 37 s alates 2017), defineeritud TAI→TT nihe, UT1 parandus antud DUT1 kaudu ja IAU-2000 Maa pöörlemisnurk. See on ajaline alus, mille peal Maaga seotud tugisüsteemi taandamine (kavandatud) seisab. Ajahetked on ühe-f64Juliuse kuupäevad (~50 µs eraldusvõime praeguse epohhi lähedal; kaheosaline JD on teekaardil) ning enne 1972. aastat kehtinud kummisekundi ajajärku ei modelleerita — mõlemad on moodulis dokumenteeritud.Reprodutseeritavus ja päritolu. Deterministlik CycloneDX SBOM-generaator (
scripts/gen-sbom.sh) ning SLSA ehituspäritolu atesteering väljalaskebinaarile ja SBOM-ile; väljalaske tööriistaahel on CI-ga kooskõlas fikseeritud. Determinismi garantiid, platvormideülenelibmhoiatus ja kuldfikseerimise lähenemine on dokumenteeritud failisdocs/REPRODUCIBILITY.md.Omadustepõhised ja fuzz-testid (
tests/property.rs). Deterministlikud juhuslikustatud testid (uut sõltuvust pole) kinnitavad invariante tuhandete sisendite üle: TLE ja stsenaariumi parserid ei tekita kunagi paanikat prügi, mitte-ASCII, mutatsiooniga ega kärbitud sisendi korral;TimeCfg::validateei tekita kunagi paanikat NaN/inf/negatiivsete ruudustike korral; TLE kontrollsumma on kooskõlas ja puudutab ainult veergu 69; geodeetiline↔ECEF edasi-tagasi tsüklid ning TEME→ECEF pööre säilitavad normi kogu maakera ulatuses ja laias kõrgusvahemikus.
Muudetud#
- Kuldtestid fikseerivad nüüd kvaliteedinäitajad väli-välja haaval nelja etalonstsenaariumi jaoks (tolerantsiga, mis neelab platvormideülese
libmkõikumise), asendades varasemad ainult võrratustel põhinevad kontrollid, nii et vaikne arvuline regressioon tabatakse kohe kinni. - Tulemusartefaktides olev
schema_versiontõsteti väärtuselt0.1väärtusele0.7(see oli külmutatud, samal ajal kui mootor arenes edasi). cargo-denykeelab nüüd (mitte ei hoiata) tagasi tõmmatud (yanked) sõltuvusi.- Uued dokumendid:
CAPABILITY.md(aus ulatuse kaart),SCHEMA.md(tulemusväljade teatmik),INTEGRITY.md,QUANTUM-MODELS.md,REAL_TLE_GUIDE.md. CI kaitse annab vea, kui README versioonimärk ei ühti failigaCargo.toml.
0.7.0 - 2026-06-02#
Lisatud#
- SGP4/SDP4 orbiidi levitamine. Standardse lihtsustatud häiringute levitaja täielik sõltuvusteta realisatsioon — Maa-lähedane SGP4 koos kaugkosmose SDP4 laiendusega (Kuu-Päikese sekulaarsed ja perioodilised häiringud ning 12 h / 24 h geopotentsiaali resonants). See on valideeritud ametlike AIAA 2006-6753 („Revisiting Spacetrack Report #3“) kontrollvektorite vastu: kõik 666 etalonolekut Maa-lähedastel, kaugkosmose-, resonants- ja veakoodijuhtudel ühtivad halvima asukohavea korral umbes 4 mm täpsusega. See on mudel, mille vastu kahe rea elemendikomplektid on defineeritud, seega esindab see reaalseid konstellatsioone — eelkõige ~12 h GNSS-orbiite, mis on kaugkosmose- ja resonantsed ning mida varasem kahe keha + J2 sekulaarne mudel ei suuda tabada.
- Konstellatsiooni, mis on antud täielike kahe rea elemendikomplektidena (rida 1 + rida 2), levitatakse nüüd SGP4/SDP4-ga; konstellatsioon, mis on antud ainult rea 2 elementidena, säilitab analüütilise Kepleri kahe keha levituse muutmata kujul. Neid kahte vormi saab ühes plokis segada. Uus etalonstsenaarium
orbit-sgp4-gps.toml(GPS-laadne MEO konstellatsioon reaalses kahe rea vormingus, levitatud SGP4-ga) — pane sisse praegune Celestraki „gps-ops“ komplekt, et uurida töötavat konstellatsiooni.
0.6.0 - 2026-06-02#
Lisatud#
- Aktiivse spuufimisrünnaku demonstraator. Uus stsenaariumi liik
spoofsüstib kasvava vale aja spuufimise ja käivitab iga kella kellaabistatud terviklikkuse monitori, teatades, kas ja millal spuufimine tuvastatakse ning kas see jõuab töönõudeni tuvastamata — muutes Turvalisuse kvaliteedinäitaja konkreetseks ründe/kaitse demonstratsiooniks. Uus etalonstsenaariumspoof-attack.toml. - Mitme konstellatsiooni kättesaadavus. Orbiidistsenaarium võib ühendada mitu konstellatsiooni (loend
[[constellations]]esmase[constellation]kõrval) multi-GNSS kättesaadavuse ja täpsuse halvenemise teguri jaoks — nt GPS pluss Galileo. Uus etalonstsenaariumorbit-multignss.toml.
0.5.0 - 2026-06-02#
Lisatud#
- HTML tulemuskaardi aruanne. Iga käitus loob nüüd ka isemajandava, kaubamärgiga HTML tulemuskaardi — ühe rea kokkuvõtte, diagrammi (manustatud inertse data-URI pildina) ja täieliku JSON-i — mille CLI kirjutab JSON-i ja SVG kõrvale. Jagatav ühefaililine artefakt uuringu väljundiks või lisaks.
- Ühine sensorliitmise hindaja. Uus stsenaariumi liik
fusionkäitab ühte rekursiivset Kalmani filtrit navigatsioonilahendusena — liites kella oleku[phase, frequency]ja asukoha oleku[position, velocity], mida distsiplineerib GNSS (õppides sageduse nihke ja kiiruse) ning mida katkestuse ajal abistab optiline aja edastamine — sõltumatute ennustajate komponeerimise asemel. See annab liidetud ajastuse/asukoha holdover’i ja ühise kovariatsiooni terviklikkuse. Uus etalonstsenaariumfusion-pnt.toml. - Täielikum IMU müramudel. Kiirendusmõõtur modelleerib nüüd allesjäänud Alani dispersiooni liikmed lisaks konstantsele nihkele ja kiiruse juhuslikule käimisele: nihke ebastabiilsus (1/f flicker-põhi standardse Alani nihke ebastabiilsuse koefitsiendi juures, taaskasutades kella flicker-sünteesi) ja kiirenduse juhuslik käimine. Uued valikulised inertsiaalstsenaariumi väljad
bias_instabilityjaq_aa; GNSS-i uus lahend kalibreerib jääknihke triivi uuesti. - Reaalne konstellatsiooni geomeetria TLE-dest. Konstellatsiooni saab anda kahe rea elemendikomplektide plokina (standardne NORAD/Celestraki vorming) välja
tlekaudu, nii et kättesaadavus ja täpsuse halvenemise tegur kasutavad reaalse konstellatsiooni avaldatud geomeetriat sünteetilise Walkeri mustri asemel. Mootor loeb iga TLE keskmised Kepleri elemendid ja levitab neid kahe keha mudelina — mitte SGP4-ga — mis on põhjendatud ühisest epohhist lähtuva hetktõmmise uuringu jaoks. Uus etalonstsenaariumorbit-real-tle.toml.
0.4.0 - 2026-06-02#
Lisatud#
- Kompromissuuringu parameetrite pühkimised. Uus stsenaariumi liik
sweepvarieerib ühte parameetrit (threshold_ns,duration_s,quantum_q_wfvõiclassical_q_wf) lineaarses või logaritmilises vahemikus ja salvestab valitud kvaliteedinäitaja igas punktis mõlema kella jaoks, andes võrdlusdiagrammi „kuidas holdover skaleerub kella stabiilsusega?“, mida disainikompromiss vajab. Uus etalonstsenaariumsweep-clock-stability.toml. - Monte Carlo usaldusribad. Kella holdover’i stsenaarium võib käitada palju realisatsioone (uus valikuline väli
runs): iga kvaliteedinäitaja esitatakse siis keskmisena 5.–95. protsentiili hajuvusega ning diagramm varjutab iga kella mediaani ümber 5–95% veaümbriku. Ühekordne käitus jääb vaikeväärtuseks. Uus etalonstsenaariumclock-ensemble.toml. - Ekstsentrilised orbiidid ja J2 triiv. Orbiiditüüp on nüüd täielik Kepleri orbiit (poolsuurtelg, ekstsentrilisus, kaldenurk, RAAN, perigee argument, keskmine anomaalia), mida levitatakse Kepleri võrrandi lahendamisega, valikulise sekulaarse J2 sõlme regressiooni ja apsiidide pretsessiooniga. Uued valikulised stsenaariumi väljad
eccentricity,argp_degjaj2ning etalonstsenaariumorbit-molniya.toml(12 h väga ekstsentriline kriitilise kaldega kasutaja). Ringorbiidid säilitavad algse kinnise valemi tee bitthaaval. - Hübriid- (kombineeritud PNT) pakett annab nüüd Terviklikkuse ja Turvalisuse, nii et kõik neli paketti katavad täieliku töönäitajate kvaliteedinäitajate komplekti. Terviklikkus on ajastuskanali kaitsepiiri sisaldumine Kalmani hindajast, mis on distsiplineeritud tõe külge, kuni GNSS on nominaalne, ja uuesti ankurdatud (lõdvemalt) iga optilise uuesti sünkroniseerimise juures; selle piir sisaldab lingi mõõtmismüra põhja, nii et kella, mis on lingist palju parem, hinnatakse edastatud lahenduse tegeliku müra suhtes. Turvalisus on kellaabistatud spuufimise tuvastamise skoor ajastusnõude suhtes.
Muudetud#
- Väljalasketeated genereeritakse nüüd sildi kureeritud CHANGELOG-i jaotisest (
scripts/changelog-extract.sh), nii et iga GitHubi väljalase toob esile muudatused toorete commitide loetlemise asemel.
0.3.0 - 2026-06-02#
Lisatud#
- Turvalisuse kvaliteedinäitaja (varem täitmata): kellaabistatud spuufimise tuvastamise skoor kella holdover’i ja orbiidipakettide jaoks. See modelleerib terviklikkuse monitori, mis kontrollib GNSS-ist tuletatud aega vastu kella enda libistatud ennustust koherentse akna jooksul; tuvastamise põhi ühendab keskmistatud mõõtmismüra kella libisemise määramatusega, nii et vaiksem kell tuvastab väiksemaid ja aeglasemaid aja spuufimisi. Skoor esitatakse vahemikus
[0, 1]ajastusnõude suhtes, täites kuus töönäitajate kvaliteedinäitajat. - Geomeetriast tuletatud asukohatäpsus orbiidipaketile: nähtavate satelliitide vaatejoone geomeetriast moodustab see disainimaatriksi ja selle kovariatsioonitegur
Q = (HᵀH)⁻¹, andes täpsuse halvenemise tegurid (GDOP/PDOP/HDOP/VDOP/TDOP). Asukohatäpsus on asukoha DOP, skaleeritud seadistatava kasutaja-ekvivalentse vahemaa veaga (uus valikuline stsenaariumi välisigma_uere_m). Orbiiditulemus kannab nüüd geomeetria kokkuvõtet (lahendiga valimite osa, parim ja mediaanne PDOP ning asukoha sigma). - Brauserisisene mänguväljak (
web/), mis käitab mootorit kliendi poolel WebAssemblyna: vali etalonstsenaarium või redigeeri TOML-i, käivita see ning vaata kokkuvõtet, diagrammi ja täielikku JSON-i, ilma et midagi üles laaditaks. Töövoogpagesehitab ja avaldab selle GitHub Pagesis ning uus WebAssembly eksportsummarytoetab näitu. - Sildistatud y-teljed SVG diagrammidel: ruudustikujooned, numbrilised jaotusmärgised ja ühikute telje pealkiri (jagatud abifunktsiooni
chartkaudu), nii et suurusjärgud on loetavad. - Paketi avaldamise töövoog (
publish) crates.io, PyPI ja npm jaoks, kõik blokeeritud oma registri tokeni taha ja käivitatud avaldatud väljalaskega.
0.2.0 - 2026-06-02#
Lisatud#
- Flicker (1/f) FM põhi kella veamudelile, sünteesitud logaritmiliselt jaotatud Ornstein-Uhlenbecki protsesside summana ja kalibreeritud nii, et lame Alani hälbe põhi asub seadistatava tasemel. Vaikimisi väljas; lubatakse kella kohta valikulise stsenaariumi välja
flicker_floorkaudu. - Güroskoobi kanal inertsiaalmudelile: jääkgüroskoobi nihe ja nurga juhuslik käimine ajavad asendi (kalde) viga, mis seob gravitatsiooni horisontaalse erijõu veaga — strapdown-vea kasvu domineeriv mehhanism. Vaikimisi väljas; lubatakse sensori kohta valikuliste väljade
gyro_biasjaq_arwkaudu. - Kaheolekuline (faas, sagedus) Kalmani kellahindaja täpse van Loani protsessimüra diskretiseerimisega. Teadaolevast olekust libisemine taastoodab täpselt analüütilise holdover’i vea kasvu (
q_wf*T + q_rw*T^3/3) ning filter annab lisaks veebipõhise 1-sigma määramatuse piiri. - Kellajooks annab nüüd välja Terviklikkuse kvaliteedinäitaja (varem täitmata): katkestuse valimite osa, mille viga jääb filtri 3-sigma kaitsepiiri sisse, esitatud JSON-tulemuses ja CLI kokkuvõttes.
- Geomeetriast tuletatud GNSS-i kättesaadavus: ringorbiidi levitamine, Walker-delta konstellatsiooni generaator ja vaatejoone nähtavus (Maa varjutus pluss kõrgusmask) annavad kättesaadavuse ajajoone tegelikust orbitaalgeomeetriast. Uus stsenaariumi liik
orbitja etalonstsenaariumorbit-gnss-challenged.toml(kosmoseaparaat GNSS-i kesta sees katkendliku katvusega). - Valikuline Pythoni laiendus (PyO3, abi3), mis avab
run,run_fulljaversion, pakitud maturiniga (pyproject.toml) ning ehitatud Linuxile, macOS-ile ja Windowsile väljalaskesildi töövoogawheels. Sidestus on funktsiooniga blokeeritud valikuline sõltuvus: vaikeehitust, teste ja sõltuvusauditi lüüsi see ei mõjuta. - Valikuline WebAssembly moodul (wasm-bindgen), mis avab
run,chart_svgjaversion, ehitatud wasm-packiga funktsiooniwasmall;getrandomon sihtmärgiga blokeeritud, et kasutada platvormilwasm32brauseri entroopiaallikat. - Jagatud
api::run_tomlsuunamine, mida kasutavad CLI ja mõlemad sidestused, nii et käsurida ja sidestused ei saa lahknema hakata.
Muudetud#
- Holdover’i hindamine on nüüd segmenditeadlik: katkestuste ajajooned jagatakse GNSS-i taasomandamise kohtades pidevateks segmentideks ja esitatud holdover on nende halvim (lühim) libisemine. Ühe katkestuse stsenaariumid on muutmata. Kehtib kella-, inertsiaal- ja hübriidhindajatele.
- Inertsiaalmudeli esitatud stsenaariumi
kind-id on nüüdinertial(varemaccelerometer), mis kajastab kombineeritud kiirendusmõõturi ja güroskoobi kanaleid.
0.1.0 - 2026-06-01#
Esimene väljalase.
Lisatud#
- Deterministlik simulatsioonimootor hübriidse kvant/klassikalise PNT jaoks: ühine veamudeli liides, deklaratiivsed GNSS-i kättesaadavuse stsenaariumid, holdover’i / dead-reckoning’u hindajad ja kvaliteedinäitajate hindamine standardsete töönäitajate PNT kriteeriumide vastu. Tulemused on reprodutseeritavad väärtusest
scenario + seed + engine version(versioonitud, ennast kirjeldav JSON stsenaariumi räsiga) ja renderdatud SVG diagrammidena. CLI suunab stsenaariumid stsenaariumikind-id järgi. - Neli sensoripaketti, igaüks kalibreeritud avaldatud andmete järgi ja valideeritud standardse seose vastu:
- Kella holdover — valge FM, juhusliku käimise FM ja lineaarne vananemine; valideeritud kattuva Alani hälbega (Riley, NIST SP 1065). Kiibimõõtmetega aatomkell vs strontsiumi optiline võrekell.
- Inertsiaalne dead-reckoning — jääknihe + kiiruse juhuslik käimine, kahekordselt integreeritud asukohaveaks; valideeritud Grovesi vea kasvu seoste vastu. Külmaatomi- vs navigatsioonitaseme kiirendusmõõtur.
- Aja edastamine — optilise vs raadiosageduslinki ajastuse värin → sünkroniseerimise korduvtäpsus → ühesuunaline kaugusmõõtmine.
- Hübriidliitmine (tippülesanne) — kombineeritud PNT-komplekt, mis peab hoidma nii aega kui ka asukohta, valikulise optilise satelliitidevahelise aja edastamisega kella abistamiseks.
- Üks tsiteeritud etalonstsenaarium paketi kohta kataloogis
scenarios/, iga arvparameeter kannab eelretsenseeritud viidetprovenance. - Reprodutseeritavuse ja hoidla hügieeni kaitsed; CI (vorming, clippy, testid, kaitsed, MSRV) ja sildiga blokeeritud väljalasketoru, mis käitab kõik kontrollid uuesti.
- Dokumentatsioon: README arhitektuuridiagrammidega, valideerimisoleku aruanne, panustamisjuhend, turvapoliitika ja käitumisjuhend; Apache-2.0 litsents; probleemi-/PR-mallid ja Dependabot seadistus.
- Kogu ulatuses tarnijaneutraalne; eelretsenseeritud teaduslikud ja metroloogilised viited on säilitatud.
- Apache-2.0 litsentsi hügieen: SPDX päised kõigis lähtefailides, fail
NOTICEkaubamärgi märkusega, Developer Certificate of Origin (DCO) allkiri panuste jaoks ningcargo-denysõltuvuste litsentside/nõuannete jõustamine CI-s. - Open-core positsioneerimine (README): tasuta Apache-2.0 mootor pluss Ashforde OÜ pakutav kommertstugi, integreerimine ja suletud laiendused — hoitud teenustega, mitte litsentsitasudega.
CITATION.cff, et tarkvara oleks võimalik tsiteerida.