Konekäännös, jota äidinkielinen puhuja ei ole tarkistanut. Viitteenä on englanninkielinen versio.

Validointi ja todisteetMuokkaa GitHubissaLähde: docs/VALIDATION.md

Validoinnin tila

Toleransseista. ”Validoitu” tarkoittaa alla, että kalibrointitesti varmistaa simuloidun tilaston vastaavan viiterelaatiota pakotetun rajan sisällä, joka on tällä hetkellä 20–25 % suhteellinen virhe (siemenkeskiarvoistettu) Allan-/kohinabudjettirelaatioille. Mediaanina havaittu yhtäpitävyys on usein paljon tiukempi (muutama prosentti), mutta taattu raja on raja, ei mediaani. Missä esiintyy luku kuten ”~2 %”, se on tyypillinen havainto, ei pakotettu toleranssi. Katso Väitteet vs. todellisuus.

Ylennyssääntö#

Koneellisesti tarkistetun varmennusmatriisin rivi (src/verification.rs) on VALIDATED vain, kun oraakkeli, joka on riippumaton Kshana-ohjelmistosta, on yhtä mieltä toteutuksen kanssa ennen vertailun ajoa ilmoitetun toleranssin sisällä portissa ajettavassa testissä. Tämä osio on ainoa paikka, jossa sääntö on kirjoitettu auki; matriisi, rivikohtainen proosa ja julkaisutiedotteet noudattavat sitä.

Hyväksytyt oraakkelityypit#

Tyyppi Mikä kelpaa Matriisissa jo olevia esimerkkejä
Mitattu Todellista mitattua dataa suureesta, jota rivi väittää: havainto fyysisestä maailmasta, ei mallin tuloste. Todellisen cesiumkellotallenteen sinetöidyt kaksi kolmasosaa; arkistoidut Kuun laseretäisyysmittauksen normaalipisteet; BIPM:n (International Bureau of Weights and Measures) Circular T UTC(k) -sarja; SRTM:n (Shuttle Radar Topography Mission) maastolaatta.
Kirjasto Riippumaton kolmannen osapuolen kirjasto tai työkalu, joka laskee yksikäsitteisesti määritellyn suureen samoilla syötteillä, kun kirjasto toteuttaa alan laskennan itse. Kirjastojen välinen yhtäpitävyys on aito tarkistus vain siksi, että suureella on yksi oikea vastaus. allantools, Orekit, ANISE, RTKLIB, gnss_lib_py, lamberthub, pymcdm, scikit-learn, SciPy-kirjaston tilastolliset jakaumat.
Hakuteos Julkaistuja viitevektoreita, -taulukoita tai varmennusesimerkkejä: lukuja, jotka standardi, virasto tai viiteteksti painaa, jotta toteutuksia voi verrata niihin. SOFA/ERFA (Standards of Fundamental Astronomy) -vektorit, AIAA:n (American Institute of Aeronautics and Astronautics) SGP4-varmennusvektorit, ITU-R:n (International Telecommunication Union, Radiocommunication Sector) validointiesimerkit, Working Group C:n ARAIM-läpikäyty esimerkki, JPL:n (Jet Propulsion Laboratory) Horizons.

Kaksi muuta standardia ratkaisee rajatapaukset. Molemmat on otettu käyttöön julkaisussa 0,30.

  • P1, julkaistu laskettu arvo. Julkaistu laskettu arvo, joka on laskettu samasta suljetusta muodosta, jonka rivi toteuttaa, lasketaan julkaistuksi viitevektoriksi, kun julkaisu on riippumaton Kshana-ohjelmistosta ja vertailu kiinnittää ilmoitetun toleranssin. Arvon on oltava painettu lukuna julkaisussa (kuvaajasta luettu arvo kelpaa vain, jos lukuepävarmuus on ilmoitetun toleranssin sisällä), ja testin on laskettava se Kshana-ohjelmistolla julkaisun syötteistä; vakion vertaaminen asiakirjaan, josta se kopioitiin, on transkriptiotarkistus, ei P1.
  • P2, riippumaton numeerinen kirjasto. Riippumaton numeerinen kirjasto, kuten numpy tai LAPACK (Linear Algebra PACKage), joka laskee uudelleen yksikäsitteisesti määritellyn lineaarialgebrasuureen ilmoitetuilla syötteillä, lasketaan riippumattomaksi kirjastoksi. Kirjaston on suoritettava hajotelma-, käänteis-, ratkaisu- tai pienimmän neliösumman vaihe omalla algoritmillaan, syötteillä, jotka on tallennettu fikstuurin mukana; validoitu väite on tällöin lineaarialgebra näillä syötteillä, ei edustavan skenaarion fysikaaliset suuruudet. Skripti, joka arvioi skalaarisen suljetun muodon uudelleen numpy-aritmetiikalla, on meidän oman toteutuksemme toinen toteutus, ei P2.

Kaikkiin tyyppeihin sovellettavat ehdot: oraakkelia ei ole kirjoittanut, ajanut tai julkaissut tämä projekti (tämän repositorion oma julkaisusarja ei siis ole siitä riippumaton); toleranssi on testissä ja oli lukittu ennen ensimmäistä vertailua; dataan sidottu testi, joka ohitetaan, kun sen julkinen data puuttuu, kertoo siitä ohittaessaan.

Mikä ei kelpaa#

  • Oma toinen toteutuksemme: toinen koodipolku tässä crate-paketissa (ReferenceImpl) tai tämän repositorion skripti, joka arvioi saman suljetun muodon uudelleen.
  • Yhtäpitävyys oman aiemman tulosteemme kanssa: golden-tiedostot, regressiolukitukset, tilannekuvat tai taulukko tämän projektin omista julkaisuista.
  • Viitteen vakioiden transkriptio: kertoimen, esiasetuksen, datalehden luvun tai parametrilehden tarkistaminen asiakirjaa vasten, josta se kopioitiin.
  • Suunnitteluvalinta: allokaatio, painotus, kynnys, hälytysraja tai edustava skenaario. Valinnalle ei ole ulkoista totuutta.
  • Sisäinen identiteetti: numeerinen integraali omaa analyyttistä muotoaan vasten, edestakainen muunnos, inversio, ominaisuus- tai monotonisuustesti.
  • Integraatioajo oikeaa isäntää vasten (IntegrationRun): liitännäisen lataaminen oikeaan Signal K -palvelimeen tai OpenCPN:ään, tai oikean portin tulosteen syöttäminen TCP-kuluttajalle ja sen tarkistaminen, että isäntä hyväksyy syötteen ja näyttää odotetun tilan. Se osoittaa, että putkisto toimii. Isäntä ei ole oraakkeli millekään arvolle, jota integraatio kuljettaa, joten ei ole mitään ulkoista vertailukohtaa, ja tällainen rivi (meriliikenneintegraatioiden rivi) on MODELLED, ei VALIDATED. Tyyppi IntegrationRun on oma oraakkelityyppinsä, sallittu vain riveillä, joiden taso on MODELLED: testi integration_run_only_on_modelled_rows tiedostossa src/verification.rs epäonnistuu, jos rivillä, jonka taso on VALIDATED, on se, ja validated_rows_require_an_external_oracle vaatii jo, että jokaisen rivin, jonka taso on VALIDATED, tyyppi on ExternalDataset.
  • Uskottavuus todellisilla syötteillä: todellista dataa käytetään vain syötteenä, väittämillä suuruusluokasta eikä vertailulla ulkoiseen arvoon.
  • Toleranssi, joka on valittu vertailun näkemisen jälkeen.

Kuinka sääntöä valvotaan#

Jokainen rivi, jonka taso on VALIDATED, ilmoittaa funktiossa validated_oracle_basis() tiedostossa src/verification.rs, mihin tyyppiin se perustuu (Measured, Library, Reference, P1 tai P2), riippumattoman lähteen (lainattu rivin oman oraakkelitekstin mukaan) ja yhden testin, joka kantaa vertailun. Taulukon vieressä olevat yksikkötestit epäonnistuvat, kun rivi, jonka taso on VALIDATED, on ilmoittamatta tai ilmoitettu kahdesti, kun ilmoitus nimeää rivin, jonka taso ei ole VALIDATED, kun ilmoitettu lähde ei ole se, jonka rivin oma oraakkeliteksti nimeää, tai on Kshana itse, kun ilmoitettu testi ei ole sellainen, jonka rivi siteeraa, tai kun P2-rivi ei nimeä riippumatonta numeerista kirjastoa. Tiedosto tests/verification_rows_declare_an_oracle_basis.rs vaatii sitten, että ilmoitettu testi on olemassa levyllä todellisena testinä (#[test]), jota ei ohiteta. Konetta ei voi tarkistaa sitä, vertaako nimetty testi ilmoitettua lähdettä vasten; se jää ihmisen luettavaksi. Tyyppikohtaisia lukumääriä ei kirjata tähän: taulukko on lähde.

Olemassa olevat rivit, joiden taso on VALIDATED, tarkasteltuna uudelleen säännön alla#

Sääntöä sovellettiin olemassa oleviin riveihin sekä tuleviin ylennyksiin.

  • Validointitutkimuksen 0,30 nimeämät P1-rivit, kukin tuettu: Yhdensuuntainen linkkibudjetti (JPL Pub 82-76 Galileo X-kaistan suunnittelun ohjaustaulukko, koottu uudelleen rivikohdistaan 4.6e-3 dB:n vapaan tilan vaimennukseen asti); Kaistarajoitetut suljetut muodot mille tahansa etäisyysmittaussignaalille (90,3 prosenttia pääkeilatehosta ja julkaistu koherentti early-late-jitter); Matalan Maan kiertoradan navigointisatelliitin suurin Doppler (julkaistut Xona Pulsar X1- ja Iridium-luvut); LEO- tai MEO-radalta staattisen käyttäjän näkemä suurin Doppler (Pulsar-julkaisun taulukko 1, 20 arvoa); Doppler, jota maavastaanottimen on käsiteltävä LEO-navigointisatelliitilta (samat julkaistut luvut lennetyltä radalta). Jokainen julkaisu on riippumaton Kshana-ohjelmistosta, painaa lukunsa, ja testi ilmoittaa toleranssinsa.
  • Uudelleentarkastelussa löydetyt muut P1:een perustuvat rivit, kukin tuettu: Etäisyysmittauskoodin suunnittelukompromissi (julkaistu −23,9 dB:n Gold-ristikorrelaatio); Kuun koordinaattiaika (Ashby ja Patla 2024, jonka Kuun nopeuden ristiintarkistus DE440:aa vasten on kirjastotarkistus); Suljetun muodon L-kaistan signaalin tehospektritiheydet (Kaplanin ja Hegartyn Q-arvot); Ensimmäisen kertaluvun ionosfäärin viive kaistaa kohti (IS-GPS-200:n ryhmäviiveen suhde); Maailmanlaajuisen keskiarvon signal-in-space-etäisyysvirheen painot (Montenbruckin, Steigenbergerin ja Hauschildin 2018 taulukko).
  • Tutkimuksen nimeämät P2-rivit, kukin tuettu: Fisher-informaatio ja Cramér–Rao-havaittavuus (numpy-funktiot eigh/inv); Kuun datumin tunnistettavuus; Kytketty Kuun koordinaatiston ja aikaskaalan gauge; Autonominen vapaan verkon vian havaittavuuden putki (numpy/SciPy SVD, singulaariarvohajotelma). Kukin laskee yksikäsitteisesti määritellyn lineaarialgebrasuureen uudelleen kommitoiduilla syötteillä eri algoritmilla kuin Kshana-ohjelmiston Jacobi-ominaisarvoratkaisija.
  • Uudelleentarkastelussa löydetyt muut P2:een perustuvat rivit, kukin tuettu: MCDA (monikriteeripäätösanalyysi) -prioriteettien johtaminen (AHP, analyyttinen hierarkiaprosessi, ominaisvektori SciPy/LAPACK-kirjastoilla; myös toistettu Random Index -taulukko on transkriptio eikä sitä lasketa); Kellon holdover-ajautumisen varianssi (SciPy-funktio expm Van Loan -laajennetusta matriisista); Kuun koordinaatiston realisointi (numpy SVD Umeyama-ratkaisu); CRPA (hallitun vastaanottokuvion antenni) -keilanmuodostus (LAPACK-kirjaston kompleksiratkaisu); Kuun ARAIM-suojaustasoydin (RTKLIB:n LU-käänteismatriisi SciPy-kvantiileilla); Palveluntarjoajien välinen Kuun koordinaatisto-/dynamiikkajohdonmukaisuus (kolmen julkaistun efemeridin numpy SVD -pienimmän neliösumman sovitus).
  • Ensimmäisellä läpikäynnillä liputettu, uudelleen perusteltu kierroksella 2 ajossa 0,30. Kolme riviä liputettiin kirjoitetun säännön tukemattomina. Kukin perustuu nyt vertailuun, joka ennakkorekisteröitiin ennen fikstuurin hakemista, joten yhtään riviä ei ole liputettu; yksikkötesti kohdan validated_oracle_basis() vieressä lukitsee (nyt tyhjän) luettelon.
    • Eheys (RAIM/ARAIM/SBAS). Siteeratut testit väittivät ennen vain uskottavuutta todellisella IGS:n (International GNSS Service) geometrialla. Rivi perustuu nyt kolmeen kirjasto-oraakkeliin: Airborne Design Document v4.2:n ARAIM-monihypoteesiratkaisuerotus Stanford MAAST -työkalua vasten ARAIM 2 varten (270 todellista tapausta, pahin VPL-ero 2.2e-3 m vs. 0,05 m); snapshot-RAIM:n havaitseminen ja poissulkeminen RTKLIB:n raim_fde vasten (2016 päätöstä, yhteensä 2016, identtistä) kaltevuussuojaustasolla; ja SBAS DO-229E L1 -suojaustasot Stanford MAAST -työkalua vasten todellisilla WAAS-lähetyksillä (2868 paria 1.6e-5 m sisällä). Rivi sanoo suoraan, että tasasigma-funktiot raim::araim_raim ja raim::araim_dual_raim eivät ole ADD:n vaatimusten mukaisia ja että kaksitaajuisen L5 SBAS -vertailun tulos on havainto.
    • Planeettojen sijainnit aurinkokunnassa JPL:n Standishin Kepler-elementeistä. Jälkikäteinen kynnys, kaksinkertainen nimellinen virhe, on korvattu ennakkorekisteröidyllä kynnyksellä: RMS enintään Explanatory Supplement -taulukon 8.10.1 luku planeettaa ja komponenttia kohti, JPL Horizons DE441:tä vasten, Maan jako ja ICRF-kierto mukaan lukien.
    • Valoaika aurinkokunnan kappaleiden välillä. Valoaikaratkaisija verrataan nyt Horizonsin valoaikoihin 1e-6 s sisällä DE441-sijainneilla, ennakkorekisteröity kynnys, joka ei peri sijaintikynnystä.
  • Rivit, joiden taso on MODELLED ja jotka kaksi käytäntöä tekevät ylennettäviksi (vain rivi riviltä etenevän ajon 0,30 kautta, ei koskaan tämän tekstin perusteella): P1:n alla lähettimen TDOA/FDOA (time and frequency difference of arrival) -paikannusraja, relativistinen kellotaajuuden ja koordinaatiston kytkentä, ITU-T:n (Telecommunication Standardization Sector) synkronointimaskit (vain maskiarvoille, jotka suositukset painavat lukuina; itseään vasten tarkistetut transkriboidut taitepisteet eivät lasketa) ja 5G:n ei-maanpäällisen verkon paikannusraja (vain jos julkaistu laskettu luku löytyy); P2:n alla yhteismoodisen eheyden sokeus, skalaarinen MHSS:n (multiple-hypothesis solution separation) ajoituksen suojaustaso ja GLS:n (generalised least squares) valkaisu. Kaksi ajoituseheyden benchmark-riviä (Stanford-eheysdiagrammin luokittelija ja eheyskattavuuden pisteyttäjä) ovat sääntöpohjaista luokittelua, ei lineaarialgebraa, joten P2 ei ulotu niihin; ne tarvitsevat riippumattoman työkalun, ja ainoa löydetty (gLAB) on ei-kaupallisella lisenssillä.
  • Yhdenmukaisuus aiempien hylkäysten kanssa. Laukaisuikkunan rivin Vallado-tarkistus kelpaisi nyt P1:n alla, jos sen testi laskee painetun esimerkin; suunnitelma 0,30 ylentää sen Orekit-kirjaston kautta. Kellolajikohtainen Kuun aikojen ristikkäisyystaulukko pysyy MODELLED: taulukko, jonka se toistaa, on peräisin tämän projektin omasta julkaisusta, joka ei ole riippumaton.
Kohinatermi Tila Todisteet
Allan-estimaattorin pariteetti (ADEV/MDEV/TDEV/OHDEV (ADEV: Allanin poikkeama; MDEV: modifioitu Allanin poikkeama; OHDEV: limittäinen Hadamard-poikkeama)) validated Kaksi ensisijaisen lähteen tarkistusta NIST:n (National Institute of Standards and Technology) SP:tä (Special Publication) 1065 vasten (Riley, Handbook of Frequency Stability Analysis, 2008), molemmat 1e-4 suhteelliseen toleranssiin. (1) tests/allan_reference.rs: limittäinen ADEV, modifioitu ADEV, aikapoikkeama ja limittäiset Hadamard-estimaattorit toistavat poikkeamat kanonisella 10-pisteisellä NBS14-aineistolla (SP 1065 taulukko 29/30, s. 107) arvoilla tau = 1, 2 — yhtäpitävyys on todellisuudessa ~1e-6 (esim. limittäinen ADEV (OADEV) arvolla τ = 2: 85,952868 vs 85,95287). (2) tests/allan_nist_sp1065_1000point.rs: samat neljä estimaattoria toistavat SP 1065 §12,4 1000-pisteisen aineiston (taulukko 31, s. 108) keskiarvotuskertoimilla 1 / 10 / 100, missä aineisto generoidaan koodissa uudelleen SP 1065 LCG:stä (yhtälö 73) — hermeettinen, ei fikstuuria. Sama aineisto ja taulukon 31 luvut ovat regressiotavoite aewallin/allantools-kirjastossa (tests/nbs14), toistettuna tässä ilman kolmannen osapuolen koodia. Tämä lukitsee estimaattorin matematiikan viitettä vasten, erillään alla olevista kohinan kalibrointiriveistä.
Allan-estimaattorin pariteetti todellisella mitatulla laitteistolla validated tests/cs5071a_reference.rs: limittäinen Allan- ja limittäinen Hadamard-estimaattori toistavat Stable32-viitepoikkeamat todelliselle 5071A-cesium-primäärinormaalille, joka on mitattu vetymaseria vasten (556 990 vaihenäytettä arvolla τ₀ = 1 s; 1 PPS (pulssi sekunnissa) 53230A-laskuriin, helmikuu 2014; kerännyt A. Wallin, jaettu paketin allantools mukana). Tarkistettu koko dekadi-τ-tikkaiden yli (16 keskiarvotuskerrointa, τ = 1 s … 4×10⁴ s): hyvin näytteistetyt kertoimet 1e-3 suhteelliseen rajaan (havaittu yhtäpitävyys on todellisuudessa ≤ 3e-5, esim. OADEV(1 s) 3.317111e-10 vs Stable32 3.3171e-10), pitkän τ:n harvat kertoimet vaadittiin osumaan Stable32:n painaman 1‑σ-luottamusvyöhykkeen sisään. Tämä täydentää yllä olevaa synteettistä NBS14-pariteettia mitatun kellon tarkistuksella. Raakavaihetiedosto on kolmannen osapuolen dataa ilman uudelleenjakolisenssiä, joten se on git-ignoroitu; scripts/fetch_cs5071a.sh tuottaa sen ja testi tulostaa ohitusilmoituksen (CI (jatkuva integrointi) pysyy vihreänä), kun se puuttuu. Vain julkiset Stable32-viitenumerot on kommitoitu (tests/fixtures/cs5071a/); kolmannen osapuolen koodia ei käytetä.
Allan-estimaattorin pariteetti kanonisella Stable32 PHASE.DAT -aineistolla validated tests/phasedat_reference.rs: limittäinen Allan-, modifioitu Allan- ja aikapoikkeama-estimaattori toistavat Stable32-viitepoikkeamat aineistolle PHASE.DAT — Stable32:n mukana jaettu 1001-pisteen sarja, jota riippumattomat työkalut (esim. allantools) käyttävät vakioregressiotavoitteenaan — koko keskiarvotuskerroinvalikoiman (139 kerrointa) yli 1e-3 suhteelliseen rajaan (havaittu ≤ 5e-5). Toinen, riippumaton todellinen viitesarja yllä olevan mitatun cesium-tarkistuksen rinnalla. PHASE.DAT toimitetaan kaupallisen Stable32-työkalun mukana, joten raakasarja on git-ignoroitu; scripts/fetch_phasedat.sh tuottaa sen ja testi ohitetaan vihreänä (CI pysyy vihreänä), kun se puuttuu. Vain julkiset Stable32-viitenumerot on kommitoitu (tests/fixtures/phasedat/); kolmannen osapuolen koodia ei käytetä.
Optisen kellon vakaus todellisella mitatulla käyrällä validated tests/optical_clock_adev_reference.rs: kellokohinan parametrien inversio (quantum_trade::qparams_from_adev_curve) toistaa Norcia et al., Science 366:93 (2019) julkaisun ⁸⁸Sr-optisen hilakellon σ_y(τ) (Zenodo 10.5281/zenodo.3382347, CC-BY-4.0 (Creative Commons Attribution 4,0), käyrä toimitettu mukana polussa tests/fixtures/optical_clock_adev/): palautettu valkoisen taajuuden kerroin √q_wf ≈ 4.33e-16 vastaa artikkelin ≈4.7e-16/√τ lyhytaikaista vakautta (~10 % RMS (neliökeskiarvo) käyrän yli) ja sovite havaitsee nollasta poikkeavan mitatun lattian (q_rw > 0). Tämä lukitsee mitatun ADEV:n → kohinaparametrien inversion todellista optista kelloa vasten; sen päälle rakennettu kynnykseen asti kestävän holdoverin hyöty pysyy MODELLED.
Poikkeamien havaitsemisen ROC (vastaanottimen toimintakäyrä) AUC (käyrän alle jäävä pinta-ala) todellisella ESA:n (European Space Agency) OPS-SAT-telemetrialla validated (toistaa merkinnät) tests/opssat_ad_reference.rs: OPSSAT-AD-aineistolla (Ruszczak et al. 2025, Zenodo 10.5281/zenodo.12588359, CC BY 4,0) — todellisia OPS-SATin huoltosegmenttejä totuusarvoisilla poikkeamamerkinnöillä — Kshana-ohjelmiston Mann–Whitney-ROC-AUC (impairment_eval::auc) toistaa scikit-learn-kirjaston funktion roc_auc_score tuloksen < 1e-9 sisällä pidätetyllä testijaolla (529 segmenttiä, 113 poikkeamaa), kahdelle deterministiselle pisteelle: läpinäkyvä yhden piirteen ilmaisin (segmentin huippujen lukumäärä, AUC ≈ 0,851) ja 8 piirteen diagonaalinen Mahalanobis-piste, joka on sovitettu normaaleille harjoitussegmenteille (AUC ≈ 0,556); eval_stats::bootstrap_auc_ci ympäröi pistearvion luottamusvälillä, jonka alaraja ylittää sattuman. Tämä validoi AUC-laskennan todellisella ESA-datalla ja läpinäkyvän ilmaisimen merkityn erottelun — se ei toista OPSSAT-AD-artikkelin parasta julkaistua mittaria (ohjattu FCNN (täysin kytketty neuroverkko), F1 ≈ 0,95), joka vaatii heidän koulutetun mallinsa. CC-BY-data mukana (tests/fixtures/opssat/, hermeettinen); oraakkeli generoitu uudelleen tiedostolla generate_opssat_oracle.py.
Gravitaatiokentän funktionaalien synteesi (gravitaatioavusteinen / GNSS-vapaa (GNSS: maailmanlaajuinen satelliittinavigointijärjestelmä) navigointikartta) validated tests/icgem_gravity_reference.rs: pallofunktiopohjainen gravitaatiofunktionaaliydin (gravity_sh::gravity_magnitude / gravity_disturbance_mgal) — ”kartanlukija”, jota vasten gravitaatioavusteinen navigaattori täsmää — on validoitu GRS80:n (Geodetic Reference System 1980) normaalipainovoimastandardia vasten (Moritz 1980, IAG:n hyväksymä (IAG: International Association of Geodesy)). GRS80-normaalikentän rakentaminen sen julkaistuista parillisista vyöhykeharmonisista J₂…J₈ ja painovoiman (gravitaatio + keskipakoisvoima) synteesi ellipsoidilla toistaa suljetun muodon Somigliana-normaalipainovoiman sekä julkaistut päiväntasaajan/napojen arvot γ_e = 9,7803267715 / γ_p = 9,8321863685 m/s² suhteellisella tarkkuudella 3.5e-12 kaikilla leveysasteilla (raja 1e-9). Sama ydin lataa lippulaivan todellisen ICGEM:n (International Centre for Global Earth Models) Maa-mallin EGM2008 (Earth Gravitational Model 2008) (NGA:n (National Geospatial-Intelligence Agency) julkinen aineisto ICGEM:n kautta; lukijaa (from_gfc) harjoitetaan myös GRAILin (Gravity Recovery and Interior Laboratory) Kuun kentällä tiedostossa tests/agency_lro.rs) ja tuottaa fysikaalisesti rajatun gravitaatiohäiriökartan (RMS ≈ 26 mGal, maks. ≈ 89 mGal asteluvulla/kertaluvulla 70). Validoi synteesikoodin oikeellisuuden; gravitaatioavusteisen navigointiratkaisun tarkkuus pysyy MODELLED (ei julkista gravimetri-alustalla -rataa totuusdatalla).
Kohinatyyppikohtainen edf (luottamusvälit) validated src/allan.rs: kunkin limittäisen ADEV-pisteen χ²-luottamusvyöhyke käyttää kohinatyyppikohtaisia efektiivisiä vapausasteita (NIST SP 1065 taulukon 5 suljetut muodot valkoiselle ja välkyntävaihemodulaatiolle, valkoiselle ja välkyntätaajuusmodulaatiolle sekä satunnaiskävelytaajuusmodulaatiolle (WPM/FPM/WFM/FFM/RWFM) — Stable32:n yksinkertainen joukko), ja tallenteen potenssilakityyppi tunnistetaan sen MDEV-log-log-kulmakertoimesta. Kolme riippumatonta tarkistusta: (a) viisi kaavaa toistavat käsin lasketut arvot kohdissa N=64,m=4 tarkkuudella 1e-12; (b) Monte Carlo -valkoisen FM:n (FM: taajuusmodulaatio) joukko (4 000 tallennetta) mittaa estimaattorin todellisen khiin neliö -edf:n = 2·mean²/Var(σ²) ja täsmää kaavaan 20 %:n sisällä (ja voittaa selvästi konservatiivisen ei-limittäisen lukumäärän); (c) tests/allan_nist_sp1065_1000point.rs toistaa painetun SP 1065 taulukko 32 (s. 109) edf = 146,177 1000-pisteiselle aineistolle arvolla m=10 (valkoinen FM) tarkkuudella 5e-3 ja taulukon 95 %:n luottamusrajat (8.223942e-2 / 1.035201e-1) tarkkuudella <0,2 % (pieni jäännös on Wilson–Hilferty-χ²-approksimaatio vs NIST:n tarkka χ²). Viety ADEV-käyrä sisältää tunnistetun kohinatyypin, edf:n ja 95 %:n vyöhykkeen kullakin τ:lla.
Valkoinen FM (lyhytaikainen) validated tests/calibration.rs: simuloitu limittäinen ADEV toistaa julkaistun sigma_y(1 s) — tyypillisesti muutaman prosentin sisällä, pakotettu raja 20 % (CSAC ja optisen hilan tavoite) — ja valkoisen FM:n käyrän sigma_y(tau)=sigma_y(1s)/sqrt(tau) arvoilla tau = 1, 10, 100 s 25 %:n rajan sisällä (vastaa CSAC:n (sirutason atomikello) datalehden arvoja 3e-10 / 1e-10 / 3e-11).
Satunnaiskävely-FM (pitkäaikainen) validated tests/calibration.rs: simuloitu ADEV vastaa kaavaa sigma_y^2(tau)=q_rw*tau/3 (Riley NIST SP 1065) noin 20 %:n tarkkuudella (siemenkeskiarvoistettu).
Vanheneminen / lineaarinen ajautuminen modeled + kalibroitu pois Deterministinen; holdover-estimaattori poistaa offsetin ja vanhenemisen neliöllisellä ennustajalla, joten jäännös on stokastinen raja. Testattu tiedostoissa src/estimator.rs / src/models.rs.
Kalman-estimaattori + eheysraja validated src/kalman.rs: kaksitilainen (vaihe, taajuus) suodatin, jonka tarkka van Loan -prosessikohina vastaa totuusmallia; ajautuminen toistaa analyyttisen holdover-varianssin q_wf*T + q_rw*T^3/3 tarkkuudella 1e-9. Kovarianssipäivitys on Joseph-stabiloidussa muodossa P⁺ = (I−KH)P(I−KH)ᵀ + KRKᵀ, joka pysyy positiivisesti semidefiniittinä (Cholesky-tarkistettu) 500 ennuste-/päivitysaskeleen läpi äärimmäisellä suhteella R=1e-26 / Q≈1e-30, ja on samaa mieltä naiivin muodon kanssa 1e-9 tarkkuudella siellä, missä jälkimmäinen on hyvin ehdollistettu. Ajokerros raportoi eheyden (Integrity) katko-näytteiden osuutena 3-sigma-suojausrajan sisällä (src/run.rs).
Suodattimen itsejohdonmukaisuus (NIS (normalisoitu innovaationeliö) / NEES (normalisoitu estimointivirheneliö)) validated (malli) src/filter_health.rs: Monte Carlo -johdonmukaisuusarviointi (Bar-Shalom §5,4). Sovitetun suodattimen yhdistetty NIS → 1 ja NEES → 2 asettuvat 95 %:n χ²-vyöhykkeidensä sisään (NIS-vyöhyke käyttää yhdistettyä valkoisten innovaatioiden lukumäärää; NEES-vyöhyke riippumattomien ajojen lukumäärää, koska estimointivirheet ovat ajallisesti korreloituneita). Q/R-epäsuhtapyyhkäisy-testi varmistaa, että valvonta raportoi consistent=true vain yksikköviritystä käytettäessä ja consistent=false väärissä viritysarvoissa ×0.1/×0.5/×2/×10, NIS skaalautuen ≈1/q_factor johdetusti. Näkyy kenttänä filter_health kellotuloksen JSON-tiedostossa (JavaScript Object Notation) ja leikkikenttäkortissa. χ²-vyöhykkeet käyttävät Wilson–Hilferty-kvantiilia (detection::chi2_inv_cdf, taulukkotarkistettu).
Kaksisuuntainen ajansiirtomalli validated (malli) src/timetransfer.rs: vastavuoroinen yhteismuotoinen viive kumoutuu täsmälleen estimaatissa (m_AB - m_BA)/2 (käsin johdettu, tarkka) ja kaksi yhdensuuntaista mittausta keskiarvoistuu arvoon 1/sqrt(2) (siemenkeskiarvoistettu); ei-vastavuoroinen differentiaaliviive on värillinen valkoinen-FM + satunnaiskävely-FM -prosessi, jonka Allanin poikkeama noudattaa lauseketta sigma_y^2(tau) = q_rw*tau/3 (siemenkeskiarvoistettu, ~20 %, linkin oman funktion step() kautta). Parametrit (linkkikohtaiset sigma_j, q_rw) ovat edustavia TWSTFT- tai optisia lukuja (TWSTFT: kaksisuuntainen satelliittiaika- ja taajuussiirto), ei sovitettu tiettyyn päätteeseen.
Tietoturva (harhautuksen havaitsemispiste) validated (malli) src/security.rs: valvonnan 1-sigma-alaraja sqrt(r/m + q_wf*tau + q_rw*tau^3/3), siitä seuraava pienin havaittava poikkeama (k sigmaa) ja pistemäärä välillä [0,1] on johdettu käsin ja yksikkötestattu. Malli (innovaatio / RAIM-tyylinen (RAIM: vastaanottimen autonominen eheyden valvonta) kelloavusteinen havaitseminen) on pätevä; parametrit (valvontaikkuna tau, havaitsemiskerroin k, mittauskohina r) ovat edustavia, ei sovitettu tiettyyn vastaanottimeen.
Harhautushyökkäyksen havaitseminen validated (malli) src/spoof.rs: kasvava väärä aikaharhautus liputetaan, kun sen poikkeama ylittää kellon havaitsemisrajan; havaitsemisaika vastaa käsin johdettua arvoa start + bound/rate yhden ruudukkoaskeleen tarkkuudella, ja kello, jonka raja ylittää määrittelyn, päästää harhautuksen kynnykseen havaitsematta. Sama varaus (representative-parameters) koskee tietoturvapistettä.
Välkyntä-FM (lattia) modeled (oletuksena pois) Synteettisesti muodostettu logaritmisesti jaettujen Ornstein-Uhlenbeck (OU) -prosessien summana, kalibroituna konfiguroitavaan tasaiseen ADEV-lattiaan; testi src/models.rs validoi, että lattia on tasainen keskiarvotusajan yli ja on konfiguroidulla tasolla (siemenkeskiarvoistettu). Otetaan käyttöön kellokohtaisesti kentällä flicker_floor. Siteeratut viiteskenaariot jättävät sen pois: CSAC on valkoisen FM:n hallitsema koko datalehden alueellaan (1-1000 s) ja optisen kellon systemaattinen lattia (~5e-17) esitetään sen tarkkuusluvulla.
Monte Carlo -joukon tilastot validated (aggregointi) src/ensemble.rs: lähimmän sijan prosenttipisteet ja keskiarvo yli kentän runs mukaisen määrän toistettavia realisaatioita; yksittäinen ajo romahduttaa hajonnan, aika-askelkohtainen vyöhyke on järjestetty p05 <= p50 <= p95, ja uusintaajot ovat bitilleen identtisiä. Tämä on tilastollista aggregointia jo validoidun yksittäisen ajon yli, ei uusi fysikaalinen malli.
Kello sigma_y(1 s) Lähde
csac-sa45s (CSAC) 3.0e-10 Microchip SA65 / SA.45s datalehti
optical-sr-lattice (Sr-hila) 1.0e-15 strontium-optinen hilakello, avaruuteen suuntautuva tavoite, arXiv:1503,08457

Tila: valkoinen FM ja satunnaiskävely-FM validoitu; vanheneminen mallinnettu ja kalibroitu pois; välkyntä-FM mallinnettu ja validoitu (oletuksena pois siteeratuissa skenaarioissa).

Kypsyys: optisen kellon luvut ovat avaruuteen suuntautuva tavoite maalaitteistolla -- yhtään strontium-optista kelloa ei ole lennetty. Laboratorion Sr-kellot saavuttavat 4.8e-17 (Oelker et al. 2019, Nature Photonics). CSAC-luvut ovat käyttöön otetusta kaupallisesta osasta.

Relaatiot: Riley, NIST SP 1065, yhtälö 67 -- valkoinen FM sigma_y^2(tau)=h0/(2 tau); satunnaiskävely-FM sigma_y^2(tau)=(2 pi^2/3) h_-2 tau, vastaavasti q_rw*tau/3 taajuuden Wiener-prosessille, jonka diffuusio on q_rw.

Paketti 2 — inertiapaikannus (dead-reckoning) (kvantti-inertiamittausyksikkö)#

Termi Tila Todisteet
Vakio-/jäännösharha -> sijainti validated sijaintivirheen perhe 0,5bT^2 (Groves AESS (Aerospace and Electronic Systems Society) Tutorial); käsin johdettu diskreetti testi tiedostossa src/inertial/mod.rs.
Nopeuden satunnaiskävely (valkoinen kiihtyvyys) validated src/inertial/mod.rs: simuloitu sijaintivirheen keskihajonta (SD) vastaa kaavaa sigma_x(T)=sqrt(S_a*T^3/3) (Groves yht. 54) noin 12 %:n havaitulla tarkkuudella (siemenkeskiarvoistettu; pakotettu raja 20 %).
Kylmäatomi-interferometrin (CAI) kiihtyvyysmittarin fysiikka (ensiperiaatteista) validated (malli) src/inertial/quantum_imu.rs: kolmipulssinen Mach–Zehnder-kylmäatomi-interferometri. Käsin varmennettu oppikirjageometriaa vasten — Rb-87 k_eff = 4pi/lambda ~ 1.611e7 rad/m; Phi = k_eff*a*T^2 ~ 1.580e4 rad arvolla 1 g, T = 10 ms; projektiokohina sigma_Phi = 1/(C*sqrt(N)) = 2e-3 rad arvoilla C = 0.5, N = 1e6; laukausta kohti sigma_a ~ 1.24e-6 m/s^2; skaalauslait 1/T^2 ja 1/sqrt(N); eksponentiaalinen kontrastin vaimeneminen. Funktio q_va() johtaa valkoisen kiihtyvyyden PSD:n (tehospektritiheys), jota klassinen malli AccelModel käyttää. Rehellinen rajaus: vain kvanttiprojektiokohinan lattia (~0,09 ug/sqrtHz tässä) — selvästi alle todellisten, tärinän rajoittamien laitteiden (1-50 ug/sqrtHz); tärinätensoria, Coriolis- ja valosiirtymäsysteemaattisia virheitä ei vielä mallinneta (katso QUANTUM.md).
Gyron harha + kulmasatunnaiskävely (ARW) -> kallistus -> painovoimakytkentä modeled (oletuksena pois) Jäännösgyroharha ja ARW aiheuttavat asennevirheen; kallistus kytkee painovoiman (g*theta) vaakasuuntaiseen ominaisvoimavirheeseen. Tiedoston src/inertial/mod.rs testit validoivat puhtaan harhan kuutiollisen sijaintikasvun täsmällisesti ja ARW:n asennekasvun Wiener-prosessina (siemenkeskiarvoistettu). Otetaan käyttöön anturikohtaisesti kentillä gyro_bias ja q_arw; pois käytöstä siteeratuissa vain kiihtyvyysmittarin skenaarioissa.
Harhan epävakaus (1/f-välkyntälattia) modeled (oletuksena pois) src/inertial/mod.rs: 1/f-välkyntäprosessi (sama OU-synteesi, joka on validoitu kellolle), jonka tasainen Allanin poikkeaman lattia on harhan epävakauskertoimen tasolla; nolla ei tee mitään, nollasta poikkeava lattia muuttaa kulkurataa, molemmat toistettavia. Otetaan käyttöön anturikohtaisesti kentällä bias_instability.
Kiihtyvyyden satunnaiskävely (muutosnopeuden satunnaiskävely) validated src/inertial/mod.rs: harha on Wiener-prosessi, jolle pätee Var(bias_rw(T)) = q_aa*T, tarkistettu siemenkeskiarvoistettuna noin 20 %:n tarkkuudella. Otetaan käyttöön anturikohtaisesti kentällä q_aa.
NaveGo-ristiinvalidointi (IMU (inertiamittausyksikkö) kohinakertoimet) validated tests/navego_imu_crossval.rs: ulkoinen ristiintarkistus työkalua NaveGo vasten (R. Gonzalez, avoimen lähdekoodin INS/GNSS (INS: inertianavigointijärjestelmä) -työkalupakki, github.com/rodralez/NaveGo). Toistaa työkalun NaveGo tiedoston navego_example_allan.m synteettisen edestakaisen kierron sen julkaistulla Microstrain 3DM-GX3-35 -viiteprofiililla: kun (NBS14/Stable32-validoitua) limittäistä ADEV-estimaattoriamme ajetaan valkoisella anturikohinalla NaveGon 1-σ-tasoilla, se palauttaa nopeus- ja kulmasatunnaiskävelykertoimet (VRW, ARW) (ADEV(1 s) = σ·√dt) tarkkuudella < 5% (todellinen ~0,4 %), valkoisen kohinan haaran ollessa kulmakertoimella −1/2. Vahvistaa, että Allan-putkemme ja työkalun NaveGo VRW/ARW-määritelmät ovat yhtäpitäviä. 40 MB:n tallennettu STIM300-loki (.mat) ei ole sisäänluettu (binäärimuotoon sidottu).
Asteikkokerroin, hienommat ristiakselitermit not modeled tässä 1-DOF (yhden vapausasteen) -paketissa Vanhassa yksiakselisessa paketissa ei ole asteikkokerroin- tai ristikytkentävirhettä. Kolmiakselinen strapdown-kirjasto ja paketti gnss-ins mallintavat asteikkokertoimen, kohdistusvirheen, g-herkkyyden, kvantisoinnin ja kulmanopeusramppivirheen (src/inertial/imu_errors.rs; katso väitetaulukko alla).
Anturi harhan vakaus kohinan juuri-PSD Lähde
cold-atom-quat (kvantti) 5.88e-7 m/s^2 (60 ng, 24 h) 22 ug/sqrtHz = 2.16e-4 (m/s^2)/sqrtHz Templier et al. 2022, Science Advances (arXiv:2209,13209)
nav-grade-quartz (klassinen) 1.57e-3 m/s^2 (~160 ug) ~20 ug/sqrtHz = 1.96e-4 (m/s^2)/sqrtHz Honeywell QA-2000 / Groves AESS Tutorial

Rehellinen kehystys: kylmäatomin etu on pitkäaikainen harhan vakaus (~2600x pienempi), joka hallitsee pitkää GNSS-katkoa kaavan 0,5bT^2 kautta. Lyhytaikainen kohina on verrattavissa (kvantti ~22 vs. klassinen ~20 ug/sqrtHz) — kvanttianturi voittaa maratonin, ei pikajuoksua. Kypsyys: kylmäatomikiihtyvyysmittarit ovat laboratorio-/varhaisvaiheessa (JRC122785), navigointiluokan kvartsi on käytössä.

Termi Tila Todisteet
Valkoinen ajoitusjitter -> synkronoinnin toistotarkkuus validated src/timetransfer.rs: simuloitu synkronoinnin RMS toistaa linkin jitterin sigma_j; otoskeskiarvo keskiarvoistuu kuten sigma/sqrt(N) tarkkuudella <20 % (siemenkeskiarvoistettu).
Ajoitus -> yksisuuntainen etäisyysmittaus validated etäisyys = c * dt, c=299792458 m/s; 1 ps = 0,299792458 mm (tarkka, käsin johdettu testi).
Välkyntä-/TDEV-lattia, kaksisuuntaisen vastavuoroisuuden jäännös modelled src/twstft_budget.rs (tyyppi time-transfer-budget): välkyntävaihekohina (Kasdin–Walter, tasainen TDEV), vuorokausivaihtelun ei-vastavuoroisuus ja vakio vastavuoroisuusjäännös kaksisuuntaisessa sarjassa; valkoisen jitterin paketti timetransfer on ennallaan.
Yhteys yksittäisnäytteen jitter tyyppi lähde
optical-isl 1 ps (1e-12 s) kiertoradalla uskottava tavoite optinen satelliittien välinen linkki, pikosekunnin synkronointitavoite; laboratorion O-TWTFT (TWTFT: kaksisuuntainen aika- ja taajuussiirto) ~1 fs (Giorgetta 2013 / Deschenes 2016)
twstft-rf 0,5 ns (5e-10 s) mitattu yksittäisistunto BIPM/PTB/NIST (BIPM: International Bureau of Weights and Measures; PTB: Physikalisch-Technische Bundesanstalt, Saksan kansallinen metrologian laitos) TWSTFT

Rehellinen kehystys: optinen luku on pikosekuntitason synkronointitavoite kiertoradalla (ei lennetty). Maanpäällinen optinen laboratoriolattia on ~1 fs (paljon parempi); hyvin suunniteltu mikroaaltolinkki (ACES (Atomic Clock Ensemble in Space) -mikroaaltolinkki (MWL), ~0,3 ps) voi kilpailla optisen kanssa, joten lähtötaso ”RF = 0,5 ns” tarkoittaa nimenomaan tavallista TWSTFT:ää. Etäisyysmuunnos on yksisuuntainen (etäisyys = cdt); kaksisuuntainen/edestakainen puolittaa sen (etäisyys = cdt/2).

Paketti 4 — hybridifuusio (päätösosa)#

Yhdistää paketin 1 (kello), paketin 2 (inertia) ja paketin 3 (ajansiirto) yhdeksi PNT-paketiksi (paikannus, navigointi ja ajanmääritys). Paketin on pidettävä SEKÄ ajoitus (< ajoitusmäärittely) ETTÄ sijainti (< sijaintimäärittely) rajoissa; pnt_holdover_s on aika, kunnes jompikumpi ylittyy. Valinnainen optinen satelliittien välinen (ISL) ajansiirto synkronoi kellon uudelleen katkon aikana (vain aika-avusteisuus — sijaintia ei synkronoida uudelleen, koska ajansiirto antaa ajan, ei sijaintia).

Näkökohta Tila Todisteet
Yhdistetty PNT-pisteytys (ajoitus JA sijainti) validated Tiedoston src/hybrid.rs käsin johdettu testi score_hybrid (pnt_holdover = ensimmäinen ajoituksen/sijainnin ylittäjistä).
Eheys + Tietoturva hybridipaketille validated src/hybrid.rs: Kalman-ajoitusestimaattori, joka on ohjattu totuuteen (nimellinen) ja ankkuroitu uudelleen jokaisessa optisessa uudelleensynkronoinnissa; Eheys on suojausrajan sisällä pysyminen (raja sisältää linkin jitterilattian), Tietoturva harhautuksen havaitsemispiste. Testattu molemmille paketeille linkkiavusteinen tapaus mukaan lukien.
Yhteisfuusioestimaattori validated (malli) src/fusion/mod.rs: yksi yhteinen Kalman-suodatin ([phase, freq] ⊕ [pos, vel]) on navigaattori, jota GNSS ohjaa (oppien poikkeamat nollasta poikkeavasta alkukovarianssista) ja ajansiirto avustaa; yhteinen kovarianssi antaa yhteisen eheyden, joka on testattu luotettavaksi (≥0,9) molemmille paketeille kohinajohdonmukaisilla antureilla. Paketti havainnoi sijaintia ja aikaa erikseen, mihin optimaalinen suodatin on lohkodiagonaalinen; laajennetun tilan vakioharhan estimointi ja dynaaminen ristiinavustus ovat tulevaa työtä.
Kytketty kello+sijainti-suodatin (ristilohkokovarianssi) validated (malli) src/fusion/coupled.rs CoupledPntFilter: yksittäinen pinottu Kalman-suodatin [pos, vel, phase, freq] (Joseph-muotoiset päivitykset), jonka mittaus ρ = g·pos + c·phase + noise (pseudoetäisyys) kytkee sijainti- ja kellolohkot. Testit: jaettu pseudoetäisyys tekee arvosta P[pos,phase] nollasta poikkeavan (erilliset suodattimet pitävät sen täsmälleen 0); kaksi erilaista geometriaa ratkaisevat yhdessä syötetyt sijainti- ja kellopoikkeamat, joita yksittäinen etäisyys ei erota; vain kelloon perustuva ratkaisu terävöittää sijaintia ristikovarianssin kautta (hyöty, jonka kytkentä antaa ja erilliset suodattimet eivät); ja Monte Carlo -ajon NEES on χ²(4)-johdonmukainen (Bar-Shalom §5,4, ajopohjainen vyöhyke). 1-DOF (paketin dimensio); ei vielä kytketty ajettavaan pakettiin, ja 3-D 8-tilan laajennus on tulevaa työtä.
Validoitujen alimallien koostaminen perii kello-/inertia-/ajansiirtotermit on validoitu omissa paketeissaan.
Löyhästi kytketty GNSS/INS (paketti gnss-ins) validated (malli) src/fusion/{gnss_ins_ekf,closed_loop,pack}.rs: 15-tilainen virhetilan EKF (δp, δv, ψ, kiihtyvyys-/gyroharha; Groves §14) ohjaa kolmiakselista strapdown-navigaattoria takaisinkytkennällä. Testit: syötetty sijaintivirhe nollautuu täydellisellä totuusavustuksella; avustettu ratkaisu pysyy metrirajoissa, kun vapaasti ajettava INS hajaantuu yli 100 m; ja yhdistetty sijainnin RMS 60 s:n katkon yli voittaa avustamattoman inertiapaikannuksen (dead-reckoning) joukkotestin rajan (~4×, kun mitattiin ennen versiota 0.27.3; marginaali on suurempi alla olevan korjauksen jälkeen). Gyroharhan kytkentä tarkistetaan strapdownia itseään vasten: tunnetun jäännösgyroharhan on tuotettava suodattimen ennustama asennevirhe (closed_loop::tests::gyro_bias_coupling_predicts_the_strapdown_attitude_error), ja leveän priorin on opittava lentokontrollerin luokan gyroharha pysyen rajoissa; molemmat epäonnistuvat version 0.27.3 edeltävällä etumerkillä. Tarkistettu versiossa 0.27.3: kytkennällä oli väärä etumerkki, joten gyroharha-arviot työnsivät väärään suuntaan ja vain tiukka priori piti paketin vakaana; julkaistut katkoluvut muuttuivat (CHANGELOG, Fixed). Rehellinen raja: löyhästi kytketty kiihtyvyysharha/kallistus ovat heikosti erotettavissa, joten harhakohtaista kalibrointia ei väitetä.
Tiukasti kytketty GNSS/INS (pseudoetäisyys) validated (malli) src/fusion/gnss_ins_ekf.rs update_tightly_coupled + closed_loop.rs fuse_tightly_coupled: innovaatio muodostetaan etäisyysalueella (näkölinjan Jacobin matriisi suureelle δp). Testit: neljä satelliittia nollaa syötetyn 8 m/−5 m vaakavirheen arvoon < 0,1 m; kaksi satelliittia (PVT-ratkaisu (sijainti, nopeus ja aika) ei mahdollinen) leikkaa silti vaakavirheen yli 5×; yksittäinen yläpuolinen satelliitti havaitsee vain näkölinjan suuntaisen (pystysuuntaisen) komponentin ja jättää vaakasuuntaisen koskemattomaksi; virheelliset syötteet hylätään. Vain pseudoetäisyys — kantoaallon vaihe ja eksplisiittinen vastaanottimen kellotila ovat tiekartalla.
Anturien ristiinavustuksen tarkkuus (täysi Kalman-/tekijäkaaviofuusio) not modeled paketissa hybrid Hybridipaketti on järjestelmätason koostumus + aika-avusteisuus, ei optimaalinen estimaattori. Suodattimia on muualla: paketin gnss-ins löyhästi ja tiukasti kytketty EKF (laajennettu Kalman-suodatin) (yllä olevat rivit) ja tyypin hybrid-ukf 17-tilainen UKF (unscented Kalman -suodatin). Tekijäkaaviotasoitinta (factor-graph smoother) ei ole mallinnettu.

Tulos: täysin kvanttipaketti pitää täyden PNT:n 1,8 h:n katkon läpi; täysin klassinen paketti on sijainnin rajoittama (navigointiluokan IMU ylittää ensin). Optinen ISL-ajansiirto pitää jopa klassisen KELLON lukittuna, eristäen inertia-anturin klassisen paketin heikoksi lenkiksi — kvantti-inertian ja optisen ajoituksen yhteisen käytön ydinargumentti.

Geometria — GNSS-saatavuus radoista#

Näkökohta Tila Todisteet
Ympyräkiertoradan kahden kappaleen ratalaskenta validated src/orbit.rs: kiertoaika T=2 pi sqrt(r^3/mu) (mu = 3.986004418e14), sijainti palaa yhden kiertoajan jälkeen, päiväntasaajan/napaisen tason tasomaisuus — käsin johdetut testit.
Eksentrinen (Kepler) ratalaskenta validated src/orbit.rs: Keplerin yhtälö M = E - e sin E ratkaistu Newtonilla (jäännös < 1e-12); perigeumin/apogeumin säteet a(1∓e); ympyräkiertoradan tapaus täsmää suljetun muodon polkuun 1e-9 tarkkuudella.
J2:n sekulaarinen solmu-/apsidiajautuma validated src/orbit.rs: Omega_dot = -1.5 n J2 (Re/p)^2 cos i, argp_dot = 0.75 n J2 (Re/p)^2 (5cos^2 i - 1) (Vallado); solmu taantuu (myötäkulkuinen) / etenee (vastakulkuinen) / on paikallaan (napakiertorata), ja apsidit jäätyvät kriittisellä inklinaatiolla 63,4 astetta — käsin johdetut etumerkki-/nollatestit. Vain kahden kappaleen + sekulaarinen, ei oskuloiva.
Näkölinjan näkyvyys (Maan peitto + korkeuskulmamaski) validated Vastakkaisella puolella oleva satelliitti peittyy, säteittäisesti ulospäin oleva satelliitti 90 asteen korkeuskulmalla, tangentiaalinen satelliitti horisontissa — täsmälliset käsin johdetut testit.
Näkyvyys -> GNSS-tila -> aikajana validated Kun näkyviä on >=4: nominaali; 1-3: heikentynyt; 0: estetty. Walker-delta-generaattori; integraatiotesti ajaa kellon holdover-ajon johdetusta aikajanasta.
Satelliittitähdistön suunnitteluoptimoija + kattavuuskaistojen geometria (streets of coverage) validated (malli) src/walker.rs: optimize_walker_design hakee ruudukosta {planes × sats × inclination} ja palauttaa solun, joka parhaiten täyttää tavoitteen DesignObjective (pienin määrä satelliitteja kattavuustavoitteelle / suurin kattavuus / pienin huonoin PDOP (PDOP: sijainnin tarkkuuden heikkenemiskerroin)) — testi varmistaa, että valinta on sama kuin saman pyyhkäisyn riippumaton raakavoimahaku, ja läpikäyty esimerkki vahvistaa, että GPS (Global Positioning System) Walker 24/6/1 -suunnitelma kattaa vähintään yhtä hyvin kuin harvennettu 18 satelliitin suunnitelma. Analyyttiset streets-of-coverage-suljetut muodot (coverage_half_angle_rad λ = arccos(Re/r·cos ε) − ε; street_half_width_rad cos c = cos λ / cos(π/s), Rider/Beste) on varmennettu käsin oppikirjageometriaa vasten (GPS 5° maskilla: λ ≈ 71,16°, 4 satelliitin kaistan puolileveys ≈ 62,83°) ja havaitsevat alipopulaatioaukon (λ < π/s ⇒ None). Täyttä Riderin pienimmän satelliittimäärän globaalin kattavuuden ratkaisijaa (saumaherkkä tasomäärä) ei ole vielä toteutettu.
Tarkkuuden heikkenemiskerroin (GDOP/PDOP/HDOP/VDOP/TDOP (GDOP: geometrinen tarkkuuden heikkenemiskerroin; HDOP: vaakasuuntainen tarkkuuden heikkenemiskerroin; VDOP: pystysuuntainen tarkkuuden heikkenemiskerroin; TDOP: aikaan liittyvä tarkkuuden heikkenemiskerroin)) -> sijaintitarkkuus validated src/orbit.rs: Q=(HᵀH)⁻¹ näkölinjan suunnittelumatriisista. Ulkoinen oraakkeli (tests/dop_reference.rs): viisi DOP-tekijää toistavat sen, mitä laskee gnss_lib_py 1.0.4 (Stanford NAV Lab — riippumaton, vertaisarvioitu GNSS-kirjasto, jota käytetään tässä kuten ERFA-kirjastoa (Essential Routines for Fundamental Astronomy) koordinaatistoille) 8 geometrian yli, jotka ulottuvat hyvin ehdollistetusta lähes singulaariseen (DOP satoja), 1e-6 suhteelliseen tarkkuuteen; alkuperä + uudelleentuotto kohdassa tests/fixtures/dop/. Lisäksi suljetun muodon tarkistuksena säännöllinen tetraedrigeometria toistaa analyyttiset DOP-arvot (PDOP 1,5, TDOP 0,5, GDOP √2,5, HDOP √1,5, VDOP √0,75) tarkkuudella 1e-9. Sijainti-sigma = PDOP × käyttäjän ekvivalentti etäisyysvirhe.
Sijaintivirhe = σ_UERE × DOP moottorin omalle pienimmän neliösumman ratkaisulle modelled src/dop_error_mc.rs, tests/uere_dop_monte_carlo.rs: siemenluvulla toistettu Monte Carlo (N = 20 000 epookkia geometriaa kohti, σ = 1,5 m, ChaCha8-siemenluku 36 + i) funktiosta pvt::solve_spp yksikköpainoilla, ratkaistuna todellisesta sijainnista, tiedoston tests/fixtures/dop/dop_reference.csv 8 geometrialla (ne, joiden DOP on täsmätty gnss_lib_py-kirjastoon), σ²·Q vasten, missä Q on ytimen orbit::dop oma kovarianssitekijä (orbit::dop_cofactor, sama aritmetiikka). Toleranssit ennakkorekisteröity (commit e50c88d2, ennen ensimmäistä ajoa, geometriasuunnittelumuistion 0,36 osion 5,2 mukaan), kukin keskivirheiden lukumääränä: itä-, pohjois-, ylös- ja kellovarianssit 5 %:n sisällä; H/V/P RMS 2,5 %:n sisällä; itä-pohjois-korrelaatio 0,035 sisällä; keskiarvot 5 keskivirheen sisällä; 95 %:n vaakaellipsin osuus 0,95 ± 0,0077 sisällä. Ensimmäinen ajo: kaikki 104 tarkistusta läpäisevät (huonoin varianssi 3,2 %, RMS 1,6 %, korrelaatio 0,012, keskiarvo 2,2 keskivirhettä, ellipsi 0,0039). Negatiiviset kontrollit epäonnistuvat vaaditusti: kaksinkertaistettu PDOP epäonnistuu jokaisella geometrialla; virheet, jotka kasvavat kuten 1/sin(korkeuskulma) painottamatonta Q:ta vasten, epäonnistuvat varianssitarkistuksessa jokaisella geometrialla, jonka matalin satelliitti on alle 20°. Miten se yhdistyy yllä olevaan riviin: tuo rivi validoi näiden geometrioiden DOP:n gnss_lib_py-kirjastoa vasten; tämä lisää askeleen näistä tekijöistä metreihin moottorin ratkaisijan kautta. Ensimmäinen, erillinen tarkistus säilytetään sen rinnalla (src/dop_error_ci.rs, tests/position_error_dop_ci.rs, ajettu ennen ennakkorekisteröintiä ja raportoitu sellaisena): neljä käsin valittua taivasta (avoin, ryhmittynyt, kuilu, puolitaivas; σ 1 m) khiin neliö -luottamusväleillä, joiden kokonaisvirhe on 1e-6 20 tarkistuksen yli; suhteet 0,987 – 1,009, ja sen omat negatiiviset kontrollit (10 %:n DOP-virhe, 1/sin(korkeuskulma)-virheet) epäonnistuvat vaaditusti. Miksi MODELLED: ei ulkoista aineistoa; se ei osoita, että todellisen vastaanottimen virhe noudattaa mallia, ja σ_UERE on syöte.
Usean satelliittitähdistön saatavuus validated src/orbit.rs: lisätyt [[constellations]] yhdistetään yhdeksi satelliittijoukoksi näkyvyyttä/DOP:ta varten; yhdistetyn lukumäärän testi vahvistaa yhdisteen.
Lähetetty ionosfääri (Klobuchar, IS-GPS-200 (IS: Interface Specification)) → L1-vinoviive validated src/gnss_sim.rs: klobuchar_delay_m, kahdeksankertoiminen lähetetty yksitaajuusmalli. Ulkoinen oraakkeli (tests/klobuchar_reference.rs): vino L1-viive toistaa RTKLIB-kirjaston (avoimen lähdekoodin reaaliaikainen kinemaattinen paikannuskirjasto) funktion ionmodel tuloksen (tomojitakasu/RTKLIB, src/rtkcmn.c — de facto avoin GNSS-viite, käännetty lähdekoodista ja ajettu riippumattomasti) 10 tapauksessa, jotka kattavat korkeuskulman, atsimuutin, paikallisajan ja kaksi kerroinjoukkoa (Kshana-ohjelmiston oletus + RTKLIB:n), arvoon < 1e-4 m. IONEX-lukija (IONosphere map EXchange format) GIM-tiedostojen (GIM: globaali ionosfäärikartta) TEC-kartoille (TEC: kokonaiselektronipitoisuus) on nyt olemassa (src/ionex.rs, parse_ionex bilineaarisella spatiaalisella ja ajallisella interpolaatiolla sekä vinomuunnoksella, yksikkötestattu paketin sisällä); tämän interpolaation ristiintarkistus todellista CODE (Center for Orbit Determination in Europe) GIM-tuotetta vasten on yhä jatkotehtävä. Lähetetty malli itsessään on validoitu ulkoisesti.
RAIM/ARAIM (ARAIM: kehittynyt vastaanottimen autonominen eheyden valvonta) -havaitsemisydin (χ² / ei-keskeinen χ² / normaali) → kynnykset ja kertoimet validated src/raim.rs: snapshot- / ratkaisuerotus- / ARAIM-havaitsemiskynnys (chi2_quantile), havaitsematta jäämisen ei-keskeisyys pbias=√λ (noncentral_chi2_cdf) ja kertoimet K_fa/K_md/K_V (normal_quantile) arvioidaan kaikki riippuvuudettomasta regularisoidusta epätäydellisestä gammafunktiosta. Ulkoinen oraakkeli (tests/raim_reference.rs): 171 tapausta toistavat SciPy 1.17.0 -tulokset (scipy.stats.chi2/.ncx2/.norm + optimize.brentq — riippumaton Cephes/Boost-toteutus, eri algoritmi) P_fa / P_md / redundanssin toiminta-alueiden yli, ≤ 1e-6 suhteellisella tarkkuudella. Ytimen ympärillä oleva geometria (kaltevuus/kovarianssi suureesta (GᵀG)⁻¹) on gnss_lib_py-validoitu DOP-ydin. Rajaus: tämä rivi lukitsee tilastollisen ytimen. ARAIM MHSS:n (multiple-hypothesis solution separation) allokaation suojaustason arvo on lukittu erikseen WG-C:n (Working Group C) ARAIM Technical Subgroupin julkaistua läpikäytyä esimerkkiä vasten (tests/araim_reference_vectors.rs, VPL (pystysuuntainen suojaustaso) 18,2926 m vs 18,3 m, HPL (vaakasuuntainen suojaustaso) 13,4063 m vs 13,45 m, viitteen oman 0,05 m toleranssin sisällä; katso alla oleva standardihuomautus ja ARAIM_REFERENCE.md).
SBAS (satelliittipohjainen täydennysjärjestelmä) -suojaustaso (DO-229E Appendix J) → vaaka-/pystysuuntainen suojaustaso (HPL / VPL) validated src/sbas.rs: sbas_protection_level, painotettu pienimmän neliösumman (LS) D=(GᵀWG)⁻¹ → vaakavirhe-ellipsin pääakseli + pystysuuntainen σ, skaalattu DO-229E:n K-tekijöillä. Ulkoinen oraakkeli (tests/sbas_reference.rs): HPL, jonka Kshana-ohjelmisto laskee, toistaa RTKLIB SBAS-PL -haarukan (zsiki/rtklib_ws waasprotlevels(), Sikin ja Takácsin 2017 ”DO-229D Appendix J” -toteutus), ajettuna komennolla rnx2rtkp -ws todellisella EGNOS-datalla (European Geostationary Navigation Overlay Service) (GEO (geostationaarinen rata) PRN120 -lähetysviestit + todellinen BUTE/Budapest RINEX (Receiver Independent Exchange Format), 2017-02-19), 6 epookin yli arvoon < 2e-3 m. Satelliittikohtainen σ on oraakkelin oma täysi SBAS-budjetti (UDRE (user differential range error) + GIVE (grid ionospheric vertical error) iono + tropo + ilma-alus). ESA:n gLAB v6.0.0 (core/filter.c) käännettiin ja vahvistettiin käyttävän identtistä käytäntöä. K_V-huomautus: molemmat oraakkelit pyöristävät MOPS:n (minimum operational performance standards) K_V → 5,33; Kshana-ohjelmisto käyttää tarkkaa arvoa Φ⁻¹(1−5e-8)=5.3267 (~0,06 % pienempi VPL), joten pystysuunta validoidaan K-tekijästä vapaana suureena d_U (= oraakkelin VPL / 5,33). HPL täsmätään suoraan (K_H = 6,0 molemmin puolin).
Todellinen satelliittitähdistön geometria TLE:istä (rivi 2 / Kepler) validated (jäsennys) src/tle.rs: jäsentää rivin 2 keskimääräiset Kepler-elementit (isoakselin puolikas keskiliikkeestä); tunnettu ISS:n (International Space Station) elementtijoukko kiertää edestakaisin oikeiksi elementeiksi ja kiertoajaksi. Vain rivin 2 lohkolla ratalaskenta on moottorin kahden kappaleen (+ valinnainen J2) ratalaskenta keskimääräisistä elementeistä — pätevä yhteisen epookin tilannekuvalle, ajautuu SGP4:stä (Simplified General Perturbations 4) ajan myötä.
SGP4 / SDP4 (Simplified Deep-space Perturbations 4) -ratalaskenta (täydet TLE:t) validated src/sgp4.rs: täysi lähellä Maata -SGP4 + syväavaruus-SDP4 (Kuu-Aurinko sekulaarinen/jaksollinen + 12 h / 24 h geopotentiaaliresonanssi). Validoitu tiedostossa tests/sgp4_verification.rs virallisia AIAA:n (American Institute of Aeronautics and Astronautics) 2006-6753 (”Revisiting Spacetrack Report #3”) vektoreita vasten — kaikki 666 viitetilaa (lähellä Maata, syväavaruus, resonantti, virhekooditapaukset) täsmäävät pahimman tapauksen sijaintivirheellä ≈ 4,1 mm. Täysi kaksirivinen joukko (rivi 1 + rivi 2) ratalasketaan SGP4:llä; vain rivin 2 joukko pysyy Kepler-tasolla; kaksi voi sekoittaa. Koordinaatisto on TEME (true equator, mean equinox), käytetty johdonmukaisesti käyttäjälle ja satelliiteille (ei TEME→ECEF (ECEF: Maan keskipisteeseen sidottu, Maan mukana pyörivä) -redukointia — riittävä saatavuus-/DOP-geometrialle).
IAU:n (International Astronomical Union) 2000A / 2000B -nutaatio + TEME→GCRS (GCRS: Geocentric Celestial Reference System) -redukointi validated src/nutation.rs: täysi IAU 2000A -sarja (678 kuu-aurinko- + 687 planeettatermiä, nutation_iau2000a) ja 77-termiinen 2000B-typistys (nutation_iau2000b) on kumpikin validoitu bitilleen julkaistuja SOFA/ERFA (SOFA: Standards of Fundamental Astronomy) -viitevektoreita vasten hetkellä JD_TT 2453736,5 — eraNut00a antaa Δψ = −0.9630909107115518e-5, Δε = 0.4063239174001679e-4; eraNut00b antaa Δψ = −0.9632552291148363e-5, Δε = 0.4063197106621160e-4 — molemmat tarkkuudella 1e-13 rad. 2000A-taulukko on koneellisesti generoitu ERFA:n nut00a-lähteestä funktiolla tools/gen_nut00a.py (toistaa tallennetun tiedoston nutation_iau2000a_data.rs bitilleen). Nutaatiomatriisi (iauNumat), päiväntasausten yhtälö ja koko TEME→TOD→MOD→GCRS (TOD: true of date; MOD: mean of date) -ketju (teme_to_gcrs, Vallado AIAA-2006-6980) on testattu aito kierto-/edestakainen/prekessio-plus-nutaatio-ominaisuuksien osalta, nutaatiomatriisi ERFA:n numat vasten alkio alkiolta 1e-14 tarkkuudella, ja koko TEME→GCRS-ketju Valladon julkaistua TEME→GCRF-esimerkkiä (AIAA 2006-6753, 2004-04-06) vasten tarkkuudella 0,11 m (tests/frame_reference_vectors.rs); kunnes tämä päästä päähän -tarkistus lisättiin, nutaatiomatriisissa oli Δψ väärällä etumerkillä, 2·Δψ:n (noin 25″) kierto, jota ominaisuustestit eivät nähneet (katso CHANGELOG, Unreleased, Fixed); 2000A vs 2000B täsmäävät alle 1 mas vaaditusti. Ketju perustuu päiväntasaukseen/GMST:ään (GMST: Greenwichin keskimääräinen tähtiaika); päiväntasauksesta vapaa CIO (X,Y,s) -redukointi ja sen riippumaton ANISE/SPICE (ANISE: Attitude, Navigation, Instrument, Spacecraft, Ephemeris — puhdas Rust-planeettageometriatyökalupakki; SPICE: Spacecraft, Planet, Instrument, C-matrix, Events) -numeerinen ristiintarkistus (≤ 3,6 m GNSS-radalla, selvästi tavoitteen < 10 m sisällä) ovat alla olevalla CIO-rivillä.
IGRF-14 (IGRF: International Geomagnetic Reference Field) geomagneettinen pääkenttämalli validated src/igrf.rs: IAGA:n (International Association of Geomagnetism and Aeronomy) Schmidt-normalisoitu pallofunktiokenttä (aste/kertaluku 13, 2025,0 + sekulaarinen vaihtelu; kertoimet koneellisesti generoitu virallisesta tiedostosta igrf14coeffs.txt funktiolla tools/gen_igrf.py, toistaen tiedoston igrf_data.rs bitilleen). Validoitu viidellä riippumattomalla rintamalla: (1) täsmälliset kerroinpistokokeet IAGA-tiedostoa vasten (g₁⁰=−29350,0, g₁¹=−1410,3, h₁¹=4545,5 nT); (2) asteen 1 synteesi toistaa täsmällisen suljetun muodon kallistetun dipolin kentän (B_r,B_θ,B_φ) tarkkuudella 1e-6; (3) täysi asteen 13 analyyttinen kenttä on yhtä suuri kuin −∇V skalaaripotentiaalista (differenssi, 1e-4 asti) — harjoittaen Legendren derivaatat ja 1/sinθ-termin päästä päähän; (4) dipoliakseli toistaa tunnetun geomagneettisen pohjoisnavan (~80,7°N, −72,7°E) ja dipolin voimakkuuden (~29,7 µT), ja globaali kenttä on fysikaalisella 22–67 µT:n kaistalla oikealla pallonpuoliskon inklinaatioetumerkillä; ja (5) ulkoinen oraakkeli — täysi synteesi toistaa viralliset British Geological Surveyn IGRF-14-verkkopalvelun arvot hetkellä 2025,0 (geodeettinen, WGS-84 (WGS: World Geodetic System) -korkeus) tarkkuudella < 2 nT komponenteille X/Y/Z/F ja < 0.02° komponenteille D/I neljässä pisteessä 400 km:n korkeus mukaan lukien (synthesis_matches_the_official_bgs_igrf14_values_at_2025).
CIO-pohjainen IAU 2006/2000A GCRS↔ITRS (ITRS: International Terrestrial Reference System) -redukointi validated src/cio.rs: päiväntasauksesta vapaa taivaankoordinaatiston ja maakoordinaatiston välinen ketju. CIP:n (Celestial Intermediate Pole) koordinaatit (X, Y) ja 66-termiinen CIO-paikannin s -sarja on validoitu bitilleen julkaistua SOFA/ERFA-vektoria eraXys06a vasten hetkellä JD_TT 2453736,5 — X=0.5791308482835292617e-3 (1e-14), Y=0.4020580099454020310e-4 (1e-15), s=-0.1220032294164579896e-7 (1e-18); GCRS→CIRS (CIRS: Celestial Intermediate Reference System) -matriisi vasten eraC2ixys (kaikki yhdeksän alkiota 1e-12 tarkkuudella); Maan pyörimiskulma (ERA) vasten eraEra00(2400000.5, 54388.0) = 0,4022837240028158102 (1e-12). Taulukko s on koneellisesti generoitu ERFA:n s06.c-viitteestä funktiolla tools/gen_s06.py (toistaa tiedoston cio_s06_data.rs bitilleen). Koko matriisi gcrs_to_itrs_matrix (CIO eraC2tcio = napaliike · ERA · GCRS→CIRS) on testattu aidon kierron + edestakaisen kierron osalta, ja sen on osoitettu olevan johdonmukainen vanhan päiväntasaus-/GMST-1982-TEME-redukoinnin kanssa 1 m:n sisällä 7 000 km:n säteellä (käytännöt eroavat siellä noin 5 cm). Riippumaton kolmannen osapuolen ristiintarkistus (xval/anise-frames/): sama gcrs_to_itrs_matrix verrataan työkaluun ANISE (puhdas Rust-NAIF/SPICE (NAIF: Navigation and Ancillary Information Facility) -uudelleentoteutus), joka kiertää GCRF→ITRF93 (GCRF: Geocentric Celestial Reference Frame; ITRF93: International Terrestrial Reference Frame 1993) JPL:n (Jet Propulsion Laboratory) tiedostosta earth_latest_high_prec.bpc, identtisillä IERS:n (International Earth Rotation and Reference Systems Service) finals2000A Maan orientaatioparametreilla molemmille puolille syötettynä, kahdeksan neljännesvuosittaisen epookin 2020–2023 yli. Kaksi riippumatonta koordinaatistorealisaatiota täsmäävät suurimmalla suhteellisella kierrolla 0,028″ — ≤ 0,86 m maanpinnalla, ≤ 0,93 m LEO:ssa (matala Maan kiertorata), ≤ 3,6 m GNSS-radalla (keskikulma 0,023″). Tämä on ROADMAPin ”< 10 m” -koordinaatiston ristiintarkistus, toimitettu; jäännös on odotettu ITRF93:n ja IERS-2010-CIO:n malli-/datumero, ei vika (bitilleen-ankkuri pysyy yllä olevat SOFA/ERFA-vektorit). ANISE on MPL-2.0 (MPL: Mozilla Public License) / edition-2024 -crate, joten tarkistus sijaitsee erillisessä, työtilasta poissuljetussa alicratessa, joka ei koskaan kosketa julkaistun paketin kshana riippuvuuskaaviota tai mitään oletus-CI-porttia.
SP3 (Standard Product 3, tarkka rataformaatti) -viennin edestakainen kierto (satelliittitähdistö → SP3-c → uudelleenjäsennys) validated tests/sp3_export_roundtrip.rs: todellinen Celestrak-tilannekuva (gps-ops, 30 GPS-satelliittia) ratalasketaan SGP4:llä, viedään SP3-c-muotoon (Sp3File::from_propagators → to_sp3_string), jäsennetään uudelleen (parse_sp3), ja palautettuja ECEF-sijainteja verrataan SGP4-totuuteen jokaisella epookilla 24 h:n yli — huonoin jäännös < 0,5 m (kirjoittajan millimetrin sarjallistus; virstanpylvään 10 m:n TLE-luokan (TLE: kaksirivinen elementtijoukko) toleranssi täyttyy reilulla marginaalilla). CLI-polku (komentorivikäyttöliittymä), --export-sp3, on katettu myös: mukana toimitettu kiertorata-skenaario vie uudelleenjäsennettävän 30 satelliitin SP3:n, ja ei-kiertorata-skenaario hylätään.
Todellinen GPS-satelliittitähdistön geometria TLE:istä (SGP4 → ECEF) validated tests/igs_real_data.rs: aito Celestrak-tilannekuva (gps-ops) (2021-07-28, 30 toimivaa GPS-satelliittia; alkuperä tiedostossa tests/fixtures/celestrak/NOTICE) jäsennetään ja jokainen satelliitti ratalasketaan validoidun SGP4-ytimen läpi yhteiseen hetkeen, kierretään TEME→ECEF. Varmistaa, että koko satelliittitähdistö asettuu GPS:n MEO-kuoreen (keskikorkea Maan kiertorata) 1 %:n sisällä ja että keskileveysasteen avoimen taivaan paikasta todellinen kaikki-näkyvissä (yhdeksän satelliittia) antaa PDOP-arvon 1,64 pystysuuntaisen heikkenemiskertoimen ylittäessä vaakasuuntaisen (kuten maakäyttäjällä pitääkin). Tämä harjoittaa SGP4:ää todellisella satelliittitähdistöllä SP3 (tarkka)- ja RINEX (lähetetty) -todellisen datan polkujen rinnalla.
SGP4:n keskimääräisten elementtien Walker-generaattori validated src/walker.rs: suunniteltu Walker-delta-kuvio tuotetaan SGP4:n keskimääräisinä elementteinä (Kozain keskiliike valittu niin, että SGP4:n isoakselin puolikas osuu tavoitekuoreen) ja ratalasketaan validoidun ytimen läpi. Testit: 24 satelliitin GPS-kaltainen Walker on MEO-kuoressa 1 %:n sisällä, tasot ovat täsmälleen 90° välein RAAN:ssa (nousevan solmun rektaskensio) radan normaaleista palautettuna, ja keskiliike toistaa ~718 min GPS-kuoren kiertoajan.
Satelliittitähdistön PDOP-pyyhkäisy + kattavuus-/uudelleenvierailun laatumittarit validated (monotonisuus) src/walker.rs: pdop_sweep taulukoi kattavuuden ja mediaani-/huonoimman PDOP:n ruudukossa {planes × sats × inclination}; coverage_revisit raportoi kattavuusosuuden ja uudelleenvierailuvälit maapisteessä. Validoitu fysikaalisilla monotonisuuksilla, joita suunnittelukompromissin on noudatettava: satelliittien lisääminen ei koskaan laske kattavuutta ja laskee tiukasti mediaani-PDOP:ta (täysi 24 satelliitin suunnitelma kattaa jatkuvasti PDOP:lla ~1,7), ja harvennetun satelliittitähdistön tihentäminen kutistaa tiukasti huonointa uudelleenvierailuväliä. Keskimääräinen uudelleenvierailuväli ei koskaan ylitä maksimia. Nämä ovat geometrian kompromissitaulukoita, eivät sertifioitu linkki-/kattavuusbudjetti.

Rehellinen kehystys: tämä on deterministinen geometriakerros (ympyräradat, pallomainen Maa keskisäteellä 6371 km, puhdas näköyhteys). Se määrittää saatavuuden ja geometrisen sijaintitarkkuuden (tarkkuuden heikkenemiskerroin × edustava etäisyysvirhebudjetti) todellisesta geometriasta, ei tarkkaan efemeridiin perustuvaa navigointiratkaisua. Viiteskenaario orbit-gnss-challenged.toml sijoittaa avaruusaluksen GNSS-kuoren sisään: se pitää paikkaratkaisun vain ~59 % vuorokaudesta, kvanttikello pitää 5 ns:n ajoitusratkaisun jokaisen aukon läpi (saatavuus 1,0) ja sirutason kello pitää ~0,73.

Numeerinen (Cowell) ratalaskuri ja voimamalli#

Numeerinen ratalaskuri (src/propagator.rs) integroi hierarkkisen voimamallin (src/forces.rs) adaptiivisilla integraattoreilla (src/integrator.rs). Jokainen alla oleva termi on validoitu analyyttistä totuutta tai käsin johdettua suljettua muotoa vasten; häiriöt ovat oletuksena pois, joten julkaistut golden-tiedostot ovat koskemattomia. Koostettu malli on myös ristiintarkistettu toista työkalua vasten: tests/numerical_cowell_propagator_reference.rs ajaa 11 LEO- ja GTO (geostationaarinen siirtorata) -tapausta, 275 tuntiepookkia, Orekit-työkalun versiota 12,2 (DormandPrince853-ratalaskuri) vasten, ja konservatiiviset tasot (kaksi kappaletta → J2–J6 → Aurinko/Kuu → kanuunankuula-SRP) täsmäävät huonoimmillaan 0,08 m 24 h:n yli (taso VALIDATED matriisissa); vetotaso on vain karakterisoitu (333 m) ja pysyy MODELLED.

Termi Tila Todisteet
Cowell-ratalaskuri vs. analyyttinen Kepler-totuus validated src/propagator.rs: häiriötön (kahden kappaleen) rata toistaa täsmällisen universaalimuuttujaisen Kepler-ratkaisun metrin alle 24 h:n LEO-radalla (tiukempi raja kuin ”numeeriseen viitteeseen verrattuna < 10 m”); ominaisenergia ja liikemäärämomentti säilyvät suhteellisella tarkkuudella ~1e-9; J2-solmun taantuma toistaa suljetun muodon j2_secular_rates ensimmäisen kertaluvun teoriaan (alle 2 %:n sisällä, O(J2²)-jäännös). Funktio solve_kepler_checked palauttaa arvon Err sen sijaan että antaisi hiljaa väärän vastauksen, kun Newton ei konvergoi (periapsisin lähellä e = 0,999). Robusti solve_kepler_robust (Markley 1995 -aloitus, src/kepler.rs) konvergoi siellä ja alueella 0 ≤ e ≤ 0,999999, 0,9 ε·|E| sisällä 50 numeron mpmath-juurista (tests/kepler_mpmath_oracle.rs).
Adaptiiviset integraattorit (RK4 (neljännen kertaluvun Runge–Kutta) askelkaksinkertaistus + Dormand–Prince RK5(4) -upotettu pari, DP5(4) alla) validated src/integrator.rs: RK4 integroi y' = y → e tarkkuuteen < 1e-9, näyttää ~16× virheen pienenemisen puolitettua askelta kohti (4. kertaluvun konvergenssi) ja säilyttää harmonisen oskillaattorin jakson yli. DP5(4) upotettu virhearvio on O(h⁵) (askeleen puolitus pienentää sitä ~32×), integroi oskillaattorin 50 jakson yli energian säilyessä tarkkuudella < 1e-6 ja saavuttaa saman loppupisteen samalla toleranssilla vähemmillä funktiokutsuilla kuin askelkaksinkertaistus; propagate_dopri täyttää saman alle metrin Kepler-rajan ja on RK4-polun kanssa samaa mieltä < 1 m J2..J6-radalla. DOP853 (integrate_dop853): Hairerin 8(5 3) -pari tiheällä ulostulolla toistaa SciPy-kirjaston version 1.18.1 DOP853-toteutuksen askel askeleelta (yksittäinen askel 5.6e-15 sisällä; identtiset askelmäärät ajoissa e = 0,7 ja Arenstorf, yksi hyväksy/hylkää-vaihto 501 askeleessa LEO-ajossa; lopputilat 1.6e-12 sisällä) ja vastaa täsmällistä Kepler-ratkaisua yhtä tarkasti kuin SciPy (tests/dop853_scipy_oracle.rs).
J2–J6-vyöhykeharmoninen kenttä validated src/forces.rs: zonal_accel tarkistetaan kolmella tavalla — se palautuu 666 vektorilla validoituun funktioon j2_accel koneen tarkkuudella, kun se rajataan muotoon [J2]; se vastaa oman vyöhykepotentiaalinsa numeerista gradienttia koko J2..J6-kentän läpi (konservatiivisen kentän kultastandardi); ja parittomat J3 vs parilliset J2/J4..J6 termit näyttävät tyypillisen pohjois-etelä(anti)symmetrian muunnoksessa z → −z. Ratalaskettu J2..J6-rata säilyttää kokonaisenergian noin 1e-8 tarkkuudella vuorokauden yli.
Kolmannen kappaleen (Aurinko ja Kuu) gravitaatio validated src/forces.rs + src/ephem.rs: funktio third_body_accel vastaa häiritsevän potentiaalinsa täsmällistä gradienttia, häviää geokeskipisteessä ja osuu oppikirjan LEO-suuruusluokkiin (~5e-7 m/s² Aurinko, ~1.1e-6 m/s² Kuu). Matalan tarkkuuden Montenbruck–Gill-Auringon efemeridi osuu käsin johdettuihin J2000-ankkureihin (periheliin etäisyys ≈ 1.471e11 m, ~−23° päivänseisauksen deklinaatio, ~1°/vrk liike); Kuun efemeridi pysyy perigeumin/apogeumin vyöhykkeensä sisällä, palauttaa ~384 400 km:n keskietäisyyden, ei koskaan ylitä 5,3° inklinaatiota ja palaa 1° sisään yhden sideerisen kuukauden jälkeen. Epookkiohjattu RHS:n (right-hand side, oikea puoli) johdotus on bittitarkka (RHS-termi on yhtä suuri kuin third_body_accel näytteistetyssä sijainnissa hetkillä t = 0 ja t = 1 vrk), ja neljänneksen vuoden epookkisiirto tuottaa erilaisen radan.
Aurinkopaine (SRP) + kartiomainen varjo validated src/forces.rs: funktio srp_accel (kanuunankuula ν·P☉·cᵣ·(A/m)·(AU/d)²·d̂) on bitti-identtinen suljetun muodon kanssa täydessä auringossa, lukitsee 1 AU:n (AU: astronominen yksikkö) säteilypaineen arvoon ≈ 4.5398e-6 N/m², on ~1.36e-7 m/s² LEO-kaistalla työntäen poispäin Auringosta, neljännesyy, kun Auringon etäisyys kaksinkertaistuu (käänteisneliö), ja on täsmälleen nolla syvällä umbrassa (täysi varjo). Funktio conical_shadow antaa arvon ν = 1 täydessä auringossa ja ν = 0 täydessä umbrassa (täsmällinen), tasainen monotoninen penumbra nousee 0 → 1 kaistan [b−a, b+a] yli, joka ulottuu umbrasylinterin ulkopuolelle.
Ilmakehän vastus (ensimmäinen nopeudesta riippuva termi) validated src/forces.rs: atmospheric_density (Vallado Table 8-4, paloittain eksponentiaalinen) ankkuroituu arvoon 1,225 kg/m³ merenpinnan tasolla, rajautuu pinnan alapuolella, pienenee monotonisesti LEO-alueen läpi, asettuu ~1e-12 kg/m³ -vyöhykkeeseen korkeudella 400 km ja antaa fysikaalisen, takaisin saadun ~58 km skaalakorkeuden; drag_accel vastustaa mukana pyörivää suhteellista nopeutta LEO-alueen suuruusluokassa ~2e-6 m/s². Tunnusmerkkitarkistus: 300 km:n rata menettää ominaisenergiaa monotonisesti ja sen isoakseli lyhenee rajattua ~km/vrk, kun taas tyhjiön lähtötaso säilyttää energian tarkkuudella < 1e-9.
Post-Newtonin (Schwarzschild) suhteellisuusteoreettinen korjaus validated src/forces.rs: relativistic_accel (IERS:n muoto β = γ = 1 a = (μ/c²r³)·{[4μ/r − v²]·r + 4(r·v)·v}) palautuu ympyräradalla suljettuun muotoon 3μ²/(c²r³)·r̂ (säteittäinen, ulospäin, akselin ulkopuoliset komponentit täsmälleen nolla), antaa oppikirjan LEO-suhteen ≈1.9e-9 kaksikappaleprobleemaan nähden, vastaa käsin sievennettyä säteisnopeusmuotoa μ(4μ + 3v²r)/(c²r³) tarkkuudella < 1e-12 ja häiritsee rataa propagaattorissa pitäen isoakselin alle metrin vuorokaudessa — konservatiivinen vastakohta vastuksen aiheuttamalle pienenemiselle.

Rehellinen rajaus: ForceModel: julkaistut oletusarvot integroivat vyöhykekentän. Korkea-asteinen EGM2008-tesseraalikenttä (src/gravity_sh.rs, aste/kertaluku 70), kiinteän Maan, valtamerten ja ilmakehän vuorovedet (src/tides.rs) sekä Lense–Thirring-kehysvetotermi on nyt toteutettu ja yhdistetty tarkkaan efemeridinsovitukseen käytettävään voimamalliin (src/precise_od.rs — katso alla). Tesseraalikenttä on myös Cowellin menetelmän valinnainen termi (rakenne ForceModel, propagator::Geopotential, oletuksena pois päältä), validoitu Orekit 12,2 -ohjelmaa HolmesFeatherstoneAttractionModel vasten asteeseen/kertalukuun 70 asti (6 tapausta 24 tunnin ajalta, huonoin |Δr| 0,036 m; tests/cowell_tesseral_orekit_oracle.rs). Kenttää arvioivia laskijoita on kaksi: historiallinen acceleration (pallomaiset osittaisderivaatat; kelvollinen asteeseen ~180 asti napojen ulkopuolella; tulosteet kiinnitetty) ja acceleration_hf (Holmes–Featherstone 2002 muokattu eteenpäinsarake, gradientti ilman termiä 1/cos φ; kelvollinen asteeseen 2190 asti jokaisella leveysasteella). EGM2008 asteeseen 2190 asti ladataan ajon aikana (from_gfc_file, scripts/fetch_egm2008.sh, ei mukana paketissa). acceleration_hf vastaa Orekit 12,2 -ohjelmaa tarkkuudella 7.3e-17 m/s² kahdeksassa pisteessä asteeseen 2190 asti; se pysyy tilassa MODELLED, koska pyshtools ei täyttänyt ennakkorekisteröityä napojen läheisyyden kynnystä (mpmath-tarkistus sijoittaa virheen pyshtoolsiin; xval/high-degree-gravity/). 24 tunnin 200×200 -rata vastaa Orekitia tarkkuudella 0,13 m, mutta sen ennakkorekisteröity asteen 70 herkkyyskontrolli ei täyttänyt kynnystä (0,73 m < 1 m), joten asteet 71–200 on radalla luonnehdittu, ei validoitu (xval/cowell-tesseral-200-orekit/). NRLMSISE-00-termosfäärin tiheys (NRLMSISE: Naval Research Laboratory Mass Spectrometer and Incoherent Scatter Radar Extended atmosphere model) on porttattu (src/nrlmsise00.rs: bitilleen identtinen julkisen alueen C-portin kanssa 720 pisteessä, pymsisin suhteen 1.9e-6 suhteellisella tarkkuudella, 17 julkaistua testitapausta toistettu; tests/nrlmsise00_reference.rs) ja se on valinnainen vastuksen tiheystaso (forces::DensityModel, ForceModel::drag_density; oletuksena pysyy staattinen Vallado-malli). Tämä validoi portin, ei mallin tarkkuutta mitattuun tiheyteen nähden. DE440 (DE: Development Ephemeris) Aurinko ja Kuu ovat valinnainen efemeridin taso (ForceModel::with_ephemeris). WGS-84-litteän Maan SRP-varjo on valinnainen (ForceModel::srp_shadow), ja se vastaa Orekit 12,2 -ohjelman valaistussuhdetta 7.4e-9 sisällä 2400 geometriassa (tests/srp_oblate_shadow_orekit_oracle.rs); sen reunatummennettulla variantilla ei ole ulkoista oraakkelia (MODELLED). NRLMSISE-00-vastustaso vastaa Orekit 12,2 -ohjelman omaa NRLMSISE-00-vastusta 24 tunnin aikana tarkkuudella 0,03 m, kun vastuksen siirtymä on enimmillään 142 km (tests/drag_tier_orekit_oracle.rs, VALIDATED jaetuin sopimuksin). GMAT-ristiintarkistus (General Mission Analysis Tool) on edelleen jatkotyö.

Geopotentiaalin vuorovedet (src/tides.rs)#

Stokesin kertoimien aikariippuvat korjaukset ΔC̄_nm, ΔS̄_nm (IERS Conventions 2010, luku 6), validoitu sopimusten omia julkaistuja lukuja vasten — ei toista työkalua vasten.

Osuus Tila Todisteet
Kiinteän Maan vuorovesi (IERS Eq. 6,6 / 6.8b / 6,14) validated tests/tides_iers.rs: pysyvä (nollataajuinen) vuorovesi ΔC̄₂₀ osuu 1 %:n sisään IERS:n julkaisemasta arvosta −4,1736×10⁻⁹ (anelastiset Love-luvut); vaiheen 2 K1-laskuesimerkki toistuu bitilleen (sin/cos-amplitudit 470,9 / −30,2 ×10⁻¹² tarkkuudella 0,1×10⁻¹²); normalisoitu Legendre-polku on kiinnitetty rekursiosta riippumattomilla suljetun muodon käsinlasketuilla arvoilla.
Valtameren vuorovesi (IERS Eq. 6,15, FES2004 (Finite Element Solution 2004 -vuorovesiatlas), 8 komponenttia) validated Mukana toimitettu FES2004-osajoukko (tools/gen_fes2004.py → src/fes2004_data.rs, Doodson→kerroin-jäsennys) toistaa lähteen M2-kertoimet (2 2) täsmälleen; K1:n Doodson-vaihe on θ_g + π; asteen 2 sektoriaalinen suuruus on fysikaalinen ja suuruusluokkaa pienempi kuin kiinteän Maan vuoroveden.
Ilmakehän S2-ilmavuorovesi (Ray 2001, NASA (National Aeronautics and Space Administration) GSFC (Goddard Space Flight Center)) validated Mukana toimitetut Rayn harmoniset muunnetaan pintakuormasuhteen (Eq. 6,21) kautta huippuarvoon ΔC̄₂₂ ≈ 4×10⁻¹¹ (~10 % valtameren M2-termistä). Rehellinen varaus: ilmavuorovedelle ei ole olemassa julkaistua geopotentiaalikertoimen oraakkelia, joten se validoidaan lähteen eheyden ja suuruusluokan perusteella, mikä on heikompi kynnys kuin kiinteän Maan ja valtamerten vuorovesillä.

Ohjailut ja lentoradan suunnittelu (src/maneuver.rs)#

Näkökohta Tila Todisteet
Impulsiivinen ΔV ja kovarianssin eteenpäinvienti validated Nopeuden epäjatkuvuus, jonka 6×6 kovarianssi viedään eteenpäin (deterministinen poltto ⇒ identiteetti-STM (tilasiirtymämatriisi); suorituksen virhekovarianssi kiertyy polttokehyksestä — ECI (Earth-centred inertial) tai LVLH (local vertical, local horizontal) — nopeuslohkoon).
Äärellisen polton integrointi vs Tsiolkovski validated Vakiotyöntöinen integrointi polttokaaren yli (massa tilana), jonka saavutettu ΔV vastaa suljetun muodon Tsiolkovskin rakettiyhtälöä paremmin kuin 0,01 %.
Lambert-ratkaisija (Izzo 2015), edestakainen kierto validated Yhden kierroksen Lambert-tulos (r1, r2, lentoaika ⇒ v1, v2) viedään edestakaisin tarkan universaalimuuttuja-Kepler-propagaattorin läpi — sen on päädyttävä takaisin pisteeseen r2.
Porkchop-pyyhkäisy vs Hohmannin alaraja validated Lähtö × saapuminen C3 / saapumis-V∞ -ruudukon minimiä verrattaan kahden samatasoisen ympyräradan analyyttiseen Hohmann-siirtymän C3-alarajaan.
Lambert-ratkaisija vs riippumaton kirjasto validated tests/lambert_reference.rs: 13 yhden kierroksen siirtymää LEO:sta GEO:on ja heliosentriseen, myötäkulkuisia ja vastakulkuisia, lamberthub 1.0.0 -kirjastoa izzo2015 vasten; huonoin reunanopeuden ero 7e-12 m/s.

Rehellinen rajaus: ei lentoradan optimoijaa, ei usean kierroksen Lambert-haaroja, ja synteettinen samatasoinen ympyrämäinen heliosentrinen malli (ei planeettojen DE-efemeridiä, joten GMAT-ristiintarkistusta Maa–Mars-C3:lle ei ole ajettu).

Radanmääritys (OD) (src/orbit_determination.rs, src/batch_ls.rs)#

Näkökohta Tila Todisteet
Gauss–Newton-eräkorjain validated Yleinen gauss_newton-ratkaisija saavuttaa tarkan painotetun pienimmän neliösumman ratkaisun lineaarisessa sovituksessa, palauttaa todelliset parametrit epälineaarisessa a·exp(b·t)-sovituksessa ja ratkaisee 3D-etäisyysmultilateraation kohinattomista etäisyyksistä.
Eräradanmääritys etäisyyksistä validated determine_orbit_batch palauttaa tilan [r, v] maa-aseman etäisyysseurannasta (propagoituna kaksikappale- ja J2-voimamallilla) metrin alle / mm·s⁻¹ kohinattomista etäisyyksistä ja ~2 m tarkkuudella, kun sovituksen jälkeinen residuaali on 5 m:n kohinalattialla — johdonmukaisen pienimmän neliösumman sovituksen tunnusmerkki.
Sekventiaalinen (unscented-suodatin) OD validated determine_orbit_sequential palauttaa tilan rekursiivisesti kymmenien metrien tarkkuudella samalla dynamiikalla ja etäisyysmallilla.
Erä- ja sekventiaalinen OD vs riippumaton estimaattori validated tests/batch_sequential_orbit_determination_reference.rs: 8 skenaariota (6 kohinatonta LEO/MEO/eksentristä 3–4 asemalla, 2 tasolla σ = 5 m) Orekit 12,2 -ohjelman erä-pienimmän neliösumman ja Kalman-estimaattoreita vasten täsmäytetyllä voimamallilla; huonoin erä 1e-3 m / 1e-6 m/s, sekventiaalinen 0,9 m.

| Etäisyysnopeuden / atsimuutti-korkeuskulman eräradanmääritys korkeuskulmamaskilla | modelled (ulkoinen vertailu, yksi ennakkorekisteröity kynnys ei täyttynyt) | tests/od_tracking_measurements_reference.rs: 8 skenaariota Orekit 12,2 -ohjelman erä-pienimmän neliösumman menetelmää vasten mukautetuilla hetkellisillä geometrisilla mittauksilla; näkyvät joukot identtiset, mittausarvot 5.8e-8 m / 6.3e-10 m/s / 1.4e-13 rad sisällä, tilasiirtymämatriisi 1.2e-14 sisällä, kohinaiset tilat 1,74 cm sisällä ja tyyppikohtainen RMS 2.7e-4 sisällä; ennakkorekisteröity kohinattoman tilan kynnys ≤ 1 cm jää saavuttamatta 2 skenaariossa 4:stä (1,46 ja 1,74 cm; Orekitin oma estimaatti on näin kaukana simuloidusta totuudestaan, kshanan 1e-8 m:n sisällä). Katso xval/od-measurements-orekit/RESULTS.md. |

Rehellinen rajaus: opetuskäyttöinen OD käyttää kiinteitä inertiaaliasemia, pallomaista Maata vastaavaa topocentristä kehystä ja hetkellisiä geometrisia mittauksia (ei valoaikaa, aberraatiota, refraktiota eikä Maan pyörimistä); etäisyysnopeus- ja kulmapolun tilasiirtymämatriisi on variaatiollinen (RK4-integroitu analyyttisillä kaksikappale- ja J2-osittaisderivaatoilla), ei suljetussa muodossa; etäisyysnopeudelle tai kulmille ei ole sekventiaalista suodatinta. Pelkän etäisyyden polku säilyttää äärellisen eron Jacobin matriisinsa. (Alla oleva täysvoimainen efemeridinsovitusmoottori kantaa oman variaatiollisen tilasiirtymämatriisinsa.)

Voimamallin validointi efemeridinsovituksella (src/precise_od.rs)#

Tarkka, täysvoimainen paikkahavaintojen pienimmän neliösumman eräestimaattori: EGM2008-tesseraalinen geopotentiaali (arvioituna Maahan kiinnitetyssä kehyksessä CIO-redusoinnin kautta) yhdistettynä Auringon ja Kuun kolmannen kappaleen vaikutukseen, SRP:hen, ilmakehän vastukseen, Schwarzschildin/Lense–Thirringin GR:ään (yleinen suhteellisuusteoria) ja yllä oleviin vuorovesiin, sovitettuna inertiaalisten paikkahavaintojen sarjaan variaatiollisella tilasiirtymämatriisi-Jacobilla. Validoitu synteettisellä datalla, jossa totuus on Kshanan oma integraattori, joten jokainen residuaali kuuluu estimaattorille eikä dynamiikalle.

Näkökohta Tila Todisteet
Tarkan voimamallin koostaminen validated tests/precise_od_synth.rs: asteen 0 kenttä on täsmälleen pistemassa jokaisella epookilla (keskustermi on kiertoinvariantti); aste 8 lisää J2-vyöhykkeen litistyneisyyden; Auringon kolmannen kappaleen termi ja vuorovesitermi kytkeytyvät bittitarkasti; vakio säteittäinen empiirinen kiihtyvyys on puhtaasti säteittäinen RTN-kehyksessä (radial, transverse, normal).
Variaatiollinen tilasiirtymämatriisi validated Jokainen Φ:n sarake puolen LEO-kierroksen yli (asteen 8 geopotentiaali + Aurinko + Kuu) vastaa riippumatonta koko kaaren keskeisdifferenssi (FD) -uudelleenpropagointia suhteellisella tarkkuudella < 1×10⁻⁶ sekä paikka- että nopeusvasteessa — dokumentoitu STM↔FD-ristiintarkistus. Φ(0) = I; laajennettu ja tavallinen propagaattori vastaavat toisiaan millimetrin murto-osan tarkkuudella.
Eräsovituksen itsepalautus validated Kohinattomasti havaittu 1 tunnin Kshana-kaari (aste 6 + Aurinko + Kuu) palautetaan 150 m / 0,1 m·s⁻¹ -poikkeamasta epookin tilaan 1×10⁻² m:n sisällä lähes nollan sovituksen jälkeisellä RMS:llä; kun mukana on 5 m valkoista kohinaa, sovituksen jälkeinen 3D-RMS asettuu ~σ-kohinalattialle, harhattomana. SRP:n C_R palautuu arvosta 1,0 1 %:n sisään totuudesta 1,4.
Poikkeavien havaintojen muokkaus ja RTN-raportointi validated 500 m:n törkeä virhe hylätään 5-σ-sovituksenjälkeisellä muokkauksella (täsmälleen yksi havainto), jolloin jää puhdas millimetritason sovitus; residuaalit raportoidaan hajotettuina säteittäiseen, poikittaiseen ja normaalikomponenttiin sekä 3D-muodossa.
Empiirisen kiihtyvyyden taso (RTN-vakio + 1-CPR (CPR: cycle-per-revolution, sykli kierrosta kohti)) validated Yhdeksän a priori -rajoitettua empiiristä parametria pysyvät alle 1×10⁻⁸ m·s⁻² empiriattomalla totuudella häiritsemättä sovitusta; totuuteen lisätty vakio 3×10⁻⁸ m·s⁻² poikittainen kiihtyvyys palautuu 20 %:n sisään.

Rehellinen rajaus: synteettinen aalto käyttää nimellisiä Maan orientaatioparametreja (EOP: UT1 (Universal Time 1, Maan pyörimisaika) ≈ TT (Terrestrial Time), ei napaliikettä) — tarkka itsepalautukselle, koska sama malli tuottaa ja sovittaa kaaren. Virastojen aineistovalidoinnit asettavat todelliset finals2000A EOP- ja SP3/SPK-totuudet (SPK: planeettaefemeridiydin) tämän moottorin päälle CIO-kehysketjun kautta (src/eop.rs, tests/agency_galileo.rs, tests/agency_swarm.rs, tests/agency_lro.rs).

Todelliset virastojen tarkat radat (tests/agency_galileo.rs, tests/agency_swarm.rs, tests/agency_lro.rs)#

Aineisto Tila Todisteet
Galileo MEO — < 5 m GREEN validated Kshanan täysvoimainen moottori sovitettuna sanatarkkaan otteeseen ESA/ESOC:n (ESOC: European Space Operations Centre) omasta lopullisesta radasta (ESA0MGNFIN, ITRF (International Terrestrial Reference Frame)) Galileo-satelliitille E11 8 tunnin ajalta, jokainen ITRF-havainto kierrettynä GCRS:ään todellisilla finals2000A EOP -arvoilla: sovituksen jälkeinen 3D-RMS 0,133 m puhtaalla voimalla ja C_R (RTN 0.105/0.067/0.047 m, C_R 1,174), 0,070 m empiirisen tason kanssa, 78,7 km:n raakapäällekkäisyydestä. Koko 24 tunnin kaari on 0,611 m. Kaikki selvästi 5 m:n kynnyksen sisällä. Kenttä gravitaatiokonvergoitunut asteella/kertaluvulla 8 (identtinen asteilla/kertaluvuilla 8/10/12); työ workflow_dispatch ajaa koko asteen/kertaluvun 70. Alkuperä ja SHA-256 (SHA: Secure Hash Algorithm) tiedostossa tests/fixtures/agency/NOTICE.md; täysi tallenne tiedostossa docs/AGENCY-ORBIT-VALIDATION.md.
Swarm-A LEO — < 5 m GREEN validated Täysvoimainen moottori (+ ilmakehän vastus) sovitettuna sanatarkkaan otteeseen ESA:n omasta Swarm-A:n redusoidun dynamiikan tarkasta radasta (SW_OPER_SP3ACOM_2_, L47, ITRF, ~430 km, ~2 cm) 3 tunnin ajalta asteella/kertaluvulla 70, todelliset finals2000A EOP CIO-ketjun kautta: dynaaminen taso (vain tila, staattinen tiheys, C_R=1) sovituksen jälkeinen 3D-RMS 2,687 m (RTN 0.925/2.522/0.045 m — residuaali ≈ puhdas rataa pitkin vaikuttava vastus), redusoidun dynamiikan taso (+ empiiriset CPR-kiihtyvyydet) 0,098 m (RTN 0.026/0.092/0.025 m) — ~10 cm ESA:n ~2 cm:n rataan nähden. Alkuperä ja SHA-256 tiedostossa tests/fixtures/agency/NOTICE.md; täysi tallenne tiedostossa docs/AGENCY-ORBIT-VALIDATION.md.
LRO (Lunar Reconnaissance Orbiter) kuu — validoitu, yli 5 m (rehellisesti) validated Kuukeskinen voimamallin sovitus (src/lunar_od.rs): GRAILin GRGM660PRIM-gravitaatiokenttä (aste/kertaluku 100) kuun kappaleeseen kiinnitetyssä pääakselikehyksessä (src/lunar_frame.rs, IAU 2015 keski-Maa sekä kiinteä DE421:n (Development Ephemeris 421) keski-Maa → pääakseli (ME→PA) -poikkeama, sovellettuna niin kuin SPICE sen määrittelee versiosta 0,36 alkaen: sitä ennen se sovellettiin väärään suuntaan, noin 208″ pielessä) + Maan ja Auringon kolmannen kappaleen vaikutus, sovitettuna samalla yleisellä Gauss–Newton-estimaattorilla kuin Maan aineistot todelliseen JPL Horizons LRO (NAIF −85) -rekonstruoituun rataan, 4 h / 241 epookkia, ~98 km. Rehellinen sovituksen jälkeinen tulos (0,36): dynaaminen 12,05 m (RTN 2.91/10.11/5.88), redusoitu dynaaminen 6,67 m (RTN 3.41/4.58/3.44, 1+2 kierrosta kohti empiirinen), 39,9 m:n raakapäällekkäisyydestä (ennen ME→PA-korjausta: 12,6 m, 6,65 m, 53,8 m) — yli kynnyksen < 5 m, ei estimaattori (identtinen asteilla/kertaluvuilla 100/150 ja atol 1e-6/1e-9). DE-luokan ristiinvalidointi (xval/anise-lunar-od: DE440 (Development Ephemeris 440) kuun PA-orientaatio + DE440-efemeridi ANISEn kautta) korjasi rajoittavaa tekijää koskevan väitteen — se antoi 12,0 m dynaamisena ja 6,67 m redusoituna dynaamisena, ja korjattu analyyttinen pino vastaa nyt molempia tasoja (aiempi dynaaminen ero, 12,6 → 12,0 m, oli ME→PA-poikkeaman virhe), joten operatiivinen lattia ei ole analyyttinen orientaatio tai efemeridi vaan empiirisellä tasolla pienenemätön residuaali (yhteensopivin mallintamattoman LRO:n ei-gravitaatiodynamiikan kanssa lyhyellä kaarella); kevyt analyyttinen pino vastaa jo DE-luokkaa redusoidun dynaamisen radan osalta. Alkuperä ja SHA-256 tiedostossa tests/fixtures/agency/NOTICE.md; täysi tallenne tiedostossa docs/AGENCY-ORBIT-VALIDATION.md. Validoitu todellista virastojen totuutta vasten: 3 / 3; kynnys < 5 m täyttyy: 2 / 3.

Painovoimakartta / alt-PNT-navigointi (src/gravimeter.rs, src/mapmatch.rs, src/particle_filter.rs, src/altpnt/terrain.rs)#

Näkökohta Tila Todisteet
Pallofunktiokehitelmän painovoima-anomaliakenttä validated src/gravimeter.rs: matala-asteinen, täysin normalisoitu kenttä, tarkistettu suljetun muodon Legendre-funktioita (P̄₁₁ = √3·cosφ, P̄₂₀ = (√5/2)(3sin²φ−1), P̄₂₂ = (√15/2)cos²φ) ja käsin johdettua yhden termin anomaliaa 1,897 mGal vasten.
Kylmäatomigravimetrin mittausmalli validated (malli) Valkoisen kohinan lattia johdetaan CAI-kiihtyvyysmittarin ASD:stä (σ = ASD/√τ) ja syötetään deterministisenä siemenlukujonona (täsmääjälle ei koskaan anneta kohinatonta totuutta, mutta ajo on silti bittitarkasti toistettava).
Sekventiaalinen tärkeysotantaan perustuva uudelleenotantahiukkassuodatin validated src/particle_filter.rs: deterministinen ydin on kiinnitetty täsmälleen — ESS (tehollinen otoskoko) ulottuu arvoihin 1…N, systemaattinen uudelleenotanta valitsee indeksit painoon suhteutettuna, painotettu keskiarvo on konveksi yhdistelmä, Gaussin uskottavuus vetää estimaatin mittaukseen, ja siemenluvun ohjaama ennustus on deterministinen.
Karttasovituksen uskottavuus ja palautus validated src/mapmatch.rs: field_likelihood saavuttaa huippunsa (= 1) täydellisessä osumassa ja laskee arvoon e^(−½) yhden sigman kohdalla; hiukkassuodatin erottuvan synteettisen maaston laikun yli palauttaa todellisen sijainnin 0,1 sisään.
60 minuutin GPS-estetty benchmark validated run_gps_denied_gravity_nav (scenarios/gps-denied-gravity-nav.toml): ~700 km / yhden tunnin katko, jossa inertiaaliratkaisu ajautuu ≈ 70 km päähän, palautetaan ≈ 145 m tarkkuuteen (< 500 m) hierarkkisella karkeasta hienoon etenevällä täsmääjällä — bittitarkasti toistettava, vakaa kohinatoteutumien yli ja todistettavasti hienonnuksen rajoittama (yksittäinen karkea ruudukko jumittuu ~2 km:iin).
SRTM (Shuttle Radar Topography Mission) .hgt DEM (digitaalinen korkeusmalli) -lataaja ja bilineaarinen näyte (ORAAKKELI A) validated src/altpnt/terrain.rs / tests/terrain_nav_validation.rs: käsin rakennettu 2×2 .hgt-puskuri, jonka kulmat ovat [100 200;300 400], interpoloituu bilineaarisesti täsmälleen arvoon 250,0 solun keskellä (suljetun muodon oraakkeli), 16-bittinen big-endian-edestakainen kierto on tarkka, ja rivin kääntö sijoittaa tiedoston pohjoisimman rivin suurimmalle tallennetulle leveysasteelle — kaikki GDAL:n (Geospatial Data Abstraction Library) SRTMHGT-ajurin (Shuttle Radar Topography Mission height-file format) määrittelyä vasten (16-bittinen etumerkillinen big-endian, riveittäin, pohjoinen rivi ensin, tyhjä -32768, https://gdal.org/en/stable/drivers/raster/srtmhgt.html). Versionhallintaan tallennettu 11×11 testiaineisto (tools/gen_terrain_fixture.py) harjoittaa jäsennintä CI:ssä; ja versionhallintaan tallennettu todellinen julkisen alueen NASA/USGS (USGS: United States Geological Survey) SRTM v3 -laatta (N36W117, Kuolemanlaakso, harvennettu 6 kaarisekuntiin, 722 KB, tests/fixtures/terrain/N36W117_sub6.hgt) luetaan CI:ssä (ei ohitettu, real_srtm_committed_badwater_tile_reads_real_relief), ja se sijoittaa Badwater Basinin tasolle ≈ −78 m dokumentoidun [−95,−70] m:n vyöhykkeen sisällä (NGS/NOAA (NGS: National Geodetic Survey; NOAA: National Oceanic and Atmospheric Administration) -mittaus ≈ −86 m), laatan maksimin ollessa ≈ 2161 m — totuuden lähde on mittaus, testattavana on DEM (ei kehämäinen). Suuremmat julkaistut korkeuspisteet (Mount Whitney 4421 m) pysyvät koko laatan testeissä, jotka on rajattu #[ignore]-merkinnällä.
Maastoon viittaava navigointi (TERCOM/SITAN (TERCOM: terrain contour matching; SITAN: Sandia Inertial Terrain-Aided Navigation)) -konvergenssi (ORAAKKELI B) validated run_terrain_nav (scenarios/terrain-nav.toml): käsin johdettu lisätty INS-ajautuma (0,5°N, −0,4°E ≈ 70 km leveysasteella ~12°, laskettuna kaavalla ajautuma° × M_per_deg × cos lat) palautetaan tarkkuuteen < 500 m (ruudukon erottelukyvyn lattian search_step/factor² ≈ 140 m sisällä), yli 100-kertainen vähennys vapaaseen inertiaaliin nähden — tarkistettu lisättyä lukua vasten, ei koskaan DEM:iä (ei kehämäinen), bittitarkasti toistettava ja vakaa kohinasiemenluvuilla.
Painovoima-, magneetti- ja maastoyhdistelmän fuusiohyöty (ORAAKKELI C) validated run_combined_altpnt (scenarios/combined-altpnt.toml): kolme skalaarikanavaa (Δg · |B| kuoren anomalia · korkeus) yhdistettynä tulouskottavuutena antavat rajatun < 500 m residuaalin 60 minuutin katkon yli, joka siemenluvuilla keskiarvoistettuna on ei huonompi kuin paras yksittäinen kanava (informaation additiivisuus / pienempi CRLB (Cramér–Rao lower bound)). Asettuu julkaistuun TERCOM- / maastoon viittaavan navigoinnin (TRN) "kymmenien metrien" CEP-alueeseen (circular error probable) (https://en.wikipedia.org/wiki/TERCOM; PeerJ 2024 ESKF-TERCOM (ESKF: error-state Kalman filter), https://peerj.com/articles/cs-3118/).

Rehellinen rajaus: painovoimakenttä on matala-asteinen ja synteettisiä massakeskittymiä (mascon), ei täysi EGM2008/EIGEN (EIGEN: European Improved Gravity model of the Earth by New techniques) -kerroinjoukko; magneettikanava nojaa tasaiseen IGRF-pääkenttään ja synteettisiin kuoren anomalian massakeskittymiin (todellinen korkeataajuinen kuorikartta on jatkotyö); navigointipäivitys-benchmarkien CI-maastokenttä on itsenäinen synteettinen DEM, kun taas .hgt-lukija itse on nyt validoitu CI:ssä versionhallintaan tallennettua todellista SRTM v3 -laattaa vasten (yllä); täyden resoluution todelliset laatat pysyvät rajattuina merkinnällä #[ignore]. Karttaesitysvirheen Monte Carlo on edelleen jatkotyö. Kaikki kolme navigaattoria on nyt kytketty skenaariomoottorin kind=-tyyppeihin (gravity-map, terrain-nav, combined-altpnt).

INS / IMU -virhemalli — datalehtiin viittaava validointi (src/inertial/)#

IMU:n stokastinen virhemalli validoidaan julkaistuja valmistajan datalehti- ja aineistomäärittelyjä vasten — ei koskaan arvoa vasten, jonka Kshana itse on tuottanut. Silta kenttäyksiköisestä määrittelystä SI-kohinamalliin (International System of Units) on tavallinen Allanin poikkeaman tunnistus (Riley, NIST SP 1065 §5; IEEE (Institute of Electrical and Electronics Engineers) Std 952): satunnaiskävelykerroin N on päällekkäinen ADEV luettuna kohdassa τ = 1 s kulmakertoimella τ⁻¹ᐟ², ja bias-epävakauden kerroin on Allanin tasanne (tests/imu_allan_spec.rs, hermeettinen — ei latausta).

Näkökohta Tila Todiste / oraakkeli
Yksikönmuunnoskerros (#1 ei-kehämäisyysriski) validated Käsin tarkistettu: 0,15 deg/√hr = 4.3633e-5 rad/√s; 3,6 µg = 3.5304e-5 m/s²; 2,0 deg/hr = 9.6963e-6 rad/s.
Gyron kulman satunnaiskävely validated ADIS16465 ARW 0,15 deg/√hr (Analog Devices -datalehti) palautettu ADEV(1 s) -arvosta tarkkuudella < 5%.
Kiihtyvyysmittarin nopeuden satunnaiskävely validated ADIS16465 VRW 0,1 m/s/√hr palautettu tarkkuudella < 5%.
Valkoisen kohinan Allan-kulmakerroin validated ADIS16460:n valkoisen haaran log-log-kulmakerroin −0,5 ± 0,05.
Ajonaikaisen bias-epävakauden tasanne validated ADIS16465:n gyron bias-epävakaus (BI) 2,0 deg/hr palautettu Allanin tasaisena minimina tarkkuudella < 15%.
Toinen IMU-profiili validated NaveGo ADIS16488 (ARW 0,3 deg/√hr, VRW 0,029 m/s/√hr) molemmat palautettu tarkkuudella < 5%.

Rehellinen rajaus: tämä validoi stokastisen virhemallin datalehtien Allan-kertoimia vasten. i2Nav-WHU (WHU: Wuhan University) KF-GINS -ajoneuvoaineistoa käytetään erillisenä, aineistoon sidottuna tarkistuksena: löyhästi kytketty suljetun silmukan virhetila-EKF GNSS-vipuvarsimallilla on varmennusmatriisin VALIDATED-rivi (Loosely coupled GNSS/INS EKF with lever arm on the KF-GINS dataset), ja sitä verrataan KF-GINS C++ -referenssilentorataan ennen ajoa rekisteröidyillä kynnyksillä. Se ajetaan vain, kun aineisto on annettu (KSHANA_KFGINS_DIR); ilman sitä ajetaan synteettinen lataaja ja vipuvarsitestit. Tiukasti kytkettyjä ja kantoaallon vaiheen variantteja tämä rivi ei kata (kantoaallon vaiheen tiukasti kytketty GNSS/INS-rivi on MODELLED).

Syväavaruus ja Mars PNT — D0-perusta (src/body.rs, src/mars_frame.rs, src/ephem_provider.rs, src/radiometric.rs, src/timescales.rs)#

Syväavaruusnavigointimoottorin ensimmäinen välitavoite: Maahan kovakoodatun ytimen yleistäminen mielivaltaiselle keskuskappaleelle, Marsin dynamiikan lisääminen, efemeridintarjoajan rajapinta, alle mikrosekunnin aika sekä valoajan ja relativistisen viiveen perusosat. Jokainen olemassa oleva Maa-skenaario on tavuittain identtinen — alustojen välisen toistettavuuden golden-tiedostot (tests/cross_platform_golden.rs, tests/golden.rs) läpäisevät muuttumattomina ilman uudelleengenerointia, mikä varmistetaan jokaisessa commitissa.

Termi Tila Todisteet
Keskuskappaleen abstraktio (Maa tavuittain identtinen) validated src/body.rs: Body{mu,re,zonals,gravity,rotation,IAU-pole} ja earth()/mars()/moon()/sun(). tests/mars_dynamics.rs varmistaa, että two_body_accel_body(r,&Body::earth()) ja zonal_accel_body ovat yhtä kuin vanhat Maa-funktiot täsmälleen bittitasolla (assert_eq!), ja oletusarvoisella ForceModel-rakenteella laskettu Maa-kaari on tavuittain identtinen — toistettavuuden golden-tiedostot ovat muuttumattomia (sama SHA, ei uudelleengenerointia).
Marsin painovoima (GMM-3 (GMM: Goddard Mars Model) tesseraalinen, kappaleeseen kiinnitetty) validated (malli) Body::mars_gmm3(nmax): vyöhykekertoimet C̄20/C̄30/C̄40 MRO110:n (Mars Reconnaissance Orbiter -painovoimaratkaisu) J2/J3/J4-arvoista (C̄n0=−Jn/√(2n+1), J2 palautuu edestakaisin arvoon 1.9604e-3) sekä MRO110B2:n sektoriaaliset ja tesseraaliset C̄22/S̄22, C̄32/S̄32 (Konopliv ym. 2011; taulukoitu julkaisussa Liu, Baoyin & Ma 2012), arvioituna IAU:n Marsiin kiinnitetyssä kehyksessä. tests/mars_dynamics.rs tarkistaa edestakaisen kierron, J2-mittakaavan poikkeaman pistemassasta ja sen, että kenttä on aidosti kappaleeseen kiinnitetty (neljänneksen Marsin vuorokauden uudelleensuuntautuminen muuttaa inertiaalista kiihtyvyyttä). Korkeampi aste/kertaluku ladataan mukana toimitetusta tiedostosta .gfc funktiolla gravity_sh::from_gfc.
Marsiin kiinnitetty kehys (IAU:n napa) validated src/mars_frame.rs: IAU:n 3-1-3-kierto R3(W)·R1(90°−δ0)·R3(90°+α0) (WGCCRE/NAIF (WGCCRE: Working Group on Cartographic Coordinates and Rotational Elements) -käytäntö, sama kuin lunar_frame.rs). Testit: ortonormaali tarkkuudella 1e-12 determinantilla +1, edestakainen identiteetti, nollameridiaani etenee nopeudella prime_w_dot vuorokaudessa.
Marsin / Aurinko-keskinen propagointi validated (sisäinen johdonmukaisuus) tests/mars_propagation.rs: matala Mars-rata palaa lähtöpisteeseensä yhden Kepler-jakson jälkeen (sulkeutuminen); ominaisenergia ε=v²/2−μ/r ajautuu < 1e-9 kaaren yli; Marsin J2:n maallinen solmun regressio vastaa analyyttistä Vallado-nopeutta (laskettu riippumattomasti ≈ −5,15 °/vrk inklinaatiolla 60°) 3 %:n tarkkuudella; heliosentrinen rata palauttaa ~687 vuorokauden Marsin vuoden (vis-viva ja riippumaton jakson palautus kaaresta). Ei ulkoista dataa.
DE440-ristiinvalidointi (heliosentrinen Mars) kernel-gated xval/anise-mars-od/ (työtilan ULKOPUOLELLA; MPL-2.0-lisensoitu ANISE rajattu omaan Cargo.lock-tiedostoonsa; peilaa kohdetta xval/anise-lunar-od): vertaa Kshanan Aurinko-keskistä Marsin propagointia JPL DE440:een (ANISEn kautta), Horizonsin totuus siteerattu sanatarkasti (alkuperä ja SHA-256). Toistettu tulos (siemen JD (Julian date) 2459580,5 TDB (Barycentric Dynamical Time), de440s.bsp SHA-256 c1c7fee…b260a49f2): paikkaresiduaali 137 m 1 vuorokauden kaarella (5,97×10⁻¹⁰ heliosentrisestä etäisyydestä 2,299×10¹¹ m), kasvaen arvoon 3,3 km kohdassa 5 vrk, 87,9 km kohdassa 30 vrk, 1,71 Mm kohdassa 90 vrk — residuaali kasvaa kaaren pituuden mukana, koska Aurinko-keskinen kaksikappalemalli jättää tarkoituksella pois planeettojen häiriöt (pääasiassa Jupiter) ja Mars-järjestelmän sisäisen liikkeen, jotka DE440:n barycenter-efemeridi sisältää, joten kasvu on rehellinen tunnusmerkki mallintamattomasta n-kappaledynamiikasta eikä integraattorin virhe; lyhyt kaari, joka pysyy pienenä murto-osana heliosentrisestä etäisyydestä, vahvistaa Aurinko-keskisen koneiston oikeaksi. Ajetaan vain, kun DE440-ydin on käytettävissä ($KSHANA_ANISE_DE440S, tai noudetaan automaattisesti ~32 MB) — manuaalinen / workflow_dispatch DE-luokan tarkistus, ei oletusarvoinen CI-portti, joten julkaistu crate ja jokainen oletusportti pysyvät tavu tavulta koskemattomina.
Valoaika ja Shapiro-viive validated src/radiometric.rs: iteratiivinen viivästetyn epookin valoaikaratkaisu (konvergoituu |Δτ| < 1e-12 s, rajattu) ja Shapiro-viive Δt=(2μ/c³)·ln[(r1+r2+r12)/(r1+r2−r12)]. Testit: Maa–Aurinko ≈ 499 s ja Maa–Kuu ≈ 1,28 s sisäänrakennetulla efemeridillä; synteettinen vakionopeuksinen lähettäjä palauttaa analyyttisen viivästetyn ratkaisun tarkkuudella < 1e-9 s (ratkaisija todistettu riippumattomaksi mistään todellisesta efemeridistä); Shapiro vastaa käsin laskettua arvoa täsmälleen ja antaa ~100–250 µs Maa–Mars-yläkonjunktion sivuavalle säteelle.
Efemeridintarjoajan rajapinta validated src/ephem_provider.rs: trait EphemerisProvider ja ytimetön BuiltinEphemeris (Montenbruck–Gill Aurinko/Kuu, geosentrinen); palauttaa arvon None kappaleille, joille sillä ei ole sarjaa (esim. Mars), ja niille polku on DE-luokan ANISE-tarjoaja — sama sisäänrakennettu vs ANISE -jako kuin LunarEnvironment/AniseLunarEnvironment.
Kaksiosainen aika ja TT↔TDB validated src/timescales.rs: TwoPartJd{day,frac} Knuthin kahden summan kertymällä palauttaa alle mikrosekunnin välit, jotka yksittäinen f64-JD menettää J2000:n lähellä (>1000× parempi, testattu); tt_to_tdb/tdb_to_tt käyttävät hallitsevaa Fairhead–Bretagnon jaksollista sarjaa (|TDB−TT|≲1,7 ms, käsin varmennettu hetkellä J2000). Lisäävä — nykyinen yhden f64:n aikapolku ei muutu.

Syväavaruuden radiometriset suureet ja CCSDS Tracking Data Message — D1 (src/radiometric.rs, src/ccsds_tdm.rs)#

Syväavaruusnavigointimoottorin toinen välitavoite: havaintosuuremalli, joka muuntaa D0:n valoaika- ja relativistisen viiveen ytimen niiksi suureiksi, jotka Deep Space Networkin (DSN) tai ESTRACKin (European Space Tracking network) seurantakierros raportoi — etäisyys, yksi-, kaksi- ja kolmitieinen Doppler, koherentti transponderin käännös, regeneratiivinen / PN (PN: pseudo-noise) -etäisyysmittaus, Δ-DOR (DOR: differential one-way ranging) ja etenemisväliaineet — sekä CCSDS (Consultative Committee for Space Data Systems) 503.0-B Tracking Data Message (TDM) -syöttö ja -tuloste, joka lukee ja kirjoittaa standardin viraston seurantatiedoston. Rehellinen rajaus: nämä ovat Moyerin / CCSDS:n käytäntöjä noudattavia tarkkoja geometrisia malleja; mittauskohina on kutsujan antama havaintokohtainen sigma, ei mallin sisään rakennettu. Tietyn todellisen seurantakierroksen toistaminen vaatii todellista TDM-dataa ja syväavaruuden radanmääritysratkaisijan — se on D2, ei D1. Kaikki alla oleva on lisäävää (toistettavuuden golden-tiedostot ovat muuttumattomia; sama SHA, ei uudelleengenerointia).

Termi Tila Todisteet
Etäisyys ja 1/2/3-tieinen Doppler (Moyerin kahden osuuden ratkaisu) validated (malli) src/radiometric.rs: one_way_range/two_way_range yhdistävät D0:n viivästetyn (alasuunnan) ja etenevän (ylösuunnan) valoaikaratkaisun; koko edestakaisen matkan käytäntö on ρ₂ = c·(τ_up + τ_down) (m), dokumentoitu ja johdonmukainen. one_way_doppler/two_way_doppler/three_way_doppler muodostavat kantoaallon siirtymän f_D = −(M·f_ul/c)·(ρ̇_up + ρ̇_down) (Hz) näkölinjan etäisyysnopeudesta, merkkikäytäntö: lähestyvä avaruusalus antaa positiivisen (sinisen) siirtymän. Testit: kaksitieinen etäisyys = osuuksien summa tarkkuudella < 1 mm (~2 AU Maa–Aurinko-edestakainen matka); yksitieinen etäisyys = c·τ täsmälleen; yksitieinen Doppler vastaa analyyttistä −(f/c)·ρ̇ säteittäiselle vakionopeuksiselle lähettäjälle ppt-tarkkuudella; kolmitieinen samassa paikassa olevilla asemilla romahtaa tavu tavulta kaksitieiseksi.
Koherentti transponderin käännös (tarkat DSN-suhteet) validated src/radiometric.rs turnaround_ratio: tarkat rationaaliset DSN/CCSDS-käännösluvut M = f_down/f_up (Moyer §13; DSN 810-005 module 201/214) — S/S 240/221, S/X 880/221, X/S 240/749, X/X 880/749, X/Ka 3344/749, Ka/Ka 3360/3599. Testattu täsmälliselle yhtäsuuruudelle; määrittelemätön kaistapari paniikkaa (kaatuu äänekkäästi, ei koskaan keksi suhdetta). two_way_doppler_coherent soveltaa kaistan kantoaaltoa ja suhdetta päästä päähän ja on yhtä kuin eksplisiittinen two_way_doppler koneen tarkkuudella.
Regeneratiivinen / PN-etäisyysmittaus (CCSDS 414; ambiguiteetti) validated src/radiometric.rs: regenerative_range_ambiguity = c/(2·chip_rate) (chip-kohtaisen erottelun mittakaavan yksiselitteinen etäisyys) ja pn_range_ambiguity = se kerrottuna koodin pituudella (koko PN-koodin yksiselitteinen etäisyys c·L/(2·f_chip)), CCSDS 414.1-B:n mukaan. Testattu: 1 MHz:n etäisyyskello antaa ~149,9 m; CCSDS-414.1:n painotetun äänestyksen PN-koodi (1 009 470 chippiä) nopeudella 1 Mchip/s antaa suunnitellun ~151 000 km:n yksiselitteisen etäisyyden; chip-nopeuden kaksinkertaistaminen puolittaa chip-kohtaisen ambiguiteetin.
Δ-DOR (CCSDS 506 taivaantason) validated (malli) src/radiometric.rs delta_dor: differentiaalinen taivaantason viive Δτ = −B⃗·(ŝ_sc − ŝ_quasar)/c (s) interferometrin kantaviivalle B⃗ (CCSDS 506.1-B). Testattu: vastaa tarkkaa analyyttistä projektiota −B·sin(Δθ)/c tunnetulle kantaviivan suuntaiselle poikkeamalle tarkkuudella 1e-15 s, pienen kulman suuruutta |Δτ| ≈ B·Δθ/c ja nollaa (kvasaarin kanssa samaan suuntaan osoittava avaruusalus antaa täsmälleen nollan differentiaalisen viiveen).
Plasman 1/f²-kaksoistaajuuskalibrointi validated (malli) src/radiometric.rs: solar_plasma_delay = K_PLASMA·TEC/(c·f²) (dispersiivinen 1/f²-varattujen hiukkasten ryhmäviive, K_PLASMA = 40.3 m·Hz²·TECU⁻¹); coronal_tec_from_sep Cassini-luokan TEC ∝ 1/sin(SEP) koronan pylväs (analyyttinen sijaisarvo, ei kalibroitu korona); dual_freq_plasma_calibration K_disp = (Δt_X−Δt_Ka)/(1/f_X²−1/f_Ka²) -dispersioinversio, jota DSN käyttää plasman poistamiseen. Testattu: 1/f²-laki d_X/d_Ka = (f_Ka/f_X)²; korona kasvaa konjunktiota kohti; ja lisätty TEC palautuu tarkkuudella < 1 % (itse asiassa ≪ 1e-9 kohinattomana) — dual_frequency_recovers_injected_plasma.
Tropo- / ionovälineet (GNSS-mallien uudelleenkäyttö) validated (malli) src/radiometric.rs tropo_delay/iono_delay: syväavaruuden maa-asemasegmentti läpäisee saman Maan ilmakehän, jonka GNSS-paketti jo mallintaa, joten nämä delegoivat funktioille gnss_sim::tropo_delay_m (Saastamoinen-zenith + Niell-kuvaus, ei-dispersiivinen) ja gnss_sim::klobuchar_delay_m (lähetetty iono). Testattu kytkettynä ja fysikaalisesti oikealla merkillä: tropo positiivinen ja suurempi matalalla korkeuskulmalla kuin zenitissä; iono ei-negatiivinen vinoviive (numeerinen tarkkuus on GNSS-paketin omien datalehtiin viittaavien testien asia).
CCSDS-TDM 503 -jäsennys / -tuloste ja radiometrinen silta validated src/ccsds_tdm.rs: CCSDS 503.0-B-2 KVN (keyword-value notation) -lukija ja -kirjoittaja (otsikko + META_START…META_STOP / DATA_START…DATA_STOP -segmentit; RANGE/DOPPLER_*/ANGLE_*/*_FREQ -tietueet). Testit (#[cfg(test)] + tests/fixtures/deepspace/reference.tdm): referenssitestiaineisto jäsentyy odotetuiksi nimetyiksi kentiksi; jäsennys→tuloste→jäsennys on yhtä suuri rakenne (semanttinen edestakainen kierto); silta to_radiometric_obs kuvaa yksiselitteiset RANGE/DOPPLER_*-tietueet rakenteeksi RadiometricObs (tie kentästä PATH 1,2/1,2,1/1,2,3, kaista kentästä TRANSMIT_BAND, km→m); usean segmentin tiedosto nollaa tilakoneen. Rehellinen ohita, älä arvaa: kulmat ja taajuudet, tuntemattomat kaistat, vuorokauden järjestysnumeroon perustuvat epookit ja tunnistamattomat aikajärjestelmät ohitetaan, niitä ei koskaan kuvata väärin, ja sigma jätetään arvoon 0.0 kutsujan painotettavaksi.
DSN/ESTRACK-benchmark (mallin toistotarkkuus ≫ julkaistu lattia) validated (model) tests/radiometric_benchmark.rs: havaintosuureet ovat tarkkoja geometrisia laskuja, joten rehellinen benchmark on, että mallin oma numeerinen virhe on selvästi julkaistun DSN/ESTRACK-mittauslattian alapuolella — malli ei ole tarkkuuden pullonkaula, kutsujan antama σ on. Jokainen testi laskee havaintosuureen kahdella riippumattomalla tavalla (tai palauttaa lisätyn totuuden) ja varmistaa, että residuaali on lattian alapuolella: etäisyys palautuu edestakaisin tarkkuudella < 1 mm ≪ ~1 m PN-etäisyysmittauksen lattia (DSN 810-005 mod. 214 / CCSDS 414.1-B); Doppler vastaa tarkkaa suljetun muodon viivästettyä etäisyysnopeutta v/(1+v/c) tarkkuudella ~10⁻⁶ m/s, useita kertoja alle ~0,05 mm/s X-kaistan lattian (DSN 810-005 mod. 203 / Moyer) — residuaali on f64:n etäisyyserotuksen lattia kohdassa ~1 AU, numeerinen ominaisuus eikä mallinnusvirhe; Δ-DOR toistaa suljetun muodon projektion vastaavalla taivaantason kulmalla ≪ 1 nrad ≪ ~1–10 nrad:n lattia (DSN 810-005 mod. 210 / CCSDS 506.1-B); plasman kaksoistaajuus palauttaa lisätyn viiveen tarkkuudella ≪ 1 %; ja Shapiro-viive asettuu julkaistuun ~100–250 µs:n Maa–Mars-konjunktion vyöhykkeeseen. Julkaistut luvut esitetään ja merkitään suuruusluokkaa kuvaaviksi DSN-määrittelyiksi, ei keksityiksi tarkoiksi luvuiksi, ja moduulin dokumentaatio toteaa selvästi, että tämä vertailee MALLIN TOISTOTARKKUUTTA, ei todellisen kierroksen toistoa (se on D2 + todellinen TDM).

Syväavaruuden redusoidun dynamiikan OD — D2 (src/deepspace_od.rs, src/clock_state.rs, src/mars_atmos.rs)#

Syväavaruusnavigointimoottorin kolmas välitavoite: estimaattori, joka muuntaa D1:n radiometriset havaintosuureet palautetuksi lentoradaksi — numeerisesti vakaa neliöjuuri-informaatiosuodatin (Square-Root Information Filter, SRIF), jossa on redusoidun dynamiikan empiiriset kiihtyvyydet, kolmitilainen aluksen kello, Marsin ilmakehän vastusmalli ja radiometriset mittausosittaisderivaatat, jotka yhdistävät etäisyyden ja Dopplerin suodattimen tilaan, ja jonka päästä päähän sulkee synteettinen matalan Mars-radan (LMO) radanmäärityksen palautus. Rehellinen rajaus: palautus on synteettinen suljettu silmukka (totuus ja suodatin jakavat saman Marsin propagaattorin, ja havainnot ovat sama geometrinen havaintosuuremalli, jonka suodatin kääntää, sekä lisätty Gaussin kohina) — se validoi estimaattorin koneiston, ei Marsin voimamallin absoluuttista tarkkuutta; DE-luokan ulkoinen ristiintarkistus on ytimeen sidottu xval/anise-mars-od-crate (D0.8b). Kaikki alla oleva on lisäävää (toistettavuuden golden-tiedostot ovat muuttumattomia; sama SHA, ei uudelleengenerointia).

Termi Tila Todisteet
SRIF-ydin (neliöjuuri-informaatiosuodatin) validated src/deepspace_od.rs Srif: käsin toteutettu Biermanin neliöjuuri-informaatiosuodatin — yläkolmiomatriisi R ja Λ = RᵀR, informaatiovektori b, Householder-mittaus- ja aikapäivitykset, paljas Vec<f64>-aritmetiikka (ei nalgebraa). Testit: sekventiaalinen SRIF vastaa erä-painotetun pienimmän neliösumman (gauss_newton) ratkaisua sekä tilassa että kovarianssissa tarkkuudella 1e-9 suunnitellussa lineaari-Gaussin ongelmassa (srif_matches_batch_on_linear); palautettu kovarianssi P = R⁻¹R⁻ᵀ on symmetrinen (1e-12) ja positiividefiniitti konstruktion perusteella pitkän mittaus- ja aikapäivityssarjan jälkeen (srif_covariance_is_spd, Cholesky onnistuu); ja informaatio kertyy (P:n jälki pienenee monotonisesti, kun samalla geometrialla tehtyjä mittauksia lisätään).
Redusoidun dynamiikan empiiriset kiihtyvyydet (matkalento↔LMO-viritys) validated src/deepspace_od.rs ReducedDynamicOd: yhdeksäntilainen [r; v; a_emp]-suodatin, jossa RTN-empiiriset kiihtyvyydet ovat ensimmäisen asteen Gauss–Markov-prosessitiloja, JPL:n/ESOC:n redusoidun dynamiikan tekniikka esitettynä yhtenä dynamic_tightness-säätimenä (lähes dynaaminen ⇒ tasoittaa kohinaa ballistisella kaarella; lähes kinemaattinen ⇒ empiirinen taso absorboi mallintamattoman ohjailun tai vastuksen). Testit: lähes kinemaattinen suodatin seuraa portaittaista (potkurin) ohjailua alle ½ residuaalilla verrattuna lähes dynaamiseen, kun taas lähes dynaaminen suodatin tasoittaa kohinaista ballistista kaarta paremmin (reduced_dynamic_tracks_maneuver); tiukkuuden pyyhkäisy siirtää sovituksen jälkeistä residuaalia monotonisesti, jatkumona eikä kytkimenä (tuning_is_a_continuum).
3-tilainen aluksen kello (vaihe/taajuus/ajautuma, van Loan Q, Allan) validated src/clock_state.rs ClockState3: vaiheen, suhteellisen taajuuden ja taajuusajautuman virhetila tarkalla van Loanin diskreetillä prosessikohinalla ja Joseph-vakautetulla päivityksellä. Testit: diskretisoitu Q vastaa käsin johdettua van Loanin polynomia tarkkuudella 1e-12 ja palautuu täsmälleen kaksitilaiseen KalmanClock Q:hun, kun ajautuma = 0 (aito ylijoukko); usean askeleen rannikkoliuku kasvattaa vaiheen varianssin analyyttiseen NIST SP 1065 holdover-suhteeseen termin T⁵ satunnaiskulkutermin kautta; ajautumatila palauttaa todellisen ikääntymisrampin tarkkuudella < 5 %; USO-luokan Allan-profiili palautetaan (päällekkäinen ADEV kohdassa τ=1 s kalibrointiportin sisällä) ja estimaattori pysyy NEES-johdonmukaisena (>95 % 3σ:n sisällä) ja PSD:nä ankaran Q/R-ajon läpi. ClockClass kantaa siteeratut CSAC/USO/DSAC (USO: ultra-stable oscillator; DSAC: Deep Space Atomic Clock) σ_y(1 s) -luvut ja Doppler-lattian Δv = c·σ_y.
Marsin ilmakehän vastus (Mars-GRAM-lite (GRAM: Global Reference Atmospheric Model)) validated (model) src/mars_atmos.rs: paloittain eksponentiaalinen Marsin neutraalitiheysprofiili (pinta ~0,020 kg/m³, pinnan lähellä skaalakorkeus ~11 km, Mars-GRAM 2010 / MCD (Mars Climate Database) matalan pölyn keskiarvo) ja mukana pyörivään Marsin ilmakehään nähden otettu neliöllinen vastuskiihtyvyys sekä ..._scaled-variantti, jolla SRIF voi kertoa. Testit: tiheys pienenee monotonisesti ja jatkuvasti kaistojen yli, palautettu pinnan lähellä oleva skaalakorkeus on fysikaalinen ~11 km, vastus on täsmälleen vastakkaissuuntainen suhteelliseen nopeuteen nähden (ristitulo häviää tarkkuudella 1e-12) järkevällä ~3e-4 m/s² LMO-suuruudella, ja se on lineaarinen ballistisen termin suhteen. Rehellinen rajaus: edustava insinööriilmakehä, ei lennolla validoitu Mars-GRAM/MCD pöly-, vuodenaika- ja paikallisaikariippuvuuksineen.
Radiometriset mittausosittaisderivaatat (etäisyys/Doppler) SRIF:lle validated src/deepspace_od.rs range_observable / range_rate_observable: näkölinjan etäisyys ρ = |r_sc − r_sta| (∂ρ/∂r = û, ∂ρ/∂v = 0) ja etäisyysnopeus ρ̇ = û·(v_sc − v_sta) (∂ρ̇/∂v = û, ∂ρ̇/∂r = (v_rel − ρ̇·û)/ρ) -osittaisderivaatat, jotka yhdistävät D1:n havaintosuureet suodattimen tilaan, sekä yksitieisen Dopplerin kellotaajuuden osittaisderivaatta ∂ρ̇_obs/∂y = c. Testit: molemmat osittaisderivaatat vastaavat havaintosuureen keskeisdifferenssiä tarkkuudella 1e-6 (range_partial_matches_finite_difference, range_rate_partials_match_finite_difference); yksittäinen etäisyyspäivitys kutistaa kovarianssin havaitussa (näkölinjan, LOS) suunnassa ≫1000× ja pitää sen positiividefiniittinä (PD), ja Doppler-päivitys kutistaa LOS-nopeuden varianssia (radiometric_update_reduces_covariance_in_observed_direction, range_rate_update_observes_velocity).
Mars-LMO:n päästä päähän -OD radiometrisestä datasta validated (synthetic closed-loop) tests/mars_lmo_od.rs: totuuden mukainen matalan Mars-radan kaari, propagoituna painovoimalla Body::mars_gmm3(4), tuottaa kohinaisen kaksitieisen etäisyyden (σ=1 m) + Dopplerin (σ=0,1 mm/s) kahdelle sela-asemalle; redusoidun dynamiikan SRIF palauttaa radan ~2,7 km:n häiritystä alkutilasta. Saavutettu: konvergoitu paikan RMS ≈ 0,2 m (alle metrin, selvästi metrien ja kymmenien metrien valmiuskriteerin sisällä) 3 kierroksen, 30 s:n näytteenottovälin kaarella, ja tekijöihin jaettu kovarianssi on positiividefiniitti jokaisella epookilla (SRIF:n takuu, varmistettu koko ajan). Matkalento→LMO-virityksen jatkumo harjoitetaan päästä päähän: kun totuudessa on mallintamaton vastus, jota suodatinmallipohjassa ei ole, redusoidun dynamiikan säädin (tiukkuus 1) palauttaa ~14 m verrattuna lähes dynaamisen (tiukkuus 0) ajon ~677 m:iin — 48-kertainen parannus, kun empiirinen taso absorboi vastuksen. Rehellinen rajaus: synteettinen suljettu silmukka (totuus = sama propagaattori, jota suodatin käyttää); DE-luokan ulkoinen ristiintarkistus on ytimeen sidottu xval/anise-mars-od (D0.8b), jota ei koskaan ajeta täällä, ei verkkoa.

Syväavaruuden PNT-skenaario ja yksi- ja kaksitieinen fuusio — D3 (src/mars_pnt.rs, src/deepspace_od.rs)#

Syväavaruusnavigointimoottorin neljäs välitavoite: ajettava Mars-PNT-tuoteskenaario, joka sitoo D0:n Marsin kappaleen ja kehyksen, D1:n radiometriset havaintosuureet ja D2:n redusoidun dynamiikan OD:n yhdeksi skenaariotyypiksi mars-pnt. Se mallintaa pientä MARCONI-tyyppistä välitystähdistöä, joka lähettää yksitieisen (kellokytketyn) signaalin avaruudessa ja välittää kaksitieisen (koherentin, kellosta vapaan) linkin syväavaruusasemalle, ja navigoi kolme referenssikäyttäjää (Marsin siirtorata, matalan Mars-radan kiertäjä, kiinteä pintapiste) D3.1:n yhteisellä yksi- ja kaksitieisellä fuusioestimaattorilla — kahdentoistatilainen SRIF, joka laajentaa D2:n redusoidun dynamiikan rata- ja empiirisen lohkon kolmitilaisella aluksen kellolla. Rehellinen rajaus: jokainen laatumittari on estimaattorin muodollinen kovarianssiraja (epookkikohtainen 1σ / 3σ paikka) ja saavutettu RMS synteettistä suljettua silmukkaa vasten (totuus ja suodatin jakavat saman Marsin dynamiikan ja saman geometrisen havaintosuuremallin, sekä lisätty Gaussin kohina) — simuloitu navigoinnin laatumittari, EI ilmailun sertifioima suojaustaso ja EI lentoväite (ei sertifioitua vikamallia, ei eheysvalvontaa, ei todellista seurantadataa). Kaikki alla oleva on lisäävää (toistettavuuden golden-tiedostot ovat muuttumattomia; sama SHA, ei uudelleengenerointia).

Termi Tila Todisteet
Yhteinen yksi- ja kaksitieinen radiometrinen fuusio (fuusio päihittää kumman tahansa yksin) validated src/deepspace_od.rs FusionOd: D2.2:n redusoidun dynamiikan SRIF laajennettuna kolmella aluksen kellotilalla (ClockState3), joka ottaa sisään kaksitieisen (kellosta vapaa, radan kiinnittävä — nolla kellosarakkeita osittaisderivaatassa) ja yksitieisen (kellokytketty — taajuusosittaisderivaatta ∂ρ̇_obs/∂y = c) etäisyyden ja Dopplerin sekaisen aikasarjan funktion fused_observable kautta. Kalibroi ja liu'u -rakenne: kaksitieiset kierrokset kiinnittävät radan, yksitieinen data kalibroi sitten kellon ja liu'uttaa rataa kierrosten välillä virheellä, jota rajaa kellon Allan-vakaus. Testattu tiedostossa src/deepspace_od.rs #[cfg(test)]: fuusioitu ratkaisu päihittää kumman tahansa linkkityypin yksin; pelkän yksitieisen ajon liukuvirhe kasvaa kaksitieisten kierrosten välisen aukon mukana johdonmukaisesti kelloluokan Allan-rajan kanssa; yhteinen kovarianssi pysyy SPD:nä (symmetrinen positiividefiniitti) koko ajan.
MARCONI-tähdistö (areostationäärinen säde, peittyminen) validated (model) src/mars_pnt.rs MarconiConstellation: viiden välittimen joukko — kolme areostationääristä välitintä säteellä r = (μ/ω²)^{1/3} ≈ 20 428 km (Marsin synkroninen säde julkaistuista μ:stä ja pyörimisnopeudesta; testattu 20 400–20 500 km -vyöhykkeessä) tasavälein 120° pituuspiirillä ja 5° inklinaatiolla, sekä kaksi välitintä korkeammalla (1,4× areostationäärinen) 60°:n inklinaation ympyräradalla taivaantason peittoa varten. Epookkikohtaiset välittimien tilat integroidaan eteenpäin painovoimalla mars_gmm3; Marsin peittymisen näkyvyystesti on jänne-ohittaa-pallo-geometria (chord_clears_sphere, testattu: halkaisijaltaan vastakkainen välitin on peitossa, yläpuolella oleva välitin näkyy). Rehellinen rajaus: pienin edustava lähetys- ja välitysgeometria, rakennettu julkaistuista Marsin vakioista — ei tietty lentotähdistösuunnitelma.
Skenaario mars-pnt käytettävissä CLI:stä / Pythonista / WASM:sta (WebAssembly) / MCP:stä (Model Context Protocol) validated src/mars_pnt.rs MarsScenario / run_mars_pnt on kytketty skenaariona kind = "mars-pnt" kaikille pinnoille (D3.3): CLI-ajaja, Python-sidos, WASM/playground-käännös ja MCP-palvelimen jakelu reitittävät kaikki siihen (src/api.rs edestakaisen kierron testi mars_pnt_kind_round_trips_through_the_dispatch). Toimitetut referenssiskenaariot: scenarios/mars-pnt-lmo.toml, scenarios/mars-pnt-surface.toml, scenarios/mars-pnt-transfer.toml. Tulos kantaa eksplisiittistä fom_note-merkintää, joka nimeää laatumittarin kovarianssirajaksi (ei sertifioiduksi suojaustasoksi), ja tulosteet summary / to_svg toistavat rehellisyysmerkinnän.
MARCONI / LightShip -tavoitteet toistettu: < 100 m kiertäjä, < 15 m kulkija validated (synthetic closed-loop, under stated assumptions) tests/mars_pnt_targets.rs: julkaistut MARCONI / LightShip -ohjelman tavoitteet (kiertäjä < 100 m, pinta/kulkija < 15 m) toistettuna simulaatiossa. Yhteiset oletukset: viiden välittimen oletus-MARCONI-tähdistö; jokainen näkyvissä oleva välitin antaa yksitieisen etäisyyden ja Dopplerin epookkia kohti; koherentti kaksitieinen asemakierros 30 min välein; DSN-luokan kohina (etäisyyden σ = 1 m, Dopplerin σ = 0,1 mm/s); yhteinen redusoidun dynamiikan rata- ja 3-tilaisen kellon fuusiosuodatin, joka käynnistetään ~2,7 km:n verran häirityllä a priori -tilalla (tiukkuus 0,1); laatumittari = konvergoitu kaaren takapuoliskon 3D-paikan RMS synteettistä totuutta vasten. Kiertäjä (LMO ~400 km / 60° inkl., USO-kello, 60 s:n näytteenottoväli, ~2 h ≈ yhden kierroksen kaari): saavutettu konvergoitu RMS ≈ 0,40 m ≪ 100 m:n tavoite (keskimäärin 3,1 välitintä näkyvissä, kovarianssi SPD koko ajan). Kulkija (kiinteä päiväntasaajan pintapiste, USO-kello, 30 s:n näytteenottoväli, ~2 h:n kaari): saavutettu konvergoitu RMS ≈ 5,1 m < 15 m:n tavoite (keskimäärin 3,0 välitintä näkyvissä, kovarianssi SPD). Molemmat tavoitteet saavutettiin höllentämättä mitään varmistusta — USO on realistisista aluksen kelloluokista vähemmän kyvykäs (DSAC vain auttaisi) ja 30 minuutin kaksitieinen toistoväli on varovainen tavanomaiselle välitysverkon aikataululle, joten oletukset ovat fysikaalisesti kohtuullisia MARCONI-luokan järjestelmälle eikä niitä ole viritetty läpäisyä varten. Rehellinen rajaus: simuloitu toisto ilmoitetuilla oletuksilla, EI lentoväite eikä sertifioitu suojaustaso; synteettinen suljetun silmukan totuus jakaa suodattimen Marsin dynamiikan ja havaintosuuremallin.

Kuun koordinaattiaika — relativistinen Maa–Kuu-kellon nopeus (src/lunar_time.rs)#

Kuun koordinaattiaika-asteikko (LTC/TCL (TCL: Temps-Coordonnée Lunaire, Kuun koordinaattiajan ranskankielinen nimi)) vaatii maallisen nopeuden, jolla Kuun pinnan kello kulkee suhteessa Maan geoidin (TT) kelloon. src/lunar_time.rs laskee sen ensimmäisistä periaatteista: ensimmäisen post-Newtonin identiteetti, joka summaa omapotentiaalin eron (IAU:n L_G -sopimuksen mukainen geoidin potentiaali W0 = L_G·c² ≈ 6.26369e7 m²/s² miinus Kuun pinnan omapotentiaali GM_moon/R_moon ≈ 2.822e6 m²/s²) ja kineettisen (toisen asteen Doppler) termin −<v²>/2c² geosentrisestä Kuun nopeudesta (äärellisin erotuksin tiedostossa src/ephem.rs olevasta Montenbruck-Gill-kuusarjasta). Hallitseva omapotentiaalitermi antaa ≈ 57,5 µs/vrk, kineettinen termi ≈ −0,5 µs/vrk, yhteensä ≈ 57 µs/vrk. Skenaario lunar-time-offset raportoi tämän nopeuden, kertyneen LTC−TT-poikkeaman horisontin yli ja tukee minimaalista käänteisvarianssi-ensemblea (Kuun paperikello); TT↔LTC-muunnokset palautuvat edestakaisin tarkkuudella < 1 ns/vrk.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Relativistinen Maa–Kuu-kellon nopeus (LTC/TCL) modelled src/lunar_time.rs lunar_rate_breakdown, tt_to_ltc/ltc_to_tt, lunar_ensemble, LunarTimeScenario. Oraakkeli: sisäinen suljetun muodon relativistinen identiteetti (IAU:n L_G / IERS-sopimusten geopotentiaali ja GM/r (GM: gravitaatioparametri, G kertaa massa) -omapotentiaali), ristiintarkistettu julkaistua Kuun kellon nopeuden vyöhykettä [56, 59] µs/vrk vasten. Testit (lunar_time::tests): omapotentiaalitermi ≈ 57,5 µs/vrk, Kuun nopeus ≈ 1 km/s, kineettinen termi pieni negatiivinen, kokonaisuus vyöhykkeessä ja nimetyt termit summautuvat siihen, 1 vuorokauden LTC−TT-poikkeama ≈ 57 µs ja TT↔LTC-edestakainen kierto < 1 ns/vrk. Rehellinen rajaus: keskeinen µs/vrk-luku on vertailukohteesta riippuva — se riippuu valituista vertailupinnoista (Maan geoidi W0 vs Kuun selenoidi), aikakeskiarvoistuksen ikkunasta ja laiminlyödyistä alle µs/vrk:n keskipakoisvoiman ja J₂:n korjauksista — minkä vuoksi julkaistu tulos on vyöhyke, ei yksittäinen sertifioitu luku. Tämä on Modelled -tason sisäisen johdonmukaisuuden tarkistus, EI ulkoinen validointi, EI alle nanosekunnin absoluuttinen tarkkuus ja EI sertifioitu operatiiviseen ajanpitoon.

Kuun geodeettinen VLBI — lähikentän viive Maan kantaviivalle, joka havaitsee Kuun majakan (src/lunar_vlbi.rs)#

Geodeettinen VLBI (very-long-baseline interferometry) -havaintosuure kahdelle Maan maa-asemalle (kantaviiva), jotka havaitsevat yksitieisen signaalin Kuun pinnalla olevalta NovaMoon-luokan lähettimeltä. Kuu on lähikentässä, ei tasoaalto, joten geometrinen viive on tarkka kahden etäisyyden erotus tau_geom = (|r2 − r_B| − |r1 − r_B|)/c eikä taivaantason projektio. Täysi havaintosuure lisää asemien kellopoikkeamien eron ja eriytetyn Maan potentiaalin Shapiro-termin (käytetty uudelleen tiedostosta src/radiometric.rs). Asemat sijoitetaan geosentrisiin inertiaalisiin (GCRS) koordinaatteihin tiedostoilla src/frames.rs + src/cio.rs; majakka tiedostoilla src/ephem.rs (geosentrinen Kuu) + src/lunar.rs (selenografinen→MCMF (MCMF: Moon-centred, Moon-fixed)) + src/lunar_frame.rs (IAU-2015 ME kappaleeseen kiinnitetty→inertiaali). Skenaario lunar-vlbi näytteistää viiveen, sen äärellisen eron nopeuden ja lähikentän korjauksen kierroksen yli.

Oraakkeli on saman koodikannan tasoaaltoinen Δ-DOR-havaintosuure delta_dor tiedostossa src/radiometric.rs: kaukokentän rajalla (synteettinen majakka etäisyydellä 1e15 m) geometrisen viiveen on romahdettava arvoon −(B·ŝ_B)/c = delta_dor(r_B, [0,0,0], B) koneen tarkkuudella; todellisella Kuun etäisyydellä aaltorintaman kaarevuuden lähikenttäkorjaus on nollasta poikkeava (kymmeniä tai satoja µs). Majakan osittaisderivaatat dtau/dr_B = ((r_B−r2)/|r_B−r2| − (r_B−r1)/|r_B−r1|)/c (ja asemien osittaisderivaatat) varmennetaan keskeisdifferenssillä (suhteellinen virhe < 1e-5).

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kuun geodeettinen VLBI-viive ja osittaisderivaatat modelled src/lunar_vlbi.rs geometric_delay_s, vlbi_delay_s, delay_partials_beacon/_station1/_station2, near_field_correction_s, LunarVlbiScenario. Oraakkeli: ReferenceImpl — saman koodikannan tasoaaltoinen delta_dor (src/radiometric.rs) kaukokentän rajalla sekä äärellisen eron osittaisderivaatat. Testit (lunar_vlbi::tests): aseman suuruus ≈ Maan säde, majakan etäisyys Kuun etäisyydellä (356–407 Mm), kaukokentän geometrinen viive vastaa kohdetta delta_dor tarkkuudella < 1e-9 s, nollasta poikkeava lähikenttäkorjaus Kuun etäisyydellä, FD-majakka- ja asemaosittaisderivaatat 1e-5 suhteellisen tarkkuuden sisällä, tarkka kellotermi ja äärellinen skenaarioajo, joka jaetaan funktion run_toml kautta. Rehellinen rajaus: Modelled, EI validoitu todellista VLBI-dataa vasten. Napaliike jätetään pois (xp = yp = 0), joten asemien inertiaalisissa paikoissa on muutaman metrin kehysvirhe; majakka yhdistää päivän keskitasaajan Kuu-sarjan ICRF (International Celestial Reference Frame) -kappalekiinnitteiseen poikkeamaan (jd_tdb ≈ jd_tt), kehysjohdonmukaisuuden ristiriita mallin tarkkuuden alapuolella mutta ei ankara; eikä mukana ole valoaikaiteraatiota, Maan pyörimistä valoajan aikana, väliaineita (tropo/iono/plasma) eikä aberraatiotermiä eriytetyn Shapiron lisäksi. TRL:ää (technology readiness level), lentoperintöä tai viraston hyväksyntää ei väitetä. 0,30: ANISEn valoaikoja DE440:n kautta vasten yksikään tämän analyyttisen polun viive ei ole 1 ps:n sisällä (suurin ero 24 µs); havainto on kiinnitetty.
Kuun geodeettinen VLBI, ydinpolku validated (0.30) src/lunar_vlbi.rs KernelGeometry (DE440 Maa ja Kuu, DE440 Kuun pääakselit, ITRF93 Maan orientaatio, jokainen valoaika konvergoitu barycentric-kehyksessä), ajetaan skenaariolla lunar-vlbi, kun kolme ydinpolkua on asetettu. Oraakkeli: kirjasto — NAIF SPICE Toolkit N0067 (spiceypy 8.2.0) konvergoidut valoajat asemille DSS-14/43/63, ennakkorekisteröity: 75 viivettä 1 ps:n sisällä (huonoin 0,06 ps), majakan ja asemien osittaisderivaatat 1e-6 sisällä, 25 epookilla J2000:n lähellä (muutos sen jälkeen kun 2024 epookkia epäonnistui SPICEn oman kaksoistarkkuuden lähetysepookin takia, noin 6 ps, ilmoitettu ja kiinnitetty). Skenaarion eriytettyä Shapiro-termiä, viiveen nopeutta ja lähikenttäkorjausta ei verrata.

Kuun yhteinen usean tekniikan OD ja kello — simuloitu suljetun silmukan palautus (src/lunar_combination.rs)#

Yhden epookin (tilannekuva) erä-pienimmän neliösumman sovitus (crate::batch_ls::gauss_newton_qr, Householder-QR-askel versiosta 0,30 alkaen), joka fuusioi geodeettisen VLBI:n, radiometrisen / Kuun paikallisen etäisyysmittauksen ja satelliittien välisen etäisyysmittauksen tekniikat SIMULOIDUSSA Kuun verkossa ja palauttaa yhdessä Kuun pinta-aseman 3D-paikan, pienen tähdistön satelliittikohtaiset paikat ja jokaisen laitteen kellopoikkeaman. Havaintosuureet ovat: (1) Maan kantaviivan geodeettiset VLBI-viiveet Kuun asemalle, jota käsitellään majakkana (käytetään uudelleen src/lunar_vlbi.rs, geosentrinen inertiaali) — keskeinen tekniikka; (2) Maa-asema→satelliitti -geosentriset radiometriset etäisyydet (jotka multilateroivat tähdistön hyvin hajautetuilta Maan asemilta) ja asema↔satelliitti -Kuun paikalliset etäisyydet (MCI (Moon-centred inertial) euklidinen etäisyys sekä eriytetty kelloterm); (3) satelliittien väliset etäisyydet (sama muoto); sekä yksittäinen aseman kellon synkronoinnin pseudohavainto, joka ankkuroi muuten havaitsemattoman yhteisen kellopoikkeaman. Tilavektori on [station_pos(3), {sat_pos(3)}×N_sat, station_clk, {sat_clk}×N_sat]. Ratkaisijan sisällä ei ole mitään voimamallin propagointia — satelliitit ovat kiinteitä, erillisiä, havainnollistavia pisteitä edustavalla Kuun radalla; tämä on tarkoituksella siisti tilannekuvasovitus. Sisäisesti paikat skaalataan ja kellot estimoidaan etäisyyttä vastaavina metreinä, jotta normaalimatriisi pysyy hyvin ehdollistettuna f64:ssä; VLBI- ja Kuun etäisyysmittaukset poistetaan keskiarvolla nimellisen geometrian ympäriltä, jotta äärellisen eron Jacobi ei kärsi katastrofaalisesta kumoutumisesta. Skenaario lunar-joint-od-clock ajaa ratkaisun VLBI-osuuksien kanssa ja ilman niitä samalla siemenluvulla ja totuudella ja raportoi molemmat ratkaisut sekä aseman havaittavuuden parannuskertoimen.

Keskeinen rehellinen tulos: Kuun paikallinen etäisyysmittaus napa-asemalta kourallisen satelliitteja suuntaan, jotka kaikki sijaitsevat taivaan samalla puolella, jättää aseman paikan heikosti havaituksi yhdessä suunnassa, joten pelkän etäisyyden ratkaisu on huonosti ehdollistettu ja palautettu aseman 3D-virhe on suuri (tai ratkaisu ei konvergoidu). Maan kantaviivan VLBI-viiveiden lisääminen tekee aseman täyden 3D-paikan havaittavaksi, ja palautettu aseman virhe romahtaa metritasolle. Testi vlbi_restores_station_observability varmistaa, että VLBI:n kanssa laskettu aseman virhe on selvästi (≥5×) pienempi kuin pelkän etäisyyden virhe samalla lisätyllä totuudella — VLBI palauttaa muuten havaitsemattoman aseman suunnan, ja se on vaiheen tarkoitus.

Oraakkeli on sisäinen johdonmukaisuus: lisätty totuustila (asema ~50 m/akseli, satelliitit ~30 m/akseli, kellot ~1e-7 s, siemenluvun ohjaamalla komponenttikohtaisella häilynnällä) kuvataan synteettisiksi havaintosuureiksi samalla geometriamallilla, jonka ratkaisija kääntää, siemenluvun ohjaama Gaussin kohina lisätään (havainnollistavat oletukset: VLBI σ ≈ 1e-11 s, etäisyyden σ ≈ 0,1 m, ISL σ ≈ 0,1 m; painot 1/σ²), ja estimaattorin on palautettava lisätty totuus kohinan rajoissa nollien alkuarvauksesta. Monte Carlo -keskiarvoinen NEES Δxᵀ(HᵀWH)Δx siemenluvuilla (formal_covariance_nees) asettuu löyhään vyöhykkeeseen arvon n_params ympärille, kovarianssin realismin tarkistus.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kuun yhteinen monitekniikka-OD + kello validated (0,30, P2: ratkaisun lineaarialgebra) src/lunar_combination.rs estimate, formal_covariance_nees, LunarCombinationScenario. 0,30 -oraakkeli: P2 — numpy 2.4.6 (LAPACK gelsd ja inv) laskee uudelleen jokaisen Gauss–Newton-askeleen, konvergoituneen painotetun ratkaisun, muodolliset sigmat ja aseman virheen kuuden verkon versionhallintaan tallennetuilla Jacobin matriiseilla (tests/lunar_joint_od_numpy_oracle.rs, askeleet 2.4e-11 sisällä, sigmat 1.3e-11 sisällä); fysikaaliset havaintomallit ja suuruusluokat pysyvät MODELLED. Aiempi oraakkeli: InternalConsistency — lisätyn simuloidun totuuden palautus + NEES-kovarianssin johdonmukaisuus. Testit (lunar_combination::tests): täysi fuusio palauttaa totuuden (asema < 5 m, satelliittien RMS < 5 m, kellot < 1e-8 s, konvergoitu); VLBI palauttaa aseman 3D-havaittavuuden (aseman virhe ≥5× pienempi VLBI:n kanssa kuin pelkällä etäisyydellä samalla totuudella); deterministinen (sama siemenluku → bittitarkasti sama ratkaisu, eri siemenluku → eri mutta palautettu); keskimääräinen NEES löyhässä vyöhykkeessä arvon n_params ympärillä; äärelliset / suojatut raportoidut luvut silloinkin, kun pelkkä etäisyys on huonosti ehdollistettu; skenaario jaetaan funktion run_toml kautta. Rehellinen rajaus: tämä on simuloitu suljetun silmukan palautus — totuus jakaa havaintomallin — EI validointi todellista dataa vasten; ei voimamallin propagointia ratkaisijan sisällä; satelliittien paikat ja Maan ja Kuun aseman geometria ovat havainnollistavia. TRL:ää, lentoperintöä tai viraston hyväksyntää ei väitetä.

Kuun koordinaatiston realisaatio — 7-parametrinen Helmert-datumsovitus (src/lunar_frame_realise.rs)#

Missä src/lunar_frame.rs soveltaa IAU:n 2015 WGCCRE-kuun kappaleen orientaatiota (suoramalli), tämä moduuli estimoi (realisoi) Kuun koordinaatiston datumiin sidotun estimoitujen pistekoordinaattien verkosta. Estimoinnin ydin on klassinen 7-parametrinen yhdenmuotoisuus- (Helmert-) muunnos — kolme translaatiota, kolme pienen kulman rotaatiota ja yksi skaalaparametri — joka kuvaa pisteet p_i (estimoitu kehys) pisteiksi q_i (datumkehys) muodossa q_i = t + (1 + s)·R(θ)·p_i, jossa R(θ) = rz(θz)·ry(θy)·rx(θx) on rakennettu funktioista crate::precession::{rx, ry, rz, matmul, mat_vec}. Seitsemän parametria [tx, ty, tz, θx, θy, θz, s] estimoidaan ≥ 3 ei-kollineaarisesta pisteparista painotetulla pienimmän neliösumman menetelmällä funktion crate::batch_ls::gauss_newton kautta: suoramalli ennustaa jokaisen pisteen q_i pisteestä p_i ja litistää kaikkien pisteiden kaikki kolme komponenttia havaintovektoriin, havaitut datumkoordinaatit muodostavat vektorin z, painot ovat 1/σ², ja ratkaisu alkaa arvosta x0 = zeros. Kiertokulmat estimoidaan µrad:ssa ja skaala ppb:ssä, jotta äärellisen eron Jacobi pysyy hyvin skaalattuna Kuun pinnan koordinaattien suuruusluokassa (~1.7e6 m). Pieni icrf_orientation_tie koostaa realisoidun pienen kierron IAU:n kappale→ICRF-orientaation kautta (transpose(crate::lunar_frame::icrf_to_iau_moon(jd_tdb))) ja palauttaa realisoidun kehyksen jäännöspienen kulman poikkeaman ICRF-akseleiden ympäri — tarkoituksella yksinkertainen ilmaisukehyksen muutos, ei riippumaton arvio Kuun navasta.

Oraakkeli on sisäinen johdonmukaisuus: tunnettu Helmert-muunnos (translaatio ~kymmeniä m, rotaatio ~µrad, skaala ~1e-7) lisätään hyvin hajautettuun synteettiseen pisteverkkoon (vaihtelevat selenografiset leveys- ja pituusasteet → MCMF, osa pisteistä korkeudessa), siemenluvun ohjaama Gaussin kohina lisätään, ja sovituksen on palautettava lisätyt parametrit. Kohinattomalla datalla palautus on ~koneen tarkkuudella (translaatio < 1e-6 m, rotaatio < 1e-9 rad, skaala < 1e-12); metrin kohinalla palautetut parametrit asettuvat muutaman × muodollisen σ:n sisään ja sovituksen jälkeinen RMS-residuaali on lähellä kohinatasoa. Skenaario lunar-frame-realisation raportoi palautetun datumin, parametrikohtaisen palautusvirheen lisättyyn totuuteen nähden, sovituksen jälkeisen RMS-residuaalin ja realisoidun kierron ICRF-orientaatiosidoksen.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kuun koordinaatiston toteutus modelled src/lunar_frame_realise.rs helmert_fit, apply_helmert, realise_frame, icrf_orientation_tie, LunarFrameRealiseScenario. Oraakkeli: InternalConsistency — lisätyn 7-parametrisen yhdenmuotoisuusmuunnoksen palautus sekä funktion apply_helmert algebrallinen edestakaisen kierron identiteetti. Testit (lunar_frame_realise::tests): lisätyn muunnoksen kohinaton palautus (translaatio < 1e-6 m, rotaatio < 1e-9 rad, skaala < 1e-12); kohinallinen palautus muutaman × σ:n sisällä ja RMS-residuaali lähellä kohinatasoa; sovella-ja-käännä edestakainen kierto; deterministinen (sama siemenluku → bittitarkasti sama, eri siemenluku → eri mutta palautettu); nollarotaation ICRF-sidos on nolla ja sidos säilyttää rotaation suuruuden; skenaario jaetaan funktion run_toml kautta. Rehellinen rajaus: tämä on itsejohdonmukaisuuden tarkistus — se palauttaa lisätyn muunnoksen synteettisessä verkossa — EI Kuun koordinaatiston realisaatio todellista seuranta- / VLBI-dataa vasten, eikä se väitä absoluuttista kehystarkkuutta. ICRF-orientaatiosidos on yksinkertainen ilmaisun muutos, ei riippumaton napa-arvio. TRL:ää, lentoperintöä tai viraston hyväksyntää ei väitetä.

Kuun navigointipalvelun tilavuus — DOP / peitto / saatavuus ja yleistetty Kuun ARAIM PL (src/lunar_service.rs)#

Tämä moduuli koostaa jo rakennetut osat Kuun navigoinnin palvelutilavuuden analyysiksi: se pyyhkäisee selenografisen leveys- ja pituusasteen ruudukon aikahorisontin yli havainnollistavaa, julkisiin lähteisiin perustuvaa Moonlight / LCNS-luokan (LCNS: Lunar Communications and Navigation Services) Kuun kiertoratatähdistöä vasten ja raportoi DOP:n / peiton / saatavuuden sekä yleistetyn Kuun ARAIM-suojaustasojen verhokäyrän. Kaksi uudelleenkäyttöä on kantavia ja eksplisiittisiä. DOP-geometria on VALIDATED (vs gnss_lib_py) -ydin crate::orbit::dop — service_dop on ohut korkeuskulmamaskin suodatin ja tuo ydin, ja testi varmistaa identiteetin (service_dop on yhtä kuin suora orbit::dop samoilla näkyvillä paikoilla). Eheys käyttää uudelleen LunaNet LNIS:n (LunaNet Interoperability Specification) Kuun ARAIM-koneistoa crate::lunar::lunar_araim (σ_URE ≈ 30 m, P_sat ≈ 1e-4); lunar_protection_level yleistää olemassa olevan etelänavan suojaustason mielivaltaiselle pintapisteelle, ja testi varmistaa, että se palautuu etelänavan tapaukseksi (etelänavalla samalla geometrialla ja budjetilla se palauttaa täsmälleen olemassa olevan lunar::lunar_araim -tuloksen tarkkuudella < 1e-9).

Tähdistön parametrit ovat havainnollistava approksimaatio julkisista ESA:n kuvauksista järjestelmäluokasta (≈ 4 satelliittia elliptisillä Kuun jäädytetyillä radoilla, jotka suosivat etelänavan peittoa — apolune eteläisen pallonpuoliskon yllä; 4 on kirjaston oletus, ja mukana toimitettu moonlight-service-volume.toml asettaa 8, koska suojaustaso vaatii vähintään 6 näkyvissä). Ne eivät ole todellinen Moonlight/LCNS-efemeridi eivätkä viittaa mihinkään yhteyteen, hyväksyntään, perintöön, sertifiointiin tai TRL:ään. Koostaminen (peitto / saatavuus / eheys) on MODELLED: ympyrä- tai ellipsi-Kepler-välitinjoukko (ei differentiaalikorjattu LCNS / 9:2 NRHO (near-rectilinear halo orbit) -efemeridi), keskimääräisesti pyörivä Kuu (ei fysikaalista libraatiota / precessoivaa napaa) ja julkaistut LunaNet LNIS -eheysparametrit. Se havainnollistaa palvelutilavuuden menetelmää, ei operatiivista saatavuuslukua. Deterministinen (puhdas geometria; ei satunnaisuutta). Skenaario moonlight-service-volume raportoi peittoprosentin, näkyvien määrän ja PDOP:n verhokäyrät, HPL/VPL-verhokäyrän tilavuuden yli ja suojaustason saatavuuden hälytysrajaa vasten.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kuun navigointipalvelun tilavuus modelled src/lunar_service.rs LunarConstellation, visible_sats, service_dop, coverage, lunar_protection_level, LunarServiceScenario. DOP-geometria validoitu uudelleenkäytöllä gnss_lib_py:llä validoidun crate::orbit::dop -ytimen osalta; eheys käyttää uudelleen julkaistua LunaNet/LNIS Kuun ARAIM:ia (crate::lunar::lunar_araim, σ_URE ≈ 30 m). Testit (lunar_service::tests): service_dop on identiteetti validoidulla ytimellä; lunar_protection_level etelänavalla on yhtä kuin olemassa oleva lunar::lunar_araim -PL tarkkuudella < 1e-9 (palautuu etelänavan tapaukseksi); peitto ei vähene tähdistön koon kasvaessa; näkyvyys noudattaa korkeuskulmamaskia; skenaario on deterministinen ja jaetaan funktion run_toml kautta. Rehellinen rajaus: tähdistö on havainnollistava, julkisiin lähteisiin perustuva, EI ole sidoksissa ESA:an — ei todellinen Moonlight/LCNS-efemeridi; peiton / saatavuuden / eheyden koostaminen on MODELLED (ympyrä- tai ellipsi-Kepler-välittimet, keskimääräisesti pyörivä Kuu, julkaistut LNIS-parametrit), EI operatiivinen Moonlightin saatavuusluku. TRL:ää, lentoperintöä tai viraston hyväksyntää ei väitetä.

Kuun differentiaalinen PNT — yhteismoodin kumoutuminen + kantaviivan mukana kasvava residuaali + DGNSS-suojaustasot (src/lunar_dpnt.rs)#

Kuun DGNSS (differentiaalinen satelliittinavigointi) / SBAS-analogia: NovaMoon-luokan referenssiasema tunnetussa selenografisessa paikassa laskee satelliittikohtaiset differentiaalikorjaukset havainnollistavasta, julkisiin lähteisiin perustuvasta Moonlight / LCNS -luokan tähdistöstä, ja siitä kantaviivan verran poikkeava liikkuva käyttäjä soveltaa niitä niin, että lähetettyjen efemeridien yhteismoodin virheet kumoutuvat. Jokaisella satelliitilla i on lisätty yhteinen 3D-ratavirhevektori e_i ja yhteinen kellovirhe c_i. Referenssiaseman pseudoetäisyysresiduaali on korjaus −e_i · û_ref,i + c_i; käyttäjän raaka virhe on −e_i · û_user,i + c_i; korjattu käyttäjän virhe on niiden erotus −e_i · (û_user,i − û_ref,i). Kelloterm c_i kumoutuu täsmälleen (se on identtinen molemmissa havainnoissa), ja ratatermi romahtaa projektioksi kahden näkölinjan yksikkövektorin erolle, joka → 0, kun kantaviiva → 0 (avaruudellisen dekorrelaation lattia) ja kasvaa ≈ lineaarisesti kantaviivan mukana. Satelliittikohtaiset korjatut etäisyysvirheet kuvataan käyttäjän geometrian kautta pienellä, vähäriippuvuuksisella painotetun pienimmän neliösumman tilannekuvaratkaisulla (tila [x, y, z, clock] funktion crate::orbit::invert4 kautta; vakioetäisyysharha absorboituu kellon tuntemattomaan sen sijaan, että se turmelisi sijainnin) käyttäjän paikkavirheen antamiseksi. Käyttäjän suojaustaso käyttää uudelleen DO-229E SBAS -suojaustason koneistoa (crate::sbas::sbas_protection_level, Precision-Approach K-kertoimet), jossa differentiaalinen residuaali σ on kunkin satelliitin 1-σ-virhebudjetti.

NovaMoon mainitaan vain järjestelmäluokkana (julkinen kuvaus Kuun referenssiasemasta); tähdistö käyttää uudelleen havainnollistavaa, julkisiin lähteisiin perustuvaa crate::lunar_service::LunarConstellation. Nämä ovat havainnollistavia parametreja differentiaalisen menetelmän harjoittamiseen, ei todellinen efemeridi, eivätkä viittaa mihinkään yhteyteen, hyväksyntään, perintöön, sertifiointiin tai TRL:ään. Skenaario lunar-differential-pnt raportoi käyttäjän paikkavirheen korjausten kanssa ja ilman, pienennyskertoimen, virhe–kantaviiva-käyrän ja suojaustason. Oletuskonfiguraatiossa korjattu käyttäjän virhe 50 km:n kantaviivalla on ≈ 0,008 m verrattuna korjaamattomaan ≈ 24 m (~3000-kertainen pienennys), ja ≈ 0 nollakantaviivalla.

Oraakkeli on sisäinen johdonmukaisuus: yhteismoodin kumoutuminen on tarkka algebrallinen identiteetti (kun noise = 0, korjattu virhe < 1e-6 m nollakantaviivalla; kelloterm kumoutuu koneen tarkkuudella millä tahansa kantaviivalla), residuaali kasvaa monotonisesti kantaviivan mukana, ja suojaustaso on sama DO-229E-algoritmi, jota vasten SBAS-pino on kiinnitetty. Avaruudellisen dekorrelaation residuaali on ensimmäisen kertaluvun geometrinen malli, ei todellisesta Kuun seurannasta sovitettu dekorrelaatiomalli.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kuun differentiaalinen PNT modelled src/lunar_dpnt.rs differential_corrections, corrected_user_range_errors, user_position_error_m, lunar_dgnss_protection_level, LunarDpntScenario. Oraakkeli: InternalConsistency — differentiaalisen virheenkumoamisen identiteetti sekä DO-229E SBAS -suojaustason koneiston uudelleenkäyttö (crate::sbas). Testit (lunar_dpnt::tests): nollakantaviivalla korjattu käyttäjän virhe ja jokainen korjattu satelliittikohtainen etäisyysvirhe ovat ~0 (< 1e-6 m) ja ≪ korjaamaton virhe; kelloterm kumoutuu täsmälleen millä tahansa kantaviivalla (ratavirhe nolla -tapaus); korjattu virhe kasvaa monotonisesti kantaviivan mukana pysyen ≪ korjaamaton vaatimattomilla kantaviivoilla; differentiaalinen päihittää yksinäisen selvällä marginaalilla (> 2×); suojaustaso on yhtä kuin suora sbas::sbas_protection_level -kutsu ja skaalautuu residuaalin σ:n mukana; alimäärätty geometria palauttaa None; skenaario on deterministinen (siemenluvun ohjaama) ja jaetaan funktion run_toml kautta. Rehellinen rajaus: MODELLED — yhteismoodin kumoutuminen on tarkka identiteetti, mutta avaruudellisen dekorrelaation residuaali on ensimmäisen kertaluvun geometrinen malli, ei todellisesta Kuun seurannasta sovitettu dekorrelaatiomalli, ja tämä EI ole validoitu todellisella datalla. NovaMoon mainitaan vain järjestelmäluokkana (havainnollistava, julkisiin lähteisiin perustuva, ei ole sidoksissa ESA:an). TRL:ää, lentoperintöä tai viraston hyväksyntää ei väitetä.

Kuun yhteentoimivuusvienti — LunaNet/IOAG-linjattu CCSDS OEM + KIF edestakaisen kierron yhdenmukaisuudella (src/lunar_interop.rs)#

Kuun koordinaatisto, Kuun aika-asteikko ja Kuun efemeridi viedään LunaNet/IOAG-linjattuina (IOAG: Interagency Operations Advisory Group), CCSDS-pohjaisina vaihtomuotoina. Tämä vaihe ei keksi omaa siirtomuotoa: se käyttää uudelleen crate-kirjaston olemassa olevaa CCSDS OEM (Orbit Ephemeris Message) 2,0 -tuottajaa ja -jäsennintä (crate::oem::OemFile::to_oem_string / crate::oem::parse_oem) sekä Kshana Interchange Format -kuorta (crate::interchange::Envelope), uudelleenmerkittynä Kuun yhteyteen. export_lunar_oem asettaa OEM:n kentän REF_FRAME arvoksi IAU:n 2015 WGCCRE-kuun kappalekehys (MOON_ME keski-Maa tai MOON_PA pääakseli), kentän TIME_SYSTEM arvoksi Kuun aika-asteikko (LTC / TCL / UTC) ja kentän CENTER_NAME arvoksi MOON, havainnollistavan, julkisiin lähteisiin perustuvan LCNS-luokan näyteefemeridin yli (paikat funktiosta crate::lunar_service::LunarSat::position_mci, nopeus keskeisdifferenssillä). export_lunar_time_metadata tuottaa LunaNet/IOAG-linjatun Kuun ajan kuvaajan (asteikon tunniste, maallinen nopeus µs/vrk funktiosta crate::lunar_time::lunar_rate_breakdown, julkaistu 56–59 µs/vrk -vyöhyke, vertailupinta), joka kiertää edestakaisin serde_jsonin läpi. export_kif_lunar kääntää OEM:n, kuvaajan ja kehysmerkinnän olemassa olevaan KIF-kuoreen MODELLED-rehellisyysmerkinnällä.

Oraakkeli on edestakainen kierto / kenttien yhdenmukaisuus. Koska oem.rs sisältää molemmat suunnat, OEM kierrätetään funktion crate::oem::parse_oem läpi (takaisin yhtä suureksi segmentiksi, Kuun kehys/aika ja tilojen määrä säilyneinä) ja tarkistetaan riippumattomasti funktiolla oem_conformance, joka varmistaa, että jokainen vaadittu CCSDS/LunaNet-otsikon avainsana on läsnä, että REF_FRAME sisältää Kuun MOON_* -tunnuksen ja TIME_SYSTEM on ei-tyhjä, että META_START … META_STOP -kehystys pitää ja että paikka- ja nopeusdatarivit ovat hyvin muodostettuja — palauttaen jäsennellyn läpäisyn sekä läsnä olevien / puuttuvien kenttien luettelon, jotta rikkinäinen vienti (esim. pudotettu TIME_SYSTEM) havaitaan ja nimetään. Aikametadata kiertää edestakaisin funktion parse_lunar_time_metadata läpi, ja KIF-kuori kiertää funktion Envelope::parse läpi yhtä suuriksi artefakteiksi, jotka kantavat MODELLED-merkintää.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kuun yhteentoimivuusvienti modelled src/lunar_interop.rs export_lunar_oem, export_lunar_time_metadata, parse_lunar_time_metadata, export_kif_lunar, oem_conformance, LunarInteropScenario. Oraakkeli: InternalConsistency — deterministinen edestakainen kierto (CCSDS OEM funktion crate::oem::parse_oem kautta; KIF funktion crate::interchange::Envelope::parse kautta; aikametadata serde_jsonin kautta) sekä kenttänimien yhdenmukaisuus julkaistuun CCSDS OEM + LunaNet/IOAG -kenttäsemantiikkaan nähden. Testit (lunar_interop::tests): viety OEM sisältää Kuun REF_FRAME (MOON_ME/MOON_PA) ja TIME_SYSTEM (LTC/TCL) -tunnukset, CENTER_NAME = MOON, kohteen ja hyvin muodostetut datarivit; Kuun ajan metadata kiertää edestakaisin (nopeus/vyöhyke/vertailu) ja hylkää roskan; KIF-kuori serialisoituu ja deserialisoituu yhtä suureksi arvoksi MODELLED-rehellisyysmerkinnän ollessa läsnä; tarkoituksella rikottu OEM (puuttuva TIME_SYSTEM) epäonnistuu testissä oem_conformance ja raportoidaan puuttuvaksi; skenaario jaetaan funktion run_toml kautta. Rehellinen rajaus: kenttien nimet ja yksiköt on linjattu julkisiin standardeihin (CCSDS 502.0-B OEM, IAU WGCCRE 2015 Kuun kehykset, LunaNet Interoperability Specification / IOAG:n Kuun arkkitehtuuri); vienti on MODELLED — deterministinen edestakainen kierto ja kenttänimien yhdenmukaisuus on oraakkeli, tämä EI ole sertifioitu yhteentoimivuuden yhdenmukaisuustesti, efemeridi on havainnollistava, julkisiin lähteisiin perustuva, ei ole sidoksissa ESA:an, eikä TRL:ää, lentoperintöä tai viraston hyväksyntää väitetä.

Ennakkorekisteröidyt ennusteet#

Ennakkorekisteröity ennuste on MODELLED-tulos, joka jäädytetään ennen kuin mitään sen pisteyttämiseen tarvittavaa dataa on olemassa, ja pisteytysprotokolla kiinnitetään samalla hetkellä. Se ei ole validointi eikä lisää kirjanpidon (ledger) riviä. Jokainen sijaitsee hakemistossa docs/predictions/ kiinteine syötteineen, tuloksineen ja niiden SHA-256-tiivisteineen, ja tests/prediction_frozen.rs epäonnistuu, jos mikään jäädytetty tavu liikkuu; muuttunut oletus ratkaistaan uudella, päivätyllä ennusteella vanhan rinnalle, ei koskaan muokkaamalla vanhaa.

Ennuste Jäädytetty Arvioinnin vertailukohde Tila
Kuun referenssiaseman peitto c05dac1d, 2026-10-12 Kuun etelänavan differentiaaliaseman minkä tahansa tahon julkaisema tarkkuus, saatavuus, peitto ja suojaustasot ei vielä pisteytetty (julkaistuja tuloksia ei ole)

Demonstraation edustavuus ja polku lentoon -aukkojen kirjanpito (ledger) (src/representativeness.rs)#

Simulaatiotulos on hyödyllinen todisteena vain, jos se ilmoittaa julkisivullaan, mihin se on ankkuroitu, mitä se olettaa ja mikä sen vielä erottaa lentojärjestelmästä. Edustavuuskirjanpito (ledger) tekee tästä ensiluokkaisen, koneellisesti tarkistetun tuloksen: tietue Representativeness kantaa demonstraation ulkoiset ankkurit (Anchor), mallinnetut oletukset, aukot lentoon (Gap, kukin sen vaiheen tai toiminnan kanssa, joka sulkisi sen) ja TRL-vyöhykkeen, jolle se on edustava. Se on tuloskohtainen kumppani ominaisuustason varmennusmatriisille (verification).

Oraakkeli on joukko suljetun muodon invariantteja, joita valvoo representativeness::tests: tietueen Validated on lueteltava vähintään yksi ulkoinen aineistoankkuri ExternalDataset (simulaatiota ei voi validoida itseään vasten); tietueen Modelled on lueteltava vähintään yksi aukko lentoon eikä se voi väittää edustavaa TRL-vyöhykettä, joka on yli 4 (sitä pidemmälle kypsyttäminen vaatii laitteisto- tai lentotodisteita, mikä on aukko, ei simulaation tuloste); TRL-vyöhykkeen on oltava hyvin muodostettu; ja tietue PartnerOwned ei saa väittää mitään. Nämä invariantit toteuttavat käytännössä "edustavuus perusteltu + jäljellä olevat aukot kohti lentoa selvästi tunnistettu" -kurin.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Edustavuuden ja aukkojen lentoon kirjanpito (ledger) modelled src/representativeness.rs Representativeness/Anchor/Gap, check/is_valid/report/to_json. Oraakkeli: InternalConsistency — suljetun muodon rehellisyysinvariantit sidottuina rajaan verification tila/oraakkelityyppi. Testit (representativeness::tests): Validated-tietue ilman ulkoista ankkuria epäonnistuu; sisäinen (ReferenceImpl) ankkuri ei täytä Validated-ehtoa; Modelled-tietue ilman aukkoa epäonnistuu; Modelled-tietue TRL:n 4 yläpuolella epäonnistuu; virheelliset TRL-vyöhykkeet havaitaan; tietue serialisoituu JSON:iin odotetuin kentin ja tuottaa luettavan raportin. Rehellinen rajaus: kirjanpito (ledger) tarkistaa tuloksen todisteiden luokittelun — se ei todista, että nimetyt ankkurit johtavat eläviin testeihin (ne on kuratoitu, aivan kuten matriisi verification); "koneellisesti tarkistettu" -väite on rajattu tila-, ankkuri-, aukko- ja TRL-invariantteihin.

Yhtenäinen kvantti vs klassinen -kauppatodiste (src/qtrade.rs)#

Jokainen kvantti-PNT-sovellusalue vastaa samaan kysymykseen samalla tavalla: kiinnitä yksi vertailukehys (skenaario + siemenluku + moottorin versio), reititä kvanttiehdokas ja klassinen lähtötaso yhden neutraalin koodipolun läpi, pisteytä ne yhteisillä laatumittareilla ja raportoi — luottamusvälin ja rehellisen validoitu/mallinnettu-merkinnän kanssa — missä kvantti voittaa ja missä ei. TradeEvidence antaa tälle vastaukselle yhden muodon, jotta ajoitus-, navigointi- ja poikkeamantunnistusalat tuottavat saman toistettavan, rehellisesti merkityn olion. Se ei toteuta uudelleen yhtäkään kauppavertailua: laatumittarikohtaiset luvut tulevat olemassa olevista moottoreista (quantum_trade, crossover ja alakohtaiset moduulit); tämä on sopimus sekä toistettavuuden ja edustavuuden kääre, joka on rakennettu edustavuuskirjanpidon (ledger) ja varmennusmerkintöjen päälle.

Oraakkeli on suljetun muodon hyöty- ja voittajaidentiteetit sekä olemassa olevan kauppatulosteen uskollinen kääre. qtrade::tests: hyötysuhde on napaisuudeltaan oikea (suunnattu niin, että >1 tarkoittaa aina kvanttipuolen olevan parempi, sekä korkeampi-on-parempi holdover- että matalampi-on-parempi virhelaatumittareille); todellisesta quantum_trade::TradeResult rakennettu todisteolio toistaa hyötysuhteensa; epärehelliset todisteet hylätään (Modelled-edustavuus ilman aukkoa tai Validated -laatumittari, jonka kauppatietueella ei ole ulkoista ankkuria); JSON on deterministinen ja kantaa kehys-, siemenluku-, moottori-, laatumittari- ja edustavuuskentät.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kvantti vs klassinen -kauppatodiste modelled src/qtrade.rs TradeEvidence/TradeFom/TradeFrame/Winner. Oraakkeli: InternalConsistency — suljetun muodon hyöty- ja voittajaidentiteetit sekä tuloksen quantum_trade::TradeResult uskollinen kääre; rehellisyys sidottu edustavuuskirjanpitoon (ledger) ja varmennuksen tila/oraakkelityyppi -rajaan. Testit (qtrade::tests) kuten yllä. Rehellinen rajaus: harness standardoi, miten kauppavertailu raportoidaan ja toistetaan; alla oleva laatumittarikohtainen fysiikka on se, minkä osallistuva moottori tarjoaa, ja se kantaa omaa validoitu/mallinnettu-merkintäänsä — TradeEvidence ei päivitä mallinnettua laatumittaria validoiduksi.

Kvanttilaitteiden virhemallikirjasto (src/quantum_devices.rs)#

Yksi paikka, joka tarjoaa kvantti-PNT-laitteet, joilla demonstraattori käy kauppaa — optiset / loukutettujen ionien / elohopeaionikellot, klassiset referenssikellot, kylmäatomi-interferometri ja ajansiirtolinkit — kukin tietueena DeviceCard, joka kantaa tärkeimmän määrittelynsä ja edustavuustietueen. Suurin osa laitefysiikasta käytetään uudelleen (kellojen vakaudet funktioista holdover::QuantumClockClass ja clock_state::ClockClass; kylmäatomi-interferometri funktioista quantum_trade/crossover; klassiset optiset/RF-linkit funktiosta timetransfer_adv). Ainoa aidosti uusi malli on lomittuneisuus- / yksittäisfotoniajansiirtolinkki, jonka ajoitustoistotarkkuus on laukauskohinan rajoittama: σ_t ≈ jitter/√(R·τ) havaitussa yhteensattumanopeudessa R ja integroinnissa τ, heikennettynä pimeälaskentarangaistuksella √(1 + dark/R) ja alarajattuna palautumattomalla systemaattisella virheellä.

Oraakkeli on uudelleenkäytetyt, julkaistut kello/CAI-kertoimet sekä suljetun muodon laukauskohina- ja häviöidentiteetit. quantum_devices::tests: uudelleenkäytetty kellovakauksien järjestys on järkevä (optinen hila < elohopeaioni < CSAC arvossa σ_y(1 s)); lomittuneisuuden toistotarkkuus paranee muodossa 1/√τ (4× integrointi puolittaa σ:n), kun se on laukauskohinan rajoittama; havaittu yhteensattumanopeus laskee 10× jokaista 10 dB linkin häviötä kohti; pimeät laskennat heikentävät toistotarkkuutta monotonisesti; systemaattinen lattia rajaa toistotarkkuutta alhaalta; jokainen laitekortti on kelvollinen Modelled-edustavuustietue.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kvanttilaitteiden virhemallikirjasto modelled src/quantum_devices.rs DeviceCard, quantum_clock_card/classical_clock_card, EntanglementTimeLink. Oraakkeli: InternalConsistency — uudelleenkäytetyt julkaistut kello/CAI-kertoimet + suljetun muodon laukauskohina- ja häviöidentiteetit lomittuneisuuslinkille. Testit (quantum_devices::tests) kuten yllä. Rehellinen rajaus: kellojen ja CAI:n laiteparametrit käytetään uudelleen moottorin olemassa olevista julkaistujen kertoimien malleista; lomittuneisuuslinkin malli on MODELLED julkaistusta kvanttikellosynkronoinnin käyttäytymisestä havainnollistavilla, julkisiin lähteisiin perustuvilla parinopeus-, hyötysuhde- ja häviöarvoilla — sitä ei ole validoitu mitattua linkkiä vasten, ja todellinen lähde-, kanava- ja ilmaisinlaitteisto on ilmoitettu aukko lentoon.

Luotettu kvanttiajoitus — päästä päähän -ketju, turvallinen jakelu, poikkeama ja kauppavertailu (src/timetransfer_chain.rs)#

Skenaario quantum-time-transfer koostaa ajoitusketjun, jonka kvantti-PNT-demonstraattori tarvitsee: päästä päähän -käyttäjäaikabudjetti (referenssikellon liukuvirhe ja linkin ajoitustoistotarkkuus yhdistettynä neliöllisesti) kvanttiketjulle (optinen hilakello + lomittuneisuus- / yksittäisfotonilinkki) verrattuna klassiseen ketjuun (CSAC + RF-kaksisuuntainen linkki); ajoituksen suojaustaso (TPL, käytetty uudelleen kohteesta tpl), joka rajaa havaitsemattoman aikavirheen; viive/toisto-hyökkäyksen turvallisuuslaatumittari 1 − P_md ilmoitetulla väärän hälytyksen nopeudella (käytetty uudelleen kohteesta detection); kellopoikkeaman havaitsemistodennäköisyys + CUSUM (cumulative sum) -muutoksen havaitsemisviive; ja kvantti vs klassinen -vertailu rehellisenä qtrade::TradeEvidence-oliona, joka kantaa edustavuus- ja aukot lentoon -tietueen.

Oraakkeli on suljetun muodon neliöllinen budjetti uudelleenkäytettyjen, erikseen validoitujen ytimien yli (ADEV vs Stable32/NIST; TPL-raja; detection::analytic_pd/analytic_pmd). timetransfer_chain::tests: kvanttitoistotarkkuus paranee integrointiajan mukana; kvanttiketju voi voittaa ja voi hävitä toistotarkkuuden laatumittarin (rehellistä — ei yleinen voitto; hyvin häviöllinen linkki kääntää tuloksen); suojaustaso on äärellinen ja positiivinen; turvallisuuslaatumittari on välillä [0 1] ja kasvaa hyökkäysviiveen mukana; poikkeaman havaitsemistodennäköisyys on monotoninen vian suuruuden suhteen; ja kauppatodiste on sisäisesti rehellinen (is_honest()).

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Luotettu kvanttiajoitus (ketju + turvallinen jakelu + poikkeama + kauppavertailu) modelled src/timetransfer_chain.rs QuantumTimeTransferScenario/Report, to_svg; kind="quantum-time-transfer". Oraakkeli: InternalConsistency — suljetun muodon neliöllinen budjetti uudelleenkäytettyjen validoitujen ytimien yli (ADEV/Stable32-NIST, TPL-raja, havaitsemisen analyyttinen Pd/Pmd); rehellisyys sidottu edustavuuskirjanpitoon (ledger). Testit (timetransfer_chain::tests) kuten yllä. Rehellinen rajaus: kello- ja linkkiparametrit ovat havainnollistavia, julkisiin lähteisiin perustuvia; lomittuneisuuslinkki on MODELLED laukauskohinan rajoittama malli kohteesta quantum_devices; tämä mallintaa luotettujen ajoitusjärjestelmien luokkaa — sitä ei ole validoitu mitattua päästä päähän -linkkiä vasten, ja todellinen kello-, linkki- ja avaruuskanavalaitteisto on ilmoitettu aukko lentoon; TRL:ää, lentoperintöä tai sertifiointia ei väitetä.

GNSS-vapaa kvanttinavigointi (src/quantum_nav_od.rs)#

Skenaario quantum-gnss-free-nav vertaa suunnistuslaskentaa GNSS-katkon aikana kvantti-inertiabudjettiin (kylmäatomi-interferometrikiihtyvyysmittari, käytetty uudelleen kohteista inertial::quantum_imu/quantum_trade, jonka CAI:n valkoisen kohinan lattia on validoitu ~2 suuruusluokan tarkkuudella Freier ym. 2016 -työhön nähden) klassiseen navigointiluokan INS:ään. Se raportoi paikkavirheen kasvun liukuvaiheen yli, holdover-ajan paikkakynnykseen ja kvantti vs klassinen -kauppavertailun rehellisenä qtrade::TradeEvidence-oliona. Havaittavuus todetaan rehellisesti: ilman ulkoista paikannusta katkon aikana kiihtyvyysmittarin harha on havaitsematon, joten paikkavirhe kasvaa rajattomasti (≈ ½·harha·t² sekä nopeuden satunnaiskävelytermi); pienempiharhainen kvanttianturi hidastaa tätä kasvua mutta ei sulje eroa — vain ulkoinen paikannus sulkee.

Oraakkeli on uudelleenkäytetyt inertiabudjetit (QuantumNavBudget/ClassicalInsBudget, jotka kumpikin toteuttavat piirteen PositionDrift) sekä suljetun muodon ajautumaidentiteetit. quantum_nav_od::tests: kvanttibudjetti päihittää klassisen pitkän katkon yli (pienempi virhe, pidempi holdover); virhe kasvaa katkon keston mukana molemmilla (havaittavuusaukko); etu riippuu katkosta, ei ole vakio voittokerroin (kvanttikäyrä on kohinadominoitu lyhyellä liu'ulla, harhadominoitu pitkällä); kauppatodiste on sisäisesti rehellinen.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
GNSS-vapaa kvanttinavigointi modelled src/quantum_nav_od.rs QuantumNavOdScenario/Report, to_svg; kind="quantum-gnss-free-nav". Oraakkeli: InternalConsistency — uudelleenkäytetyt inertiabudjetit (CAI validoitu uudelleenkäytöllä ~2 suuruusluokkaa vs Freier 2016; klassinen suljetun muodon ajautuma); rehellisyys sidottu edustavuuskirjanpitoon (ledger). Testit (quantum_nav_od::tests) kuten yllä. Rehellinen rajaus: staattinen suunnistuslaskennan budjettivertailu, ei dynaaminen suodatin todellisilla lentoradoilla; harha on havaitsematon ilman paikannusta, mikä todetaan; laiteparametrit ovat havainnollistavia, julkisiin lähteisiin perustuvia; mallintaa GNSS-vapaan kvanttinavigoinnin luokkaa — todellinen kylmäatomi-IMU-laitteisto, dynaaminen alusta ja lentoympäristö ovat ilmoitettuja aukkoja lentoon; TRL:ää, lentoa tai sertifiointia ei väitetä.

Kvantti-PNT-järjestelmien vika- ja poikkeamantunnistus (src/quantum_faults.rs)#

Skenaario quantum-anomaly-detect määrittelee merkityn luettelon kvantti-PNT-vioista (kellotaajuuden hyppy, ajautuma, lukkiutumisen menetys; anturin harha-askel, katko), pisteyttää havaitsemistunnusluvun nimellisissä ja vikaantuneissa ikkunoissa ja raportoi ilmaisimen erottelukyvyn ROC AUC:na sekä pienimmän havaittavan vian kiinteällä väärän hälytyksen nopeudella. Kvantti vs klassinen -näkökulma: vakaampi kvanttikellon referenssi pienentää valvonnan kohinaa σ, joten se havaitsee pienempiä vikoja — tuotettuna rehellisenä qtrade::TradeEvidence-oliona edustavuustietueen kanssa.

Oraakkeli on suljetun muodon AUC Gaussin havaitsemistunnusluvulle (nimellinen N(0,σ), vika N(μ,σ) ⇒ AUC = Φ(μ/(σ√2))), ristiintarkistettuna ulkoisesti validoitua eval_stats::bootstrap_auc_ci (validoitu vs scikit-learn) ja kohteen detection analyyttisiä kynnyksiä vasten. quantum_faults::tests: analyyttinen AUC vastaa tunnettuja arvoja (0,5 kun μ=0, →1 suurella μ/σ, monotoninen); empiirinen bootstrap-AUC:n luottamusväli ympäröi suljetun muodon arvon; kvanttivalvonnalla on korkeampi AUC ja pienempi pienin havaittava vika; etu katoaa valtavilla vioilla (molemmat havaitsevat täydellisesti — ei yleinen marginaali); luettelossa on viisi merkittyä luokkaa; kauppavertailu on sisäisesti rehellinen.

Ominaisuus Tila Oraakkeli / rehellinen rajaus
Kvantti-PNT:n vika- ja poikkeamantunnistus modelled src/quantum_faults.rs FaultKind, QuantumAnomalyScenario/Report, analytic_auc, min_detectable_fault; kind="quantum-anomaly-detect". Oraakkeli: InternalConsistency — suljetun muodon Gaussin AUC ristiintarkistettuna ulkoisesti validoitua eval_stats -bootstrap-AUC:ta (vs scikit-learn) ja kohteen detection analyyttisiä kynnyksiä vasten. Testit (quantum_faults::tests) kuten yllä. Rehellinen rajaus: havaitsemistunnusluku on Gaussin malli, ei todellista telemetriaa; vikaluettelo on merkitty synteettiseksi; kvantti- ja klassisen valvonnan kohinatasot ovat havainnollistavia, julkisiin lähteisiin perustuvia; mallintaa kvantti-PNT:n poikkeamantunnistuksen luokkaa — todellinen laitteistotelemetria totuusmerkinnöin on ilmoitettu aukko lentoon; TRL:ää, lentoa tai sertifiointia ei väitetä.

Nämä standardit validoidaan palauttamalla standardeissa itsessään (tai riippumattomassa referenssitoteutuksessa) julkaistut sanatarkat laskuesimerkit / vertailuarvot, ei Kshanan omalla edestakaisella kierrolla. Standardin oman liite-esimerkin palauttaminen on vahvin saatavilla oleva yhdenmukaisuustarkistus vaihtomuodon jäsentimelle.

Standardi Tila Ulkoinen oraakkeli
CCSDS OEM (502.0-B Orbit Data Messages) validated tests/ccsds_reference.rs: parse_oem palauttaa täsmälleen epookit ja X/Y/Z/Ẋ/Ẏ/Ż-tilavektorit KVN OEM -esimerkistä kohdassa CCSDS 502.0-B-3, Annex G §G6, Figure G-11 ("OEM Example with No Acceleration, No Covariance", s. G-10) — molemmat efemeridisegmentit, mukaan lukien etunollalliset lähdearvot (-063.042). Testiaineisto tests/fixtures/ccsds/oem_502_b3_figG11.oem on toistettu merkki merkiltä virallisesta Blue Bookista (toimituksellisia "< intervening data records omitted here >" -merkintöjä, jotka eivät ole kelvollisia OEM-tietueita, ei ole mukana).
CCSDS TDM (503.0-B Tracking Data Message) validated tests/ccsds_reference.rs: TdmFile::parse palauttaa kaikki 41 RANGE-tietuetta (ensimmäinen 3198,03679519614 km, viimeinen 3270,46440460551 km) ja metadatan KVN TDM -esimerkistä kohdassa CCSDS 503.0-B-2, Annex E, Figure E-9 ("Range Data with TIMETAG_REF=TRANSMIT", s. E-9). Testiaineisto tests/fixtures/ccsds/tdm_503_b2_figE9.tdm on sanatarkasti Blue Bookista. (Tämä on julkaistu Blue Book -oraakkeli aiemmin olemassa olleen käsin kirjoitetun reference.tdm -edestakaisen kierron rinnalla tiedostossa src/ccsds_tdm.rs.)
CCSDS 133,0 (Space Packet Protocol) validated src/space_packet.rs primary_header_matches_published_independent_test_vectors: koodain toistaa riippumattoman spacepackets -kirjaston (us-irs/spacepackets-py, tests/ccsds/test_space_packet.py) tavutason ensisijaisen otsikon testivektorit — esim. 18 02 40 34 00 16 ja kaiken maksimin 1F FF FF FF FF FF — sekä kanonisen kaikki-ykköset-telemetriatapauksen (TM), kukin kierrätettynä edestakaisin dekoodauksen läpi. Bittikenttien leveydet ja järjestys CCSDS 133.0-B-2 §4.1.3 mukaan.
CCSDS 401 / DSN (linkkibudjetti, DSN 810-005) validated src/linkbudget.rs link_equation_reproduces_descanso_galileo_dct: FSPL (free-space path loss) ja C/N₀-ketju toistavat julkaistun syväavaruustelemetrian suunnittelun ohjaustaulukon julkaisusta J. H. Yuen (toim.), Deep Space Telecommunications Systems Engineering (DESCANSO/JPL (DESCANSO: Deep Space Communications and Navigation Systems Center of Excellence) Pub. 82-76), Table 1-1 — Galileon X-kaistan (8420,43 MHz) alalinkki etäisyydellä 6,37 AU: vapaan tilan häviö 290,54 dB (<0,05 dB) ja vastaanotettu Pr/N₀ = 54,6 dB-Hz (<0,2 dB). Kaistakeskukset sijaitsevat DSN/CCSDS-401 syväavaruuden alalinkkivarausten sisällä (DSN 810-005 Module 201). Oletustehtäväparametrit pysyvät edustavina (ei kalibroitu transponderi); tässä kiinnitetään linkkiyhtälö.

GNSS-standardit — ulkoisen oraakkelin tila ja rehellisesti jäljellä olevat aukot:

Standardi Tila ja rehellinen varaus
RAIM / ARAIM Ydin, geometria ja ARAIM-suojaustaso ulkoisesti validoitu. Havaitsemisen ydin — χ²-vikahavaitsemiskynnys, ei-keskeisen χ²:n havaitsematta jäämisen ei-keskeisyys ja normaalijakauman K-kertoimet — toistaa SciPyn (tests/raim_reference.rs, 171 tapausta, ≤ 1e-6 suht.), ja ympäröivä geometria toistaa gnss_lib_py:n (DOP). ARAIM-suojaustason (PL) arvo on nyt myös kiinnitetty: WG-C (WG: Working Group) ARAIM Reference ADD (Algorithm Description Document) v3.1 "LPV-200 (LPV: localizer performance with vertical guidance) numerical example" -esimerkkiä vasten src/araim_reference.rs / tests/araim_reference_vectors.rs antavat VPL 18,2926 m vs 18,3 m, HPL 13,4063 m vs 13,45 m ja σ_v,acc 1,3694 m vs 1,3694 m, referenssin oman TOL_PL = 0,05 m:n sisällä (araim-reference-check -tyyppi). Laajuus: vikatilat yhteen satelliittiin tai yhteen tähdistöön asti (N_fault,max = 1); usean tapahtuman vika-aliryhmiä ja poissulkemista ei ole toteutettu, ja klassisella RAIM:illa ei edelleenkään ole kanonista julkaistua syöte→HPL-testivektoria. Katso ARAIM_REFERENCE.md.
SBAS / DO-229E Suojaustason algoritmi nyt ulkoisesti validoitu. Kun satelliittikohtaiset (el, az, σ) on annettu, kshanan sbas_protection_level toistaa RTKLIB SBAS-PL-haarukan (zsiki/rtklib_ws waasprotlevels(), Siki & Takács 2017, "DO-229D Appendix J") — syötettynä kyseisen työkalun omalla σ:lla, joka on laskettu todellisista EGNOS-lähetysviesteistä + todellisesta BUTE RINEX:stä — tarkkuudella < 2e-3 m HPL 6 epookin yli (tests/sbas_reference.rs); ESA gLAB v6.0.0 (core/filter.c) vahvisti identtisen käytännön. K-kertoimet (K_H,PA=6.0, K_V=5.33, K_H,NPA≈6.18) vastaavat DO-229E Appendix J:tä. Mikä on validoitu ja mikä ei: tämä kiinnittää PL-algoritmin (σ sisään → HPL/VPL ulos); ylävirran σ-mallinnus raakaviesteistä UDRE/GIVE on kshanan laajuuden ulkopuolella — siinä riippumattomat koko putken työkalut ovat edelleen metrien päässä toisistaan todellisella datalla. K_V täsmäytettiin oraakkelin pyöristettyyn arvoon 5,33 (kshanan tarkka Φ⁻¹(1−5e-8)=5.3267 → VPL ~0,06 % pienempi; vertikaali validoidaan K-kertoimettomana muodossa d_U).
IONEX / Klobuchar Lähetysmalli ulkoisesti validoitu. Klobuchar L1 -malli toistaa RTKLIB:n ionmodel (tests/klobuchar_reference.rs, < 1e-4 m) — toteutuksen pariteetti tosiasiallisen avoimen referenssin kanssa, koska virallista mitattuun totuuteen perustuvaa laskuesimerkkiä ei ole. IONEX TEC -kartan lukija on nyt olemassa (src/ionex.rs, yksikkötestattu); jäljellä oleva aukko on sen ristiintarkistus todellista GIM-tuotetta vasten, ei lähetysmalli. Katso Klobuchar-rivit kohdasta Väitteet vs. todellisuus.
GPS L1 C/A -hajotuskoodi (IS-GPS-200) Koodin generointi on validoitu ulkoisesti. src/sdr.rs (ca_first_ten_chips_match_is_gps_200_octal): G1/G2 LFSR (lineaarinen takaisinkytketty siirtorekisteri) C/A-koodigeneraattori toistaa julkaistut koodivaihemääritykset (IS-GPS-200, taulukko 3-Ia) täsmälleen — ensimmäisten kymmenen sirun oktaaliluvut PRN-koodeille (pseudosatunnaiskohina) 1–9 ({1440, 1620, 1710, 1744, 1133, 1455, 1131, 1454, 1626}). Tämä sitoo levityskoodin sirusarjan GPS-rajapintamäärittelyyn; ympäröivä modulaatio, spektrierotus ja DLL-koodinseuranta (delay-locked loop, navsignal) ovat edelleen tasolla MODELLED.

Verkkojen, spektrin, aurinkokunnan, satelliittitähdistöjen, kampanjoiden ja LEO-PNT:n ajoitus#

Versiolinjalla 0,28 lisätyt ominaisuudet arvioidaan rivi riviltä generoidussa tiedostossa VERIFICATION-MATRIX.md; tämä osio tiivistää, millä niistä on ulkoinen oraakkeli. Rivi on VALIDATED vain riippumattoman ulkoisen oraakkelin kanssa; kaikki muu on MODELLED.

Ominaisuus (laji) Tila Ulkoinen oraakkeli tai syy, miksi rivi pysyy mallinnettuna
Telekommunikaation MTIE (suurin aikavälivirhe) ja TDEV (aikapoikkeama) holdover-sarjasta (telecom-timing) validated tests/telecom_timing_reference.rs: 17 MTIE- ja 12 TDEV-keskiarvoistuskerrointa tallennetulla 2 048 näytteen sirumittakaavan kellon holdover-sarjalla verrattuna allantools-ohjelmaan 2024,06, suhteellinen ero < 1e-12 / < 1e-9. ITU-T:n (Kansainvälisen televiestintäliiton telealan standardointisektori) maskien PASS/FAIL-tuomiot ja datalehtien oskillaattoriesiasetukset ovat edelleen tasolla MODELLED. Katso TELECOM-TIMING.md.
Holdover-ennuste mitatusta kellotallenteesta (slot-timing) validated tests/slot_timing_cs5071a_holdout.rs: sovitus oikean 5071A-cesiumtallenteen ensimmäiseen kolmannekseen, yhden sigman ylitysajan ennuste kuudella kynnysarvolla, mittaus pidätetystä kahdesta kolmanneksesta; kynnyksenä kerroin 1,5 kumpaankin suuntaan, havaitut suhteet 0,84–1,03. Sen päälle rakennettu aikavälin suojabudjetti ja paikannuspäivitysten tahti ovat edelleen tasolla MODELLED.
Suljetun muodon L-kaistan tehospektritiheydet ja spektrierotus (spectrum) validated navsignal suljetut muodot verrattuina julkaistuihin arvoihin (matriisirivi ”Closed-form L-band signal power spectral densities…”). Vesiputouskaavio kaistakohtaisella J/S (häirintälähettimen ja signaalin suhde) ja efektiivisellä C/N0 (kantoaallon ja kohinatiheyden suhde) sekä SigMF-syöttö (Signal Metadata Format) ja -tuloste ovat edelleen tasolla MODELLED.
Planeettojen paikat JPL:n (Jet Propulsion Laboratory) Standish-elementeistä ja kappaleiden välinen valoaika (solar-system) validated 0,30, ennakkorekisteröity JPL Horizonsia (DE441) vastaan: tests/solar_system_standish_preregistered.rs ja tests/solar_system_standish_earth_icrf_preregistered.rs, RMS planeettaa ja komponenttia kohti enintään Explanatory Supplement -teoksen taulukon 8.10.1 luku (huonoin 0,778), Maan jako ja ICRF-kierto mukaan lukien; tests/solar_system_light_time_solver_preregistered.rs, valoaikaratkaisin DE441-paikoilla, ero Horizonsin valoaikaan enintään 1e-6 s (huonoin 6.7e-9 s). Aiempi kaksinkertaisen nimellisarvon vertailu (tests/solar_system_horizons_reference.rs), jonka kynnys asetettiin ensimmäisen vertailun jälkeen, säilytetään ei-portittavana regressiotestinä. Uranus/Neptunus taulukosta 1, Pluto, kuut, kappaleiden vakiot ja body-pnt ovat edelleen tasolla MODELLED.
Walker-geometria ja julkaistut GPS-, Galileo- ja GLONASS-rataslotit (GLObal NAvigation Satellite System); globaali GPS-DOP (tarkkuuden heikkenemiskerroin) (constellation-design) validated constellation::tests: Walker 24/3/1 toistaa Galileon avoimen palvelun määritystaulukon tarkkuudella 1e-9°, GLONASSin rajapintakuvauksen slottikaavan ja GPS:n päiväntasaajan ylitykset; GPS-lähtötason HDOP:n mediaani 0,940 verrattuna Standard Positioning Service -suorituskykystandardin arvoon 0,94. Mielivaltaiset usean satelliittitähdistön kattavuuskartat minkä tahansa kappaleen ympärillä ovat edelleen tasolla MODELLED.
Kampanjat: ketjutetut tehtävät, pyyhkäisyt, Monte Carlo -ensemblet, yhteisten ehtojen ajot (campaign) modelled tests/campaign_composition_reference.rs (11 testiä): yhden vaiheen kampanja toistaa itsenäisen ajon tavu tavulta, yhden solmun pyyhkäisy lukee saman luvun, siemenluvulla ajettu ensemble on tavutasolla vakaa. Koostamisidentiteettejä, ei ulkoinen oraakkeli.
LEO (matala Maan kiertorata) -linkkifysiikka: ITU-R (ITU Radiocommunication Sector) P.838 -sadekertoimet, P.618 sadevaimennus ja tuikinta, P.2109 rakennuksen läpäisyvaimennus, ensimmäisen kertaluvun ionosfääri, suurin Doppler validated tests/leo_link_reference.rs, tests/leo_doppler_reference.rs: ITU-R-suositusten omat taulukot ja tutkimusryhmän 3 validointiesimerkit (tallennettu lähteineen ja noutopäivineen), IS-GPS-200:n ryhmäviiveen suhde ionosfäärille sekä julkaistu suurimman Dopplerin taulukko (Leclere, Marathe ja Reid, ION GNSS+ 2025, arXiv 2509,19551).
LEO-navigointiviesti: Galileon ICD:n (rajapintakuvaus) lähetetyn efemeridin käyttäjäalgoritmi, CRC-24Q (24-bittinen syklinen redundanssitarkistus), globaalin keskiarvon SISRE-painot (signal-in-space range error) (leo-navmsg) validated tests/leo_navmsg_reference.rs: Galileon käyttäjäalgoritmi toistaa RTKLIBin (avoimen lähdekoodin reaaliaikaisen kinemaattisen paikannuksen kirjasto) tuloksen tarkkuudella 1 mm neljällä oikealla Galileon lähetetyllä efemeridillä; CRC-24Q antaa luettelon tarkistusarvon 0xCDE703 ja RTCM:n (Radio Technical Commission for Maritime Services) esimerkkikehyksen 1005 tarkistustavut; SISRE-painot toistavat julkaistun MEO/GEO-taulukon. Sovitin, ylilennon aikainen päivitys, binäärikoodaus, RINEX-4-tyylinen/CSV-teksti (pilkuin erotetut arvot) ja valittavat efemeridimallit ovat edelleen tasolla MODELLED.
LEO-signaalisuunnittelu, ylilento ja linkkibudjetti, Doppler ja yhteinen GNSS+LEO-paikannus, PPP:n (tarkka pistepaikannus) konvergenssi, 5G NTN -paikannus (ei-maanpäällinen verkko), LEO-ajansiirto (leo-signal, leo-pass, leo-pvt, leo-ppp, ntn-positioning) modelled tests/leo_signal_reference.rs, tests/leo_fusion_scenarios.rs: suljetut muodot, suodattimen johdonmukaisuus (esimerkiksi PPP-suodattimen ajoilla keskiarvoistettu NEES omalla kaistallaan 95%) ja julkaistujen trendien vertailut; ei kenttädataa.
Yksi LEO-PNT-järjestelmä päästä päähän (leo-pnt-chain) modelled tests/leo_pnt_chain.rs: jokainen eteenpäin välitetty arvo on yhtä suuri kuin ylävirran vaiheen oma tuloste, ja ylävirran syötteen muuttaminen siirtää kaikkia siitä riippuvia loppupään lukuja.
LEO-kestävyys ja vertikaalit (harhautus Dopplerilla ja kaistojen välisellä johdonmukaisuudella, ionosfäärin luotaus) modelled tests/leo_resilience_verticals.rs (10 testiä). Kestävyys- ja vertikaaliskenaariot on lueteltu tiedostossa RESILIENCE-CROSSWALK.md.

Tuotokset, jotka ovat esityksiä eivätkä todisteita, on testattu, mutta niillä ei ole matriisiriviä: tiedonvaihtoviennit (CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON, STK:n (Systems Tool Kit) efemeridi, SigMF (Signal Metadata Format)), jotka kukin jäsennetään takaisin formaatin määrityksestä kirjoitetulla validaattorilla (tests/interop_formats.rs, 13 testiä; katso INTEROP.md); animaatiot (tests/animation.rs: tavutasolla identtiset uusinta-ajot, täsmälliset kuvamäärät, hyvin muodostettu SVG (Scalable Vector Graphics), ei ulkoista osoitetta HTML-soittimessa (HyperText Markup Language)); sekä ajoraportti (tests/advanced_report.rs, tests/advanced_report_cli.rs: jokainen mukana toimitettu skenaario raportoi ilman tyhjää osiota tai paikkamerkkiarvoa, nimikkeet vastaavat matriisia, ja tallennettu komento toistaa tiedoston result.json ja raportin tavu tavulta).

Toiminta-alue#

Jokaista pakettia harjoitetaan ilmoitetulla syöttöalueellaan testillä tests/scenario_coverage.rs, joka varmistaa, että jokainen numeerinen tulos on äärellinen (ei NaN/Inf (NaN: ei luku)) ja rajattu. Taulukossa on pakettikohtainen testattu syöttöalue, odotettu tulostekäyttäytyminen ja kattava testi.

Paketti Pyyhkäisty syöte Testattu alue Odotettu tulos Kattava testi
clock threshold_ns (ajoitusspesifikaatio) 1 – 500 ns äärelliset holdover-, ajoitus- ja turvallisuuslaatumittarit clock_pack_covers_the_spec_threshold_envelope
inertial accel.bias 1e-7 – 1e-2 m/s² (kylmäatomi → karkea MEMS (mikrosähkömekaaniset järjestelmät)) äärellinen, rajattu paikan RMS/p95 inertial_pack_covers_the_accel_bias_envelope
orbit mask_deg (korkeuskulmamaski) 5° – 30° äärellinen DOP/saatavuus; rajattu orbit_pack_covers_the_elevation_mask_envelope
spoof attack.rate_ns_per_s 0,1 – 50 ns/s äärellinen P_md / turvallisuus, rajattu spoof_pack_covers_the_attack_rate_envelope
hybrid position_spec_m 10 – 1000 m äärellinen ajoituksen/paikan holdover hybrid_pack_covers_the_position_spec_envelope
rata (oikea) oikeat Celestrak-TLE:t ryhmästä gps-ops 30 satelliitin tilannekuva, tiukka tarkistussumma latautuu vain kelvollisilla tarkistussummilla; rajattu geometria real_gps_constellation_scenario_loads_with_valid_checksums_and_bounded_output
kello (flicker) flicker_floor päällä/pois 0 vs. 1e-12 1/f-pohjan käyttöönotto huonontaa ajoituksen p95-vapaata etenemistä flicker_fm_floor_degrades_the_clock_holdover_when_enabled
fuusio (realismi) accel.bias 0 vs. 5.88e-7 m/s² nolla vs. realistinen nollasta poikkeava suodatin konvergoituu yhä, enintään 3× nollaharhan virhe fusion_filter_converges_with_a_realistic_non_zero_bias

Flicker-FM- ja fuusioharhariveillä suljetaan kaksi tiettyä realismiaukkoa: kohinatermit ovat oletuksena pois päältä, mutta vaikuttavat osoitettavasti tulosteeseen, kun ne otetaan käyttöön, ja yhteinen fuusiosuodatin ei ole riippuvainen siitä, että harhat nollataan — se konvergoituu myös realistisella kylmäatomiluokan jäännösharhalla.

Tunnetut rajoitukset#

  • Kvantti- ja klassisissa ajoissa on nyt riippumattomat RNG (satunnaislukugeneraattori) -siemenluvut (klassinen siemenluku = siemenluku + 0x9e3779b97f4a7c15), joten niiden kohinatoteutumat ovat korreloimattomia — korjattu katselmoinnin jälkeen.
  • holdover_s on segmenttitietoinen: katkoaikajanat jaetaan yhtenäisiin segmentteihin GNSS:n uudelleenhankinnassa, ja raportoitu arvo on huonoimman tapauksen (lyhin) vapaa eteneminen niiden joukosta. Sitä rajaa edelleen aikaruudukon erotuskyky (alaraja).
  • ISL-ajansiirron uudelleensynkronointi mallintaa jäännöslinkin epävarmuuden tuoreena nollakeskiarvoisena värinänä jokaisella mittausaskeleella sekä uudelleenankkuroinnilla asetetulla välillä.

Väitteet vs. todellisuus — pikaopas#

Vihamielisen arvioijan tarkistuslista. Jokaiselle termille, joka voitaisiin ymmärtää enemmäksi kuin mitä se on: mitä Kshana tekee tänään ja missä todellinen versio on tiekartalla.

Termi, jonka saatat nähdä Mitä se on todellisuudessa tänään Mitä se ei ole (vielä)
”hybridi kvantti-/klassinen PNT-simulaattori” klassinen stokastinen simulaattori, jota ohjaavat julkaistut kvanttianturien Allan-/kohinakertoimet ensimmäisten periaatteiden kvanttifysiikka (Mach–Zehnder-vaihe, projektiokohina, systemaattiset virheet) — katso QUANTUM-MODELS.md
”yhteinen Kalman-fuusio” / fuusiopaketti ajettava paketti fusion havainnoi kelloa ja paikkaa erikseen (suora aikapaikannus ja suora paikannus), jolle optimaalinen estimaattori on aidosti lohkodiagonaalinen — kaksi kaksitilaista suodatinta yhteisellä laatumittarilla kytketty suodatin pseudoetäisyyden tapaukselle on nyt olemassa muodossa fusion::coupled::CoupledPntFilter (4-tilainen pinottu [pos,vel,phase,freq], nollasta poikkeava lohkojen välinen kovarianssi, NEES-validoitu), mutta se ei ole vielä kytketty ajettavaan pakettiin, ja paketti on 1-DOF (yksi vapausaste) — 3D:n 8-tilainen laajennus on tulevaa työtä
Turvallisuuden laatumittari (laji spoof) stokastisen aikaharhautuksen ilmaisimen suure 1 − P_md: kaksipuolinen χ²₁ / Neyman–Pearson -testi kelloavusteisella monitoritunnusluvulla, kynnys asetettu tavoitteesta P_fa, P_md arvioitu spesifikaation suuruudella sekä suljetussa muodossa että Monte Carlolla (jotka täsmäävät muutaman ×1/√N sisällä) usean satelliitin RAIM/ARAIM-ilmaisin — katso INTEGRITY.md; monitoritunnusluku on Gaussin malli kellon PSD-johdetulla σ:lla, ei signaalitason korrelaatio
”kelloavusteinen harhautuksen havaitseminen” yhden kellon aikaeromonitori (Gaussin tunnusluku, σ kellon PSD:stä), EI usean SV:n (SV: avaruusalus eli satelliitti) RAIM etäisyysalueen usean SV:n RAIM suojaustasoilla
harhautusilmaisimen P_md (suljettu muoto vs. Monte Carlo) analyyttinen, funktioon Φ perustuva arvo P_md ja empiirinen arvio mc_runs kokeen perusteella täsmäävät otantavirheen sisällä (≈ 1/√N); validoitu testeissä src/spoof.rs / src/detection.rs rasitetulla poikkeamalla (μ/σ = 2) mitattu ilmaisimen ROC tallennetusta harhautusdatasta
pseudoetäisyysmalli (gnss-sim) eteenpäinsimulaatio: ρ = geometric + clocks + Klobuchar iono + Saastamoinen·Niell tropo + noise + multipath. Jokainen ilmakehämalli on yksikkötestattu käsin laskettuja arvoja vastaan (ZHD (zenith hydrostatic delay, zeniitin hydrostaattinen viive) ≈ 2,3 m, Niell = 1 zeniitissä, Klobucharin vinous), ja koko Klobucharin lähetysmalli on ristiintarkistettu RTKLIBin viitetoteutusta ionmodel() vastaan alle millimetrin tarkkuudella (klobuchar_agrees_with_rtklib_reference_implementation, 6,1278 m RTKLIBin oletuskertoimien tapauksessa — virallista julkaistua Klobuchar-testivektoria ei ole, joten tämä on toteutusten pariteetti, ei mitattu totuus); nollakohinaajo toistaa geometrian + korjaukset alle millimetrin tarkkuudella (RAIM-jäännös ≈ 0) paikkaratkaisu oikeista signaaleista (PPP/RTK (PPP: tarkka pistepaikannus)), kaksitaajuinen ionosfääritön yhdistelmä tai kantoaallon vaiheen kokonaislukuepävarmuuden ratkaisu — ei mallinnettu
häirintämalli (laji jamming) linkkibudjetin ketju: J/S vapaan tilan etenemisvaimennuksesta + suuntakohtaisesta antennivahvistuksesta → efektiivinen C/N₀ häirinnänestoyhtälön kautta (hajautusvahvistus × spektrierotus Q) → lukituksen menetys kynnyksellä (Kaplan & Hegarty §9,4) monitie-eteneminen, AGC:n (automaattinen vahvistuksensäätö) dynamiikka ajassa, hankintahaku itse (valinnaisessa osiossa [acquisition] hystereesi on kynnysten pari); valinnaisen osion [front_end] kvantisointihäviö on Gaussin syötteen häviö, ei päde CW-häirintälähettimelle; valinnaisen osion [crpa] ryhmä on kapeakaistainen ja ideaalinen (ei kytkentää eikä epäsovitusta), ja valinnaisen osion [terrain] varjostus on yksi veitsenterä yhdellä SRTM-ruudulla; Q on edustava tyyppikohtainen vakio, ei johdettu häirintälähettimen mitatusta PSD:stä
Eheyden laatumittari (kello-/holdover-paketit) suodattimen itseyhdenmukaisuus (poistumanäytteiden osuus oman k·σ-rajansa sisällä) HPL/VPL, eheysriski / P_HMI, hälytysrajat, DO-229E/316/ED-259A — ne raportoidaan erikseen lajin integrity (RAIM / ARAIM) ja SBAS-toimintojen kautta, eikä niitä koskaan yhdistetä tähän laatumittariin
vanhan skenaarion inertial paketin laatumittari yksiakselinen (1-DOF) kiihtyvyysanturin/gyron virhebudjetti (VRW/ARW, harhan epästabiilius) totuuteen napsautettavalla nollauksella vanha paketti on 1-DOF; 3-akselinen polku toimitetaan paketissa gnss-ins (seuraava rivi)
3-akselinen strapdown-kirjasto + paketti gnss-ins (src/inertial/, src/fusion/pack.rs) varmennettu kvaternio/NED (NED: pohjoinen-itä-alas) -navigaattori deterministisellä IMU-virhemallilla — mittakerroin, kohdistusvirhe, g-herkkyys, kvantisointi, kulmanopeuden ramppi mallinnettu (IEEE Std 952-1997 §A.2; Groves 2013 §4,3) — jota nyt ajaa skenaariopaketti gnss-ins ja joka on määritettävissä anturikohtaisesti TOML:sta (Tom's Obvious Minimal Language, skenaarioformaatti) ([imu_*.error_model]) ei mallinnettu: tärinän tasasuuntausvirhe, lämpötilagradientin ryömintä. Yhdistetyn vapaan etenemisen virhettä rajoittaa luovutuksen asentovirhe (kallistuma/kiihtyvyysanturin harha erottuvat heikosti), joten anturikohtaista harhan kalibrointia ei väitetä
”Hybridi-PNT-integrointi” (paketti hybrid) avoimen silmukan dead reckoning, jota rajaavat totuuteen napsautetut GNSS-nollaukset kytketty (löysä/tiukka) GNSS–INS-Kalman-yhdistelmä — se on erillinen paketti gnss-ins (EKF) ja laji hybrid-ukf
”Paikannussuorituskyky” (kellopaketit) kellovaiheen ajoituksen RMS yksikössä ns (timing_rms_ns) paikka-alueen RMS/CEP/SEP/DOP-painotettu (SEP: pallomainen todennäköinen virhe) tarkkuus
inertiaalinen paikan laatumittari (pos_rms_m) yksiakselinen paikan RMS/p95 metreinä yhdestä siemenluvusta, ellei asetus runs = N pyydä ensemblea (silloin keskiarvo, hajonta ja bootstrap-luottamusväli 95% mittaria kohti) ensemblen CEP / 2DRMS (kaksi kertaa etäisyyden RMS) -jakauma (tiekartta: Monte Carlo -CEP)
”validoitu tarkkuuteen ~2%” tyypillinen havaittu yhteensopivuus; valvottu portti on 20–25% suhteellinen virhe taattu tarkkuusraja 2%
”toistettava / bitti-identtinen” bitti-identtinen uusinta-ajo samassa käyttöjärjestelmässä (OS) + kiinnitetyllä työkaluketjulla; Linuxin, macOS:n ja Windowsin välillä CI tarkistaa jokaisen tuloksen syötteen sormenjäljen ja muodon tallennetun SHA-256-tiivisteen (tests/cross_platform_golden.rs) sekä numeeriset arvot tarkkuudella 1e-6 (tests/golden.rs) tavuidenmukaisesti identtinen koko tulos eri käyttöjärjestelmien välillä (libm:n viimeisen numeron erot)
SGP4 GPS -skenaario (orbit-sgp4-gps.toml) aito Celestrakin tilannekuva gps-ops (2021-07-28, 30 satelliittia, tiukat tarkistussummat), jokainen satelliitti propagoitu omasta TLE-epookistaan ajantasainen satelliittitähdistö — päivitä tilannekuva komennolla scripts/fetch_tles.sh (katso REAL_TLE_GUIDE.md); NORAD:n (North American Aerospace Defense Command) luettelonumerot ovat oikeita

Kuun PNT -artikkelien ristiintarkistukset (regressiotodiste, ei matriisirivejä)#

Kuun/kuunläheisen avaruuden sarja (README:n ominaisuudet ”Lunar & cislunar” ja ”Lunar PNT suite”) on riippumattomasti ristiintarkistettu julkaistujen artikkelien väitteiden osalta tiedostoissa tests/validate_p*.rs, kukin eri toteutuksesta peräisin olevaa oraakkelia vastaan:

  • kiertoradalta lähetyksen/kaappauksen jalanjälki vs. scipy.special.j1 (Cephesin Bessel J1);
  • pintamajakan geometrian DOP vs. riippumaton NumPy-ratkaisu lausekkeelle (HᵀH)⁻¹;
  • UT1/EOP-pysyvyysennusteen virheen kasvu vs. samojen sanatarkkojen IERS-rivien (finals2000A) NumPy-uudelleenjäsennys;
  • tasomainen kaukaisen vastakulkuisen radan perhe vs. NASA/JPL:n kolmen kappaleen jaksollisten ratojen tietokanta;
  • RF-etäisyysmittauksen toistotarkkuusbudjetti vs. ensimmäisistä periaatteista johdettu viite.

Testiaineistot ja oraakkelin generointiskriptit sijaitsevat hakemistossa tests/fixtures/{p1_footprint,lunar_service,eop_prediction,rf_ranging_precision,dro_family_jpl,p2_independent_dop}/. Ne vahvistavat todistepohjaa ominaisuuksille, jotka pysyvät tasolla MODELLED koneellisesti tarkistetussa matriisissa (src/verification.rs); ne ovat regressiotarkistuksia, eivät uusia matriisirivejä tasolla VALIDATED, joten ne eivät itse muuta koneellisesti tarkistetun matriisin lukumäärää. Lukumäärää ei toisteta tässä, koska käsin kirjoitettu kopio siitä ajautuu pois: todellinen jako on tiedoston VERIFICATION-MATRIX.md generoidussa otsikossa, jonka gen_validation_artifacts kirjoittaa funktiosta verification_matrix() ja jonka tests/verification_artifacts_doc_sync.rs kiinnittää.