Maskinoversættelse, ikke gennemgået af en modersmålstalende. Engelsk er referencen.

Evidens

Hver funktion bærer sin evidens.

401 funktioner, hver bedømt. 176 valideret mod uafhængige eksterne referencer. 221 ærligt betegnet modelleret. 4 ejet af partnere. Intet rundes op.

Verifikationsmatrix v0.40.0 Fra repositoriet

Hold musen over eller fokusér en celle for at læse dens funktion og den uafhængige reference, der bedømmer den.

Valideret: en uafhængig ekstern reference er enigModelleretPartner-owned

Motor v0.40.0 · web/data/verification-matrix.json, genereret fra src/verification.rs · 401 rækker · intet scenarie eller seed: motorens eget registerLæs registeret

  • Gratis kerneRegisteret, resultaterne, reproducerbarhedsstemplet og testene bag dem ligger alle i den åbne motor.
  • ProPakker evidensen i en reproducerbar bevispakke af revisionskvalitet til en gennemgangskomité. Se nedenfor
  • Skræddersyet undersøgelseBesvarer dit eget spørgsmål med de samme mærker, ikke en certificering. Se nedenfor
01Validerede resultater · hver sammenlignet værdi

Kontrolleret mod en andens svar.

Hver flise tegner hver værdi, motoren sammenlignede med en uafhængig reference: offentliggjorte vektorer, et separat flyvedynamikbibliotek, præcise efemerider, et statistikbibliotek, en standardpublikation og en målt urregistrering, holdt ude fra tilpasningen. Hold musen over eller fokusér et mærke for at se dets værdi.

Baner · analytiskeValideret
666/666

SGP4 (Simplified General Perturbations 4) banepropagering

Hver reference-vektor fra AIAA (American Institute of Aeronautics and Astronautics) gengivet, inklusive tilfælde for SDP4 i dybt rum (Simplified Deep-space Perturbations 4). Værste tilfælde 4.12 mm.

Ét kvadrat pr. sammenlignet vektor, farvet efter dens positionsfejl.

uafhængig reference · AIAA 2006-6753 verifikationsvektorerHvordan det blev kontrolleret

Motor v0.40.0, build 3395218 · tests/sgp4_verification.rs · deterministisk, intet seedÅbn i Kshana Studio: den samme propagator, orbit-sgp4-gps.toml · seed 17

Integritet · statistikValideret
171tilfælde

RAIM-detektionstærskler

RAIMs statistiske kerne (receiver autonomous integrity monitoring) mod SciPy, tilfælde for tilfælde.

Ét kvadrat pr. SciPy-tilfælde, grupperet efter kerne.

uafhængig reference · SciPyHvordan det blev kontrolleret

Motor v0.40.0, build 3395218 · tests/raim_reference.rs · deterministisk, intet seedÅbn i Kshana Studio: kernen i arbejde, integrity-raim.toml · seed 7

Baner · numeriskValideret
0.08m

Numerisk (Cowell) propagering

Mod flyvedynamikbiblioteket Orekit 12,2 ved hver epoke af en bue på 24 timer, kraftniveau for kraftniveau.

Positionsforskel mod tid, pr. kraftniveau.

uafhængig reference · Orekit 12,2Hvordan det blev kontrolleret

Motor v0.40.0, build 3395218 · tests/numerical_cowell_propagator_reference.rs · deterministisk, intet seedIngen Kshana Studio-visning: denne sammenligning kører som en motortest.

Baner · millimeter til meterValideret
0.61m Galileo/0.10m Swarm-A

Hver banerest på én skala

Fra propagatortjekkene til tilpasninger mod ESA's (European Space Agency) præcise efemerider. Månesatellitten, over tærsklen, vises også.

Hver rest på en logaritmisk skala fra en millimeter til tyve meter.

uafhængig reference · ESA's præcise efemerider, månesatellittens rekonstruerede bane, Orekit 12,2, AIAA-vektorerHvordan det blev kontrolleret

Motor v0.40.0 · docs/AGENCY-ORBIT-VALIDATION.md resttabeller, med de to propagatortjek genberegnet ved build 3395218 · deterministisk, intet seedIngen Kshana Studio-visning: præcis banebestemmelse kører som motortests.

Ure · stabilitetValideret
12af 12 offentliggjorte værdier

Allan-deviation

Gengiver referenceværdierne i NIST (National Institute of Standards and Technology) Special Publication (SP) 1065, tabel 31, på dens eget datasæt med 1000 punkter.

Fire deviationer mod middelingstid med de offentliggjorte værdier som ringe.

uafhængig reference · NIST SP 1065Hvordan det blev kontrolleret

Motor v0.40.0, build 3395218 · tests/allan_nist_sp1065_1000point.rs · deterministisk, intet seedÅbn i Kshana Studio: estimatorerne på et ur, clock-holdover.toml · seed 42

Ure · holdoverValideret
0.84til1.03

Holdover-forudsigelse på et rigtigt cæsiumur

Tilpasset på første tredjedel af en målt cæsiumregistrering, forudsagt på de to andre tredjedele: inden for den forud fastsatte faktor 1.5.

Målt og forudsagt tidsfejl mod coast-tid og forholdsvinduet.

uafhængig reference · målt cæsiumregistreringHvordan det blev kontrolleret

Motor v0.40.0, build 3395218 · tests/slot_timing_cs5071a_holdout.rs · deterministisk, intet seedÅbn i Kshana Studio: den samme inversion, slot-timing-ocxo-leo.toml · deterministisk

02Verifikationsmatrix

Én celle pr. funktion.

Valideret betyder, at en uafhængig ekstern kilde er enig: offentliggjorte referencevektorer, et separat værktøj eller målte data. Alt andet siger modelleret. Vælg et mærke for at tænde dets celler.

Funktioner bedømt

176af 401 valideret
Hold musen over en celle

Antallene er eksakte og stammer fra motorens verifikationsmatrix. Cellerne følger registerets rækkefølge.

Tre ord, brugt strengt
Valideret
Kun med en uafhængig ekstern reference: publicerede referencevektorer, en separat implementering eller målte data, der er holdt uden for tilpasningen. Registeret navner referencen og testen, og matrixens invarianttests håndhæver reglen.
Modelleret
En publiceret model eller et dokumenteret modelvalg, internt testet, endnu uden uafhængig ekstern reference. Det siges højt og rundes ikke op.
Partner-owned
Konstruktion af rumfartøjets bus, navigationsnyttelast og antennehardware, kvantenyttelastens hardware og produktsikring af flyvehardware. Kshana gør ikke krav på nogen af dem; en partner ejer dem.

Med Pro: et missionsdossier kontrollerer hvert krav mod rigtige kørsler og beholder disse etiketter i sin verifikationsmatrix: et krav, der er opfyldt på et grundlag, der er MODELLED eller PARTNER, bliver markeret. Se et rigtigt dossier

03Valideringsregister

Alle 401 rækker, én linje hver.

Hver række navngiver sit krav, sin status og det modul, der implementerer det. Åbn en række for dens reference og tests, eller vælg et domæne for at indsnævre.

Efter domæne: søjlelængden er antal rækker, farven er status. Vælg ét for at filtrere.

ValideretModelleretPartner-owned
ValideretIdentifikation af potenslovsstøj ved lag-1-autokorrelationallan (lag1_noise_id, lag1_acf)
Funktion
allan::lag1_noise_id: Riley og Greenhalls (2004) støjidentifikator med lag-1-autokorrelation (decimeret fase med dens kvadratiske led fjernet eller gruppemiddelværdi af frekvens med dens linje fjernet; gentagne første differenser, indtil delta = r1/(1+r1) < 0,25 eller d = dmax), som returnerer potenslovens eksponent alfa som heltal og urundet (+2 hvid PM til -2 random-walk FM) ved enhver middelværdifaktor; den fastsætter frihedsgraderne for støjtypen i enhedskortene i det målte urbibliotek
Uafhængig reference
allantools 2024,6 autocorr_noise_id (A. Wallin og bidragydere, LGPL-3.0-or-later, kørt som et separat program af fixture-generatoren): en uafhængig implementering af den offentliggjorte Riley-Greenhall-algoritme, en entydigt defineret størrelse under de angivne konventioner. Kontrollerer identifikatoren, ikke støjindholdet i noget reelt ur
Tests
tests/clock_library_lag1_noise_id_allantools.rs (140 tilfælde: ti Kasdin-potenslovsregistreringer, b = 0 til -4, som fase- og frekvensdata, af = 1 til 64; alpha_int og d identiske, værste |d alpha| 9.6e-13 og |d rho| 4.8e-13…
ValideretAutentificering af navigationsdata på modtagersiden med Galileo OSNMAosnma (page, subframe, dsm, merkle, signature, tesla, mac, maclt, navdata, verifier, ubx, cli)
Funktion
osnma + kshana osnma verify: en åben verifikator i ren Rust på modtagersiden til Galileo OSNMA (SIS ICD Issue 1,1, Receiver Guidelines Issue 1,3) ud fra I/NAV-sider eller en u-blox UBX-RXM-SFRBX-strøm: Merkle-træets offentlige nøgler (DSM-PKR), ECDSA P-256/P-521-signaturen på DSM-KROOT, verifikation af TESLA-nøglekæden (SHA-256 eller SHA3-256), verifikation af MACSEQ og tags (HMAC-SHA-256 eller CMAC-AES) for ADKD 0, 4 og 12 med krydsautentificering, kædeslutning/tilbagekaldelse/fornyelse, fornyelse og tilbagekaldelse af offentlige nøgler samt alarmmeddelelsen; status pr. satellit Authenticated/Failed/Unavailable med en årsag til hver fejl eller forsinkelse. Vejledende: ikke typegodkendt navigationsudstyr og ikke en tjeneste for navigationsintegritet; der hævdes ingen ydeevne mod spoofing
Uafhængig reference
De officielle Galileo OSNMA-testvektorer, som European GNSS Service Centre har offentliggjort som bilag til Receiver Guidelines (Test_vectors.zip, sha256 ef9b9afc6ef9e1c57393415cf2a1dc80c4035e7c06123907ea0bb97dd3ccf370): 18 af 18 sæt, 186.382 tags autentificeret, 0 fejlet, kørt offline den 2026-10-10 (evidensoptegnelse i kshana-pro docs/evidence). Omfang: vektorerne kontrollerer den kryptografiske verifikation (Merkle, KROOT/ECDSA, TESLA-kæde, MACK-tags, ADKD 0/4/12) og dens udfald på de offentliggjorte scenarier; de bruger kun HMAC-SHA-256, en SHA-256-kæde, 128-bit-nøgler, 40-bit-tags og opslagsposterne 33 og 34, så CMAC-AES, SHA3-256-kæder og andre parametre kun er dækket af offentliggjorte known-answer-tests af primitiver og af syntetiske tests. Hærdningen af betroet tid, databinding, udløb og bekræftelse af header er testet med de syntetiske angrebstests og ikke med et eksternt orakel. Ikke kontrolleret: tilbagekaldelseslister for certifikater, live signaler eller en live modtager (UBX-ordlayoutet er kun kontrolleret på syntetiske frames), Merkle-træer med SHA3-256, friskhed uden en uafhængig tid. Ikke en EU-tjeneste
Tests
tests/osnma_official_vectors.rs (valgfri, KSHANA_OSNMA_VECTORS: alle 18 vektorsæt, 186.382 tags autentificeret, 0 mislykket, gulve pr. sæt, kæder annonceret, ADKD 0/4/12, alarm verificeret, autentificering genoptages efter…
ValideretKarakterisering af frekvensstabilitetallan
Funktion
Allan-/modificeret/Hadamard-deviation + identifikation af potenslovsstøj med χ²-CI'er
Uafhængig reference
NIST SP 1065 (Riley) / Stable32-referencedeviationer på NBS14
Tests
tests/allan_reference.rs (NBS14 vs Stable32 to 1e-4); allan::tests
ValideretFrekvensstabilitet på et reelt målt urallan
Funktion
Overlappende Allan- + overlappende Hadamard-deviation på en reel cæsiumstandard
Uafhængig reference
Stable32 overlappende ADEV/HDEV på den målte fasetidsserie fra cæsium 5071A (allantools)
Tests
tests/cs5071a_reference.rs (reel 5071A Cs mod H-maser, 556.990 punkter, 16 middelværdifaktorer mod Stable32 til 1e-3; datastyret via scripts/fetch_cs5071a.sh)
ValideretParitet for Allan-estimatorer på den kanoniske Stable32-referenceserieallan
Funktion
Overlappende Allan + modificeret Allan + tidsdeviation over hele AF-stigen
Uafhængig reference
Stable32-referencedeviationer for PHASE.DAT (Riley; standardserien til regression)
Tests
tests/phasedat_reference.rs (Stable32 PHASE.DAT, 139 averaging factors, OADEV/MDEV/TDEV to 1e-3; data-gated via scripts/fetch_phasedat.sh)
ValideretFrekvensstabilitet med udvidet rækkevidde (Theo1 / TOTDEV)allan
Funktion
Theo1 og total deviation (TOTVAR) — estimatorer for langtidsstabilitet med udvidet rækkevidde, der når ~75 % af optagelsen, hvor Allan-deviationen giver op omkring ~50 %; det bias-fjernede ThêoH-hybrid (allan::theoh_curve), der er bygget på dem, forbliver MODELLED
Uafhængig reference
allantools 2024,06 — et uafhængigt frekvensstabilitetsbibliotek fra tredjepart — theo1 (NIST SP 1065 lign. 30) og totdev (NIST SP 1065 lign. 25) på det hermetiske LCG-datasæt i NIST SP 1065 §12,4; kan genskabes offline via tests/fixtures/theo1_totvar/generate_theo1_totvar_reference.py
Tests
tests/theo1_totvar_reference.rs (Theo1 + TOTDEV på NIST SP 1065 §12,4 LCG-datasættet med 1000 punkter, 6 + 6 middelværdifaktorer mod allantools 2024,06 til <1e-9); allan::tests (hvid-FM lukket form følger; TOTVAR=ADEV…
ValideretMaximum Time Interval Error (MTIE) — wander-mål for telekommunikationallan (mtie, mtie_curve)
Funktion
MTIE(τ): det maksimale peak-to-peak-udsving i tidsfejl over et vilkårligt glidende vindue på τ = m·tau0, den wander-statistik efter ITU-T G.810/G.823/G.8261, som grænseværdierne (MTIE-masker) for synkroniseringsnet er skrevet op mod — et ekstremalt mål (max/min), der adskiller sig fra Allan-familiens RMS
Uafhængig reference
allantools 2024,06 — et uafhængigt frekvensstabilitetsbibliotek fra tredjepart — mtie() på den hermetiske LCG-faseserie i NIST SP 1065 §12,4; MTIE er en ren max/min-statistik, så estimatorens output er bitnøjagtigt mod allantools på det identisk byggede fasearray (de indcheckede referencekonstanter med 15 betydende cifre ligger inden for 1 ULP). Kan genskabes offline via tests/fixtures/mtie/generate_mtie_reference.py
Tests
tests/mtie_reference.rs (MTIE på den hermetiske NIST SP 1065 §12,4 LCG-faseserie med 1000 punkter, 9 middelværdifaktorer m=1..256 mod allantools 2024,06 mtie til <1e-9, observeret ≤4e-15); allan::tests (håndudledt peak-to-peak…
ValideretModificeret Allan / tidsdeviation (MDEV / TDEV)allan (modified_adev, time_deviation)
Funktion
MDEV(τ): den overlappende modificerede Allan-deviation (estimator med glidende vindue og anden differens, der adskiller hvid fra flicker-fasestøj), og TDEV(τ) = τ/√3·MDEV(τ), wander-statistikken i tidsdomænet efter ITU-T G.811/G.812/G.823, som synkroniseringsmaskerne er skrevet op mod
Uafhængig reference
allantools 2024,06 — et uafhængigt frekvensstabilitetsbibliotek fra tredjepart — mdev() og tdev() på den hermetiske LCG-faseserie i NIST SP 1065 §12,4 (samme serie som rækkerne for Theo1/TOTDEV/MTIE), der beregner de samme entydigt definerede estimatorer; stemmer til <1e-9 relativt. Kan genskabes offline via tests/fixtures/mdev_tdev/generate_mdev_tdev_reference.py. (Den datastyrede phasedat_reference.rs kontrollerer dem også mod Stable32 til 1e-3; dette er det stramme, altid aktive hermetiske krydstjek)
Tests
tests/mdev_tdev_reference.rs (MDEV + TDEV på den hermetiske NIST SP 1065 §12,4 LCG-faseserie med 1000 punkter, 8 middelværdifaktorer m=1..200 mod allantools 2024,06 mdev/tdev til <1e-9 relativt, samt identiteten τ/√3 på…
ValideretFrekvensstabilitet for optisk ur på en reel målt kurvequantum_trade (qparams_from_adev_curve), powerlaw
Funktion
NNLS-genfinding af potenslov (hvid FM + gulv af rød støj) ud fra en offentliggjort målt Allan-deviation for den optiske urovergang i ⁸⁸Sr — gengiver σ_y(τ) og den overordnede skalering 4.7e-16/√τ ved korte τ med et ægte målt gulv ved lange τ, i stedet for det syntetiserede gulv af optisk klasse, som holdover.rs ellers antager
Uafhængig reference
Norcia, Young, Eckner, Oelker, Ye, Kaufman, Science 366:93 (2019), fig. 4 målt ADEV; kurven er medtaget ordret fra Zenodo 10.5281/zenodo.3382347 (CC-BY-4.0). Afgrænset til at gengive den offentliggjorte målte stabilitetskurve — tallene for holdover til tærskel for enheder af urklassen forbliver MODELLED
Tests
tests/optical_clock_adev_reference.rs (Norcia et al. ⁸⁸Sr-tweezer-ur σ_y(τ), 8 middelværditider 0,92–117,76 s medtaget ordret under CC-BY-4.0: NNLS rekonstruerer kurven til ~10% RMS / ≤21% værste punkt; genfundet…
ValideretIntegritet (RAIM/ARAIM/SBAS)araim_reference (add_v42_protection_levels, add_v42_protection_levels_ecef); raim (snapshot_raim, snapshot_raim_fde, araim_raim, araim_dual_raim, solution_separation_raim); sbas (sbas_protection_level); lunar
Funktion
ARAIM-løsning med flere hypoteser og løsningsseparation efter ARAIM Airborne Design Document (ADD) v4.2 (araim_reference::add_v42_protection_levels og add_v42_protection_levels_ecef: bestemmelse af delmængder efter reglerne P_THRES og FC_THRES, VPL, HPL, den effektive monitortærskel EMT og sigma_acc); snapshot-RAIM med χ²-fejldetektion og udelukkelse af enkelte satellitter (raim::snapshot_raim, raim::snapshot_raim_fde) og hældningsbaseret HPL/VPL på det geodætiske lokale niveau; og SBAS DO-229E-kombinationen af beskyttelsesniveauer (sbas::sbas_protection_level) på L1-tjenesten. Ikke dækket, sagt ligeud: bekvemmelighedsfunktionerne med ensartet sigma raim::araim_raim og raim::araim_dual_raim er IKKE ADD-konforme (på matchede input rammer de ved siden af Stanford MAAST med 0,75 m VPL / 4,04 m HPL og 0,39 m VPL / 1,93 m HPL, et fund); sammenligningen af dual-frequency multi-constellation (DFMC) L5 SBAS er et fund (308 bruger-epokepar uden GEO i sigte er beskyttet af Kshana og ikke af MAAST, hvis GEO-modtagelsesgrænse Kshana ikke modellerer); raim::solution_separation_raim har ingen ekstern sammenligning
Uafhængig reference
Tre uafhængige værktøjer, præregistreret (0123cee1) før nogen fixture eller noget orakeloutput fandtes, tolerancer fastsat dengang. (1) ARAIM: Stanford MAAST for ARAIM 2 (commit ab70e2a3, BSD-3) mhss_raim_baseline_v5.m, kørt som et separat program under GNU Octave 8,4 med en kompatibilitets-shim for unique() i driveren (oplyst, ingen ændring af algoritmen), ved ADD TOL_PL på 0,05 m: Rust-koden gengiver ADD's referenceimplementering på 270 reelle tilfælde. Oplyst: Kshanas ADD-vej blev skrevet efter præregistreringen og følger ADD, som MAAST implementerer den; et uafhængigt tilbageholdt datasæt fra reviewer (270 nye brugergeometrier og en anden integritetsunderstøttende meddelelse, MAAST kørt igen mod den frosne kode) bestod ved samme tærskel. (2) Snapshot-RAIM: RTKLIB v2.4.2-p13 (BSD-2) estpos/valsol/raim_fde i en separat C-harness til detektion og udelukkelse; hældnings-PL fra RTKLIB matinv/xyz2enu plus SciPy 1.18.1 chi2/ncx2, hvor begge sider evaluerer den samme lukkede form (Brown; Parkinson og Axelrad), så PL-kontrollen dækker implementeringen og ikke formlen. (3) SBAS: Stanford MAAST (commit 7d32b049) usr_vhpl, uændret, på MAAST's egne optagede WAAS-udsendelser: L1-niveauer inden for 1e-4 m efter omskaleringen af K og en lige stor beskyttet mængde. De samme sammenligninger gav de fund, der er anført i funktionen: ARAIM-funktionerne med ensartet sigma er ikke ADD-konforme, og ligheden mellem L5-mængderne fejler på 308 par uden GEO i sigte (niveauerne på de 3267 par, som begge værktøjer beskytter, stemmer til 1e-13 m). K-faktorerne i DO-229E/DO-316 er transskriberede konstanter, og den reelle geometri er et input; ingen af dem tælles som orakel. Revision 0,30: beskyttelsesniveauerne i snapshot_raim er flyttet fra det radiale til det geodætiske lokale niveau (op til 0,31 m HPL og 0,14 m VPL ved 16 grader N)
Tests
tests/integrity_araim_stanford_oracle.rs::araim_mhss_matches_stanford_maast_add_v4_2 (270 tilfælde med reel geometri, Celestrak GPS+Galileo og IGS SP3: værste |dVPL| 2.2e-3 m, |dHPL| 1.1e-3 m, |dEMT| 2.1e-10 m mod ADD…
ValideretBanepropagering og banebestemmelsesgp4, propagator, orbit_determination, precise_od
Funktion
SGP4/SDP4, Cowell 6-DOF + perturbationer, batch-/sekventiel OD
Uafhængig reference
AIAA 2006-6753 verifikationsvektorer for SGP4
Tests
tests/sgp4_verification.rs (666 AIAA verification vectors, worst 4.12 mm); tests/sgp4_crate_comparison.rs (independent sgp4 crate)
ValideretNumerisk Cowell-propagator og kraftmodelpropagator, forces
Funktion
Numerisk Cowell-propagator med en hierarkisk kraftmodel (tolegemer, zonal J2–J6, tredjelegeme fra Sol/Måne, SRP af kanonkuletype, eksponentiel modstand); RK4 med trindobling / DP5(4) / DOP853
Uafhængig reference
Orekit 12,2 (CS GROUP, Apache-2.0) NumericalPropagator/DormandPrince853 — et uafhængigt bibliotek med en anden integrator og en anden rekursion for kuglefunktioner. De konservative niveauer (tolegemer → zonal J2–J6 → tredjelegeme Sol/Måne → SRP af kanonkuletype) stemmer til under en meter over en bue på 24 h og kontrollerer dermed integratoren + kraftalgebraen; modstandsniveauet og den absolutte nøjagtighed af input til efemeride for Sol/Måne og massefylde forbliver MODELLED (kun karakterisering)
Tests
tests/numerical_cowell_propagator_reference.rs (275 epoker = 11 tilfælde × 25 timetilstande, LEO+GTO, mod Orekit 12,2 DormandPrince853; konservative niveauer T1–T5 værste |Δr| 0,08 m over 24 h; modstandsniveauet karakteriseret ved 333 m)
ValideretSkygge for SRP ved jordens fladtrykning (valgfri)srp_shadow, forces (srp_accel_with_lit_fraction), propagator
Funktion
SRP-belyst andel med WGS-84-ellipsoiden som det tilsløreende legeme (tilsyneladende jordradius fra ellipsoidens rand mod Solen, linseformel med to skiver; srp_shadow::oblate_conical_shadow), valgfrit på Cowell-kraftmodellen via propagator::ForceModel::srp_shadow (standard: den sfæriske koniske skygge, uændret)
Uafhængig reference
Orekit 12,2 (Apache-2.0) SolarRadiationPressure.getLightingRatio med et WGS-84- og et sfærisk OneAxisEllipsoid som tilsløreende legeme, kørt som et separat program med Solen fastholdt i samme inertielle position. Tærskler fastsat på forhånd i xval/srp-oblate-shadow-orekit/PREREGISTRATION.md (6d6d269c): 1e-6 på begge og en spredning mellem fladtrykt og kugle på > 1e-2; alle nået. Ellipsoidens akse er den inertielle z-akse på begge sider (ingen præcession-nutation)
Tests
tests/srp_oblate_shadow_orekit_oracle.rs (2400 geometrier på tværs af skyggekanten, 884 i penumbra, LEO til GEO, solens deklination 0 og +-23.44 deg, 8 azimuter: værste |dnu| 7.41e-9 for WGS-84 og 2.24e-9 for den sfæriske…
ValideretSolstrålingstryk (SRP) med box-wing og ECOM2, med partielle afledede (valgfrit)srp_boxwing, propagator, precise_od
Funktion
SRP uden kanonkugle: en flad-plade-model af typen box-wing (Vallado lign. 8-44; ensidede kropspaneler, solpegende vinger) med tabellerne for Galileo FOC, IOV og IOV ved end-of-life fra GSC's satellitmetadata, i nominel GNSS-yaw-styring, med analytiske partielle afledede for strålingsfaktoren og for hvert paneles spekulære og diffuse koefficienter; og den empiriske ECOM2-model (D2/B1) med dens partielle afledede. Box-wing er valgfri på Cowell-propagatoren (propagator::ForceModel::box_wing_srp, der sætter dens felt srp_boxwing) og på modellen til præcis banebestemmelse (precise_od::PreciseForceModel::box_wing_srp) og erstatter kanonkuleleddet med cr som strålingsfaktor; begge er som standard None, så hver eksisterende vej forbliver byte-identisk. ECOM2 er ikke koblet ind i en kraftmodel
Uafhængig reference
Orekit 12,2 (Apache-2.0) BoxAndSolarArraySpacecraft med FixedPanel og PointingPanel, SolarRadiationPressure(dRef = 1 au, pRef = 1361/c), GenericGNSS nominel yaw og ECOM2(nD = 2, nB = 1), kørt som et separat program med Solen i faste inertielle positioner; afledede af strålingsfaktoren fra Hipparchus Gradient, afledede pr. panel som centrale differenser af Orekit (Orekit har ingen). Tærskler fastsat på forhånd i xval/srp-boxwing-orekit/PREREGISTRATION.md (e59df6bf), før noget Orekit-output fandtes: 1e-12 relativt (1e-11 fra ende til anden, 1e-9 for differenserne); alle nået (RESULTS.md). VALIDATED dækker kun evalueringen af modellen: GSC-tabellerne er transskriberede input, og det er ikke dækket, om en box-wing er tilstrækkelig til reelle Galileo-baner, termisk genudsendelse, den modificerede yaw-lov ved lav beta og formørkelsesvendinger; Galileo-forudsigelsen af SRP forbliver MODELLED
Tests
tests/srp_boxwing_orekit_oracle.rs (252 geometrier i Galileo-bane, 7 solcases inklusive perihelie- og aphelieafstande, 100 tilfældige attituder; flad-plade-summen værste 2.05e-15 relativt over 1056 tilfælde; ende til ende med…
ModelleretSolar SRP-skygge med randfortykning (valgfri)srp_shadow
Funktion
SRP-belyst andel som den ikke tilsløredede andel af solfluxen med randfortykning (Eddington-approksimationens lov I(mu)/I(1) = 2/5 + 3/5 mu, Gauss-Legendre-kvadratur) over en sfærisk eller WGS-84-Jord (srp_shadow::limb_darkened_shadow, ShadowModel-varianten OblateEarthLimbDarkened)
Uafhængig reference
Ingen ekstern: Orekit 12,2 har ikke noget belysningsforhold med randfortykning. Kun kontrolleret mod lukkede former af den samme lov
Tests
srp_shadow::tests (den annulære lukkede form, den ensartede lov, der gengiver den koniske skygge, grænserne fuld sol og umbra)
ValideretNRLMSISE-00 massefylde i termosfærennrlmsise00
Funktion
En portering af den empiriske termosfære NRLMSISE-00 (gtd7 og gtd7d: massefylder af arter, samlet massefylde med anomalt ilt, temperaturer; de 24 kontakter; tilstande med daglig Ap og ap-array med 3 timers trin) fra C-versionen i det offentlige domæne af NRL's Fortran-kode
Uafhængig reference
pymsis 0.13.0 (MIT) version=0, der kører NRL's Fortran-GTD7D i enkelt præcision, og C-porteringen af NRLMSISE-00 (udgave 20190709, offentligt domæne) kompileret som et separat program, plus de 17 offentliggjorte testoutput i C-distributionen. Tærskler fastsat på forhånd i xval/nrlmsise00-pymsis/PREREGISTRATION.md (e90ae26a), før porteringen fandtes; alle nået (RESULTS.md). Kontrollerer porteringen, ikke modellens nøjagtighed mod målt massefylde
Tests
tests/nrlmsise00_reference.rs (720 gitterpunkter, 90 til 1000 km, 4 breddegrader, 2 lokale tider, 3 dage, lav/moderat/høj aktivitet: densitet inden for 1.866e-6 relativt og temperatur inden for 1.97e-4 K af pymsis; bit-identisk…
ValideretNRLMSISE-00 som niveau for modstandsmassefylde (valgfrit)forces (density_at, drag_accel_with_density), propagator
Funktion
forces::DensityModel (Exponential som standard, Nrlmsise00 { f107a, f107, ap }) og propagator::ForceModel::drag_density: kvadratisk modstand mod den medroterende atmosfære med massefylden fra NRLMSISE-00 i det geodætiske WGS-84-punkt (Jordens rotationsvinkel med UT1 = TT, lokal soltid UT + lon/15), konstant rumvejr pr. model; som standard fra og bit-identisk
Uafhængig reference
Orekit 12,2 (Apache-2.0) NumericalPropagator/DormandPrince853 med DragForce over Orekits egen NRLMSISE00-implementering, kørt som et separat program med samme referencesystem for Jordens rotationsvinkel, WGS-84-form, konvention for lokal soltid (en middelsol) og TT som UT; konventionsopsætningen blev kontrolleret orakel mod orakel (Orekit mod pymsis, 5.2e-5 i massefylde). Tærskler fastsat på forhånd i xval/drag-tier-orekit/PREREGISTRATION.md (21647478): 0,5 m + 1e-3 af modstandsforskydningen og to følsomhedskontroller på > 100 m; alle nået. Ikke dækket: modellens nøjagtighed mod målt massefylde, tidsvarierende rumvejr, et ben med GMAT
Tests
tests/drag_tier_orekit_oracle.rs (4 tilfælde x 25 timetilstande over 24 h, cirkulær 51,6 deg, 400 km ved lav/moderat/høj aktivitet og 300 km: værste |dr| 0,0303 m og |dv| 3.36e-5 m/s mod 3,3 til 141,8 km modstand…
ValideretStandardmodstand med eksponentiel model mod en uafhængig implementering (ækvatorial)forces (atmospheric_density, drag_accel), propagator
Funktion
Standardmodstanden i Cowell-propagatoren: kvadratisk modstand mod den medroterende atmosfære med forces::atmospheric_density, den stykkevis eksponentielle tabel i Vallado tabel 8-4 ved den sfæriske højde (propagator::ForceModel::drag med standardvarianten Exponential af forces::DensityModel)
Uafhængig reference
GMAT R2022a (NASA GSFC, Apache-2.0) GmatConsole med den eksponentielle atmosfære (samme tabel med 28 bånd), punktmasse-Jord og PrinceDormand78, kørt og aldrig medleveret. Tærskler fastsat på forhånd i xval/drag-exponential-gmat/PREREGISTRATION.md (640c85c1) på modstandsforskydningen på hver side (kørsel med modstand minus kørsel uden), som ophæver de to mu-værdier for Jorden og integratorerne; alle nået (RESULTS.md). GMAT tager geodætisk højde og kshana sfærisk højde: de falder kun sammen ved ækvator, så VALIDATED dækker ækvatoriale baner; uden for ækvator afviger modellerne af design (10,4 % af forskydningen over 24 h ved 51,6 grader, 400 km). GMAT's offentlige build har ikke NRLMSISE-00 (plugin mangler), så niveauet med NRLMSISE-00 kun har oraklet fra Orekit. Tabellens nøjagtighed mod målt massefylde er ikke dækket
Tests
tests/drag_exponential_gmat_oracle.rs (ækvatoriale tilfælde E400, E300 og E250x600 ved J2000.0, 25 timetilstande over 24 h: den modstandsinducerede forskydning stemmer med GMAT's på højst 0,016 af tærsklen 0,5 m + 1e-3|D|…
ModelleretSol og Måne fra DE440 i Cowell-kraftmodellen (valgfrit)propagator (ForceModel::with_ephemeris, ForceEphemeris), ephem_provider
Funktion
Valgfrit efemerideniveau for leddene for tredjelegeme og SRP i den numeriske Cowell ForceModel: den geocentriske Sol og Måne fra en vilkårlig EphemerisProvider (en DE440 SPK-kernel via KernelEphemeris) ved TDB = TT + (TDB - TT), som afviser en provider, der ikke kan betjene epoken, og tæller hvert fald tilbage til den analytiske serie; som standard fra
Uafhængig reference
Orekit 12,2 (Apache-2.0) NumericalPropagator/DormandPrince853 med ThirdBodyAttraction og SolarRadiationPressure på Orekits egen DE440-læser (orekit-data lnxp1990.440), kørt som et separat program; kshana læser et bit-for-bit, SPICE-kontrolleret udsnit af NAIF de440s.bsp. Tærskler fastsat på forhånd i xval/propagator-de440-orekit/PREREGISTRATION.md (22a5a01d). Banetærsklen (0,5 m) og følsomhedskontrollen er nået, men tærsklen for positionen af Sol/Måne (3 m / 0,2 m) blev ikke nået med 6,39 m / 0,244 m. SPICE, der læser den samme kernel ved dens eksakte TDB, rammer ved siden af Orekit med samme størrelse (6,25 m / 0,240 m), så forskellen ligger mellem NAIF's de440s-vej og Orekits DE440-læser eller tidsskala; årsagen er ikke isoleret. Noteret og fastholdt, så rækken forbliver MODELLED
Tests
tests/propagator_de440_orekit_oracle.rs (5 tilfælde x 25 timetilstande over 24 h, LEO, GEO og HEO, tredjelegeme og tredjelegeme + SRP: værste |dr| 0,0170 m, |dv| 1.84e-5 m/s; kontrollen med analytisk række rammer forbi med 9,96 m; Sol…
ModelleretS1-atmosfæretidevand (valgfrit)tides, propagator, precise_od
Funktion
Det døgnlige S1-lufttryksfloede som en perturbation af geopotentialet: Biancale og Bode (2006) model N1, grad 2 til 6, gennem belastningsformlen i IERS 2010 lign. 6,21 (tides::atmospheric_tide_s1, s1_air_tide_acceleration), valgfrit på Cowell- og præcisionskraftmodellerne (air_tide_s1, som standard fra)
Uafhængig reference
Ingen ekstern for effekten på geopotentialet. De 24 koefficienter er transskriberet fra GFZ STR06/01 tabel 1 model N1 og kontrolleret række for række mod rapporten (SHA-256 890865ae); grad 0, 1, 7 og 8 bruges ikke. Ray og Ponte (2003) trykker ingen tabel med kuglefunktioner, så ingen anden kilde blev sammenlignet
Tests
tides::tests (S1-leddet er døgnligt, drejer 90 deg på et kvarter af et døgn og har belastningsfaktorens amplitude for hver række; fysisk størrelse i LEO); propagator::tests::the_s1_air_tide_flag_adds_exactly_the_s1_acceleration
ValideretKoefficienter for S2-atmosfæretidevand i IERS-konventionentides (s2_air_waves, atmospheric_tide)
Funktion
Rays (2001) S2-harmoniske for lufttryk (n <= 4, progrades og retrograde) omregnet til den fuldt normaliserede form med sinus foran i IERS 2010 lign. 6.20-6.21 (amplitude divideret med N_nm, epsilon = 90 grader - psi) og anvendt som S2-leddet i tides::atmospheric_tide
Uafhængig reference
Biancale og Bode, GFZ Scientific Technical Report STR06/01 (2006), tabel 5, model A2: Ray (2001) offentliggjort i fuldt normaliserede harmoniske med faser med sinus foran, en uafhængig gengivelse af den samme model. Præregistreret i xval/s2-air-tide-fix/PREREGISTRATION.md (5e31c37a) sammen med den rettelse, den kontrollerer. Dækker kun omregningen af koefficienter; luftfloedens effekt på geopotentialet har intet eksternt orakel
Tests
tests/s2_air_tide_gfz_table5.rs (21 af 21 bølger stemmer med den publicerede model A2: værste 0,00050 cm, 0,050 deg mod tærskler på 0,0006 cm, 0,1 deg); tests/tides_iers.rs (S2-amplitudebånd)
ValideretTesseralt geopotentiale i Cowell-propagatorenpropagator (Geopotential, EarthFixedFrame), gravity_sh
Funktion
Valgfrit tesseralt EGM2008-felt (til grad/orden 70) som centraltyngde i den numeriske Cowell ForceModel, evalueret i et jordfast system roteret med IAU 2000 Jordens rotationsvinkel (eller CIO GCRS-til-ITRS-kæden); som standard fra, så intet eksisterende output flytter sig
Uafhængig reference
Orekit 12,2 (CS GROUP, Apache-2.0) NumericalPropagator/DormandPrince853 med HolmesFeatherstoneAttractionModel over de samme koefficienter (tools/egm2008_to70.gfc) i et legemssystem roteret med den samme formel for Jordens rotationsvinkel, kørt som et separat program. Tærskler fastsat på forhånd (f0e0e65, ændret før nogen sammenligning i 2da899a): |dr| <= 0,5 m og |dv| <= 5e-4 m/s, og begge negative kontroller rammer ved siden af med > 100 m; alle nået, tærsklerne blev derefter strammet til 0,1 m og 1e-4 m/s. Ikke valideret: nøjagtigheden af Jordens orientering (begge sider bruger UT1 = TT uden præcession-nutation i Era-systemet), indstillingen med Cio-systemet (kun intern kontrol), grader over 70
Tests
tests/cowell_tesseral_orekit_oracle.rs (6 tilfælde x 25 timetilstande over 24 h: EGM2008 8x8 og 70x70 på LEO 45 deg, polar 89,9 deg, solsynkron 98,2 deg, GTO, og 70x70 med Sol/Måne og SRP; værste |dr| 0,0355 m…
ModelleretTyngdefelt med kuglefunktioner af høj grad (EGM2008 til 2190)gravity_sh, propagator (FieldEvaluator)
Funktion
Evaluering af et fuldt normaliseret felt til grad 2190, sikret mod underflow og mod polerne (SphericalHarmonicField::acceleration_hf / potential_hf, Holmes-Featherstone 2002 modificeret fremadrettet søjle med gradienten fri af 1/cos phi), en streamende indlæser af ICGEM .gfc (from_gfc_file / from_gfc_reader; hele EGM2008 hentes ved kørsel og medleveres ikke) og Holmes-Featherstone-evaluatoren, som kan vælges på det valgfrie Cowell Geopotential
Uafhængig reference
Orekit 12,2 (Apache-2.0) HolmesFeatherstoneAttractionModel og pyshtools 4.14.1 (BSD-3-Clause) MakeGravGridPoint, kørt som separate programmer; tærskler fastsat på forhånd i xval/high-degree-gravity/PREREGISTRATION.md (276c869f) og xval/cowell-tesseral-200-orekit/PREREGISTRATION.md (0aa312a6). Orekit stemmer overalt, hvor det er defineret, men pyshtools rammer ved siden af sin tærskel, fastsat på forhånd, i de to punkter nær polen (op til 7.3e-10 m/s^2; en kontrol med mpmath og 50 cifre placerer fejlen i pyshtools), der er ingen oraklværdi netop på polaksen, og kontrollen af følsomhed over for grad 70 for banen på 24 h, fastsat på forhånd, blev ikke nået (0,726 m mod > 1 m). Hvert misset mål er noteret og ikke justeret væk, så rækken forbliver MODELLED
Tests
tests/gravity_sh_high_degree.rs (Orekit i 8 punkter uden for aksen: maks |da| 2.2e-17 m/s^2 ved N = 70, køres altid; 3.5e-17, 3.9e-17 og 7.3e-17 m/s^2 ved N = 200, 360, 2190, datastyret på KSHANA_EGM2008_GFC)…
ValideretDOP853-integratorintegrator, propagator
Funktion
Hairer DOP853 8(5.3) eksplicit Runge-Kutta med den kombinerede fejlestimator af 5. og 3. orden, SciPy/Hairer-trinkontrolleren, automatisk begyndelsestrin, en fail-closed trinbeskyttelse og tæt output af 7. orden; kan vælges som propagatorens Integrator-variant Dop853 / propagator::propagate_dop853
Uafhængig reference
SciPy 1.18.1 (BSD-3-Clause) solve_ivp(method=DOP853) og dets rutiner for enkelttrin, fejlnorm, tæt output og begyndelsestrin, en uafhængig implementering; eksakte tolegemetilstande fra mpmath 1.3.0 med 40 cifre. Tærskler fastsat på forhånd i xval/dop853-scipy/PREREGISTRATION.md (ae1b25e) før den første sammenligning; alle nået (xval/dop853-scipy/RESULTS.md). SciPys første trin gives til begge løsere i de fulde kørsler; rutinen for begyndelsestrin sammenlignes separat. Ikke dækket: RKF7(8), detektion af stivhed, lokalisering af hændelser
Tests
tests/dop853_scipy_oracle.rs (8 enkelttrin: tilstand inden for 5.55e-15 relativt, FSAL-afledt 3.46e-15, tæt output 1.99e-14, accept/afvis-beslutninger identiske; 3 fulde kørsler ved rtol = atol = 1e-12 (LEO 58000 s, e = 0,7…
ValideretRobust løser af Kepler-ligningenkepler, propagator
Funktion
Elliptisk Kepler-løser for alle 0 <= e < 1 og alle middelanomalier: kubisk starter og korrektion af femte orden efter Markley (1995), et residual uden udslettelse (1-e)E + e(E - sin E) - M og beskyttet Newton-polering (kepler::solve_kepler_markley, propagator::solve_kepler_robust)
Uafhængig reference
mpmath 1.3.0 (BSD-3-Clause) rødder med 50 cifre ud fra de eksakte binære input. Tærskler fastsat på forhånd i xval/kepler-mpmath/PREREGISTRATION.md (df22174), angivet relativt til |E| med konditioneringsargumentet for e -> 1, M -> 0; alle nået (xval/kepler-mpmath/RESULTS.md). De ældre løsere (solve_kepler_checked, orbit::solve_kepler, ephem::solve_kepler) er numerisk uændrede, fordi indcheckede output afhænger af dem, og er ikke dækket af denne række
Tests
tests/kepler_mpmath_oracle.rs (405 gitterpunkter, e fra 0 til 0,999999, M i [-pi, pi] ned til 1e-12: værste |E - E_ref| 0,898 eps|E| mod en tærskel på 8 eps|E|; 9 oprullede M-punkter på højst 0,013 af deres tærskel; ingen Newton…
ModelleretBatch-banebestemmelse med afstandsændring og az/el med maskering af stationerorbit_determination (determine_orbit_batch_tracking, propagate_with_stm, is_visible), batch_ls (gauss_newton_analytic)
Funktion
Genfind en epoketilstand ud fra blandet sporing af afstand, afstandsændring og azimut/elevation over en elevationsmaske med Gauss-Newton på H = (dh/dx(t)) Phi(t, t0): analytiske partielle afledede af målingerne og en variationel tilstandsovergangsmatrix med analytiske partielle afledede for tolegemer + J2 (RK4-integreret, ikke en STM i lukket form)
Uafhængig reference
Orekit 12,2 (Apache-2.0) BatchLSEstimator med egne øjeblikkelige geometriske målinger af RangeRate og AzEl (krydstjekket mod Orekits TopocentricFrame), kørt som et separat program på identiske maskerede, seedede observationer. Tærskler fastsat på forhånd i xval/od-measurements-orekit/PREREGISTRATION.md (0cf9076). Hver tærskel nået undtagen B4, den støjfri tilstandsoverensstemmelse på 1 cm, som ikke blev nået i 2 af 4 scenarier (1,46, 1,74 cm): Orekits eget støjfri estimat ligger så langt fra dets simulerede reference (årsagen på Orekits side er ikke isoleret). Noteret og fastholdt, så rækken forbliver MODELLED. Ikke modelleret: lysrejsetid, aberration, refraktion, Jordens rotation, et sekventielt filter for disse måletyper
Tests
tests/od_tracking_measurements_reference.rs (8 scenarier: afstandsrate, az/el og blandet, LEO og MEO, støjfrit og med seedet sigma 5 m / 5 mm/s / 1e-4 rad, masker på 5 og 10 deg, mod Orekit 12,2: synlige sæt identiske…
ModelleretVægtning af observationer efter nøjagtighedskode i SP3sp3, precise_od
Funktion
Afbild nøjagtighedskoder i SP3 (header ++ eksponenter i 2^n mm, basen %f, standardafvigelser base^n mm pr. post) til positionssigmaer pr. observation for motoren til præcis banebestemmelse (sp3::parse_sp3_accuracy, Sp3Accuracy::position_sigma_m)
Uafhængig reference
Ingen ekstern: vægtene er et modelvalg (SP3-formatet definerer kun koden som producentens nøjagtighedsindikator; her læses den som et enkelt sigma pr. akse). De eksisterende optagne kørsler fra agenturer er uændrede
Tests
src/sp3.rs unit tests; tests/agency_galileo.rs::galileo_e11_sp3_accuracy_weighted_fit (committed 8 h ESOC fixture, sigma 0.032 m from header exponent 5: Tier-1 3D RMS 0.132 m unchanged, Tier-2 0.035 m against 0.070 m…
ValideretPlanetariske tyngdefelter fra PDS SHADR-tabellergravity_pds, gravity_sh
Funktion
Læs PDS SHADR-tabeller med kuglefunktioner (from_shadr, på SphericalHarmonicField i src/gravity_pds.rs: enhedsomregning, C00 = 1 leveret, kontrol af fuldstændighed og normalisering) og evaluér den legemsfaste tyngde for Mars GMM-3 (d/o 120) og Månens GRAIL-felt GL0660B (d/o 660)
Uafhængig reference
pyshtools 4.14.1 (BSD-3-Clause), der læser de samme PDS-filer og evaluerer punkttyngde, kørt som et separat program, og de offentliggjorte headere og labels for PDS-produkterne. Tærskler fastsat på forhånd i xval/planetary-gravity-pyshtools/PREREGISTRATION.md (32c5b50); alle nået (RESULTS.md). Data: NASA PDS Geosciences Node, offentligt domæne; udsnit af grad 20 medleveres med NOTICE, hele filer hentes ved test
Tests
tests/planetary_gravity_pds.rs (beskæringer til grad 20 køres altid: værste |dg|/|g| 9.7e-16, forstyrrelsesrelativt 3.4e-11; GMM-3 d/o 120 over hele kuglen 3.7e-15 / 6.3e-12 og GL0660B d/o 660 ved |lat| <= 60 deg 5.0e-14 /…
ModelleretKnyt et offentliggjort tyngdefelt til et legemegravity_pds, body, propagator, mars_frame
Funktion
with_gravity_field (på Body, i src/gravity_pds.rs): knyt ethvert indlæst felt med kuglefunktioner (for eksempel GMM-3 eller GL0660B) til en Body, så propagatoren evaluerer det legemsfast; valgfrit, standardlegemer er uændrede
Uafhængig reference
Kun intern konsistens. Hvert offentliggjort felt er defineret i producentens legemsfaste system (GMM-3 i Mars-systemet fra Konopliv et al. 2006, GL0660B i DE421's principale akser for Månen), mens feltet evalueres i IAU-systemet; forskydningen er ikke modelleret
Tests
tests/planetary_gravity_pds.rs::a_shadr_field_attached_to_a_body_drives_the_propagator; gravity_pds::tests::with_gravity_field_is_opt_in
ValideretBatch- og sekventiel banebestemmelseorbit_determination, precise_od (batch_ls::gauss_newton, fusion::ukf)
Funktion
Genfind en epoketilstand [r,v] ud fra afstande fra jordstationer med en Gauss–Newton-batchdifferentialkorrektor og et sekventielt filter over en kraftmodel med tolegemer+J2
Uafhængig reference
Orekit 12,2 (CS GROUP, Apache-2.0) BatchLSEstimator (Levenberg–Marquardt) + KalmanEstimator (EKF) — et uafhængigt estimeringsbibliotek fra tredjepart på en matchet kraftmodel; den genfundne epoketilstand + RMS af residualer efter tilpasning stemmer til <1e-3 m uden støj og <3 m ved et støjgulv på 5 m
Tests
tests/batch_sequential_orbit_determination_reference.rs (8 scenarios: 6 noiseless LEO/MEO/eccentric/3–4-station + 2 σ=5 m, vs Orekit 12.2; worst batch |Δr| 1e-3 m / |Δv| 1e-6 m/s, sequential |Δr| 0.9 m)
ValideretRadiometrisk lysrejsetidsløser til dybt rumradiometric (light_time_solution)
Funktion
Retarderet (nedadgående ben) envejs lysrejsetidsløsning τ = |r_rx − r_target(t−τ)|/c til radiometrisk navigation i dybt rum (Jord→Mars/Sol/Måne)
Uafhængig reference
ANISE 0,10 (Nyx Space, MPL-2.0) lysrejsetid med konvergeret newtonsk aberration (Aberration::CN; svarer til SPICE spkapo) over JPL DE440 — en uafhængig SPICE-implementering i Rust; kshanas fastpunktsløser for retarderet tid stemte til under et nanosekund. De bredere tal for Doppler / Shapiro / reduceret-dynamisk OD forbliver MODELLED
Tests
tests/deep_space_mars_radiometric_reference.rs (24 etaper over 8 epoker 2020–2027 mod ANISE DE440; værste |Δτ| 1.03e-9 s, |Δrange| 0,31 m ved op til 2,5 AU)
ValideretSatellitposition fra udsendt efemeride (multi-GNSS RINEX)rinex (parse_nav, RinexEphemeris::sv_position_ecef)
Funktion
Keplersk → ECEF-satellitposition fra udsendt efemeride efter IS-GPS-200 / Galileo-OS / BeiDou-OS ud fra en indlæst RINEX-3-navigationspost
Uafhængig reference
RTKLIB v2.4.2-p13 eph2pos() kompileret fra C-kildekode (T. Takasu, BSD-2-Clause) — en uafhængig implementering af IS-GPS-200/SIS-ICD, fodret med de identiske RINEX-3-navigationsposter; satellittens ECEF-position stemte til ~62 nm. (Interpolation af SP3 med præcis efemeride er valideret separat — se 'Interpolation af SP3 med præcis efemeride')
Tests
tests/rinex_sp3_interop_reference.rs (84 SV-epoch cases: GPS + Galileo + BeiDou-MEO, 12 SVs × 7 offsets, vs RTKLIB eph2pos; worst per-axis |Δ| 6.2e-8 m)
ValideretInterpolation af SP3 med præcis efemeridesp3 (Sp3Interpolator::position_ecef)
Funktion
Lagrange-interpolation efter IGS-standard af satellitpositioner i SP3 med præcis efemeride med korrektion for Jordens rotation pr. knude (roter hver knude med ω⊕·(t_node−t) ind i det jordfaste system på forespørgselstidspunktet før polynomietilpasningen)
Uafhængig reference
RTKLIB peph2pos() kompileret fra C-kildekode (preceph.c; T. Takasu, BSD-2-Clause) — de facto IGS-reference, en uafhængig implementering; kshanas interpolator (nu med den samme knudekorrektion for Jordens rotation) stemte til ~15 nm på et reelt SP3-produkt, ned fra ~5,5 cm før korrektionen
Tests
tests/sp3_interp_reference.rs (72 off-node SV-epoch cases / 6 satellites vs RTKLIB peph2pos; worst per-axis |Δ| 1.5e-8 m)
ModelleretNavigationsmeddelelsesenkodere ud over GPS LNAV (GPS CNAV, Galileo I/NAV og F/NAV)gnss_navmsg (gps_cnav, gal_inav, gal_fnav, fec)
Funktion
GPS CNAV-meddelelsestyperne 10/11/30, Galileo I/NAV-ordtyperne 1-5 i nominelle lige/ulige sider og Galileo F/NAV-sidetyperne 1-4: pakning af ICD-felter og kvantisering, CRC-24Q, foldningskodning med rate 1/2 og K=7 (G2 inverteret for Galileo), blokinterleaving og synkroniseringsmønstre, med tilsvarende testdekodere
Uafhængig reference
Intern rundtur og known answers fra ICD; ingen dekoder fra tredjepart er kørt (RTKLIB/GNSS-SDR-harnessen, der læser KSHANA_NAVMSG_ORACLE_JSON, er datastyret). MODELLED
Tests
gnss_navmsg::tests (CRC-24Q-kontrolværdi 0xCDE703; foldningskodens impulsrespons; Viterbi retter indsatte fejl; layoutbredder); tests/gnss_navmsg_roundtrip.rs (feltstartbits er lig ICD-bitnumrene; encode ->…
ValideretLæser af IONEX globalt ionosfærekort og interpolation på et reelt CODE GIMionex (parse_ionex, parse_ionex_file, IonexFile::vtec_at, IonexFile::slant_tec_at, interpolate_tec_in_time, TecGrid::vtec_at)
Funktion
IONEX 1,0-læser (header, værdier af typen I5 i faste kolonner, TEC- og RMS-kort, absolutte epoker, manglende værdier) med bilineær rumlig interpolation, formatets tidsinterpolation med nærmeste / på hinanden følgende / roterede kort (lign. 1-3) og tyndskals-skråt TEC
Uafhængig reference
De udskrevne værdier i CODE GIM (eksakte i hver knude; kortet hentes ved test og medleveres ikke, da dets licens ikke er bekræftet) og en uafhængig genimplementering i Python stdlib af IONEX 1,0-interpolationsformlerne, indchecket sammen med fixturen (tærskler fastsat på forhånd e4d8b1f, 1e-9 TECU). Kontrol fra tredjepart (B6, præregistreret, første kørsel): RTKLIB v2.4.2-p13 iontec (BSD-2-Clause, kørt som separat værktøj) i 6885 forespørgselspunkter stemmer med IonexFile::vtec_at til 3.6e-13 TECU i begge interpolationstilstande mod en tærskel på 1e-5 TECU. Datastyret: CODE GIM hentes ved test, fastlåst med SHA; RTKLIB læser hele filen, fordi dets getindex afviser breddebeskæringen. tests/fixtures/ionex_code_gim/fetch.sh henter det og kontrollerer SHA-256, testen fejler ved alle andre bytes, og run_rtklib.sh er den dokumenterede vej til at gengive det (kræver netværksadgang). Opgraderet til VALIDATED efter ejerens beslutning på grundlag af datastyret evidens (2026-10-13)
Tests
tests/ionex_code_gim_oracle.rs (indlæst syntetisk IONEX-kort mod formelreferencen: 20.075 knuder eksakt, interpolation maks |Δ| 3.5e-13 TECU; datastyret på KSHANA_IONEX_CODE_GIM_DIR, det reelle endelige CODE-GIM…
ModelleretHatch-bærebølgeudjævning af kode på reelle RINEX-observationerhatch (HatchFilter), pvt (assemble_epoch_precise_smoothed, CarrierSmoother)
Funktion
Hatch-filter uden divergens (ionosfærefri kode båret af den ionosfærefri bærebølge, vindue på N epoker, genstart ved tab af lås, geometrifrit spring eller hul) i samlingen til præcis enkeltpunktspositionering
Uafhængig reference
FUND mod den offentliggjorte ITRF2020-koordinat for WTZR: tærsklerne, fastsat på forhånd (udjævnet median og p95 højst 0,6 x rå; tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_HATCH.md), blev ikke nået, forhold 0,718 og 0,923; den resterende fejl på meterniveau er biaslignende (C1C-kodebias, antenne, tidevand, langperiodisk multipath) og ikke den hvide støj, som udjævning fjerner. MODELLED: filterets statistik er kontrolleret internt
Tests
hatch::tests (noise-free pass-through; white-noise variance 1/(2N-1); restarts); tests/hatch_wettzell_oracle.rs::hatch_finding_is_pinned (WTZR 2025-02-24 01-06 h, 600 epochs, N = 100: median 3-D error 1.553 -> 1.116 m…
ValideretRTK-dobbeltdifferenser med LAMBDA-heltalsfiksering på reelle RINEX-observationerrtk_real (run_rtk), lambda (resolve)
Funktion
Relativ positionering over kort baseline ud fra reel tofrekvent GPS-kode og bærebølgefase: dobbeltdifferenser mod den højeste satellit med deres fulde kovarians, et float-Kalman-filter over baselinen og enkeltdifferensernes multiplicitet med geninitialisering ved slip, LAMBDA-heltalsmindstekvadrater med ratiotesten og baselinen betinget på de fikserede heltal
Uafhængig reference
Offentliggjorte ITRF2020-koordinater for WTZR og WTZZ (IGN ITRF2020_GNSS.SSC, løsning 3, med RINEX-antennehøjderne), som giver referencebaselinen; tærskler fastsat på forhånd i tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_RTK.md, før koden blev skrevet. Kun kort baseline: ingen ionosfæriske eller troposfæriske dobbeltdifferenser er modelleret
Tests
tests/rtk_real_wettzell_oracle.rs (IGS-stationer WTZR base / WTZZ rover, 1,4 m, 2025-02-24 00-03 h, 30 s: 359 epoker, positionsbestemmelser ved 100 % fra 00:10, fejl på fast baseline median 4,5 mm, p95 5,5 mm; første 10 min fikseret 2,6 mm…
ValideretPPP-tidsløsning for modtagerens ur mod IGS' endelige stationsurppp_real (run_ppp, PppEpoch::clock_m)
Funktion
Modtagerens ur estimeret af det statiske float-PPP-filter på reel tofrekvent GPS-kode og fase med endelige IGS-baner og -ure: en tidsoverførsel fra modtageren til IGS-tid, PPP-tidsløsningen uden ionosfære.
Uafhængig reference
Det endelige kombinerede IGS-ur for stationen WTZR (AR-poster i IGS0OPSFIN_20250550000_01D_05M_CLK, SHA-256 d19f3d45...993d, en kombination af netværksløsninger fra flere analysecentre; IGS-produkter, fri brug med kildeangivelse); tærskler fastsat på forhånd i xval/ppp-time/PREREGISTRATION.md før nogen sammenligning; alle holdt ved første kørsel. HVAD DER IKKE ER DÆKKET: én station og ét konvergeret vindue på to timer; IGS-tid, ikke UTC(k); den konstante forskydning indeholder modtagerens kodebiaser og er afgrænset, ikke kalibreret; ingen sporbarhed til Circular T.
Tests
tests/ppp_time_igs_station_clock.rs (WTZR 2025-02-24, 04:00-05:55, 24 epochs: Kshana minus IGS std 0.075 ns, bar 0.20; mean -0.659 ns, bar 5.0)
ValideretFloat præcis enkeltpunktspositionering på reelle RINEX-observationerppp_real (run_ppp, parse_antex_receiver, solid_tide_ecef, phase_windup)
Funktion
Statisk float-PPP-extended Kalman-filter på reel tofrekvent GPS-kode og bærebølgefase med endelige IGS-baner og -ure: ionosfærefri kombination, antenneforskydninger for satellit og modtager (modtagervariationer), fast jordtidevand, phase wind-up, Shapiro-forsinkelse, estimeret zenitvådforsinkelse, float-multiplicitet pr. bue med detektion af slip via geometrifri / Melbourne-Wübbena
Uafhængig reference
Offentliggjort ITRF2020-koordinat for WTZR (IGN ITRF2020_GNSS.SSC, løsning 3, propageret med dens hastighed) — tærskler fastsat på forhånd i tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_PPP.md, før filteret blev skrevet; udvikling kun på den samlokaliserede station WTZZ. Ikke modelleret: havbelastning, satellit-PCV, løsning af heltalsmultiplicitet
Tests
tests/ppp_real_wettzell_oracle.rs (IGS-station WTZR, 2025-02-24 00-06 h, 30 s, holdt uden for udviklingen: sidste epoke horisontalt 1,5 mm, op −2,9 cm; 04-06 h 240/240 epoker inden for 0,10 m i 3D, p95 6,7 cm; kun kode p95…
ValideretIndlæsning af RINEX 4-navigationsfilrinex (parse_nav, parse_nav_with)
Funktion
RINEX 4.00-4.02-navigationsfiler: > EPH-poster for GPS LNAV, Galileo I/NAV og F/NAV, BeiDou D1/D2 og QZSS LNAV afkodet til typen for udsendt efemeride; poster for CNAV, CNV1-3, FDMA, SBAS, STO, EOP og ION springes over til næste postheader; en post, hvis header nævner en anden satellit, eller en afkortet post, afvises
Uafhængig reference
IGS' sammenfattede udsendte fil i RINEX 3 for samme dag (offentliggjorte data, skrevet af en anden filgenerator ud fra de samme udsendte meddelelser); tærskler fastsat på forhånd i tests/fixtures/brdc_rinex4_2026200/PREREGISTRATION.md (7aa264b) før den første kørsel
Tests
tests/rinex4_nav_brd400_oracle.rs (IGS BRD400DLR_S RINEX 4,02 mod BRDM00DLR_S RINEX 3,04 for 2026-07-19, udsnit 00-02 h: G 37 / E 478 / C 72 poster matchet begge veje, hvert felt identisk, position ved Toe 0 m; hele døgnet…
ModelleretIndlæsning af RINEX 4-observationsfilrinex_obs (parse_obs)
Funktion
Headere i RINEX 4.0x-observationer (DOI, LICENSE OF USE, STATION INFORMATION, MERGED FILE; labels matchet i kolonne 61-80 for version 4 og senere) og epokeposter
Uafhængig reference
Formatkontrol på en reel offentliggjort RINEX 4,00-fil (indlæste værdier er lig filens udskrevne literaler) og en specifikationsafledt header; ingen uafhængig læser er kørt, så MODELLED
Tests
tests/rinex4_obs_mao0.rs (de første 4 epoker af IGS MGEX RINEX 4,00-filen MAO000USA_R_20231980000_01D_30S_MO, 58 satellitter, 7 systemer: headerposter og første epokes værdier er lig de publicerede litteraler)…
ModelleretUdsendt satellitposition for BeiDou GEOrinex (RinexEphemeris::sv_position_ecef_bds_geo, NavParseOptions)
Funktion
BDS-SIS-ICD-B1I v3.0 §5.2.4.12 position af geostationær satellit fra en udsendt efemeride (inertielignende system, derefter Rz(Ω̇e·tk)·Rx(−5°)), valgfri via feltet include_beidou_geo i NavParseOptions, så standardlæseren stadig springer GEO'er over
Uafhængig reference
Præregistreret (7aa264b, 110fef9) mod en præcis IGS MGEX-bane med GEO'erne; intet sådant produkt kunne nås fra sessionen, der byggede det, så sammenligningen afventer, og rækken er MODELLED (kun kontrolleret mod de offentliggjorte nominelle GEO-positioner)
Tests
tests/bds_geo_broadcast_oracle.rs (reelle C01-C04-poster: geostationær radius, længdegrader 140.02/80.04/110.55/159.99 deg på de publicerede slots, |breddegrad| 2,13 deg med hældningen mod 6,65 uden; den præregistrerede…
ValideretInterpolation af præcist ur i SP3sp3 (Sp3File::clock_s, clock_nodes), precise_products (ClockRinex::from_sp3)
Funktion
Satellituroffset mellem de tabellerede urknuder i SP3 ved lineær interpolation over de to omgivende gyldige knuder (RTKLIB's pephclk-skema; sentinel for dårligt ur springes over), og de samme knuder leveret til kæden for præcise produkter som poster svarende til RINEX-ur
Uafhængig reference
IGS' endelige kombination af satelliture på 30 s (IGS0OPSFIN 30S CLK, 2025-02-24): offentliggjorte urestimater på forespørgselstidspunkterne, ikke interpoleret ud fra SP3; tærskler fastsat på forhånd i tests/fixtures/sp3_clock_igs_oracle/PREREGISTRATION.md før den første kørsel (RMS 0,15 ns, p95 0,30 ns, median af knuder 1e-12 s, diskrimination 2x)
Tests
tests/sp3_clock_igs_oracle.rs (IGS endelig 15 min SP3 for 2025-02-24 mod IGS endelige 30 s ure, 32 GPS-satellitter: knude median |Δ| 2.6e-13 s; 3038 midtpunktsposter RMS 0,121 ns, p95 0,265 ns; at holde knuden i stedet…
ModelleretGNSS/INS med tæt kobling på bærebølgefase med float-multiplicitetfusion::carrier_tc (run_carrier_tc, CarrierTcCfg), fusion::trajectory (truth_epochs)
Funktion
Fejltilstands-EKF over 15 INS-tilstande, et ur i modtageren med to tilstande og én float-multiplicitet for bærebølgen pr. sporet satellit; pseudoafstand, bærebølgefase og valgfri afstandsændring fra en SGP4 Walker-konstellation (lysrejsetid og Sagnac), Klobuchar- og Saastamoinen/Niell-korrektioner anvendt i sløjfen ved filterets egen position; detektion af slip med tidsdifferentieret bærebølge og en tærskel pr. satellit udvidet med hastighedsusikkerheden; geninitialisering af multiplicitet ved slip og genopfangning
Uafhængig reference
Intern konsistens: målingerne er syntetiseret ud fra de modeller, filteret bruger (χ² NEES/NIS over seeds, en støjfri konvergens, indsprøjtning af slip). MODELLED; ingen reelle modtagerdata og intet filter fra tredjepart er sammenlignet
Tests
tests/fusion_carrier_tc.rs (figur-8-kørsel: stabil 3D RMS 0,025 m bærebølge mod 0,470 m kode på identiske målinger; 12 seeds middel NIS/dof 1,00 og stabil NEES/dof 0,92; et 1-cyklus slip detekteret i sin epoke uden…
ModelleretPakker for GNSS/INS til skibsfart, jernbane og luftfart med mulighed for tæt koblingfusion::pack (TightCfg, [tight]), scenarios gnss-ins-maritime / gnss-ins-rail / gnss-ins-aviation
Funktion
Tre gnss-ins-scenarier på trajektoriebiblioteket (et fartøj, der sno sig med 8 m/s med et udfald på fem minutter; et tog gennem et indsnit med to satellitter og en tunnel; et fly, hvis udfald dækker en krængende sving på 25 grader) og pakkens valgfrie [tight]-tabel: pseudoafstande fra en SGP4 Walker-konstellation fusioneret af navigatoren med lukket sløjfe, hver satellit over masken ved nominel drift og de højeste få ved forringet
Uafhængig reference
Intern: hver pakkes kvalitetsmål mod dens egen reference og en sammenligning af løs og tæt kobling på identiske input. MODELLED; revisionens sammenligning med NaveGo er ikke kørt
Tests
tests/gnss_ins_packs.rs (hver pakke: fusioneret under fri INS over udfaldet for begge sensorer; rail: tæt 5,3 m mod løs 12,9 m navigationsklasse og 15,6 m mod 18,8 m taktisk over udfaldet, tilgængelighed 0,97 mod 0,95…
ModelleretKoblet PNT-filter med pseudoafstande med biastilstand og 3D-udvidelse i fusionspakkenfusion::coupled (CoupledPntFilter, CoupledPntBiasFilter, CoupledPnt3d), fusion (run_coupled_suite), hybrid (CoupledCfg)
Funktion
Ét stakket Kalman-filter over position, hastighed, urfase og frekvens, fodret med pseudoafstande, der kobler position og ur (Joseph-opdateringer, der bærer krydskovariansen); en variant med 1 DOF udvidet med en konstant accelerometerbiastilstand, som fusionspakken kører under [coupled]; og 3D-versionen med 8 tilstande med rækker for sigtelinjen
Uafhængig reference
Intern konsistens: reference simuleret ud fra filtrenes egne modeller (χ² NEES over Monte Carlo-seeds, den afkoblede pakke på identiske sensorer). MODELLED
Tests
tests/fusion_coupled_filters.rs (3D-filter over 60 seeds: middel-NEES i anden halvdel 8,12 for 8 tilstande, χ²-sum i sidste epoke inden for sit 95 %-bånd; en ur-positionsbestemmelse på 0,1 ns skærer 3D-positionens sigma fra 5,58 m til 3,07 m; bias…
ValideretLøst koblet GNSS/INS-EKF med lever arm på KF-GINS-datasættetfusion::kfgins (run, loaders, score), fusion::closed_loop (propagate_increments, fuse_position_lever_arm), fusion::gnss_ins_ekf (update_position_lever_arm)
Funktion
Fejltilstands-EKF med 15 tilstande og lukket sløjfe drevet af IMU-tilvækster, hvor GNSS-antennepositioner fusioneres gennem lever arm-modellen H = [I 0 −[(C_b^n l_b)×] 0 0], konfigureret ud fra en KF-GINS YAML-fil (begyndelsestilstand og sigmaer, ARW/VRW, Gauss-Markov-biaser)
Uafhængig reference
Datasættets offentliggjorte referencetrajektorie og C++-programmet KF-GINS (GPL-3.0, commit 8291a93e, kørt som separat værktøj); tærskler fastsat på forhånd i xval/kfgins/PREREGISTRATION.md, og KF-GINS blev ikke kørt på disse data før den registrering (kontrolleret i dens Results). Alle seks tærskler holdt ved første kørsel. DATASTYRET: KF-GINS-demodatasættet (reel Leador-A15 IMU og RTK GNSS med en referencetrajektorie) har ingen licens og medleveres derfor ikke; xval/kfgins/fetch.sh henter det ved test med SHA-256 fastlåst for hver fil, og testen fejler ved uoverensstemmelse; vejen til at gengive det, som kræver netværksadgang, står i xval/kfgins/PREREGISTRATION.md. Opgraderet til VALIDATED efter ejerens beslutning på grundlag af datastyret evidens (2026-10-13)
Tests
tests/fusion_kfgins_dataset_oracle.rs (syntetiske indlæsere og armlængdetests med roterende platform altid; datastyret på KSHANA_KFGINS_DIR, kørt 2026-10-13 på KF-GINS-demodatasættet: horisontal / vertikal RMS 0,0109 /…
ValideretEksport til testbænk læst af en simulators læsere af bevægelsesfiler (gps-sdr-sim)interop::testbench (write_motion_csv, write_nmea, export)
Funktion
De bevægelsesfiler, der eksporteres til testbænken og gives til en open source GNSS-simulators egne læsere, kommer tilbage som den eksporterede trajektorie: NMEA GGA-filen (-g), udsnittet tid/bredde/længde/højde af bevægelses-CSV'en (-x) og dens udsnit tid/x/y/z (-u), på 6 gnss-ins-scenarier (herunder pakkerne til skibsfart, jernbane og luftfart, læst op til simulatorens grænse på 3000 sampler) og 2 stationære. Kun bevægelse; intet signal skrives eller genereres.
Uafhængig reference
HVAD DER ER KONTROLLERET EKSTERNT, angivet snævert: gps-sdr-sim (MIT, commit 28ca29a6) readNmeaGGA, readUserMotion og readUserMotionLLH med dets egen WGS 84 llh2xyz, kaldt gennem xval/testbench-gpssdrsim/driver.c (ingen signalfunktion kaldt), mod de jordfaste kolonner i bevægelses-CSV'en række for række, med tærskler fastsat på forhånd i xval/testbench-gpssdrsim/PREREGISTRATION.md før nogen kørsel: hver sample læst i alle 8 scenarier; NMEA værste 1,21 mm (tærskel 1 cm); LLH-udsnit værste 0,145 mm (tærskel 1 mm); jordfast udsnit med fire kolonner eksakt (tærskel 1 um, ændring 1); gnss-ins-rækker på simulatorens 10 Hz-gitter til 2.3e-13 s. FUND (kørsel 1, fastholdt): den fulde CSV med fjernet header kan ikke læses af -u, fordi læserens linjebuffer på 100 tegn deler hver række på 161 tegn i to sampler; docs/TEST-BENCH.md angiver udsnittet med fire kolonner. HVAD DER IKKE ER KONTROLLERET: fysikken i scenariets referencetrajektorie; gps-sdr-sims signaloutput; enhver anden simulators læser; enhver modtager.
Tests
tests/testbench_gpssdrsim_oracle.rs (6 tests: reference og scenarier, eksportbytes fastlåst, NMEA- og LLH-læsere, firekolonne-ECEF-udsnit, kørsel 1 FINDING på CSV i fuld bredde, 10 Hz rækkegitter)
ModelleretGNSS/INS-trajektoriebibliotek og import af CSV-referencefusion::trajectory (TrajectoryCfg, Trajectory, kinematic_imu, parse_truth_csv), fusion::pack ([trajectory])
Funktion
Valgbare bevægelsesprofiler til gnss-ins-pakken (ligeud, figur-8, bymæssig stop-og-kør, flyets stigning og koordineret sving, opmålingsdrone), defineret af kommandoer for Euler-rater og acceleration langs sporet, lukket på referencetilstanden med den kinematiske IMU (centripetal-, tyngde- og Coriolis-led), og importeret CSV-reference omsat til den IMU, der gengiver den; den historiske kørsel er uændret, når der ikke er angivet nogen profil
Uafhængig reference
Intern: identiteter for stiv-legeme-kinematik, CSV-rundturen og filterets egen kovarians. MODELLED (ingen reel kørselslog er sammenlignet)
Tests
fusion::trajectory::tests (koordineret sving har ingen sidekraft og belastningsfaktor 1/cos φ; CSV-import gengiver en fløjet profil til 1e-3 m/s og 1 m); tests/gnss_ins_trajectory_library.rs (hver profil kører og fusion…
ValideretStrapdown-INS-mekaniseringinertial::mechanization, inertial::attitude, inertial::imu_errors
Funktion
Strapdown-inertiel mekanisering med kvaternionattitude i WGS-84 NED (kompenseret for coning/sculling), der propagerer en navigationstilstand ud fra tilvækster (Δθ, Δv)
Uafhængig reference
NaveGo v1.4 (R. Gonzalez et al., LGPL-3) kørt under Octave — en uafhængig offentliggjort INS-værktøjskasse drevet af den identiske strøm af tilvækster (Δθ,Δv). Attitude stemmer bit for bit (samme konventioner for NED / skalar-først-kvaternion / jordrate / transportrate); hastighed/position stemmer op til to dokumenterede forskelle — nordtyngdeleddet for lodafvigelse, som NaveGo medtager og kshana udelader af design (lodlinjetyngde; matchet med Groves' lukkede form til hvert ciffer, med en sanity-floor-assert) og forskelle i integratoren af orden O(dt²) — ikke fejl i mekaniseringen
Tests
tests/classical_strapdown_ins_reference.rs (statiske/sving/coning-profiler, 30 epoker hver, mod NaveGo: attitude bit-identisk 0 rad; hastighed/position inden for navngivne analytiske grænser)
ValideretSyntese af tyngdefeltsfunktionaler (tyngdestøttet / GNSS-fri navigationskort)gravity_sh
Funktion
Tyngdestørrelse + forstyrrelse (mGal) med kuglefunktioner fra enhver ICGEM .gfc-model; normaltyngde GRS80
Uafhængig reference
GRS80 (Moritz 1980, IAG) Somigliana-normaltyngde + offentliggjort γ_e/γ_p; reelt ICGEM EGM2008-felt
Tests
tests/icgem_gravity_reference.rs (GRS80-syntese gengiver Somigliana til 3.5e-12; reelt ICGEM EGM2008-forstyrrelseskort fysisk)
ModelleretJord–Måne CR3BP 9:2 NRHO mod den bane, CAPSTONE fløjcr3bp (differential_correct_halo, PeriodicOrbit)
Funktion
Den cirkulære begrænsede 9:2 sydlige næsten retlinede L2-halobane, som cr3bp::differential_correct_halo korrigerer (banefamilien for Gateway og CAPSTONE), sammenlignet på sin middelgeometri (periode, perilunradius, apolunradius) med den bane, CAPSTONE faktisk fløj. En måling af, hvor godt CR3BP-medlemmet beskriver den reelle bane; en CR3BP-bane er ikke en bane i en efemeridemodel og sammenlignes ikke epoke for epoke
Uafhængig reference
Målt mod den rekonstruerede JPL Horizons-efemeride for CAPSTONE (NAIF -1176, CAPSTONE_merged, Måne-centreret ICRF, 2023-03-01..31 med 10 min), indchecket byte for byte (tests/fixtures/capstone_horizons/, NOTICE.md), præregistreret 4e868170 før den blev hentet, som en måling med tærskler på middelgeometrien. Ikke en validering: CR3BP udelader Solen, Månens excentricitet og den stationsholdning, CAPSTONE udførte, så tærsklerne beskriver, hvor repræsentativ modelbanen er, ikke en nøjagtighed. Resultater: docs/design/evidence/cap29d-capstone-nrho/RESULTS.md
Tests
tests/capstone_nrho_horizons.rs::cr3bp_nrho_matches_capstone_mean_geometry (CAPSTONE marts 2023, 4 perilunier og 5 apolunier: periode 6,5004 d mod 6,5699 d (1,07 %, tærskel 3 %), apolun 71.182 mod 71.215 km (0,05 %, tærskel 5 %)…
ValideretCR3BP-roterende tilstande afbildet til Måne-centreret ICRF på Jord–Måne-linjen i DE440cr3bp (to_moon_centred_icrf, from_moon_centred_icrf, to_moon_centred_icrf_de440)
Funktion
cr3bp::to_moon_centred_icrf afbilder en dimensionsløs roterende Jord–Måne-CR3BP-tilstand til en Måne-centreret ICRF-position og -hastighed på den øjeblikkelige Jord–Måne-linje (længdeenhed Jord–Måne-afstanden, tidsenhed den inverse omløbsrate, systemets fulde vinkelhastighed inklusive dens rate uden for planen fra Månens acceleration), med den inverse from_moon_centred_icrf, og cr3bp::to_moon_centred_icrf_de440 læser den geocentriske tilstand for Månen fra en DE440 SPK. Den afbilder tilstande; den gør ikke en CR3BP-bane til en bane i en efemeridemodel
Uafhængig reference
NAIF SPICE Toolkit (CSPICE N0067 gennem spiceypy 8.3.0) sxform af et dynamisk system med to vektorer (primær +X langs Månens position i forhold til Jorden, sekundær +Y langs dens hastighed, de440s), anvendt på den dimensionelle roterende tilstand bygget af SPICE's egen tilstand for Månen, af et separat program, der ikke kalder nogen Kshana-kode (tests/fixtures/cr3bp_to_mci_spice/, NOTICE.md). Præregistreret 2313eb1b, ændret før nogen kørsel i d5ef79b3, så det omfatter systemets vinkelhastighed uden for planen (uden den ville hastigheden være op til 8e-2 m/s forkert). Kun en Library-kontrol af transformationen. Resultater: docs/design/evidence/rm34-cr3bp-to-mci/RESULTS.md
Tests
tests/cr3bp_to_mci_spice_oracle.rs::cr3bp_to_mci_matches_a_spice_two_vector_frame (72 tilfælde: 12 epoker i januar 2025 x L1- og L2-punkterne, to sydlige L2-halo- og én DRO-begyndelsestilstand fra JPL Three-Body…
ValideretSolsystemtype på en JPL-kernel (planetary_kernel_path)solar_system (SolarSystemScenario::planetary_kernel_path, KernelOut); ephem_provider (KernelEphemeris)
Funktion
Typen solar-system med planetary_kernel_path: hvert rapporteret legeme, hvis egen NAIF-kode SPK'en indeholder, henter sin heliocentriske J2000-position og -hastighed fra kernelen gennem motorens egen læser (label KERNEL), et link, hvis to ender begge er i kernelen, beregnes på den, barycentre erstatter aldrig en planet, og alle andre legemer forbliver analytiske med deres egen label; rapporten får en kernelblok (sti, SHA-256, de legemer og links, der er taget derfra) kun når indstillingen er sat. Med de440s.bsp er det Merkur, Venus, Jorden og Månen
Uafhængig reference
NAIF SPICE Toolkit (CSPICE N0067 gennem spiceypy 8.3.0) spkezr heliocentriske tilstande på den fulde de440s.bsp, et separat program, der ikke kalder nogen Kshana-kode (tests/fixtures/solar_system_kernel/, NOTICE.md); motoren læser de440s-udsnit bit for bit. Præregistreret f8e946ea. En Library-kontrol af koblingen: DE440 selv og de analytiske legemer er ikke valideret her. Resultater: docs/design/evidence/cap31-solar-system-kernel/RESULTS.md
Tests
tests/solar_system_kernel_oracle.rs::kernel_backed_solar_system_matches_spice (Merkur, Venus, Jorden og Månen ved 2026-01-01, 2030-06-15 og 2040-12-31: værste 3.3e-5 m og 1.0e-11 m/s mod 1 mm og 1e-6 m/s…
ValideretPorkchop på DE440-efemeridenmaneuver (porkchop_kernel, PorkchopGrid); ephem_provider (KernelEphemeris)
Funktion
maneuver::porkchop_kernel: sweepet over opsendelsesdato x ankomstdato af afgangens C3 (km²/s²) og ankomstens V-infinity (km/s) med den progrades Lambert-løser med én omdrejning og kollinearitetsbeskyttelsen på 0,5 grader, på de heliocentriske J2000-tilstande for to vilkårlige NAIF-legemer læst fra en JPL DE440 SPK af cratets egen læser. Én omdrejning, prograd, ingen begrænsninger fra løfteraket eller ankomst: et sweep og ikke en missionsudformning
Uafhængig reference
NAIF SPICE Toolkit (CSPICE N0067 gennem spiceypy 8.3.0) heliocentriske tilstande på de440s.bsp og pykep 3.0.1 lambert_problem (ESA, C++-kernen kep3, MPL-2.0), en uafhængig Lambert-løser, kørt som et separat program, der ikke kalder nogen Kshana-kode (tests/fixtures/porkchop_de440/, NOTICE.md); motoren læser et de440s-udsnit bit for bit. Præregistreret 2d857fb1. En Library-kontrol af sweepet. Resultater: docs/design/evidence/cap20b-porkchop-de440/RESULTS.md
Tests
tests/porkchop_de440_oracle.rs::de440_porkchop_matches_spice_and_pykep (Jorden til Mars-barycentret, 16 afgange 2026-09-01..2027-01-29 x 19 ankomster 2027-06-01..2028-02-26: 304 celler endelige på begge sider, værste C3…
ValideretOptimering af impulsive overføringer på DE440-efemeridenmaneuver (optimise_transfer_kernel, TransferObjective, TransferType, TransferOptimum); ephem_provider (KernelEphemeris)
Funktion
maneuver::optimise_transfer_kernel: afgangs- og ankomstdatoerne for en ballistisk overføring med to impulser og én omdrejning, der minimerer afgangens C3 eller ankomstens V-infinity inden for type I eller type II, som et kontinuert optimum (et 2-dages gitter over begge vinduer, derefter 2D Nelder-Mead), på heliocentriske tilstande fra DE440 SPK. En datooptimering for ét ben og ikke en missionsudformning: ingen valg af løfteraket, parkeringsbane, manøvrer i dybt rum eller flere omdrejninger
Uafhængig reference
En uafhængig optimerer: NAIF SPICE Toolkit (CSPICE N0067 gennem spiceypy 8.3.0) heliocentriske tilstande på det samme de440s-udsnit, pykep 3.0.1 lambert_problem (ESA, MPL-2.0) og SciPy 1.18.1 Nelder-Mead, uden kald af Kshana-kode. NASA's håndbog for Jord-til-Mars (MIDAS, efemeride ikke oplyst, 2-dages datogitter) er en sekundær offentliggjort reference og fastsætter ikke status
Tests
tests/transfer_optimiser_oracle.rs::transfer_optimiser_matches_spice_pykep_scipy (Jorden til Mars-barycentret, afgange 2026-09-15..2027-01-15 x ankomster 2027-05-01..2028-03-01, Type I/II x min C3 / min V-infinity…
ValideretLambert-løser for overføringer med flere omdrejningermaneuver (lambert_multirev, LambertSolution, LambertBranch)
Funktion
Hver løsning af Lamberts problem med op til tre fulde omdrejninger (maneuver::lambert_multirev: løsningen med én omdrejning, derefter venstre og højre gren for hvert antal omdrejninger, Izzo 2015), med randhastighederne v1 og v2, for prograde og retrograde overføringer, i kanoniske og heliocentriske SI-enheder, herunder overføringer inden for 1 % af et antal omdrejningers minimale flyvetid og geometrier nær 180 grader. Kun en tolegemeløser (ingen perturbationer)
Uafhængig reference
pykep 3.0.1 lambert_problem (ESA, C++-kernen kep3, MPL-2.0), et uafhængigt bibliotek, kørt som et separat program af scripts/gen_lambert_multirev_ref.py; kun dets numeriske output er indchecket. Præregistreret a75de851 (sæt af tilfælde, tærskler, udfaldsregel) før nogen sammenligning; referencen blev genskabt uafhængigt og er byte-identisk. Resultater: docs/design/evidence/lambert-multirev/RESULTS.md
Tests
tests/lambert_multirev_oracle.rs::multirev_lambert_matches_pykep_on_the_preregistered_cases (382 tilfælde: 300 tilfældige 3D, 18 nær 180 deg, 24 nær minimumstiden for M = 1..3, 40 heliocentriske; 1058 løsninger; antal og…
ValideretLambert-løser for tolegemeoverføringermaneuver (lambert)
Funktion
Izzo-2015-løser af Lamberts problem med én omdrejning (r1, r2, flyvetid → randhastigheder) på tværs af overføringer LEO→GEO→heliocentrisk, prograde og retrograde
Uafhængig reference
lamberthub 1.0.0 izzo2015 (J. Martínez Garrido, MIT) — en uafhængig Lambert-løser fra tredjepart. Lamberts problem med én omdrejning (M=0) har en entydig løsning, så overensstemmelse mellem biblioteker er en ægte ekstern kontrol; stemmer til <1e-4 m/s (observeret ~1e-11), samme slags validering som DOP får mod gnss_lib_py
Tests
tests/lambert_reference.rs (13 transfers vs lamberthub izzo2015; worst |Δv| 7e-12 m/s)
ValideretReferencesystemer og tidsskalaerframes, precession, nutation, cio, timescales
Funktion
IAU 2006/2000A præcession-nutation, CIO GCRS↔ITRS, tidsskalaer med skudsekunder
Uafhængig reference
IAU SOFA / ERFA-referencevektorer; Vallado AIAA 2006-6753 (0,1–4 mm)
Tests
tests/frame_reference_vectors.rs (Vallado end-to-end; SOFA/ERFA vectors)
ValideretTodelte juliandatoer og skudsekunder på tidsvejen for Jordens banejd2 (Jd2::from_utc_calendar, utc_to_tai, tai_to_utc, utc_to_ut1, tai_to_tt, earth_rotation_angle); sgp4 (Sgp4::new_at, Sgp4::propagate_at)
Funktion
En UTC-kalenderdato og -tid til en todelt UTC-juliandato med SOFA dtf2d-konventionen for dage, der ender på et skudsekund (86.401 s lange, 23:59:60.x gyldig), UTC til TAI og tilbage, og UT1 fra UTC gennem TAI, på todelte datoer fra 1972-01-01: den tidsvej, som SGP4 (Sgp4::propagate_at, målt fra en todelt epoke) og den jordfaste IAU 2006/2000A-rotation (sgp4::teme_to_itrs_matrix_eop med den todelte rotationsvinkel for Jorden) tager
Uafhængig reference
pyerfa 2.0.1.5 (liberfa 2.0.1, BSD-3-Clause; SOFA-algoritmerne som udgivet af ERFA-projektet), et uafhængigt bibliotek: erfa.dtf2d("UTC"), erfa.utctai og erfa.taiutc på de indcheckede tidspunkter, forskellen dannet del for del på de todelte datoer, tærskel 1e-6 s fastsat før kørslen (præregistreret e947e69d). Største forskel 9.6e-12 s (dtf2d) og 1.9e-11 s (utctai, taiutc). Hvis hver UTC-dag regnes som 86.400 s, eller skuddagens brøkdel ikke skaleres, bliver testen rød. UT1 gennem TAI (iauUtcut1) kontrolleres af ERFA-benet i rækken for banevejen om Jorden. Omfang: UTC fra 1972-01-01; den tidligere UTC med glidende rate er ikke modelleret
Tests
tests/jd2_sofa_time_oracle.rs (224 UTC-tidspunkter: seks omkring hver af de 27 skudsekunder 1972-2016, to faste, 60 seedede på tværs af 1972-2026; dtf2d, utctai og taiutc hver inden for 1e-6 s, værste 1.9e-11 s); jd2::tests…
ValideretTodelte juliandatoer gennem Jordens rotation på banevejenjd2 (gmst82, From<TwoPartJd>, From<Jd2>); cio (gcrs_to_itrs_matrix_jd2); frames (teme_to_itrf_jd2, itrf_to_teme_jd2); orbit (Propagator::position_in_frame_jd2, own_jd2_utc); ephemeris (EphemerisScenario::two_part_jd)
Funktion
Jordens rotation ud fra en todelt UT1-juliandato på banevejen, så den jordfaste position bevarer det mikrosekund, en enkelt f64-dato taber (omkring 3e-9 rad nær 2020): jd2::gmst82 (IAU 1982 GMST, TEME-konventionen, på de to dele), cio::gcrs_to_itrs_matrix_jd2 (CIO GCRS-til-ITRS-matricen med Jordens rotationsvinkel fra de to dele) og, bygget på dem og kontrolleret internt, frames::teme_to_itrf_jd2 / itrf_to_teme_jd2, orbit::Propagator::position_in_frame_jd2 og own_jd2_utc, ephemeris-scenariets valgfrie two_part_jd (ECEF-positionen, sporet på jorden og stationsvisningen; som standard fra, uændret) og tabsfri From-konverteringer mellem jd2::Jd2 og timescales::TwoPartJd. Præcession-nutation og epoken i Cowell-kraftmodellen forbliver enkelt f64, hvor en afrunding på 40 us er under 1e-15 rad eller langt under fejlen i den analytiske efemeride for Sol/Måne
Uafhængig reference
pyerfa 2.0.1.5 (liberfa 2.0.1, BSD-3-Clause; SOFA-algoritmerne som udgivet af ERFA-projektet), et uafhængigt bibliotek: gmst82 og c2t06a på de indcheckede todelte datoer, polbevægelse 0,1 og 0,3 buesekund. Præregistreret b10475ee (datoer, tærskler) før funktionerne blev skrevet og før oraklet blev kørt. De interne tests (scenarieindstillingen, rundturen TEME/ITRF, typekonverteringerne) er understøttende selvkonsistens
Tests
tests/jd2_earth_rotation_erfa_oracle.rs::two_part_earth_rotation_agrees_with_erfa (40 todelte UT1/TT-datoer 1980-2050 inklusive +1, +10, +50 us-trin på to datoer: gmst82 inden for 1e-12 rad, værste 0; GCRS til ITRS…
ValideretSystemmatricer mod ERFA-vektorer: IAU 2006 bias-præcession, TEME til GCRS og CIO-kæden med forskydninger af den himmelske polprecession (precession_matrix); nutation (teme_to_gcrs_matrix); cio (gcrs_to_cirs_matrix_with_offsets)
Funktion
Tre systemmatricer sammenlignet element for element eller via rotationsvinkel med ERFA til vilkårlige epoker: precession::precession_matrix (IAU 2006 bias-præcession med Fukushima-Williams-vinkler), nutation::teme_to_gcrs_matrix (rotationen TEME til GCRS P^T N^T Rz(-EE) med IAU 2006-præcession, IAU 2000B-nutation og jævndøgnsligningen med dens to ledende komplementære led) og cio::gcrs_to_cirs_matrix_with_offsets (rotationen GCRS til CIRS med IERS' forskydninger dX, dY af den himmelske pol lagt til modellens CIP X, Y før rotationen, SOFA-kogebogens konvention; ny). Selve modelvalgene (2000B-nutation på TEME-vejen, serien med to komplementære led) er ikke valideret, kun deres implementering
Uafhængig reference
pyerfa 2.0.1.5 (liberfa 2.0.1, BSD-3-Clause; SOFA-algoritmerne som udgivet af ERFA-projektet), et uafhængigt bibliotek: pmat06; numat(obl06, nut00b) med jævndøgnsligningen fra eect00 (den fulde komplementære serie), sammensat som P^T N^T Rz(-EE); xys06a derefter c2ixys(X + dX, Y + dY, s). Præregistreret 979c1e39 (epoker, forskydninger og tærskler) før oraklet blev kørt. TEME-residualet på 1.1e-10 rad er den forudsagte effekt af at beholde to komplementære led (omkring 3 mm ved GNSS-bane)
Tests
tests/frames_erfa_vector_oracle.rs::frame_matrices_agree_with_erfa_vectors (40 TT-epoker 1950-2100, dX og dY op til 0,5 mas: præcessionselementer inden for 1e-13, værste 0; TEME til GCRS inden for 5e-10 rad, værste 1.10e-10 rad…
ValideretUTC før 1972 (æraen med glidende rate) på tidsvejen med todelt juliandatotimescales (tai_minus_utc_on_date); jd2 (Jd2::from_utc_calendar, utc_to_tai, tai_to_utc)
Funktion
UTC fra 1960-01-01 til 1971-12-31, da UTC løb med en forskudt rate i forhold til TAI og sprang med brøkdele af et sekund, på vejen med todelt juliandato: TAI - UTC fra driftstabellen for hver periode (timescales::tai_minus_utc_on_date), UTC-kalenderdatoen til en todelt UTC-juliandato med dagslængden 86.400 s + dleap (Jd2::from_utc_calendar), UTC til TAI med dagsbrøken skaleret fra UTC til SI-sekunder (jd2::utc_to_tai) og TAI tilbage til UTC (jd2::tai_to_utc), efter SOFA dtf2d, utctai og taiutc. Før 1960 regnes TAI - UTC som 0 (SOFA's værdi; UTC udefineret) og ligger uden for påstanden. Den enkelte f64 timescales::tai_minus_utc klipper stadig til 10 s før 1972 og er ikke dækket
Uafhængig reference
pyerfa 2.0.1.5 (liberfa 2.0.1, BSD-3-Clause; SOFA-algoritmerne som udgivet af ERFA-projektet), et uafhængigt bibliotek: erfa.dtf2d("UTC"), erfa.utctai og erfa.taiutc på de indcheckede tidspunkter, forskellen dannet del for del. Præregistreret 23c40661 (tidspunkter, tolerance og kontrolsummen for 1972+) før ændringen af motoren og før oraklet blev kørt. Driftstabellen er transskriberet fra den samme SOFA iauDat-tabel, som oraklet bruger, så sammenligningen dækker konverteringens aritmetik (dagslængde, skalering fra UTC til SI, iteration) og ikke selve den historiske tabel
Tests
tests/jd2_pre1972_sofa_oracle.rs::pre_1972_utc_conversions_agree_with_erfa (117 UTC-tidspunkter: fire omkring hver af de 15 starter af et TAI-UTC-udtryk 1960-1972 og 60 seedede på tværs af 1960-1971; dtf2d, utctai og taiutc…
ValideretGLONASS udsendt satellitur og propagering af udsendt baneglonass (GlonassEphemeris::sv_clock_bias_s, position_ecef, parse_glonass_nav)
Funktion
GLONASS' udsendte satellituroffset -tau_n + gamma_n (t - t_b) på et tidspunkt aflæst på satellittens ur (glonass::GlonassEphemeris::sv_clock_bias_s, offsettet korrigeret for urbias med to fastpunktsiterationer) og PZ-90 jordfast position af den udsendte tilstandsvektor propageret med RK4 gennem bevægelsesligningerne i GLONASS ICD inden for +/-15 min fra referenceepoken (GlonassEphemeris::position_ecef), fra reelle RINEX 3 GLONASS-navigationsposter. Ingen transformation fra PZ-90.11 til ITRF anvendes (de stemmer til centimeterniveau siden 2014; RTKLIB anvender heller ingen). Ikke koblet til noget scenariooutput: biblioteksfunktion
Uafhængig reference
RTKLIB v2.4.2-p13 (T. Takasu, BSD-2-Clause, commit 71db0ffa) geph2clk og geph2pos, kompileret fra C-kildekode i en separat harness (xval/rtklib-glonass), der læser den samme RINEX-fil med RTKLIB's egen læser, så parsningen, fortegnet på -tau_n, enhederne og iterationen sammenlignes ligesom uret og banen. Præregistreret e099c42a før funktionen fandtes og før harnessen blev bygget. Begge sider evaluerer den samme lukkede form for uret, så sammenligningen af uret dækker implementeringen og ikke formlen. Bane-integratorerne er forskellige (RTKLIB tager trin på 60 s og derefter resten, Kshana lige store trin på højst 60 s), og det samme gælder konstanterne (RTKLIB mu 3.9860044e14, Kshana PZ-90.11 3.986004418e14); det værste tilfælde på 1,1 mm er den forskel, som forudsagt før kørslen. Omfang: den udsendte efemeride inden for sit gyldighedsinterval, ikke den sande bane eller det sande ur (ingen sammenligning med præcise produkter)
Tests
tests/glonass_broadcast_rtklib_oracle.rs::glonass_broadcast_clock_and_orbit_match_rtklib (292 tilfælde: de 4 GLONASS-poster i den reelle IGS MGEX-udsendelsesfil fra 2013-01-01 x 73 forskydninger inden for +/-900 s; ur inden for 1e-14…
ValideretÉn vej for Jordens bane: SGP4-elementsæt til GCRS og ITRS på IAU 2006/2000A-kæden med parametre for Jordens orienteringsgp4 (MeanElementSet, SgpOrbit, Eop, teme_to_itrs_matrix_eop, gcrs_to_itrs_matrix_eop); jd2 (utc_to_ut1, earth_rotation_angle); nutation (teme_to_gcrs_matrix); cio (gcrs_to_cirs_matrix); frames (polar_motion_matrix)
Funktion
Propagerings- og systemvejen, som hver dirigeret type for Jordens bane deler: et SGP4-middelelementsæt med en todelt UTC-epoke (sgp4::MeanElementSet, læst fra elementer til konstellationsudformning med MeanElementSet::from_earth_fixed) propageret af SGP4/SDP4 til TEME (sgp4::SgpOrbit), og rotationerne TEME -> ITRS og GCRS -> ITRS i IAU 2006/2000A-kæden med UT1 - UTC og polbevægelse (sgp4::teme_to_itrs_matrix_eop, gcrs_to_itrs_matrix_eop, formerne uden parametre teme_to_itrs_matrix og gcrs_to_itrs_matrix). TEME er den sande ækvator for datoen med middeljævndøgn, nået fra GCRS gennem IAU 2006 bias-præcession, IAU 2000B-nutation og jævndøgnsligningen
Uafhængig reference
Ben 1: python-sgp4 2,24 (MIT-licens; D. Vallados C++-reference for SGP4, den kode, der frembragte AIAA 2006-6753-verifikationsvektorerne), WGS-72, forbedret tilstand. Ben 2: pyerfa 2.0.1.5 (ERFA, BSD-3-Clause, SOFA-rutinerne): c2t06a med TT fra utctai/taitt og UT1 fra utcut1, og for TEME c2t06a . pnm06a^T . rz(-ee06a). Tærskler fastsat før kørslen (præregistreret 72ea9eb0). Oplyst: den første kørsel fejlede ben 2 ved 2016-12-31T23:59:59,5 med et sekunds rotation (UT1 taget fra UTC's kvasi-juliandato på en dag med skudsekund); motoren blev rettet (jd2::utc_to_ut1), og den anden kørsel stemmer ved uændrede tærskler. Hvis polbevægelsen udelades (46 fejl) eller WGS-84-konstanter bruges i stedet for WGS-72 (4432 fejl), bliver testen rød. Dette design med tre ben afløste en sammenligning med Orekit fra ende til anden, som fejlede på Orekits SDP4 ved e = 0 og på dets IERS 1996 TEME (fundet er stadig fastholdt i tests/leo_polar_coverage_full_claim_orekit_oracle.rs)
Tests
tests/earth_orbit_path_sgp4_erfa_oracle.rs (etape 1: 4432 TEME-positioner af de 232 indlæste elementsæt mod python-sgp4 2,24, værste 6.1e-8 m, tærskel 1 cm; etape 2: 108 tidspunkter, 23 af dem med jordorientering…
ValideretAfvejning af udformning af afstandsmålingskodernavsignal (CodeFamily)
Funktion
grænser for sidelober og krydskorrelation for m-sekvenser/Gold, længde↔multiplicitet
Uafhængig reference
Offentliggjort GPS C/A Gold-krydskorrelation (−23,9 dB); Gold 1967-grænse
Tests
navsignal::code_tests (GPS C/A Gold ≈ −23.9 dB; φ(1023)/10 = 60)
ValideretGNSS-geometri / præcisionsforringelse (DOP)orbit (dop)
Funktion
GDOP/PDOP/HDOP/VDOP/TDOP ud fra sigtelinjegeometri via Q=(HᵀH)⁻¹ med en lokal ENU-opdeling
Uafhængig reference
gnss_lib_py 1.0.4 (Stanford NAV Lab) DOP — uafhængigt bibliotek, stemmer til 1e-6 relativt
Tests
tests/dop_reference.rs (8 geometries, well-conditioned → near-singular)
ModelleretPositionsfejl fra geometri: RMS-fejl = sigma_UERE x DOP for motorens mindstekvadraters positionsbestemmelsedop_error_mc (run_geometry, check, TOLERANCES); dop_error_ci (run, GEOMETRIES); pvt (solve_spp); orbit (dop, dop_cofactor)
Funktion
dop_error_mc::run_geometry og check: et seedet Monte Carlo (N = 20.000 epoker pr. geometri, sigma = 1,5 m, ChaCha8-seed 36 + i) af motorens egen iterede mindstekvadraters positionsbestemmelse (pvt::solve_spp, enhedsvægte, løst fra den sande position) på de 8 geometrier i tests/fixtures/dop/dop_reference.csv, hvor varianserne af fejlen mod øst, nord, op og ur, H/V/P-RMS, korrelationen øst-nord, middelfejlene og andelen inden for den horisontale ellipse på 95 % sammenlignes med sigma^2 Q, hvor Q er kovariansfaktoren i kernen orbit::dop (orbit::dop_cofactor, den samme aritmetik) på den samme geometri
Uafhængig reference
Intern konsistens mod en lukket form: under den lineære gaussiske model er mindstekvadraters kovarians sigma^2 (H^T H)^-1 (Kaplan og Hegarty (red.), Understanding GPS: Principles and Applications, 2. udg., Artech House, 2006, kap. 7). Metode og tolerancer i designnoten for geometri i 0,36, afsnit 5,2, fastsat i en præregistreringscommit før den første kørsel: hver varians inden for 5 % (5 standardfejl på en stikprøvevarians ved N = 20.000), hver RMS inden for 2,5 %, korrelationen øst-nord inden for 0,035 (5/sqrt(N)), hver middelværdi inden for 5 standardfejl, andelen i ellipsen på 95 % inden for 0,95 +/- 0,0077 (5 binomiale standardfejl); negative kontroller (PDOP fordoblet; fejl, der vokser som 1/sin(elevation) mod den uvægtede Q) skal fejle. SÅDAN SAMMENSÆTTES DET: Q er kovariansfaktoren i kernen orbit::dop, VALIDATED mod gnss_lib_py 1.0.4 på de samme 8 geometrier i tests/dop_reference.rs (rækken 'GNSS-geometri / præcisionsforringelse'); denne række tilføjer trinnet fra disse faktorer til meter gennem motorens løser og låner ikke den rækkes status. HVORFOR MODELLED: intet eksternt datasæt er involveret; overensstemmelsen viser, at estimatoren og støjen realiserer sigma x DOP under lærebogsmodellen, ikke at en modtagers fejl er lig med UERE x DOP, og sigma_UERE er et input
Tests
tests/uere_dop_monte_carlo.rs (position_error_is_sigma_times_dop_on_the_gnss_lib_py_geometries: alle 104 kontroller består ved første kørsel efter præregistreringen e50c88d2, værste varians 3,2 %, RMS 1,6 %, korrelation 0,012…
ModelleretGeometribevidst tillidsklassifikation: satellitgeometri ved siden af modtagerens tillidsscore og en klasse på hver fradragspostreceiver_trust (geometry: GeometryTracker, geometry_ratio, sky_ratio, geometry_points, GeometryLabel; score: DeductionClass, score_with; monitors; live); telemetry (sample, prometheus, syslog, otlp)
Funktion
receiver_trust::geometry: satellitgeometri pr. epoke (god, forringet med årsagerne få-satellitter/høj-pdop/høj-hdop/blokeret-himmel eller ukendt, når loggen ikke har GSV, NAV-SAT eller GSA) udledt af de rapporterede elevationer og azimutter gennem orbit::dop eller taget fra GSA, med en label, der altid rapporteres og aldrig scores (god, rimelig, dårlig, ukendt) og HDOP, PDOP, VDOP, antallet af satellitter og signaltab i ord; en geometrimonitor i skibsscoren, der ikke fratrækker noget, medmindre geometrien er dårlig (forholdet max(hdop/4, pdop/6, 5/n_used) over 1), derefter stiger til et loft på 15 point ved 1,5, som geometrien alene ikke kan føre under det forringede bånd (loft, ende på rampen og gulv i [geometry]; ingen alarm); en klasse på hver fradragspost (geometri, miljø, uoverensstemmelse) med tab af lås for satellitter under 15 grader klassificeret som geometri, satellitter i sigte men ikke sporet klassificeret som miljø, og et fradrag for dårlig geometri, hvis angivne HDOP ligger uden for max(1,0, 25 % af den udledte HDOP) fra den angivne himmel, klassificeret som uoverensstemmelse
Uafhængig reference
Intern konsistens: klassifikationen kontrolleres mod de regler, den angiver, og mod håndudledte forhold på syntetiske redigeringer af den indcheckede demolog, og pins uden ændring fastholder outputtet fra 0.35.0: ingen score ændres, medmindre geometrien er dårlig; labelen rapporteres altid. HVORFOR MODELLED: tærsklerne er valgt og ikke tilpasset (oprindelse i hver kørsels geometry_model; tallene fra IEC 61108-1 og GPS SPS som citeret, skal kontrolleres mod standardernes tekst), og der findes intet eksternt mærket datasæt med naturlig geometriforringelse mod angreb at validere klassifikationen mod. Den udledte DOP genbruger kernen orbit::dop, VALIDATED mod gnss_lib_py, hvis status denne række ikke låner. En klasse for geometri er en udtalelse om himlen og ikke et fund om, at intet angreb fandt sted
Tests
tests/natural_degradation_trust.rs (a_stated_skyline_reads_the_fjord_as_geometry: på den syntetiske fjordpassage i scenarios/training/fjord-natural-degradation.toml fratrækkes de samme 624 epoker med og uden…
ValideretUdsendt ionosfæremodel (Klobuchar, IS-GPS-200)gnss_sim (klobuchar_delay_m)
Funktion
Klobuchars ionosfæriske gruppeforsinkelse på skrå for enkelt frekvens L1 ud fra de otte udsendte α/β-koefficienter
Uafhængig reference
RTKLIB ionmodel (tomojitakasu/RTKLIB, src/rtkcmn.c) — uafhængig referenceimplementering kompileret fra kildekode; stemmer til < 1e-4 m
Tests
tests/klobuchar_reference.rs (10 cases across elevation/azimuth/local-time, two coefficient sets)
ValideretStatistisk kerne for RAIM/ARAIM-integritet (χ²- / ikke-centrale χ²- / normalfordelinger)raim (chi2_cdf, chi2_quantile, noncentral_chi2_cdf, normal_cdf, normal_quantile, pbias)
Funktion
Den fordelingskerne, som hvert beskyttelsesniveau hviler på: tærsklen for snapshot-fejldetektion χ²₁₋ₚfₐ(dof), ikke-centraliteten for udeblevet detektion pbias=√λ og multiplikatorerne K_fa/K_md/K_V for løsningsseparation
Uafhængig reference
SciPy 1.17.0 (scipy.stats.chi2/.norm/.ncx2 + optimize.brentq) — uafhængigt bibliotek (Cephes/Boost), en anden algoritme end Kshanas serie for den ufuldstændige gamma; stemmer til ≤1e-6 relativt. Kun kernen. *Allokeringen* af P_HMI-budgettet i ARAIM MHSS er ikke længere uden et offentliggjort numerisk orakel — WG-C ARAIM Technical Subgroups eget gennemregnede eksempel understøtter nu den separate række 'ARAIM MHSS-beskyttelsesniveauer mod offentliggjorte referencevektorer', som stemmer ved referencens egen TOL_PL = 5e-2 m — så denne rækkes omfang er den statistiske kerne, og den anden række bærer allokeringen (se docs/ARAIM_REFERENCE.md)
Tests
tests/raim_reference.rs (171 cases: χ² CDF/quantile, normal CDF/quantile, non-central χ² CDF, pbias across the P_fa/P_md/redundancy ranges)
ValideretSBAS-beskyttelsesniveau (DO-229E vægtet LS HPL/VPL)sbas (sbas_protection_level)
Funktion
DO-229E Appendix J vægtede mindstekvadraters beskyttelsesniveauer: D=(GᵀWG)⁻¹ ud fra elevation/azimut pr. satellit og fejlbudget, hovedakse af den horisontale fejlellipse og vertikal σ, skaleret med de offentliggjorte K-faktorer
Uafhængig reference
RTKLIB SBAS-PL-fork — zsiki/rtklib_ws waasprotlevels() (Siki & Takács 2017, "DO-229D Appendix J"), kørt af rnx2rtkp -ws på reelle EGNOS GEO-PRN120-meddelelser + reel BUTE/Budapest RINEX; uafhængig implementering fra tredjepart, HPL stemmer til < 2e-3 m. gLAB v6.0.0 (core/filter.c) bekræftede identisk konvention. Begge orakler runder K_V→5,33 mod Kshanas eksakte Φ⁻¹(1−5e-8)=5,3267 (~0,06 %), så den vertikale kontrolleres som det K-faktorfri d_U
Tests
tests/sbas_reference.rs (6 real-EGNOS epochs: HPL matched directly, vertical d_U checked K-factor-free)
ValideretEvalueringsmål for ML-detektorer (ROC/AUC/confusion/Pfa-Pmd)impairment_eval (auc, confusion_at, roc_curve)
Funktion
AUC (Mann-Whitney, ties ½), confusion matrix ved tærskel, P_d/P_md/P_fa/precision/accuracy/F1
Uafhængig reference
scikit-learn 1.9.0 (Pedregosa et al., JMLR 2011) — uafhængigt bibliotek, eksakt overensstemmelse
Tests
tests/eval_metrics_reference.rs (5 datasets, 24 thresholds; exact counts + <1e-9)
ValideretScoring af anomalidetektion på reel rumfartøjstelemetriimpairment_eval, eval_stats
Funktion
ROC AUC + bootstrap-CI, der adskiller reelle mærkede anomalier; gennemsigtig detektor (gengiver labels)
Uafhængig reference
scikit-learn roc_auc_score på testopdelingen OPSSAT-AD (Ruszczak et al. 2025, CC BY 4,0) — reel OPS-SAT-telemetri
Tests
tests/opssat_ad_reference.rs (reel ESA OPS-SAT, AUC gengiver scikit-learn til 1e-9); tests/ai_ml_rf_impairment_detection_evaluation_reference.rs (122 tilfælde på den reelle OPSSAT-AD-testopdeling: fuldt driftspunkt…
ValideretNumeriske kerner til kvanteafvejning (NNLS / χ²-bånd / van-Loan Q)quantum_trade (qparams_from_adev_curve), detection (chi2_inv_cdf), clock_state (ClockState3)
Funktion
NNLS-tilpasning af målt ADEV, χ²-konsistensbånd for NEES/NIS og urets diskrete processtøjskovarians efter van Loan (holdover-udløb) — afvejningsmotorens beregningsmæssige rygrad
Uafhængig reference
scipy 1.17.1 — optimize.nnls / stats.chi2.ppf / linalg.expm; NNLS+Q eksakt, χ² <5e-4 ved driftsfrihedsgrader. Kun kerner — tal for enheders ydeevne forbliver modelleret (næste række)
Tests
tests/scipy_reference.rs (NNLS; χ² at operating dof ≥ 48; van-Loan Q)
ValideretGeomagnetisk referencefelt (IGRF-14-syntese)igrf, igrf_data
Funktion
Syntese med kuglefunktioner af IGRF-14-hovedfeltet — komponenterne X/Y/Z/F, deklination og inklination — som fodrer laget for magnetisk anomali i alt-PNT
Uafhængig reference
ppigrf 2.1.0 (K. M. Laundal, MIT) — IAGA-VMOD's IGRF-referenceimplementering i ren Python, der leveres med de officielle IGRF14.shc-koefficienter (IAGA 14. generation, Zenodo 10.5281/zenodo.14012302); en uafhængig kodebase fra tredjepart, der beregner det entydigt definerede IGRF-14-felt, stemmer over et globalt gitter
Tests
tests/alternative_complementary_pnt_reference.rs (2520 global points × altitudes vs ppigrf @ epoch 2025.0; worst |ΔXYZF| 3.9e-4 nT, |ΔD| 2.8e-6°, |ΔI| 3.6e-7°)
ValideretDetektionsstatistik — gaussisk AUC og mindste detekterbare fejlquantum_faults, eval_stats, detection
Funktion
Analytisk binormal ROC AUC = Φ(μ/(σ√2)) og den mindste detekterbare fejl σ·(Φ⁻¹(1−P_fa)+Φ⁻¹(P_d)), der ligger til grund for kvantefejl- og anomalidetektorerne
Uafhængig reference
scipy 1,17 (Cephes ndtr/ndtri) + scikit-learn roc_auc_score (Pedregosa et al., JMLR 2011), begge BSD-3-Clause — uafhængige biblioteker, der beregner de samme entydigt definerede størrelser for gaussisk hale / AUC, stemmer til A&S-erf-gulvet (~7e-8). Fordelen ved kvante mod klassisk, der er bygget oven på, forbliver MODELLED
Tests
tests/quantum_faults_reference.rs (109 cases vs scipy 1.17 norm.cdf/ppf + scikit-learn roc_auc_score; worst |Δ| AUC 6.9e-8, min-detectable-fault 1.3e-8, empirical-AUC 1.1e-16)
ValideretKerne for rangstatistik (Kendall-τ / Dirichlet / percentil)resilience::stats
Funktion
Kerner for rangkorrelation og resampling under studiet af beslutningsustabilitet for modstandsdygtighed: Kendall τ-b, Dirichlet-middelværdi, konkurrencerangering og percentil-konfidensintervaller
Uafhængig reference
scipy 1,18 (stats.kendalltau variant='b', rankdata) + numpy.percentile (BSD-3-Clause) — uafhængige implementeringer (τ med merge-sort) af de entydigt definerede rangstatistikker, stemmer til 1e-12. Studiet af beslutningsustabilitet, der er bygget på disse kerner, forbliver MODELLED
Tests
tests/resilience_score_decision_instability_reference.rs (124 tilfælde mod scipy 1,18 / numpy 2,4: 61 Kendall τ-b til 2e-16, rangering eksakt, Dirichlet-middel + percentil-CI til 1e-12)
ValideretKerne for udledning af prioriteter i MCDA (AHP-egenvektor / konsistensforhold)mcda::ahp
Funktion
Analytic Hierarchy Process-prioritetsvægte = normaliseret principal (Perron) egenvektor af en reciprok matrix med parvise sammenligninger ved potensiteration, med Saatys konsistensindeks / konsistensforhold og acceptgrænsen CR<0,10
Uafhængig reference
Saatys (1980) kanoniske tabel for Random Index (RI(5)=1,12) gengivet eksakt + SciPy/LAPACK scipy.linalg.eig (BSD-3-Clause) som uafhængig egenløser, der beregner den samme entydigt definerede Perron-egenvektor/-egenværdi, stemmer til <1e-9. Beslutningslaget med Pareto / følsomhed / MAUT, der er bygget på denne kerne, forbliver MODELLED (aggregatorerne WSM/WPM/TOPSIS/VIKOR/PROMETHEE/ELECTRE er separat eksternt valideret — se rækkerne nedenfor)
Tests
tests/mcda_ahp_reference.rs (Saaty 1980 Random Index-tabel n=1..10 EXACT; prioritetsvektor + λ_max + CR mod SciPy/LAPACK eig på en konsistent 3×3 og inkonsistent 3×3 / 4×4, matchet til <1e-9)
ValideretKerner for vægtet aggregering i MCDA (WSM / WPM)mcda::wsm, mcda::wpm
Funktion
Weighted Sum Model (additivt aggregat med min–max-normalisering + rangering) og Weighted Product Model (multiplikativt aggregat med sumnormalisering og reciprok for omkostning) — de to scorere for værdiaggregering i afvejningsstudier
Uafhængig reference
pymcdm (methods.WSM + normalizations.minmax_normalization; methods.WPM + normalizations.sum_normalization) — et uafhængigt, udbredt MCDA-bibliotek i Python fra tredjepart, der beregner de samme entydigt definerede vægtede aggregater; stemmer til <1e-9. Kan genskabes offline via tests/fixtures/mcda_wsm/ og tests/fixtures/mcda_wpm/. Garbage in, garbage out på inputtene; laget for følsomhed/robusthed forbliver MODELLED
Tests
tests/mcda_wsm_reference.rs (WSM-scorer + rangering) og tests/mcda_wpm_reference.rs (WPM-scorer + rangering), hver mod pymcdm til <1e-9 på en fast 4×3 beslutningsmatrix med gevinst/omkostning
ValideretMCDA-rangering efter afstand til idealet (TOPSIS)mcda::topsis
Funktion
Technique for Order of Preference by Similarity to Ideal Solution — min–max-normalisering, vægtede positive/negative idealløsninger, relativ nærhed Cᵢ = d⁻/(d⁺+d⁻) og rangering
Uafhængig reference
pymcdm methods.TOPSIS + normalizations.minmax_normalization — et uafhængigt MCDA-bibliotek fra tredjepart, der beregner de samme entydigt definerede nærhedskoefficienter; stemmer til <1e-9. Kan genskabes offline via tests/fixtures/mcda_topsis/generate_topsis_reference.py
Tests
tests/mcda_topsis_reference.rs (nærhedskoefficienter + rangering mod pymcdm til <1e-9 på en fast 4×3 matrix med gevinst/omkostning)
ValideretMCDA-kompromisrangering (VIKOR)mcda::vikor
Funktion
VlseKriterijumska Optimizacija — gruppenytte Sᵢ, individuel fortrydelse Rᵢ og kompromisindekset Qᵢ ved strategivægt v=0,5, med rangering hvor lavere er bedre
Uafhængig reference
pymcdm methods.VIKOR(v=0,5) — et uafhængigt MCDA-bibliotek fra tredjepart, der beregner den samme entydigt definerede områdenormaliserede S/R/Q-aggregering; stemmer til <1e-9. Kan genskabes offline via tests/fixtures/mcda_vikor/generate_vikor_reference.py
Tests
tests/mcda_vikor_reference.rs (Q-indeks + rangering mod pymcdm til <1e-9 på en fast 4×3 matrix med gevinst/omkostning)
ValideretMCDA-rangering efter outranking-nettostrøm (PROMETHEE II)mcda::promethee
Funktion
Preference Ranking Organization METHod — parvist præferenceindeks med de seks standardformer for generaliserede kriterier, positive/negative outranking-strømme og den fuldstændige nettostrømsrangering (det sædvanlige kriterium validated)
Uafhængig reference
pymcdm methods.PROMETHEE_II('usual') — et uafhængigt MCDA-bibliotek fra tredjepart, der beregner den samme entydigt definerede netto-outranking-strøm; stemmer til <1e-9. Kan genskabes offline via tests/fixtures/mcda_promethee/generate_promethee_reference.py. De præferenceformer, der bruger tærskler (q/p/σ), reducerer til den samme algebra for generaliserede kriterier og kontrolleres fortsat på deres egenskaber
Tests
tests/mcda_promethee_reference.rs (netto-outranking-flow + rangering, sædvanligt kriterium, mod pymcdm til <1e-9 på en fast 4×3 matrix med gevinst/omkostning)
ValideretMCDA-valgkerne efter outranking (ELECTRE I)mcda::electre
Funktion
ELimination Et Choix Traduisant la REalité — konkordans-/diskordansmatricer, dominansrelationen med konkordans og ikke-veto og valgkernen efter outranking (konvention med udelukkende gevinstkriterier, summenormaliserede vægte og én fælles global skala)
Uafhængig reference
pyDecision algorithm.electre_i (Valdecy Pereira) — et uafhængigt beslutningsbibliotek med flere kriterier fra tredjepart, der beregner den samme entydigt definerede konkordans/diskordans/dominans/kerne; stemmer element for element til <1e-9. Kan genskabes offline via tests/fixtures/mcda_electre/generate_electre_reference.py. Valget af ĉ/d̂-tærsklerne er input fra analytikeren (følsomheden forbliver MODELLED)
Tests
tests/mcda_electre_reference.rs (konkordans-, diskordans- og dominansmatricer element for element + kerne-/domineret sæt mod pyDecision til <1e-9 på et fast 4×3 datasæt med kun gevinst)
ValideretMCDA-aggregeringskerner (WASPAS / MOORA)mcda::waspas, mcda::moora
Funktion
Weighted Aggregated Sum Product ASSessment (lineært normaliseret konveks blanding λ·WSM+(1−λ)·WPM ved λ=0,5) og MOORA-kvotientsystemet (vektornormaliseret vægtet gevinstsum minus vægtet omkostningssum) — den stabilitetshærdede værdiblanding og den fortegnsbærende kvotientsystem-scorer
Uafhængig reference
pymcdm (methods.WASPAS + normalizations.linear_normalization, l=0,5; methods.MOORA-kvotientsystem, vektornormalisering) — et uafhængigt, meget udbredt Python-MCDA-bibliotek fra tredjepart, der beregner de samme entydigt definerede aggregater; stemmer til <1e-9. Kan genskabes offline via tests/fixtures/mcda_waspas/ og tests/fixtures/mcda_moora/. Garbage in, garbage out for inputtene; laget for følsomhed og robusthed forbliver MODELLED
Tests
tests/mcda_waspas_reference.rs (WASPAS-præferencer + rangering) og tests/mcda_moora_reference.rs (MOORA-scorer + rangering), hver mod pymcdm til <1e-9 på en fast 4×3 beslutningsmatrix med gevinst/omkostning
ValideretMCDA-proportional rangering (COPRAS)mcda::copras
Funktion
COmplex PRoportional ASsessment — søjlesumnormaliseret gevinstbetydning S⁺ plus leddet for omvendt omkostningsbetydning, den relative betydning Q og nyttegraden U = Q/max Q (bedste alternativ = 1)
Uafhængig reference
pyDecision algorithm.copras_method (Valdecy Pereira) — et uafhængigt MCDA-bibliotek fra tredjepart, der beregner den samme entydigt definerede relative betydning/nytte i COPRAS. pyDecision er valgt bevidst: COPRAS i pymcdm 1.4.0 kollapser algebraisk til det trivielle S⁺+S⁻ og er ikke en tro reference, mens pyDecision implementerer den kanoniske Q = S⁺+(min(S⁻)·ΣS⁻)/(S⁻·Σ(min(S⁻)/S⁻)). Stemmer til <1e-9; kan genskabes offline via tests/fixtures/mcda_copras/generate_copras_reference.py
Tests
tests/mcda_copras_reference.rs (nyttegrader + rangering mod pyDecision til <1e-9 på en fast 4×3 matrix med gevinst/omkostning)
ValideretCUSUM: detektionsforsinkelse og ARLtpl (Cusum), security
Funktion
Tabulær CUSUM-detektors værste-tilfælde-detektionsforsinkelse (⌊h/(z−k)⌋+1) og gennemsnitlig run-længde uden for kontrol, brugt af tidssynkroniseringens beskyttelsesniveau og af spoof-monitorerne
Uafhængig reference
Publiceret tabulær CUSUM-ARL: Siegmunds (1985) approksimation med brownsk bevægelse (Hawkins & Olwell 1998, lign. 3,7) krydsforankret til ARL-tabellerne i Montgomery, Introduction to Statistical Quality Control (Wiley) for k=½, h∈{4.5}; den deterministiske forsinkelse stemmer eksakt med en første-passage-reference. Den sammensatte TPL-grænse forbliver MODELLED
Tests
tests/timing_protection_level_under_spoofing_reference.rs (16 tilfælde med deterministisk latenstid EXACT mod en førstepassage-reference; 8 ARL₁-tilfælde, Monte Carlo @60k forsøg mod Siegmund-approksimationen + publiceret Montgomery…
ValideretVarians ved udløb af ur i holdover og inversion til tærskelholdover (coast_phase_variance, holdover_seconds)
Funktion
Vækst i faseforskellens varians under udløb q_wf·t + q_rw·t³/3 + q_drift·t⁵/20 og dens monotone inversion til en holdover-tærskel for tidsfejl
Uafhængig reference
scipy 1,18 (BSD-3-Clause): linalg.expm beregner Van-Loan-processtøjen 1978 i diskret form Q₀₀ = ∫₀ᵗ ΦQcΦᵀds ved Padé-skalering med kvadrering på den udvidede 6×6-matrix — en uafhængig vej, der aldrig ser kshanas polynomiekoefficienter; plus optimize.brentq, der inverterer den samme monotone kurve i forhold til kshanas bisektion. Tallene for rødstøjsgulvet i hver klasse (ClockClass) forbliver MODELLED
Tests
tests/gnss_denied_clock_holdover_reference.rs (27 cases vs scipy 1.18: 12 coast-variance vs linalg.expm Van-Loan Q₀₀ worst rel 1.1e-15; 7 holdover inversions vs optimize.brentq worst rel 1.5e-16)
ValideretDiversitetskerne efter omvendt Simpsonresilience::diversity (effective_diversity)
Funktion
Effektiv arkitektonisk diversitet = omvendt Simpson / Hill-tal af orden 2, 1/Σpᵢ², over kildekvaliteterne i hver uafhængighedsgruppe (diversitetsleddet i robusthedsscoren)
Uafhængig reference
scikit-bio 0.7.3 skbio.diversity.alpha.inv_simpson (McDonald et al., BSD-3-Clause) — et uafhængigt bibliotek fra tredjepart, der beregner det entydigt definerede omvendte Simpson-indeks; gengivet byte for byte. DHS-RPCF-scoringsrammen (vægte/niveauer), der er bygget ovenpå, forbliver MODELLED
Tests
tests/resilience_diversity_reference.rs (17 cases: 14 vs scikit-bio inv_simpson + 3 pinned-zero boundary; worst |Δ| 0.0)
ValideretAzimutafhængig horisontmaske: synligt sæt, azimut og elevation samt DOP under maskenskyline (Skyline::cut_deg, Skyline::visible); frames (look_angles, is_visible_skyline); orbit (UserPath, sky_view, cofactor_from_los); geometry (sky_geometry)
Funktion
skyline + frames::look_angles + geometry::sky_geometry: den geodætiske (WGS-84) azimut og elevation af en satellit fra et jordsted, en azimut/elevation-maskestabel lineært interpoleret i azimut med omslag ved 360 deg, det synlige sæt el >= max(mask_deg, mask(az)) og DOP med fælles ur samt ENU-og-ur-kofaktormatricen for det sæt (kernen bag orbit::dop). Det er sådan, sektionen [skyline] afgør synlighed i typerne gnss-sim, jamming, leo-pvt, leo-pass og nmea-scenario og, med jordstedet user_site, i orbit og integrity
Uafhængig reference
Orekit 12,2 (Apache-2.0): en TopocentricFrame på en WGS-84 OneAxisEllipsoid for synsvinklerne og en ElevationMask pr. tabel, kørt af xval/orekit-skyline/OrekitSkyline.java på committede jordfaste tilstande (propageringen sammenlignes ikke), med gnss_lib_py 1.0.4 (wheel-metadata MIT) get_dop for DOP og ENU-og-ur-DOP-matricen for de sæt, Orekit finder synlige. Præregistreret (xval/orekit-skyline/PREREGISTRATION.md, commit e4b9d912), før nogen af de to uafhængige referencer blev kørt på sammenligningens inputs; Orekits lineære interpolation med omslag blev bekræftet på forhånd med en syntetisk sonde. Omfang: tabelmasker, geodætiske synsvinkler, det maskerede synlige sæt og dets DOP med fælles ur samt kofaktor. IKKE kontrolleret her: reduktionerne for gadekløfter, sektorer og terræn og forudindstillingerne (deres tabeller med 360 punkter indgik som input; rækkerne 'Street-canyon, sector and terrain reductions to a table' og 'Skyline presets'), urtilstandene for hvert system og fejlellipsen (rækken 'Horizontal error ellipse and per-system cofactor from the geometry covariance'), GMST-rotationen af jordstedet user_site i orbit/integrity og dens datering af hver propagator til ét tidspunkt (Orekit får jordfaste tilstande) samt enhver reel hindring (kun sigtelinje)
Tests
tests/skyline_orekit_oracle.rs (skyline_masks_agree_with_orekit_and_gnss_lib_py_as_pre_registered: 1173 synsvinkler på seks steder og fire epoker, seks maskeborde, 142 synlige sæt; værste |d el| 1.3e-13 deg og |d az|…
ModelleretReduktion af gadekløft, sektorer og terræn til en tabelskyline (Canyon::cut_deg, Sector::contains, TerrainPoint::elevation_deg, reduce_terrain, SkylineCfg::build)
Funktion
skyline: gadekløften på lukket form (afskæring atan((h - a) / d) med d = (w/2) / abs(sin(az - s)), åbne ender for en endelig længde), skarpkantede sektorer med uret med omslag og terrænpunkter reduceret til en tabel med krumningsfaldet d^2/(2 * 4/3 R); horisontlinjen er deres punktvise maksimum med enhver tabel
Uafhængig reference
Internt: de lukkede former kontrolleres mod håndberegnede værdier (murkronernes elevationer i en angivet gade, betingelsen for åben ende, krumningsfaldet for et angivet punkt). Ingen ekstern uafhængig reference: udformningsnotatet afgrænser disse reduktioner som MODELLED, og Orekits ElevationMask tager en tabel, så sammenligningen i rækken 'Azimuth-dependent skyline mask: visible set, azimuth and elevation, and DOP under the mask' læser deres tabeller med 360 punkter som input og kontrollerer dem ikke
Tests
skyline::tests (canyon_matches_hand_computed_wall_elevations; terrain_takes_the_curvature_drop; sectors_have_sharp_edges_and_wrap; a_preset_is_overridden_or_added_to_field_by_field; malformed_sections_are_refused)
ModelleretForudindstillinger for horisonten (bygade, havneindsejling, fjord, containerterminal)skyline (PRESETS, preset, preset_list)
Funktion
skyline::PRESETS: fire REPRESENTATIVE geometrier med udformningsnotatets angivne dimensioner og en linje om oprindelse for hver: city-street (en kløft, gade 0 deg, 20 m mellem 30 m høje mure, antenne 1,5 m), harbour-approach (sektorer: åben mod havet over 180 deg, kajbygninger 8 deg over 90 deg, bølgebryderen 3 deg), fjord (terræn: vægge 600 m over antennen i 1,5 km afstand på hver side af en nord-syd-gående rende, krumningsfald anvendt), container-terminal (sektorer: stakke 12 deg over den landvendte halvdel, kranarme 35 deg og 25 deg over to smalle sektorer); kan tilsidesættes felt for felt
Uafhængig reference
Ingen: valgte og angivne dimensioner, ikke en opmåling af nogen gade, havn, fjord eller terminal (gadens højde-bredde-forhold ligger inden for båndet 0.5-2 hos Oke (1988); fjorden er af størrelsesordenen de vestnorske fjorde; stakkene bruger ISO 668-højden for high-cube). Testen kontrollerer forudindstillingerne mod deres egne angivne dimensioner, en transskriptionskontrol, som valideringsreglen ikke tæller med
Tests
skyline::tests (presets_carry_the_note_dimensions_and_provenance)
ValideretHorisontal fejlellipse og kofaktor for hvert system ud fra geometriens kovariansgeometry (sky_geometry, ellipse); orbit (cofactor_from_los)
Funktion
geometry::sky_geometry: ENU-og-ur-kofaktoren (H^T H)^-1 med ét modtagerur til fælles eller ét pr. system (kernen orbit::cofactor_from_los) og den horisontale fejlellipse ud fra dens øst-nord-blok (halvakser k sigma sqrt(lambda), k = sqrt(-2 ln(1 - p)), storaksens azimut fra nord)
Uafhængig reference
numpy 2.5.4 (BSD-3-Clause), xval/numpy-ellipse/ellipse.py: numpy.linalg.inv af G^T G og numpy.linalg.eigh af dens horisontale blok på de committede inputs, et uafhængigt numerisk bibliotek, der udfører inversionen og egenværdinedbrydningen med sine egne algoritmer (standard P2). Præregistreret i xval/numpy-ellipse/PREREGISTRATION.md (commit 0bbeeaee) før kørslen; driverens outputformatering blev rettet én gang efter præregistreringen (en numpy-skalar skrevet som np.float64(...)), uden ændring af protokollen eller tolerancerne. Den validerede påstand er lineær algebra på disse inputs; den gaussiske fejlmodel og UERE er angivne inputs, ikke en målt nøjagtighed eller en integritetsgrænse
Tests
tests/ellipse_numpy_oracle.rs (ellipse_and_cofactor_agree_with_numpy_as_pre_registered: 270 tilfælde, de 142 indlæste synlige sæt fra skyline-sammenligningen under ét fælles ur og under ét ur pr. system; værste…
ModelleretFunktioner for himmelgeometri: synlighed, DOP, kovarians, fejlellipse, Monte Carlo-skygeometry; orbit (cofactor_from_los, dop_cov, dop); surface (sky_geometry, sky_monte_carlo, skyline_presets, skyline_profile, skyplot_svg)
Funktion
geometry (sky_geometry, sky_monte_carlo, skyline_presets, skyline_profile, skyplot_svg; CLI kshana sky og kshana skyline, Python- og WASM-funktioner med de samme navne, MCP sky_geometry): ud fra et sted, et tidspunkt og konstellationsforudindstillinger (eller satellitter som azimut/elevation eller ECEF) fås de synlige og maskerede satellitter under en horisont, GDOP/PDOP/HDOP/VDOP/TDOP, enhedsvariansens kofaktor (H^T H)^-1 og kovariansen i øst-nord-op med ét modtagerur pr. system eller ét til fælles, den horisontale fejlellipse (halvakser k sigma sqrt(lambda), k = sqrt(-2 ln(1 - p)), orientering 0,5 atan2(2 Q_EN, Q_NN - Q_EE) fra nord) og n seedede mindste kvadraters fejl under uafhængige gaussiske afstandsfejl med deres empiriske kovarians, RMS og 95 % indeslutning. Kofaktoren er orbit::cofactor_from_los, den ene kerne bag orbit::dop og orbit::dop_cov (dop er dop_covs reduktion): ingen anden DOP-implementering
Uafhængig reference
DOP-faktorerne for ét ur hviler på kernen, der er valideret mod gnss_lib_py 1.0.4 (rækken 'GNSS geometry / dilution of precision (DOP)'); denne rækkes egne kontroller er interne: sky_geometry gengiver orbit::dop og dop_cov på den samme geometri, ellipsen gengiver en analytisk 2x2-egenværdinedbrydning, ECEF- og azimut/elevation-inputs stemmer overens, og den seedede skys RMS og 95 % indeslutning stemmer med geometrien. ENU-kovariansen med ét ur pr. system og ellipsen er VALIDATED i rækken 'Horizontal error ellipse and per-system cofactor from the geometry covariance' (numpy, P2); det, der forbliver MODELLED her, er sammensætningen: forudindstillingernes propagering til en repræsentativ himmel, Monte Carlo-skyen (kontrolleret mod den geometri, den udtrækker fra, en selvkonsistenskontrol) og fladerne. Konstellationsforudindstillingerne giver en repræsentativ himmel, ikke en dateret; den gaussiske fejlmodel og UERE er angivne inputs, ikke en målt nøjagtighed eller en integritetsgrænse
Tests
geometry::tests (ellipse_of_an_analytic_two_by_two_case; sky_geometry_equals_orbit_dop_on_the_same_visible_set; ecef_input_matches_azimuth_elevation_input; one_clock_per_system_adds_a_state_and_costs_geometry…
ModelleretUrets holdover uden GNSSholdover
Funktion
Vækst i udløbsfejl på lukket form + holdover til tærskel; kvanteurklasser
Uafhængig reference
Rekursion af clock_state-kovariansen i flere trin (krydstjek i samme kodebase); den underliggende kerne for udløbsvarians og holdover-inversion er valideret eksternt mod scipy (se 'Clock-holdover coast-variance & threshold inversion'). Tallene for holdover ved rødstøjsgulvet i hver klasse forbliver MODELLED
Tests
holdover::tests (mod multi-trins Kalman-kovariansrekursion; hvid-FM eksakt; rundtur); kernen for coast-varians eksternt valideret i tests/gnss_denied_clock_holdover_reference.rs (mod scipy Van-Loan/brentq)
ModelleretMålte enhedskort for ur (forudsigelse på tilbageholdte data)clock_library (card, condition, series), realdata::clk, allan (lag1_noise_id)
Funktion
clock_library: et enhedskort (hvid fase, hvid, flicker og random-walk FM plus en lineær frekvensdrift) tilpasset en tredjedel af en navngiven målt urregistrering efter en logget konditioneringsrunde (huller, faseafvigere, fasespring og bursts fjernet; frekvensspring logget), vægtet med de frihedsgrader for støjtypen, der er identificeret ved lag 1, og dets forudsagte Allan-deviation bedømt på de tilbageholdte to tredjedele; læsere til RINEX- og IGS-urfiler, BIPM-filer for hvert laboratorium og Circular T afsnit 1; omregning af et kort til støjmodellen for slot-tidssynkronisering, den udvidede Kalman-urmodel og spoofing-monitorens støjniveauer
Uafhængig reference
Målte registreringer, tilbageholdt: IGS' endelige kombinerede 30 s-ure for de 11 GPS Block IIF-satellitter fra 2026-03-01 til 14 (et vindue, ingen test havde åbnet; IGS, åben med kildeangivelse) og JammerTest 2024-modtageren u-blox ZED-F9P i dens ikke-scorede stationære sessioner (GPL-3.0-or-later). D9 ekstern sammenligning (præregistreret 2ec76864, hvert korts forudsagte / målte Allan-deviation inden for [1/1.5, 1,5] ved dets tilpassede middeltider), et fund (forbliver MODELLED): 10 af 11 GPS IIF-kort ligger inden for tærsklen; G27 er optimistisk på to-timers-skalaen (0,662 ved 7680 s, værste faktor 1,510), den periodiske fejl på timeskala, som et potenslovskort ikke bærer. Modtagerens TCXO-kort er blokeret: uden for de loggede transmissioner efterlader datasættets øvrige sessioner 167 epoker mod de 3600 krævede. Rapporteret, ikke blindt (registreringer åbnet af tidligere rækker): 5071A-cæsiumkortet ligger inden for tærsklen (værst 1,070 op til 4096 s), OCXO-kortet er konservativt og uden for den (2,348 ved 128 s; dets støjgulv ændrer sig under registreringen), og Norcia-strontiumkortet, tilpasset de tre korteste publicerede punkter, ligger inden for den ved de to scorede punkter (1,291, 1,405). Galileo passive brintmasere (ingen kilde uden login til endelige Galileo-ure kan nås) og Deep Space Atomic Clock (én åben værdi i rummet) er blokeret. D9 runde 2, ZED-F9P-modtagerens TCXO som modelklasse på 14 dage fra 12 statiske Wroclaw-stationer (Zenodo 6488497, CC BY 4,0; præregistreret fb475550), et fund: med den registrerede pipeline kunne 11 af 12 stationer ikke evalueres (RAIM afviste de fleste ionosfærefrie epoker), og BX14 fejlede; en oplyst genkørsel med en rettet pipeline (præregistreret c9cc0d49) klarer 1 af 11 blinde stationer (BX12, 1,412; BX07 1,532 og BX13 1,542 lige uden for), fordi enkeltpunkts-modtagerure fra intermitterende 30 s-filer ikke er en ren oscillatorregistrering
Tests
tests/clock_library_device_cards_oracle.rs (gps_iif_cards_reproduce_the_recorded_finding; receiver_training_is_blocked_by_the_epoch_minimum; non_blind_cards_are_reported; pre-registered 2ec76864)…
ModelleretMålte urkort for GPS Block IIF med led pr. omløb (forudsigelse på tilbageholdte data)clock_library (card)
Funktion
clock_library::card::DeviceCard::fit_phase_periodic: et enhedskort med faseled på en til fire gange pr. omløb (periode T/k, T = 43.082,05 s), tilpasset samlet med det kvadratiske led ved mindste kvadrater på en tredjedel af en målt satellituregistrering, med hvert leds Allan-bidrag på lukket form 4 A^2 sin^4(pi tau / P) / tau^2 i den forudsagte Allan-deviation
Uafhængig reference
Målte registreringer, tilbageholdt: IGS' endelige kombinerede 30 s-ure for de 11 GPS Block IIF-satellitter fra 2026-04-01 til 14 (et vindue, ingen test havde åbnet; IGS, åben med kildeangivelse). D9 ekstern sammenligning (præregistreret fb475550, forudsagt / målt Allan-deviation inden for [1/1.5, 1,5] ved hver tilpasset middeltid på hver satellit), et fund (forbliver MODELLED): 9 af 11 kort ligger inden for tærsklen; G03 (1,947) og G25 (1,581) er optimistiske mellem 60 s og 2000 s, fordi deres tilbageholdte registreringer er mere støjfyldte end deres tilpasningstredjedele (G25's tilbageholdte del har 16 huller og 29 faseafvigere), en ændring i uret frem for et manglende periodisk led. Hvis de periodiske led udelades af forudsigelsen, overskrider alle 11 kort tærsklen (1,77 til 4,96), så leddene bærer forudsigelsen
Tests
tests/clock_library_periodic_cards_oracle.rs (periodic_cards_reproduce_the_recorded_finding; pre-registered fb475550); clock_library::card::tests (a_periodic_card_carries_the_sinusoid_a_power_law_card_cannot)
ModelleretTilstandsestimering af ur om bordclock_state
Funktion
Kalman-ur med 3 tilstande (fase/frekvens/drift) efter van Loan, Joseph-stabiliseret
Uafhængig reference
filterpy 1.4.5 KalmanFilter (R. Labbe, MIT), med F via scipy.linalg.expm og Q via Van-Loan 1978-blokmatricen — en uafhængig referenceimplementering, der gengiver kshanas fulde filterforløb. Konsistens på tværs af implementeringer: urets fysik og Allan-kalibreringen er ikke valideret eksternt, så dette forbliver MODELLED. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): på IGS' endelige 30 s-ure for 11 GPS Block IIF-satellitter (2025-08-17 til 30), med Q tilpasset ADEV for første halvdel og filteret bedømt på den tilbageholdte anden halvdel, er filteret konsistent ét skridt frem (0,906 til 0,971 af epokerne inden for dets 95 %-bånd, tærskel 90 %), men overmodigt efter én time på 9 af 11 ure (0,486 til 0,829), og dets innovationssummer falder uden for [2,4, 3,6] på 5. Den tilpassede hvide fasestøj er nul på hver satellit, og fejlen på timeskala (periodiske led, flicker FM) er ikke i modellen med 3 tilstande. 0,30 runde 2, et udvidet filter (flicker FM og tilstande for en og to gange pr. omløb) på nye tilbageholdte IGS-ure fra 2025-09-01 til 14 (præregistreret 4b1a841e), et fund (forbliver MODELLED): konsistenskriterierne for ét skridt og for én time holder på alle 11 satellitter (0,948 til 0,988 og 0,907 til 0,996), men kriteriet for innovationssummen overskrides på G24 (0,964) og G30 (1,929) mod [2,4, 3,6]. D9 runde 3, det udvidede filter fra runde 2, med tuning og kriterier uændrede efter clock_librarys frosne konditioneringsdetektor, på nye IGS-ure fra 2026-04-01 til 14 (præregistreret fb475550), et fund (forbliver MODELLED): (a) ét skridt 0,941 til 0,968 og (c) middelværdi af tredobbelt NIS 2,641 til 3,549 holder på alle 11 satellitter; (b) én time overskrides på G09 (0,894) og G26 (0,876) mod 0,90
Tests
clock_state::tests (analytisk van-Loan Q; NEES; PSD-positivitet); tests/clock_state_reference.rs (fuld predict+update-bane — tilstand x og 3×3 kovarians P over 1925 trin / 4 parametersæt mod filterpy 1.4.5; værste…
ModelleretFejlbudgettering for tidsoverførseltimetransfer, timetransfer_adv
Funktion
To-vejs/TWSTFT (Sagnac), GNSS common-view, PPP; linkjitter→afstand
Uafhængig reference
Sagnac-størrelsen er kontrolleret mod en autoritativ PUBLICERET VÆRDI — N. Ashby, 'Relativity in the GPS', Living Reviews in Relativity 6:1 (2003), lign. 1,29: en omsejling mod øst langs ækvator opsamler 207,4 ns (2ωA_E/c²); kshana gengiver 207,386 ns. Uafhængigt underbygget af RTKLIB 2.4.3 geodist() (Takasu, BSD-2-Clause), som bærer den samme 2Aω/c²-geometri. Det sammensatte BIPM TWSTFT-budget for transponder/common-view/PPP har ingen ekstern uafhængig reference, så funktionen forbliver modelleret
Tests
timetransfer::tests (gensidig ophævelse; to-form Sagnac-identitet); tests/time_transfer_error_budgeting_reference.rs (ækvatorial jordomsejling Sagnac = 207,386 ns mod publiceret Ashby 207,4 ns til <0,05 ns…
ModelleretModulation af navigationssignaler og analyse af kodesporingnavsignal
Funktion
BPSK-R/BOC PSD, spektral adskillelse κ, Gabor-båndbredde, DLL-jitter, multipath
Uafhængig reference
GPS C/A Gold-kryds-/autokorrelation stemmer EKSAKT (heltal ±65/−1/63) med uafhængig kodegenerering efter IS-GPS-200; BPSK-R(1)/BOC(1.1) PSD-form mod et uafhængigt scipy-periodogram. Lukkede former for modulation/SSC/DLL (Betz 2001 / Kaplan & Hegarty) forbliver analytiske, så rækken forbliver MODELLED — men delpåstanden om kodekorrelation er matchet eksternt. 0,30 runde 2, mod de trykte værdier hos Betz 2001 og Hein et al. 2006 (præregistreret 9f4f2ce8, en halv trykt enhed), et fund (forbliver MODELLED): alle 45 spektralceller i tabel 1, korrelationsværdierne ved 1 GHz, MBOC-interferenstallene og 2 af 3 forskydninger i fig. 17 stemmer; de første sidelober ved 24 MHz, forskydningen for BOC(8.4) i fig. 17 og hver værste-tilfælde-multipathbias i fig. 18-21 (11 til 15 % for lav) gør ikke. Kshana og en uafhængig NumPy-evaluering af den præregistrerede læsning er enige, så uoverensstemmelsen ligger i den læsning eller i en uangiven detalje i artiklen; årsag uafklaret
Tests
navsignal::tests (BPSK self-SSC = 2/3R_c; unit-area PSD; DLL); tests/nav_signal_modulation_code_tracking_reference.rs (GPS C/A Gold cross/auto-correlation exact-integer match vs independent IS-GPS-200 code generation…
ValideretGenerering af GPS L1 C/A-spredningskodesdr
Funktion
G1/G2 LFSR C/A-kodegenerator, der gengiver de oktale verifikationsvektorer for de første 10 chips i IS-GPS-200 for PRN 1–9 (plus længden 1023 chips, balancen med 512 ettaller og den treværdige periodiske autokorrelation)
Uafhængig reference
IS-GPS-200 tabel 3-Ia 'Code Phase Assignments' — de autoritative, offentligt tilgængelige (public domain, amerikanske myndigheder) oktale verifikationsvektorer for de første 10 chips (GPS Directorate, navcen.uscg.gov); kshanas egen G1/G2 LFSR genskaber hver vektor for PRN 1–9 eksakt. De efterfølgende lukkede former for modulation/SSC/DLL forbliver modelleret (separat række)
Tests
sdr::code_tests (ca_first_ten_chips_match_is_gps_200_octal — PRN 1–9 first-10-chips reproduce IS-GPS-200 Table 3-Ia octals 1440/1620/1710/1744/1133/1455/1131/1454/1626 exactly; ca_code_has_1023_chips_and_is_balanced…
ModelleretYdeevne for kvanteinertisensorinertial::quantum_imu
Funktion
Accelerometer med kolde atomer og interferometri ud fra første principper (k_eff·T², QPN)
Uafhængig reference
Publicerede numeriske vektorer fra primærartikler om CAI (Cheinet 2008-overføringsfunktion; Peters/Freier-følsomhed): k_eff·T² stemmer eksakt, ASD for haglstøj er et ensidigt gulv inden for ~2× af hvert publiceret instrument (rigtige enheder bærer teknisk støj over kvantegulvet). Et bånd, ikke paritet. 0,30 runde 2 (præregistreret fcb9ac64), et fund (forbliver MODELLED): rotationsstøjen med kun QPN mod de målte punkter i Gauguet et al. 2009 fig. 14 giver forhold på 0,695 til 0,788 ved de tre medtagne punkter (0,751 ved arbejdspunktet) og overskrider den præregistrerede tærskel på 30 % med 0,5 point; QPN-gulvet ligger 21 til 31 % under den målte støj, som man kan vente af en model uden laser- og detektionsstøj. Gradiometersammensætningen stemmer med QPN-modellinjen hos Janvier et al. 2022 (forhold 1,013 til 1,017, Reference). Den målte test kan ikke afsløre en sammensætningsfejl på sqrt(2); det kan kun Janvier-linjen med ulige kontrast
Tests
quantum_imu::tests (k_eff; Mach-Zehnder T²; Freier-2016-gulvets interval); tests/quantum_inertial_sensor_reference.rs (overføringsfunktion |H(ω)|, k_eff·T² og haglstøjs-ASD mod publiceret Cheinet 2008 / Peters / Freier…
ModelleretKvanteinertisensorens fringe-flertydighed / dynamikområdeinertial::quantum_imu
Funktion
Mach–Zehnder-dynamikområde for fringe-flertydighed: den 2π-periodiske fringe-aflæsning fastsætter en maksimal utvetydig specifik kraft a_max=π/(k_eff·T²), og det utvetydige område i opløsningsceller a_max/σ_a=π/σ_Φ er uafhængigt af den optiske skalafaktor — T²-følsomhedsgevinsten koster utvetydigt område i nøjagtigt samme takt (interrogationstiden bytter opløsning for område, så antallet af celler ligger fast ved aflæsningens fasestøj)
Uafhængig reference
Selvkonsistens i interferometerets fringe-model: halvfringe-kanten, den 2π-periodiske aliasstruktur og skalafaktorens ophævelse i forholdet mellem område og opløsning er algebraiske identiteter på lukket form, kontrolleret mod motorens egne Mach–Zehnder-fase- og følsomhedsfunktioner — kontroller af intern konsistens, IKKE et eksternt datasæt, så rækken forbliver InternalConsistency. MODELLED ideel fringe-flertydighed med tre pulser; ingen grænser for bølgefrontsaberration eller kontrasttab på det utvetydige område
Tests
quantum_imu::tests (a_max ligger ved ±π-halvfransekanten med 1/T²-områdeskalering; genfinding af foldet fase er eksakt inden for [−a_max,a_max] og aliaserer med præcis 2·a_max uden for; det entydige dynamiske område…
ModelleretRobusthed af kvanteinertisk dødregninginertial::quantum_imu (QuantumNavBudget)
Funktion
Sammensat positionsbudget over holdover med bias + skalafaktor + VRW + stabilitetsaftagen
Uafhængig reference
Uafhængig numpy-Monte Carlo-SDE-integration af dobbeltintegreret hvid accelerationsstøj (validerer den analytiske VRW-varians med en reelt uafhængig algoritme) + et publiceret forankringspunkt hos Groves 2013 for led med bias/skalafaktor; CAI-enhedernes tal kvantificerer partnerens hardware og forbliver MODELLED
Tests
budget_tests (bias mod AccelModel-integrator; VRW mod analytisk integral); tests/quantum_inertial_dead_reckoning_reference.rs (VRW mod en uafhængig numpy Monte Carlo-dobbeltintegration af hvid accelerationsstøj, værste…
ValideretGNSS/INS-sensorfusionfusion (gnss_ins_ekf, tightly_coupled, ukf, coupled)
Funktion
Fejltilstands-EKF med 15 tilstande, løst koblet (validated på en reel IMU/GNSS-kørsel mod NaveGo); en tæt koblet UKF på pseudoafstand/Doppler og et koblet filter for ur og position (kun konsistens, uden for den validerede påstand)
Uafhængig reference
NaveGo v1.4 (R. Gonzalez, LGPL-3.0, kørt som værktøj under GNU Octave, aldrig linket): dets løst koblede ins_gnss på dets egen reelle Ekinox IMU/GNSS-kørsel med landkøretøj, begge løsninger bedømt mod Ekinox-referencebanen. Begge filtre læser det samme 20 Hz float32-input, og Kshanas konfiguration er afbildet mekanisk fra datasættets publicerede parametre. Kshanas horisontale og vertikale positions-RMS og dens RMS for positionsinnovation ligger inden for 1.2x af NaveGos (målt 0,912, 0,940 og 0,861), og dens gennemsnitlige normaliserede innovation er højst 1,5 (målt 0,395: omkring 2.5x for lidt tillid, givet datasættets angivne GNSS-sigmaer); tolerancer fastsat før sammenligningen. Omfang: GNSS er til stede ved 5 Hz under hele kørslen, så ingen udfald eller udløb afprøves, og kontrollen fanger grove filterfejl frem for finjustering (råpositioner korrigeret for lever-arm ville lande nær den vertikale tærskel); lever-arm-transformationen beregnes i testharnessen. Den tæt koblede UKF og det koblede filter for ur og position beholder deres filterpy 1.4.5-konsistenskontroller (lineære posteriorer til 2.4e-12) og forbliver uden for den validerede påstand
Tests
fusion::tests (UKF==lineær-KF-identitet; udfaldscoast; NEES); tests/gnss_ins_sensor_fusion_reference.rs (50 tilfælde mod filterpy 1.4.5: lineær EKF løs/tæt + koblede PNT-posteriorer til ≤2.4e-12; UKF 40-epokers kørsel værste…
ModelleretRobusthed over for jamming uden GNSSjamming
Funktion
Geometrisk J/S-linkbudget, anti-jam C/N₀, tab af lås pr. satellit
Uafhængig reference
Linkbudgetligningen for anti-jam C/N₀ krydstjekket mod en uafhængig numpy-genudledning (deler den samme lukkede form → InternalConsistency) plus en karakterisering af C/N₀-forringelsen i reelle JammerTest-2024-data. 0,30 runde 2, blokeret (forbliver MODELLED): det målte C/N0-fald i JammerTest 2024 mod en forudsigelse fra linkbudgettet (præregistreret 6a66994b, inden for 3 dB) blev ikke kørt, fordi F8.1-antennens position og pejling ved Bleik og L1-andelen af rampeeffekten i flerbåndet 1.6.4 ikke er dokumenteret i testkataloget eller i den officielle log
Tests
jamming::tests (broadband_q_equals_the_spectral_separation_closed_form og cw_q_equals_the_spectral_separation_closed_form: Q-tabellen, CW og smalbånd 1, bredbånd og swept 2, fastlåst til de lukkede former i navsignal…
ModelleretDetektion af spoofingspoof, spoof_detect, spoof_monitors
Funktion
Urstøttet χ², RAIM, AGC og SQM, fusioneret til et sikkerhedskvalitetsmål for hver epoke
Uafhængig reference
TEXBAT-scenarieparametre (Humphreys 2012) — karakterisering, ikke fastlåste vektorer. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): på JammerTest 2024 (Bleik; GPL-3.0-data) udløste monitorerne på observationsniveau (urstøttet chi-i-anden, RAIM, mislykket løsning) ingen alarm inden for 10 s af nogen af de 8 evaluerbare publicerede spoofing-start (hvor vinduet før starten var rent, kom den første alarm 10,2 til 39 s efter den publicerede slotstart), og tre vinduer før start bar falske alarmer fra urmonitoren (81, 64 og 173 epoker). Den første observerbare virkning var tab af tofrekvent GPS-sporing, ikke en RAIM-inkonsistens. De publicerede starttidspunkter er slotstarter i en tidsplan med minutopløsning; at de går forud for RF-optagelsen er en fortolkning, ikke en måling. 0,30 runde 2, mod arrangørernes officielle JammerTest 2024-log (sekundopløsning; præregistreret 6a66994b med en Hadamard-kalibreret urmonitor med tre tilstande uden latching), et fund (forbliver MODELLED): monitoren alarmerer inden for 10 s ved 4 af 10 loggede starter; ved de øvrige seks er den 18 til 211 s for sen eller udløser falske urmonitor-alarmer før start (1 ved 2.1.4, 85 ved 2.3.15). D9 runde 3 (et modtagerkort fra JammerTest-enhedens andre sessioner, præregistreret 2ec76864) blokeret: 167 træningsepoker mod 3600. D9 runderne 4 og 4b (støjniveauer fra et modelklassekort for u-blox ZED-F9P, Wroclaw 2021, præregistreret fb475550; 4b en oplyst genkørsel med en rettet udtrækning, c9cc0d49), et fund (forbliver MODELLED): ingen falske alarmer før start ved alle 10 loggede starter og 6 af 10 inden for 10 s; 2.1.1, 2.3.5, 2.3.10 og 2.6.1 er fortsat for sene (+211, +23, +18, +51 s), uændret af urets støjniveau
Tests
tests/spoof_texbat_validation.rs (TEXBAT parameter characterisation); tests/spoof_detection_jammertest_oracle.rs::monitors_against_the_published_onsets_reproduce_the_recorded_disagreement (pins the finding)…
ModelleretBeskyttelsesniveau for tidssynkronisering under spoofingtpl
Funktion
Grænse på lukket form for den værste uopdagede tidsfejl = monitorens gulv + oscillatorens udløbs-σ over CUSUM-detektionsforsinkelsen, rapporteret som et bånd for rødstøjsgulvet
Uafhængig reference
Sammensætter validerede primitiver (allan/holdover efter van Loan, sikkerhedsgulv); kalibreret på JammerTest 2024-scenarie 2.1.1 (~1,01 ms reel trækning af serveret tid mod ≤51 ns påstået). En bro over validerede dele — ikke i sig selv en ekstern validering. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): i JammerTest 2024-spoofingscenarierne overstiger den målte uopdagede fejl i serveret tid det nominelle TPL ved 3 af 8 opdagede starter: 184,3 mod 34,6 ns (2.1.4), 295,7 mod 159,3 ns (2.3.5) og 143,0 mod 69,0 ns (2.3.11); tre af de fem inden for er trivielle (en latchet falsk alarm før start). Sandsynlig årsag: udløbsleddet fra en kalibrering på 60 s uden driftstøj dækker ikke modtagerens TCXO-frekvensvandring over 15 til 39 s. Den målte fejl er Kshanas eget enkeltpunkts-urestimat mod en linje tilpasset dets egne estimater før starten, så selv overensstemmelse ville ikke have været fuldt uafhængig. 0,30 runde 2, mod starttidspunkterne i den officielle JammerTest 2024-log og den målte modtagertidsfejl (præregistreret 6a66994b), et fund (forbliver MODELLED): ved 4 af 10 loggede starter overstiger den uopdagede fejl TPL med driftstilstand (634,7 mod 458,5 ns ved 2.1.1, 232,6 mod 16,2 ns ved 2.3.5, 41,3 mod 6,0 ns ved 2.3.10, 218,6 mod 47,4 ns ved 2.6.3)
Tests
tpl::tests (closed-form oracles + CUSUM); examples/tpl_jammertest.rs (JammerTest 2024 real-spoof calibration); tests/tpl_jammertest_coverage_oracle.rs::tpl_against_measured_time_error_reproduces_the_recorded_disagreemen…
ValideretMissionsanalyse for det cislunare rumcr3bp
Funktion
CR3BP STM + differentiel korrektor med enkeltskydning; L2 sydlig NRHO
Uafhængig reference
NASA/JPL Three-Body Periodic Orbit Database (SSD, periodic_orbits.api; Jord–Måne L2 sydlig halo-familie, metode efter Howell/Davis) — eksternt publiceret periode T, Jacobi C og begyndelsesbetingelser for vinkelret krydsning; kshanas STM-korrektor med enkeltskydning, sat i gang med katalogets begyndelsesbetingelser og forstyrret, konvergerer tilbage på katalogets medlemmer
Tests
cr3bp::tests (STM mod finite differenser); tests/cislunar_mission_analysis_reference.rs (5 JPL L2-S NRHO-medlemmer: 9:2 + 4 naboer; værste |ΔC| 1.5e-5, |ΔT|/T 9.6e-5, perilun 0,7 km i JPL-længdeenheder)
ModelleretAlternativ / supplerende PNTaltpnt, mapmatch, gravimeter, igrf
Funktion
Tyngdekortmatchning, terrænreferencebaseret (TERCOM/SITAN), magnetisk anomali
Uafhængig reference
IGRF-14-koefficienter; matched-filter-CRLB ud fra første principper. Marken i tyngdebenchmarken med reelle felter er kontrolleret eksternt (rækken 'Gravity-anomaly synthesis from a spherical-harmonic model'), men dens navigationsresultat har ingen ekstern uafhængig reference
Tests
tests/alternative_complementary_pnt_reference.rs (map-matching CRLB; IGRF-14 field); mapmatch::tests; gravimeter::tests; igrf::tests; tests/gravity_map_real_field.rs (the 60-min GPS-denied benchmark on the real EGM2008…
ValideretSyntese af tyngdeanomalier ud fra en kuglefunktionsmodelgravity_sh, altpnt::maps, gravimeter
Funktion
Tyngdeanomali i sfærisk approksimation (Barthelmes STR09/02 lign. 126, ICGEM gravity_anomaly_sa) ud fra fuldt normaliserede koefficienter mod en niveauellipsoide på lukket form (WGS84/GRS80), med leddet af grad nul, gittersat til tyngdekortmatcheren
Uafhængig reference
ICGEM Calculation Service (GFZ Potsdam), en uafhængig implementering: EGM2008 afkortet ved grad 70, gravity_anomaly_sa, WGS84, tidevandsfri, led af grad nul, h = 0. Tjenestens output bærer ingen udtrykkelig licens, så gitrene hentes på testtidspunktet med en fastlåst SHA-256 (tools/fetch_icgem_grid.sh), og kun ti værdier citeres med kildeangivelse
Tests
tests/icgem_gravity_anomaly_oracle.rs (egm2008_n70_matches_cited_icgem_values i CI på ti citerede ICGEM-knuder; egm2008_n70_gravity_anomaly_sa_matches_icgem over de fulde hentede 0.25-deg-gitre for Tchad 9-15N 19-25E og…
ValideretSRTM-læser for digitale højdemodeller på reelt terrænaltpnt::terrain
Funktion
Håndskrevet SRTM .hgt-parser (16 bit big-endian, nordlig række først, tomrumsbevidst) + bilineær sampler, der læser en reel højdemodelflise i public domain og løser en dokumenteret opmålingsbenchmark
Uafhængig reference
NASA/USGS SRTM v3 (1 buesekund) N36W117-flise — højdedata i PUBLIC DOMAIN fra amerikanske myndigheder, fra det åbne AWS-spejl elevation-tiles-prod, decimeret til 6 buesekunder og committet under tests/fixtures/terrain/ (se NOTICE.md), plus udsnit i fuld opløsning af N36W117 og N36W119, krydskontrolleret knude for knude mod GDAL's uafhængige SRTMHGT-læser og opmålingsbenchmarkene Mount Whitney (4421 m) og Badwater (−86 m). Den dokumenterede benchmark for Badwater Basin (−86 m, det laveste punkt i Nordamerika) forankrer den georefererede aflæsning. Terrænmatchningen/TERCOM-navigationspositionen, der bruger højdemodellen, forbliver modelleret (separat række om Alternativ/supplerende PNT)
Tests
tests/terrain_nav_validation.rs (real_srtm_committed_badwater_tile_reads_real_relief — den indlæste 6-buesekunders decimering af den offentligt tilgængelige SRTM v3 N36W117-flise placerer Badwater Basin, det laveste punkt i Nord…
ModelleretReproducerbarhed og softwaresikringreport, scenario; CI (golden/determinism/SBOM)
Funktion
Deterministisk, scenariehashet, SBOM + golden-gates på tværs af platforme
Uafhængig reference
SBOM'en kontrolleres mod det officielle CycloneDX 1,5 JSON Schema (+ gyldige SPDX-identifikatorer) — en ekstern publiceret standard, ingen valideringsfejl over hele afhængighedsgrafen; delen om determinisme i FoM og byte-reproducerbarhed forbliver en fastlåst selvkonsistenskontrol, så rækken forbliver MODELLED
Tests
tests/golden.rs, tests/determinism.rs, tests/cross_platform_golden.rs; tests/reproducibility_software_assurance_reference.rs (the generated SBOM validates with zero errors against the official CycloneDX 1.5 JSON Schema…
ModelleretEvaluering af AI/ML-detektion af RF-forstyrrelser (13494)impairment_eval
Funktion
Mærket syntetisk forstyrrelseskorpus + detektoragnostisk ROC/AUC/forvirringsmatrix/Pfa-Pmd-harness; lækagebeskyttelse, stratificeret opdeling, optimismerapport om fordelingsskift (inden for vs. uden for regime). Kan køres fra CLI/bindings som scenarietypen impairment-eval (scenarios/impairment-eval.toml)
Uafhængig reference
AUC-grænser på lukket form (Mann–Whitney) + en perfekt detektor som uafhængig reference; korpusset er SYNTETISK (parameterbaseret, ikke felt/IQ)
Tests
impairment_eval::tests (AUC perfect=1/identical=0.5/tie=0.125, ROC monotone, fused>0.8, per-class layer separation, leakage guard, reproducible corpus, distribution-shift flags optimism); dominance_demonstrators…
ModelleretUndersøgelse af optimismegab ved AI/ML-detektion af RF-forstyrrelser og en gabforudsigelse med kun IDimpairment_study, impairment_ml, eval_stats
Funktion
Kontrolleret syntetisk undersøgelse af optimismegabet i AUC fra distribution til uden for distribution på tværs af publicerede metoder og indlærte detektorer (logistisk regression / MLP med ét skjult lag): tendenser i skaleringslove pr. klasse (Spearman ρ + hældning på 1−alvorlighed) og en ridge-forudsigelse med kun ID, der estimerer gabet alene ud fra diagnostik inden for distributionen, bedømt ved udeladelse af én detektor ad gangen og én klasse ad gangen. Kan gengives via cargo run --release --example optimism_study
Uafhængig reference
Håndafledte statistikker mod lukkede former (binormal AUC Φ(d'/√2), DeLong-varians, Spearman med bundne rang, eksakt OLS-genfinding) + leave-one-out-krydsvalidering mod baseline, der forudsiger middelværdien. Korpusset er SYNTETISK (parameterbaseret, aldrig felt/IQ), og optimismegabet er et skift i alvorlighed fra syntetisk til syntetisk, IKKE et resultat fra simulering til felt
Tests
impairment_study::tests (reference-AUC pr. klasse≈1, lært optimismegab>0, gitterform + bootstrap-CI omslutter middelværdien + positiv skaleringstrend, ID-features endelige, gabprædiktor slår forudsig-middelværdien under BEGGE…
ModelleretAfvejning mellem kvante og klassisk PNT og robusthed uden GNSS (13503)quantum_trade
Funktion
Indlæsning af målt ADEV (NNLS), afvejningstabel (holdover for tidssynkronisering/inerti + gevinst), robusthed-over-tid-kurve; forbeholdet om gulvet følger med artefaktet. Kan køres fra CLI/bindings som scenarietypen quantum-trade (scenarios/quantum-trade.toml)
Uafhængig reference
Kernen for tilpasning af målt ADEV→PSD (NNLS) stemmer med scipy.optimize.nnls (tests/scipy_reference.rs / tests/quantum_vs_classical_pnt_trade_reference.rs) — en uafhængig ekstern kerne; men TALLENE i afvejningen kvantificerer (validerer aldrig) et partnerur/CAI, så selve afvejningen forbliver MODELLED, uden validerings-glorie
Tests
quantum_trade::tests (ADEV round-trip recovery, NNLS non-negativity, floor-caveat present/absent, benefit>1, monotone envelope + alt-PNT bound); dominance_demonstrators (measured-ADEV is data-driven not floor-assumed…
ModelleretRumvejrsmiljø og aktivitetsdrevet termosfærisk massefyldespace_weather
Funktion
Sol-/geomagnetiske indekser (definitorisk Kp↔ap-tabel), Jacchia-1971-eksosfæretemperaturen og Jacchia 1971-termosfæremassefylden (SAO Special Report 332: statiske diffusionsprofiler, der gengiver dens tabel 7, med døgn-, geomagnetiske, halvårlige, sæsonbestemte breddegrads- og heliumvariationer) mod den statiske USSA76-atmosfære. Kan køres fra CLI/bindings som scenarietypen space-weather (scenarios/space-weather.toml)
Uafhængig reference
Definitorisk Kp↔ap-tabel + Jacchia-1971-eksosfæretemperatur på lukket form (stemmer til <1 K mod de publicerede forankringspunkter, tests/space_weather_reference.rs); massefylden er karakteriseret mod pymsis NRLMSISE-00 (en uafhængig NRL-model): solcyklussvinget ved 800 km er 10.4x mod NRLMSISE-00 13.6x. 0,30 revision: den kalibrerede førsteordens aktivitetsfaktor blev erstattet af Jacchia 1971 (standardscenariets massefylde ved 400 km 4.176e-12 -> 6.929e-12 kg/m3; reference_exospheric_temperature_k fjernet, mean_exospheric_temperature_k tilføjet). 0,30 runde 2, målte TOLEOS CHAMP/GRACE/GRACE-FO-accelerometermassefylder (ESA Swarm DISC; præregistreret 20eed695), et fund (forbliver MODELLED): baneudjævninger ved 400 til 500 km ligger inden for en faktor 2 ved solmaksimum uden for storme (CHAMP 2001 521/521, GRACE-A 2002 120/120, GRACE-FO 2024 526/547), men Jacchia 1971 er omkring 1.7x for tæt i solminimum 2008 (GRACE-A 412/544 inden for en faktor 2), så massefylden er ikke valideret
Tests
space_weather::tests (Kp↔ap eksakt i gitterpunkter + rundtur + monoton, daglig Ap-middel, eksosfærisk T mod publicerede solminimum/middel/maksimum + stormtilvækstankre, densitet enhed ved reference, solcyklussvingning i…
ValideretCCSDS OEM-interoperabilitet (import af GMAT/Orekit/STK-efemerider)oem
Funktion
CCSDS 502,0 OEM-importør (parse_oem), tolerant over for COMMENT-linjer / ekstra metadatanøgleord / kovariansblokke og den eksakte inverse af skriveren; rundtur + indlæsning af ekstern fil med en hastighedskonsistenskontrol. Kan køres fra CLI/bindings som scenarietypen oem-interop (scenarios/oem-interop.toml)
Uafhængig reference
Uafhængig CCSDS-502-parser oem 0.4.5 fra tredjepart (MIT, https://pypi.org/project/oem/) — en separat kodebase, der afkoder kshanas udsendte EME2000/UTC OEM byte-identisk (24 tilstande fordelt på 2 fixtures, pos/vel Δ = 0), og hvis strikse læser bekræfter metadatatokens; kshanas parser stemmer ligeledes med den på en medleveret ekstern OEM. To ærlige interop-fund (oem-biblioteket afviser kshanas konvention med flere segmenter pr. satellit og dets kovarianslinjer med flere poster) er dokumenteret i testen — så dette validerer udveksling af enkeltobjekter, ikke at hver eneste kshana-variant følger CCSDS-502 fuldt ud
Tests
tests/ccsds_oem_interop_reference.rs (24 tilstande / 2 fixtures afkodet byte-identisk af den uafhængige oem-parser, pos/vel Δ = 0); oem::tests (parse en OEM fra et eksternt værktøj med ekstra nøgleord/kommentarer/kovarians…
ModelleretOpsendelsesvindue og stigningsgeometri (missionsanalyse)launch
Funktion
Opsendelsesazimut(er) for to legemer (sin Az = cos i / cos lat), mindste opnåelige inklination, cirkulær hastighed, jordrotationens bonus mod øst, Δv for dogleg-planændring og daglige muligheder og, givet en epoke og IERS finals2000A-rækker, stedets hastighed om den sande pol (launch::site_rotation_speed_at). Kan køres fra CLI/bindings som scenarietypen launch-window (scenarios/launch-window.toml)
Uafhængig reference
Sfærisk-trigonometrisk opsendelsesgeometri på lukket form mod publicerede gennemregnede forankringseksempler (Vallado, Fundamentals of Astrodynamics 4. udg., algoritme 37 opsendelsesazimut + kap. 6 planændring; tests/launch_window_ascent_geometry_reference.rs). De genbruger den samme lukkede form, som kshana implementerer (en kontrol af paritet med publicerede værdier / transskription, InternalConsistency); MODELLED for to legemer, ingen model for hastighedstrekant med roterende jord / stigning / tab ved luftmodstand. 0,30 ekstern sammenligning mod Orekit 12,2 (Apache-2.0), et fund (forbliver MODELLED): geometrien stemmer til afrunding (inklination aflæst tilbage fra afbrændingsazimut over 158 tilfælde, værst 2.6e-15 rad; mindste inklination, cirkulær hastighed og dogleg-delta-v til 3e-16), men jordrotationens stedshastighed overskrider den præregistrerede 1e-6 relativt ved 62,9 deg bredde (1.12e-6). Gabet vokser som tan(lat), i overensstemmelse med en polforskydning fra polbevægelsen på omkring 5.8e-7 rad i Orekits jordsystem, som den sfæriske ω·R·cos(lat) udelader. Påstanden blev ikke indsnævret før kørslen, så rækken kan ikke rykke op på grundlag af denne sammenligning. 0,30 runde 2 (præregistreret 71bebf63): med en epoke og IERS-rækker stemmer stedshastigheden ved den sande pol (scenariefeltet site_rotation_speed_true_pole_m_s) med Orekit inden for 1e-6 ved 24 steder over fire længdegrader (værst 4.9e-8), men den nominelle hastighed uden epoke, som scenariet som standard udsender som jordrotationens bonus, overskrider stadig med 1.12e-6, så rækken forbliver MODELLED i afventning af en beslutning om standardoutputtet
Tests
launch::tests (due-east launch reaches i=latitude, KSC→ISS = textbook 45°, polar = N/S, i<lat unreachable, 465 m/s equatorial bonus, plane-change 10° ≈ 1.34 km/s + 180° = 2v, daily-opportunity counts, scenario…
ModelleretBallistisk indflyvningskorridor ved genindtræden (Allen–Eggers)reentry
Funktion
Maksimal deceleration (uafhængig af den ballistiske koefficient), hastighed + højde ved maksimal g og hastighed ved maksimal opvarmning for en ballistisk indtræden i en eksponentiel atmosfære. Kan køres fra CLI/bindings som scenarietypen reentry (scenarios/reentry.toml)
Uafhængig reference
Analytisk Allen–Eggers-indtræden på lukket form, desuden krydskontrolleret mod en numerisk integration med scipy 1,18 solve_ivp (DOP853) af den SAMME indtrædens-ODE med kun modstand (tests/ballistic_re_entry_corridor_reference.rs, 36 tilfælde, værst a_max rel 2.9e-9) — en kontrol af numerisk integral mod egen analytisk form, så stadig InternalConsistency, IKKE en ekstern validering. MODELLED ballistisk (ingen løftekraft), ingen aerotermik/TPS — opvarmningsoutputtet er en hastighed, ikke en varmeflux. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): mod rekonstruktionen af Stardust SRC's indtræden (Desai og Qualls, NASA NTRS 20080008567) er Allen–Eggers' maksimale deceleration for den trykte inertielle indtrædenstilstand (12,9 km/s, -8.2 deg, H 7200 m) 61,8 g mod den bedst estimerede bane 32,89 g, +88 % mod en tolerance på 15 %: løsningen med konstant flyvebanevinkel og uden tyngde fordobler groft sagt toppen for en flad indtræden hurtigere end undvigelseshastigheden. Stardust bar intet accelerometer, så rekonstruktionen er et banestimat. 0,30 runde 2, blokeret (forbliver MODELLED): en integreret plan punktmasseløsning (reentry::simulate_planar_entry, US76, omvendt kvadratisk tyngde, krumning) stemmer med de bedst estimerede baner for Stardust og Genesis inden for 15 % (+11,3 %, +5,6 %), men disse maksima er simuleringsoutput fra rumagenturer, ikke målinger, så dette er kun et krydstjek. Sammenligningen med accelerometeret (præregistreret a94a283d) er blokeret af, at en læsbar kopi af analysen af Hayabusa2 REMM (doi 10.57350/jesa.16) mangler
Tests
reentry::tests (peak-g uafhængig af ballistisk koefficient + fysisk g-bånd, vokser med stejlere γ / hurtigere indflyvning, peak-g-hastighed = V_e·e^(−1/2) og peak-heating = V_e·e^(−1/6) hurtigere, peak-g-højde fysisk +…
ValideretFodaftryk og dækningsgeometri for EO-nyttelasteo_payload (j2_node_rate, j2_nodal_period, ground_track_spacing_equator_j2, sun_synchronous_inclination)
Funktion
SMAD-rumtrekantgeometri: Jordens vinkelradius, svathbredde, GSD i nadir, maksimal off-nadir-adgang og cirkulær periode, plus den første-ordens J2-nodeperiode (eo_payload::j2_nodal_period) og afstanden mellem jordspor ved ækvator R_e (omega_E - dOmega/dt) T_nodal (eo_payload::ground_track_spacing_equator_j2) med et flag for sammenhængende dækning, for en banehøjde, inklination og sensor-FOV/IFOV. Kan køres fra CLI/bindings som scenarietypen eo-coverage (scenarios/eo-coverage.toml); dens standardinklination er den solsynkrone fra eo_payload::sun_synchronous_inclination, en bekvemmelighedsstandard, som ikke er en del af den validerede påstand
Uafhængig reference
Orekit 12,2 (Apache-2.0) og GeographicLib 2,1 (MIT), begge kørt som separate programmer, præregistreret (766823f3) før motorændringen og før nogen uafhængig reference blev kørt: kuglestørrelser inden for 1e-9 relativt (værst: vinkelradius 5.4e-16, svath 7.0e-13, adgang 1.9e-14), periode 1e-12 (1.6e-16), GSD i nadir 1e-7 (2.9e-10), J2-nodeperioden og nodeafstanden inden for 0,1 % af en numerisk J2-propagering i Orekit med en nodedetektor (1.2e-5 og 6.7e-5), det sammenhængende flag eksakt (168/168) og mod WGS-84-ellipsoiden limben inden for 0,3 deg (0,186 deg) og den maksimale jordafstand inden for 0,5 % (3.2e-3). Fjernes leddet for noderegression, overskrides tærsklen i 35 af 42 nodepunkter. MODELLED omfang: fodaftryk med kugleformet jord; ingen radiometri, MTF, atmosfære, jitter eller glint; den solsynkrone standardinklination er ikke sammenlignet. Det tidligere krydstjek med Skyfield/SGP4 beholdes som regressionstest. 0,30 revision: afstanden bærer nu J2-noderegressionen (standardscenarie 2756,37 -> 2752,17 km)
Tests
eo_payload::tests (vinkelradius 64° ved 700 km + skrumper med højden, nadir→zenit/nul afstand, horisont→ε=0/maks centralvinkel, fejl ud over horisonten, strimmelbredde vokser med FOV / GSD med højden, ~2750 km knudeafstand…
ValideretCCSDS Space Packet (133,0) TM/TC-indramningspace_packet
Funktion
CCSDS 133.0-B Space Packet primær header, kodning/afkodning (version/type/sek.-header/APID/sekv.-flag/tæller/datalængde) + et indramningsscenarie. Kan køres fra CLI/bindings som scenarietypen space-packet (scenarios/space-packet.toml)
Uafhængig reference
spacepackets 0.32.0 (us-irs/spacepackets-py, R. Mueller, Apache-2.0) — en uafhængig implementering af CCSDS 133.0-B-2 fra tredjepart; kshanas encode_packet/decode_packet stemte byte for byte (den primære header på 6 oktetter for 33 tilfælde + den fuldt kodede pakke for 12)
Tests
space_packet::tests (headerbits følger CCSDS-133-layoutet, encode→decode gennemløber alle felter, uden for område/afkortet afvises); tests/ccsds_space_packet_reference.rs (33 tilfælde mod spacepackets 0.32.0, inkl. 12…
ValideretCCSDS Space Packet sekundær header, pakkefejlkontrol og segmenteringspace_packet (TimeCode, SecondaryHeader, packet error control, segmentation and reassembly, stream decoding)
Funktion
CCSDS 133.0-B-2 Space Packet-udvidelser ved siden af den primære header: en sekundær header, der bærer en CCSDS 301.0-B-tidskode (CUC eller CDS, eksplicit eller implicit P-felt) og supplerende data, CRC-16-feltet til pakkefejlkontrol, segmentering af en stor brugerdataenhed og dens genopsamling, strømafkodning med kontrol af huller og rækkefølge i sekvensen og PUS-TM-pakker. Outputtet for den primære header er byte-identisk med tidligere
Uafhængig reference
Præregistreret (003ef3eb) før nogen sammenligning; fire uafhængige implementeringer, ingen GPL, intet medleveret: ccsdspy 2.0.1 (BSD-3-Clause) afkoder 34 pakker skrevet af Kshana i 5 strømme (primær header, P-felt, grov og fin tid, CDS-felter, supplerende data, brugerdata, PEC), og begge segmenterede enheder på 1000 oktetter genopbygges fra dens brugerdata med 0 uoverensstemmelser, og den markerer de strømme med tabt og ombyttet pakke, som Kshana afviser; CRC'en for 8 meddelelser og 57 PEC-felter er lig med CPython binascii.crc_hqx og spacepackets-rs 0.18.0 (kontrolværdi 0x29B1); 66 tilfælde med CUC- og CDS-tidskoder er lig med skrivning og læsning i spacepackets-rs 0.18.0 oktet for oktet (3 CDS-tilfælde også spacepackets-py 0.32.0); 4 PusTm-pakker fra spacepackets-py 0.32.0 er byte-identiske med Kshanas. Ikke dækket: tidskoder med agenturepoke (7 tilfælde hviler på enhedstests), TC-overførselsrammer og ethvert linklag under pakken
Tests
tests/space_packet_ext_oracle.rs (fem præregistrerede tærskler: CRC, tidskoder, strømme, hul og rækkefølge, PUS TM; nul uoverensstemmelser); space_packet::tests
ValideretEksport til SPICE SPK (typerne 9 og 13)spk_writer (SpkSegment, to_bytes, from_bytes, eval, et_from_label, oem_to_spk_segments)
Funktion
Skriver og læser til NAIF SPICE SPK-kerner af typerne 9 (Lagrange, ulige tidsskridt) og 13 (Hermite, ulige tidsskridt), med DAF-layout, segmentbeskrivere og epokekataloger, og eksport af en CCSDS OEM til en SPK-kerne (UTC- eller TDB-epoker til efemeridetid)
Uafhængig reference
CSPICE N0067 via spiceypy 8.3.0, tilvækstsekundskernen naif0012.tls, præregistreret (5059fd2a), før SPICE læste nogen Kshana-kerne: SPICE's fortegnelse over Kshanas fire kerner er eksakt; spkpvn og spkgeo ved 5.516 epoker og 690 kædeevalueringer er lig med Kshanas egen evaluering bit for bit og holder sig inden for tærsklen ved hver knude (værst 0,022 af den); Kshana læser kerner skrevet af SPICE bit-identisk; for de samme inputs er Kshanas kerner byte-identiske med SPICE's (0 afvigende bytes i fire filer); OEM-epoker omregnes til efemeridetid inden for 6.0e-8 s af str2et (tærskel 1e-6 s), og SPICE evaluerer OEM-eksporten inden for tærsklen (værst 0,060). Syntetiske Kepler-buer: intet om fysisk nøjagtighed. Andre SPK-typer skrives ikke
Tests
tests/spk_writer_spice_oracle.rs (inventar, evaluering, bit- og byte-identitet, OEM-epokekonvertering; fire planlagte mutationskontroller gør den rød)
ValideretSPICE SPK-typerne 3 og 21 (Chebyshev, udvidede differenslinjer)spk_writer (SpkType::Chebyshev3, SpkType::DiffLines21, SpkSegment, InterpolatedSpk)
Funktion
Skriver og læser til NAIF SPICE SPK-segmenter af type 3 (Chebyshev-polynomier for position og hastighed over faste intervaller, grad 0 til 27) og type 21 (udvidede modificerede differensarrays, differenslinjerne i JPL's integratorer, MAXDIM 15 til 25), ud fra givne poster, i filer der også rummer segmenter af type 9 og 13; valg af poster og evaluering i rækkefølgen i SPICE's læsere. Kshana tilpasser ikke Chebyshev-koefficienter og frembringer ikke differenslinjer
Uafhængig reference
CSPICE N0067 via spiceypy 8.3.0 (spkw03, spkw13 og, fra det samme bibliotek via dets f2c-symbol, spkw21; spkpvn, spkgeo), præregistreret (e1cf80d8), før koden fandtes, med de syntetiske poster trukket fra SHA-1 af den commit: for tre filer (type 3 grad 0, 12 og 27 med 3 til 150 poster; type 21 MAXDIM 15, 20 og 25 med 1 til 250 linjer, nul til to katalogposter og en centerkæde; type 3, 21 og 13 i én fil med kommentarer) er SPICE's fortegnelse over Kshanas kerner eksakt, Kshanas kerner er byte-identiske med dem, SPICE skriver ud fra de samme poster, og spkpvn og spkgeo er lig med Kshanas læser bit for bit på Kshanas og på SPICE's filer (48.876 komponenter hver vej, tærskel 1e-12 relativt). Syntetiske poster: intet om fysisk nøjagtighed; reelle kerner af type 21 fremstillet af JPL indgår ikke i tilfældene
Tests
tests/spk_3_21_spice_oracle.rs (inventory, evaluation both ways, byte identity); spk_writer::tests
ValideretCCSDS Attitude Data Messages (AEM, APM)adm (AemMessage, ApmMessage, quaternion_a_to_b), ndm_xml
Funktion
Skriver og læser til CCSDS 504.0-B-2 Attitude Data Messages i KVN og NDM/XML: AEM version 2,0 (og 1,0 i KVN, med dens ATTITUDE_DIR, QUATERNION_TYPE og numeriske rotationssekvenser) med attitudetyper for kvaternion, Euler-vinkler og spin og deres varianter for afledt, vinkelhastighed og nutation, flere segmenter; APM version 2,0 med blokke for kvaternion, Euler, vinkelhastighed, spin, inerti og manøvre; A-til-B-kvaternionen for en post (504.0-B-2 bilag F)
Uafhængig reference
Orekit 13.1.8 (Apache-2.0) parsere og skrivere, kørt som et separat program (xval/adm-orekit), præregistreret (7a6a05fe) før nogen sammenligning: Orekit parser hver meddelelse skrevet af Kshana (14 AEM KVN, 11 AEM XML, 4 APM KVN, 4 APM XML), og hver værdi ligger inden for sin tærskel (kvaternioner 1e-14, vinkler 1e-9 deg; værst 0,054 af en tærskel); Kshana parser de 31 meddelelser, Orekit skriver ud fra de samme inputs, inden for hver tærskel; rotationen af hver af 135 poster med kvaternion, Euler og spin er lig med AemSegment.getAngularCoordinates inden for 1e-12 (værst 0,0071 af tærsklen). Alle 15 XML-meddelelser fra Kshana validerer mod NDM/XML 4.0.0-skemaet (datastyret, hentet med fastlåst SHA-256). Fund: Orekits APM-skriver afviser en manøvre uden MAN_DELTA_MASS (valgfri i standarden), så APM-manøvrer er kun dækket i retningen hvor Kshana skriver. Uden for tilfældene: AEM 1,0 */RATE-typer og XML, gentagne APM-blokke
Tests
tests/adm_orekit_oracle.rs (L1 Orekit reads 33 Kshana files, L2 Kshana reads 31 Orekit files, L3 135 record rotations; findings pinned); adm::tests; ndm_xml::tests
ValideretCCSDS Orbit Data Messages (OPM, OMM, OCM)odm (OpmMessage, OmmMessage, OcmMessage, Section, OcmBlock), ndm_xml
Funktion
Skriver og læser til CCSDS 502.0-B-3 Orbit Data Messages i KVN og NDM/XML: OPM 3,0 og 2,0 (tilstandsvektor, oskulerende Kepler-elementer, rumfartøjsparametre, kovarians, manøvrer, brugerdefinerede parametre), OMM 3,0 og 2,0 (middelelementer efter middelbevægelse eller halv storakse, TLE-relaterede parametre med BSTAR eller BTERM og AGOM, kovarians) og OCM 3,0 med bane (CARTP, CARTPV, CARTPVA; absolutte eller relative epoker), fysiske egenskaber, kovarians (CARTP, CARTPV i LTM-rækkefølge), manøvre og brugerdefinerede blokke; en OMM i fuld præcision fra et SGP4-elementsæt ved siden af den uændrede OmmFile::to_omm_kvn
Uafhængig reference
Orekit 13.1.8 (Apache-2.0) parsere og skrivere til OPM, OMM og OCM, kørt som et separat program (xval/odm-orekit), præregistreret (cc6841da) før nogen sammenligning: 27 af de 30 meddelelser skrevet af Kshana (6 OPM-, 5 OMM- og 5 OCM-tilfælde i KVN, og XML for version 3,0) kan parses i Orekit med hver værdi inden for 1e-14 relativt og hver epoke inden for 1e-9 s (904 værdier, værst 0,021 af en tærskel), og Kshana læser alle 25 meddelelser, Orekit skriver tilbage, inden for de samme tærskler (858 værdier, værst 0,020); alle 14 XML-meddelelser fra Kshana validerer mod NDM/XML 4.0.0-skemaet (datastyret). Fund, fastlåst, som indsnævrer påstanden: Orekit kræver ELEMENT_SET_NO (valgfri i 502.0-B-3), afviser COMMENT i brugerdefinerede XML-parametre (skemaet tillader det), skriver ikke BTERM uden BSTAR (så BTERM og AGOM er kun dækket i retningen hvor Kshana skriver), og lægger relative OCM-epoker til som SI-sekunder, så under TDB afviger de fra TDB-kalenderaflæsningen med omkring 1.9e-10 s/s (UTC, TAI og TT stemmer). Det ældre output fra OmmFile::to_omm_kvn, som pakker OMM-metadata ind i META_START/META_STOP, afvises af Orekit (registreret). Uden for omfanget: OCM PERT- og OD-blokke, ikke-kartesiske elementsæt, andre kovariansrækkefølger
Tests
tests/odm_orekit_oracle.rs (L1 Orekit læser 30 Kshana-filer, L2 Kshana læser 25 Orekit-filer; fund fastlåst og påstået at gentage sig); odm::tests
ValideretBudget for attitude og pejlefejl med 3 frihedsgrader (AOCS)attitude_budget
Funktion
Værste-tilfælde-forstyrrelsesmoment fra tyngdegradienten ((3/2)(μ/R³)ΔI) som toppen over attituden (den validerede påstand), plus et RSS-budget for pejlefejl over navngivne bidrag på 1σ med det dominerende led (en kvadratsum af tal leveret af kalderen, uden for den validerede påstand). Kan køres fra CLI/bindings som scenarietypen attitude-budget (scenarios/attitude-budget.toml)
Uafhængig reference
Basilisk 2.9.1 GravityGradientEffector (AVSLab, ISC), en uafhængig C++-implementering af det fulde tensormoment fra tyngdegradienten: Kshanas top (3/2)(μ/R³)ΔI er lig med Basilisks moment ved attituden på 45 deg inden for 1e-12 relativt (værst 2.1e-15) over 5 højder og 8 inertitensorer, og afgrænser Basilisks moment over 2000 tilfældige attituder pr. tilfælde; tolerance fastsat før sammenligningen. Validerede påstand: toppen af tyngdegradientmomentet. RSS-pejlebudgettet er en kvadratsum af tal leveret af kalderen uden ekstern sandhed og forbliver uden for den; den håndkodede maksimering af det fulde tensormoment i Hipparchus bliver stående som understøttende selvkonsistens. Ingen simulering af reguleringssløjfe/6-DoF/fleksible modes
Tests
attitude_budget::tests (GG-moment forsvinder for et symmetrisk legeme, vokser lavere ned, lineært i ΔI, RSS-kvadratursum, variansandele summerer til 1); tests/attitude_gg_torque_reference.rs (20 tilfælde mod en uafhængig…
ValideretForudsigelse af jordstationspas (jordsegment)passes
Funktion
Synlighedspas i tidsdomænet (AOS/TCA/LOS, maksimal elevation, varighed) for en motorpropagator over en station over en elevationsmaske, med interpolerede opgangs-/nedgangskrydsninger og samlet adgang: passes::predict_passes, den geometriske planlægger (ingen refraktion eller lystid). Scenarietypen passes kører den tilsyneladende forudsigelse fra rækken 'Apparent ground-station pass prediction with refraction and light time'
Uafhængig reference
Orekit 12,2 (CS GROUP, Apache-2.0) + Hipparchus 3,1 — et uafhængigt bibliotek for flyvedynamik: ElevationDetector (Brent-rodfinder) + EventsLogger over en ITRF-efemeride, station som en WGS-84 TopocentricFrame. AOS/LOS/maksimal elevation/antal pas/samlet adgang stemmer ved identisk bane+station+maske+vindue (committet fixture; driver xval/orekit-passes)
Tests
passes::tests (interp-cross linear + degenerate-safe, polar→mid-lat passes, higher mask ⇒ fewer-or-equal); tests/ground_station_pass_prediction_reference.rs (22 scenarios / 129 passes vs Orekit 12.2 ElevationDetector…
ValideretTilsyneladende forudsigelse af jordstationspas med refraktion og lystidpasses (predict_passes_apparent, apparent_look_angles, ApparentOptions, p834_tau_s_deg, p834_tau_deg, p834_theta_m_deg, p834_apparent_elevation_deg, PassesScenario)
Funktion
Synlighedspas (AOS, TCA, LOS, maksimal tilsyneladende elevation, varighed) for et SGP4-elementsæt over en WGS-84-station på den validerede jordbanevej (IAU 2006/2000A, valgfrie parametre for jordens orientering), med troposfærisk refraktion efter ITU-R P.834-9 (ligning 9 til 14, anbefalingens trykte koefficienter) og nedlinkets lystid, hver for sig til at slå til og fra; krydsninger løst ved bisektion til 1e-7 s og kulminationen ved gyldent-snit-søgning. Kan køres fra CLI/bindings som scenarietypen passes (scenarios/passes.toml), begge korrektioner slået til som standard
Uafhængig reference
Orekit 13.1.8 (CS GROUP, Apache-2.0) med Hipparchus 4.0.3: TLEPropagator på de samme elementsæt i en TEME, som Orekit opbygger efter den angivne definition (dens IERS 2010 TOD roteret med GAST - GMST), ElevationDetector og ElevationExtremumDetector med og uden ITURP834AtmosphericRefraction og AngularAzEl med AngularRadioRefractionModifier for tilfældet med lystid, krydsninger og maksimum løst af Hipparchus; 60 tilfælde (fire baner, fem stationer i havniveau, masker 0, 5 og 10 deg, 24 timer). Tærskler fastsat før kørslen (præregistreret e947e69d, led 3 af 72ea9eb0). Ignoreres lystiden (9777 fejl), eller ændres P.834-konstanten 1,728 til 1,828 (7883 fejl), bliver testen rød. Omfang: stationer i havniveau; Orekits koefficient h*theta0^2 i P.834 er 0,011380, hvor anbefalingen trykker 0,01380 (fastlåst), så højder over havniveau sammenlignes ikke. Runde 1, mod Orekits standard-IERS-1996-TEME, holdt hver tærskel for pas, men overskred tærsklen for retning med TEME-konventionens forskel på 72 mas (fastlåst)
Tests
tests/pass_predictor_on_path_orekit_oracle.rs (60 cases, 1210 passes: AOS/LOS within 3.4e-6 s, bar 5 ms; maximum elevation within 5.5e-7 deg, bar 1e-3 deg; 8979 apparent directions within 8.8e-7 deg, bar 1e-4 deg)…
ModelleretAdaptiv kodning og modulation efter DVB-S2 langs et LEO-nedlinkspascontact_schedule (es_n0_db, select_modcod, fspl_db, atmospheric_loss_db, ccm_modcod, pass_capacity, AcmLinkScenario); passes::predict_passes_apparent
Funktion
Nedlinks Es/N0 langs hvert pas for én satellit over én station (EIRP, fririumstab, atmosfærisk tab efter cosekanslov, andre tab, G/T, Boltzmanns konstant, symbolrate), den mest effektive DVB-S2 MODCOD, der klarer sin kvasifejlfri tærskel i ETSI EN 302 307-1 V1.4.1 tabel 13 plus en implementeringsmargen ved hvert trin, passets ACM-datavolumen og baseline med konstant kodning, der lukker ved masken og den længste afstand. Kan køres som scenarietypen acm-link. Illustrative inputs; MODELLED.
Uafhængig reference
Intern konsistens: den spektrale effektivitet beregnet på lukket form ud fra K_bch i tabel 5a og rammelængderne stemmer med de effektiviteter, tabel 13 trykker (en transskriptionskontrol af tærsklernes tabel); linkbudgettets dele stemmer med deres lukkede former; valget er monotont i Es/N0 og overholder marginen; ACM flytter mindst den konstante kodnings volumen. Passets geometri kommer fra den separat VALIDATED tilsyneladende pasforudsigelse. HVAD DER IKKE ER: intet eksternt værktøj eller målt link er sammenlignet; tærsklerne er standardens ideelle AWGN-værdier, ikke et modems; regndæmpning, pejletab langs passet og piloter er ikke modelleret.
Tests
contact_schedule::tests::modcod_efficiency_closed_form_matches_the_printed_table; contact_schedule::tests::modcod_selection_is_monotone_and_honours_the_margin…
ModelleretKontaktplanlægning for jordstationer med flere satellitter og flere stationer med løsning af konfliktercontact_schedule (conflicts, objective, delivered, schedule_chronological, schedule_greedy, schedule_optimal, ContactScheduleScenario)
Funktion
Kandidatkontakter ud fra hvert satellit-station-pas med dets ACM-datavolumen; konflikter hvor én antenne ville betjene to satellitter inden for sin vendetid, eller hvor én satellit ville sende ned til to stationer samtidig; et prioritetsvægtet leveringsmål med loft ved hver satellits efterslæb; en doven grådig plan efter marginalværdi, en først-til-mølle-baseline og en eksakt branch and bound på op til 26 kandidater, med den grådiges optimalitetsgab rapporteret. Kan køres som scenarietypen contact-schedule. Illustrative inputs; MODELLED.
Uafhængig reference
Intern konsistens: den eksakte branch and bound stemmer med brute-force-optælling på små tilfældige mængder, hver plan kontrolleres som mulig mod konfliktreglerne, og den grådige slår aldrig det eksakte optimum. HVAD DER IKKE ER: ingen ekstern planlægger eller driftsplan er sammenlignet; kontakter tages hele (ingen opdeling), efterslæbet er fast ved vinduets start, slewtid ud over den faste vendetid og lagerplads om bord er ikke modelleret.
Tests
contact_schedule::tests::conflicts_cover_turnaround_and_one_station_per_satellite; contact_schedule::tests::greedy_is_feasible_and_the_exact_solver_beats_or_ties_it…
ValideretEnvejs linkbudget (kommunikation / linkudformning)linkbudget
Funktion
Fririumstab, C/N₀, Eb/N₀, margen og lukning over linkligningen i CCSDS 401 / DSN 810-005 for EIRP/G·T/afstand/rate/bånd mod et krævet Eb/N₀. Kan køres fra CLI/bindings som scenarietypen link-budget (scenarios/link-budget.toml)
Uafhængig reference
Publiceret designkontroltabel for telekommunikation i dybt rum som fastlåste numeriske vektorer: DESCANSO / J. H. Yuen (red.), Deep Space Telecommunications Systems Engineering, JPL Pub 82-76, tabel 1-1 (Galileo X-bånd) — kshana samler tabellens linjeposter igen og gengiver dens publicerede samlede L_fs 290,54 dB og Pr/N0 54,6 dB-Hz; fririumstab er også kontrolleret mod ITU-R P.525
Tests
linkbudget::tests (free-space-loss form, link-equation closure); tests/one_way_link_budget_reference.rs (DESCANSO/JPL Galileo X-band DCT reproduced end-to-end + 6 ITU-R P.525 FSL cases across DSN S/X/Ka band centres…
ModelleretNøjsom ramme for omkostning pr. dækning / ROIfrugal (over walker)
Funktion
Omkostning pr. procent dækning + dækning pr. euro som ROI over motoren til dimensionering af konstellationer; omkostningen pr. satellit er et bånd lav/nominel/høj leveret af kalderen (ingen opdigtede priser)
Uafhængig reference
Omkostningsregning på lukket form mod håndafledte værdier; en økonomisk RAMME om et modelleret dækningstal, ikke et tilbud eller en valideret omkostningsmodel
Tests
frugal::tests (hand-derived cost-per-coverage 48/96=0.5, ROI ratio 2.667, bracket-ordering + zero-coverage guards)
ModelleretIntegritetspåvirkning af manglende detektion (kontekstbevidst HPL/VPL mod alarmgrænse)integrity_impact (over raim)
Funktion
Afbilder en uopdaget spoof-/jam-bias til effektiv fejl → Stanford-område (tilgængelig/utilgængelig/MI/HMI) mod kontekstspecifik HAL/VAL (åben himmel vs. by)
Uafhængig reference
Sammensætter den eksternt validerede RAIM Stanford-klassifikation (raim::classify_stanford); afbildningen fra manglende detektion til alarmgrænse er i sig selv modelleret, ikke en certificeret integritetsallokering
Tests
integrity_impact::tests (samme miss vipper Available→MI→HMI, efterhånden som konteksten strammes; konservativ PL→Unavailable; HMI pr. akse; inputvagter)
ModelleretCAI: databladet med citerede fejlmodelparametre (13503)inertial::cai_params (over inertial::quantum_imu)
Funktion
Afgrænset (bedste/nominel/konservativ) ydeevne for atominterferometer med kolde atomer — biasustabilitet, hastigheds-/vinkel-random-walk, skalafaktorstabilitet, prøveudtagningsrate begrænset af interrogationen, dynamikområde for fringe-flertydighed — hver kan spores til en kilde; føder QuantumNavBudget uden at modellere hardware
Uafhængig reference
Intern konsistens: det citerede VRW-bånd krydstjekket mod fysikken i CaiAccelerometer::accel_asd + rå dynamikområde beregnet ud fra grænsen for fringe-flertydighed; tallene er MODELLED litteraturoversigtsbånd (needs_source_confirmation), ingen enhed er valideret, ingen validerings-glorie
Tests
inertial::cai_params::tests (fysik-VRW lander inden for det citerede VRW-interval på alle 3 niveauer; rå fransemultiplicitetsområde beregnet ud fra k_eff·T²; konservativt budget driver mere end bedst; hvert interval har kilde +…
ModelleretBenchmark for tidssynkroniseringsintegritet — epokeklassifikator efter Stanford-integritetsdiagramsrc/benchmark/stanford.rs
Funktion
TIB-epokeklassifikation efter Stanford-integritetsdiagram (nominel / utilgængelig / MI / HMI)
Uafhængig reference
Uafhængig numpy-genimplementering af reglen for de fire områder (scripts/gen_tib_scorer_reference.py) på det identiske stikprøvesæt; metoden Cited fra Stanford–ESA-integritetsdiagrammet (Tossaint et al., ION GNSS 2007) og RTCA DO-229 WAAS MOPS. IKKE en ExternalDataset-reference for nøjagtighed — benchmarken er immun over for uærlighed.
Tests
src/benchmark/stanford.rs::tests (fire regioner + inklusive grænser + |fejl| + PL>AL-utilgængelighed); tests/tib_scorer_reference.rs (klassifikationsantal mod uafhængig numpy på et fast syntetisk sæt)
ModelleretBenchmark for tidssynkroniseringsintegritet — scorer for integritetsdækningsrc/benchmark/coverage.rs
Funktion
TIB-scoring af integritetsdækning (HMI/MI/tilgængelighedsrater + dom om dækning af overgrænse)
Uafhængig reference
Uafhængig numpy-gentælling af områder i tests/fixtures/tib/reference.json; kun en krydskontrol af scorerens maskineri, ingen påstand om nøjagtighed.
Tests
src/benchmark/coverage.rs::tests (clean/under-bounded/all-unavailable/empty); tests/tib_scorer_reference.rs (counts + rates + coverage_ok vs numpy to 1e-12)
ModelleretBenchmark for tidssynkroniseringsintegritet — fejlkatalog (parametriske generatorer)src/benchmark/faults.rs
Funktion
TIB-fejlmenu (domænedivergens, urslam, holdover-udløb, statisk/trinvis/symmetrisk/asymmetrisk forsinkelse, genafspilning inden for friskhed, stivalg, k-af-N-kvorum)
Uafhængig reference
Repræsentative parametriske fejlgeneratorer (modelleret); mængden af uopdagelige fejl (symmetrisk forsinkelse, genafspilning inden for friskhed) er Cited fra Mizrahi RFC 7384 og Narula & Humphreys (IEEE JSTSP 2018). Ingen ekstern uafhængig reference — et fejlkatalog fremsætter ingen målt påstand.
Tests
src/benchmark/faults.rs::tests (offset profiles, monotone coast, undetectable-set flagging, max_offset consistency, exactly two undetectable classes)
ModelleretBenchmark for tidssynkroniseringsintegritet — dom om absorption af uopdagelige fejlsrc/benchmark/scorecard.rs
Funktion
TIB-dom om absorption af uopdagelige fejl (symmetrisk/genafspilning skal absorberes af PL og må aldrig rapporteres som opdaget)
Uafhængig reference
Egenskabskontrol af, at enum'en Verdict strukturelt ikke kan rapportere en uopdagelig fejl som opdaget (Mizrahi RFC 7384); absorberet ⟺ PL ≥ offset. Ingen reference for nøjagtighed.
Tests
src/benchmark/scorecard.rs::tests (reference-PL absorberer; ødelagt PL uabsorberet-aldrig-detekteret; kendelse om detekterbar dækning; ærlighedsegenskaben, at ingen dækning/detektionskendelse kan nås for en ikke-detekterbar…
Partner-ownedIngeniørarbejde på rumfartøjsplatform (AOCS/termisk/strukturer/fremdrift/strøm)
Funktion
Ikke leveret — Kshana er en simulator for navigationsydeevne, ikke en leverandør af platforme
Uafhængig reference
Ingen: mærket Partnerejet
Tests
Partner-ownedUdformning af RF-nyttelast til navigation og antennehardware
Funktion
Ikke leveret — Kshana modellerer signalydeevne, ikke nyttelast eller antennehardware
Uafhængig reference
Ingen: mærket Partnerejet
Tests
Partner-ownedUdformning og modning af kvantenyttelasthardware
Funktion
Ikke leveret — kun ydeevnemodeller; hardware til kolde atomer og ur er en partners
Uafhængig reference
Ingen: mærket Partnerejet
Tests
Partner-ownedProduktsikring af flyvehardware (stråling/EEE/MAIT)
Funktion
Ikke leveret — Kshana beskæftiger sig kun med softwaresikring; sikring af flyvehardware er en partners
Uafhængig reference
Ingen: mærket Partnerejet
Tests
ValideretMånens koordinattidlunar_time
Funktion
Relativistisk urhastighed Jord–Måne (LTC/TCL) + kædning af TT/TAI/UTC + ensemble
Uafhængig reference
Ashby & Patla 2024, 'A Relativistic Framework to Estimate Clock Rates on the Moon', Astronomical Journal 167:149 (NIST; grundlag for IAU/IAG LunaNet LTC): månens overfladepotentiale L_m = 3.13881e-11 og den sekulære sum 56,02 µs/dag stemmer som publicerede numeriske værdier; månens geocentriske hastighed krydskontrolleret mod JPL DE440 (de440s.bsp via SPICE)
Tests
lunar_time::tests (closed-form rate; round-trip); tests/lunar_coordinate_time_reference.rs (LTC self-potential & secular-rate terms vs published Ashby & Patla 2024 values + geocentric Moon speed vs JPL DE440)
ModelleretSelvbeskrivelse i rapporten om hybrid optisk/RFhybrid_integrity
Funktion
Rapporten hybrid-optical-rf angiver den linkkonfiguration, den faktisk blev kørt med (bærebølgelængde, sende- og modtageapertur, afstand, pulsbredde, integrationstid, effektiviteter og tab, standardværdier løst) og bærer en enhedsblok, der giver enhed og proveniensklasse for hver størrelse, en artikel sandsynligvis citerer, herunder sporene af overdragelseskovariansen i kvadratmeter
Uafhængig reference
Ingen ekstern uafhængig reference, og ingen er mulig: dette er selvbeskrivelse, ikke en måling. Det registreres, fordi dens fravær var en defekt — P5 måtte citere bærebølgelængden og sendeaperturen fra kildens standardværdier og udlede, at en bar variance var i kvadratmeter, ud fra en intern konsistenskontrol. Udledningen var korrekt, hvilket netop er grunden til, at det betød noget: intet ville have fanget, hvis den havde været forkert
Tests
hybrid_integrity::tests (den opløste konfiguration gentages for standardværdier og for tilsidesættelser, uden at bølgelængden sendes rundt gennem meter; hver units-post bærer både en enhed og en proveniensklasse; hver…
ModelleretTilgængelighed af hybrid optisk/RF-link på RF-sidenhybrid_integrity, linkbudget, jamming
Funktion
Rapporten hybrid-optical-rf angiver en RF-linktilgængelighed, sammensat af størrelser, motoren allerede beregner, frem for af en importeret klimatologi, og angiver sammensætningen som en navngiven regel: A_rf = I_closure * I_track, hvor I_closure er lukningsdommen for det envejs CCSDS-401 / DSN-810-005-linkbudget (linkbudget::link_budget, Eb/N0-margen >= 0) ved scenariets egen afstand og I_track er dommen fra sporingssløjfen (jamming::lock_status) på den C/N0, SAMME budget returnerede. Hver faktor bærer sit inputs proveniensklasse videre til outputtet, og de faktorer, der med vilje IKKE indgår i produktet — geometrisk synlighed, nægtelse ved interferens og en klimatologi for RF-udfald — er navngivet med begrundelsen i stedet for stiltiende at blive sat til 1. Det løste RF-led gengives som sin egen blok rf_link_configuration, og de kontinuerte tal ved siden af indikatoren (linkmargen, C/N0-margen, de lukkede former for lukkes- og sporingsafstand og afstandsudnyttelsen) er afstandsinversionerne af det samme budget. Rapporten angiver fuldt ud, på blokken og i den enhedspost, en læser lander på, at dette tal er BEGRÆNSET AF MARGEN/GEOMETRIEN og DETERMINISTISK, mens optisk tilgængelighed er BEGRÆNSET AF VEJR/KLIMATOLOGI og sandsynlighedsbaseret, så de to aldrig kan citeres som et sammenligneligt par af procenter
Uafhængig reference
Ingen ekstern uafhængig reference, og ExternalDataset er afvist. De to inputs er en Eb/N0-margen og en krydsning af en C/N0-tærskel, begge funktioner af en MODELLED EIRP, kvalitetsmål og samlet tabsallokering; der findes ingen målt tilgængelighedsregistrering for en hybrid optisk/RF-tjeneste Jord–Måne at kontrollere det sammensatte tal mod. De kontroller, der findes, er interne og angives som sådanne: sammensætningen genberegnes ud fra rapportens egne publicerede marginer frem for fra udsenderens interne tilstand, og lukkeafstanden verificeres ved at køre linkligningen igen VED den og kræve, at marginen forsvinder — en rundtur gennem inversionen, ikke en uafhængig implementering. Tallets ærlige grænse er registreret på selve rapporten: det er en deterministisk 0/1-indikator, ikke en sandsynlighed, fordi intet i denne motor måler en fordeling af RF-linkudfald ved dette bånd og denne geometri. Det manglende input er navngivet i rf_availability.factors_not_included frem for opfundet, og at levere det er, hvad en sandsynlighedsbaseret RF-tilgængelighed ville kræve
Tests
hybrid_integrity::tests (tilgængeligheden er lig produktet af de to indikatorer genberegnet ud fra rapportens egne marginer, og disse marginer er selv samlet igen ud fra rapportens egen EIRP, frirumstab…
ModelleretSammenligning af optisk og RF afstandsmåling på lige vilkårhybrid_integrity, optical_linkbudget, linkbudget, navsignal
Funktion
Rapporten hybrid-optical-rf udsender forholdet mellem optisk og RF afstandsmåling med den ÉNE konfiguration, begge led blev evalueret ved, båret i det samme objekt: den samme envejsvej, den samme afstand og den samme akkumulationstid. Det optiske led er motorens fotonbegrænsede ToA-CRLB på envejs fotontallet; RF-leddet er motorens DLL-early-late-termiske kodesporingsjitter ved den C/N0, som motorens eget linkbudget returnerer for den samme envejsafstand. Sløjfens støjbåndbredde er afledt, ikke valgt: B_L = 1/(2*integration_s) placerer RF-leddet ved præcis den optiske akkumulationstid, og tilsidesætter en kalder den, så de to middeltider er uens, bliver forholdet REFUSED — null, med uoverensstemmelsen og begge tider navngivet — frem for at blive citeret ved to arbejdspunkter. Der dannes intet forhold mod scenariets VALGTE parametriske rf_position_sigma_m, og afvisningen angiver hvorfor: det input bærer slet ingen konfiguration. Den frigivne optiske hovedværdi for to veje og den eksakte faktor, der bygger bro fra den til envejs-sammenligningsleddet, udsendes ved siden af forholdet, så rapporten ikke kan læses, som om den bar to uenige optiske sigmaer
Uafhængig reference
Ingen ekstern uafhængig reference for FORHOLDET, og ExternalDataset er afvist bevidst. Den underliggende RF-kæde har en — tests/validate_p5_rf_ranging_precision.rs kontrollerer linkbudget::link_budget og navsignal::dll_code_jitter_chips mod en uafhængig Python/NumPy-fixture og mod den hårdkodede gennemregnede værdi hos Kaplan & Hegarty (2.814e-3 chip / 0,825 m ved 45 dB-Hz) — og den optiske CRLB har sin egen række på lukket form. At gøre krav på nogen af de to forankringer for denne række ville være lånt validering, hvilket matrixens invarianter findes for at forhindre: størrelsen her er et FORHOLD ved en konfiguration med en MODELLED EIRP, kvalitetsmål, sendeeffekt og apertur, og der findes ingen målt sammenligning af optisk og RF afstandsmåling ved et fælles arbejdspunkt at kontrollere det mod. Det, der kontrolleres internt, er det, forholdet faktisk kan gøre forkert: at de to led ligger ved ét arbejdspunkt. Det måles ved at skalere den fælles akkumulationstid og kræve, at begge led bevæger sig efter den samme kvadratrodslov, og at forholdet bliver stående, og det håndhæves ved at afvise forholdet helt, når middeltiderne er uens. Begge led er termiske grænser/grænser for haglstøj, og begge udelader mediedelay, urfejl og flertydighed, så udeladelsen er den samme på begge sider; rapporten siger det frem for at lade det være op til udledning
Tests
hybrid_integrity::tests (forholdet er lig de to udsendte etapper divideret, til 1e-15 relativt, og dets reciprokke og decibelformer stemmer; hver etapes afstand og tidssigma hænger sammen med præcis c; den udsendte fælles…
ModelleretSelvbeskrivelse i linkbudgetrapportenlinkbudget
Funktion
Linkbudgetrapporten angiver hver absolut konstant, dens egen margen blev beregnet ud fra — den bærebølgefrekvens, fririumstabet brugte, EIRP, kvalitetsmålet, det samlede tab og Boltzmann-leddet — plus den krævede G/T, ved hvilken marginen er nul, linkkonstanten (EIRP - tab - krævet Eb/N0), som er den eneste kombination, en publiceret rate/forstærkningstabel nogensinde kan fastlægge, og, når en kalder angiver en systemstøjtemperatur, den modtageantenneforstærkning, som det kvalitetsmål medfører
Uafhængig reference
Ingen ekstern uafhængig reference: dette er selvbeskrivelse over en ligning, der allerede er valideret mod en publiceret designkontroltabel (se rækken om envejs linkbudget). Det registreres, fordi dens fravær var en målt defekt — at gengive den frigivne d1_rate_gain_beamwidth.csv krævede at løse baglæns for én effektiv konstant til 0,0034 dB ud fra alle tredive rækker, og motoren navngiver nu både den kombination og beviser ved test, at ingen frigivet tabel nogensinde kunne have adskilt dens tre komponenter
Tests
linkbudget::tests (på tværs af tre bånd, fire dekader af afstand og begge lukningskendelser genberegnes marginen og frirumstabet under den ud fra rapporten alene til bedre end 1e-9 dB; den krævede G/T…
ModelleretTabel over krydsningspunkter for månetid pr. urklasselunar_time_budget
Funktion
Én kørsel af månetidsbudgettet udsender en række for krydsning mellem ur og system for hver urklasse mod ét fælles systemled, så uret er den eneste variabel i sammenligningen; hver række bærer krydsningen nået på to måder — fundet ved bisektion ud fra den generelle potenslov-kurve for tidsfejl og inverteret algebraisk ud fra rækkens dominerende støjtype — med den relative forskel mellem dem
Uafhængig reference
To forskellige beregninger i kodebasen af den samme størrelse, ikke én genfortalt: bisektion på IEEE-1139-potenslovskurven kender intet til støjtype, mens den lukkede form inverterer den dominerende type algebraisk, så en fejlklassificeret støjtype eller et dårligt interval viser sig som en ikke-ubetydelig relativ forskel. De fire værdier gengiver også artiklens publicerede tabel til en halv enhed i dens sidste trykte ciffer — men den tabel var selv rekonstrueret ud fra den samme lukkede form, så det er en kontrol af reproducerbarhed og ikke en ekstern uafhængig reference, og det systemled, den måles mod, er en modelleret allokering
Tests
lunar_time_budget::tests og lunar_time_budget_scenario::tests (alle fire klasser til stede i én kørsel og i en anmodet delmængderækkefølge; hver række stemmer med sin egen lukkede form til bedre end 1e-12 relativt; skalering af…
ValideretSamlet UT1- og polbevægelsesfejl over et fælles sæt rækkerframe_eop, realtime_frame_eop
Funktion
Én tabel rapporterer UT1-forudsigelsesfejlen, polfejlen fra polbevægelsen og deres kvadratiske kombination ved Månen over et IDENTISK epokesæt pr. horisont og udsender de epoker, hver komponent blev målt ved. Særskilt navngiver scenariet, hvilket EOP-input der er i kraft, og opdeler dets rækketælling, og udsender altid tabellen over forudsagt mod endelig pr. horisont med en udtrykkelig angivelse af, hvorfor den er tom, når den er det
Uafhængig reference
astropy 8.0.1 utils.iers (BSD-3), der læser IERS-produktet finals2000A med sin egen regel om Bulletin B ellers A, og pyerfa 2.0.1.5 (SOFA) fulde rotationer fra himmelsk til terrestrisk (c2i06a, sp00, pom00, c2tcio; jordens rotationsvinkel efter IERS 2010 lign. 5,15 i eksakt aritmetik), kørt som separate programmer på ordrette rækker fra den frosne 2026-09-30 finals2000A.all; præregistreret (455b8fb5) med ændringerne A1 og A2, der kun fastlagde den uafhængige referencens numeriske præcision (begge oplyst med de kørsler, de fulgte efter): hver epokeliste i tabel 3 lig, statistik for UT1 og pol inden for 6e-16, kombinationen inden for 1.9e-7, 12/12 tilfælde af forudsagt mod endelig. Kontrollen af kombinationen kan ikke opløse fejl i poleddet under omkring 1e-4 relativt, fordi UT1 dominerer den; polens nøjagtighed hviler på kontrollen af polstatistikken ved 1e-9. Reglerne for epokesæt og fallback er generatoren, der spejler Kshanas definitioner, og statusserne for tomme tabeller er designadfærd uden ekstern sandhed. Størrelser: IERS Annual Report 2019 tabel 3a realiserede forudsigelsesfejl, Kshana/IERS 1,001 til 1,100 ved 1 til 90 dage (tærskel [0,8, 1,25], Measured). Rækketælling: astropy (række med offline-input). Runde 1 (beholdt som regressionstest): mod nøjagtighedsformlen, trykt i 178 Bulletin A-udgivelser, stemmer polen inden for 1.5x, og UT1 gør ikke, hvilket afprøver IERS-formlen mod dens realiserede fejl
Tests
frame_eop::tests og realtime_frame_eop::tests (alle tre komponenter bærer ens, elementvis identiske, strengt stigende epokesæt over begge reelle IERS-udtræk; det fælles sæt falder sammen til fællesmængden, når…
ValideretStandardinput til jordens orientering offline er et reelt IERS-produktrealtime_frame_eop, eop
Funktion
Standarden for realtime-frame-eop ved kørsel er bibliotekets egen indlejrede kopi af et ordret udtræk af IERS finals2000A (tools/finals2000A_20260930.txt: 174 sammenhængende daglige rækker, MJD 61224-61397, skåret ud af finals2000A.all fra 2026-09-30), der bærer alle tre rækkevintager, formatet definerer, klassificeret efter IERS' I/P-flag (eop::row_vintage): 30 endelige rækker fra Bulletin B, 54 hurtigt målte rækker (flag I uden en Bulletin B-blok) og 90 forudsigelser fra Bulletin A (flag P). En bar kørsel uden filargument og uden netværk udsender en udfyldt tabel pr. horisont, rækketællingen rows = final_rows + rapid_rows + prediction_rows (174 = 30 + 54 + 90) og predicted_rows.n = 90 over MJD 61308-61397; skæringspunktet som udstedt for sammenligningerne af forudsagt mod endelig er den sidste målte række. Det tidligere udtræk med 32 rækker (tools/finals2000A_2026.txt, hver række flag I) og uddraget med fem rækker kun med endelige værdier leveres stadig og afprøves: på dem er predicted_rows.n 0, en egenskab ved inputfilen og ikke et resultat af parseren
Uafhængig reference
astropy 8.0.1 astropy.utils.iers.IERS_A (BSD-3-Clause), der læser de samme bytes med sin egen læser, og tabellen i IERS Bulletin A Vol. XXXIX nr. 039, kopieret tal for tal; præregistreret (6fdae01b) med seks eksakte kriterier, før astropy blev kørt. Alle seks holder: 30 endelige, 54 hurtige og 90 forudsagte rækker med lige MJD-lister, hver forudsagt række med flag P, rækketællingen ved standardkørslen lig og forudsigelserne lig med Bulletin A inden for det sidste trykte ciffer. Oplyst: udsnittet blev valgt med en almindelig kolonneudskæring af flagene og Bulletin B-blokken, som viste 30/54/90, før committen; udtrækket er en ordret udskæring, dette repositorium skar ud af et IERS-produkt (SHA-256 i fixturens NOTICE). Den validerede påstand er klassifikationen af vintager og rækketællingen for det leverede standardinput og dets forudsagte rækker; vilkårlige brugerinputs klassificeres efter den samme flagregel, men er ikke en del af sammenligningen. 0,30 runde 1 (afløst): den tidligere standard kaldte 12 rækker med flag I for forudsigelser fra Bulletin A; motoren klassificerer nu efter flag. REVISIONER: de celler i standardkørslen, der flyttede sig, er opført fra gammelt til nyt i docs/revisions/M035-default-eop-recut-cell-changes.md (predicted_rows 12 -> 90, polgulvet 0,06776 -> 0,05550 mas, leddet for jordens orientering 14,01601 -> 14,01583 m, totalen 20,09759 -> 20,09746 m og 67,03834 -> 67,03790 ns, rækkerne i tabel 2 i tests/golden/realtime-frame-eop.csv og tallene for overensstemmelse med den operationelle forudsiger); tidligere i docs/revisions/G12-default-eop-cell-changes.md
Tests
tests/embedded_eop_vintage_astropy_preregistered.rs::vintage_of_every_row_matches_astropy_and_predictions_match_bulletin_a (seks eksakte kriterier: udtrækkets bytes; 174 rækker; antal pr. vintage og fulde MJD-lister…
ModelleretFodaftryk for indfangning mod højde og strålebreddeantenna
Funktion
Tosidet sweep af det mønstervægtede, højdebegrænsede fodaftryk for overfladeindfangning over senderens højde og parabolens diameter, udsendt som én række pr. arbejdspunkt med den halveffekt-strålebredde, hver diameter medfører, og indfangning ved limben rapporteret som en TÆRSKEL — pr. række limbens J/S, dens margen og den sendeeffekt, der ville lukke den; pr. gitter de fundne krydsninger, eller en udtrykkelig angivelse af, at limben ikke nås nogen steder på gitteret, med manglen
Uafhængig reference
Mængdeinklusion: jammer-til-signal-forholdet indgår som et ensartet decibeloffset, så den indfangede mængde ved højere sendeeffekt indeholder mængden ved lavere, og andelen kun kan stige — en egenskab, Airy-mønsteret IKKE giver i strålebredde eller højde, hvor det indfangede område brydes op i ringe, og andelen reelt er ikke-monoton. Ingen publiceret tabel giver den indfangede diskandel for en månebaneafsender mod højde og strålebredde, så der er intet eksternt at kontrollere disse celler mod; mønstret nedenunder er separat valideret mod publicerede Bessel-værdier og har sin egen række
Tests
antenna::tests og attack_surface::tests (gitteret er komplet, og hver opfanget andel ligger i [0.1]; opfanget andel er ikke-aftagende i senderefekt i hver knude; den er IKKE monoton i strålebredde eller…
ModelleretReproducerbarhed af månens tidsfejlbudgetlunar_time_budget_scenario
Funktion
Scenariet lunar-time-budget publicerer sine outputs i form af arrays som en tabel i langt format (gitterindeks, middeltid, led) ved siden af rapporten, så de syv kurver x(tau) for hvert led og totalen som kvadratroden af kvadratsummen er motoroutput frem for noget, en læser genopbygger ud fra metodeafsnittet
Uafhængig reference
Kun selvkonsistens: det publicerede total kontrolleres mod kvadratroden af kvadratsummen af leddene i den samme fil, og den udsendte kurve gengiver den frigivne p3_time_budget_curve.csv over alle 57 punkter. Begge kontroller deler denne motors egne leddefinitioner, så ingen af dem er uafhængig. Urleddet hviler på publicerede urspecifikationer, men STØRRELSERNE af gulvene for link, system, relativistik og efemeride er dokumenterede budgetallokeringer uden ekstern uafhængig reference
Tests
lunar_time_budget_scenario::tests (alle 57 middelværditider x 8 led til stede, gitterindekset løber 0..=56 og bærer 8 rækker hver; totalrækken er lig kvadratroden af kvadratsummen af de syv led ved siden af den ved hvert tau; den…
ModelleretMånens stationstidslaboratorium: holdover for miniRAFS mod LTClunar_time_lab (over clock_specs, lunar_time_budget, lunar_time)
Funktion
Den valgfrie blok [time_lab] i scenariet lunar-time-budget modellerer et reference-stationsur på Månen (som standard klassen miniRAFS, eller en hvilken som helst navngiven klasse, eller et enhedskort tilpasset angivne stabilitetspunkter), styret til Coordinated Lunar Time og derefter frit løbende eller gensyret hvert N sekund: tidsfejlkurven x(t) som kvadratroden af kvadratsummen af urets potenslovled, en konstant styringsrest (ILLUSTRATIVE), en konstant realiseringsrest for LTC og et tilvalgt led for stationens højderate; tiden efter en styring til 1, 10 og 100 ns (eller angivne tærskler) ved bisektion ved siden af den lukkede invers for den dominerende støjtype, og det dominerende led ved hver angivet horisont, alt med enheder
Uafhængig reference
Kun intern konsistens: den bisekterede tid til tærskel kontrolleres mod den lukkede invers for urets dominerende støjtype, og det frit løbende urled mod budgettets eget urled. Urklasserne hviler på publicerede endagsspecifikationer (deres egne rækker); LTC-raten udledes ikke igen her og beholder sin egen VALIDATED række (Lunar coordinate time); styringsresten er ILLUSTRATIVE, realiseringsresten er en budgetallokering, og ingen termisk model indgår. Målet på nanosekundniveau, der er beskrevet i materialet fra ICG WG-B Lunar PNT fra juni 2024, citeres som en kildeangivelse, ikke overtaget som en påstand; intet her er en udtalelse om noget reelt stationsur
Tests
lunar_time_lab::tests (free_run_clock_term_is_the_budget_clock_term: med styring slået fra er urleddet lig budgettets urled til bit for alle fire klasser; bisection_matches_the_closed_form inden for 1e-9…
ModelleretVLBI til geodæsi på Månenlunar_vlbi
Funktion
Nærfelts-VLBI-forsinkelse for en jordbaseline, der observerer et månefyr + partielle afledte
Uafhængig reference
Plan-bølge delta_dor (samme kodebase) i fjernfeltsgrænsen; partielle afledte ved endelige differenser. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): mod ANISE 0,10 konvergerede lystider gennem DE440 (75 forsinkelser den 2024-01-01 over tre DSN-baselines, genereret af xval/anise-lunar-od uden Kshana-kode) ligger ingen forsinkelse inden for tolerancen på 1 ps. Det største gab er 24 µs, fra det analytiske Måne-centrum (omkring 200 km fra DE440), den ene øjeblikkelige geometri uden iteration af lystiden (3,6 µs) og den udeladte polbevægelse; beacon-partielle afledte afviger med op til 2.9e-3 relativt mod 1e-6. Påstanden i modulets dokumentation om, at rammetilnærmelserne ligger under modellens troværdighed, holder ikke på dette niveau. 0,30 runde 2: kernestien (lunar_vlbi::KernelGeometry) er valideret mod NAIF SPICE-lystider i sin egen række, Lunar geodetic VLBI, kernel path; ANISE-sammenligningen af den sti (75/75 inden for 1 ps, værst 0,12 ps, tests/lunar_vlbi_anise_oracle.rs::kernel_delay_matches_the_anise_light_time_difference) er kun en krydskontrol af kerneevaluering, fordi lystidsløsningen i den harness er dette projekts egen. Denne række (den analytiske standardsti) forbliver MODELLED med fundet ovenfor
Tests
lunar_vlbi::tests (far-field limit matches delta_dor; near-field correction; FD partials); tests/lunar_vlbi_anise_oracle.rs::near_field_delay_disagrees_with_the_anise_light_time_difference
ValideretVLBI til geodæsi på Månen, kernestilunar_vlbi (KernelGeometry, delay_partials_beacon_body, delay_partials_stations, LunarVlbiScenario); naif_kernel
Funktion
Nærfelts-VLBI-forsinkelse for en jordbaseline, der observerer et månefyr, med partielle afledte for fyr og station, på kernestien (lunar_vlbi::KernelGeometry): DE440 Jord og Måne, DE440 månens hovedakser, ITRF93 jordorientering med UT1 og polbevægelse, hver lystid konvergeret i det barycentriske system, partielle afledte med lystidsfaktoren 1/(c - u.V). Kan køres som scenariet lunar-vlbi med planetary_kernel_path, earth_orientation_kernel_path og moon_orientation_kernel_path sat; de validerede outputs er serien geometric_delay_s og epoch_partials på kernestien. På kernestien lægger delay_s det analytiske differentierede Shapiro-led til, som ikke sammenlignes, og delay_rate og near_field_correction_us sammenlignes ikke
Uafhængig reference
NAIF SPICE Toolkit N0067 (spiceypy 8.2.0, MIT) konvergerede newtonske lystider (spkcpt/spkcpo, CN) fra et fyr fast i MOON_PA_DE440 til DSN-stationerne DSS-14, DSS-43 og DSS-63 fra NAIF-stationskernen earthstns_itrf93_260814.bsp, med de440s, moon_pa_de440_200625, moon_de440_250416.tf, earth_latest_high_prec og naif0012; partielle afledte er fempunkts centrale differenser af SPICE-lystider, ikke Kshanas formel 1/(c - u.V). Præregistreret (a689c797, epoker i 2024) med tærskler på 1 ps for hver forsinkelse og 1e-6 relativt for hver partiel afledt. Den første kørsel mislykkedes (17/75 forsinkelser inden for 1 ps, værst 1.03e-11 s): SPICE bærer ET som ét double, hvis afstand i 2024 afrunder udsendelsesepoken med op til 6e-8 s, omkring 6 ps lystid, og resten stemmer med den afrunding ved 0,99999 korrelation (fastlåst; gennemgangen gengav den uafhængigt). Ændring 66e365d4, skrevet efter det resultat og før dens fixture fandtes, flyttede den samme uafhængige reference og de samme tærskler til 25 timeepoker nær J2000, hvor ET-afstanden højst er 1.5e-11 s: 75/75 forsinkelser inden for 1 ps (værst 6.2e-14 s), 75/75 partielle afledte for fyret (værst 7.4e-9), 150/150 partielle afledte for stationer (værst 3.8e-11). Uden for påstanden: den analytiske standardsti (seriemåne og middelmånesystem, 24 µs fra ANISE gennem DE440, rækken Lunar geodetic VLBI), det differentierede Shapiro-led, som scenariet lægger til analytisk, medier og skalaen fra barycentrisk til geocentrisk
Tests
tests/lunar_vlbi_spice_oracle.rs::kernel_delay_and_partials_match_spice_light_times_near_j2000 (75 forsinkelser ved 25 epoker nær J2000 over DSS-14, DSS-43 og DSS-63: forsinkelser inden for 1 ps, værste 0,06 ps; legemefast beacon…
ValideretNAIF-kernelæser: DAF-container, SPK type 2 og binær PCK type 2naif_kernel (DafFile, SpkKernel, PckKernel); ephem_provider (KernelEphemeris)
Funktion
Motorens egen rene Rust-læser til binære NAIF-kerner (naif_kernel): DAF-containeren (begge byterækkefølger, sammenkædede oversigtsposter), SPK type-2 Chebyshev-positionssegmenter kædet gennem deres centre til en laveste fælles forfader og binære PCK type-2 Euler-vinkelsegmenter omsat til en rotation fra J2000 til legemet, med epoker taget som todelt ET, så en forskydning under et mikrosekund bevarer sin præcision. Det er den, KernelEphemeris (ephem_provider) og kernestierne i lunar_vlbi, lunar_llr og lunar_vlbi_fim læser DE440 gennem. Påstanden er, at den læser JPL-kerner korrekt; det er ikke en påstand om, at DE440 eller motorens analytiske serier for Solen og Månen er nøjagtige
Uafhængig reference
To uafhængige kernelæsere på de samme NAIF-filer: NAIF SPICE Toolkit N0067 (CSPICE gennem spiceypy 8.2.0, MIT; spkezr og pxform) og ANISE 0.10.6 (Nyx Space, MPL-2.0; Almanac.translate og Almanac.rotate), begge kørt som separate programmer på de440s.bsp og moon_pa_de440_200625.bpc. Præregistreret (abcd9133), før nogen fixture eller værdi fra en uafhængig reference fandtes: gitterets seed er de første 16 hex-cifre af den commits hash, så hverken de 200 epoker eller legemeparrene kunne vælges med resultatet for øje; hver epoke bærer også Månen og Solen relativt til Jorden. Tærskler fastsat på forhånd ud fra Chebyshev-evaluering i dobbelt præcision (højst 15 koefficienter, n^2 u = 2.5e-14 pr. evaluering, to evalueringer og op til to spring pr. side): position 1e-13 R + 1e-5 m, hastighed 1e-13 V + 1e-10 m/s, R og V den største størrelse relativt til den laveste fælles forfader; rotationselement 1e-13 W + 1e-15, W koefficientsummen for den dækkende post; ANISE lægger 2 ns relativ bevægelse til for sine nanosekundepoker. Resultat: hver af 600 tilstande og 200 rotationer inden for sin tærskel mod begge uafhængige referencer, på de afskårne og på de fulde kerner; værst 6.0e-3 af tærsklen (position), 5.9e-3 (hastighed), 3.7e-3 (rotation). Mutation: at evaluere hver post ved -s overskrider tærsklen i 3597 sammenligninger. Oplyst: en tidligere kontrol med 25 epoker mod SPICE (4.6e-5 m, tests/naif_kernel_reader_check.rs) blev set før denne række og er ikke dens evidens; fixturegeneratorens første kørsel afbrød på et tomt gitterinterval, før den frembragte nogen værdi, og blev rettet. Begge sider læser DE440, så overensstemmelse validerer læseren, ikke efemeriden
Tests
tests/naif_reader_spice_oracle.rs::reader_matches_spice_and_anise_on_the_post_registration_grid (600 de440s.bsp-tilstande og 200 MOON_PA_DE440-rotationer ved 200 epoker 1849-2150 og tilfældige legemepar trukket fra…
ModelleretJord-GNSS ved månens afstandearth_gnss_lunar
Funktion
Modtagelse af Jord-GNSS ved månens afstand: det svage signallag, som P7 tabel 1 navngiver, og som motoren ikke havde nogen model for. Pr. satellit og pr. epoke beregnes vinklen uden for boresigtet mod senderens nadir, om Jorden skjuler den rette vej, den skrå afstand og dens fririumstab, senderens forstærkning ved den vinkel, den modtagne effekt og bærebølge-til-støj-tætheden; derefter aggregeres kun de link, der klarer en sporingstærskel, og et fuldt omløb af konstellationen sweepes, så svaret er en FORDELING frem for ét øjebliksbillede. Tre forhold driver resultatet, og rapporten angiver hvert: Jorden spænder 13,90 deg set fra konstellationens radius, så strålens TOP er geometrisk utilgængelig for enhver stråle på vej mod Månen; det, der er tilbage, er hovedlobens kant og sidelobene, det regime LuGRE opererede i ved Månen i 2025; og L1-vejtabet er omkring 208 dB, cirka 25 dB mere end en jordbaseret bruger betaler. MEASURED på den medleverede GPS-lignende geometri med 24 satellitter over 64 epoker af én omløbsperiode: tilgængelighed af SIGNAL 0,375 med et bedste link på 30,93 dB-Hz og tilgængelighed af POSITIONSBESTEMMELSE 0,000 — højst to samtidige sporbare link, aldrig de fire, en position kræver. Adskillelsen af de to tilgængeligheder er pointen, og rapporten nægter at lade dem blive forvekslet: Jord-GNSS ved månens afstand er et lag af TIDSSYNKRONISERINGS-kvalitet, ikke af positionskvalitet, og en prior for lagdelt robusthed skal tage tilgængeligheden af positionsbestemmelse. Konditioneringen udsendes af samme grund — hver synlig satellit ligger inden for en kegle på et par grader set fra Månen, så sigtelinjerne er næsten parallelle pr. konstruktion. Kan køres som typen earth-gnss-lunar Omformuleret efter D7: påstanden ved månens afstand er den RELATIVE bærebølge-til-støj-tæthed mellem satellitter ved én epoke, ud fra målte todimensionale sendemønstre (NAVCEN Block IIR/IIR-M), plus geometrisk synlighed; absolut C/N0 påstås ikke (Parker et al. rapporterer et fælles tab på 7 til 12 dB).
Uafhængig reference
Identiteter på lukket form og intern konsistens; INGEN ekstern uafhængig reference påstås. Limbens halve vinkel kontrolleres mod asin(R_earth/r_orbit) og geometrien mod den; fririumstabet, DOP-kernen og SGP4-propageringen, som dette sammensætter, er hver især eksternt valideret i deres egne rækker, og denne række låner ikke deres status. HVORFOR MODELLED, og det er sendemønstret: forstærkningen ved en vinkel er en ensartet belyst cirkulær apertur, Airy-mønstret, mens en reel GPS L1-antenne er et spiralformet array med tolv elementer med en formet hovedlobe, der topper uden for boresigtet for at udjævne effekten over Jordens skive, og sidelober, der ikke er Airy. Publicerede målte mønstre findes og er ikke medleveret her, så rækkefølger og størrelsesordener holder, mens dB for en enkelt satellit ikke gør. EN FØRSTE IMPLEMENTERING AF DENNE RÆKKE VAR FORKERT PÅ EN MÅDE, DER ER VÆRD AT REGISTRERE: Airy-udtrykket gælder kun i den forreste halvkugle, dets argument går som sin(theta), og ved theta nær 180 deg slår det rundt og returnerer FULD BORESIGTSFORSTÆRKNING bag aperturen — så de to stærkeste link i den første rapport var satellitter, der pegede deres antenner væk fra Månen, og de var de eneste to, der klarede tærsklen. Bag aperturen anvender modellen nu et fladt gulv for bagloben, angivet som en grænse frem for et opdigtet mønster. Bevidst fraværende, og hver gør budgettet OPTIMISTISK: intet ionosfærisk eller troposfærisk tab på de stråler, der strejfer limben, intet tab ved polarisation, pejling eller implementering og en kugleformet Jord uden refraktiv udvidelse. Månens position er et INPUT, ikke et opslag i en efemeride, fordi størrelsen under test er linket og strålegeometrien. At opgradere denne række til validerede kræver et målt sendemønster og LuGRE-normalpunkter at kontrollere mod; ingen af delene findes i repositoriet, og ingen af delene er opfundet her. 0,30 runde 2, et fund (forbliver MODELLED): en linksti med målte inputs (reelle SP3-positioner, sendeeffekt pr. blok, tabulerede send- og modtagemønstre, hysterese ved erhvervelse og sporing) blev kontrolleret mod Montenbruck et al. 2023 tabel 3 for GENESIS ved 6000 km (præregistreret 5b414f0a): middelværdier for zenitantenner stemmer på 5 af 6 inden for én dB af artiklens følsomhed; middelværdier for nadirantenner er 1,0 til 2,4 satellitter højere end trykt, sandsynligvis fordi artiklen brugte azimutafhængige GPS-sidelobemønstre, som ikke er publiceret. Tallene ved månens afstand i denne række bruger stadig Airy som stand-in. 0,30+ D7, et fund (forbliver MODELLED): den omformulerede størrelse, C/N0-FORSKELLEN mellem Block IIR/IIR-M-satellitter sporet ved én epoke, forudsagt med NAVCEN's målte L1-mønstre pr. SVN (todimensionale, i yaw-styringssystemet) mod LuGRE-flyvningens C/N0 (præregistreret 768cb62b: 99 % synlige, RMS for par <= 3,0 dB, median <= 2,0 dB, mindst 50 poster og 30 par) har for få data: de 26 kvalificerende transit- og månebaneepoker rummer 15 sporede IIR/IIR-M-poster (mest IIF og III spores) og ét par. Alle 15 forudsiges synlige, og det eneste pars rest er -0.06 dB; intet påstås
Tests
earth_gnss_lunar::tests (11 biblioteks-tests: Jordens limbus-halvvinkel mod sin lukkede form asin(R/r) med en yderligere påstand om, at ENHVER ikke-okkulteret forbindelse ligger uden for den kegle, så okkultationstesten og limbusvinklen…
ModelleretBanebestemmelse ved Månen: Jord-GNSS mod radiometri fra jordenlunar_infra::{orbit, gnss, od}
Funktion
Banebestemmelse i en næsten retlinet halo-bane (eller en elliptisk frossen bane) ud fra to uafhængige datatyper: Jord-GNSS-pseudoafstande modtaget om bord (linkreglen fra rækken om Jord-GNSS ved månens afstand, plus okkultation af Månen) og to-vejs afstand og afstandshastighed fra jorden fra tre Deep Space Network-stationer. Hver er en mindste kvadraters batch i ét trin omkring referencebanen med sin formelle kovarians; en seedet Monte Carlo af forskellen mellem de to estimater afprøver, om de to kovarianser forklarer den (q = d' (P_G + P_R)^-1 d, chi-i-anden med seks frihedsgrader, når modellerne stemmer), og hvad en ikke-modelleret acceleration gør ved statistikken.
Uafhængig reference
Et uafhængigt scipy/numpy-program integrerer de samme variationsligninger (tærskel O1). Intet sammenlignes med en måling af en månebane. Den uafhængige reference kontrollerer numerikken i angivne formler, ikke fysikken, så rækken forbliver MODELLED. Begrænset trelegemesmodel: ingen Sol, ingen månens harmoniske, jordens rotationsakse langs banenormalen, ILLUSTRATIVE modtager- og stationsinputs.
Tests
tests/lunar_infra_od_consistency.rs (tærskel O1: tilstandsovergangsmatricen kædet over tre dage og over én periode er lig scipy DOP853 til et relativt 1e-6; tærskel C1: middel-q og andelen inden for 95 %; tærskel C2: stikprøve over…
ModelleretOpløsning af bærebølgemultiplicitet ved Månen: overflade og orbiterlunar_infra::phase; lambda
Funktion
Enkeltdifferentieret Jord-GNSS bærebølgefase og kode mellem modtagere ved en månestation på overfladen og en orbiter, med urdifferensen for hver epoke profileret væk, én multiplicitet pr. sammenhængende pas og det længste pas som gauge. Kovariansen for den flydende multiplicitet er et Schur-komplement; LAMBDA opløser heltallene, den bootstrappede rate rapporteres ved siden af en seedet Monte Carlo-succesrate for heltals-mindste-kvadraters og sigmaerne for flydende og fastlåst position. Rapporteret som fundet: ved de registrerede 12 dBi kan dobbeltdifferensproblemet ikke dannes (ændring 1 flyttede standarden til 25 dBi, efter at kun tællinger af tilgængelighed var set), og ved 25 dBi opnås heltalsfastlåsning IKKE — uden for rækkevidde (nogle få procent højst), selvom den flydende løsning forbedres med buen.
Uafhængig reference
En uafhængig numpy-løsning af de samme normalligninger ud fra de eksporterede rækker (Q3) og en brute-force-optælling af heltal (Q4). Ingen GNSS- eller månebærebølgefasemåling sammenlignes med. MODELLED.
Tests
tests/lunar_infra_carrier_phase.rs (tærskel Q1: Monte Carlo-succes mindst bootstrap-grænsen minus tre standardfejl; Q2: intet fald med bue-længde ud over tre standardfejl; Q4: LAMBDA er lig brute-force…
ModelleretKoestimering af månens referencesystem: overflade-stationer og orbiterelunar_infra::frame; lunar_datum; lunar_identifiability; lunar_llr_geometry
Funktion
Fisher-information for månens referencesystemdatum med syv parametre fra laserafstandsmåling fra jordstationer til de fem reflektorer alene og med afstande mellem orbiter og overflade-station lagt til: informationsmatricen, rang, Cramer-Rao-sigmaer, degenerationsmålet fra modulet for identificerbarhed i månens referencesystem og seedede tilfældige stationssæt. Banen holdes kendt i månens akser (dens fejl bæres af afstandssigmaen for orbiteren).
Uafhængig reference
En uafhængig numpy-endelig-differens af fremadmodellen (F2). Intet sammenlignes med reelle løsninger for månens referencesystem. Faktoren er betinget af den antagne kendte bane og afstandssigmaen på 1 m. MODELLED.
Tests
tests/lunar_infra_studies_3_5.rs (tærskel F1: CRLB-sporet stiger ikke, og den mindste egenværdi falder ikke med orbiterforbindelser, i eksemplet og i 20 seedede tilfældige sæt; tærskel F2: afstandenes partielle afledte er lig en…
ModelleretPræcision i rumforbindelsen mellem referencesystemer: samlokaliseret GNSS, VLBI og laserafstandsmålinglunar_infra::tie; fim::crlb_srif
Funktion
Cramer-Rao-præcision for forskydningerne i translation, skala og rotation mellem teknikker i referencesystemerne for GNSS, VLBI og laserafstandsmåling, når ét rumfartøj bærer alle tre, med rumfartøjets position elimineret ved hver epoke og ni lokale forbindelsesgenerende parametre med en prior, sweepet over nøjagtigheden af den lokale forbindelse. Kovarianser ad kvadratrodsvejen (normalligninger mister cifrene, når teknikkerne er næsten perfekte).
Uafhængig reference
Et uafhængigt numpy-stakket system med positionsubekendte elimineret ved eksplicitte Schur-komplementer (T3). Ingen data fra GRASP, Genesis eller andre missioner sammenlignes med. MODELLED.
Tests
tests/lunar_infra_studies_3_5.rs (tærskel T1: translationssigmaer falder ikke, når den lokale binding løsnes; T2: med teknikkernes sigmaer skaleret med 1e-6 ligger hvert pars translationssigma inden for 1 % af sqrt(2) gange den lokale binding…
ModelleretFølsomhed over for Love-tal og libration på Månenlunar_infra::geodesy; lunar_od::degree2_tide_accel; lunar_time
Funktion
Fisher-information for h2, k2, l2 og de fysiske libration-amplituder fra laserafstandsmåling (radial og horisontal tidevandsforskydning, rotation af reflektorer), sporing af orbitere (grad-2 k2-accelerationen integreret langs sigtelinjen, trend fjernet), et gravimeter på overfladen (gravimetrisk faktor 1 + h2 - 1,5 k2) og et ur på overfladen (relativ hastighed (1 + k2 - h2) W2/c2, knyttet til månetidskonstanterne). Nominelle værdier for h2 og l2 er linearisationspunkter; undersøgelsen siger, hvad der er følsomt over for hvad, ikke hvad tallene er.
Uafhængig reference
En uafhængig numpy-samling ved endelige differenser (G2) og evaluering på lukket form (G4). Følsomheden over for k2 for familien af orbitere er et tal i den øvre ende (banetilstanden absorberer her kun en konstant og en trend). Ingen måling af månens tidevand eller libration sammenlignes med; k2 citeres fra Lemoine et al. 2014 som nominel. MODELLED.
Tests
tests/lunar_infra_studies_3_5.rs (tærskel G1: analytiske partielle afledte er lig en central finit differens af hver fremadmodel til 1e-8; G2: 5x5-informationen er lig en uafhængig numpy-samling til 1e-6; G4: urtidevandet…
ModelleretForøgelse af DOP med overflade-fyr på Månenlunar_beacon
Funktion
Fyrforøget dilution of precision for en bruger på månens overflade: rækkerne med sigtelinje til de synlige satellitter og rækkerne med afstandsmåling til de synlige overflade-fyr sættes sammen til én designmatrix og evalueres gennem den fælles DOP-kerne, og den resulterende DOP afbildes til en realiseret 1-sigma-nøjagtighed I METER gennem en brugerækvivalent afstandsfejl for hvert fyr, sammensat som kvadratroden af kvadratsummen af led for synkronisering af ur, multipath og opmåling. Fyrets synlighed er den geometriske horisont for to højder på Månen uden luft, som ikke har nogen refraktiv udvidelse og derfor er eksakt frem for tilnærmet. Kan køres som scenarietypen lunar-beacon, der rapporterer kun satellitter, satellitter plus fyr og en større konstellation som den konkurrerende vej til den samme geometri. MEASURED på den medleverede golden-geometri (bruger ved -80 deg, tre opmålte fyr, en illustrativ LCNS med seks satellitter ved t=0, maske 5 deg): 5 synlige satellitter giver PDOP 9,6941 og en 3D-1-sigma på 11,222 m; tilføjes de fyr, der faktisk klarer horisonten, fås PDOP 4,1160 og 4,765 m, en faktor 2,355; tjenesten med 24 satellitter giver i stedet PDOP 2,4226 og 2,804 m, en faktor 4,002. Rapporten udskriver antallet af SYNLIGE fyr frem for det konfigurerede, og på denne geometri klarer kun ET af de tre fyr horisonten: de to flankerende steder ligger omkring 333 km fra brugeren mod en horisont på 86 km for en antenne på 2 m, så en læser aldrig overlades til at antage, at alle tre bidrog
Uafhængig reference
DOP-regningen er kernen crate::orbit::dop, separat eksternt valideret mod gnss_lib_py i tests/dop_reference.rs; denne række låner ikke igen den rækkes status. Fyrets synlighedshorisont er den lukkede form fra L01, og sigma = DOP x sigma_URE er den sædvanlige GNSS-relation (Kaplan og Hegarty, Understanding GPS/GNSS, afsnit 7). Inden for denne række er selve forøgelsen kontrolleret mod en uafhængig DOP-sti i repositoriet og fastlåst til en committet golden. HVORFOR MODELLED: konstellationsudformningen, fyrenes placering, antennehøjderne og alle tre størrelser i fejlbudgettet er illustrative inputs frem for en udrullet opmåling eller et målt link, så de rapporterede meter er en egenskab ved et valgt scenarie og ikke ved nogen udrullet tjeneste. BEMÆRKNING OM PROVENIENS: denne funktion blev omtalt i README og afprøvet af to valideringstests, men bar INGEN matrixrække og ingen scenarietype, så den kunne slet ikke nås fra en kørsel. Den var påstået i prosa, fraværende i registeret og uopnåelig i motoren på samme tid. Rækken og typen blev tilføjet sammen. 0,30 runde 2 (præregistreret db0eb9ec), blokeret (forbliver MODELLED): ANISE 0.10.6 synlighed og en numpy-DOP på rækkens geometri stemmer (synlige sæt eksakte, herunder 72 tilfælde nær horisonten og 48 nær masken; DOP inden for 7.2e-13), men de rapporterede meter er DOP gange en illustrativ afstandsfejl på 1,158 m som kvadratrod af kvadratsum uden uafhængig reference; afgrænsningen, der ville udelukke dem, afventer en beslutning fra ejeren
Tests
lunar_beacon::tests (horisontsynlighed mod den lukkede form L01; den beacon-forstærkede DOP mod den blotte; fejlbudgettets kvadratrod af kvadratsummen; forholdet mellem DOP og meter)…
ValideretBlindhed over for fælles-mode i integritetlunar_common_mode
Funktion
Eksakt opdeling i paritetsunderrum af en målefejl i den del, RAIM ikke kan se, og den del, den kan. For den linearisede øjebliksmodel y = G·x + e dekomponerer enhver fejl dy entydigt i en BLIND komponent i range(G) — absorberet som en tilstandsfejl S·dy og tilintetgjort af residualprojektoren Pperp = I − G·S, så usynlig for ENHVER residualtest, ikke blot for en bestemt tærskel — og en DETEKTERBAR komponent i paritetsrummet. Modulet returnerer projektoren, opdelingen og den blinde andel, så en kalder kan kvantificere, hvor meget af en bestemt fejl en øjebliksmonitor strukturelt ikke er i stand til at rapportere. Anvendt på det reelle gulv mellem efemerider: uoverensstemmelsen på meterniveau mellem DE440 og INPOP21a og mellem DE440 og EPM2021 i Månens geocentriske position absorberes næsten helt som brugerens positionsfejl (median af den blinde andel 1,000000; median af den blinde positionsfejl 2,3955 m og 2,0050 m) mod en paritetsrest på 1e-15 m-niveau
Uafhængig reference
P2: numpy linalg.lstsq (LAPACK gelsd SVD, BSD-3) genberegner opdelingen ved mindste kvadrater på committede inputs MED en reel paritetsdel (dy = E·Δs + w, w ~ N(0, 1 m), seed 20261001) på geometrien med 8 satellitter og en delmængde med 6 satellitter, 1464 tilfælde over begge reelle efemeridepar, præregistreret (f672a314): blind_dx, residual, blind_norm og detectable_norm inden for 1e-12 relativt til |dy| og blind_fraction inden for 1e-12 absolut (værst blind_dx 1.06e-14, residual 4.4e-15, blind_fraction 3.1e-15). numpy opbygger selv G ud fra de committede positioner, mens motoren bruger normalligninger med Gauss-Jordan; en skæv venstreinvers gør testen rød ved 5.5e-2 |dy|. Ændring 1 (86c53301, efter en første kørsel, oplyst) lempede kun en forudsætning for input om paritetsandelen (hvert tilfælde mindst 1e-3 og 95 % af hver geometri mindst 0,05), ikke tærsklen for overensstemmelse. Valideret påstand, som P2 tillader: den lineære algebra i opdelingen på de inputs; størrelserne af gulvet mellem efemerider og den illustrative månegeometri (8 LCNS-lignende knuder ved 5000 km) er inputs, ikke valideret, og blindheden er en kendt egenskab ved al øjebliks-RAIM. Sammenligningen med numpy i runde 1 (tests/lunar_common_mode_integrity_reference.rs) kontrollerede kun identiteten S·G = I, fordi dens inputs lå i range(G); den beholdes som regressionstest. Proveniens for efemeriderne: tests/fixtures/inter_ephemeris/NOTICE.md (JPL, IMCCE, IAA RAS)
Tests
lunar_common_mode::tests (8 biblioteks-tests: opdelingen er additiv og rekonstruerer dy; en fælles-mode-kovarians giver et positivt fælles-mode-beskyttelsesniveau, mens en kun-paritets-kovarians giver et næsten nul; den…
ModelleretBeskyttelsesniveau for fælles-mode og samlet integritetskonvolutlunar_common_mode
Funktion
cmpl_horizontal afgrænser den horisontale positionsfejl på k sigma, som den blinde fælles-mode-klasse bidrager med, ved at danne blind_position_covariance = S*Cov*S^T og projicere den ind i ENU; integrity_envelope rapporterer hpl_total = hpl_araim + cmpl. Skellet, parret findes for at drage: RAIM/ARAIM-RESIDUALTESTEN er bevisligt blind over for fejl i range(G), men ARAIM-BESKYTTELSESNIVEAUET er ikke — dets fejlfri led afgrænser dem allerede op til en leverandørs URA plus nominel bias. CMPL er derfor kun det EKSTRA på tværs af leverandører, som en enkelt leverandørs URA/ISM pr. leverandør ikke overgrænser, og summen er en konservativ afgrænsning efter trekantsuligheden frem for en RSS, kun gyldig hvor det ekstra ikke allerede ligger inden for URA.
Uafhængig reference
Analytisk projektoralgebra kontrolleret mod sig selv: en kovarians begrænset til range(G) skal give en positiv CMPL, en kovarians begrænset til paritetsrummet skal give omtrent nul, og konvolutten skal summere to bidrag, der er ortogonale i målerummet. Fælles-mode-kovariansen, konstellationsgeometrien og k er repræsentative modellerede inputs, IKKE et certificeret budget, og der påstås ikke, at trekantsgrænsen er stram. BEMÆRKNING OM PROVENIENS: cmpl_horizontal, blind_position_covariance og integrity_envelope er offentlige og leveret, og deres enhedstests var allerede citeret af rækken om fælles-mode-blindhed, men SELVE KONVOLUTPÅSTANDEN bar ingen række — så det ene forbehold, der holder den ærlig, at summen er en trekantsgrænse og ikke en RSS, var angivet intetsteds i registeret. Rækken registrerer påstanden og forbeholdet sammen.
Tests
lunar_common_mode::tests (common_mode_covariance_gives_positive_cmpl, parity_only_covariance_gives_near_zero_cmpl, envelope_sums_the_two_classes, state_map_matches_split)
ValideretFælles OD med flere teknikker på Månen + urlunar_combination (problem, model, estimate, formal_covariance); batch_ls (gauss_newton_qr)
Funktion
Batchfusion af VLBI + afstand lokalt på Månen + afstand mellem satellitter for at genfinde positioner og ure for stationer og konstellation
Uafhængig reference
P2: numpy 2.4.6 (numpy.linalg.lstsq med LAPACK gelsd, numpy.linalg.inv; BSD-3) genberegner hvert Gauss-Newton-trin, den konvergerede vægtede mindste kvadraters løsning, de formelle sigmaer og stationsfejlen på de committede Jacobi-matricer og observationer for seks simulerede net, præregistreret (5094bc31) ved max(1e-8, 100 kappa eps) relativt. Den første kørsel overskred tærsklen for nettet uden VLBI (6.1e-7 mod 1e-8, en invers af normalligningen ved konditionstal 1.4e5); motorrettelsen skrevet efter det resultat (batch_ls::gauss_newton_qr, et Householder-QR-trin brugt af estimate og formal_covariance) blev kørt igen ved den uændrede tærskel: trin 1.1e-14 til 2.4e-11, sigmaer højst 1.3e-11. Den validerede påstand er lineær algebra i fusionsløsningen på de inputs, ikke de fysiske størrelser i det simulerede net eller dets observationsmodeller: rækken om geodætisk VLBI på Månen forbliver MODELLED (dens analytiske sti afviger fra ANISE med op til 24 µs), og referencesystemerne har deres egne rækker. Genfinding af en injiceret simuleret sandhed og NEES-konsistens forbliver interne kontroller; det tidligere krydstjek med Orekit 12,2 / Hipparchus Levenberg-Marquardt (tests/lunar_joint_multi_technique_od_reference.rs) bruger batch_ls::gauss_newton, som estimate ikke længere kalder, og beholdes som kontrol af den primitiv. 0,30 revision: standardstationsfejlene i lunar-joint-od-clock 3,541344 -> 3,541350 m med VLBI og 2183,119 -> 2183,558 m uden (QR-løsning). 0,36 revision (STUDIO-15, portabel matematik; docs/revisions/STUDIO15-portable-math-rebaseline.md): 3,541350 -> 3,536885 m med VLBI og 2183,558 -> 2184,021 m uden, og løsningen uden VLBI stopper efter 5 iterationer, ikke 2 (et stop begrænset af afrunding på det dårligt konditionerede net); den præregistrerede sammenligning blev kørt igen på genudtrukne inputs ved den uændrede tærskel (numpy 2.4.6, alle seks net klarer den)
Tests
lunar_combination::tests (genfinder simuleret reference; VLBI genopretter stationens 3D-observabilitet; deterministisk); tests/lunar_joint_multi_technique_od_reference.rs (6 geometrier × 16 parametre, 31 obs hver, mod Orekit 12,2 /…
ValideretFisher-information og Cramér–Rao-observerbarhedfim
Funktion
Fisher-information M=HᵀWH, Cramér–Rao-nedre grænse, observerbarhedsrang / nulrum for datumdefekt (Moore–Penrose-pseudoinvers) og D/A/E/T-optimale skalarer for forsøgsudformning fra en symmetrisk Jacobi-egenværdiløser
Uafhængig reference
NumPy 2.4.1 (numpy.linalg.eigh / .inv; BSD-3-Clause, baseret på LAPACK) — en uafhængig tredjepartsreference, der beregner de samme entydigt definerede egenværdier, σ²(XᵀX)⁻¹ Cramér–Rao-kovarians og GNSS-faktorer for præcisionsforringelse (dilution of precision) med en anden algoritme (LAPACK divide-and-conquer + LU) end den cykliske Jacobi-sweep og den spektrale pseudoinvers i Kshana; afstemt til 1e-9. Den samme klasse af eksternt bibliotek validerer allerede DOP-motoren (mod gnss_lib_py) og kernerne for χ²/erf (mod SciPy). Desuden krydstjekket mod de lukkede CRLB-udtryk hos Kay (1993) og mod Monte Carlo-opnåelse af CRLB (internt)
Tests
tests/fim_observability_reference.rs (egenværdier mod numpy.linalg.eigh; CRLB-kovarians mod σ²(XᵀX)⁻¹ via numpy.linalg.inv; GNSS GDOP/PDOP/HDOP/VDOP/TDOP fra informationsmatricen mod numpy — alle matchet til 1e-9)…
ModelleretObserverbarhed af absolut stationsposition på Månen (datumdefekt)lunar_combination (lunar_observability) + fim
Funktion
Fisher-information-observerbarhed af den fælles måneløsning: uden baselines til Jorden ligger det absolutte referencesystems datum i nulrummet af HᵀWH (stationens position er uobserverbar); ≥3 baselines genopretter fuldt rang og afgrænser stationens Cramér–Rao-fejl, som estimatoren opnår
Uafhængig reference
Analytisk struktur af datumdefekten — den uobserverbare absolutte tilstand i referencesystemet ligger i nulrummet af Fisher-informationen (lukket form), rangtærsklen svarer til den offentliggjorte begrundelse for en udformning med 3 stationer, og estimatoren opnår den resulterende CRLB i Monte Carlo. Selve månegeometrien er et repræsentativt netværk (ikke en fløjet efemeride), så rækken forbliver MODELLED; den underliggende FIM/CRLB-motor kontrolleres særskilt mod Kays (1993) lukkede former. 0,30 runde 2 (præregistreret fab02df9), blokeret (forbliver MODELLED): NumPy/SciPy genberegner rang og defekt ved den angivne tærskel på 1e-9, stationsaksernes andel af nulrummet (inden for 8.4e-10) og stationens CRLB (inden for 1.2e-10) på 17 committede konfigurationer genereret af Kshana (P2). Ikke opgraderet: påstanden om, at estimatoren opnår grænsen (Monte Carlo-effektivitet omkring 0,98), har ingen uafhængig reference, og den afgrænsning, der ville lade den forblive MODELLED, afventer en beslutning fra ejeren
Tests
lunar_combination::tests (rangdefekt uden Jord-baselines; tre baselines genopretter fuld rang — 3-stationers-tærsklen ud fra informationsrangen, ikke løsningsfejl; stations-CRLB opnået af estimatoren ved…
ValideretRealisering af månens referencesystemlunar_frame_realise
Funktion
7-parameter Helmert-datumtilpasning + ICRF-orienteringsbinding fra et netværk af punkter
Uafhængig reference
Uafhængig lukket-form vægtet Umeyama-løser (Horn) for ligedannethedstransformation (baseret på SVD i numpy/scipy; Umeyama 1991 IEEE TPAMI, Horn 1987 JOSA A) — en anden algoritme end den iterative Gauss–Newton-tilpasning i Kshana, som når frem til det samme entydigt definerede vægtede mindste kvadraters optimum på byte-identiske punktnetværk
Tests
lunar_frame_realise::tests (genfinder indsat Helmert-transformation); tests/lunar_reference_frame_realisation_reference.rs (14 tilfælde mod en uafhængig Umeyama-SVD-løser i lukket form; værste |Δ| translation 2.0e-5 m…
ValideretServicevolumen for månenavigationlunar_service
Funktion
DOP / dækning / tilgængelighed af Moonlight-klassen på Månen + generaliserede ARAIM-beskyttelsesniveauer for Månen over en servicevolumen
Uafhængig reference
Uafhængig tredjepartsreference ANISE 0.10.2 astro::Orbit Kepler-propagator (Nyx Space, MPL-2.0) — en ækvinoktial totlegemekodevej, der adskiller sig fra Newton-Raphson-Kepler i Kshana; MCI-positionen pr. satellit stemmer til <1e-3 m, og det afledte antal og den afledte mængde af synlige satellitter er identiske i hvert gitterpunkt. DOP-kernen er valideret mod gnss_lib_py; integritet bruger offentliggjorte LunaNet/LCNS-parametre
Tests
lunar_service::tests (DOP genbruger den validerede kerne; PL reduceres til sydpolstilfældet); tests/lunar_navigation_service_volume_reference.rs (MCI-position pr. satellit til <1e-3 m + EXACT synligt satellitsæt over…
ModelleretGenerering af LunaNet AFS-spredekoder (LSIS V1.0)lunar_afs::codes, lunar_afs::lsis, lunar_afs::params (IS-GPS-800J indices)
Funktion
Koderne i Augmented Forward Signal i LSIS V1.0 (29 januar 2025): den primære AFS-Q-kode på 10230 chips genereret efter pilotkonstruktionen for IS-GPS-800 L1C med indeksene fra IS-GPS-800J (de samme 210 tildelinger, som LSIS Appendix D trykker), AFS-I-Gold-koderne på 2046 chips genereret ud fra g1 = x^11 + x^2 + 1 og g2 = x^11 + x^8 + x^5 + x^2 + 1 med hver PRN's G2-forsinkelse genfundet fra standardens Annex 3-fil, de fire sekundære koder, de tertiære koder på 1500 chips, den foreløbige nodetildeling i Table 11 og den trindelte pilotkode. LSIS-indholdet læses ved kørsel fra en lokal cache, der er verificeret med SHA-256 og fyldt fra den PDF, NASA hoster, og det videredistribueres aldrig
Uafhængig reference
Reference: de værdier, LSIS V1.0 trykker til validering (Tables C-1 til C-5, D-1 til D-6, E-1 til E-6), og dens elektroniske kodefiler i Annex 3, under et kriterium om nul afvigelser fastsat før sammenligningen. Kriteriet er ikke nået på grund af én trykt celle, som er internt uforenelig med standardens egen Annex 3-fil, så rækken forbliver MODELLED; en erratanote er udarbejdet. De samme chips er også lig LANS-AFS-SIM's (række 'LunaNet AFS-basisbåndsgengivelse mod en uafhængig generator, givet dens kanaltilstand')
Tests
lunar_afs::codes::tests (registre med maksimal længde, Legendre-balance, G2-forsinkelsens rundtur, niveausammensætning); tests/lunar_afs_codes_lsis_reference.rs::afs_codes_finding_one_misprinted_table_cell (uden LSIS-cachen…
ValideretLunaNet AFS-basisbåndsgengivelse mod en uafhængig generator, givet dens kanaltilstand (LSIS V1.0)lunar_afs::waveform::render, lunar_afs::codes, lunar_afs::frame
Funktion
Gengivelseskernen i AFS-basisbåndet (LSIS-130: kompleks indhyllingskurve I + jQ, I = AFS-I-Gold-koden gange rammen på 500 symboler/s ved 1,023 Mchip/s, Q = den trindelte AFS-Q-pilot ved 5,115 Mchip/s, bærebølgerotation, chip- og symbolindretning) gengiver en uafhængig generators samples, når den styres af denne generators egen optagede kanaltilstand (kodefaser og -rater, bærebølgefase og -frekvens, amplitude pr. kanal). Ikke dækket: nodemodellen, der udleder denne tilstand ud fra en Doppler, en forsinkelse og en bærebølge-til-støj-tæthed, den 50/50-effektfordeling, der beregnes ud fra bærebølge-til-støj-tætheden (amplituderne tages fra simulatoren), og SigMF-metadata og skrivning af 8-bit-samples
Uafhængig reference
Bibliotek: LANS-AFS-SIM (T. Ebinuma, BSD-2-Clause, commit 480c6bf353717bafc04b5ee5bafb38ed90e61aae, S-bånd-build, kørt som et separat program); samples fra Kshana styres kun af simulatorens optagede kanaltilstand, og en build med kun udskrift af sporing kontrolleres at være byte-identisk med den upatchede. Tærskler fastsat før kørslen: nul chip- og symbolafvigelser, |rho| >= 0,999 over kørslen og >= 0,99 pr. blok på 2 ms, fase inden for 0,05 rad. Ens I- og Q-amplituder er et input til sammenligningen, så effektfordelingen afprøves ikke af den. LANS-AFS-SIM læser sine tertiære koder fra LSIS Annex 3-filen, så den del er ikke uafhængig af kodeserien. LANS-AFS-SIM og PocketSDR-AFS har samme forfatter og tæller som én uafhængig implementering. Datastyret: sammenligningen med LANS-AFS-SIM kræver den lokale LSIS V1.0-cache (xval/lunar-afs/fetch_lsis.sh, verificeret med SHA-256) og springes over med en meddelelse uden den
Tests
tests/lunar_afs_waveform_lans_afs_sim_oracle.rs::afs_chips_match_lans_afs_sim (de 210 AFS-Q-primærkoder altid; med KSHANA_LANS_RUN og LSIS-cachen alle 630 koder, nul chip-uoverensstemmelser)…
ValideretKanalkodning af LunaNet AFS-ramme, FID 0 (LSIS V1.0)lunar_afs::frame, lunar_afs::ldpc, lunar_afs::lsis
Funktion
FID 0-rammen i LSIS V1.0 på 12 s og 6000 symboler: synkroniseringsmønster på 68 symboler, BCH (51, 8) delramme 1 (generator i oktal 763), CRC-24 ((1 + X)·P(X)) på delrammerne 2-4, LDPC-kodning med rate 1/2 med de trykte A, B^-1, C, D (LSIS Annex 1, læst ved kørsel fra den lokale cache verificeret med SHA-256) og standardens punktering, blokinterleaver på 60 x 98; en udtømmende dekoder for delramme 1, som markerer en TOI uden for 0..99, og en normaliseret min-sum LDPC-dekoder skrevet ud fra H = [[A, B, 0], [C, D, I]] alene
Uafhængig reference
Bibliotek: LANS-AFS-SIM (T. Ebinuma, BSD-2-Clause, commit 480c6bf353717bafc04b5ee5bafb38ed90e61aae), hvis egne BCH, CRC, LDPC og interleaver frembringer rammer, der er symbolidentiske med dem fra Kshana for det samme indhold (nul afvigelser, tærskel fastsat før kørslen). Underbygget af referenceværdier: LSIS V1.0 Figure 8-eksemplet for BCH og kontrolværdien for CRC-24/LTE-A (Greg Cooks katalog over parametriserede CRC-algoritmer), begge bit-for-bit nøjagtige; og af PocketSDR-AFS, som i tre kørsler dekoder hver delramme i de rammer, den synkroniserede, med bestået CRC og matchende bits i delramme 2. Paritetskontrollen er tæt på en intern identitet (den bekræfter, at den trykte B^-1 inverterer den trykte B) og tælles ikke som en uafhængig reference. Datastyret: sammenligningen med LANS-AFS-SIM kræver den lokale LSIS V1.0-cache (xval/lunar-afs/fetch_lsis.sh, verificeret med SHA-256) og springes over med en meddelelse uden den
Tests
tests/lunar_afs_waveform_lans_afs_sim_oracle.rs::afs_frames_and_baseband_match_lans_afs_sim (med LSIS-cachen: de 3 rammer, LANS-AFS-SIM sender, opbygget af samme FID, TOI og databits: nul af 18.000 symboler…
ModelleretLunaNet AFS-dekodbarhed i lukket sløjfe hos en uafhængig modtager (LSIS V1.0)lunar_afs::waveform (recording and truth labels), xval/lunar-afs/run_pocketsdr.sh
Funktion
En AFS-optagelse fra Kshana, som en uafhængig softwaremodtager har opfanget, sporet og dekodet, og som er sammenlignet med optagelsens egne referencemærker. Det viser kun formatkontrol mod standarden og konsistens af mærkerne; det er ikke en udtalelse om kanalfysik, udbredelse, modtaget effekt eller link-budgetter, hvis værdier i optagelsen er valgte input
Uafhængig reference
Bibliotek: PocketSDR-AFS (T. Ebinuma efter T. Takasus PocketSDR 0,13, BSD-2-Clause, commit 5b23809f30d68518b7fad7a564fd0fac57cc497d, S-bånd-build, kopi med kun udskrift på logniveau), under kriterier fastsat før hver kørsel. Den tredje præregistrerede sammenligning opfylder sine tærskler C1 og C2 for dekodning og sporing fuldt ud, men ikke sin vagtbetingelse G0 som skrevet (to kørsler af den uændrede modtager adskiller sig i de samme fire erhvervelsesposter), og den anden missede med 5 overtrædelser, så rækken forbliver MODELLED. LANS-AFS-SIM og PocketSDR-AFS har samme forfatter og tæller som én uafhængig implementering; kontrollerne af trykte vektorer i rækken for rammekodning beskytter mod en fælles fejllæsning
Tests
tests/lunar_afs_decodability_pocketsdr_v3_oracle.rs::third_run_finding_c1_c2_hold_g0_is_receiver_nondeterminism (third pre-registration: 2 nodes, 4 channels tracked, worst Doppler error 0.57 Hz, worst code offset error…
ModelleretFormatkontrol af GPS L1 C/A på tværs af generatorergps_lnav, sdr
Funktion
GPS L1 C/A-spredekoder (sdr::CaCode) og LNAV-delramme 1-3 (gps_lnav: IS-GPS-200-feltkvantisering med specifikationens pi, to-komplement-pakning, TLM- og HOW-ord, paritet efter Table 20-XIV med D29*/D30*-inversion, de paritetsløsende bits i ord 2 og 10) sammenlignet bit for bit med gps-sdr-sim på dens medfølgende brdc0010.22n (32 satellitter)
Uafhængig reference
gps-sdr-sim (MIT, commit 28ca29a6, kørt som et separat program gennem en committet testrig), præregistreret f88f2969 med en bit-nøjagtig tærskel på (A) C/A-chips, (B) hvert beregnet LNAV-felt, (C) hver paritetsbit. FUND: (A) 0 af 32.736 chips afviger, (C) pariteten for 0 af 1.920 ord afviger, (B) 230 af 1.152 beregnede felter afviger med én enhed: eph2sbf i gps-sdr-sim afkorter mod nul med C-casts, hvor det udsendte heltal kræver afrunding (hver afvigende værdi ligger inden for 0,01 af en enhed fra heltallet i Kshana, som er afrundet). Forbliver MODELLED: den registrerede tærskel var konjunktionen
Tests
tests/gps_l1ca_gpssdrsim_cross_generator.rs::gps_sdr_sim_truncates_where_the_broadcast_integer_needs_rounding (pinned finding); tests/gps_l1ca_gpssdrsim_cross_generator.rs::ca_codes_lnav_fields_and_parity_match_gps_sdr_…
ValideretSignalgeometri i GNSS IQ-scene mod en uafhængig basisbåndsgeneratoriq::scene (Scene, SatGeometry, TruthRecord)
Funktion
IQ-scenegeneratorens sandhed pr. satellit for en GPS L1 C/A-scene med udsendt efemeride (iq::scene: en SatGeometry med udsendt efemeride, genereret til TruthRecord-sandhedsposter): hvilke satellitter der er over horisonten, pseudoafstanden, kodefasen ved første sample, bærebølge-Doppler og pejlevinklerne for en statisk modtager, sammenlignet med den kanaltilstand, som gps-sdr-sim bygger første blok af sit eget I/Q-output ud fra, for den samme efemeride, modtager og starttid (ionosfære slået fra på begge sider)
Uafhængig reference
gps-sdr-sim (T. Ebinuma, MIT, commit 28ca29a6), en uafhængig GPS L1 C/A-basisbåndsgenerator, bygget med sin egen Makefile og kørt som et separat program på sin medfølgende brdc0010.22n ved eksempelplaceringen i sin brugstekst (scripts/gen_iq_gpssdrsim_ref.sh); en committet testrig, som er linket mod den samme build, udskriver kanaltilstanden (computeRange, computeCodePhase) bag programmets første blok. Tærskler fastsat, før generatoren blev kørt (præregistreret 7777da53). Omfang: GPS L1 C/A-geometri for en statisk modtager uden ionosfære, troposfære eller modtagerur; kanalmodellerne, støjen og navigationsdataindholdet i scenen er ikke en del af denne række
Tests
tests/iq_gpssdrsim_cross_generator.rs::scene_geometry_matches_gps_sdr_sim_channels (11 channels: worst pseudorange 1.6e-3 m against 0.05 m, code phase 5.5e-6 chip against 2e-4, Doppler 7.4e-5 Hz against 0.02 Hz, look…
ModelleretGNSS IQ-erhvervelse på uafhængigt genererede I/Q-samplesiq::acq (acquire, AcqConfig); iq::io (decode_samples); iq::scene (GpsL1Ca)
Funktion
iq::acq::acquire (FFT-parallel kodefasesøgning med kvadratlov-tærsklen efter Marcum-Q) med GpsL1Ca-replikaen, på 20 ms af gps-sdr-sims eget 8-bit I/Q-output dekodet af sampledekoderen iq::io (ci8, 2,6 MHz, 11 satellitter, ingen støj): hver PRN 1 til 32 søgt i to vinduer på 10 ms, resultatet sammenlignet med den kodefase og Doppler, gps-sdr-sim modulerede
Uafhængig reference
I/Q-samples fra gps-sdr-sim (MIT, commit 28ca29a6) og dens egen kanaltilstand, præregistreret 7777da53: (B1) hver simuleret PRN erhvervet, (B2) ingen anden PRN erhvervet, (B3) kodefase inden for 0,5 chip, (B4) Doppler inden for 125 Hz. FUND: B1, B3 og B4 holder i begge vinduer (værst 0,195 chip, 72 Hz), men B2 fejler: alle 21 PRN'er, som gps-sdr-sim ikke simulerede, krydser også tærsklen (statistik 151 til 206 mod 79,5; simulerede PRN'er 1.300 og derover). Tærsklen er fastsat til gaussisk støj med den målte sampleeffekt; gps-sdr-sim tilføjer ingen støj, så cellerne for en fraværende PRN rummer de øvrige satellitters krydskorrelation. Forbliver MODELLED: den registrerede tærskel var konjunktionen
Tests
tests/iq_gpssdrsim_cross_generator.rs::acquisition_threshold_is_crossed_on_gps_sdr_sim_noise_free_samples (pinned finding); tests/iq_gpssdrsim_cross_generator.rs::acquisition_finds_gps_sdr_sim_satellites_in_its_samples…
ModelleretIQ-monitorer scoret i laboratorie-genafspilningskampagner: detektion, misses, falske alarmer og lukkede størrelser for falsk alarmiq::campaign (detect, runner, spec); iq::monitor (stats::gaussian_two_sided_pfa, sqm)
Funktion
iq::campaign::detect og kampagnekøreren: en valgfri tabel [monitors] kører IQ-monitorerne på hver celle i køreren enkelte gennemløb. Effekt- og spektralmonitorerne ser samplene efter hver front-end-kæde; monitorerne for C/N0, SQM og lås ser hver sporet kanals sløjfeopdateringer. Hver alarm scores mod de angivne hændelser: detekteret eller misset pr. (hændelse, alarmtype, kanal), tid til detektion og falske alarmer uden for hændelserne over deres eksponering. Hver tests lukkede størrelse for falsk alarm er angivet: effekt pr. blok (eksakt Gamma-hale), spektralt overskud pr. blok (tilnærmelse), kurtosis (ensidet gaussisk), pulse (binomialt loft), SQM pr. midlet opdatering (2Q(k) = Q(1/2, k^2/2), ny) og ARL0 for C/N0-CUSUM (Siegmund). Uden tabellen er celler, nøgler og digests uændrede. Der syntetiseres ingen interferenskurveform
Uafhængig reference
Monitorernes egne lukkede former på Kshanas egne GPS L1 C/A-scener (støj og legitime signaler; dæmpningshændelser i satellitternes egne signaler), mod tærskler præregistreret i docs/design/MONITORS-IN-CAMPAIGN.md (382ab2f4). FUND: M1, M2 og M4 nået. M3 nået på detektion (18 af 18 dæmpninger, P_md 0) og NOT MET på sin klausul om tid: den mediane tid til detektion er 1,001 s mod 2 x ARL1-samples = 0,433 s. CUSUM ser ét estimat pr. vindue på 1 s, så grænsen for antal samples ligger under ét sample. Kun intern konsistens: ingen rigtig modtager og ingen optaget interferens er kontrolleret
Tests
tests/iq_campaign_monitors.rs: m1_power_test_false_alarm_rate_matches_the_closed_form (73 of 5900 blocks against the 99 % binomial interval [40, 80] of P_fa 0.01)…
ModelleretDetektions-ROC for IQ-monitorerne fra en scoret laboratorie-genafspilningskampagneiq::campaign (detect, report, runner); iq::monitor::spectral (kurtosis_reference)
Funktion
iq::campaign::detect (windows, roc) og iq::campaign::report::rocs: hver celle i en kampagne med monitorer beholder pr. alarmtype og kanal maksimum af monitorens egen teststatistik over hvert angivet hændelsesvindue (positiv) og over flisebelagte roc_window_s-vinduer uden for hændelserne (negativ). Statistikkerne er blokeffektens afvigelse, PSD-overskuddet, kurtosis z, SQM |z| for den midlede metrik og C/N0-CUSUM. Rapporten samler dem efter type i en empirisk ROC på vinduesniveau med dens AUC og driftspunktet ved den konfigurerede tærskel, skrevet som roc.json (kshana.campaign-roc/1) og et afsnit Detection ROC i report.html. En kampagne uden monitorer skriver ingen af dem
Uafhængig reference
Syntetiske kampagner fra Kshanas egne GPS L1 C/A-scener (dæmpninger af satellitternes egne signaler), mod tærskler præregistreret i docs/design/DETECTION-ROC.md (b47e358d). FUND: R2 nået (tilfældighedsniveau, når der intet er at detektere). R1 NOT MET: cn0_drop AUC 0,7855 mod 0,95, fordi hvert negativt vindue efter en hændelse arver CUSUM's henfald fra detektionen (alle 18 negative efter hændelsen når 81 eller mere; alle 18 før hændelsen forbliver ved 0). Kun intern konsistens: ingen rigtig modtager og ingen optaget interferens er kontrolleret
Tests
tests/iq_campaign_roc.rs: r2_with_nothing_to_detect_the_roc_sits_at_chance (AUC cn0_drop 0.500, sqm_delta 0.566, power_drop 0.639 on stated events that attenuate nothing)…
ModelleretKalibrering af den åbne modtagers C/N0- og låsmodeller til resultater fra IQ-kampagner, med angivet prædiktionsfejliq::labfit (campaign, cn0, iqfit, iqreport, schema, mod); iq::cli::labfit
Funktion
iq::labfit (campaign, cn0, iqfit, iqreport) og [input] campaign på kshana iq labfit, Python kshana.iq_labfit og MCP-værktøjet labfit (kun kampagnemapper inde i dets arbejdsmappe): læser en outputmappe fra kshana iq campaign via dens DIGEST og grupperer de scorede celler i tilpasningsenheder (signal x sløjfeudformning x front-end-kæde x jammertype, aldrig slået sammen). Pr. enhed tilpasses målt C/N0 mod angivet J/S med den spektrale separationsform. Q_eff kan ikke identificeres ud fra C/N0-data uden en uafhængig måling af jammerens og signalets effekter, så Q angives og tilpasses aldrig (typetabellen, hændelsens q, eller for en ukendt type den mest skadelige angivne værdi, cw Q = 1). Den tilpassede parameter er den identificerbare forskydning delta_eff = delta - 10 log10 Q, hvor korrelationsvagten rapporterer degenerationen. C/N0-intervaller med lås under 90 % er censurerede og opført. Tærskel-J/S angives direkte og ved den lukkede form; sporingssløjfemodellen og den empiriske låsmodel er koblet gennem C/N0-modellen med dwell-tider for tab og genlåsning. En seedet klyngebootstrap over optagelser (1000 replikater) giver percentilintervaller; prædiktionsintervaller på 90 % kommer fra residualtræk; leave-one-recording-out-tilbageholdte sæt deles i interpolation og ekstrapolation; en præregistreret tabel [validation] hashes, og hver tærskel bedømmes PASS/FAIL. Rapporten kshana.labfit-iq/1 som JSON, CSV og genereret Markdown, med en blok units. Kun syntetisk (ingen tredjepartsoptagelse, ingen jammerkurveform). Stien labfit for modtagerlog er uændret
Uafhængig reference
Syntetisk parametergenfinding på Kshanas egne GPS L1 C/A-scener med en kendt C/N0-profil pålagt ud fra formlen i afsnit 3,1, sporet og scoret af kshana iq campaign, mod tærskler præregistreret i docs/design/LABFIT-FROM-IQ.md (afsnit 5,1, ændret 2026-10-12 i b7117bf, afsnit 13). Kampagnernes C/N0-estimator (M2M4) blev fastlagt i 5b13e3c2 og pushet før den første evaluering af tærsklerne (committet sammen med tilpasningskoden, ikke alene), efter én oplyst diagnostisk sporingskørsel. FUND på kampagnen med 18 hændelser: (c) PASS; (a') NOT MET, fejl i delta_eff -1.097 dB mod 0,5 dB (stadig -0.89 dB på intervaller ved 38 dB-Hz og derover); (b') NOT MET, 0 af 50 kampagner dækker sandheden (fejl -1.189 +/- 0,093 dB, interval omkring 0,3 dB); (d) NOT MET, lukket form 2,20 dB under det direkte J/S ved tab, omkring den tilpassede dwell-tid for fald gange rampehastigheden (2,09 dB); de oprindelige Q-klausuler i (a) og (b) er NOT MET, fordi Q ikke kan identificeres. OPFØLGNING (tærskler præregistreret i 1e532f84, docs/design/evidence/labfit-followup/RESULTS.md): på en kampagne med trinvis J/S genfindes delta_eff inden for +0,185 dB (S1 MET: rampefejlen er estimatorens forsinkelse); (d) som skrevet er på den nået af sporingssløjfemodellen (0,45 dB), men ikke af den empiriske (6,42 dB), så S2 er NOT MET; på en ny rampekampagne ligger (d) med den tilpassede dwell-tid for fald plus hver hændelses rampehastighed inden for 1 dB for begge modeller (R1 MET), og (a') og (d) som skrevet ikke nås igen (-1.25 dB; 2,32 og 9,47 dB). Metoden er kontrolleret, ikke nogen modtager: den kan ikke blive VALIDATED ud fra syntetiske data
Tests
tests/iq_labfit_campaign.rs: bar_c_holdout_prediction_intervals_cover_between_80_and_98_percent (PI90 coverage 0.891 over 558 bins, 0.900 over 10 time-to-loss events under each lock model)…
ModelleretGPS LNAV-kodning dekodet af et uafhængigt modtagerbibliotekgps_lnav
Funktion
LNAV-delramme 1-3 fra Kshana (gps_lnav::encode_subframes) for de 32 efemerider i brdc0010.22n, ført til decode_word og decode_frame i RTKLIB: paritet for hvert ord, dekodning af delrammer med konsistent issue of data og hver dekodet parameter mod heltallet fra Kshana og mod inputværdien
Uafhængig reference
RTKLIB v2.4.2-p13 (BSD-2-Clause, commit 71db0ffa) decode_word/decode_frame som et separat program, præregistreret ca5f0142: R1 paritet og dekodning, R2 dekodet værdi lig heltallet fra Kshana gange skalaen i IS-GPS-200 inden for 2^-52 relativt, R3 inden for et halvt kvantum af inputtet. FUND: R1 960 af 960 ord og 96 af 96 delrammer; R3 hver parameter, uge og referencetid nøjagtige; R2 fejler på 41 værdier (af1, delta-n, IDOT) med 1 til 4 enheder i sidste decimal, fordi RTKLIB's P2_43 er det decimale 1.136868377216160E-13, 2.6e-16 relativt til 2^-43; division med RTKLIB's konstant giver heltallet fra Kshana i alle tilfælde. Forbliver MODELLED: den registrerede R2-tærskel var for snæver til referencens egen konstant
Tests
tests/gps_lnav_rtklib_decode_oracle.rs::rtklib_recovers_every_integer_and_differs_only_by_its_decimal_two_to_the_minus_43 (pinned finding)…
ModelleretKodning af GPS LNAV-navigationsmeddelelsengps_lnav
Funktion
IS-GPS-200 LNAV-delramme 1-3 (gps_lnav::encode_subframes: kvantisering med afrunding til nærmeste af hver ur- og baneparameter ved specifikationens skalafaktorer og værdi af pi, to-komplement-pakning, TLM- og HOW-ord, paritet efter Table 20-XIV med D29*/D30*-inversion, de paritetsløsende bits i ord 2 og 10), den meddelelse som en GPS L1 C/A-signalgenerator udsender
Uafhængig reference
RTKLIB v2.4.2-p13 (BSD-2-Clause, commit 71db0ffa) readrnx, der fortolker IGS' daglige broadcast-fil BRDC00IGS_R_20250610000_01D_MN.rnx, og decode_word/decode_frame, der dekoder ord fra Kshana, kørt som et separat program; præregistreret d4d9eb9d, før filen blev hentet, tærskel med eksakte heltal. Mutation: afkortning i stedet for afrunding giver 235 fejl. Tidligere sammenligninger af den samme koder er registreret som fund: mod gps-sdr-sim, som afkorter (230 felter), og mod RTKLIB's skalerede værdier, hvis decimale konstant 2^-43 ikke nåede en tærskel på én ulp (41 værdier). Efterverifikation foretaget af integratoren (forbliver MODELLED): sammenligningen stemmer, og en mutation af paritetssættet gør den også rød, men præregistreringen d4d9eb9d nåede den offentlige gren kl. 20:02:29 UTC, to sekunder efter resultat-committen 1783f904 (20:02:27 UTC), som allerede rummer RTKLIB's output for filen, så rækkefølgen 'registreret før filen blev hentet' kan ikke påvises; en ny registrering, pushet før en endnu ikke set broadcast-fil hentes, ville afgøre det
Tests
tests/gps_lnav_rtklib_integer_oracle.rs::kshana_lnav_integers_decode_in_rtklib_from_an_unseen_broadcast_file (32 satellitter i IGS-udsendelsesfilen fra 2. marts 2025: 960 af 960 ord består RTKLIB-paritet, 96 af 96…
ModelleretErhvervelse og C/N0-estimering på ægte IQ fra Månenacquisition, portable_math, realdata::ion_sdr, realdata::lugre
Funktion
Parallel kodefasesøgning (acquisition::pcps_acquire: portabel FFT, koherent foldning, ikke-koherent akkumulering, chi-i-anden-tærskel for en falsk-alarm-sandsynlighed for hele søgningen), forfinelse, åben-sløjfe-prompt-korrelation med kode-Doppler og M2M4 C/N0-estimatoren, kørt på LuGRE L1 4-bit IQ-batcher læst gennem realdata::ion_sdr
Uafhængig reference
GNSS-SDR 0.0.19 (GPL-3.0, separat program, fastlåst konfiguration) på de ni L1-batcher uden for overfladen og flyvemodtagerens RAW C/N0 (LuGRE Mission Data, Zenodo 16411687, CC BY 4,0), præregistreret 768cb62b. FUND: læseren i Kshana dekoder alle 288 sammenlignede spænd identisk med en uafhængig konverter; GNSS-SDR erklærer 266 af 288 søgninger positive, og Kshana er enig i alle 266 afgørelser, men kun 250 lokaliseres i GNSS-SDR's celle (A2 fejler); C/N0-delen er tom, da ingen RAW-epoke fra flyvningen ligger inden for 30 s af nogen batch (nærmeste 141 s). De fleste positive er artefakter: de rene to-komplement-niveauer har et gennemsnit på -0.5 på I og Q, en linje ved frekvensen nul 32 dB over støjen i et interval på 1 kHz, som begge modtagere erhverver. To batcher (OP5, OP12) blev udelukket ved en fejl: en aflæsning af deres metadata uden cifre blev opfattet som en selvmodsigelse i forhold til deres headere; den egentlige årsag var, at læseren ikke kunne læse et sample, der var bredere end et ord (siden rettet). Forbliver MODELLED
Tests
tests/lugre_acquisition_gnss_sdr_oracle.rs::finding_dc_artefacts_and_no_contemporaneous_flight_cn0 (pinned finding, data-gated); tests/lugre_acquisition_gnss_sdr_oracle.rs::acquisition_and_relative_cn0_on_lugre_iq_match…
ModelleretErhvervelse på ægte IQ fra Månen mod Doppler forudsagt ud fra baner (beslutning ud fra sampleeffekt)acquisition, realdata::ion_sdr
Funktion
acquisition::pcps_acquire med sin beslutning ud fra sampleeffekt på de ni LuGRE L1-batcher uden for overfladen med mid-rise-niveauer; Dopplerforskelle mellem erhvervede satellitter sammenlignet med forskelle forudsagt ud fra ESA's endelige baner og den af Firefly rekonstruerede Blue Ghost-bane
Uafhængig reference
Forudsagt Doppler ud fra ESA/ESOC's endelige baner og den af NAIF rekonstruerede CLPS-bane (xval/lugre-predicted-doppler/predict.py, uafhængig af Kshana), præregistreret 0d1839d2. FUND: alle 288 søgninger krydser tærsklen på støj (sampleeffektstatistikker omkring 430 til 520 mod 346,3), så P1 holder trivielt, og P3 holder (274 af 288 forudsagt synlige), mens P2 fejler på 4033 af 4036 par. Det båndbegrænsede front-end hæver hver celles støj omkring 1,46 gange (fastlåst: støjgulv 292 mod hvid støj på 200 på OP2 PRN 1), hvilket sampleeffektstatistikken ikke ser. Forbliver MODELLED
Tests
tests/lugre_acquisition_predicted_doppler_oracle.rs::noise_alone_crosses_the_sample_power_threshold_on_lugre_iq (pinned finding, data-gated)…
ModelleretErhvervelse på ægte IQ fra Månen vurderet ud fra Doppler forudsagt ud fra baneracquisition, realdata::ion_sdr
Funktion
acquisition::pcps_acquire med beslutningen ud fra celleaveraging (top over gitterets middelcelle, robust over for båndbegrænset støj) på de ni LuGRE L1-batcher uden for overfladen med mid-rise-niveauer; Dopplerforskelle mellem erhvervede satellitter sammenlignet med forskelle forudsagt ud fra ESA's endelige baner og den af Firefly rekonstruerede Blue Ghost-bane
Uafhængig reference
Forudsagt Doppler ud fra ESA/ESOC's endelige baner og den af NAIF rekonstruerede CLPS-bane (xval/lugre-predicted-doppler/predict.py, uafhængig af Kshana), præregistreret a81a9a4e. FUND: P1 og P3 holder (4 batcher, 12 af 12 erhvervelser forudsagt synlige), men P2 fejler på 8 af 8 par. De to stærkeste par svarer til forudsigelsen i størrelse med omvendt fortegn (OP2 PRN 18/24: +7670,0 Hz målt, -7693.9 forudsagt; OP17 PRN 11/30: +11155,0, -11114.4), så den registrerede rækkefølge med I i den lave nibble er det konjugerede af batcherne; de seks detektioner lige over tærsklen passer ikke til nogen af fortegnene. Spredningen i forfinelsens Doppler (30 til 50 Hz mellem to kørsler) blev også undervurderet af registreringen. Forbliver MODELLED
Tests
tests/lugre_acquisition_cell_average_doppler_oracle.rs::strong_pairs_match_the_prediction_only_with_the_doppler_sign_reversed (pinned finding, data-gated)…
ModelleretErhvervelse på tilbageholdt ægte IQ fra Månen mod Doppler forudsagt ud fra baneracquisition, realdata::ion_sdr, realdata::lugre
Funktion
acquisition::pcps_acquire (beslutning ud fra celleaveraging, falsk-alarm-sandsynlighed 1e-7) med refine_doppler_coherent på LuGRE L1-batcher optaget på månens overflade (I i den høje nibble, mid-rise-niveauer); Dopplerforskelle mellem erhvervede satellitter mod forskelle forudsagt ud fra ESA's endelige baner og Firefly-kernen for landingsstedet
Uafhængig reference
Forudsagt Doppler ud fra ESA/ESOC's endelige baner og NAIF CLPS Firefly-kernen for landingsstedet (xval/lugre-predicted-doppler/predict_surface.py, uafhængig af Kshana), præregistreret 2108e6ff på batcher, der aldrig tidligere var åbnet. FUND: kravet om ikke-tomhed fejler; ingen batch rummer to erhvervelser. OP40 udelukket (metadata nævner en manglende fil); OP38, OP73, OP77_0, OP77_1 erhverver intet og viser ingen falsk alarm ved 1e-7 (højeste statistikker 325 til 356 mod 385,9); OP74 og OP76 erhverver PRN 31 og OP78_0 og OP78_1 PRN 12, hver for sig alene, alle forudsagt synlige. Forbliver MODELLED. Oplyste afvigelser: den registrerede Doppler-tærskel på 10 Hz bygger på en syntetisk Monte Carlo af den koherente forfinelse og ikke på spredningen i de allerede sete batcher, som integratoren havde bedt om; OP40 blev udelukket før kørslen, fordi dens metadata nævner en samplefil, som datasættet ikke leverer
Tests
tests/lugre_surface_acquisition_doppler_oracle.rs::each_surface_acquisition_is_a_single_predicted_visible_satellite (pinned finding, data-gated)…
ValideretFælles geometri for kommunikation og navigation på Månenlunar_service
Funktion
Topocentriske pejlevinkler pr. satellit (azimut med uret fra nord, elevation) og skråafstand ved et navngivet selenografisk sted, givet satellitten i stedets Moon body-fixed-system (den validerede påstand). Nøjagtigheden af afstandsmåling i signal-i-rummet er tilgængelig som scenarieparameter, så et sweep over servicevolumen giver et KRAV til afstandsmåling frem for bestået/ikke bestået ved ét fast sigma; den parameter er et udformningsinput uden for den validerede påstand
Uafhængig reference
ANISE 0.10.2 (Nyx Space, MPL-2.0, kørt som et værktøj fra xval/anise-service-geometry, binæren lunar-look-angles-xval, som ikke kalder nogen kode fra Kshana): ANISE's egen rutine for azimut, elevation og afstand (azimuth_elevation_range_sez) fra steder bygget af dens konstruktør for bredde, længde og højde på pck00011-Månen (kugle 1737,4 km), med satellitterne roteret ind i MOON_PA_DE440 gennem moon_pa_de440_200625.bpc. 768 samples over 8 steder (de 4 navngivne steder og 4 andre, over og under horisonten), 12 epoker og 8 satellitter stemmer inden for 1e-6 grad i azimut og elevation og 1 mm i afstand og stedets position (fastsat før sammenligningen); målt 2.2e-12 grad, 2.1e-13 grad og 5.6e-9 m. Påstand: stedets placering og pejlevinkler givet satellitten i stedets body-fixed-system. Realiseringen i Kshana af Månens body-fixed-system med middelrotation og parameteren for nøjagtighed af afstandsmåling ligger uden for den; enhedstestene af geometri i lukket form består som understøttende kontroller
Tests
lunar_service::tests (topocentrisk mod håndberegnet geometri: lige overhead, ret nord/øst/vest, antipodal og den degenererede polare østretning; det eksporterede synlighedsflag stemmer med den uafhængige synlighed…
ModelleretDifferentiel PNT på Månenlunar_dpnt
Funktion
Differentiel referencestation af NovaMoon-klassen: ophævelse af fællesmodefejl + residual, der vokser med baselinen, + DGNSS-beskyttelsesniveauer
Uafhængig reference
Identitet for differentiel fejlophævelse + genbrug af maskineriet for SBAS-PL i DO-229E; enkeltdifferens- og WLS-løsningen krydstjekkes desuden mod RTKLIB's lsq()/matinv() (Takasu, BSD-2-Clause, kompileret C) — uafhængig løserkode, men den samme førsteordens algebra for LOS-differens, så stadig InternalConsistency
Tests
lunar_dpnt::tests (ur-fællesmode ophæves eksakt; residual vokser med baseline; genbruger SBAS PL; satellitantallet respekteres op til bygherrens grænse på 24, så en større konstellation ikke stiltiende kan returnere en…
ModelleretInteroperabilitetseksport for Månenlunar_interop
Funktion
Eksport af månesystem + tid + efemeride afstemt efter LunaNet/IOAG (CCSDS OEM + KIF) med formatkontrol ved rundtur
Uafhængig reference
Månens OEM-eksport fra kshana, læst igen af det uafhængige tredjepartsbibliotek oem (R. J. Anderson): tokens for system/tid og tilstand pr. epoke stemmer inden for skrivepræcisionen (1 mm / 1e-9 km/s), og en eksport uden TIME_SYSTEM afvises — en strukturel udvekslingsrundtur; den fysiske semantik for månesystem og tid er valideret af deres egne rækker, så denne forbliver MODELLED. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): en anden uafhængig læser, CCSDS OEM-parseren i Orekit 12,2 (Apache-2.0, strenge standardindstillinger), afviser begge månefiler, fordi den ikke implementerer tidssystemerne LTC og TCL (den dekoder cratens EME2000/UTC-OEM og dekoder månefilerne, når TIME_SYSTEM erstattes med TDB); oem 0.4.5 dekoder dem inden for den skrevne præcision kun ved at falde tilbage fra det ikke understøttede tidssystem. Udveksling af disse månefiler med gængse CCSDS-læsere er ikke påvist
Tests
lunar_interop::tests (OEM bærer lunar REF_FRAME/TIME_SYSTEM; tidsmetadata gennemløber en rundtur; KIF-kuvert); tests/lunar_interoperability_export_reference.rs (kshanas udsendte lunare OEM parset igen af den uafhængige oem…
ModelleretScoring efter rammeværker for PNT-resiliensresilience::arch, resilience::score, resilience::diversity, resilience::timeline
Funktion
Delscorer pr. dimension over Kshanas egne syv resilienskategorier (ikke DHS-termer), RethinkPNT RDRR-funktioner og Yang-kriterier, hver mærket modelleret med sin drivkraft; foreløbigt RPCF-niveau med en port for begrænset forringelse. Selvvurdering afledt af simulering, aldrig certificering.
Uafhængig reference
Håndafledte formler pr. måltal: inverse Simpson-diversitet, vægtet gennemsnitligt sammensat tal, afgrænsede/uafgrænsede varigheder på tidslinjen, niveaustige efter det svageste led
Tests
resilience::score::tests (monotonicity, composite bounds, level cap, modelled-provenance); resilience::diversity::tests (inverse-Simpson, common-mode, SPOF)
ModelleretUndersøgelse af beslutningsustabilitet i resiliensscorenresilience::stats, resilience::study, resilience::panel
Funktion
Kvantificerer, hvordan en enkelt sammensat score / et RPCF-niveau omrangerer arkitekturer under et forsvarligt vægtsimpleks og et trusselsensemble (top-1-vendingsrate, spredning i Kendalls tau, vendingsrate for niveau, rangintervaller); analyser af erklæret kontra målt og af diversitetskollaps.
Uafhængig reference
Identiteter for rangstatistik i lukket form (tau i [-1,1] med håndberegnede værdier; deterministisk seedet Dirichlet) og konstruerede stabile/ustabile vidner
Tests
resilience::stats::tests (Kendall-tau hand example, Dirichlet simplex, flip-rate); resilience::study::tests (stability control, instability witness, declared-vs-measured, diversity collapse)
ModelleretRepræsentativitet af demonstrationen og afstand til flyvningrepresentativeness
Funktion
Ærlighedsregister pr. resultat, der kvalificerer et demonstrationsoutput: dets eksterne holdepunkter, modellerede antagelser, afstande til flyvning og repræsentativt TRL-bånd, med håndhævede invarianter (valideret kræver et eksternt holdepunkt; modelleret kræver en afstand og kan ikke hævde noget over TRL 4).
Uafhængig reference
Invarianter i lukket form, der svarer til compliance-disciplinen 'repræsentativitet begrundet + afstande til flyvning identificeret'; knyttet til grænsen mellem verifikationsstatus og type af uafhængig reference
Tests
representativeness::tests (validated-needs-external-anchor, modelled-needs-gap, modelled-TRL-ceiling, malformed-band, JSON fields)
ModelleretEvidens for afvejning mellem kvante og klassisk (fælles form)qtrade
Funktion
Ét reproducerbart TradeEvidence-objekt (fast ramme: scenarie+seed+motor; fælles værdier pr. FoM for kvante kontra klassisk med fordel i korrekt polaritet, valgfrit 95%-CI, mærke valideret/modelleret), der bærer en repræsentativitetspost, så hver kvante-PNT-vertikal rapporterer afvejningen på samme ærlige måde.
Uafhængig reference
Identiteter for fordel/vinder i lukket form + tro indpakning af det eksisterende quantum_trade::TradeResult; ærligheden er knyttet til registret over repræsentativitet og til verifikationsmærkerne
Tests
qtrade::tests (gevinstpolaritet højere/lavere-er-bedre, ombryder et reelt TradeResult troværdigt, uærligt belæg afvist, valideret-FoM kræver eksternt anker, deterministisk JSON)
ModelleretBibliotek med fejlmodeller for kvanteenhederquantum_devices
Funktion
Enhedskort (optisk/fangede ioner/kviksølvion + klassiske ure genbrugt fra holdover/clock_state; koldatom-interferometer; klassiske + sammenfiltrede/enkeltfoton-tidsoverførselslinks), hvert med en repræsentativitetspost; linket med sammenfiltring tilføjer en model for tidspræcision begrænset af skudstøj (~jitter/sqrt(R*tau), straf for mørketællinger, systematisk gulv).
Uafhængig reference
Genbrugte koefficienter for ur/CAI (holdover/clock_state, offentliggjorte værdier) + identiteter i lukket form for skudstøj/tab for linket med sammenfiltring
Tests
quantum_devices::tests (clock cards honest+ordered; entanglement precision ~1/sqrt(tau); detected rate -10x/10dB; dark counts degrade; systematic floor bounds; card modelled+valid)
ModelleretPålidelig kvantetidssynkronisering (tidsoverførsel + sikker udbredelse + anomali)timetransfer_chain
Funktion
Ende-til-ende-kæde for tidsoverførsel, kvante kontra klassisk (urets coast + linkets præcision i kvadratur), et genbrugt beskyttelsesniveau for tidssynkronisering, en FoM for sikkerhed mod forsinkelses-/genafspilningsangreb (1-P_md) og en sandsynlighed for detektion af uranomali + CUSUM-latenstid, udsendt som ærlig TradeEvidence med en repræsentativitetspost.
Uafhængig reference
Budget i kvadratur i lukket form over genbrugte validerede kerner (ADEV mod Stable32/NIST; TPL-grænse; detektion analytic_pd/pmd); ærligheden er knyttet til registret over repræsentativitet
Tests
timetransfer_chain::tests (præcisionen forbedres med integration; kvante kan både vinde OG tabe; PL endelig-positiv; sikkerheds-FoM i [0.1] og vokser med angrebsforsinkelse; anomali-Pd monoton; afvejningen is_honest)
ModelleretGNSS-fri kvantenavigationquantum_nav_od
Funktion
Kvante (koldatom-interferometer) kontra klassisk dødregning med navigationsklasse-INS under et GNSS-udfald: vækst i positionsfejl, holdover til en positionstærskel og afvejningen mellem kvante og klassisk som ærlig TradeEvidence; ærlig note om observerbarhed (bias er uobserverbar uden en positionsbestemmelse, så fejlen vokser).
Uafhængig reference
Genbrugte inertibudgetter krydstjekket mod en uafhængig dobbeltintegration i Octave af den samme ODE for dødregning (anden runtime, fælles model → ReferenceImpl) plus den offentliggjorte kortsigtede støj fra Freier-2016 som ensidet holdepunkt; det sammensatte resultat for kvante kontra klassisk forbliver MODELLED
Tests
quantum_nav_od::tests (kvante slår klassisk over et langt udfald; fordelen afhænger af udfaldet; afvejningen is_honest); tests/gnss_free_quantum_navigation_reference.rs (positionsvækst ved dead reckoning mod en uafhængig…
ModelleretDetektion af fejl/anomalier i kvante-PNT-systemerquantum_faults
Funktion
Mærket katalog over kvantefejl (urets frekvenssprang/drift/tab af lås; sensorens biastrin/udfald), en AUC for ROC af detektionsstatistikken med bootstrap-CI og en mindste detekterbar fejl ved en fast falsk-alarm-rate; en monitor med kvanteur finder mindre fejl end en klassisk, udsendt som ærlig TradeEvidence.
Uafhængig reference
Gaussisk AUC i lukket form = Phi(mu/(sigma*sqrt2)) krydstjekket mod den eksternt validerede eval_stats::bootstrap_auc_ci (mod scikit-learn) + analytiske detektionstærskler
Tests
quantum_faults::tests (analytiske AUC-kendte værdier; empirisk bootstrap-AUC omslutter den lukkede form; kvante detekterer mindre fejl / højere AUC; fordelen forsvinder for enorme fejl; katalog med 5 klasser; afvejningen is_honest)
ValideretDrejningsmomentfri attitudedynamik for et stift legemeattitude_dynamics
Funktion
Eulers rotationsbevægelsesligninger (I ω̇ = τ − ω × Iω, hovedakse og generel inertitensor) koblet til kvaternionkinematik for attituden (q̇ = ½ q ⊗ ω) og propageret med en RK4-integrator med fast trin, som renormaliserer kvaternionen i hvert trin
Uafhængig reference
Basilisk 2.9.1 propagering af stift legeme for rumfartøjets hub (AVSLab, ISC; MRP-attitude gennem dens egne koblede hubligninger, svIntegratorRKF78 ved relativ tolerance 1e-12), en uafhængig implementering af ligningerne for drejningsmomentfrit stift legeme: RK4-kvaternionen i Kshana (dt 0,01 s) og legemets rater stemmer inden for 1e-9 over 1e4 s på to generelle ikke-diagonale inertier (værst 3.3e-11 og 3.4e-12 rad/s); tolerancen fastsat før sammenligningen. Valideret påstand: drejningsmomentfri bevægelse; leddet for eksternt drejningsmoment sammenlignes ikke. Kontrollerne af bevarelseslove og symmetrisk top består som understøttende selvkonsistens. Intet miljø med fleksibelt legeme / reguleringssløjfe / eksternt drejningsmoment
Tests
attitude_dynamics::tests (apply/solve inverse, spherical-top zero torque, principal-axis fixed point, short-run energy+momentum conservation, q̇=½q⊗ω, symmetric-top rate sign + body-cone precession)…
ValideretClohessy–Wiltshire / Hill-dynamik for relativ bevægelsecw_dynamics (propagate, second_order_correction, propagate_second_order)
Funktion
Relativ bevægelse for en jager omkring et mål på en cirkulær referencebane i LVLH-systemet: de lineariserede Clohessy–Wiltshire-ligninger (ẍ−2nẏ−3n²x=0, ÿ+2nẋ=0, z̈+n²z=0) løst med den lukkede tilstandstransitionsmatrix 6×6 Φ(n,t) (Clohessy–Wiltshire 1960; Vallado Alg. 48) med betingelsen for afgrænset relativ bane ẏ₀=−2n·x₀ og en andenordens korrektion i lukket form (cw_dynamics::second_order_correction, CW-responset på de kvadratiske led i de eksakte ligninger for cirkulær chief; Karlgaard og Lutze 2003, Newman, Lovell og Pratt 2015) sammensat som cw_dynamics::propagate_second_order. Det validerede output er propagate_second_order; den lineære Φ alene er karakteriseret mod ikke-lineær sandhed, ikke valideret
Uafhængig reference
Orekit 12,2 (Apache-2.0) NumericalPropagator, totlegeme, LOFType.QSW, kørt som et separat program (fixture uændret siden runde 1). Præregistreret tærskel 1e-3 m på hver sample i hvert tilfælde; rettelsen af andenordensmotoren blev kørt igen mod den uændret (ændring 8c8e768d, skrevet før propagatoren fandtes, med oplysning om, at gabene i første orden var kendte). propagate_second_order stemmer inden for 1.15e-7 m (C1), 9.8e-8, 5.4e-8 og 2.2e-8 m; at halvere andenordensleddet fejler ved 1.85e-3 til 3.14e-3 m. Den lineære Φ alene afviger fra ikke-lineær sandhed med 1,2 til 6,3 mm ved 100 m over en tredjedel af en omløbsbane (det udeladte andenordensled; dens strenge test er bevaret som ignoreret), så den er karakteriseret, ikke valideret. Interne kontroller bevaret: Φ mod en RK4-integration af Hill-ligningerne, Φ(t)Φ(−t)=I, identiteterne for afgrænset bane og drift på −12π·x₀ samt den tredjeordens skalering af residualen for andenordensleddet. Omfang: cirkulær chief, adskillelser omkring 100 m, op til en tredjedel af en omløbsbane; ingen excentricitet (Tschauner–Hempel), ingen J2- eller differentielle drag-led; antagelse om lille adskillelse
Tests
cw_dynamics::tests (Φ(0)=I, afkoblet tværsporet SHM); tests/cw_dynamics_reference.rs (lukket form Φ mod en uafhængig RK4-integration med fast trin af de samme Hill-ODE'er til <1e-6 over en tredjedel af en bane; Φ(t)Φ(−t)=I til…
ModelleretPassiv geolokalisering af sender med TDOA/FDOAgeolocation
Funktion
Lokalisér en sender (jammer/spoofer eller en opportunistisk kilde til reverse-PNT) ud fra tidsforskel i ankomst (time-difference-of-arrival) på tværs af et modtagernetværk — skæringen af hyperboloider τᵢ=(Rᵢ−R₀)/c løst med Gauss–Newton mindste kvadrater — og ved at tilføje frekvensforskel i ankomst (forskelle i afstandsrate) med bevægelige modtagere genfind position og hastighed i fællesskab; med Cramér–Rao-nedre grænse for positionskovariansen ud fra målegeometrien
Uafhængig reference
Selvkonsistens af estimatoren og geometrien: rundture fremad→invers, identiteten J·CRLB=I for Fisher/CRLB, monotoni af GDOP og at estimatoren opnår sin egen Cramér–Rao-grænse under Monte Carlo-støj — kontroller af intern konsistens, IKKE et eksternt datasæt, så rækken forbliver InternalConsistency. MODELLED passiv geolokalisering — punktkildemodel med sigtelinje; ingen led for multipath / NLOS, modtagerurets bias eller atmosfærisk refraktion. 0,30 runde 2, mod Ho og Chan 1993 og Ho og Xu 2004 (præregistreret f89018b8, 1 % af hver trykt værdi), et fund (forbliver MODELLED): den overfladebegrænsede TDOA-grænse gengiver de geometriske faktorer for 40 N (-0.11 %, -0.02 %) og den maksimale TDOA; den fælles TDOA+FDOA-grænse gengiver Fig. 6 (+0,06 %, -0.17 %) og, ved den kilde som forfatternes egen kode angiver for Fig. 7 (ændring skrevet, efter at resultatet var set, oplyst), Fig. 7 (+0,11 %, -0.02 %); den er lig forfatternes offentliggjorte grænsekode (BSD-lignende, kørt under GNU Octave) til 3e-12; den kovariansvægtede maximum-likelihood-løser opnår den trykte grænse (+0,3 til +0,4 %). Faktorerne for Ottawa, som artiklen trykker ud fra en Monte Carlo (251, 7,1), afviger med +1,3 % og +4,4 %, uden for tærsklen på 1 %
Tests
geolocation::tests (støjfri TDOA fremad→invers til 1e-6 m; J·CRLB=I med en symmetrisk PD-kovarians; CRLB-positionsvariansens spor er ikke-aftagende, når en modtager tilføjes; fælles TDOA+FDOA genfinder en bevægelig…
ValideretMaksimal opbremsning ved ballistisk 3-DoF-indflyvning mod det offentliggjorte nominelle tilfælde for Stardustentry_eo_ascent::entry_heating (simulate_entry, inertial_to_relative, EntryHeatingScenario)
Funktion
En 3-DoF-punktmasse-indflyvning over en roterende kugleformet Jord gennem US Standard Atmosphere 1976, integreret med RK4 fra en inertial indflyvningstilstand, med rapportering af den maksimale opbremsning og dens højde; den planet-relative indflyvningstilstand udledt af den inertiale. Kan køres som scenarietypen entry-heating.
Uafhængig reference
Det nominelle tilfælde for Stardust hos Desai, Mitcheltree og Cheatwood (1999, NASA NTRS 20050042027): maksimal opbremsning 33,4 g fra 12,6 km/s planet-relativt med opsendelsesmassen 45,8 kg, en 6-DoF POST-bane med den fulde aerodynamiske database; indflyvningsgrænsefladen fra Desai, Lyons, Tooley og Kangas (NTRS 20090004445): radius 6503,14 km, inertial 12,9 km/s ved -8.2 grader. Tærskler præregistreret i xval/entry-stardust/PREREGISTRATION.md før nogen kørsel på disse input; begge holdt ved første kørsel. HVAD DER IKKE ER: ét offentliggjort tilfælde og én størrelse (maksimal opbremsning, som i den ballistiske tilnærmelse ikke afhænger af den ballistiske koefficient); indflyvningens breddegrad og kurs er antaget; opvarmning, varmebelastning og landingspunktet er ikke kontrolleret mod den; punktmasse med konstant C_D, ikke 6-DoF.
Tests
tests/entry_stardust_published.rs (peak 35,44 g mod de publicerede 33,4 g, +6,1 %, tærskel 10 %; planetrelativ indflyvningshastighed 12,551 km/s mod 12,6, tærskel 0,1 km/s); entry_eo_ascent::entry_heating::tests (roterende system…
ModelleretKonvektiv opvarmning ved indflyvning i stagnationspunktet (Sutton-Graves) på en 3-DoF-indflyvningentry_eo_ascent::entry_heating (stagnation_heat_flux, simulate_entry)
Funktion
Konvektiv varmeflux i stagnationspunktet q = k sqrt(rho/R_n) V^3 med Sutton-Graves-konstanterne for luft på Jorden og atmosfæren på Mars (NASA TR R-376, 1971), dens maksimum og den integrerede varmebelastning langs en 3-DoF-indflyvning, ballistisk eller løftende ved konstant krængning, på Jorden eller Mars.
Uafhængig reference
Intern konsistens: sammenhængen og konstanterne som trykt i NASA TR R-376, en konvergenskontrol med halvt trin og den forventede rækkefølge af maksima for opvarmning og opbremsning. HVAD DER IKKE ER: ingen offentliggjort opvarmningsværdi er sammenlignet (Stardust-artiklerne angiver en konstruktionsgrænse og et konvektivt-plus-radiativt estimat på omkring 1200 W/cm2, som en rent konvektiv sammenhæng ikke kan ramme); ingen radiativ opvarmning, korrektion for vægtemperatur eller katalycitet, eller respons fra termisk beskyttelse.
Tests
entry_eo_ascent::entry_heating::tests::heat_flux_relation_has_the_published_form_and_constants; entry_eo_ascent::entry_heating::tests::lift_lowers_peak_deceleration_and_heat_flux_of_a_shallow_entry…
ModelleretRadiometri, MTF, relativt kantrespons og GIQE 4 NIIRS for elektro-optisk billedoptagerentry_eo_ascent::eo_radiometry (Imager, snr_budget, giqe4_niirs, EoRadiometryScenario)
Funktion
Signal-til-støj-budget for en nadir-billedoptager (lambertsk scenelysstyrke, kameraligning, skud-, mørkestrøms-, udlæsnings- og kvantiseringsstøj), systemets MTF ved Nyquist som produktet af diffraktion for uafskærmet apertur, detektoraperturen, lineær udtværing og gaussisk jitter, kantresponset og det relative kantrespons integreret ud fra denne MTF, Q = lambda F / p og GIQE version 4 NIIRS uden MTF-kompensation. Kan køres som scenarietypen eo-radiometry.
Uafhængig reference
Lukkede former: diffraktions-MTF ved halv afskæring, kanten som en rampe på én pixel for en ren detektorapertur (RER 1), normalfordelingens CDF-kant for en gaussisk udtværing (RER = erf(0.5/(sigma sqrt 2))), skalering af skudstøj og GIQE 4-koefficienterne som offentliggjort (Leachtenauer et al., Applied Optics 36(32), 1997). HVAD DER IKKE ER: ingen ekstern billedoptager, målt MTF eller bedømt billede er sammenlignet; GIQE er en empirisk regression med sin egen fejl; ingen strølys, atmosfærisk MTF, MTF-kompensation eller aliasing.
Tests
entry_eo_ascent::eo_radiometry::tests::diffraction_mtf_has_its_closed_form_values; entry_eo_ascent::eo_radiometry::tests::a_pure_pixel_aperture_has_a_ramp_edge_and_rer_one…
ModelleretTab ved opsendelsesopstigning: tyngdekraft, luftmodstand, styring og modtrykentry_eo_ascent::ascent (simulate_ascent, AscentScenario); reentry::us76_pressure
Funktion
Plan opstigning i tyngdekraftsdrejning for et flertrinskøretøj over en ikke-roterende kugleformet Jord gennem US Standard Atmosphere 1976 (massefylde og tryk), med et pitch-kick, en trækkraft reduceret af dysens modtryk, udbrændinger af trin ved eksakte tringrænser og tabene ved tyngdekraft, luftmodstand, styring og modtryk integreret ved siden af tilstanden. Kan køres som scenarietypen ascent-losses.
Uafhængig reference
Intern konsistens: den eksakte identitet udbrændingshastighed = sum Isp g0 ln(m0/mf) minus de fire integrerede tab (residual under 1e-6 m/s), Tsiolkovskijs ligning på en lodret udbrænding i vakuum med tyngdekraften som eneste tab og US76-trykkene ved havets overflade og tropopausen. HVAD DER IKKE ER: ingen offentliggjorte køretøjers tab er sammenlignet; ingen jordrotation, coast, drosling eller styring ud over kicket; konstant C_D; ikke en banemaksimerer.
Tests
entry_eo_ascent::ascent::tests::the_loss_identity_holds_to_integration_error; entry_eo_ascent::ascent::tests::vertical_vacuum_burn_has_only_gravity_loss_and_stays_vertical…
ModelleretTWSTFT-tovejsligning, usikkerhedsbudget og linkstabilitet med flicker og dagligt ikke-reciprokt ledtwstft_budget (counter_readings, solve_offset, combined_uncertainty, flicker_phase, two_way_series, series_stability); time_transfer_budget (TimeTransferBudgetScenario, read_series)
Funktion
TWSTFT-tovejsligningen løst for T_A - T_B med stationernes sende- og modtageforsinkelser, den ionosfæriske op/ned-asymmetri i Ku-båndet, forskellen i transponderforsinkelse og Sagnac-leddene, mod dens eksakte fremadmodel; et usikkerhedsbudget i kvadratur med linkets TDEV som type A-led; en tovejsserie med hvid og flicker-fasestøj (Kasdin-Walter), et dagligt ikke-reciprokt led og en konstant residual for reciprocitet; samt raten, residual-RMS, TDEV og ADEV for leverede stationsurserier fra Circular T, MJD-CSV eller IGS RINEX. Kan køres som scenarietypen time-transfer-budget.
Uafhængig reference
Intern konsistens: fremadmodellen og den løste ligning stemmer til 1e-15 s, Sagnac-leddet er lig modulets uafhængige BIPM 2A-sløjfeform omega/c^2, det ionosfæriske led er 40,3 TEC (1/f_up^2 - 1/f_down^2)/c, og støjprocesserne viser deres forventede TDEV-former. HVAD DER IKKE ER: ingen rigtig TWSTFT-måling eller kalibreringsrapport er sammenlignet; de angivne forsinkelser og usikkerheder er input, ikke målt; stabiliteten af leverede serier rapporteres, ikke valideres.
Tests
twstft_budget::tests (tovejsligningen genfinder forskydningen eksakt; Sagnac-leddet er lig BIPM-løkkens lukkede form; det ionosfæriske led følger frekvensopdelingen, og troposfæren udlignes; flicker-fase har…
ModelleretNumerik for optisk atmosfære på skråsti: Rytov-varians, scintillation, fadingsandsynlighed for gamma-gamma, aperturmiddelværdi, skyers og klar lufts optiske dybdeoptical_atmosphere (rytov_variance, scintillation, gamma_gamma_cdf, fade_margin_db, aperture_averaging_factor, cloud_optical_depth, clear_air_optical_depth); optical_linkbudget (optical_link_budget_atmosphere)
Funktion
Hufnagel-Valley Cn2 integreret langs en skråsti til Rytov-variansen for plan- og kugleformet bølge (uplink og downlink), Andrews-Phillips-scintillationsindekset og gamma-gamma-parametrene, fadingsandsynligheden og fademarginen for gamma-gamma, aperturmiddelværdifaktoren ved svag turbulens, den optiske dybde af skyer for en søjle af flydende vand og den optiske dybde for klar luft efter Kim-sigtbarhed plus Rayleigh, som erstatter det samlede atmosfæriske tab i det optiske linkbudget, når en atmosfære leveres. Kan køres inde i scenarietypen optical-atmosphere.
Uafhængig reference
Numerikken sammenlignes med et uafhængigt program (xval/optical-atmosphere/oracle.py, mpmath 1.4.1 med 30 cifre, tanh-sinh-kvadratur på den oprindelige højdevariabel og Bessel-K-gamma-gamma-tætheder), som ikke deler kode med Kshana, under tærskler fastsat før nogen implementering fandtes (xval/optical-atmosphere/PREREGISTRATION.md). HVORFOR MODELLED: den reference evaluerer de samme offentliggjorte formler, så den kontrollerer implementeringen af de angivne formler og ikke atmosfæren; intet valideringseksempel fra ITU-R og ingen målt scintillations- eller skråstiekstinktionsregistrering bruges (ITU-værdierne er en åben licensbeslutning og holdes uden for repositoriet). Niveauet i Cn2-profilen, sigtbarheden, skalahøjderne for aerosol og molekyler, aperturmiddelværdiens stilængde og momentmatchningen, der bruges til at anvende aperturmiddelværdi på gamma-gamma-parametrene, er angivne input eller konventioner. En kildelinje i modulet noterer, at én udbredt kopieret oversigt trykker den anden scintillationseksponent som 7/6, hvor Andrews og Phillips angiver 5/6; formen med 5/6 er implementeret
Tests
tests/optical_atmosphere_reference.rs (præregistrerede tærskler A1-A3 mod den uafhængige mpmath-reference: 216 Rytov-gitterpunkter, værste relative fejl 3.4e-7 mod en tærskel på 1e-6, scintillation værste 4.5e-16, aperturfaktor…
ModelleretVejrdrevet tilgængelighed for optisk jordstation og afstandskorreleret stationsdiversitetoptical_weather; optical_sitediv; optical_techniques; optical_atmosphere_scenario
Funktion
Tilgængelighed af et optisk link mod en angivet linkmargin ud fra et lognormalt klima for flydende vand i skyer (mængde efter ITU-R P.840, ekstinktion i geometrisk optik) og det uafhængige turbulensfading for gamma-gamma, den linkmargin der behøves for målrettede tilgængeligheder og det loft, ingen margin kan løfte, lognormale varigheder af udfald, hvad-nu-hvis for forbedringsteknikker og en ét-faktor gaussisk copula-netværkstilgængelighed, hvis parkorrelation er exp(-afstand/dekorrelationslængde). Kan køres som scenarietypen optical-atmosphere.
Uafhængig reference
Intern konsistens: grænser i lukket form og monotoni for diversitetsmodellen, den lukkede form for skyloftet og de lognormale identiteter for udfald. INGEN ekstern uafhængig reference gøres gældende, og ingen er sammenlignet: ingen målt registrering af tilgængelighed for optisk jordstation eller fri sigtelinje uden skyer bruges. HVORFOR MODELLED: skyklimaet (sandsynlighed for skyer, median og spredning af søjlen af flydende vand, varigheder af udfald), uafhængigheden af skyer og turbulens, den gaussiske copulaform, dekorrelationslængden og hver teknikgevinst er antagelser; de medfølgende scenarier angiver ILLUSTRATIVE klimaer, ikke et datasæt. At opgradere denne række kræver en citeret målt registrering af tilgængelighed og en tærskel registreret før sammenligningen
Tests
tests/optical_atmosphere_identities.rs (tærskel A4: rho = 0 er lig den uafhængige forening og rho = 1 det bedste enkelte sted til 1e-12, og nul monotonibrud i antal steder og i korrelationen; den første…
ModelleretKontinuitet i tidssynkronisering og afstandsmåling gennem optiske udfaldoptical_outage_holdover (couple, clock_psds); holdover (coast_phase_sigma, holdover_seconds, phase_to_range_m)
Funktion
Fordelingen af varigheden af udfald for et optisk sted koblet til den lukkede coast-varians i holdovermodellen for ur: fejl i tidssynkronisering og afstandsmåling ved angivne kvantiler af udfald, holdover til en tærskel for tidssynkronisering, andelen af udfald og af udfaldstid inden for den og tilgængeligheden af tidssynkronisering A + U E[min(D, T_h)]/E[D], for de klassiske og kvanteurklasser. Kan køres inde i scenarietypen optical-atmosphere.
Uafhængig reference
Intern konsistens med holdovermodulet, bit for bit; INGEN ekstern uafhængig reference gøres gældende. Klassernes PSD'er er de syntetiserede gulve ved lang tau, som holdovermodulet allerede bærer, så tallene arver dets angivne forbehold om, at holdover til en stram tærskel styres af det antagne gulv med rød støj og ikke af den citerede Allan-deviation. Varighederne af udfald er en lognormal model med angivne parametre, ikke en målt registrering af skyopholdstid
Tests
tests/optical_atmosphere_identities.rs (tærskel A6: tidsfejlen pr. udfald er lig holdover::coast_phase_sigma, og afstandsfejlen er lig phase_to_range_m bit for bit over 9 ure, 3 middelvarigheder, 3 spredninger og 4…
ModelleretOptisk linkmargin over tid: én seedet realisering af vejret på et stedoptical_timeseries (site_series, SiteModel, SeriesSpec, Series); optical_atmosphere_scenario (TimeseriesSpec)
Funktion
En tilvalgt tabel [timeseries] (duration, step, seed) får typen optical-atmosphere til også at skrive, pr. sted, én seedet realisering af den angivne stedsmodel gennem tiden: skyepisoder (klare perioder eksponentielle, skyudfald lognormale med angivet middelværdi og spredning, andelen af tid i skyer sat til den angivne sandsynlighed for skyer), én lognormal søjle af flydende vand pr. skyepisode, ét gamma-gamma-scintillationssample pr. trin og ud fra dem linkmarginen, fadingerne fra skyer og scintillation og flaget for link oppe, med den realiserede tilgængelighed, skyandel, antal udfald og længste udfald. Uden tabellen er resultatet dokumentet fra 0,37. Trækkene går gennem de portable fordelings- og matematikruter, så native og wasm32 giver de samme bytes.
Uafhængig reference
Kun intern konsistens; INGEN ekstern uafhængig reference gøres gældende, og ingen findes for en realisering af vejret. Kontrollerne sammenligner ét træk med det statistiske output fra den samme model, så en bestået kontrol siger, at generatoren udtrækker de angivne fordelinger (trækkets tilgængelighed og skyandel ligger inden for præregistrerede tolerancer af de angivne tal), ikke at noget rigtigt sted opfører sig sådan. Serien er én realisering, ikke klimaet: dens tilgængelighed afviger fra den angivne med trækkets stikprøvefejl, og scintillationssamples i forskellige trin er uafhængige, en angiven forenkling af en proces, der dekorrelerer på millisekunder. Vejrinputtene forbliver scenariets antagelser.
Tests
tests/optical_atmosphere_timeseries.rs (tærskler T1-T6 i xval/optical-atmosphere/PREREGISTRATION-timeseries.md, fastlagt før den første kørsel: samme seed samme bytes og en anden seed andre bytes; ingen nøgle uden tabellen; over…
ModelleretLæser af TRK-2-18 Orbit Data File og model for rampet 2-vejs-Doppler ved Marsodf (parse_odf, Odf, OdfObservation, OdfRamp, seconds_1950); mars_od (DopplerModel, RampTable, compress_two_way, MarsDynamics, fit, fit_damped); naif_kernel (SPK type 1); gravity_pds (SphericalHarmonicField::from_shadr)
Funktion
En læser af DSN Orbit Data Files (TRK-2-18): postgrupperne på 36 byte (filmærkat, identifikator, banedata, ramper pr. station, urforskydninger, sammendrag, filslut), og i hver banedatapost tidsmærket siden 1950, forsinkelser i downlink og uplink, observabel, stationer, datatype, bånd, gyldighed, kanal, rumfartøj, referencefrekvensen på 46 bit og kompressionstiden; start- og sluttider, rater og startfrekvenser for ramper. Ovenpå den en model for rampet 2-vejs X-bånd-Doppler (integrerede uplink-ramper, rundturs-lystid med Shapiro og troposfære, DSN-stationer gennem IAU 2006/2000A CIO-kæden og IERS EOP, stationstid) og en batch-banebestemmelse for Mars-orbiter (GMM-3-felt, tredjelegemer, SRP, drag).
Uafhængig reference
PDS3-mærkatet, som DSN's proces til datakonditionering for navigation frembragte sammen med filen (NASA PDS Geosciences Node, MRO-M-RSS-1-MAGR-V1.0), kontrolleret mod tærskler præregistreret i xval/mro-odf/PREREGISTRATION.md før læseren fandtes. MODELLED, fordi én registreret tærskel (rækkerne i tabellen for filslut, 121 i filen mod 120 i mærkatet) ikke blev nået; mærkatet er internt uforeneligt her. Trin 2 (xval/mro-od/PREREGISTRATION.md, ændringerne A1 og A2 før det scorede resultat): den Doppler, der er forudsagt ud fra rekonstruktionen fra MRO's navigationshold (mro_psp5, NAIF), stemmer med den observerede rampede 2-vejs-Doppler til 12,5 mHz på passager, der ikke blev brugt under udviklingen, tærskel nået; den registrerede banebestemmelse mislykkedes på den scorede bue (normalmatrix ikke positiv definit) og gav ingen bane, så banetærsklerne blev ikke nået. Kørsel 2 (xval/mro-od/PREREGISTRATION-RUN2.md, en dæmpet estimator, samme bue og tærskler, en scoringsændring R2-A1 oplyst i docs/revisions) konvergerede: den estimerede bane ligger inden for 0,36 km RMS (0,53 km maksimum) af rekonstruktionen, tærskler nået, men Doppler-RMS efter tilpasning er 48,6 mHz mod tærsklen på 30 mHz, ikke nået, så rækken forbliver MODELLED. HVAD DER IKKE ER: ingen estimeret bane har nået hver registreret tærskel; ionosfære, solplasma og det meste af antenneforskydningen (en radial forskydning på 1,5 m tilpasses på udviklingspassagen) er ikke modelleret.
Tests
tests/mro_odf_reader_label_oracle.rs (en reel MRO ODF, 2007-304/305, mod sin PDS-etiket: antal poster, gruppepositioner, stationer, start- og sluttider og datatyper holder; slutfilstabellens rækkeantal rammer forbi med…
ValideretAttitudestyring med MRP-feedback i lukket sløjfe med reaktionshjulaocs (AocsConfig, required_torque, motor_torques, rates, rk4_step, simulate, mrp_from_quaternion); aocs_kind (AocsScenario)
Funktion
Inertial pegestyring af en stiv hub med tre eller flere afbalancerede reaktionshjul: MRP-feedbackloven L_r = -K sigma_BR - P omega_BR (Schaub og Junkins), motormomenter til hjulene med mindste norm G_s u = -L_r begrænset til hvert hjuls grænse, den koblede dynamik for hub og hjul, hvor hubbens inerti bærer hjulenes spininerti, kvaternionkinematik og RK4 med zero-order hold. Kan køres som scenarietypen aocs (sløjfe med sand tilstand).
Uafhængig reference
Basilisk 2.9.1 (AVSLab, ISC; bsk-hjulkørslen som et separat værktøj, aldrig linket eller vendoret): rumfartøjets hub, reactionWheelStateEffector (BalancedWheels, momentgrænse slået til), simpleNav, inertial3D, attTrackingError, mrpFeedback (uden integralled) og rwMotorTorque ved dt = 0,1 s med dens RK4, mod Kshanas egen implementering i tre tilfælde (tre ortogonale hjul; en firehjulspyramide; et mættende firehjulstilfælde), tærskler præregistreret i xval/aocs-basilisk/PREREGISTRATION.md før koden og kørslen. Alle tærskler holdt ved første kørsel. HVAD DER IKKE ER: sensorstøj i sløjfen, integralfeedback, sporingsstyring, hjulfriktion, jitter, hastighedsgrænser og effekt, noget rigtigt rumfartøjs forstærkninger; sammenligningen kontrollerer implementeringen af loven og dynamikken mod en uafhængig, ikke en flyvekontroller.
Tests
tests/aocs_basilisk_oracle.rs (3 tilfælde, 601 stikprøver hver: MRP værste 2.4e-14, tærskel 1e-9; legemerate 1.6e-15 rad/s, tærskel 1e-9; hjulhastighed 2.9e-11 rad/s, tærskel 1e-6; påført motormoment 1.2e-13 N m, tærskel 1e-9; t = 0 momenter…
ModelleretMultiplikativt EKF til attitudeestimering ud fra et gyro og en stjernesensoraocs_mekf (Mekf, GyroSim, attitude_error, spd_solve6); aocs_kind (estimator)
Funktion
Det multiplikative EKF af Lefferts-Markley-Shuster: attitudefejl i legemssystemet og gyrobiastilstande, propagering med gyroraten minus biasestimatet og Farrenkopfs diskrete processtøj (vinkel- og rateflugt), opdateringer fra stjernesensoren med residualen 2 vec(q^-1 q_st) i Joseph-form og den multiplikative nulstilling; en diskret Farrenkopf-simulator for gyro og stjernesensor. Typen aocs kan lukke styresløjfen på sit estimat.
Uafhængig reference
Intern konsistens: filterets normaliserede kvadrerede estimationsfejl mod sandheden simuleret ud fra de samme sensormodeller over Monte Carlo-seeds og konvergens af attitude- og biasestimaterne. HVAD DER IKKE ER: ingen ekstern estimator eller flyvedata er sammenlignet (Basilisk 2.9.1 har intet MEKF-modul); sensormodellerne er lærebogsmodellerne uden forskydning i monteringen, skalafaktor eller effekter af stjernesensorens synsfelt.
Tests
aocs_mekf::tests::mekf_is_consistent_over_monte_carlo_seeds (40 seeds, middel-NEES med seks frihedsgrader over anden halvdel inden for 4,5 til 7,5); aocs_mekf::tests::star_tracker_updates_bound_the_attitude_error…
ValideretAttitudebestemmelse med Wahba/TRIAD/QUESTwahba
Funktion
Optimal tre-akset attitude ud fra vægtede vektorobservationer (retninger til stjerne/sol/magnetometer): den deterministiske tovektor-TRIAD, Davenports q-metode (den eksakte minimerer af Wahba-tabet — den optimale kvaternion er egenvektoren til den største egenværdi i Davenport-matricen K på 4×4, løst med en symmetrisk Jacobi-egenværdiløsning) og QUEST (Newton/sekant-rod af K's karakteristiske ligning med start ved Σ vægte, derefter genfinding af kvaternionen via Gibbs-vektor)
Uafhængig reference
scipy.spatial.transform.Rotation.align_vectors (SciPy 1,13; Virtanen et al., Nature Methods 2020) — Kabsch/Markley-SVD-løsningen af Wahbas problem, en reelt uafhængig algoritme (SVD af attitudeprofilmatricen) og kodebase i forhold til egenværdiløsningen med Davenport-K og rodmetoden for karakteristisk polynomium i QUEST fra kshana, som beregner den SAMME entydigt definerede Wahba-optimale attitude. På støjfri vægtede sæt af vektorobservationer gengiver TRIAD, q-metoden og QUEST scipys optimale rotation til <1e-9 rad (sammenlignet via vinklen for attitudefejl, som er uafhængig af fortegn). Den støjede Monte Carlo-statistiske påstand 'optimal slår TRIAD' forbliver MODELLED (ingen ekstern uafhængig reference); kun punktretnings-enhedsvektorobservationer — ingen modellering af sensorens synsfelt/bias/tidsmæssig korrelation, og QUEST er singulær ved 180° (q-metoden dækker det tilfælde)
Tests
wahba::tests (A(identitetskvaternion)=I; Jacobi-egenværdiløseren opfylder Kv=λv og bevarer sporet på en kendt symmetrisk matrix; K er symmetrisk); tests/wahba_reference.rs (TRIAD, Davenports q-metode og QUEST…
ValideretDetektionsstatistikker for GNSS-erhvervelse med kvadratlovacquisition
Funktion
Kvadratlov-detektor (ikke-koherent) for erhvervelse over en søgning i kodefase × Doppler: falsk-alarm-sandsynlighed (central χ² med 2M frihedsgrader), tærsklen der opnår en målrettet P_fa (χ²-CDF inverteret ved bisektion) og detektionssandsynlighed (ikke-central χ² med ikke-centralitet 2M·ρ for SNR pr. celle efter korrelation ρ), med den generaliserede Marcum Q-funktion Q_M(a,b)=1−F_{χ'²(2M,a²)}(b²)
Uafhængig reference
scipy.stats.ncx2 / scipy.stats.chi2 (SciPy 1,13; Cephes/Boost) — en uafhængig algoritme (kædebrøk for ikke-central/central χ²) i forhold til den ufuldstændige gammaserie i kshana (raim::chi2_cdf / noncentral_chi2_cdf), som beregner den samme entydigt definerede KERNE for detektionsstatistik: den generaliserede Marcum Q_M(a,b)=ncx2.sf(b²,2M,a²), detektionssandsynligheden P_d, falsk-alarm-sandsynligheden P_fa og inversionen P_fa→tærskel, afstemt til ~1e-6 — samme grundlag for uafhængighed som den validerede række 'statistisk kerne for RAIM/ARAIM-integritet'. KUN kernen: CFAR med celleaveraging pr. celle og tabet ved kode-/Doppler-intervaller forbliver MODELLED
Tests
acquisition::tests (Marcum-Q centralt tilfælde Q_1(0,b)=exp(−b²/2); identiteten P_d=Q_M(√(2Mρ),√γ); P_fa↔tærskel-rundtur på tværs af M og P_fa; ROC-monotonicitet — P_d stiger med SNR, falder med tærskel, P_d→P_fa, når…
ValideretOpløsning af heltalsmultiplicitet i bærebølgefase for GNSS (LAMBDA)lambda
Funktion
Fastsættelse af heltalsmultiplicitet med mindste kvadrater på LAMBDA-måden: en volumenbevarende heltals-dekorrelerende (Z) transformation (heltals-Gauss-størrelsesreduktion af faktoren L D Lᵀ) + en eksakt depth-first branch-and-bound-søgning efter Schnorr–Euchner for heltals-mindste-kvadrater, med ratiotesten på de to bedste kandidater (den validerede påstand); plus den lukkede bootstrappede succesrate P_s=∏(2Φ(1/(2σ_{i|I}))−1), som kun kontrolleres internt og ligger uden for den validerede påstand
Uafhængig reference
RTKLIB v2.4.2-p13 lambda() (dens kildefil lambda.c, T. Takasu, BSD-2-Clause), en uafhængig LAMBDA-reduktion og MLAMBDA-søgning kompileret fra C og kørt som et værktøj, på 300 tilfældige kovarianser (n 2 til 10): mindste kvadrater med heltal har en entydig minimerer, så de fastsatte heltal skal være identiske (0 afvigelser), og de to bedste kvadrerede normer, som indgår i ratiotesten, stemmer til 1e-9 relativt (målt 5.6e-13); tolerance fastsat før sammenligningen. Valideret påstand: ILS-løsningen og dens to bedste normer. RTKLIB beregner ikke den bootstrappede succesrate, som forbliver kontrolleret internt mod en Monte Carlo af afrundingsprocessen; invarianterne i Z-transformationen og den udtømmende optælling består som understøttende kontroller. Kun heltals-Gauss-dekorrelation (omordningspermutationerne i den fulde LAMBDA-reduktion fremskynder søgningen, men ændrer hverken det eksakte ILS-svar eller den bootstrappede rate)
Tests
lambda::tests (L D Lᵀ rekonstruerer Q); tests/lambda_reference.rs (Z-transformationen er unimodulær |det Z|=1 med Q_z=ZᵀQZ SPD, determinantbevarende og lavere samlet korrelation uden for diagonalen; Schnorr–Euchner-ILS matcher…
ValideretB-plan-sigtning og patched-conic-tyngdekraftsassistancebplane
Funktion
Geometri for hyperbolsk forbiflyvning (a=−μ/v∞², e=1+r_p·v∞²/μ, drejningsvinkel δ=2·asin(1/e), afstandsparameter |B|=|a|·√(e²−1)), sigtepunktsystemet Ŝ/T̂/R̂ i B-planen og dekomponeringen B·T̂/B·R̂, og en patched-conic-tyngdekraftsassistance (størrelsen af v∞ bevaret, retningen afbøjet med δ, heliocentrisk Δv=2·v∞·sin(δ/2) uden omkostning i drivmiddel) med Tisserand-parameteren T_P=a_P/a+2√((a/a_P)(1−e²))cos i
Uafhængig reference
GMAT R2026a (Apache-2.0, kørt som et separat program) på 192 hyperbolske tilstande for Jorden: B.T, B.R og |B| inden for 1e-6 km (værst 1.35e-8 km), drejningsvinklen og begge asymptoter inden for 1e-9 rad (værst 9.3e-15 rad); assistancens hastighedsændring ud fra GMAT C3 og asymptoter inden for 1e-9 v_inf (værst 5.6e-14); heliocentrisk SMA, ECC og INC på 350 solcentrerede tilstande før og efter assistancen inden for 1e-9 relativt og 1e-12 rad (værst 2.2e-14 og 4.1e-14 rad); Tisserand-parameteren mod sbpy 0.6.0 (BSD-3) på GMAT-elementer inden for 1e-9 (værst 1.3e-15) og mod 3 - C3/v_c^2 (8.9e-16); og den lukkede form for Tisserand mod Kasuga og Jewitt (2019) Table 8,1 for 12 objekter inden for grænsen for trykt afrunding (værst 0,39 af den; en offentliggjort P1-udregnet værdi). Præregistreret (436293bf; heliocentrisk reparation 6fd9f5e6); ændring 374c806b, skrevet efter at referencefilerne var genereret og før nogen værdi fra Kshana, udvidede inputfilteret for inklination fra 1e-2 til 1e-3 rad, så flere og dårligere konditionerede tilstande blev bevaret. Omfang (MODELLED): patched-conic-forbiflyvning med to legemer på en cirkulær planetbane, ingen overgang mellem indflydelsessfærer, ingen forstyrrelser ved mødet og ingen efemeride
Tests
bplane::tests (forbiflyvningens skalarer opfylder de lukkede former med to samstemmende |B|-identiteter og |B|>r_p; drejningsvinklen aftager med periapsisradius og når grænserne δ→0 / δ→π; afbøjning bevarer v∞-hastigheden og…
ValideretCRPA-strålformning mod jamming med antennearraycrpa
Funktion
Nulstyring for antenne med kontrolleret modtagemønster: komplekse styrevektorer for arrayet a(û)=exp(j·k·pₙ·û), deterministisk nulstyring (enhedsforstærkning mod SV, eksakte nuller mod op til N−1 jammere via minimumsnormen w=Aᴴ(AAᴴ)⁻¹b) og adaptive MVDR-vægte w=R⁻¹a_sv/(a_svᴴR⁻¹a_sv), som selv styrer dybe nuller mod stærke interferenskilder (med en kompleks lineær-algebra-kerne skrevet fra bunden)
Uafhængig reference
numpy.linalg / scipy.linalg (LAPACK zgesv kompleks løsning) — en lineær-algebra-kodebase, der er uafhængig af den komplekse kerne fra bunden i kshana, og som beregner de SAMME entydigt definerede vægte: MVDR w=R⁻¹a_sv/(a_svᴴR⁻¹a_sv) og nulstyring med minimumsnorm w=Aᴴ(AAᴴ)⁻¹b, plus de resulterende forstærkninger af arrayresponset, afstemt til ~1e-9 — samme klasse af uafhængig reference som rækkerne for validerede DOP (gnss_lib_py) og Fisher-information (numpy). MODELLED smalbåndsarray i fjernfeltet med identiske isotrope elementer — ingen gensidig kobling, afvigelse mellem elementer, endelig båndbredde (STAP) eller fejl i estimeringen af styrevektoren
Tests
crpa::tests (komplekse aritmetiske identiteter inkl. z/z=1, |exp(jθ)|=1, zᴴz=|z|²; deterministisk nulstyring giver eksakt enheds-SV-forstærkning og <1e-9 jammer-nuller på en 4-elements ULA med 3 jammere; et N-elements array afviser…
ValideretIEEE-1139 potenslovsstøj for ur + flicker-FM-gulvpowerlaw
Funktion
Konverteringen med fem koefficienter i IEEE-1139 mellem PSD og Allan-varians S_y(f)=Σh_α f^α → σ_y²(τ) (hvid/flicker-PM, hvid/flicker/random-walk-FM), flicker-FM-gulvet σ_y=√(2 ln2·h_{-1}) som et førsteklasses tilpasseligt led og en ikke-negativ tilpasning af FM-familien i basen {(2π²/3)τ, 2 ln2, 1/(2τ)}, som genfinder det gulv, driftbasen {1/τ,τ,τ³} ikke kan repræsentere
Uafhængig reference
allantools 2024,06 (A. Wallin; koefficienter fra Kasdin & Walter 1992 / Vernotte 2015) — en uafhængig tredjepartskodebase og citationslinje, som beregner den SAMME entydigt definerede IEEE-1139-konvertering fra PSD til Allan σ_y(τ) for hver af de fem typer potenslovsstøj. powerlaw::allan_deviation i kshana stemmer med de lukkede former i allantools (hvid/flicker-FM, RW-FM og hvid PM til <5e-9 relativt; flicker-PM til ~1e-5 — det egentlige signal om uafhængighed, da kshana bruger den tabulerede konstant 1,038 fra NIST-SP-1065 mod den fulde 3γ−ln2 i allantools), og flicker-FM-gulvet √(2 ln2·h_{-1}) stemmer med allantools over hele rækken — den samme tærskel, som de validerede rækker for MDEV/TDEV/Theo1/MTIE klarer. MODELLED stationær potenslovsmodel — intet deterministisk driftled (τ²); koefficienter pr. enhed / målte gulve forbliver modelleret
Tests
powerlaw::tests (hver ren støjtype viser sin karakteristiske ADEV-log-log-hældning — hvid FM −½, flicker FM 0, random-walk FM +½, hvid PM −1; flicker-FM-leddet er et fladt gulv lig √(2 ln2·h_{-1}) over fem dekader…
ValideretUdveksling af kovariansblok i CCSDS OEMoem (covariance_block_kvn, parse_covariance_block)
Funktion
Serialisér og fortolk CCSDS 502,0 OEM-blokken COVARIANCE_START…COVARIANCE_STOP — positions-/hastighedskovariansen på 6×6 skrevet som sin nedre trekant med 21 elementer (kanonisk rækkefølge CX_X … CZ_DOT_Z_DOT) med den valgfrie COV_REF_FRAME, som supplerer den eksisterende OEM-skriver/-parser for tilstandsvektorer, så kovarianser fra banebestemmelse og filtre kan sendes rundt i standardformatet
Uafhængig reference
oem 0.4.5 (MIT, https://pypi.org/project/oem/) — den SAMME uafhængige CCSDS-502-parser, som den validerede række 'CCSDS OEM-interoperabilitet' stoler på, en helt særskilt kodebase (egen KVN-tokenizer, egen tilstandsmaskine for kovariansafsnittet og egen opbygning af numpy-matricer). kshana udsender et fuldt OEM-segment med sin umærkede blok COVARIANCE af rene tal i nedre trekant; oem fortolker det og rekonstruerer den symmetriske matrix 6×6, som matcher kshanas inputkovarians element for element til f64-afrundingsfejl — en reel udvekslingsrundtur mellem biblioteker (sammenlignet med rekonstruktionen fra oem, ikke en ny fortolkning fra kshana), som lukker rækkens tidligere hul 'ingen tredjeparts-fixture'
Tests
oem::tests (en symmetrisk PD-kovarians gennemløber KVN→parse til f64-afrunding og forbliver symmetrisk; blokken udsender præcis de 21 nedre trekantsposter — i+1 pr. matrixrække — med/uden COV_REF_FRAME; en blok med…
ValideretFejlvækst og tærskelkrydsninger ved INS/TRN-coastinertial::coast (ErrorDynamics, ErrorSource, source_error_m, CoastModel, Contribution, Combination, TrnFixMode, first_crossing_s, InsTrnCoastScenario); scenario kind ins-trn-coast
Funktion
Budget for positionsfejl mod coast-varighed bygget ud fra IMU-koefficienter, hver fejlkilde (accelerometerbias, gyrobias, hastighedsrandomwalk, vinkelrandomwalk, skalafaktor under marchfart og under vedvarende specifik kraft) propageret gennem en INS-fejlmodel med ni tilstande i lokalt niveau med Schuler-feedback (inertial::coast::ErrorDynamics efter Groves 2. udg. kap. 14: fejl i attitude, hastighed og position, den lodrette kanal med sin tyngdegradient, WGS-84-radier og normaltyngde, en vandret platform med kurs mod nord ved den konfigurerede fart, latitude_deg og height_m; systematiske led ved en udvidet matrixeksponential, random walks ved Van Loan), flat-Jord-monomierne bevaret kun som leading_order_m; bidrag kombineret efter en angivet regel (rss / linear-sum / deterministic-sum-with-stochastic-rss); de coast-varigheder, der når positionstærskler leveret af kalderen (10 m og 50 m som standard), lokaliseret ved en fremadgående scanning efter den første krydsning (first_crossing_s, da kurverne afgrænset af Schuler ikke er monotone), med den dominerende kilde ved hver krydsning; og en TRN-afgrænset tilstand, der giver det største interval mellem terrænpositionsbestemmelser, som holder hver tærskel. Kan køres som scenarietypen ins-trn-coast
Uafhængig reference
NaveGo v1.4 (commit 24d9488, LGPL-3.0), kørt som et separat program under GNU Octave 8.4.0: kørsler med fri inertial coast med den samme IMU-fejlprofil og med ét rettet numerisk dødbånd i dens kvaternionopdatering (qua_update.m: vagten på en rate under 1e-8 rad/s erstattet af wnorm == 0, anvendt på en kopi ved kørsel og kontrolleret at passe én gang; med vagten på frøs en langsomt drivende platformsattitude og afskar Schuler-feedbacken). Præregistreret (4262b969) med den rettede generator, før den blev kørt; motoren (440b3877) blev committet, før noget rettet output blev åbnet; samme tærskel på 5 %, 48 punkter, led, seeds og statistik som i runde 1. Resultat: 48/48 inden for 5 % (værst +3,70 % hastighedsrandomwalk ved 1200 s, +3,33 % vinkelrandomwalk ved 1800 s); ved 3600 s giver NaveGo/Kshana 2375.4/2376.2 m for accelerometerbias og 130 885/131 675 m for gyrobias. Hvis Schuler-feedbacken for transportraten nulstilles, fejler testen (+695 % ved 3600 s). Oplyst: forudsigelser for Schuler i én kanal og værdierne fra NaveGo i runde 1 var kendte; modellen har ingen tilpasset parameter. Omfang: kurverne for fejl pr. led ved Tactical-klasse, 45 grader N, vandret og pegende mod nord, op til 3600 s; krydsningerne, kombinationsreglen og TRN-tilstanden er deterministiske funktioner af disse kurver. IMU-klassens koefficienter (båndtal i Groves 2013 Table 4,1) og residualen for TRN-positionsbestemmelse forbliver MODELLED input. Runde 1 (afløst): flat-Jord-monomierne, nu leading_order_m, overvurderer ud over 600 s (2.2x til 8x ved én time). 0,30 revision: hvert output fra ins-trn-coast flytter sig (den leverede scenarie-TRN-top 52,932679 -> 44,711834 m)
Tests
tests/ins_coast_schuler_navego_oracle.rs::coast_error_model_matches_the_corrected_navego_runs (48 punkter, seks fejlled ved 30 s til 3600 s, taktisk klasse, 45 deg N, vandret og pegende mod nord: hvert punkt inden for 5 %…
ModelleretArbejdscyklus for apertur: navigation kontra kommunikationaperture_duty
Funktion
Én kørsel tager en kontaktplan (en liste af vinduer aos_s/los_s, hvert med anmodning til aperturen om navigation eller kommunikation — det samme vindues-vokabular som passes::predict_passes udsender, konverteret af aperture_duty::windows_from_passes), et antal aperturer og en eksplicit arbitreringspolitik, og returnerer navigationsarbejdscyklussen, kommunikationsarbejdscyklussen, den ledige arbejdscyklus og udfaldet pr. session. Politikken er et input med en dokumenteret standard (navigation-priority; også communications-priority og ikke-præemptiv first-come-first-served), og rapporten bærer den løste politik, dens fulde definition og definitionerne af arbejdscyklus og udfald, fordi et arbejdscyklustal oplyst uden sin arbitreringsregel ikke kan gengives. Planen er et eksakt intervalsweep over vinduesgrænserne, så et vindue, der slutter præcis, hvor det næste begynder, aldrig konkurrerer, og aperturesekunder for navigation, kommunikation og tomgang akkumuleres uafhængigt i det ene sweep. Kan køres som scenarietypen aperture-duty-cycle
Uafhængig reference
Intern konsistens, ud fra tre størrelser beregnet med forskellige udtryk i samme sweep og derefter krævet at gå op. Aperturesekunder til navigation, aperturesekunder til kommunikation og aperturesekunder i tomgang akkumuleres hver for sig — tomgang ud fra (aperturer − |serveret|) pr. elementært interval, aldrig som en rest — og deres sum kontrolleres mod aperturer × horizon_s, hvilket en forkert afgrænset grænse, et dobbelttalt interval eller et udeladt interval straks bryder; de serverede tider pr. session skal desuden hver for sig lægge sig til de to totaler for service. Planlæggerens strukturelle egenskaber er målt frem for antaget: serveret tid kontrolleres at være ikke-aftagende i antallet af aperturer over 200 pseudotilfældige planer for alle tre politikker (ikke indlysende for den ikke-præemptive politik, hvor en ekstra apertur ændrer, hvem der har hvad ved hver senere grænse), og grænsearitmetikken er fastholdt ved parret med berøring/overlap på ét sekund, hvor en off-by-one ellers ville skjule sig. Broen til pasforudsigeren kontrolleres mod output fra passes::predict_passes: med én apertur og ingen konkurrerende service er aperturesekunderne til navigation lig forudsigerens egen sum af pasvarigheder. Ingen ekstern uafhængig reference gøres gældende, og ingen findes: kapaciteten afløser regning i hånden frem for at blive kontrolleret mod den, den medfølgende kontaktplan er illustrativ frem for fløjet, og ingen operationel planlægger offentliggør et par af plan og svar med sin arbitreringsregel angivet — et arbejdscyklustal beregnet under en uangivet politik kan ikke sammenlignes med et beregnet under en angivet, og afhængigheden af politikken er målt (arbejdscyklusser for navigation på 100/150 mod 50/150 på den identiske plan). Omstillingstid og slew, datamængde, bufferstatus, energi og linklukning er udelukket i rapportens mærkat frem for at være modelleret i det skjulte
Tests
aperture_duty::tests (et vindue, der slutter præcis, når det næste begynder, konkurrerer ikke, og at flytte det ét sekund tidligere koster præcis ét sekund — vagten mod off-by-one; overlappende vinduer ud over aperturantallet…
ModelleretRF-jamming af navigation på månens overflade (J/S pr. satellit)lunar_jamming (composing jamming, lunar_service, lunar)
Funktion
Måne-native forhold mellem jammer og signal, effektiv C/N₀ og tab af lås for en selenografisk bruger på overfladen under en jammer på månens overflade (eller hævet), over den illustrative konstellation af Moonlight/LCNS-klassen fra offentlige kilder. Sammensætter den åbne jammingkæde (j_over_s_db, effective_cn0_dbhz, rx_antenna_gain_db, lock_status, q_factor, nominal_cn0_dbhz, free_space_path_loss_db) med den åbne geometri for månehimlen (lunar_service::LunarConstellation + topocentric, lunar::selenographic_to_mcmf); ingen geometri eller radiometri udledes igen. I modsætning til typen jamming for Jorden er signalleddet ikke en fast modtaget effekt: hver satellits isotrope modtagne effekt er dens eget linkbudget EIRP − FSPL(skråafstand), så J/S varierer fra satellit til satellit med afstand og elevation på Månen. Udsender ÉN RÆKKE PR. SYNLIGT LINK (epoke, satellit) som JSON og som artefakt *.table.csv, med begge modtagne effekter, hvis forskel J/S er, trykt ved siden af; aggregerede kvalitetsmål står ved siden af tabellen, aldrig i stedet for den. Kan køres som scenarietypen lunar-jamming
Uafhængig reference
Sammensætningskontrol mod en uafhængig kodesti i samme repository: hvert J/S pr. link udledes igen som forskellen mellem to linkbudgetter beregnet med linkbudget::received_signal_power_dbw, hvis frirumstab er det enkelte udtryk 20·log10(4πRf/c) frem for den sum af tre led, som jamming::free_space_path_loss_db bruger — de to stemmer til < 1e-9 dB på hver række (målt værste tilfælde 7.11e-14 dB, dvs. afrundingsfejl i flydende tal). Den underliggende interferenskæde, den sammensætter, er særskilt forankret eksternt i tests/gnss_denied_jamming_resilience_reference.rs (uafhængig genafledning i numpy/scipy af J/S og effektiv C/N₀ fastlåst til Kaplan & Hegarty §9,4, plus målt C/N₀ fra JammerTest 2024, Zenodo 10.5281/zenodo.15910563); den månegeometri, den sammensætter, er geometrien i lunar_service/lunar med egne uafhængige referencer. Identiteter i lukket form kontrolleret her: en halveret afstand til jammeren lægger præcis 20·log10(2) dB til hver række; J/S er præcis uforanderlig over for brugerantennens forstærkning i boresight, mens C/N₀ flytter sig præcis med den forstærkning; en elevationsmaske ændrer ingen overlevende række bit for bit. Selve rækken forbliver ReferenceImpl/modelleret: ingen målt kampagne for jamming på Månen findes at validere mod, og konstellationen er en illustrativ geometri af Moonlight/LCNS-klassen fra offentlige kilder, ikke en fløjet efemeride
Tests
lunar_jamming::tests (17 lib tests: j_over_s_equals_the_difference_of_two_independent_link_budget_runs; the_report_prints_both_link_budget_legs_so_the_difference_is_checkable_from_it…
ModelleretKontur for denial på Månen med et usikkerhedsbånd ud fra den målte spredning i C/N₀lunar_jamming (denial_js_db, range_for_free_space_path_loss_m, Cn0Distribution, DenialContourPoint, ContourBand, DenialContour; inverting jamming::effective_cn0_dbhz, jamming::j_over_s_db and jamming::free_space_path_loss_db)
Funktion
Rapporten lunar-jamming hviler ikke længere sin denial-kontur på én skalar. Den udsender den fulde målte fordeling af C/N₀ for det ønskede signal over tabellen pr. satellit — n, min, p05, p25, median, p75, p95, max, middelværdi, stikprøvens standardafvigelse og stikprøvens egen asymmetri (p95 − median) − (median − p05) — ved siden af rækkerne pr. link, som er uændrede. Konturen rapporteres derefter ved hver af disse ordensstatistikker under BEGGE denial-kriterier, motoren kender, aldrig det ene i stedet for det andet: det hidtidige kriterium for effektforhold (J/S = 30 dB, den samme tærskel som attack_surface og tracking_loop bruger, og kriteriet bag kolonnen denial i den udgivne tabel for månelinks med jamming), og kriteriet tab af lås (den effektive C/N₀ falder til tracking_threshold_dbhz), som er det kriterium, rapportens egen kolonne links[].status scores med. Hvert konturpunkt angives på begge akser af denial-planet — den jammer-EIRP der kræves ved scenariets afstand, og den denial-afstand der opnås ved scenariets EIRP — så båndet er et interval på de samme akser, som et konturplot tegnes på. Båndets kanter ER contour(p05) og contour(p95): den samme afbildning i lukket form anvendt på stikprøvens egne kvantiler, ikke et sigma tilpasset til stikprøven og ikke median ± k·stdev, og rapporten siger det i en streng band_definition ved siden af tallene. stdev udsendes af hensyn til kontinuitet og bruges af intet. En kvantil, hvis C/N₀ allerede er ved eller under sporingstærsklen, har ingen endelig afvisende J/S; de kolonner udsendes som null med en optalt årsag frem for som en uendelighed eller en afskåret radius
Uafhængig reference
Intern konsistens mod motorens egne fremadfunktioner, hvilket er alt, denne kapacitet ærligt kan gøre gældende. Hvert konturpunkt er en inversion i lukket form, og hver inversion kontrolleres ved at skubbe dens svar tilbage gennem den FREMAD-funktion, som rapportens egne rækker blev scoret med: kolonnen J/S gennem jamming::effective_cn0_dbhz (som skal returnere tracking_threshold_dbhz til < 1e-9 dB-Hz), kolonnen for afstand gennem jamming::free_space_path_loss_db og jamming::j_over_s_db (samme J/S til < 1e-9 dB), kolonnen for EIRP gennem jamming::j_over_s_db ved scenariets egen afstand. Konturen kontrolleres desuden at være GRÆNSEN for denial-mængden og ikke et punkt inde i den — lock_status mister låsen ved en streng ulighed, så dommen måles til at skifte fra DEGRADED til LOST over 1e-4 dB af J/S på hver side af konturen, hvilket en kontur forkert med et epsilon ville fejle. Den stærkeste kontrol er pr. link frem for pr. kvantil: at anvende den samme afbildning på hver rækkes egen C/N₀ gengiver rapportens kolonne status præcist — 0 afvigelser på 38 af 38 rækker ved det dokumenterede driftspunkt (kind = lunar-jamming, hvert input standard undtagen jammer.range_m = 25.000 m), hvor 26 rækker er LOST og 12 ikke er. Monotoni er målt, ikke antaget: 20.001 samples over [tracking_threshold + 1e-3, 80] dB-Hz, 0 overtrædelser af en strengt aftagende afstand og en strengt voksende krævet effekt, så båndets kvantilrækkefølge er påvist frem for påstået. ExternalDataset afvises, og valideret med det: ingen målt kampagne for jamming på Månen findes at sammenligne en denial-radius med, konstellationen er en illustrativ geometri af Moonlight/LCNS-klassen fra offentlige kilder frem for en fløjet efemeride, og konturens input (EIRP, jammereffekt, antenneforstærkninger, støjtemperatur) er repræsentative størrelsesordener. ReferenceImpl blev også overvejet og afvist — inversen og fremaduttrykket er den SAMME algebra læst i to retninger, så rundturen fanger afskrivnings- og fortegnsfejl, men er ikke en uafhængig implementering; at kalde det en krydskontrol ville være det lånte uafhængigheds-træk, som matrixens invarianter findes for at forhindre. Hvad båndet giver, er målt og citeret frem for påstået: ved det driftspunkt er den skalare kontur 27,402916 km og lægger 25 km på den afviste side for alle 38 rækker, mens båndet 21,256108 .. 29,921360 km indeholder driftspunktet og derfor rapporterer den opdeling, tabellen faktisk viser. De to kriterier er også målt til at være uenige — effektforholdets bånd (38,186527 .. 53,691675 km) indeholder slet ikke 25 km — hvorfor begge udskrives
Tests
lunar_jamming::tests (10 lib tests: the_contour_is_the_exact_inverse_of_the_functions_the_rows_were_scored_with; the_band_is_the_measured_quantiles_pushed_through_the_contour_not_a_sigma…
ModelleretDetektionsstyrke for integritetsmonitor på tværs af modaliteterhybrid_integrity
Funktion
Rapporten hybrid-optical-rf angiver, hvad chi-i-anden-monitoren på tværs af modaliteter faktisk kan DETEKTERE, ikke blot at den består et fejlfrit tilfælde: den mindste detekterbare bias pr. overvåget akse (øst, nord, op, ur) ved scenariets angivne sandsynligheder for falsk alarm og misset detektion, kurven for detektionsstyrke på begge sider af den, det støjfri biasmultiplum hvor den realiserede statistik første gang krydser tærsklen, og tiden til detektion for en biasrampe ved en angivet rate. Fejl indsprøjtes også gennem den rigtige monitor, og den statistik den returnerer rapporteres ved siden af den analytiske forudsigelse
Uafhængig reference
To interne uafhængige referencer, intet eksternt datasæt. (1) Rundtur i lukket form: den mindste detekterbare bias frembringes ved at invertere halen af den ikke-centrale chi-i-anden på ikke-centraliteten (raim::pbias) og kontrolleres ved at føre den resulterende ikke-centralitet tilbage gennem raim::noncentral_chi2_cdf ved monitorens egen tærskel, som skal returnere P_md. (2) Indsprøjtning mod analyse: en bias skrives ind i RF-estimatet for én akse, og cross_raim::run_cross_raim køres igen, så den statistik, der sammenlignes med den analytiske ikke-centralitet, er den, monitoren selv beregnede, ikke en genafledning. En seedet Monte Carlo af selve statistikken er med i testene som en tredje kontrol; den er bevidst IKKE i rapporten, fordi et stikprøveestimat ville være langsommere og ikke kunne gengives bit for bit. ExternalDataset afvises: størrelsen er detektionsstyrken for DENNE monitor ved DETTE scenaries sigmafordeling, og de sigmastørrelser, MDB skaleres med, er modellerede repræsentative input, ikke målinger. ReferenceImpl blev også overvejet og afvist — Monte Carlo udtager den samme statistik, som analysen beskriver, så den fanger afskrivnings- og koefficientfejl, men er ikke en uafhængig implementering af monitoren. 0,30 runde 2 (præregistreret 0135a9e4), blokeret (forbliver MODELLED): SciPy 1.18.1 chi2/ncx2/brentq gengiver rapportens tærskel (inden for 5.4e-12), MDB pr. akse, kurven for styrke, krydsningsmultiplum og tid til detektion for rampen (inden for 5.3e-10) på fem konfigurationer; statistikkerne for indsprøjtede fejl har ingen uafhængig reference, og sigmastørrelserne er modellerede input, så afgrænsningen afventer en beslutning fra ejeren
Tests
hybrid_integrity::tests (detektionseffektkurven løber fra falsk-alarm-raten ved nul fejl til 1 − P_md ved den mindste detekterbare bias; den mindste detekterbare bias ført tilbage gennem noncentral_chi2_cdf ved…
ModelleretNy vækst i kovarians efter overdragelse mod alarmgrænsenhybrid_integrity
Funktion
Rapporten hybrid-optical-rf viser filterets model for processtøj og angiver, hvor længe løsningen efter overdragelsen bliver inden for alarmgrænsen: for begge overdragelsesretninger bærer den kovariansen pr. akse, som overdragelsen efterlod, propagerer den frem under et angivet processtøj af typen random walk og rapporterer det tidspunkt, hvor den dækningsskalerede 1σ når alarmgrænserne for horisontal, vertikal og tidssynkronisering, hvilken grænse der binder først, tidskonstanten for fordobling af variansen og en samplet coast-profil, der omslutter krydsningen. PSD'er for processtøj, dækningsfaktoren og alarmgrænserne er alle input med dokumenterede standarder
Uafhængig reference
Ingen ekstern uafhængig reference. Krydsningen er en løsning i lukket form af variansvæksten for random walk, og testene genberegner den uafhængigt ud fra de værdier, som rapporten selv offentliggør, frem for ud fra udsenderens interne dele. Startkovariansen er fastlåst bit for bit til det spor, som den eksisterende handoff-blok allerede rapporterede, så coast ikke kan propagere en kovarians, ingen andre har set. PSD'erne for processtøj er MODELLED repræsentative input, og krydsningstiderne skalerer direkte med dem, hvilket skaleringstesten angiver som en målt egenskab og ikke som en påstand. ExternalDataset afvises bevidst: coast-tiden er en direkte funktion af to modellerede PSD'er og af alarmgrænser, som selv er repræsentative, og der findes ingen målt optisk/RF-overdragelsescoast på Månen at sammenligne med. En ekstern uafhængig reference ville her kræve en offentliggjort kurve for kovariansvækst eller holdover-nøjagtighed efter overdragelse for en tilsvarende modtager med dens model for processtøj angivet, kontrolleret til en tolerance
Tests
hybrid_integrity::tests (coastet starter fra præcis det kovariansspor, som overdragelsesblokken rapporterer, for begge retninger, så den genafspillede diagonal ikke kan drive væk fra den rapporterede overdragelse; den rapporterede krydsningstid…
ModelleretMønster for antenne uden for boresight i månegeometrieksportenlunar_service, antenna
Funktion
Eksporten af geometri pr. satellit bærer pr. (epoke, satellit) vinklen uden for boresight VED SATELLITTEN og sendeforstærkningen mod stedet fra det rigtige mønster (Airy) for en cirkulær apertur med ensartet belysning, og rapporterer antallet i strålen under det mønster VED SIDEN AF antallet i strålen under den symmetriske tilnærmelse fra forstærkning til strålebredde (θ_3dB[deg] = √(31000/G_lin)), med forskellen udsendt som en eksplicit korrektion i links, i satellitter pr. epoke og som den værste enkelte epoke. Begge implicitte aperturvirkningsgrader i tilnærmelsen udsendes (0,641 mod reglen 70·λ/D grader, som den citeres med, 0,920 mod en ensartet cirkulær apertur), så den virkningsgrad, den stiltiende antager, angives frem for at blive udledt. Slået fra som standard: blokken optræder kun, når både et eksportsted og en apertur er givet
Uafhængig reference
Blandet, og adskilt frem for samlet. MØNSTERET nedenunder er eksternt valideret og har sin egen række (en scipy.special.j1-fixture til < 0,05 dB i tests/validate_p1_orbital_footprint.rs, plus her den offentliggjorte Airy-abscisse for halv effekt x = 1,61634 fundet ved bisektion frem for antaget). GEOMETRIEN er kontrolleret mod trekantstrigonometri i lukket form skrevet som et andet udtryk end det skalarprodukt, der testes. INDESLUTNINGEN af den rigtige stråle i den tilnærmede kegle er afledt algebra (28.019/√η mod 29,479 grader pr. λ/D), så korrektionen kun kan være ikke-positiv for η ≤ 0,9035. Men selve ANTALLENE i strålen har ingen ekstern uafhængig reference: ingen offentliggjort tabel angiver, hvor mange satellitter i en skal af Moonlight/LCNS-klassen der holder et sted ved sydpolen inde i en given paraboles stråle for halv effekt, og konstellationen er en illustrativ tilnærmelse fra offentlige kilder, ikke en fløjet efemeride. Den målte uenighed ved det dokumenterede arbejdspunkt — 0 links i strålen under det rigtige mønster mod 28 under tilnærmelsen, −2,33 satellitter pr. epoke, værste epoke 3, på 76 evaluerede links — er derfor et MODELLED fund om tilnærmelsen, fastlåst som en regressionsliteral (den nærmeste række ligger 0,069° fra begge strålekanter, fire størrelsesordener over enhver uenighed i sidste ciffer), ikke et eksternt valideret dækningstal. At mærke rækken ExternalDataset på grundlag af mønsterets eget eksterne holdepunkt ville være lånt validering, hvilket er det træk, som matrixens invarianter findes for at forhindre. 0,30 runde 2 (præregistreret d9755d28), blokeret (forbliver MODELLED): SPICE-geometri og Bessel-funktioner i SciPy gengiver vinklen uden for boresight (værst 3.0e-5 grader), Airy-forstærkningen og flagene for i-strålen på 6.336 rækker med tilstande fra fløjne orbitere og det dokumenterede arbejdspunkt; men på fløjet geometri opdeles flagene efter satellittens identitet (det nærmeste link er 1,66 grader fra strålekanten), sigtbarheden på 5 grader er kontrolleret som et flag og ikke som en numerisk elevation, flaget for den symmetriske tilnærmelse anvender tommelfingerreglen 31000/G på en valideret vinkel uden at validere reglen, og de implicitte virkningsgrader har ingen uafhængig reference; afgrænsningen afventer en beslutning fra ejeren
Tests
antenna::tests og lunar_service::tests (halveffektskrydsningen fundet ved bisektion på mønsteret er lig det publicerede Airy x = 1,61634 og giver den eksakte 1,02899·λ/D bredde, hvilket viser, at den konventionelle 1,02…
ModelleretTab af lås i sporingssløjfe og spoof pull-in under interferenstracking_loop (composing sdr, jamming)
Funktion
Tab af lås beregnet ud fra sløjfedynamik i stedet for et effektforhold: termisk 1σ-jitter i bærebølge (Costas) og kode (ikke-koherent early/late) mod C/N₀ med kvadreringstabet, mod de angivne regler 3σ_PLL + θ_e ≤ 45° og 3σ_DLL + rampeforsinkelse ≤ d/2 chips; C/N₀-tærskler for tab og genlåsning med den bindende sløjfe nævnt ved navn og hysteresen AFLEDT af den bredere pull-in-båndbredde frem for påstået; den erklærede tid til tab af lås fra en lásdetektor med to tærskler og bekræftelses-dwell, rapporteret særskilt fra den fysiske tid til faseudbrud (Viterbis middeltid mellem cycle slips, i log₁₀ s, fordi den spænder over hundreder af dekader); den største kodeslew og bærebølge-Dopplerrate, som offerets sløjfer kan følge; og den DENIAL-RADIUS, som sløjfedynamikken medfører, rapporteret ved siden af den eksisterende radius for effektforhold med deres fortegnsbehæftede forskel som et eget navngivet felt. Kan køres som scenarietypen tracking-loop
Uafhængig reference
Motorens egen sdr-korrelator (sdr::correlate / synth_if / CaCode) stepped frem på seedet syntetisk IF ved en kalibreret C/N₀ — en særskilt kodesti, der når de samme tal ved numerisk korrelation af samplet IQ frem for ved et algebraisk jitterudtryk, så den er en anden vej og ikke en gentagelse — plus standardtabulerede værdier af den modificerede Bessel I₀ til cycle-slip-leddet. Sløjfeteori efter Kaplan & Hegarty kap. 8 og Viterbi/Gardner for slip-tiden. Rækken forbliver ReferenceImpl/MODELLED: krydskontrollen ligger i den samme kodebase, og kontrollen af bessel_i0 validerer én speciel funktion frem for sporingsmodellen, så at opgradere rækken på det grundlag ville være selvbetjent mærkning. ExternalDataset ville kræve et optaget rå IF-datasæt med sand C/N₀ og et annoteret tidspunkt for tab af lås (klassen TEXBAT/OAKBAT); intet sådant følger med i dette træ, og selv med IQ offentliggør de datasæt ingen sandhed for sløjfetilstand pr. epoke, så en erklæret tid for tab af lås kun kunne valideres mod en anden modtagers låsdetektor, hvilket er et modelleret valg og ikke en uafhængig reference. Sløjfebåndbredderne, integrationstiden, korrelatorafstanden, pull-in-forholdet, dwell-tiderne, jammereffekten og antenneforstærkningerne er repræsentative båndtal, ikke et datablad. 0,30 runde 2, GNSS-SDR 0.0.19 (GPL-3.0, kørt som et program) på uafhængigt genereret IF (præregistreret 6ef7698c, ændringer af målemetoden oplyst), et fund (forbliver MODELLED): PLL- og DLL-jitter i lukket sløjfe stemmer inden for 8 % ved 35 til 45 dB-Hz, den dynamiske belastning på 10 Hz/s inden for 1 % og rampeforsinkelsen i kode i første orden inden for 2 %; ved 30 dB-Hz er PLL-jitteren 21 % højere og DLL-jitteren 32 % lavere, de målte tærskler efter 15-graders-reglen ligger 1,5 dB over motoren, og sløjfen i anden orden slipper 0,5 til 2 dekader oftere end grænsen for slip-tid i første orden. 0,30 revision: Costas slip-tiden bruger nu sløjfe-SNR rho/4 (halvcyklus-slips); standardens jitter_table log10_mean_time_to_cycle_slip_s falder fra 11,58 til 2,10 ved tærsklen 25,47 dB-Hz
Tests
tracking_loop::tests (åben-sløjfe Costas-diskriminatorjitter mod sdr::correlate trinvist fremad på seedet syntetisk IF, 3 samlede støjrealiseringer × 900 epoker, med indbyrdes afvigelse på højst 0,63% over 35-45 dB-Hz, med…
ValideretKovarians af stationskoordinater for månens VLBI ud fra en sporingsplanlunar_vlbi_fim (composing lunar_vlbi, fim, cio, lunar_frame, frames)
Funktion
Forsinkelsespartielle akkumuleret over en plan af baselines × epoker til en Fisher-informationsmatrix, inverteret til kovariansen af stationskoordinaterne og sigma pr. koordinat for stationen, hvilket erstatter et antaget isotropt ligefordelt link ud fra en skalar forsinkelsespræcision. Tilstanden bærer jordfaste (ITRS) stationskoordinater, så Jacobi-matricen er det inertiale partielle roteret med hver epokes GCRS→ITRS-matrix, og det er Jordens rotation, der gør disse koordinater observerbare — rapporten MÅLER den jordfaste sigtelinjesvingning og beaconens deklination frem for at antage dem. Rang, datumdefekt, konditionstal, informationsspektret og nulrummet for frit netværk udsendes ved hver kørsel, og ved rangdefekt offentliggøres det overordnede sigma som NULL med en status frem for at blive aflæst ud af en næsten singulær invers. Ligefordelingsværdien c·σ_τ·√(g/N) for SAMME plan udskrives ved siden af den beregnede med deres forhold, sammen med den isotrope sporgrænse √(p/trace(M)), som AM-HM gør til et hårdt gulv. Kan køres som scenarietypen lunar-vlbi-fim
Uafhængig reference
En uafhængig vej i repositoriet. Hver Jacobi-række udledes igen ved central finite difference af lunar_vlbi::vlbi_delay_s evalueret ud fra tilstandens egne jordfaste og månefaste koordinater roteret frem gennem systemkæden — en vej, der ikke beregner nogen afledt og ikke deler noget udtryk med de analytiske partielle — og de informationsmatricer, de to veje bygger, stemmer til < 1e-6 af den største diagonal. Den lineære-algebra-kerne, som dette sammensætter (information_matrix, crlb, sym_eig), er særskilt forankret eksternt mod numpy.linalg.eigh / numpy.linalg.inv i tests/fim_observability_reference.rs, og forsinkelsesobservablen bærer lunar_vlbis egen uafhængige reference for fjernfelt i delta-DOR; rækken låner ingen af de to statusser. Identiteter i lukket form kontrolleret her og mærket som sådan: σ² og skalering med 1/N, og √(p/trace(M)) som en nedre AM-HM-grænse, det beregnede sigma ikke kan slå, og som kun falder sammen med ligefordelingsværdien på en isotrop geometri — hvorfor det målte forhold er præcis den anisotropi, som antagelsen kasserede. 0,30 ekstern sammenligning (Bibliotek: NAIF SPICE CSPICE N0067 via spiceypy 8.2.0, MIT; DE440, ITRF93 earth_latest_high_prec, MOON_PA), præregistreret (50863551) sammen med en følsomhedskørsel for modelfejl på motorsiden: hver Jacobi-række genopbygges ved central differens af konvergerede newtonske lystidsforskelle fra SPICE-geometri (lystidsligningen er et kort script over SPICE-positioner; SPICE bærer geometrien), med planen genopbygget ud fra SPICE-elevationer. Planen, rang, defekt, informationsspektret, konditionstal, stationssigmaer, det overordnede tal, sporgrænsen, ligefordelingsforholdene, nulrummet for frit netværk, sigtelinjesvingningen og beaconens deklination stemmer inden for de præregistrerede 1 % / 0,1 grader, hvilket ligger over motorens kendte analytiske fejl for Månen (3.2e-3 på sigmaer, målt før kørslen). NumPy 2.3.5 gentager lineær algebra på den committede Jacobi-matrix fra motoren til 2e-13 (P2). Valideret som en Cramér-Rao-grænse for det angivne reducerede parametersæt på de angivne illustrative input: Månens centrumefemeride, ure, troposfære og parametre for jordorientering holdes faste i begge ben, så det er ikke en nøjagtighed for en rigtig kampagne
Tests
lunar_vlbi_fim::tests (24 biblioteks-tests: den analytiske Jacobi-matrix mod en central finit differens af lunar_vlbi::vlbi_delay_s taget gennem en rute, der roterer tilstandens egne koordinater fremad og aldrig rører en…
ModelleretKovarians af koordinater for et punkt på månens overflade ud fra en VLBI-forsinkelsesplan, holdt adskilt fra den for jordstationenlunar_vlbi_fim (composing lunar_vlbi, fim, cio, lunar_frame, frames)
Funktion
Et tredje datumvalg, all-stations-fixed, der holder hver jordstation fast og estimerer KUN beaconens måne-faste koordinater — den konfiguration, som usikkerheden for et punkt på månens overflade faktisk angives for, da jordstationernes koordinater er et input til forsinkelsesmodellen og ikke en ukendt i den. Det findes, fordi kovariansen på stationsniveau og kovariansen for overfladepunktet er FORSKELLIGE STØRRELSER adskilt af løftearmen ρ/B, og intet hidtil forhindrede, at den ene blev angivet mod den anden. Den udsendte blok beacon_link bærer ρ, den længste baseline, løftearmen, overfladepunktets form af ligefordelingslinket c·σ_τ·(ρ/B)·√(g/N), det beregnede sigma pr. koordinat for beaconen og deres forhold — forholdet er null frem for vildledende, når beaconen ikke estimeres, eller matricen er rangdefekt. B tages som den LÆNGSTE baseline til stede, den mest gunstige, så forholdet kun kan undervurdere. Kan køres som datum = "all-stations-fixed" med estimate_beacon = true, som afvises med en meddelelse, der nævner det manglende input, når beaconen ikke estimeres
Uafhængig reference
Identiteter i lukket form, uden at nogen ekstern uafhængig reference gøres gældende eller findes. Løftearmen kontrolleres mod ρ/B, og de to ligefordelingsformer mod hinanden til 1e-15 — algebraiske identiteter, så de fanger en fejl i ledningsføringen og intet andet, og er mærket som sådan. Det væsentlige resultat er MEASURED frem for påstået: en forsinkelse fra en fast baseline begrænser beaconens RETNING, så sigtelinjekomponenten kun når informationsmatricen gennem nærfeltets afstandsled, og testen aflæser den resulterende anisotropi i det udsendte spektrum i stedet for at udlede den. AM-HM gør √(p/trace(M)) til et hårdt gulv, så et isotropt ligefordelingslink kun nogensinde kan UNDERVURDERE, og forholdet beregnet over ligefordeling er præcis den anisotropi, den kasserede. MEASURED på parret Goldstone-lignende/Canberra-lignende, hvis korde er 10726,748 km: over 112 samplede dage tillader 36 slet ingen gensidigt synlig epoke ved en maske på 10°, det mest nogensinde gensidigt synlige er 17 af en plan med 49 samples, og på de 73 brugbare dage løber forholdet for tre komponenter fra 113,9× til fire størrelsesordener mere, median 1513×, mens en begrænsning til de to tværgående retninger, hvor sigtelinjen ikke sulter, giver 3,94× til 25,8×, median 7,8×. HVAD DENNE RÆKKE IKKE GØR GÆLDENDE: nogen af disse tal som en egenskab ved en rigtig kampagne. Den fastslår, at størrelsen for overfladepunktet nu BEREGNES frem for antages, og at den ikke kan byttes stiltiende om med størrelsen på stationsniveau. Forbliver ReferenceImpl/MODELLED: ingen offentliggjort kovarians for overfladepunkt i månens VLBI findes at validere mod, stationerne og beaconstedet er illustrative frem for opmålte, og efemeride, ure, troposfære og parametre for jordorientering holdes FASTE, så dette er en Cramér-Rao-grænse for et reduceret parametersæt og optimistisk i sig selv. Den samme størrelse på kernestien (beaconen på DE440-Månen) er valideret på sin egen række, "…, kernel path"; på denne analytiske sti er det mindste sigma for beaconen 3,9 % under den rækkes SPICE-reference, hvilket er grunden til, at denne række forbliver MODELLED
Tests
lunar_vlbi_fim::tests (7 biblioteks-tests: hver datumstavemåde gennemløber parse/as_str, og en ukendt afvises; at holde hver station uden beaconen afvises med en fejl, der nævner estimate_beacon; den…
ValideretKovarians af koordinater for et punkt på månens overflade ud fra en VLBI-forsinkelsesplan, kernel pathlunar_vlbi_fim (epoch_geometry_with, schedule, schedule_jacobian); ephem_provider (KernelEphemeris); naif_kernel
Funktion
Kovariansen for beaconen med alle stationer fastholdt i scenariet lunar-vlbi-fim (hver jordstation holdt fast, beaconens måne-faste koordinater estimeret alene) med beaconen placeret på JPL DE440-Månen læst af motorens egen kernelæser (planetary_kernel_path; lunar_vlbi_fim::epoch_geometry_with, ephem_provider::KernelEphemeris). Kun Månens centrum adskiller sig fra den analytiske sti; IAU 2015-legemsrotationen, stationerne, Jordens rotation og den lineære algebra er de samme. De validerede output er observationssættet, informationsspektret på 3 x 3, rang og konditionstal, de tre måne-faste sigmaer for beaconen og deres RMS, løftearmen og forholdet beregnet over ligefordeling, på standardplanen. Kan køres som scenariet lunar-vlbi-fim med datum = "all-stations-fixed", estimate_beacon = true og planetary_kernel_path sat
Uafhængig reference
Bindende biblioteksben (Library): NAIF SPICE Toolkit N0067 (spiceypy 8.2.0, MIT) på de440s, earth_latest_high_prec (ITRF93 med UT1 og polbevægelse) og DE440's månesystemer, beaconen fastholdt i MOON_ME; hver Jacobi-række er en central differens på 3 km af den konvergerede newtonske lystidsforskel (koden til lystid i M069-referencen, importeret), aldrig en partiel fra Kshana; synlighed genopbygget ud fra WGS-84-elevationer; NumPy 2.3.5 / SciPy 1.18.1 (BSD-3-Clause, LAPACK) eigh og inv. P2-benet: NumPy på motorens committede Jacobi-matrix. Præregistreret (4a51256), før fixturen eller referencen fandtes, med tærskler på 1 % for egenværdier, konditionstal, sigmaer, RMS og forhold, 1e-4 for løftearmen, eksakt observationssæt og rang; P2 1e-9. Oplyst: sammenligningen af analytisk og kernel-Måne alene på motorsiden (3,9 % på y-sigma) blev kørt før præregistreringen for at vælge kernestien og er angivet dér. Resultat: begge ben stemmer, værst 1.7e-3 (beaconens y-sigma 0,081211 m mod 0,081351 m). Mutation: at transponere legemsrotationen i beaconens partielle får begge ben til at fejle. Begge sider læser DE440, så enighed validerer geometrien og den lineære algebra på DE440, ikke DE440. Uden for påstanden: en rigtig kampagnes nøjagtighed for overfladepunkt (ure, troposfære og jordorientering holdt faste; illustrative stationer og beaconsted) og den analytiske standardsti (rækken ovenfor, som forbliver MODELLED: på den analytiske Måne er y-sigma 3,9 % under denne reference)
Tests
tests/lunar_vlbi_surface_point_spice_oracle.rs::surface_point_covariance_kernel_path_matches_spice_geometry_and_numpy (16 observations identical; rank 3/3; eigenvalues within 5.9e-5; condition 5.9e-5; beacon sigmas…
ModelleretDifferentiel PNT på Månen — residualbudget for korrektionslinketlunar_dpnt
Funktion
De tre led, som en differentiel korrektion samler op mellem den epoke, den beregnes ved, og den epoke, den bruges ved, hver tidligere efterladt som ikke-modelleret rum: opmålingsfejl for referencestationen (korreleret på tværs af satellitter, uafhængig af baseline, ~1:1 positionsoverførsel og bevisligt ikke forstærket af DOP), ældning af korrektionen (den frosne baneefejlvektor genprojiceret på den sigtelinje, som motorens egen propagator lægger satellitten på én latenstid senere, plus c·σ_y(τ)·τ urdrift fra den kalibrerede potenslov) og ensartet kvantisering af linket over en eksakt fuld skala ±(orbit_err + clock_err) med varians step²/12. Rapporteret i både afstands- og positionsdomænet, ved siden af — aldrig i stedet for — den eksisterende residual og det eksisterende beskyttelsesniveau, med en latenskurve ved siden af det enkelte tal
Uafhængig reference
Identiteter i lukket form og selvkonsistens: variansen step²/12 for den ensartede kvantiserer, den eksakte kovariansudbredelse (GᵀG)⁻¹GᵀRG(GᵀG)⁻¹, der kollapser til σ·PDOP for ens σ, opmålingsleddets overførsel 1:1 som en følge af û_user ≈ û_ref og lukning i kvadratur, når led slås fra. Krydskontrollen af PDOP mod orbit::dop deler normalmatricen [−û, 1], så den er en konsistenskontrol og mærkes som sådan frem for en uafhængig reference. Intet ExternalDataset er tilgængeligt eller gøres gældende: ingen månestation har en offentliggjort opmålt nøjagtighed, intet differentielt korrektionslink for Månen har en offentliggjort latenstid eller et offentliggjort meddelelsesformat, og kvantiseringsresultatet er en lukket form frem for en måling. RTKLIB — allerede den eksterne kodereference for kernen med enkeltdifferens og vægtede mindste kvadrater — kunne drives med en bevidst forkert opmålt base for at bekræfte overførslen 1:1 for opmåling, men det er uafhængig kode over den samme førsteordens algebra for sigtelinjen. STØRRELSESORDENERNE ER MODELLED: standardværdien for opmåling er denne crates egen tildeling for realisering af månesystemet frem for en målt station, latenstiden og antallet af bits er ILLUSTRATIVE input, og væksten i selve fejlvektoren for den udsendte efemeride er slet ikke modelleret — angivet i den udsendte streng for ældningsloven, fordi det er det led, der mest sandsynligt dominerer et rigtigt link
Tests
lunar_dpnt::tests (en rent additiv vagt, hvis nøglesætforskel er præcis {correction_link, units} med hver eksisterende værdi bit-identisk mod litteraler optaget før ændringen; opmålingsfejl gør IKKE…
ModelleretDækning og nøjagtighedskort for referencestation på Månenlunar_station (over lunar_dpnt, lunar_service)
Funktion
Monte Carlo-sweep af modellen for differentiel PNT på Månen over et brugergitter ved sydpolen og et døgn af epoker (typen lunar-station-coverage): for en differentiel referencestation på et kendt sted ved sydpolen, pr. punkt og over regionen, percentilerne af korrigeret og ukorrigeret positionsfejl (3-D, horisontal, vertikal), tilgængelighed med en årsag til hver utilgængelig epoke (user_lt4, station_missing_sat), dækning mod en tærskel angivet før kørslen, DO-229E-beskyttelsesniveauer, dækningsradius pr. azimutsektor og linkbudgettet for korrektionen ved stationen og ved det værste punkt. Ikke en udtalelse om ydeevnen af noget rigtigt system; ikke tilknyttet eller støttet af nogen myndighed
Uafhængig reference
Aritmetik genberegnet af et uafhængigt numpy-script på eksporterede tilfælde (scripts/gen_lunar_station_ref.py, numpy 2.5.4; præregistreret i tests/fixtures/lunar_station/PREREGISTRATION.md, committet alene i 9caedf97 før den første kørsel): på 20 tilfælde med hvert fejlled slået til er de synlige sæt og status identiske, de rå afstandsfejl stemmer til 1.4e-14 m, positionsfejlvektorerne og deres størrelser til 1.4e-9 m mod en tærskel på 1e-6 m, og hvert punkts p95 er lig numpy.percentile bit for bit; stationskorrektionerne MISTEDE deres tærskel på 1e-9 m (værst 3.73e-9 m, 15 af 20 tilfælde), og med dem de korrigerede afstandsfejl: kontrolleret i aritmetik med 60 cifre ligger begge sider inden for afrunding i dobbelt præcision af den eksakte værdi, idet opmålingsleddet er en differens af to afstande på 1e7 m, hvis enhed i sidste position er 1.86e-9 m; registreret, ikke justeret. Typen reduceres eksakt til typen lunar-differential-pnt ved ét punkt, én epoke og ét forsøg. Fejlmodellen, dekorrelationsmodellen og hver tærskel er dette projekts egne eller ILLUSTRATIVE; intet her er en udtalelse om noget rigtigt system
Tests
tests/lunar_station_coverage_reference.rs (one_point_one_epoch_one_trial_reduces_to_lunar_differential_pnt: til 1e-12 m med og uden modtagerstøj; zero_baseline_floor_is_zero_in_every_trial: 0 til 1e-9 m…
ModelleretTerrænhorisontmasker på Månen ud fra en angiven profil eller en DEM for polenlunar_terrain (over skyline, lunar_service::topocentric_basis); lunar_station; lunar_service (coverage_masked, masked_visible)
Funktion
Azimutafhængige horisontmasker pr. sted for typen lunar-station-coverage (referencestationen og hvert brugerpunkt) og gitteret moonlight-service-volume og dets eksportsted pr. satellit (hver eksportrække får clears_terrain), i tabelformatet skyline fra 0,36 (skyline::Skyline, lineær i azimut med omløb ved 360 grader; en angiven profil og en DEM-horisont ved ét sted kombineres som deres punktvise maksimum): en angiven [terrain] station_horizon eller user_horizon mærket med sin kilde, og/eller en horisont ray-marched over en sydpolar stereografisk DEM (layoutet for LRO LOLA's gridded polar, læst fra en deskriptor, der fastlægger dens størrelse og SHA-256, eller en breddegrads-/længdegradsflise realdata::lola_dem med [terrain] dem_tile_path, gengivet med dens SHA-256) langs storcirkler på månekuglen med eksakt krumning, fra en angiven masthøjde, ved et angivet azimuttrin og en angiven rækkevidde. En satellit tæller ved et sted, når den klarer den flade mask_deg og horisonten ved sin azimut (lunar_service::topocentric); en epoke, som horisonten efterlader med færre end fire satellitter i et punkt, hvor den flade maske giver fire, tælles som den utilgængelige årsag terrain_masked. Den medfølgende DEM er et udsnit af det offentligt tilgængelige produkt LOLA LDEM_75S_240M, middelværdiresamplet i blokke på 5 x 5 til 1200 m (data/lunar-dem/NOTICE.md). Hvis den mangler, beholder hvert sted den flade maske, og hvert dokument er byte-identisk
Uafhængig reference
Overflader i lukket form (InternalConsistency): dyk for den bare kugle, et krater i et plateau på kuglen med en observatør på og uden for dets centrum og en analytisk kegle mod sin egen rasterisering. På det rigtige udsnit stemmer en uafhængig numpy-ray-cast (scripts/gen_lunar_terrain_ref.py, numpy 2.5.3; præregistreret i tests/fixtures/lunar_terrain/PREREGISTRATION.md, committet alene i edbb9b02 før scriptet fandtes) på fem steder: stedshøjder til 1.0e-11 m og alle 1800 horisontelevationer til 5.5e-10 grader mod tærskler på 1e-6, antal afkortede stråler eksakte; det kontrollerer aritmetikken, ikke terrænet. Ingen offentliggjort polar horisont eller belysningstal er gengivet: udsnittet på 1200 m udjævner det relief under kilometerskala, som offentliggjorte belysningsundersøgelser opløser, så DEM-horisonterne er en MODELLED sigtelinje over en resamplet rigtig DEM og ikke en valideret horisont. Stationens sted og konstellationen forbliver ILLUSTRATIVE; intet her er en udtalelse om noget rigtigt system
Tests
lunar_terrain::tests (bare_sphere_horizon_is_the_dip: strålemarchen gengiver -acos(R / (R + a)) til 1e-3 deg ved hver azimut; a_cone_on_a_lat_lon_tile_matches_the_analytic_cone: den samme kegle samplet på en 0,005 deg…
ModelleretMultipath og modtagerhardware-led for referencestation på Månenlunar_receiver; lunar_station
Funktion
Den valgfrie sektion [receiver] i lunar-station-coverage (LRS-02): elevationsafhængigt multipath-sigma sigma(el) = a + b exp(-el / el0) hos brugeren og ved stationen (den funktionelle form for luftbåren fra RTCA DO-229, med a = 0,13 m, b = 0,53 m, el0 = 10 grader som standarder; på Månen er hver værdi ILLUSTRATIVE), hvid hos brugeren og første ordens Gauss-Markov over epoker ved stationen (rho = exp(-dt / tau)); termisk kodestøj i early-minus-late-DLL sigma = L_c sqrt(B_L d / (2 C/N0) (1 + 2 / ((2 - d) T C/N0))); bias mellem kanaler pr. kanal, konstant over et forsøg, hos brugeren og ved stationen. Stationsled går ind i dens korrektioner, brugerled i de rå og korrigerede målinger, hver på sin egen seedede strøm. Hvis den mangler, er hvert dokument uændret
Uafhængig reference
Lukkede former og statistikker for modellens egne træk (InternalConsistency): DLL-formlen mod en beregning i hånden, formen fra DO-229, nulbaselinje-differensen mellem to modtagere og Gauss-Markov-korrelationen ved lag 1. Ingen måling af multipath eller modtager på Månen findes at sammenligne med; værdierne er ILLUSTRATIVE, og intet her er en udtalelse om nogen rigtig modtager
Tests
lunar_receiver::tests (multipath_is_the_do229_form; dll_noise_matches_a_hand_computation: 0.825279 m at 45 dB-Hz, 0.5 Hz, d = 1, 20 ms; bad_sections_are_refused); tests/lunar_station_ext.rs…
ModelleretVækst i efemeridefejl for referencestation på Månen over korrektionens latenstidlunar_station (orbit_growth_range_sigma_m)
Funktion
Det valgfrie input orbit_err_growth_m_per_s i lunar-station-coverage (LRS-03): en korrektion anvendt latency_s efter, at den blev beregnet, går glip af væksten g latency_s i den udsendte baneefejl, g isotrop med 3-D RMS-rate, trukket pr. satellit og forsøg på sin egen seedede strøm (afstandens 1-sigma-rate tau / sqrt(3)), oven i genprojektionen af den frosne fejl på sigtelinjen. Hvis det mangler, er hvert dokument uændret. Et K5-tillæg til sammenligningen med offentliggjorte påstande, præregistreret alene, kører K5 ved 0,001, 0,01 og 0,1 m/s (ILLUSTRATIVE)
Uafhængig reference
Vækstleddets sigma i lukket form og kontrollen af førsteordens propagering (InternalConsistency). K5-tillægget (tests/fixtures/lunar_station_published/ADDENDUM-LRS03.md, præregistreret alene i 59d88248): K5 fejler ved hver rate, korrigeret p95 3-D 369,8 m, 2315 m og 22797 m mod en tærskel på 1,5 m (292,96 m registreret uden vækst), som angivet før kørslen. Ingen offentlig kilde angiver en vækstrate for Månen: ILLUSTRATIVE
Tests
tests/lunar_station_ext.rs (growth_absent_or_zero_is_the_frozen_error_run; the_growth_term_has_the_closed_form_sigma: forbindelsesfejlen med vækst slået til minus med vækst slået fra har stikprøve-sigma rate tau / sqrt(3) inden for 6 % over 1600…
ModelleretLøsningstilstande for lunar referencestation: højdebegrænsning, tre satellitter, vindue med statisk brugerlunar_solution; lunar_station (solution_figures)
Funktion
Den valgfri sektion [solution] i lunar-station-coverage (LRS-06): en højde-pseudomåling række op . dx = e_h med angivet 1-sigma, vægtet mod afstandsrækkerne, et minimum på tre satellitter, der kun er tilladt sammen med den, og en vægtet mindste kvadraters løsning over de seneste window_epochs epoker med en fælles statisk position og ét ur pr. epoke (et filters svar for en statisk position uden processtøj over de samme data; epokernes fejl behandles som uafhængige). Er sektionen fraværende, er snapshot-løsningen og alle dokumenter uændrede. Et tillæg til sammenligningen med de publicerede påstande, der bruger kildernes løsningsstil og er præregistreret alene
Uafhængig reference
Snapshot-reduktionen og løserens lukkede tilfælde (InternalConsistency). Tillægget (tests/fixtures/lunar_station_published/ADDENDUM-LRS06.md, præregistreret alene i 001ca100) med en højdebegrænsning på 1 m, tre satellitter og et vindue på 6 epoker (ILLUSTRATIVE indstillinger; kilderne angiver et filter, en højdebegrænsning og tre satellitter, men ikke deres indstillinger): K1 til K5 fejler, og K6 består, 1 af 6 som i den optagede kørsel; den korrigerede p95 3D-fejl for R300 falder fra 280,6 m til 2,11 m (horisontalt 0,90 m, ikke bedømt), og dækningen forbliver 0. Vinduets antagelse om uafhængighed begunstiger det. Ikke en udtalelse om noget reelt system
Tests
lunar_solution::tests (one_epoch_without_height_is_the_snapshot_solve: er lig lunar_dpnt::position_error_vector_from_range_errors til 1e-8 m, en løs højderække ændrer intet, en stram fastlåser højdefejlen…
ModelleretNøjagtighed og dækning for en lunar referencestation sammenholdt med publicerede påstandelunar_station (over lunar_dpnt, lunar_service)
Funktion
Scenarietypen lunar-station-coverage kørt under de offentlige antagelser i det publicerede materiale om en lunar differentiel referencestation (fire navigationssatellitter i frosne elliptiske baner på 24 timer, 10 m 95 % SISE, 0,30 m kodestøj, 1 s og 600 s korrektionslatenstid, en stationsopmåling under en decimeter, den publicerede eksempelplacering for stationen og de sydpolære cirkler på 300 km og 600 km) og bedømt mod kildernes numeriske påstande under seks ensidige tærskler, der blev fastsat på forhånd før kørslen: dækning af hele sydpolen ved p95 under en meter (K1, K2), korrigeret p95 under en meter og på decimeterniveau (K3, K4), under en meter bevaret ved 600 s latenstid (K5) og nøjagtighed bevaret fra 10 km til 500 km baseline (K6)
Uafhængig reference
Reference: de numeriske påstande fra fem offentlige kilder, registreret med URL, hentedato, SHA-256 og licens i tests/fixtures/lunar_station/SOURCES.md (arXiv:2602.08432v3; IOAG Cislunar PNT Workshop 2025 og 2026 slides; UNOOSA ICG WG-B Lunar PNT, juni 2024), transskriberet med sidehenvisninger i tests/fixtures/lunar_station_published/CLAIMS.md. Tærskler, tilfælde og input blev præregistreret i tests/fixtures/lunar_station_published/PREREGISTRATION.md (revision 2, 05bf9a19, committet alene før kørslen). 0,36 første kørsel, et fund (forbliver MODELLED): 1 af 6 tærskler består. Dækningen er 0,00 på begge cirkler mod >= 0,95, og den korrigerede p95 3D-fejl er 280,6 m (300 km) og 293,0 m ved 600 s latenstid mod <= 1,5 m. Decimetertærsklen (K4) kunne ikke bestås ved kildernes kodestøj på 0,30 m, hvilket afspejler en modstrid mellem kilderne og ikke et modelresultat. K6 består (forhold 1,39 mod <= 1,5), men som forholdet mellem to geometridominerede størrelser er det belæg om dekorrelation i hverken den ene eller den anden retning. Årsag: satellitternes elementer er ikke offentlige, og med de ILLUSTRATIVE elementer i træet deler en bruger og stationen kun i 8,2 % (300 km) og 6,3 % (600 km) af epokerne fire satellitter over 5 grader, ved næsten singulær geometri (ukorrigeret p95 3,8 km mod kildernes < 10 m). Kildernes simuleringer brugte et filter, en højdebegrænsning og tre satellitter i fælles visning, hvilket snapshot-scenarietypen ikke modellerer. Sammenligningen hverken bekræfter eller afkræfter derfor det publicerede 'under en meter over hele sydpolen'. Den viser, at dette models resultat afhænger af baner, der ikke er publiceret. Ikke en udtalelse om noget reelt system; ikke tilknyttet eller godkendt af nogen myndighed
Tests
tests/lunar_station_published_oracle.rs::recorded_finding_one_of_six_bars_passes (the recorded figures against the registered bars); tests/lunar_station_published_oracle.rs::published_claims_comparison_run (ignored…
ValideretKerne til lunar ARAIM-beskyttelsesniveaulunar_service (lunar_protection_level, lunar_protection_level_with_sigma), lunar (lunar_araim_with_sigma), raim (araim_raim)
Funktion
Trinnet fra geometri til kovarians i det lunare beskyttelsesniveau — (GᵀG)⁻¹ over hele synsfeltet og hver enkelt delgeometri med én fejl, projiceret på den lokale lodrette og sporet af den horisontale blok — og dets statistiske kerne: Bonferroni-detektormultiplikatoren, den gaussiske øvre hale for hver fejlhypotese og rodløsningen, der afbilder et integritetsrisikobudget på et beskyttelsesniveau, over et lunart servicevolumen med 7 punkter
Uafhængig reference
To etablerede tredjepartsimplementeringer sammensat, begge kørt offline, med fixturen regenereret fra ende til anden og verificeret byte-identisk. RTKLIB 2.4.2-p13 (T. Takasu, BSD-2-Clause), commit 71db0ff, src/rtkcmn.c kompileret fra C-kildekode med -ULAPACK: lsq() → matinv() → ludcmp()/lubksb() inverterer normalmatrixen ved Crout-LU med partiel pivotering, en algoritme uden forbindelse til kshanas håndskrevne Gauss-Jordan-funktion invert4(); numpy.linalg.inv (LAPACK getrf/getri) inverterer hver af dem igen som en tredje uafhængig invers og stemmer med RTKLIB til 1.112e-12 relativt. SciPy 1.17.0 / NumPy 2.4.1 (BSD-3-Clause) leverer norm.isf, norm.sf (Cephes ndtri/ndtr) og optimize.brentq mod kshanas Numerical-Recipes-række for den ufuldstændige gammafunktion, bisekteret invers og bisektion med 200 trin — og SciPys direkte sf er en anden numerisk vej ind i den fjerne hale end kshanas 1 − Φ, så udslukningen i den dybe hale er målt og ikke spejlet. Den lodrette akse er den radiale enhedsvektor (definitionen af lokal lodret på en sfærisk Måne), og den horisontale varians er sporet af den horisontale blok, så ingen øst/nord-azimutkonvention deles. UDTRYKKELIGT IKKE VALIDATED AF DENNE RÆKKE: σ_URE, det fejlprior, der gælder pr. satellit, og den illustrative konstellation af typen Moonlight/LCNS er MODELLED input, der gives til den uafhængige reference, som de er; og FORMEN af MHSS-integritetsligningen for enkeltfejl er transskriberet fra den samme publicerede grænse, som kshana implementerer — en delt lukket form er en delt antagelse, så denne række dækker en forkert evaluering af ligningen og ikke et forkert valg af den. Ingen tredjeparts MHSS ARAIM-implementering er tilgængelig (RTKLIB har intet indgangspunkt for beskyttelsesniveau, der findes ingen sådan PyPI-distribution, Stanford MAAST er MATLAB), og det er den udestående opgradering
Tests
tests/lunar_protection_level_reference.rs (7 tilfælde for tjenestevolumen — sydpolart, mellembredde, ækvatorialt, hævet højland — 6 til 19 satellitter, σ_URE 10/30/60 m, P_HMI 1e-3 ned til 1e-7, beskyttelsesniveauer, der spænder over…
ValideretARAIM MHSS-beskyttelsesniveauer sammenholdt med publicerede referencevektoreraraim_reference (araim_reference_protection_levels, published_vectors), raim (araim_protection_level, araim_integrity_risk, normal_quantile)
Funktion
Selve ligningen for beskyttelsesniveauet ved multihypotese-løsningsseparation: vægtet mindste kvadraters løsning for hele synsfeltet og for hver fejltilstand på en geometri i øst/nord/op med én urtilstand pr. konstellation, delløsningernes sigmaer, løsningsseparationens sigmaer og ensidige projektioner af den nominelle bias, Bonferroni-tærsklerne K_fa, risikofordelingen for uovervågede fejl og VPL/HPL, der løser integritetsrisikoligningen. Kan køres som scenarietypen araim-reference-check
Uafhængig reference
EU-U.S. Working Group C ARAIM Technical Subgroup, Reference Airborne Algorithm Description Document v3.1 (20 juni 2019), Appendix D, gennemregnet numerisk eksempel — publicerede INPUT (geometrimatrix for 10 satellitter og 2 konstellationer, diagonalerne C_int/C_acc, b_nom, P_sat, P_const, LPV-200-konstanter) og publicerede OUTPUT (VPL 18,3 m, HPL 13,45 m, EMT 7,2998 m, σ_v_acc 1,3694 m, K_fa_3 5,1083 og seks mellemresultater for konstellationsfejl), hentet 2026-09-20, kilde-SHA-256 7f42934488c5c2261363439fabd48385e39526df34d514f395e22b6990b6bdb7. Stemmer ved referencens EGEN angivne tolerance TOL_PL = 5e-2 m: VPL 0,0074 m, HPL 0,0437 m; EMT og σ_v_acc til deres trykte præcision. Den samme undergruppes Milestone 3 Report (2016) Annex A §A.IX angiver det samme eksempel, men er internt inkonsistent — en fortegnsfejl i række 3 af G (+0,7477, hvor dokumentet fra 2019 trykker −0,7477; med plus bliver dokumentets eget σ_v_acc 0,8690 m mod dets publicerede 1,47 m), og et K_fa_3 evalueret ved 57 fejltilstande, mens dokumentet angiver N_fault_max = 1, dvs. 12, så dets EMT følger tærsklen for 57 tilstande, men dets VPL/HPL gør ikke. Ingen implementering, der følger dokumentet, kan gengive alle dets outputs på én gang. Dets geometriske mellemresultater gengives præcist, og dets beskyttelsesniveauer er optaget som målte afvigelser (VPL 0,0171 m, HPL 0,0842 m, EMT 0,4806 m), udeladt af acceptværdien; tolerancen blev ikke udvidet for at rumme dem. OMFANG: kun N_fault_max = 1 — fejldelmængder med flere hændelser afvises i stedet for at blive afkortet, og udelukkelse, chi-i-anden-konsistenskontrollen og omfordelingstrinnet mod dobbelttælling forbliver MODELLED
Tests
tests/araim_reference_vectors.rs (2 publicerede vektorer + 6 negative kontroller, fixture tests/fixtures/araim_reference/wgc_araim_reference_vectors.txt: at udelade den nominelle bias rammer forbi det publicerede VPL med 2,6457 m, en 10…
ModelleretARAIM med samtidige fejlhypoteser for flere satellitteraraim_reference (add_v42_subset_plan, add_v42_protection_levels_to_order); raim (araim_subset_raim, SubsetRule)
Funktion
araim_reference::add_v42_subset_plan: ADD v4.2-reglen for bestemmelse af delmængder (P_THRES, FC_THRES, overvågede delmængder med færrest fjernede først) generaliseret fra par til samtidige kombinationer af op til max_order satellit- og konstellationshændelser med det eksakte prior P_no fault prod q_e; add_v42_protection_levels_to_order kører ADD v4.2-vejen for beskyttelsesniveauer på den (orden 2 er den eksisterende vej præcist). raim::araim_subset_raim (opt-in): avanceret RAIM over denne hypotesemængde, hver overvåget delmængde som én tilstand (p_fault, T, b, sigma) i integritetsrisikosummen, uobserverbare delmængder flyttet til den uovervågede risiko, budgettet skaleret med ADD-fordelingen af den uovervågede risiko, og delmængden med den største normaliserede separation rapporteres, når en fejl detekteres. Priors, der kræver dybere delmængder end max_order, afvises og afkortes aldrig
Uafhængig reference
Intern konsistens (InternalConsistency): reduktionen af orden 2 til den MAAST-kontrollerede ADD v4.2-vej, uafhængig genafledning af priorerne og en konstrueret fejl i to satellitter. Der er ikke foretaget nogen MAAST- eller RTKLIB-kørsel ud over par, så de dybere hypotesemængder og delmængde-RAIM'ens beskyttelsesniveauer er ikke kontrolleret eksternt. araim_subset_raim deler araim_dual_raims forenklinger (én sigma for integritet og nøjagtighed, ét ur, den almindelige normale hale): den følger ikke ADD
Tests
tests/raim_multi_sv_subsets.rs (deeper_orders_change_nothing_when_pairs_suffice; triples_are_refused_at_order_two_and_planned_deeper: N_fault,max >= 3, den uovervågede risiko inden for P_THRES, en delmængde, der fjerner tre eller…
ModelleretRAIM ved siden af kvalitetsmålene for urets holdoverclock_integrity (run, sky_at, IntegrityCfg); scenario (Scenario::integrity); report (RunResult::integrity_fom); api (clock dispatch)
Funktion
Den valgfri sektion [integrity] i kindet clock (clock_integrity::run): ud fra et angivet sted og konstellationsforudindstillinger (geometry::sky_geometry), ved hver integritetsepoke så længe GNSS-tidslinjen ikke er nægtet, snapshot-RAIM (raim::snapshot_raim: paritets-chi-i-anden-test, beskyttelsesniveauer ud fra hældning) på satellitterne over masken med seedede gaussiske residualer af den angivne sigma og en valgfri angivet bias; en separat blok integrity_fom med verdicts, beskyttelsesniveauer og tilgængelighed pr. epoke. Nægtede epoker rapporteres som utilgængelige og ekstrapoleres aldrig; holdover-kvalitetsmålene er uændrede, og uden sektionen er outputtet byte-identisk
Uafhængig reference
Intern konsistens (InternalConsistency): beskyttelsesniveauerne er dem fra snapshot_raim, som er valideret mod RTKLIB i sin egen række, genberegnet på den samme geometri; adfærd uden fejl og med indsprøjtet fejl. Himlen er en repræsentativ geometri fra en forudindstilling (ikke et dateret almanak), residualerne er syntetiske, og sigma, alarmgrænserne og sandsynlighederne er angivne input; intet her er en udtalelse om en reel modtagers tilgængelighed
Tests
tests/clock_integrity.rs (the_block_is_separate_and_absent_by_default: holdover-tal uændrede, 111 nægtede epoker utilgængelige uden beskyttelsesniveau, afvist med kørsler > 1…
ModelleretRumlig, støjfyldt observerbarhed af buelængde for flere cislunare familiercislunar_observability, observability_gramian, intersat_range, cislunar_srif
Funktion
Tærsklen for observerbarhed af cislunar buelængde i den RUMLIGE CR3BP med seks tilstande i stedet for den plane med fire, på tværs af familierne DRO, L2-halo og L2-næsten-retlinet halo, hvor målestøj indgår i Gramianen, og TO kriterier rapporteres, fordi der ikke findes ét ærligt: det publicerede rangkriterium, som beviseligt er invariant over for en homoskedastisk målesigma (afvægtning ganger observerbarhedsmatrixen med en skalar og lader det relative singulærværdispektrum og dermed rang, defekt og konditionstal uændrede), og et estimerbarhedskriterium — den første bue, hvor den formelle 1σ-positionsusikkerhed for chief'ens begyndelsestilstand falder under en angivet grænse — som er det, der flytter sig med støjen. Hver tærskel bærer det epokegitterinterval, den ligger i; et kriterium, der ikke nås, er null med en begrundelse. Plan tilstand er fortsat standard, og familier uden for planet afvises dér i stedet for at blive fladtrykt til en tilstand, der ikke kan repræsentere dem
Uafhængig reference
En uafhængig rækkeechelon-rang ved gaussisk elimination med partiel pivotering bekræfter hvert verdict om rang med seks tilstande — en anden algoritme, der ikke deler kode med eigen/SVD-vejen under test. Tilstandsovergangsmatrixen 6×6 for CR3BP, som dette sammensætter, har sin egen ReferenceImpl-reference mod SciPys variationelle integration, og begyndelsesbetingelserne for halo/NRHO kommer fra en korrektor, der gengiver den publicerede L2-sydlige Gateway-bane 9:2. Det eksisterende led med kvadratrods-informationsfilter tælles udtrykkeligt IKKE som bekræftelse: det bruger de samme jacobianer og reducerer til den samme normalmatrix, så det er en konsistenskontrol mellem to numeriske maskiner, og den udsendte udvidelsesmærkat siger det. IKKE eksternt forankret, og ExternalDataset er derfor afvist i stedet for lånt fra STM'ens række: selve tærskelbuelængderne afhænger af den MODELLED konstellationsudformning, epokegitteret og — målbart, med op til 40× — af singulærværditolerancen. De publicerede 2,09 timer i det plane tilfælde gengives præcist ved rel_tol = 1e-6 og er selv afhængige af tolerancen (10,25 timer ved 1e-4, 0,42 timer ved 1e-8), hvilket er en egenskab ved kriteriet og ikke ved banen. Intet offentligt datasæt publicerer en tærskel for observerbarhed af buelængde for en valgt cislunar konstellation. MEASURED RESULTAT: tærsklen for den rumlige tilstand med seks tilstande er 22,17 timer for L2 NRHO og 40,42 timer for L2-halo og FINDES IKKE for den plane DRO-familie, som den publicerede påstand blev udledt på — rang 4 af 6 med datumdefekt 2 og to præcis nul-egenværdier, en strukturel defekt, som ingen buelængde afhjælper
Tests
cislunar_observability::tests og observability_gramian::tests (standarddokumentet fastlåst bit for bit ved FNV-1a af dets JSON, oversigt og SVG, med eksplicitte standardværdier påstået at være en no-op og de otte…
ModelleretFejl i forudsigelse af jordorientering i operationel stil, målt forudsagt mod endeligframe_eop, realtime_frame_eop
Funktion
En mindste kvadraters tilpasning af bias plus rate over et bagudgående vindue plus de vigtigste periodiske led — årlig, halvårlig og de to vigtigste zonale tidevand for UT1; Chandler, årlig og halvårlig for polen — ekstrapoleret med det sidste residual i vinduet ført frem: den klasse, IERS Bulletin A bruger, i stedet for den persistensforudsigelse, den publicerede horisont hvilede på. Bedømt på den eneste ærlige måde: en prognose for T+h bygget af hurtige Bulletin A-rækker ved eller før T, målt mod den SENERE publicerede endelige Bulletin B ved T+h, med persistens bedømt over det identiske epokesæt mod de identiske endelige værdier ved siden af. En målepoke uden publiceret endelig værdi udelades i stedet for at blive genbedømt mod den hurtige kolonne; et periodisk led, som vinduet ikke kan begrænse, rapporteres som afvist med de cyklusser, det faktisk spænder over; et ufuldstændigt vindue afvises i stedet for stiltiende at blive forkortet
Uafhængig reference
Tre uafhængige veje, ingen af dem et publiceret tal for forudsigelsesnøjagtighed. (1) Et analytisk signal med kendte koefficienter — den eneste måde at afprøve det periodiske maskineri på, da ingen indchecket serie er lang nok til at rumme et årligt led. (2) Den lærebogsagtige lukkede mindste kvadraters løsning, en anden algebra end den matrixløsning, der testes, på rigtige rækker. (3) De ægte arkiverede Bulletin A-forudsigelsesrækker, som det rigtige produkt fra 2026 publicerer, sammenlignet pr. forsprang som en OVERENSSTEMMELSESstatistik og udtrykkeligt ikke som en fejl: 0,256 ms ved 1 dag, 0,695 ms ved 2 dage, 1,252 ms ved 3 dage, stigende til 3,885 ms ved 9 dage. Så dette er Bulletin A's KLASSE, tæt ved kort forsprang, ikke Bulletin A. De forudsagte-mod-endelige residualer er rigtige målte størrelser over rigtige IERS-rækker, men deres størrelse kontrolleres kun mod sammenligningens RETNING, aldrig mod et af IERS publiceret nøjagtighedstal — at læse et rigtigt produkt er proveniens og ikke en uafhængig reference. MEASURED: på dag 1 giver den operationelle forudsigelse 3,78 m fejl i Måne-systemet mod persistensens 11,39 m (3,01×), på dag 2 10,23 m mod 21,72 m (2,12×), på dag 3 20,33 m mod 30,57 m (1,50×) — og den er VÆRRE ud over tre dage (0,87× ved 5 dage, 0,43× ved 10), hvilket rapporten udsender i stedet for kun at vise de horisonter, der smigrer den. IKKE gengivet: det autoregressive residualfilter og den tabulerede reduktion af zonale tidevand, det operationelle vindue på 365 dage kan ikke nås med de indcheckede data, og der findes INGEN arkiveret tidligere version af serien i dette repository — så tabellen over arkiverede versioner rapporterer ingen rækker i stedet for at bedømme en syntetiseret. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): bedømt mod de samme endelige værdier over 178 arkiverede Bulletin A-udgaver med cratets standardvindue på 15 dage er forudsigelsens UT1 MAE 2.4x til 12.6x Bulletin A's ved 1 til 10 dage (tærskel 1.5x) og 5,32 ms ved 10 dage, uden for intervallet 0,36 til 3,13 ms for den 2nd EOP PCC; polen er 1.5x til 1.85x Bulletin A's (inden for 1.5x kun ved 6 og 7 dage); 19 af 21 betingelser, der blev fastsat på forhånd, fejler. Rettelse til vej (3): rækkerne for produktet fra 2026, den blev sammenlignet med, bærer IERS-flaget I (målt), ikke P, så disse overensstemmelsestal er mod målte hurtige værdier og ikke mod Bulletin A-forudsigelser. 0,30 runde 2, en forudsigelse med mindste kvadrater plus autoregression med de zonale tidevand fjernet analytisk, mod 178 arkiverede Bulletin A-udgaver ved tærsklen fra runde 1 (præregistreret c93605b4), et fund (forbliver MODELLED): 12 af 21 betingelser holder; UT1 MAE er 1,73 til 2.11x Bulletin A's ved 2 til 10 dage (tærskel 1.5x), mens polen er inden for 1.27x ved hvert forsprang. 0,30 revision: nu hvor offline-inputtet er klassificeret efter IERS-flag, er overensstemmelsestallene for vej (3) mod rigtige Bulletin A-forudsigelser (0.256/0.695/1.252/3.885 ms ved 1/2/3/9 dage mod hurtige rækker -> 0.133/0.421/0.839/2.786 ms)
Tests
frame_eop::tests, realtime_frame_eop::tests and tests/operational_eop_predictor_reference.rs (analytic-signal coefficient recovery to 1e-9 at a 365-day window; a bias-plus-rate fit equal to the closed-form…
ModelleretLunart datum for referencesystem ud fra en observationskampagnelunar_frame_campaign (composing lunar_vlbi, lunar_vlbi_fim, fim, lunar, lunar_frame_realise, frames, cio, lunar_frame)
Funktion
Det syvparametriske Helmert-datum udledt af en SIMULERET OBSERVATIONSKAMPAGNE i stedet for at blive genfundet fra en indsprøjtet transformation. Jordstationer observerer et kildebelagt katalog over beacons på månens overflade efter en eksplicit plan; de lunare VLBI-forsinkelsespartielle akkumuleres til en Fisher-informationsmatrix for beaconkoordinater og føres gennem Helmert-designet A = [I₃ | [p]ₓ | p] til H = AᵀM_bA, så den rapporterede datumnøjagtighed er en funktion af observationsprogrammet — nøjagtigt lineær i forsinkelsens sigma og monoton i buen gennem den libration, rapporten måler. Datumdefekten er emnet og ikke en fodnote: rang, defekt, konditionstal, spektrum, uobserverbare retninger i syvparameterbasen, den svageste retning selv ved fuld rang og hver parameters andel af den udsendes ved hver kørsel, og enhver parameter, som kampagnen ikke begrænser, publiceres som NULL med en status. Korrelation mellem beaconfejl er MEASURED og ikke antaget — nøjagtigt nul med stationerne holdt fast, og trykt med sin pris, når de estimeres. Kan køres som scenarietypen lunar-frame-campaign
Uafhængig reference
Lukkede identiteter og en uafhængig vej i selve repositoryet, uden at en ekstern uafhængig reference gøres gældende. Helmert-designet — den eneste nye afledte i modulet — afledes igen ved central finite difference af lunar_frame_realise::apply_helmert, en vej, der ikke deler noget udtryk med den analytiske form. Den akkumulering, det sammensætter, er lunar-vlbi-fim's, hvis jacobian er differenceret med finite differences mod lunar_vlbi::vlbi_delay_s dér, og hvis lineær-algebra-kerne er separat eksternt forankret mod numpy i tests/fim_observability_reference.rs — denne række låner ingen af disse statusser. Fysikorakelet er strukturelt og ikke numerisk: en beacons forsinkelsespartiel er nærfeltets FORSKEL mellem to næsten parallelle enhedsvektorer, så den dårligst bestemte translationsretning SKAL være den kropsfaste retning mod Jorden, og testen hævder det beregnede svar mod den separat målte retning. MEASURED: kampagneudledt translationssigma 6,3975 m mod det indsprøjtede transformationsscenaries genfindingsfejl på 0,3125 m (20,5× strammere), mens rotation og skala går den ANDEN vej med 2,32× og 13,5× løsere — den indsprøjtede vej antager én isotrop sigma og spreder derfor sin fejl ensartet over syv parametre, hvilket forsinkelsesobservablen ikke gør. Rang 7/7, men konditionstal 3.8e5, med én retning, der er 99,57 % ren translation mod Jorden og fyrre gange dårligere end nogen anden. HVAD DENNE RÆKKE IKKE PÅSTÅR: at kampagnetallet er rigtigt i absolut forstand. Den fastslår, at tallet nu UDLEDES af en plan, en geometri og en fejlmodel og ikke af et plantet svar. Forbliver ReferenceImpl/MODELLED: der findes intet publiceret par af lunar VLBI-kampagne og datumkovarians, stationsnetværket og forsinkelsessigmaen er ILLUSTRATIVE input (beaconkataloget er kildebelagt, kampagnen er ikke), observationer behandles som uafhængige, mens en rigtig sessions troposfære og ur er korrelerede mellem nærliggende scanninger, og efemeriden, urene, troposfæren og jordorienteringsparametrene holdes FASTE. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): med hver beacon-jacobianrække genopbygget ud fra NAIF SPICE-lysrejsetider (DE440, ITRF93, MOON_ME; præregistreret 50863551) stemmer planen, Helmert-rangen, datumsigmaerne (inden for 4.7e-3), konditionstallet, den svageste retning (0,07 grader), libration-sweep og buerækkefølgen på seks scenarier inden for de præregistrerede 1 % / 0,2 / 0,05 grader. NumPy på den indcheckede jacobian fra motoren stemmer til 3e-14, hvor stationerne er faste. Med estimerede stationer afviger den med 6.8e-6 mod en præregistreret 1e-9, hvis præmis om konditionstallet var forkert (Helmert-konditionstal 2.1e8; uafhængige NumPy-veje er uenige med 3e-6; et bidrag fra motorens pseudoinvers-fallback på 1e-9 kan ikke udelukkes), så rækken forfremmes ikke på denne præregistrering. 0,36 genregistrering ved en tærskel skaleret efter konditionstal (præregistreret b887eb05; t = max(1e-12, 10 kappa 2^-53) ud fra konditioneringen af den samlede information og dens Helmert-reduktion), et fund (forbliver MODELLED, NOT MET): trin 0 udelukker pseudoinvers-fallbacken for gabet på 6.8e-6 (ingen matrix opstrøms for Helmert-matrixen falder tilbage på de seks oprindelige scenarier, snævreste margin en faktor 2,6), SPICE-leddet holder stadig på alle seks, og NumPy stemmer inden for tærsklen på seks af otte scenarier (standard, de to buer, 3x forsinkelsessigma, den kollineære defekt og den nye kørsel med faste stationer den 2026-12-01; værst 0,13 af dens tærskel). Den fejler på stations_estimated (datumsigmaer op til 6.8e-6, konditionstal 9.1e-6, norm uden uafhængighed 3.5e-6, mod t = 5.9e-7), og på den nye dato har sydpolsbeaconen ingen observation, så beaconinformationen er rangdefekt (pseudoinvers-fallback opstrøms for Helmert-matrixen i begge nye scenarier), og det uændrede NumPy-orakel kan ikke evaluere stations_estimated_fresh (singulær matrix). Resultater: docs/design/evidence/mr05-lunar-datum-cond/RESULTS.md
Tests
lunar_frame_campaign::tests (21 biblioteks-tests: Helmert-udformningen mod en central finit differens af lunar_frame_realise::apply_helmert — modulet, datummet er TIL, som ikke beregner nogen afledt og derfor fastlåser [p]ₓ…
ModelleretBekræftelse af tærsklen for cislunar buelængde med en uafhængig estimatorcislunar_arc_recovery, batch_ls
Funktion
En batch-estimator med mindste kvadrater, der GENFINDER chief'ens begyndelsestilstand ud fra simulerede målinger mellem satellitter over voksende præfikser af det samme epokegitter, som tabellen over rang mod bue bruger, med målepartielle taget som centrale finite differences af den sammensatte fremadmodel. Den bruger intet af det maskineri, tærsklen blev målt med — ingen analytisk jacobianrække, ingen variationel tilstandsovergangsmatrix, ingen singulærværdi- eller egenværdidekomposition, ingen ranktolerance, intet kvadratrods-informationsfilter — og deler kun dynamikken, begyndelsesbetingelserne, den skalare observabel og epokegitteret, hver nævnt i det udsendte dokument. To kriterier, begge sweepet: genfinding uden støj (rangens analog) og Monte Carlo-estimerbarhed (estimerbarhedens analog, målt mod en kendt sandhed og ikke forudsagt ud fra en kovarians). Kan køres som scenarietypen cislunar-arc-recovery
Uafhængig reference
En separat estimator i denne kodebase med en anden algoritme og en usammenhængende kodesti: ikke-lineær vægtet Gauss-Newton med partielle ved finite differences, hvis verdict læses som en målt fejl i tilstandsgenfinding i km og mm/s. Den har intet udtryk til fælles med Gramianens vej med rang og kovarians, og adskillelsen HÅNDHÆVES af en kildetekstvagt og ikke blot påstås. MEASURED på det publicerede plane DRO-gitter: ESTIMERBARHEDSkriteriet er CORROBORATED — den målte Monte Carlo-grænse er 5,739130 timer mod den formelle 5,739130 timer (forhold 1,0000), og den målte RMS gengiver den formelle 1σ over 21 buelængder til et geometrisk middelforhold på 0,9804. RANGkriteriet er ikke bekræftet som genfindingsgrænse: estimatoren genfinder fra 0,782609 timer mod Gramianens 2,086957 timer, forhold 0,375, og ved 1,826087 timer — det sidste præfiks, som rangaflæsningen bedømmer til 3 af 4 — genfinder den til 1.96e-5 af den a priori forskydning. Genfindingsgrænsen er uflyttet over tre dekader af sin egen grænse, mens ranktærsklen spænder fra 'aldrig' til 0,782609 timer over fire dekader af rel_tol, og de to falder nøjagtigt sammen ved rel_tol = 1e-8. Dette spænd blev først optaget som værende nået ved 0,260870 timer; det tal var et ARTEFAKT, frembragt af en rangaflæsning, der talte 4 retninger ud fra 2 målerækker under f64-støjgulvet, og det er rettet her i stedet for at blive stående. Rangaflæsningen er nu begrænset af Sylvesters ulighed med begrundelsen udsendt, og det rettede spænd mætter nøjagtigt ved den bue, hvor den uafhængige estimator genfinder, hvilket styrker og ikke svækker denne rækkes krydsvalidering: de publicerede 1e-6 er en konservativ KONVENTION for singulærværdier og ikke en udtalelse om genfindelighed. Det samme mønster rumligt: NRHO 9,290323 timer mod 21,677419 timer, halo 22,978723 timer mod 39,829787 timer, med estimerbarhed, der stemmer nøjagtigt i begge. Den plane DRO med seks tilstande genfinder ved ingen bue og gengiver uafhængigt den families strukturelle datumdefekt ud fra en estimator, der intet fik at vide om den. IKKE eksternt forankret — dynamikken og begyndelsesbetingelserne deles med den analyse, der testes, og intet offentligt datasæt publicerer en sådan tærskel — så ExternalDataset er afvist
Tests
cislunar_arc_recovery::tests og tests/cislunar_arc_recovery_reference.rs (begge grænser og deres forhold fastlåst på det publicerede gitter; den målte fejlkurve sammenlignet med den formelle kovarians række for række med en…
ModelleretLunart servicevolumen ud fra reel, hentet konstellationsgeometrilunar_ephemeris, lunar_service
Funktion
Accepterer en tabuleret Måne-centreret tilstandsefemeride (evalueringen af en SPK/BSP-kerne) eller en publiceret konstellationsdefinition bag ephemeris_path, kører den identiske sweep af dækning / DOP / beskyttelsesniveau mod den og udsender det σ_URE-afstandskrav, den medfører, VED SIDEN AF de uændrede illustrative Kepler-resultater og de perturberede resultater, med forskellen som sin egen navngivne størrelse. Hvert tal bærer en proveniensklasse, der skelner kerneafledt fra afledt af publicerede elementer og fra modelleret, så de aldrig kan forveksles i et efterfølgende citat
Uafhængig reference
GEOMETRIEN er ekstern og hashet: tre fixtures, hvis tal kun stammer fra dokumenter hentet med URL, hentedato og SHA-256, kan regenereres af indcheckede generatorer, der verificerer den opstrøms hash og AFBRYDER i stedet for at udsende et tal — LANS' referencekonstellation til interoperabilitetsdemonstration (NASA NTRS 20250009447, SHA-256 d1b916be…), LNCSS-casestudierne (NAVIGATION 70(4) navi.613, CC BY, SHA-256 4e294687…) og en ægte efemeride for flyvende rumfartøjer for LRO, Danuri, Chandrayaan-2 og CAPSTONE evalueret ud fra JPL's egne rekonstruerede kerner via Horizons. Der findes OFFENTLIGT INGEN kerne for en lunar navigationskonstellation — Moonlight/LCNS, LCRNS og LNSS flyver ikke, og NAIF publicerer intet for dem — og ingen er opfundet. Det AFLEDTE σ_URE-krav har INGEN ekstern uafhængig reference (ingen publicerer den afstandsnøjagtighed, som en lunar HPL på 50 m kræver over dette servicevolumen), så det kontrolleres mod sin egen algebraiske identitet og uafhængigt heraf ved at køre hele sweepet igen ved det beregnede krav og bekræfte, at tilgængeligheden skifter dér. MEASURED: det publicerede design med 8 satellitter kræver σ_URE 2,9044 m ved 100 % dækning mod den illustrative konstellations 0,3591 m ved 37,85 % — en 8,09× revision af et publiceret tal under programreglen R4. Den kvalitative konklusion består (LNIS-klassens 30 m lukker stadig ikke en sydpolær HPL på 50 m), men underskuddet var overdrevet otte gange. Demoen LANS med 5 satellitter giver NUL stikprøver af beskyttelsesniveau — fem satellitter kan ikke give de seks i synsfeltet, som en hypotesemængde for én fejl kræver — og kravfeltet er FRAVÆRENDE i stedet for opdigtet; ligeså for de fire rigtige rumfartøjer ved 0 % dækning. InternalConsistency er den ærlige slags: INPUTDATA er eksterne og hashet, men den størrelse, denne række handler om, er kun valideret mod sig selv. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): mod LNCSS-casestudiernes statistik i navi.613 på 346 gitterpunkter ligger 4 af 12 tilgængelighedsstatistikker uden for de præregistrerede 2 procentpoint (case A: -4.0, +22,5 og -3.6 pp; case B: -12.1 pp). Sandsynlige årsager: elementer læst i det forkerte referencesystem, tolegemers Kepler over 15 dage mod papirets ikke angivne kraftmodel og et gitter, der ikke kan genskabes ud fra teksten. PDOP-halvdelen kunne ikke evalueres (LANS trykker ingen numerisk statistik); sammenligningstesten er committet ignoreret. 0,30 runde 2, et fund (forbliver MODELLED): mod en uafhængig reference med Orekit 12,2 / Hipparchus 3,1, der beregner hele rapporten (Orekit-propagering, DOPComputer-synlighed og DOP, Hipparchus-sammensatte MHSS-beskyttelsesniveauer, kravet løst pr. stikprøve; præregistreret d3ce97b2) på alle fem hentede geometrier og to gitre, stemmer 155 af 160 værdier inden for de præregistrerede tærskler (2 pp, 5 %, 1 %), herunder σ_URE-kravet for LNCSS A og C (3,879072208 m på begge sider for case A) og det fraværende krav for LANS og orbiterne. LNCSS B på det tætte gitter fejler på statistikken for sine værste stikprøver (sigma_required 0,000923 mod 0,001511 m, hpl_max 1.63e6 mod 0.99e6 m), hvor næsten singulære geometrier (PDOP omkring 1e6) forstærker positionsoverensstemmelsen på meterniveau; dets p95-krav stemmer (1,6343 mod 1,6357 m). Kravet for den værste stikprøve er dårligt stillet på degenereret geometri. Mod navi.613: 4 af 12 ligger stadig uden for 2 pp (fastlåst)
Tests
lunar_ephemeris::tests (format- og systemparsing; Lagrange-interpolation eksakt i knuderne og på et lineært spor uden for knuderne; ICRF-elementer tager IAU 2015-reduktionen og er byte-lige med en eksplicit icrf_to_iau_moon…
ModelleretEnhed og proveniens angivet for hver rapporteret størrelsefield_schema
Funktion
Et maskinlæsbart skema, der angiver enhed, proveniensklasse og definition for hvert numerisk felt i hver scenarierapport, plus én enkelt global port, der kører hver registreret scenarietype og fejler, hvis et udsendt numerisk felt mangler en af dem. Proveniensvokabularet er lukket, og hver klasse bærer et evidensniveau, med to klasser bevidst afbildet på inherits-scenario-label og depends-on-input i stedet for at få et niveau, som klassen ikke bestemmer
Uafhængig reference
Selve det udsendte dokument: hvert numerisk blad skal opløses til en post i det dokuments egen units-blok. Der findes intet eksternt enhedsregister at kontrollere en ERKLÆRET enhed mod, så en erklæret enhed er en gennemgået påstand og ikke en verificeret — porten verificerer FULDSTÆNDIGHED og KORREKT OPBYGNING, ikke sandhed, og valideret ville være forkert, fordi intet eksternt bekræfter, at m er den rigtige enhed for et felt med navnet _m. En uafhængig krydskontrol af navnesuffikser blev kørt over de 1.434 felter, der var beskrevet PÅ DET TIDSPUNKT: af de 691, der bar et suffiks med enhed, er 40 uenige med den erklærede enhed, og alle 40 er forklaret (suffikser pr. sekund, minima, apertursekunder, newtonmeter mod et suffiks, der ligner nanometer), så ingen forkert enhed dukkede op. Den krydskontrol er ikke kørt igen siden, og dækningen er vokset forbi den — tallet er stillet på det, der faktisk blev målt, og ikke gentaget ved det nuværende samlede antal. På tidspunktet for den ændring (0.27.0) gik dækningen fra 7 af 56 typer til 60 af 61 og fra 389 af 1354 felter til 1.742 af 1.744 (docs/field-units-schema.json, som en forældelseskontrol holder aktuel). INGEN type forbliver udækket (loft 0, FUT-28, 0,36): den sidste var sweep-nd, hvor to af kolonnerne er nøglet af kalderen, så deres enheder er data; de er nu beskrevet som mixed - see note, og enheden for hver position læses fra den SWEEPEDE pakkes egen units-tabel ind i key_units og metric_units (eller tages fra aksens erklærede unit, som skal stemme med pakkens, når begge findes; null, når ingen af dem findes, angivet og ikke gættet). cislunar-observability var den, der kom før, og røg af listen, da dets udgivne dokument fik en units-blok: additivitetsfastlåsningen, der havde navngivet units som en forbudt nøgle, BEVISER nu i stedet, at tilføjelsen er additiv — fjern blokken igen, og dokumentet hasher stadig til de to konstanter, der blev fastfrosset, før den fandtes, så en udgivet værdi, der flyttede sig under tilføjelsen, fejler stadig. Arbejdet afslørede også tolv enheds- eller dokumentationsdefekter i eksisterende kode, rapporteret og ikke rettet under R1
Tests
tests/field_units_global.rs (alle 61 registrerede typer kører, én dokumentform hver: hvert numerisk blad skal opløses til en post i det dokuments egen units-blok; en fejlformet post tæller som manglende for HVER type…
ValideretLunart datum for referencesystem ud fra en REEL observationskampagnelunar_llr, realdata::llr_crd (composing fim, cio, frames, ephem, lunar_frame, lunar_frame_campaign)
Funktion
Kovariansen for det syvparametriske Helmert-datum, med de to simulerede input erstattet af målte: planen er jordsendeepokerne for 337 arkiverede ILRS-normalpunkter for lunar laserafstandsmåling (2015-04-08 til 2015-06-27, Grasse MeO 7845 og Matera MLRO 7941, alle fem retroreflektorarrays), og hver observationsvægt er det punkts egen arkiverede præcision bin_rms/√n_raw — median 5,13 mm envejsafstand, aflæst i filen. Stationskoordinater IERS ITRF2020, reflektorkoordinater JPL DE430 Table 7. Kan køres som scenarietypen lunar-llr-datum. Den validerede påstand (0,36) er snæver: på den analytiske standardvej stemmer beregningen af datumkovariansen med en uafhængig reference med SPICE-lysrejsetid og NumPy på nye målte normalpunkter; den er ikke en LLR-nøjagtighed og ikke belæg for, at den analytiske Måne er nøjagtig
Uafhængig reference
Lukkede identiteter, en uafhængig vej i selve repositoryet og, siden 0,36, en uafhængig SPICE- og NumPy-biblioteksreference på nye målte data (nedenfor); der findes intet publiceret par af lunar LLR-datumkovarians at kontrollere mod, så ingen nøjagtighed påstås. Den eneste nye afledte — afstandens partielle med hensyn til reflektorens kropsfaste position — afledes igen ved central finite difference af den tovejs lysrejsetid, den differentierer, en vej, der ikke deler noget udtryk med den analytiske form. Fysikorakelet er strukturelt: afstandens partielle ER to gange sigtelinjen, så den kropsfaste koordinat langs middelretningen mod Jorden skal bestemmes langt bedre end de to koordinater i himmelplanet, som kun libration når — målt til 50,7× til 71,7× på tværs af de fem arrays mod en libration-sweep, som rapporten måler uafhængigt, med den isotrope forudsigelse for små vinkler og den transversale anisotropi, der forklarer gabet, begge trykt. HVAD DER ER ÆNDRET: planen, antallet af observationer og hver observationsvægt er nu målt; 337 af 349 arkiverede punkter bruges, og de 12, der ikke gør, springes over og tælles, fordi ITRF2020 ikke har nogen position for Apache Point. MEASURED: datumtranslationssigma 1.851746e-2 m mod den SIMULEREDE kampagnes 6,3975 m (345×), rotation 36×, skala 24× — et forhold mellem et laserafstandsnetværk og et VLBI-forsinkelsesnetværk, så et fund og ikke en validering. Rang for reflektorinformationen 15/15 med kobling mellem arrays nøjagtigt 0; Helmert-rang 7/7, konditionstal 2.4e4. HVAD DENNE RÆKKE IKKE PÅSTÅR: at tallet er rigtigt i absolut forstand. En rigtig LLR-løsning samestimerer månebanen, de fysiske librationer, jordorienteringen, stationskoordinater og tidevands- og relativistiske parametre og rapporterer decimeter (DE430 Table 7's egne 0.12-0.27 m), hvor denne grænse er langt mindre; dette er en Cramér-Rao-grænse for et angivet reduceret parametersæt og ikke en nøjagtighed. Uden for den validerede påstand (modelleret, ikke valideret): Måne-centrets efemeride og IAU 2015-legemsorienteringen er modelleret, og troposfære, tidevand, stationsekscentricitet, polbevægelse, UT1-UTC, relativistisk forsinkelse og stationsure er fraværende. Deres samlede størrelse er PUBLICERET og ikke argumenteret — observeret-minus-beregnet envejsafstand 156.494 m RMS over de 337 punkter — og deres virkning på kovariansen er BEGRÆNSET og ikke argumenteret: at løse hele datum igen med hver partiel vippet 0,1° (to gange den målte værste epokes efemeridevipning, med skiftende fortegn) flytter leverancen med 0,288 %. EKSTERN KONTROL (0,30 runde 2, præregistreret 6b27964a), et fund (forbliver MODELLED): SPICE tovejs lysrejsetid (DE440, ITRF93, DE440 lunar orientering) med finite difference-partielle og en numpy-invers, på de samme 337 målte normalpunkter og vægte, stemmer på bogføring, begge rang, nul kobling, residual-RMS (2.1e-5) og 15 af 16 kovariansstørrelser. Sigma for z-translation er 1,03 % for høj mod den præregistrerede tærskel på 1 %. Med Måne-centret fra DE440 falder den til 0,049 % (c51f8b2, set data), og på nye normalpunkter fra 2019 holder datum med kerne-Månen hver tærskel (række "…, kerne-Måne-center"), hvor den analytiske Måne også forbliver inden for tærsklerne (værst 3.8e-3, kun til information), så den sammenligning ikke adskiller Månemodellerne. KØRSEL MED NYE DATA AF DEN ANALYTISKE VEJ (0,36, præregistreret 31f5283, før noget punkt blev hentet): den uændrede SPICE- og NumPy-reference på 151 brugte EDC CRD v2-normalpunkter fra 2025-04..06 (et år, ingen test havde brugt; filer hentet igen og referencen kørt igen uafhængigt, se fixturens NOTICE) ved de samme tærskler: bogføring, rang, antal pr. array og nul kobling ens; sigmaer og normer værst 1.11e-3 (1 % tærskel), konditionstal 8.95e-4 (2 %), forhold på tværs/langs værst 1.79e-3 (2 %); SPICE O-C 10,79 m. VALIDATED på dette belæg som en bibliotekskontrol af kun kovariansberegningen; den analytiske residual-RMS på det udsnit er 222 km, så tærsklerne skelner ikke mellem Månemodeller (som på kernerækken). Resultater: docs/design/evidence/mr06-llr-analytic-fresh/RESULTS.md
Tests
tests/lunar_llr_real_data.rs (11 tests: alle 15 indlæste CRD-filer byte-identiske med deres optegnede digests; alle 349 poster redegjort for, 337 brugt og 12 sprunget over af en navngiven grund; hver arkiveret afstand inden for…
ModelleretLunar referencestationsgeodæsi: tilføjet retroreflektor og VLBI-beacon mod datum med fem arrayslunar_llr (over lunar_frame_campaign::beacon_information, schedule_for and solve_datum_information, lunar_vlbi_fim)
Funktion
Valgfri input extra_reflectors og extra_beacons på scenariet lunar-llr-datum tilføjer en blok station_geodesy: Helmert-informationen for de fem arrays fra det arkiverede udsnit af lunar laserafstandsmåling plus den information, som en tilføjet retroreflektor (målt i afstand ved de arkiverede normalpunktsepoker, hvor målestationen er over sin horisont, hver med det normalpunkts arkiverede vægt) og en tilføjet VLBI-beacon (observeret af netværket og planen i lunar-frame-campaign med jordstationerne faste, gennem forsinkelsespartielle fra lunar-vlbi-fim) på angivne steder lægger på det syvparametriske datum, løst igen, med hver Helmert-parameters 1-sigma før og efter, deres forhold, normerne før og efter og de yderste egenværdier af Fisher-forskellen. Er de fraværende eller tomme, er rapporten uændret
Uafhængig reference
Kun intern konsistens: hvert tilføjet sted er et særskilt punkt, og en laserafstand eller en VLBI-forsinkelse med fast station berører ét punkt, så dets information A_p^T M_p A_p er positivt semidefinit og lægges til; testen kontrollerer Fisher-forskellen og hver varians mod det. Resultatet for de fem arrays er den eksisterende række med rigtige data og er uændret. Den tilføjede reflektor genbruger epoker planlagt for de fem eksisterende arrays, en ILLUSTRATIVE plan, og den tilføjede beacons netværk, plan og forsinkelsessigma er de ILLUSTRATIVE input fra lunar-frame-campaign; stedet er en ILLUSTRATIVE sydpolær position. Et sydpolært sted ser Jorden lavt på sin horisont eller slet ikke, hvilket de eksisterende tests af udkigsvinkel udtrykker; intet af stederne måles kontinuerligt i afstand. Tallene er Cramér-Rao-grænser for et reduceret parametersæt, ikke et løst datum og ikke en udtalelse om nogen reel station
Tests
tests/lunar_station_geodesy.rs (empty_or_absent_extra_lists_are_bit_identical: tomme lister og baseline-eksemplet giver standardrapporten og -oversigten byte for byte; an_added_site_never_increases_any_variance: den…
ValideretLunart datum for referencesystem ud fra en REEL observationskampagne, kerne-Måne-centerlunar_llr (llr_geometry_with, LunarLlrDatumScenario); ephem_provider (KernelEphemeris); naif_kernel
Funktion
Kovariansen for det syvparametriske Helmert-datum lunar-llr-datum ud fra arkiverede ILRS-normalpunkter og deres målte vægte, på kernevejen: det geocentriske Måne-center læses fra JPL DE440 af motorens egen kernelæser (planetary_kernel_path; lunar_llr::llr_geometry_with, ephem_provider::KernelEphemeris). Kun Måne-centret adskiller sig fra den analytiske række; IAU 2015-orienteringen, den fraværende polbevægelse og UT1, katalogerne, udvælgelsesreglerne, vægtene og den lineære algebra er de samme. Den validerede påstand er kun, at denne vejs datumkovarians stemmer med en uafhængig SPICE- og NumPy-reference på nye, usete normalpunkter. Sammenligningen skelner ikke mellem Månemodeller og kontrollerer ikke Måne-centret: på det samme udsnit består den analytiske Måne også hver tærskel, den præregistrerede mutation (kerne-Månen læst en time for sent) blev ikke opdaget, og et Måne-center, der er omkring 4.650 km forkert, består også (se referenceteksten). Det er ikke belæg for, at kerne-Månen forbedrer datum. Kan køres som scenariet lunar-llr-datum med planetary_kernel_path (og normal_points_dir for et andet udsnit)
Uafhængig reference
NAIF SPICE Toolkit N0067 (spiceypy 8.2.0, MIT) tovejs lysrejsetider på DE440, ITRF93-jordorientering og DE440-månens orientering (MOON_ME) med finite difference-partielle på 100 m, og numpy 2.3.5 (BSD-3-Clause, LAPACK) informationsmatrix og invers: den uændrede generator til sammenligningen i den analytiske række (6b27964a), kørt på et nyt udsnit (EDC CRD-normalpunkter, 2019-04..06) præregistreret i 830d945a før noget af det blev hentet, ved den analytiske rækkes tærskler (1 % sigmaer og normer, 2 % konditionstal og forhold, nøjagtig bogføring, rang og kobling) og dens selvkontrol af referencen (SPICE O-C 10,86 m < 100 m). Hver størrelse holder, værst 7.6e-5. Mutationer: den planlagte Månemutation på en time opdages IKKE (kovariansen afhænger af spredningen af sigtelinjerne og ikke af deres tidspunkt); en strukturel mutation valgt bagefter og oplyst som sådan, hvor nedlinkens partielle droppes, fejler hver sigma. Fund: på dette udsnit består den analytiske Måne også (værst 3.8e-3), så tærsklen skelner ikke mellem Månemodeller, og dette validerer kovariansen på nye data og ikke en forbedring af kerne-Månen. Integratorkontrol ved sammenfoldningen (ikke præregistreret): kerne-Månen læst relativt til Jord-Måne-barycentret i stedet for Jorden (residual-RMS 4.649 km) og kerneepoken uden TT minus UTC (69 s; residual 2,6 km) består begge stadig hver tærskel, mens udeladelse af sqrt(n_raw) fra de målte vægte fejler alle 16 størrelser med bånd; sammenligningen er følsom over for vægtene, de partielle og den lineære algebra og ikke over for Måne-centret. Begge sider læser DE440: dette validerer beregningen på DE440 og ikke DE440. Uden for påstanden: en LLR-nøjagtighed (en Cramér-Rao-grænse for et reduceret parametersæt)
Tests
tests/validate_llr_datum_kernel_moon_fresh.rs::llr_datum_kernel_moon_matches_spice_and_numpy_on_fresh_normal_points (447 usete normalpunkter fra 2019-Q2; sigmaer og normer inden for 4.0e-5 af 1e-2, kondition 1.6e-5 af 2e-2…
ValideretIndbygget analytisk lunar efemeride — dens ANGIVNE NØJAGTIGHEDSGRÆNSE kontrolleret mod rigtige dataephem (moon_position), lunar_llr, realdata::llr_crd
Funktion
ephem::moon_position, den lavpræcise geocentriske lunare serie, som cratet falder tilbage på, når ingen DE/SPK-kerne er til stede, målt mod rigtig lunar laserafstandsmåling og mod en publiceret planetefemeride over det samme tidsrum. Denne række validerer den grænse, som modulet angiver om sig selv, IKKE en nøjagtighed: serien bekræftes at være ikke værre, end den siger, ikke bekræftet at være god
Uafhængig reference
TO uafhængige eksterne datasæt, der intet deler. (1) 337 arkiverede ILRS-normalpunkter for lunar laserafstandsmåling (EUROLAS Data Center, DGFI-TUM, 2015-04-08 til 2015-06-27, fem retroreflektorarrays, committet med SHA-256 pr. fil og et script til gendownload og verifikation): observeret-minus-beregnet envejsafstand 156.494 m RMS, med stationskoordinater fra IERS ITRF2020 og reflektorkoordinater fra JPL DE430 Table 7, så residualet domineres af Måne-centerserien. (2) JPL Horizons geometriske geocentriske Måne-tilstande over det samme tidsrum: 112.567 m RMS radialt, 195.655 m RMS vektor, værste epoke 360.324 m = 0,0536°. Et afstandsresidual reagerer på den RADIALE del af en efemeridefejl, så (1) og (2) er den samme størrelse nået på to måder og stemmer med 1,39× — hvilket giver scenariet lunar-llr-datum ret til at tilskrive sit residual efemeriden. Motorens egen moduldokumentation påstår ~0,3° / ~nogle få·10² km; begge målinger ligger inden for den, den vinkelmæssige påstand med en margin på 5,6×. OMFANG, angivet så ingen læser kan misforstå det: dette validerer den angivne GRÆNSE og ikke et nøjagtighedstal. Serien forbliver uegnet til enhver anvendelse, der kræver bedre end ~1e5 m, og den begrænsning er rækkens indhold lige så meget som overensstemmelsen. Kan regenereres offline med de indcheckede scripts til hentning og verifikation
Tests
tests/lunar_llr_real_data.rs::the_analytic_moon_series_disagrees_with_jpl_by_the_same_amount (12 ugentlige geocentriske tilstande, værste epokes vinkel påstået < 0,3° og RMS < 5e5 m mod modulets egen dokumenterede påstand…
ModelleretGate-integritet — et grønt, der betyder, hvad det sigerscripts/gate.sh, scripts/check-gate-receipt.sh, scripts/check-repeatability.sh, scripts/install-gate-hook.sh
Funktion
Tre strukturelle vagter over selve verifikationsprocessen, der hver lukker en klasse af defekter, som nåede den kanoniske gate som en intermitterende eller falsk rød. (1) Hver konstrueret midlertidig sti i Rust-kilderne skal bære en komponent, der er unik pr. kald; et proces-id afvises, fordi cargo kører bibliotekstestene som parallelle tråde i ÉN proces, og pid'en deles af dem alle. (2) Hver byte-for-byte- eller hash-fastlåsning skal ved siden af sig selv eller i sin modulheader erklære, hvad den dækker, og hvad den bevidst udelader — så en tværgående ændring kan se med et blik, hvilke fastlåsninger der er omfattet, og hvilke der stiltiende er blevet ændringsdetektorer for hele repositoryet. (3) Et grønt kan kun gøres gældende fra den FULDE suite: scripts/gate.sh kører cargo test --all, fanger den sande exitkode uden pipe i vejen og skriver en kvittering, der navngiver committen, antallet af integrationsbinærer, antallet af tests og varigheden; pre-push-kontrollen afviser et push, hvis commit ingen gyldig kvittering navngiver, på et rent træ. Gentagelighed stikprøves separat af scripts/check-repeatability.sh, som kører biblioteks-suiten N gange og fejler, hvis mængden af beståede tests er forskellig.
Uafhængig reference
Lukket form: hver vagt køres over et fast kendt dårligt uddrag, der skal udløse, og et fast kendt godt uddrag, der skal forblive tavst, begge bogstavelige konstanter, som detektoren ikke kan påvirke. De to kendte dårlige uddrag er defekterne F22 og F25 i deres oprindelige form. Dette er en INTERN uafhængig reference, og rækken er MODELLED i overensstemmelse hermed: den beviser, at vagterne skelner defekten fra dens rettelse, ikke at de klasser, de beskriver, er udtømmende. Deres angivne blinde vinkler — delt tilstand, der ikke er en sti, en fastlåsning holdt i en kort navngiven konstant, en sjælden race, som tre kørsler ikke stikprøver, og en kvittering, som enhver, der kan skrive filen, kan forfalske — er skrevet ud i modul-dokumentationen i tests/source_guards.rs og i hvert scripts header og ikke overladt til at blive opdaget.
Tests
tests/source_guards.rs (9 tests: begge vagter over hele kildetræet samt mutationsfixtures, der bedømmer hver vagt i begge retninger — F22-mønsteret rapporteret på begge kolliderende stier, den leverede atomare sekvens…
ValideretSammensat tidssynkroniserings-PL — skalar MHSS-specialisering (H=1_N)src/integrity/tpl_scalar.rs
Funktion
Skalar TPL med løsningsseparation af tid over heterogene kilder; PL drevet af støj i den værste udelukkelsesdelmængde + UTC(k)-bias
Uafhængig reference
P2: numpy 2.3.5 linalg.lstsq og scipy 1.18.1 (norm.isf, norm.sf, brentq) genberegner med deres egne algoritmer delmængdernes vægtede mindste kvadraters estimatorer, den generelle separationskovarians sqrt(Δ Σ Δᵀ), biaserne og beskyttelsesniveauet ud fra dem på 300 indcheckede input (tests/fixtures/tpl_scalar_numpy_oracle); PL stemmer inden for 1e-9 relativt (værst 1.2e-10), og den drivende udelukkelsesdelmængde er identisk, tolerancen fastsat før sammenligningen. Multiplikatorerne, priorerne og biasoverbounds er input, og strukturen i PL-ligningen (tilstandsliste, ir/2-opdeling, biasprojektion) er et angivet input, som for rækken om kernen til lunar ARAIM-beskyttelsesniveau; den validerede påstand er den lineære algebra og PL på de input, ikke de fysiske størrelser i et tidssynkroniseringsscenarie. ARAIM-aner Blanch 2015 / Joerger 2014
Tests
integrity::tpl_scalar::tests (rank-1, fuse/exclude, bias-dominance, IR cross-check); tests/tpl_scalar_numpy_oracle.rs::scalar_mhss_pl_matches_numpy (300 committed cases: numpy lstsq subset estimators, general…
ModelleretSammensat tidssynkroniserings-PL — P0-seedet holdover-gennemkørselsrc/integrity/composed_pl.rs
Funktion
PL(τ)=max(TPL_handover,HPL(τ)); nedad halvkontinuert PL(0+)≥PL(0−); K(IR/2) løbende maksimum; τ/τ³/τ⁵ faseeksponenter
Uafhængig reference
Egenskabstests (monotonicitet, intet fald ved handover) + eksponentlint mod holdover::coast_phase_variance
Tests
integrity::composed_pl::tests (monotone, P0-floor, K(IR/2), exponents, lower-semicontinuity)
ValideretSammensat tidssynkroniserings-PL — dækning af holdover-envelope, flerårigt regime (tau>=90d)src/integrity/composed_pl.rs
Funktion
Den løbende maksimumenvelope dækker som overbound (uden gennemtrængning) en rigtig metrologisk serie ved hver testet lag tau>=90d på et usammenhængende segment; kort tau (<=30d) er en oplyst Modelled grænse
Uafhængig reference
BIPM Circular-T [UTC-UTC(USNO)] 5-dages serie MJD 56074-60429 (872 punkter, webtai API); usammenhængende tilpasning/test, flerårig dækning uden gennemtrængning
Tests
tests/cti_holdover_coverage_reference.rs
ModelleretSammensat tidssynkroniserings-PL — LIL a.s.-envelope (umulighed + konsistens)src/integrity/lil_envelope.rs
Funktion
Ingen endelig worst-case holdover (Brownsk sup divergerer); IR-fordelt HPL i overensstemmelse med Hartman-Wintner-envelopen, når IR→0
Uafhængig reference
Lukket form a.s.-envelope √(2Dt·lnln t) identitet + kontrol af HPL-dominans; Baweja arXiv:2606,24210 umulighedssøm
Tests
integrity::lil_envelope::tests (divergence, threshold, IR-tightening dominance)
ModelleretOverbound for integritet af traceability-bias for heterogene UTC(k)src/integrity/hetero_budget.rs
Funktion
Overbound for bias pr. kilde b = (U/k_cov)·Phi^-1(1-tail/2) + ældning, der oppuster en publiceret udvidet Type B-usikkerhed til en fordelt integritetshale; forbinder til tpl_scalar som bias_s
Uafhængig reference
Uafhængig reproduktion med numpy + stdlib-statistics af den lukkede form for overbound (InternalConsistency). BIPM Circular-T [UTC-UTC(USNO)]-serien er kun et CITERET input — det er den SAMME serie, der allerede er valideret til rækken for dækning af R4-holdover, og den er IKKE valideret igen her; at gengive dens værdier beviser intet om R2. Den dybe integritetshale er modelleret. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): på BIPM's UTC-UTC(k)-filer pr. laboratorium (102 laboratorier, 105.024 rækker med publicerede usikkerheder) overskrides overbound b = 2,576 u ved halen 1e-2 af 50,8 % af rækkerne (Clopper-Pearson 95 %: 50,4 til 51,1 %) og af mere end 1 % på 101 af 102 laboratorier. Den publicerede u er usikkerheden af BIPM's bestemmelse af UTC-UTC(k), ikke en grænse for offsettet, som rutinemæssigt løber op til mange gange u; overbound som specificeret begrænser ikke reel traceability-bias for UTC(k). 0,30 runde 2, en overbound af de realiserede UTC-UTC(k)-offsets trænet på 2015-2022 og testet på BIPM Circular T-data fra 2023-2026 (præregistreret ca0921a4, samlet overskridelse højst 1e-2), et fund (forbliver MODELLED): den samlede overskridelse er 0,0333 (694 af 20.826 rækker over 82 laboratorier; 0,0127 uden de 430 rækker, der efter reglen ingen grænse har). D9 runde 3, en samlet hierarkisk ældningsgrænse (utck_bound), præregistreret fb475550 og bedømt prospektivt på Circular T-udgaver fra 465: endnu ikke kørt (udgave 465 blev publiceret den 2026-10-12 med omkring 285 testværdier; den præregistrerede regel om 1000 værdier kræver udgaver til omkring 468, og kørslen kræver de arkiverede filer pr. laboratorium fra 2026-09-30, da BIPM siden har omskrevet 87 af de 113)
Tests
integrity::hetero_budget::tests + tests/hetero_budget_reference.rs; tests/hetero_budget_utc_k_oracle.rs::overbound_exceedance_on_real_utc_k_finding (data-gated: skips with a message when the BIPM series is absent)…
ModelleretKorreleret krydskovarians for traceability-bias (fordeling, der er usikker ved fælles tilstand)src/integrity/hetero_budget.rs
Funktion
N×N-krydskovarians for bias med rho·b_i·b_j uden for diagonalen for kilder, der deler en UTC(k)-realiserer; BEVIST correlated_fused_bias >= independent_fused_bias (naiv uafhængig fordeling underbegrænser den fusionerede bias -> optimistisk -> usikker)
Uafhængig reference
Uafhængig numpy-reproduktion af krydskovariansen og uligheden mellem korreleret og uafhængig fusioneret bias (InternalConsistency). Repræsentativt kildesæt; Modelled scenarie.
Tests
integrity::hetero_budget::tests (correlated_fused_bias_dominates_independent_when_correlated, rho_one_single_realizer_recovers_linear_sum) + tests/hetero_budget_reference.rs
ValideretGLS-afvægtning af fælles tilstand (Aitken) + Mahalanobis-identitetsrc/integrity/gls_commonmode.rs
Funktion
Håndrullet Cholesky Omega=LL^T og afvægtning ved fremadsubstitution z=L^-1 r (Cov(z)=I når Cov(r)=Omega); Mahalanobis-kvadrat z^T z = r^T Omega^-1 r
Uafhængig reference
P2: numpy 2.3.5 linalg.cholesky (LAPACK potrf), solve (gesv) og inv på 201 indcheckede SPD-input (tests/fixtures/gls_whitening_numpy_oracle) kontrollerer den håndrullede faktor, det afvægtede residual og afvægtningsoperatoren; Mahalanobis-kvadratet kontrolleres mod solve(Omega, r), som ikke bruger Cholesky, så identiteten z^T z = r^T Omega^-1 r bekræftes ad en separat vej. Alt inden for 1e-12 relativt (værst 7.9e-16), tolerance fastsat før sammenligningen. Det største konditionstal er 19,3, så dårligt konditionerede matricer er ikke dækket. GLS/Aitken 1935-afvægtning er citeret.
Tests
integrity::gls_commonmode::tests + tests/gls_reference.rs + tests/gls_whitening_numpy_oracle.rs::whitening_and_mahalanobis_match_numpy_lapack (201 committed SPD cases: factor, whitened residual, whitening operator and…
ModelleretKonsistensstatistik for fælles tilstand (fejl i delt reference, som separation er blind over for)src/integrity/gls_commonmode.rs
Funktion
Scorestatistik (1^T Omega^-1 r)^2/(1^T Omega^-1 1) ~ chi^2_1 for et fælles skift, som løsningsseparation (kontraster ortogonale på 1) ikke kan se; et fælles skift oppuster den, mens parvise separationer forbliver flade
Uafhængig reference
Uafhængig numpy-reproduktion af statistikken + egenskabstest af, at en indsprøjtning af fælles tilstand oppuster den (InternalConsistency). Modelled scenarie. 0,30 runde 2 (præregistreret f9aa360d), blokeret (forbliver MODELLED): numpy 2.3.5 LAPACK gesv gengiver statistikkens værdi på 261 indcheckede tilfælde (inden for 3.5e-15 ved god konditionering, 1.2e-9 ved konditionstal op til 6.1e7); nulloven chi-i-anden(1) er en citeret sætning, og de flade parvise separationer er en identitet uden motoroutput at sammenligne med, så afgrænsningen afventer en beslutning fra ejeren
Tests
integrity::gls_commonmode::tests (common_mode_shift_inflates_statistic_but_not_contrasts, post_fit_common_mode_statistic_is_zero) + tests/gls_reference.rs…
ValideretGrænse for ikke-detekterbar fælles tilstand uden for Omegasrc/integrity/gls_commonmode.rs
Funktion
Loft for ikke-detekterbar fælles tilstand: den største fejlstørrelse langs en retning d, der undslipper BÅDE separation (alpha_ss = T_ss / afvægtet kontrastnorm af d) og statistikken for fælles tilstand (alpha_cm = sqrt(T_cm 1^T Omega^-1 1) / |1^T Omega^-1 d|), rapporteret som min(alpha_ss, alpha_cm). Under en positivt definit Omega udelukker de to blinde retninger (d proportional med 1 og 1^T Omega^-1 d = 0) hinanden, så loftet er ENDELIGT for hvert d forskelligt fra nul; det er kun uendeligt for en nulretning eller en Omega, der ikke er positivt definit. En retning uden for den modellerede fælles akse er kun blind over for statistikken for fælles tilstand og er begrænset af separation
Uafhængig reference
P2: numpy 2.3.5 linalg.solve (LAPACK gesv, LU uden Cholesky) genberegner alpha_ss (tærsklen over den afvægtede kontrastnorm af d efter fjernelse af dens GLS-koefficient for fælles tilstand), alpha_cm og deres minimum på 256 indcheckede input (Omega, d, T_ss, T_cm) (tests/fixtures/gls_outside_omega_bound_numpy_oracle), herunder rene retninger med fælles tilstand, retninger uden for den modellerede fælles akse og tilfældene med nulretning og ikke-positivt-definit, som skal give +inf; præregistreret (d070699a; ændring 8a44267b, før enhver sammenligning, der gentager matrixformen); tolerancer fastsat før sammenligningen. Funktionsteksten blev rettet efter ejerens beslutning (2026-10-02): den havde sagt, at grænsen er uendelig for en retning uden for den fælles akse, hvilket modsagde koden og denne sammenligning. At den idealiserede enkeltkontrastdetektor er en nedre grænse for en rigtig delmængdedetektors ikke-detekterbare størrelse forbliver modelleret
Tests
integrity::gls_commonmode::tests (separation_alone_is_blind_to_common_mode, degenerate_direction_or_non_pd_gives_no_finite_ceiling, every_nonzero_direction_under_pd_omega_has_a_finite_ceiling)…
ValideretIdentificerbarhed af lunart datum - lineær algebra for dekompositionlunar_identifiability
Funktion
Schur-komplement-marginal af blokken {lunocenter-X, skala} i Fisher-informationen for Helmert-datum med 7 parametre: den skalare degenerationsmetrik lambda_min(S), CRLB for oprindelses-X og korrelationen mellem oprindelse og skala
Uafhængig reference
Uafhængig SciPy/NumPy-reference (scripts/gen_datum_identifiability_ref.py -> tests/fixtures/datum_identifiability/scipy_ref.csv): Schur-komplementet, dets egenværdier og den 2x2 inverse beregnet af et uafhængigt bibliotek. Afgrænset til den LINEÆRE ALGEBRA i dekompositionen; størrelserne af den lunare korrelation/CRLB ud fra rigtig geometri forbliver MODELLED.
Tests
tests/lunar_datum_identifiability_reference.rs::decompose_matches_scipy_reference (16 syntetiske 7x7 SPD-matricer fra velkonditionerede til {0.3}-næsten-degenererede; Schur lambda_min / oprindelses-CRLB / |korr| mod…
ModelleretKlassifikation af nulrum for lunart datum (LLR-rangadditivitet + libration løfter defekt)lunar_identifiability, lunar_datum
Funktion
Klassifikation af problemet med datum ved intern afstandsmåling: en enkelt afstandsobservation bidrager med rang 1 (nulrum med 6 dimensioner); parret oprindelses-X og skala er næsten nul, og fysisk DE440-libration løfter defekten til nul, mens parret forbliver næsten degenereret
Uafhængig reference
Geometrisk struktur gengivet af motoren plus den lukkede 2x2 Schur-identitet; konsistent i STRUKTUR med Sosnica et al. 2025 (arXiv:2510,15484), hvis rapporterede størrelser IKKE gengives her. Klassifikationen er strukturel; størrelserne af korrelation/CRLB under rigtig geometri er MODELLED (reflektorkoordinater og orientering holdt faste). 0,30 ekstern sammenligning, et fund (forbliver MODELLED): mod Sosnica et al. 2025 ligger korrelationen mellem oprindelse og skala i afstands-Fisher (-0.993 / -0.988) inden for 0,05 af den publicerede -0.97, men på papirets egen geometri med fem reflektorer er Helmert-korrelationen med 7 parametre og lige vægt -0.78 (den publicerede værdi hviler på fejl pr. reflektor, som papiret ikke trykker), og CRLB for oprindelsen (0,6 til 1,2 mm ved 3 mm afstandsstøj) ligger 96 til 98 % under papirets 3,07 cm mod en tolerance på 20 %. Størrelserne er ikke gengivet
Tests
tests/lunar_datum_identifiability_reference.rs (single_internal_range_row_has_six_dim_datum_null_space; extending_the_librating_arc_lifts_the_origin_scale_degeneracy)…
ModelleretMultiteknik-information om lunart datum (LLR + lunar VLBI + orbiterafstand)lunar_datum, lunar_identifiability
Funktion
Datum-jacobianrækker for LLR-afstand Jord-reflektor, differentiel VLBI-forsinkelse mellem to lunare stationer og afstand orbiter-til-beacon over datum med 7 parametre, kombineret til én konsistent forkonditioneret Fisher; viser, at tracking uden for radialen (orbiter / dybdediversificeret) bryder degenerationen mellem oprindelses-X og skala, hvor transversal VLBI kun hjælper indirekte
Uafhængig reference
Analytiske krydskontroller mod finite differences af hver teknik's partielle (interne); forbedringens RETNING er et geometrisk faktum. Beaconplaceringer, planer og støj er MODELLED/repræsentative (se tests/fixtures/llr_geometry/NOTICE.md).
Tests
lunar_datum::tests (LLR/VLBI/orbiter analytic partials vs finite difference); lunar_identifiability::tests (adding_an_offradial_technique_collapses_the_origin_scale_degeneracy; transverse-vs-radial via crlb_diag)
ValideretLeverandør af lunar orientering efter hovedakser fra DE440lunar_orientation
Funktion
Rotation fra MOON_PA_DE440 til J2000 ved vilkårlige epoker inden for 2014-01-01 til 2030-12-31 TDB, ved geodætisk interpolation R0·Exp(f·Log(R0ᵀR1)) mellem knuderne i en indchecket daglig serie på 6 209 rækker (try_-funktionerne returnerer OrientationSpanError uden for den, de ufejlbarlige panikker; den klipper aldrig); indlejret ved kompilering, så der ikke er nogen fil-I/O ved kørsel, og WASM-builden bærer den
Uafhængig reference
NAIF SPICE Toolkit (CSPICE N0067 gennem spiceypy 8.2.0, kørt som værktøj): pxform fra MOON_PA_DE440 til J2000, der evaluerer JPL's binære PCK moon_pa_de440_200625.bpc direkte, med NAIF's egen rammekerne moon_de440_250416.tf, ved 2.000 tilfældige epoker uden for knuderne i det indlejrede vindue. Rotationsvinklen mellem Kshanas og SPICE's matricer ligger inden for 1.7e-5 rad (30 m ved middelradius 1737,4 km, fastsat før sammenligningen); målt værst 1.7e-6 rad (3 m), RMS 7.8e-7 rad og værst 1.75e-6 rad på 6.000 yderligere epoker trukket af verifikatoren. De daglige knuder blev selv udtrukket fra den samme kerne (scripts/gen_de440_moon_pa.py, fixture-SHA-256 3076f81ef95d83f5efa240ed4c7ccb422f109407dde841fcf28d42dc63586eb7), så denne sammenligning tester interpolationen mellem dem, hvilket er påstanden. Fundet af denne sammenligning og rettet: den tidligere elementvise lineære interpolation med Gram-Schmidt bevarede aksen, men ikke vinklen i rotationen på 13,2 grader/dag og havde en fejl på op til 2.0e-4 rad (340 m) nær kvartpunkterne; det tidligere tal på omkring 14 m kom fra en vagt, der kun stikprøver intervalmidtpunkter. Serien dækker 2014-01-01 til 2030-12-31 og har fejl uden for den (runde 2); dens knuder for 2024-2025 regenereres fra den samme kerne til 4.3e-13. Sammenligningen med SPICE uden for knuderne ovenfor dækker kun 2024-2025, som er det validerede vindue; de udvidede knuder kommer fra den samme kerne og det samme script, men er ikke sammenlignet uden for knuderne. Et geometrisk substrat til identificerbarhedsanalyse, ikke et orienteringsprodukt under en meter
Tests
lunar_orientation::tests (de440_moon_pa_reproduces_fixture_rows, de440_moon_pa_shows_real_libration); tests/lunar_pa_frame_realisation_guard.rs::the_orientation_series_interpolation_error_is_tens_of_metres_not_sub_metre…
ModelleretGeometrisk substrat for lunart LLR-datum (hovedaksereflektorer, jordstationer, analytiske afstandspartielle)lunar_llr_geometry
Funktion
De fem retroreflektorarrays på forsiden i PA-legemssystemets meter og LLR-jordstationerne i geodætiske koordinater; reflektorens placering fra legeme til inertial gennem DE440 PA-orienteringen; analytiske partielle af afstanden Jord-til-reflektor med hensyn til datum med 4 parametre; og den Fisher-matrix, der kun bygger på LLR, som udviser degenerationen mellem lunocenter-X og skala, der motiverer analysen med 7 parametre
Uafhængig reference
Beregningen kontrolleres internt: hver analytisk partiel mod en finite difference og tilfældet med datum nul mod den nominelle afstand. KATALOGET kontrolleres eksternt og uafhængigt - DE440-koordinaterne for hovedakserne (Park et al. 2021, tests/fixtures/llr_geometry/de440_retroreflectors_pa.csv) krydskontrolleres mod Table 6 i DE430-notatet om overfladekoordinater (tests/fixtures/lunar_llr/de430_retroreflectors_pa.csv, maskinudtrukket fra en SHA-256-verificeret PDF af tests/fixtures/lunar_llr/generate_de430_retroreflectors_pa.py) og stemmer til 1,12 m, mens middel-Jord-realiseringen af de samme fem arrays afviger med 672 til 871 m. DEGENERATIONSSTRUKTUREN kontrolleres mod et publiceret resultat: Sosnica et al. 2025, 'Definition and Realization of the International Lunar Reference Frame', arXiv:2510,15484, som for det lunare hovedaksesystem rapporterer en korrelationskoefficient mellem lunocenter-X og skala på r = -0.97 og at LLR ikke når Månens faktiske massecenter med en nøjagtighed bedre end 12 cm på grund af den korrelation. Dette modul gengiver den samme struktur (|corr(t_x, scale)| mellem 0,9 og 0,9999, datumdefekt <= 1) ud fra et Fisher-design, der kun bygger på LLR. Bekræftelsen går på tværs af efemerider og er ikke en rundtur: papiret kombinerer INPOP21a, DE430 og EPM2021, mens dette modul drives af DE440-libration. Det, der IKKE er gengivet, er størrelsen - korrelationen her er omkring -0.988 mod deres -0.97, og CRLB med 4 parametre er under en millimeter mod deres opnåede gulv på 12 cm, fordi orientering og reflektorkoordinater holdes faste her og løses dér. Kun geometri og degenerationsstruktur; ingen nøjagtighedspåstand om et løst datum. 0,30 ekstern sammenligning: de dele af dette modul, der angår målt afstand (reflectors(), stations_itrf(), DE440 PA-placeringen og den barycentriske lysrejsetid llr_bcrs_one_way_m) er valideret i deres egen række, LLR-model for målt afstand, mod 192 ILRS-normalpunkter (RMS 2,81 m mod 10 m). Denne række forbliver MODELLED, fordi den målte sammenligning ikke afprøver resten af dens påstand. Den geodætiske stationskatalog stations() runder APOLLO til 0,001 grader; med en geocentrisk lysrejsetid giver den 22,7 m på de samme punkter (test reflector_ranges_against_ilrs_normal_points; 96 m med den tidligere elementvise orienteringsinterpolation). De analytiske afstandspartielle og den Fisher, der kun bygger på LLR, beregnes gennem llr_range_m og reflector_inertial med den analytiske Månserie (ephem::moon_position, omkring 0,3 grader fra GCRS) og uden lysrejsetid
Tests
lunar_llr_geometry::tests (reflector_and_station_catalogs_are_well_formed, analytic_partials_match_finite_difference, llr_one_way_range_is_earth_moon_scale, zero_datum_reproduces_nominal_range…
ValideretLLR-model for målt afstand (reflektorkatalog, ITRF2020-stationer, DE440-placering efter hovedakser, barycentrisk lysrejsetid efter IERS 2010)lunar_llr_geometry (reflectors, stations_itrf, ItrfStation, StationCoordinates, llr_bcrs_one_way_m, body_to_bcrs_tdb, shapiro_leg_m, BcrsEvent); lunar_orientation (try_de440_moon_pa_body_to_inertial); lunar_vlbi (station_inertial_position_itrs)
Funktion
Envejsafstanden fra jordstation til reflektor for et normalpunkt i lunar laserafstandsmåling: de fem retroreflektorarrays på forsiden i DE440-hovedaksesystemets (PA) legemsmeter (lunar_llr_geometry::reflectors); stationerne i stations_itrf(), nemlig Grasse 7845 og Matera 7941 fra ITRF2020 ved epoke 2015,0 med deres hastigheder, placeret i Geocentric Celestial Reference System (GCRS) ved IERS 2010-transformationen med polbevægelse fra Bulletin A (lunar_vlbi::station_inertial_position_itrs), og APOLLO 7045 ved operatørens publicerede omtrentlige geocentriske position (ingen hastighed); reflektorens placering fra legeme til inertial gennem DE440 PA-orienteringen (lunar_orientation::try_de440_moon_pa_body_to_inertial, som giver fejl uden for 2014-2030); og IERS Conventions 2010 Section 11,2 barycentrisk lysrejsetid (lunar_llr_geometry::llr_bcrs_one_way_m: transformationen Eq. 11,19 af station og reflektor til BCRS og Shapiro-forsinkelsen Eq. 11,17 fra Solen, Jorden og Månen). INPUT, ikke en del af påstanden: de barycentriske tilstande og potentialer for Jorden, Månen og Solen (DE440 gennem SPICE), IERS UT1-UTC og polbevægelse og den målte rundtur omregnet fra TT til TDB. PÅ TESTSELENS SIDE, ikke en del af påstanden: Mendes-Pavlis-zenitforsinkelsen med FCULa-afbildning, i testen, med elevation fra den geodætiske katalog stations(). Ikke modelleret: tidevand, stationsekscentriciteter, termiske led for reflektorer
Uafhængig reference
Målt: 192 ILRS CRD v2 lunare normalpunkter (EUROLAS Data Center, DGFI-TUM, 2024-04 til 2024-06; Grasse 151, APOLLO 32, Matera 9; committet ordret med SHA256SUMS). Den forudsagte envejsafstand sammenlignes med c gange halvdelen af den målte rundtur i TDB. Tærskel fastsat før sammenligningen: RMS højst 10 m over alle 192 punkter OG over de 160 punkter fra de to ITRF2020-stationer alene. Tærsklen stammer fra den tredje præregistreringsændring 3e0f5cdf, committet før motorændringen og kørslen; tallet på 10 m er uændret siden runde 1. Målt: 2,81 m (middel 2,67 m) på alle punkter; 2,96 m på ITRF2020-stationerne; APOLLO 1,94 m; udsnittet fra 2015 (349 punkter, sekundært) 3,82 m. Mutation: at nulstille Solens Shapiro-led giver 10,19 m, hvilket fejler. Historik, oplyst: 96 m med elementvis orienteringsinterpolation; 22,7 m efter geodætisk interpolation med den geodætiske katalog; 10,94 m med ITRF2020-stationer og polbevægelse, men en geocentrisk lysrejsetid (en fælles offset på +10,9 m). Den barycentriske model blev skrevet, efter at den offset var set. Det er den publicerede IERS 2010 Section 11,2-model uden fri parameter. Den tredje ændring erstattede en selvpålagt betingelse om udelukkende ITRF2020/SLRF2020 efter resultatet BLOCKED. RMS for kun ITRF2020 består uden APOLLO, som ikke har nogen ITRF2020- eller SLRF2020-løsning, og dens position er operatørens angivne omtrentlige. En fælles +2,7 m består, under tærsklen og ikke tunet. Tærsklen er løs i forhold til resultatet: et manglende solled på 7,6 m giver stadig 10,19 m. Led under tærsklen er ikke opløst et for et: med polbevægelse nulstillet er RMS 6,15 m (ITRF2020-stationer 5,98 m), og med transformationen Eq. 11,19 fjernet er den 2,96 m; begge ville stadig bestå. Stationshastigheder og Shapiro-leddene for Jorden og Månen er endnu mindre. Sammenligningen validerer den samlede envejsafstand ved 10 m RMS og Shapiro-leddet fra Solen og ikke hver enkelt opført komponent
Tests
tests/lunar_llr_geometry_range_oracle.rs::reflector_ranges_bcrs_iers2010_relativistic (192 ILRS-normalpunkter: RMS 2,81 m; de to ITRF2020-stationer alene 2,96 m; begge højst 10 m)…
ValideretKoblet lunart referencesystem og tidsskalagauge: det fælles nulrum for rumligt datum, urets offset og urets ratelunar_gauge
Funktion
assemble_coupled_info bygger den koblede Fisher med 9 parametre over [t_x, t_y, t_z, s, theta_x, theta_y, theta_z, d_tau, d_alpha]; classify_null_space returnerer en basisinvariant dekomposition af dens nulrum i kun rumlige, kun tidslige og egentlig koblede dimensioner plus koblingsnormen for projektoren fra rumligt til tidsligt; coupled_marginal_eigs giver Schur-komplement-marginalen {skala, offset}. På de indcheckede netværk rapporterer motoren et datum med fuld rang (defekt 0) for det velstillede tilfælde og en nøjagtig enkelt defekt i rateretning for tilfældet med én epoke (forløbet tid nul, så raten ikke kan observeres pr. konstruktion), og beregner marginalen {s, d_tau} i begge.
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, angivet snævert: kshana beregner egenværdidekompositionen med sin egen håndskrevne Jacobi-løser (fim::sym_eig) og marginalen med sin egen pseudoinvers; referencen genberegner begge med numpy/LAPACK (np.linalg.eigvalsh/eigh/pinv) via scripts/gen_coupled_gauge_ref.py. Overensstemmelse til rel<1e-3 er derfor en kontrol med et uafhængigt bibliotek af DENNE CRATES ARITMETIK mod en standardimplementering, hvilket er den validerede påstand og hele den. HVAD DER IKKE KONTROLLERES: sammensætningen og klassifikationen af nulrummet er dette moduls egne regler, og referencen gengiver dem ud fra den samme specifikation og ikke fra en uafhængig kilde - det bekræfter implementeringen og ikke reglen. Beacon- og orbitergeometrien er modelleret og repræsentativ. Observationsrækkerne bærer rigtignok den virkelige DE440-orientering for Månen PA (lunar_datum::orbiter_range_row_datum7 -> lunar_orientation::de440_moon_pa_body_to_inertial), men det er et INPUT, begge sider modtager, ikke belæg for svaret, og det er optaget her som proveniens og ikke som begrundelsen for status — den samme skelnen, som main allerede drager i rækken om integritet ved fælles tilstand. Hvert flydende tal i rækkerne er afrundet til 6 decimaler, før network.json skrives, så begge sider læser identiske IEEE-754-doubles, og den eneste forskel, der er tilbage, er løseren.
Tests
tests/lunar_coupled_gauge_reference.rs::coupled_gauge_matches_numpy_on_real_de440_rows (9 egenværdier, defect/dim_spatial/dim_temporal/coupled_dim/p_st_norm og Schur-marginalen {scale,offset} for well_posed…
ModelleretDegeneration mellem afstand og urets offset ved envejs lunar afstandsmåling og designloven om geometrisk diversitetlunar_gauge
Funktion
Degenerationen mellem radial afstand og modtagerurets offset pr. knude er præcis 1 m til 3,336 ns (en over c). Schur-komplement-marginalen {skala, offset} (coupled_marginal_fisher) viser, at tovejs afstandsmåling i et geometrisk diversificeret netværk løfter marginalen med omtrent den samme faktor som et lige så stort antal ekstra envejsdata, mens løftet ved tovejs i det idealiserede regime med én knude er størrelsesordener større. Den designlov, der følger: geometrisk diversitet og ikke tovejs afstandsmåling som sådan er det, der adskiller lunar referencesystemets skala fra tidsskalaens offset ved envejs afstandsmåling; en tovejs eller ekstern tidsforbindelse er kun nødvendig i regimet med lav diversitet eller én bruger.
Uafhængig reference
Schur-komplement-marginal af Fisher for den koblede informationsmatrix, i lukket form af lineær algebra, kontrolleret mod de to grænseregimer, den forudsiger. Ækvivalensen 1 m til 3,336 ns er definitionen af meteren via c og er ikke et empirisk resultat. Observationsnetværkene er repræsentativ modelleret geometri, så designloven er en udtalelse om den geometri, den præsenteres for, og gør ingen påstand om noget udrullet lunart netværk.
Tests
lunar_gauge::tests (coupled_marginal_well_posed_network_is_psd, coupled_marginal_twoway_equals_more_oneway_in_diverse_network, coupled_marginal_twoway_lift_three_orders, oneway_range_row_has_correct_temporal_entries…
ValideretKobling mellem relativistisk urrate og referencesystem for den lunare tidsskalalunar_gauge, lunar_time
Funktion
rate_frame_jacobian(_with) giver følsomheden af den lunare tidsskalas rate over for realiseringen af referencesystemet, ud fra det ækvatoriale effektive potentiale afkortet ved grad 2 (GM, ækvatorradius, J2, rotation; LunarSurfacePotential): d_alpha/d_scale = L_m, omkring +3.1388e-11; d_alpha/d_velocity = -|v_moon|/c^2, omkring -1.11e-14 (tidsafhængig); d_alpha/d_r_radial = g_eff/c^2, omkring +1.806e-17 pr. meter. For et radialt datumskift på 1 m er det en ratepåvirkning på omkring 1.8e-17 (en aritmetisk konsekvens af den radiale post), langt under den rateoffset på omkring 1.7e-11, som en lunar tidsskala har mod TT
Uafhængig reference
Præregistreret (5590ab21): L_m mod Ashby og Patla 2024 (AJ 167:149) Eq. (10), 3,13881(15)e-11, ud fra papirets GM, a_m, omega_m og J2 for de to felter af grad 350, som papiret citerer (Bertone et al. 2021, AIUB-GRL350A/B), inden for 1e-4; den radiale post mod pyshtools 4.14.1 (BSD-3) ækvatorial tyngde for de samme felter inden for 1e-4 (målt 8.3e-5 og 6.7e-5, en snæver margin); hastighedsposten mod JPL Horizons DE441 lunar hastighed inden for 4.5e-3. En lukket form af grad 2 for en publiceret værdi af grad 350 (residual grad 3-350; Reference, ikke P1). Oplyst: udfaldet af post 1 var kendt før præregistreringen, og den leverede standardradius 1738,14 km er papirets overfladedefinition, vedtaget efter runde 1. Tidevandsbidragene og sammenligningsbåndet forbliver modellerede tal for referenceoverfladen
Tests
tests/lunar_rate_frame_coupling_preregistered.rs (entry1_d_alpha_d_scale_matches_the_published_l_m_for_both_cited_fields: L_m inden for 2.8e-6 af Ashby og Patla 2024 med J2 fra AIUB-GRL350A/B…
ValideretBasisinvariant klassifikation af det koblede nulrum for referencesystem og tidsskalalunar_gauge
Funktion
classify_null_space dekomponerer datums nulrum i rent rumlige (dimension d minus rang U_T), rent tidslige (d minus rang U_S) og egentlig koblede (rang U_S plus rang U_T minus d) dele, plus koblingsnormen p_st_norm for projektoren fra rumligt til tidsligt, Frobenius-normen af den off-diagonale blok i nulrummets projektor. Hver af disse er en funktion af PROJEKTOREN og ikke af en valgt basis, så de er invariante under ethvert ortonormalt valg af nulvektorer - hvilket er det, der overhovedet gør klassifikationen rapporterbar.
Uafhængig reference
SciPy/NumPy (BSD-3-Clause; scipy.linalg.null_space og numpy.linalg.svd, LAPACK gesdd) klassificerer de samme indcheckede matricer ved fællesmængde af underrum, dim null([F; E_T]) og dim null([F; E_S]), og SVD-nulrummets projektor, som adskiller sig fra Kshanas Jacobi-egenvektorer og Gram-rangformler; præregistreret (d429993c): heltal nøjagtige, p_st_norm til 1e-9 (P2, et uafhængigt numerisk bibliotek), med ranktærsklen fastsat på forhånd og et spektralt gab på mindst 1e6 hævdet. Rækkens påstand er klassifikationen af en angivet matrix, så P2 dækker den fuldt ud. De konstruerede tilfælde omfatter direkte summer, koblede og blandede nulrum og tilfældige genbaseringer; de reelle netværksdimensioner i rækken om koblet gauge er ikke talt om her. Testen af invarians i cratet (en roteret nulbasis giver identiske resultater) er bevaret
Tests
lunar_gauge::tests (classify_is_invariant_under_null_basis_rotation - en akseparallel nulbasis og dens rotation på 0,6 rad giver identiske defect, dim_spatial, dim_temporal, coupled_dim og p_st_norm…
ModelleretRepræsentativt multiteknik-målemenu og den additive kombinationsregel for Fisherlunar_techniques
Funktion
MeasurementBlock rummer én kandidatmålekampagne som et Fisher-informationsbidrag på 7x7 plus en skalar relativ pris; block_from_rows bygger én ud fra rå datum-jacobianrækker, så hver blok forkonditioneres identisk gennem lunar_identifiability::assemble_multi_info; combine summerer informationen for en valgt delmængde, hvilket er den rigtige regel, fordi Fisher-information er additiv på tværs af uafhængige målinger; representative_lunar_menu leverer en deterministisk menu med fire blokke (LLR, en transversal VLBI-limb-beacon, en orbiter på forsiden og en orbiter på bagsiden). Den budgetbegrænsede designoptimerer, der bruger denne menu, er ikke en del af dette crate.
Uafhængig reference
Additivitet af Fisher-information på tværs af uafhængige målinger er en egenskab ved lukket form, kontrolleret her mod en uafhængigt skrevet elementvis sum og mod den ordensinvarians og monotonicitet, der følger af den. BEMÆRKNING OM EVIDENS: kombineren havde tidligere slet ingen test, og den ene test i modulet summerede de to informationsmatricer inline i stedet for at kalde den, så en ødelagt kombiner ville have ladet modulet være grønt; testen går nu gennem combine og fejler, når den muteres. Alle beaconplaceringer, orbitergeometri, præcisioner pr. teknik og relative priser er repræsentative valg og ikke missionsværdier (se tests/fixtures/llr_geometry/NOTICE.md), så hver degenerationsmetrik og hvert CRLB-tal nået gennem denne menu arver den modellerede status fra lunar_identifiability::decompose.
Tests
lunar_techniques::tests (combine_is_additive_order_independent_and_empty_is_zero - tomt udvalg giver nulmatricen, et enkelt udvalg er identiteten, et par er lig en uafhængigt skrevet elementvis sum, og…
ValideretKonsistens mellem lunare referencesystemer/dynamik fra forskellige leverandører (reel inter-efemeride)lunar_interop_budget
Funktion
dekomposition med kun rotation (6 parametre translation+rotation) af uenigheden mellem DE440/INPOP21a/EPM2021 for den geocentriske Måne i en reducerbar fælles ICRF-referencekobling og et irreducibelt overskud i lunar banens orientering (den fulde Helmert-tilpasning med 7 parametre er en separat offentlig funktion, som denne eksterne kontrol IKKE dækker: dens evidens er en intern enhedstest af analytisk genfinding plus tests/lunar_helmert_fit_cross_check.rs, som sammenholder den med den validerede eksakte Gauss-Newton-tilpasning i lunar_frame_realise og fastlåser konventionen om modsat rotationsfortegn mellem de to)
Uafhængig reference
Tre uafhængige autoritative efemerider — DE440 (JPL), INPOP21a (IMCCE), EPM2021 (IAA RAS) — samplet via IMCCE calceph, krydskontrolleret af en uafhængig numpy SVD-tilpasning med mindste kvadrater. HVORFOR DETTE ER valideret, MENS lunar_common_mode IKKE ER det, på de samme tre efemerider: her ER den rapporterede størrelse en egenskab ved de publicerede data — deres indbyrdes uenighed — så efemeriderne er den uafhængige reference og ikke et input. I lunar_common_mode føder den samme uenighed en MODELLED konstellationsgeometri, og svaret er en egenskab ved den model, hvilket er grunden til, at den række med rette er Modelled/ReferenceImpl.
Tests
tests/lunar_interop_budget_reference.rs (raw / rotation-residual / theta_moon / theta_frametie / theta_excess / reducible / irreducible for 3 udbyderpar mod den uafhængige SciPy SVD lstsq-tilpasning i…
ModelleretTolerance for konsistens mellem leverandører for en bruger med blandede leverandørerlunar_interop_budget
Funktion
consistency_tolerance: inverterer et positionsbudget for brugeren til et krav om overensstemmelse pr. parameter mellem leverandørers Helmert (oprindelse/skala/rotation) ved en referencearm, eventuelt oppustet af CRLB for realiseringen hos én leverandør (P1)
Uafhængig reference
Trekantsgrænse for worst-case for Helmert-punkt-jacobianens virkning (lukket form)
Tests
lunar_interop_budget::tests (monotonicitet i budget; RSS-budgetreduktion under en CRLB pr. udbyder; gennemregnet rotationstolerance ved den lunare løftearm; bindende led = rotation)
ModelleretFejlbudget for lunar interoperabilitet mellem flere leverandører og designlov for referencesystem mod efemeridelunar_interop_budget
Funktion
interop_budget: opdeling i reducerbar (fælles referencekobling) og irreducibel (dynamik) under konventionerne PerProvider / CommonFrameTie / CommonEphemeris, med designlovsmetrikken for den irreducible andel (~0,69 på rigtige DE440/INPOP/EPM: et fælles referencesystemmærke alene efterlader det dominerende gulv)
Uafhængig reference
RMS-aggregering af de validerede opdelinger pr. par under hver konvention (lukket form)
Tests
lunar_interop_budget::tests (CommonEphemeris nulstiller budgettet; CommonFrameTie < PerProvider; irreducible_fraction > 0,5 på de reelle opdelinger; konventionsrækkefølge)
ValideretAutonom lineær-algebra-pipeline for fejlobserverbarhed i frit netværk (paritetsprojektor, detekterbarhed, MDB-ikke-centralitet, byzantinsk blok-spark)lunar_faultobs
Funktion
På det reelle DE440-lunare netværk pr. knude (hver række en differentiel envejsafstand mellem knuder bygget via pernode_range_row med en rigtig DE440-sigtelinje i Månens PA-system) beregner motoren den vægtede paritetsprojektor P⊥ = I − G(GᵀWG)⁺GᵀW (den rangdefekte pseudoinversform, der overlever det 8-dimensionelle gauge datum⊕tidsskala), detekterbarhedsresidualet T1 ‖P⊥·b‖ (fejl i rækkevidden udslettes, generiske fejl er detekterbare), Baardas kvadratiske form for MDB-ikke-centralitet cᵀWP⊥c (den korrekte vægtede form med enkelt P⊥, IKKE formen med dobbelt P⊥ cᵀP⊥WP⊥c) med MDB = √(λ₀/cᵀWP⊥c), og de byzantinske antal blok-spark for detektion/identifikation af de stablede effektive jævnbyrdige signaturer P⊥·B_T (kolonnerang og ikke blot forskellig fra nul)
Uafhængig reference
Uafhængig lineær-algebra-reproduktion med numpy/scipy på rigtige DE440-sigtelinjerækker i Månens PA-system (P⊥ fra SVD af det afvægtede design W^{1/2}G; MDB-ikke-centraliteten fra Baardas (1968) klassiske kvadrerede norm i paritetsunderrummet; blokrangen fra en optælling af singulærværdier med numpy SVD) — en reelt anden numerisk vej end cratets cykliske Jacobi-egenværdidekomposition af GᵀWG. Omfang (jf. tests/fixtures/faultobs/NOTICE.md): dette validerer KUN LINEÆR-ALGEBRA-PIPELINEN på disse rækker. Knudegeometrien er modelleret. Det er IKKE en operationel integritetsgaranti, ikke en certificering af beskyttelsesniveau og ikke nogen påstand om RAIM/ARAIM-tilgængelighed, og IKKE en missionsgaranti om byzantinsk fejltolerance — ANTALLET af tolererede fejl for dette netværk er modelleret, mens GRÆNSEN for blok-spark detektion>f / identifikation>2f er citeret (Fawzi–Tabuada–Diggavi 2014; Shoukry–Tabuada 2016; blokvis spark fra Donoho–Elad 2003) og bevist instantiering i kode
Tests
tests/lunar_faultobs_reference.rs (faultobs_matches_numpy_scipy_on_real_de440_rows: 84×84 P⊥ elementvis, trace(P⊥) = parity_dim = 52 og rank(G) = 32, detekterbarhedsnormer + flag, MDB-kvadratformen cᵀWP⊥c +…
ModelleretByzantinsk grænse for blok-spark ved detektion/identifikation på det autonome lunare netværk pr. knude (T3)lunar_faultobs
Funktion
byzantine_bound instantierer kodnings-/sparse-observerbarhedsgrænsen for sikker tilstandsestimation på geometrien i netværket pr. knude: en byzantinsk peer injicerer en vilkårlig lineær kombination af de målinger, den deltager i, og netværket DETEKTERER enhver koalition på ≤ f = block_spark − 1 peers og IDENTIFICERER entydigt enhver koalition på ≤ ⌊(block_spark − 1)/2⌋, hvor block_spark er den mindste peer-koalition, hvis stablede effektive signaturer P⊥·B_T er kolonnerangdefekte. Peer-detekterbarhed er FULD KOLONNERANG for P⊥·B_j (en blok, der ikke er nul, men er rangdefekt, er et angreb forskelligt fra nul, der lander i range(G) og efterlader intet residual), ikke blot P⊥·B_j ≠ 0
Uafhængig reference
Geometrisk instantiering af grænsen for blokvis spark / sikker tilstandsestimation (Fawzi–Tabuada–Diggavi 2014; Shoukry–Tabuada 2016; blokvis spark fra Donoho–Elad 2003; Candès–Tao 2005) — IKKE Lamport–Shostak–Pease-konsensustærsklen 3f+1 ('byzantinsk' angiver kun den vilkårlige/sammensvorne fejl-MODEL). Det specifikke antal tolererede fejl er en modelleret egenskab ved den repræsentative netværksgeometri, kontrolleret for selvkonsistens af håndkonstruerede analytiske tilfælde og tælleformlerne
Tests
lunar_faultobs::tests — byzantine_c3_rank_deficient_but_nonzero_is_undetectable (nonzero yet rank-deficient block ⇒ block_spark 1, f_detect 0; independent columns ⇒ block_spark 2, f_detect 1)…
ModelleretGulv for tidsligt gauge ved autonom holdover for den selvrefererende lunare konstellation (T4)lunar_faultobs
Funktion
holdover_floor fastslår, at i et ensemble af autonome knuder, der kun er forbundet af målinger mellem knuder, er den fælles urrate (δα_j += 1 ∀j) en fri parameter i ensembletiden, der ligger i N(GᵀWG): ingen mængde yderligere afstandsmåling mellem knuder kan observere den (rate_in_gauge = true, temporal_gauge_dim = 2 med den fælles offset). Det er det ægte holdover-gulv — det tidslige modstykke til positionsgaugen for det stive system. Tilføjelse af én ekstern absolut ratekobling (et direkte link til en reference uden for netværket) driver den fælles rate ud af nulrummet (rate_in_gauge = false, temporal_gauge_dim = 1) og beviser, at gulvet er en reel gauge og ikke et artefakt i oscillatormodellen
Uafhængig reference
Argumentet om fri parameter i ensembletiden (Percival 1978; Lewandowski & Thomas 1991) instantieret på det repræsentative reelle DE440-netværk pr. knude: en relativ-residual-nultest af den analytiske generator for fælles rate mod GᵀWG, med den kontrast, hvor koblingen er brudt, der skelner den ægte gauge fra et artefakt i oscillatormodellen. Repræsentativ modelleret geometri, ikke et certificeret tidssynkroniseringsbudget
Tests
lunar_faultobs::tests — holdover_floor_self_ref_and_anchored (self-referential net: the common rate lies in N(GᵀWG), temporal_gauge_dim 2; after one external rate-tie row: rate expelled from the gauge…
ModelleretFælles/differentiel opdeling pr. leverandør, forening af én rangdefekt og slope for beskyttelsesgab (T5 / §0 / g7)lunar_faultobs
Funktion
Tre facetter af den enkelte dekomposition ℝ^{state_dim} = N(GᵀWG) ⊕ range(GᵀWG) med det 8-dimensionelle gauge datum⊕tidsskala som N(G) og de state_dim − 8 = 32 observerbare retninger som range(G): (T5) provider_mismatch_split klassificerer en fælles bias hos flere leverandører (∈ range(G)) som IKKE-DETEKTERBAR — der kræver en ekstern kobling — og en differentiel bias (∉ range(G)) som selvovervåget / DETEKTERBAR; (§0) foreningen er, at det SAMME blinde underrum range(G) styrer klassen af ikke-detekterbare fejl, så datumgaugen N(G) og det fejlblinde underrum range(G) er én geometri og ikke to; (g7) slope returnerer Browns slope for beskyttelsesgab ‖Π_obs Δx̂‖ / ‖P⊥b‖_W → ∞ for en fejl b ∈ range(G) (estimator ødelagt med nul paritet) og endelig for en detekterbar fejl
Uafhængig reference
Lukket form af algebra for paritetsprojektor / pseudoinvers på det repræsentative reelle DE440-netværk pr. knude: den fælles/differentielle opdeling, foreningen N(G) ⊕ range(G) og Browns (1992) slope for beskyttelsesgab følger alle af udslettelse af rækkevidden P⊥·G = 0. Repræsentativ modelleret geometri, ikke et certificeret beskyttelsesniveau
Tests
lunar_faultobs::tests — provider_mismatch_split_common_undetectable_differential_detectable (common bias undetectable, differential detectable), slope_infinity_in_range_finite_detectable (g7: slope ∞ for b ∈ range(G)…
ValideretMTIE og TDEV for tidsynkronisering i telekommunikation på en tidsfejlserie fra holdovertelecom_timing (mtie_sliding, mtie_curve_ns, tdev_curve_ns); allan (mtie, time_deviation)
Funktion
Den maksimale tidsintervalfejl og tidsdeviation, som scenarietypen telecom-timing rapporterer, på en holdover-registrering i telekommunikationsskala: en O(n) MTIE med monoton kø og glidende vindue (telecom_timing::mtie_sliding, nødvendig for at et døgn af sekundsamples forbliver hurtigt) og motorens TDEV (allan::time_deviation), evalueret på det gitter, scenarietypen rapporterer, og læst tilbage fra en fuld kørsel, der indlæser serien
Uafhængig reference
allantools 2024,06 — et uafhængigt tredjepartsbibliotek for frekvensstabilitet — mtie() og tdev() på tests/fixtures/telecom_timing/holdover_te_series.csv, serien parset fra den samme tekst med 17 betydende cifre på begge sider; referencen optager seriens SHA-256 og kan regenereres offline via tests/fixtures/telecom_timing/generate_telecom_timing_reference.py. Validerer ESTIMATORERNE på denne registrering og ikke den syntetiske holdover, der frembragte den
Tests
tests/telecom_timing_reference.rs (17 MTIE- og 12 TDEV-middelværdifaktorer på en indlæst holdover-serie på 2 048 stikprøver fra et chipskala-atomur med aldring, flicker og temperatur, mod allantools 2024,06 til <1e-12 / <1e-9…
ModelleretITU-T-masker for synkronisering i telekommunikation med PASS/FAIL og margintelecom_timing (MASKS, eprtc_a_holdover_limit_ns, check_curve, check_mask)
Funktion
Transskriberede grænser fra ITU-T G.8272 (07/2025) PRTC-A/B, G.8272.1 (2024) Amd. 1 (07/2025) ePRTC låst og ePRTC-A holdover (herunder tidsfejlenvelopen i Table 3), G.8273.2 (2023) Amd. 2 (11/2025) T-BC/T-TSC-klasserne A-D og G.8271.1 (2022) Amd. 3 (05/2025) referencepunkt C, hvert interval åbent eller lukket, som tabellen angiver det, med hver post 'for further study' udeladt; en verdict og en margin ved det bindende punkt for hver kontrol og tiden til at overskride hvert budget. Kan køres som scenarietypen telecom-timing
Uafhængig reference
Transskription af de navngivne Recommendations (frit tilgængelige på itu.int), hver grænse med sin tabel eller klausul, opført med hver ubekræftet eller uimplementeret post i docs/TELECOM-TIMING.md; de identiteter for kontinuitet i knækpunkter, som tabellerne medfører, kontrolleres i testene. En standardtransskription med interne konsistenskontroller, ikke en test af overensstemmelse og ikke en ekstern validering. 0,30 runde 2 (præregistreret 970003ee), blokeret (forbliver MODELLED): de ti maskeværdier og tretten ePRTC-A-holdover-værdier, som Recommendations trykker som gennemregnede tal (G.8272 Figs. 1-2, G.8272.1 Amd.1 cl. 8.2.1 og Figs. V.1-V.3, G.8271.1 Amd.3 Figs. 7-2 til 7-4), gengives inden for en halv trykt enhed, de fleste af dem tabelkonstanter eller knækpunkter; G.8271.1 Fig. 7-2 angiver 200 ns ved 1,3 s mod sin egen Table 7-1 (197,5 ns). Grænserne for klasse A-D i G.8273.2 har ingen trykt gennemregnet værdi, og knækpunktsmærkaterne for ePRTC låst i G.8272.1 (på massive konstruktionslinjer) blev udeladt af den præregistrerede udvælgelsesregel, så de forbliver transskriptioner
Tests
telecom_timing::tests (mask_boundaries_follow_the_tables_exactly — åbne og lukkede ender, τ = 400 s-hullet i G.8271.1 Table 7-3, kontinuitet i hvert knækpunkt, tabellerne indebærer…
ModelleretITU-T-masker for wander-generering ved frekvenssynkronisering (G.811, G.812, G.8262, G.8262.1)telecom_timing (MASKS, Segment::tau_exponent, MeasurementFilter::LowPass10HzAtSource, MaskCondition::Autonomous)
Funktion
Syv MTIE- og TDEV-masker for wander-generering ved konstant temperatur til typen telecom-timing: G.811 (09/1997) PRC (autonom), G.812 (06/2004) Types I, II og III, G.8262 (10/2024) EEC Options 1 og 2 og G.8262.1 (11/2025) eEEC (låst tilstand), herunder de potenslovsstykker, tabellerne skriver (8 τ^0.5 og lignende), hvert interval åbent eller lukket, som det er trykt, målt gennem det filter på 10 Hz, som klausulerne angiver (taget som anvendt før sampling); referencescenariet scenarios/telecom-synce-eec.toml stiller en frit løbende OCXO op mod de tre EEC-masker. Ikke implementeret: tillæg for variabel temperatur, holdover, transienter, jitter og frekvensnøjagtigheden i G.811
Uafhængig reference
Transskription af de navngivne Recommendations (hentet fra itu.int den 2026-10-13), hver række læst igen mod teksten, med den kontinuitet i knækpunkter, som de trykte koefficienter medfører, afgrænset i testene (for eksempel 40 · 10^0,4 = 100,48 ns mod platået på 100 ns i G.812 Table 4). En standardtransskription med interne konsistenskontroller, ikke en test af overensstemmelse og ikke en ekstern validering. G.812 (06/2004) er opført som afløst af en forhåndspubliceret udgave 08/2026, og G.811 har en Amd. 1 (04/2016); ingen af dem kunne læses, så ingen af dem er kontrolleret. Scenariet med den frit løbende OCXO overdriver oscillatorens bidrag ved observationsintervaller, der er lange i forhold til en løkkes tidskonstant; det siger intet om noget udstyrsur
Tests
telecom_timing::tests (g811_prc_masks_follow_clause_6_1; g812_masks_follow_tables_3_4_6_and_7; g8262_masks_follow_tables_1_3_4_and_5; g8262_1_eeec_masks_follow_tables_1_and_3; a_linear_piece_is_evaluated_without_powf…
ModelleretUrlogformater (RINEX clock, TimeLab ASCII, TAPR TICC) læst til en normaliseret faseserieclock_log (read_input, MeasuredPhaseReport, MEASURED_UNITS, TELECOM_LOG_UNITS); telecom_timing (SeriesInput::clock_log); api (clock kind [clock_log])
Funktion
clock_log::read_input: ét parserlag, der omdanner en RINEX-urfil (AS/AR-poster for ét navngivet ur, versionerne 2 og 3,00 til 3,04), en fase- eller frekvenslog i TimeLab-stil ASCII eller en TAPR TICC-log med tidsstempler eller intervaller til et ensartet fasegitter, med tau0 angivet, fra en header eller som medianafstanden, hvert hul, aflæsning uden for gitteret og dublet talt, og en politik for huller med refuse, longest-run eller linear; koblet opt-in ind i serien for telecom-timing ([series.clock_log], der tilføjer en blok clock_log) og scenarietypen clock ([clock_log], der tilføjer en blok measured med ADEV, TDEV og MTIE, tabellens SHA-256 og fasens SHA-256; runs = 1). Uden tabellen er begge typer byte-identiske
Uafhængig reference
Præregistreret i tests/fixtures/clock_log/PREREGISTRATION.md (committet alene, 159334f2, før fixturen fandtes); optaget i RESULTS.md. Tre seedede syntetiske logs, én pr. format (et TICC-hul på tre epoker, et RINEX-ur nummer to, der skal ignoreres), læst tilbage af en uafhængig læser skrevet ud fra docs/CLOCK-LOG-FORMATS.md af den samme forfatter: gitter, hul og antal udfyldninger ens og den største faseforskel 0 s (tærskel 1e-13 s). allantools 2024,6 oadev, tdev og mtie på den fase stemmer inden for relativt 2.5e-14 (tærskel 1e-10) ved hver middelfaktor, den evaluerer; den evaluerer ikke MTIE over hele registreringen, som motoren rapporterer, så det ene punkt pr. log har ingen værdi som uafhængig reference, og tærsklen som formuleret er ikke nået dér. MODELLED: syntetiske logs, og læserreferencen deler forfatter; rigtige TimeLab-, TICC- og RINEX-urfiler fra instrumenter blev ikke sammenlignet
Tests
clock_log::tests (håndskrevne logs pr. format: headere, separatorer, enheder, frekvensintegration, TICC-kanaler og -tilstande, huller og politikker, afvisninger); tests/clock_log_allantools.rs (den præregistrerede sammenligning…
ModelleretUrlogformater linuxptp (ptp4l, phc2sys, ts2phc) og chrony (tracking, statistics) læst til en normaliseret faseserieclock_log (parse_linuxptp, parse_chrony, grid_timed_offsets)
Funktion
clock_log::read_input med formaterne ptp4l, phc2sys, ts2phc, chrony-tracking og chrony-statistics: den loggede offset fra en servolinje i linuxptp (ns, linjens egen tidsstempel i klammer, aflæsninger før servoen første gang rapporterer s2 udeladt og talt) eller fra en chrony-tracking- eller statistics-log (s, efter kolonneposition, UTC-dato og -tid) bliver til et ensartet fasegitter gennem de samme politikker for huller som de andre formater; en kildevælger (clock) navngiver én af flere grænseflader, ure eller adresser; logs føder serien for telecom-timing, typen clock og typen holdover-test
Uafhængig reference
Fixtures skrevet til Kshana ud fra dæmonernes offentlige linjeopbygning, med opdigtede værdier (NOTICE.md i fixturemappen); ingen log fra en rigtig installation blev læst, og ingen uafhængig reference sammenligner parsingen med en anden læser, så en opbygning, der er forskellig mellem dæmonversioner, stadig kan afvises eller misforstås. De estimatorer, som faseserien føder, er dem, der er valideret mod allantools i rækkerne ovenfor
Tests
clock_log::tests (ptp4l_reads_the_locked_offsets_in_ns; linuxptp_reads_only_the_named_program; ts2phc_gap_is_refused_or_filled; linuxptp_reads_syslog_prefixed_lines_and_picks_an_interface…
ModelleretHoldover-test bedømt ud fra en tidsfejlregistrering leveret af operatørenholdover_test (HoldoverTestScenario, recovery, linear_fit); telecom_timing (check_mask, check_envelope, budget_results)
Funktion
Typen holdover-test: en tidsfejlregistrering (en urlog fra linuxptp, chrony, TICC, TimeLab eller RINEX, eller par time_s,time_error_ns) deles ved de to tidspunkter, operatøren angiver for fjernelse og genoprettelse af GNSS, i et baseline-, et holdover- og et genoprettelsestrin; baseline måles mod de ITU-T-masker, der er skrevet til et låst ur, og holdover mod dem, der er skrevet til holdover eller et autonomt ur, ePRTC-A-holdover-envelopen og tidsfejlbudgetterne; holdover rapporterer den frekvensoffset med mindste kvadrater, som systemet holdt, og genoprettelsen, om og hvornår |TE| kom inden for et angivet bånd og blev der i en angivet opholdstid, med toppen og det største trin. Hver grænse er den, som typen telecom-timing transskriberer; de to tidspunkter er operatørens udsagn og er ikke verificeret
Uafhængig reference
Håndberegning på registreringer bygget af formler, hvis hældning, trin, ekstremum og genoprettelsestid er kendt før kørslen (testene angiver dem), og maskerne, envelopen og budgetterne i rækkerne for telecom-timing ovenfor. Ingen laboratoriemåling af en rigtig holdover er bedømt, og ingen ekstern uafhængig reference er sammenlignet, så typen gør ingen påstand om noget ur eller system; en partner i et tidslaboratorium er nødvendig, før noget tal pr. urklasse kunne forfremmes
Tests
holdover_test::tests (the_record_is_split_at_the_stated_times; holdover_figures_match_a_hand_computation; recovery_is_timed_from_the_restoration; masks_are_measured_on_the_step_their_condition_names…
ModelleretTilgængelighed af GNSS-signaler i Space Service Volume og videre, sammenholdt med ICG SSV-hæftetssv (constellations, geom, sweep, pattern, check)
Funktion
Tilgængelighedssweeps for typen gnss-ssv: pr. konstellation (GPS, GLONASS, Galileo, BDS, QZSS, NavIC) og kombineret, andelen af par (bruger, epoke) med mindst ét og mindst fire signaler og det længste udfald, for en bruger på en kugle (hæftets globale skal med 2,562 punkter, 14 dage ved 1 minut) eller på en bane (GEO, HEO, lunar transfer), ud fra Kepler-banerne i hæftets annex C, en konstant mindste udstrålet effekt inden for referencevinklen uden for boresight, jordens afskærmning ved kuglen plus 50 km og en C/N0-tærskel; brugerantenner fra hæftets table B10
Uafhængig reference
ICG Space Service Volume-hæftet (UN OOSA ST/SPACE/75, 2018), selv en simulering, sammenlignet under en præregistrering committet før kørslen (xval/gnss-ssv/PREREGISTRATION.md; resultater i xval/gnss-ssv/RESULTS.md, fastlåst af tests/ssv_booklet_results.rs, misses inkluderet). Kørsel 1 på den præregistrerede læsning: konstanterne for mindste udstrålet effekt og den lunare tærskel stemmer (S0, S6 nået); tærsklerne for øvre og nedre SSV, RF-tærskel, GEO og HEO er NOT MET, næsten alle gennem GLONASS, som hæftet giver 20 og 28 grader for i tables B2 og B6 og 26 og 34 grader i table 4,2. En diagnostisk variant med vinklerne fra table 4,2 stemmer i hver celle for øvre SSV, nedre SSV og de seks GEO-missioner (den erstatter ikke kørsel 1; celler for RF, HEO og lunar bommer stadig). De målte panelmønstre for GPS L1 gengives ikke af det parametriske stedfortræderskøn (RMS 6 til 9 dB mod en tærskel på 3 dB). Overensstemmelse viser, at hæftets angivne metode gengives, ikke at GNSS-signaler opfører sig sådan
Tests
ssv::geom::tests (the_grid_has_the_booklets_2562_points_on_the_unit_sphere; the_interval_form_equals_the_general_predicate; a_user_behind_the_earth_is_blocked_and_one_beside_the_limb_is_not); ssv::sweep::tests…
ModelleretEffekter af limb-stråle på ionosfære, plasmasfære og atmosfære for strejfende GNSS-signaler og designet af modtageren til svage signaler, i typen gnss-ssvssv (limb, weak)
Funktion
En Chapman-ionosfære, en plasmasfære af Gallagher-typen og en neutral atmosfære (brydningsbøjning, iltabsorption, defokusering) integreret langs den rette stråle mellem sender og bruger: skrå total elektronindhold, dets plasmasfæriske del, ekstra forsinkelse, tangenthøjde og tabet på strejfende links; og et modtagerdesign til svage signaler (kohærent og ikke-kohærent integration, databitgrænse, støtte, Doppler-søgning), der fastsætter C/N0-tærsklen ud fra modellerne for akkvisition og tracking-løkke
Uafhængig reference
Lukkede former og publicerede størrelsesordener i testene (en Chapman-lags top og bøjningen ved overfladens limb, nogle få TECU plasmasfære på en stråle fra GPS til GEO); modtagerdesignet genbruger modellerne for akkvisition og tracking-løkke og deres tests. Ingen målte data fra limb-sondering eller modtagelse af svage signaler er sammenlignet med det
Tests
ssv::limb::tests (the_chapman_layer_peaks_at_its_height_with_its_density; the_surface_limb_bends_about_one_and_a_third_degrees; plasmaspheric_tec_is_a_few_tecu_for_an_equatorial_gps_to_geo_ray); ssv::weak::tests…
ModelleretGNSS-navigationsfilter om bord for rumfartøjer i høj bane og lunar transferssv::nav (run_nav, Ekf)
Funktion
Tilstanden [navigation] i typen gnss-ssv: et udvidet Kalman-filter med ni tilstande (position, hastighed, modtagerurets bias og drift, en skala for solstrålingstryk) på pseudoafstande, hvis tilgængelighed, støj og C/N0 kommer fra den samme linkgeometri som sweepene; sandheden integreres med J2, tredjelegemer Solen og Månen og strålingstryk med skygge, filteret modellerer J2 og tredjelegemerne og estimerer strålingstrykket; rapporterer positions- og hastighedsfejl inden for og over GNSS-banerne, det længste målingshul og den gennemsnitlige NEES
Uafhængig reference
Simuleret sandhed mod filterets eget estimat (et konsistent filters gennemsnitlige normaliserede kvadrerede estimationsfejl er omkring 3 for positionen) og determinisme for et fast seed. Ingen flyvedata eller optagede GNSS-data fra høj bane er sammenlignet; Solen og Månen er cirkulære stedfortrædere med lav præcision
Tests
ssv::nav::tests (the_filter_converges_where_signals_are_plentiful_and_is_deterministic; the_covariance_is_consistent_with_the_error; without_signals_the_filter_coasts_and_the_gap_is_reported); ssv::scenario::tests…
ModelleretRelativ navigation for en formation af flere rumfartøjer i en stærkt elliptisk bane ud fra GNSSssv::formation (run_formation, RelEkf)
Funktion
Tilstanden [formation] i typen gnss-ssv: en chief og deputies kører hver det absolutte filter; deputy'ens position i forhold til chief estimeres ved at trække de absolutte estimater fra hinanden og ved et relativt filter på enkeltdifferencerede pseudoafstande for de signaler, begge fartøjer sporer, med den relative dynamik som forskellen mellem to ikke-lineære baner
Uafhængig reference
Den samme simulerede sandhed som for det absolutte filter: det relative filters fejl mod den sande relative tilstand og kontrollen af, at det klarer sig mindst lige så godt som at trække to uafhængige absolutte positionsbestemmelser fra hinanden. Ingen flyvedata fra en formation er sammenlignet
Tests
ssv::formation::tests (differencing_beats_subtracting_absolute_estimates_and_is_deterministic); ssv::scenario::tests (navigation_and_formation_run_and_report; formation_needs_navigation_and_one_mode_only)
ModelleretFejlbudget for navigation og tidssynkronisering for en kæde af missionsfaser fra opsendelse til indflyvning (mission-thread)mission_thread (scenario, handover, conversions, budget, phase)
Funktion
Typen mission-thread: et dokument af faser, hver en af otte registrerede typer, kørt i rækkefølge, hvor 6x6-kovariansen, uret og referencesystemet gives videre efter en angiven regel (carry; inflate, hvid accelerationsstøj over et angivet hul på en retlinet model; reacquire, dødregning og derefter kildens gulv, aldrig under det, aldrig en nulstilling); konverteringer af referencesystem GCRF, MCI og MCMF og af tidsskala via TT, hver sin budgetrække, med Månens tilstand fra et valgfrit udsnit af DE440-kernen og den analytiske serie som den angivne reserve; marginen mod et angivet krav, det svageste led, hændelserne og en tidslinjefigur. Hvert tal er et angivet input eller en model af et
Uafhængig reference
Håndberegninger i testene (den retlinede vækst i kovariansen, den gennemsnitlige sideriske rotation, den sekulære månetid) og, kun for Månens tilstand, de indlagte udsnit af DE440-kernen mod fastlåste JPL Horizons-værdier (værst 2,6 m og 7e-6 m/s). Ingen missionsdata sammenlignes med kæden; dens faser er rækker for sig. Dokumentet er en angivet kæde med ILLUSTRATIVE input, kun offentlige kilder og ingen støtte fra nogen rumfartsorganisation
Tests
mission_thread::scenario::tests::a_thread_runs_hands_over_converts_and_names_the_weakest_link; mission_thread::scenario::tests::bad_documents_fail_with_the_reason…
ModelleretOpsendelse og opstigning til en parkeringsbane med GNSS-erhvervelse og fading (launch-ascent)mission_thread::earth::launch (LaunchAscent)
Funktion
Fasen launch-ascent: en position- og hastighedskovarians med konstant hastighed og hvid accelerationsstøj (dødregningsklassen), en GNSS-positionsbestemmelse med angivet nøjagtighed anvendt efter erhvervelsestiden og uden for angivne fadings, et ur med bias og drift, der disciplineres af de samme positionsbestemmelser, og tilstanden ved indsætning i parkeringsbanen
Uafhængig reference
Riccati-ligevægtstilstanden og håndberegningen af prædiktionen i testene. Intet her modellerer en løfteraket eller en modtager; hvert tal er et angivet input
Tests
mission_thread::earth::launch::tests::with_gnss_the_sigma_settles_near_the_fix_and_an_outage_lets_it_grow; mission_thread::earth::launch::tests::before_acquisition_the_sigma_only_grows_and_a_longer_acquisition_is_worse…
ModelleretRelativ navigation til dockingomhyllingen i lav jordbane over sensorstrækninger (leo-rendezvous)mission_thread::earth::rendezvous (LeoRendezvous); cw_dynamics; mission_thread::sensors
Funktion
Fasen leo-rendezvous: den relative tilstand i målets LVLH-akser med den lukkede Clohessy-Wiltshire-overgang, en 6x6 Kalman-kovarians med hvid accelerationsstøj og positionsopdateringer, hvis varians er sensorens ved den aktuelle afstand, over strækninger af en angiven sensor (ILLUSTRATIVE optisk kamera, lidar og radioafstandsmåling); dockingvinduet er tiden fra det tidspunkt, hvor den relative sigma holder sig inden for indfangningsomhyllingen, til fasens slutning. Jagerens absolutte kovarians gives videre uændret, og en række siger det
Uafhængig reference
En énaksel-håndberegning af prædiktion og opdatering i testen; Clohessy-Wiltshire-overgangen er den, som cw_dynamics kontrollerer mod en uafhængig numerisk integration. Sensorerne er ILLUSTRATIVE, og intet virkeligt rendezvous sammenlignes
Tests
mission_thread::earth::rendezvous::tests::the_relative_sigma_falls_through_the_legs_and_opens_a_docking_window; mission_thread::earth::rendezvous::tests::without_relative_sensing_the_sigma_only_grows_and_no_window_opens…
ModelleretTrans-lunar injektion og cislunart krydstogt: propageret middeltilstand og kovarians med sporingsopdateringer (tli-and-cruise)mission_thread::earth::tli_cruise (TliCruise); propagator; ssv::sweep
Funktion
Fasen tli-and-cruise: middeltilstanden fra motorens Cowell-propagator (Jorden som punktmasse og J2, Solen og Månen som tredjelegemer, Månen fra trådens DE440-kerne, hvor den dækker segmentet, og Solen fra den analytiske serie); kovariansen ved en fremadrettet differens-tilstandsovergangsmatrix af denne propagering (den nominelle kørsel og seks forstyrrede kørsler pr. segment) med hvid accelerationsstøj; TLI-brændingens størrelse og retningsfejl; gnss-ssv-positionsbestemmelser, hvis tilgængelighed og PDOP kommer fra feltet af rumservicevolumen langs en oskulerende bane, der står i for buen; afstands- og afstandshastighedssporing langs den geocentriske retning skaleret med jordnetværkets driftsandel, med opdatering på Joseph-form
Uafhængig reference
Liouvilles sætning (determinanten af tilstandsovergangsmatricen for den konservative del er en) og en finere differens i testene; middeltilstanden sammenlignes med en offentlig bane i rækken nedenfor, som den ikke rammer. Brændingsfejlen, opdateringerne og kovariansen sammenlignes ikke med noget
Tests
mission_thread::earth::tli_cruise::tests::the_stm_is_symplectic_for_the_conservative_part_and_matches_a_finer_difference; mission_thread::earth::tli_cruise::tests::with_no_tracking_the_covariance_is_the_stm_propagation_…
ModelleretKovarians ved indflyvningsgrænsefladen, korridorsandsynlighed, maksimal deceleration og landingsfodaftryk (entry)mission_thread::earth::entry (Entry); reentry
Funktion
Fasen entry: returkysten for tli-and-cruise uden brænding, der ender ved indflyvningsgrænsefladen; flyvebaneafvigelsen og dens sigma fra den fulde kovarians ved en gradient med endelig differens; sandsynligheden for, at vinklen ligger inden for en angivet korridor; den maksimale deceleration ved den nominelle vinkel og ved begge korridorkanter fra motorens plane ballistiske punktmasse-indflyvning (skip-out registreret) ved siden af den lukkede Allen-Eggers-form; landingsfodaftrykket fra en angiven følsomhed i nedrækkevidde og grænsefladekovariansen på tværs af banens plan. Hverken løft, styring eller opvarmning modelleres
Uafhængig reference
Håndberegninger i testene (vinkelsigmaen er den vinkelrette hastighedssigma divideret med farten; Gauss-massen i en korridor). Den plane indflyvning er motorens egen, og Allen-Eggers-formen er en lukket sammenligning; ingen fløjet indflyvning sammenlignes
Tests
mission_thread::earth::entry::tests::the_flight_path_angle_and_its_sigma_follow_the_velocity_error_over_the_speed; mission_thread::earth::entry::tests::the_corridor_probability_is_the_gaussian_mass_inside…
ModelleretJordnetværkets dækning og sporingsandel for en trådfase ([ground_network] i mission-thread)mission_thread::earth::ground_network
Funktion
Jordnetværkets overlay: stationer med en mindste elevation, køretøjets sigtbarhed på en angivet geometri (indflyvningstilstanden fløjet to-legemer med J2, Månens position for krydstoget eller en angivet andel), stationsoverdragelser, der hver taber en angivet tid, og den resulterende andel, der gives videre til fasens opdateringsrate for jordsporing; det længste interval uden station i sigte er en budgetrække
Uafhængig reference
Kontroller af zenit- og antipodegeometri og den forventede sigtbarhed af et fjernt mål i testene. Intet virkeligt netværk, ingen antenne og ingen tidsplan modelleres
Tests
mission_thread::earth::ground_network::tests::a_vehicle_over_a_station_is_seen_and_one_on_the_other_side_of_the_earth_is_not; mission_thread::earth::ground_network::tests::the_moon_is_in_view_of_three_well_spread_statio…
ModelleretRelativ navigation til docking i en månebane (lunar-orbit-rendezvous)lunar_rendezvous (LunarRendezvousScenario); lunar_phase; mission_thread::lunar
Funktion
Typen og fasen lunar-orbit-rendezvous: et fælles batch-Gauss-Newton-estimat for to køretøjer over buen (enogtyve parametre: begge tilstande og vedvarende positionsbiaser i signal-i-rummet, fælles og uafhængige), opbygget over en fjerdedel, en halvdel og hele buen med trinhalvering, ud fra en absolut positionsbestemmelse pr. køretøj (grænse for AFS-pilotkodesporing, ILLUSTRATIVE relæsæt) og en krydslinkafstand, under cratens månekraftmodel; den gennemsnitlige normaliserede estimeringsfejl i anden, Clohessy-Wiltshire-kontrollen på en cirkulær bane og den 6x6-kovarians, der gives videre
Uafhængig reference
Selvkonsistens under en præregistrering (xval/mission-thread-lunar/PREREGISTRATION.md, resultater og estimatorens historik i RESULTS.md): den gennemsnitlige NEES for den relative tilstand er 5,85 til 5,93 mod båndet 5,2 til 6,8 i fire konfigurationer, MET på det fjerde estimatordesign, efter at tre sekventielle filterdesign missede; referencen og estimatoren deler én kraftmodel, så dette siger intet om modelfejl. Den propagator, den deler, sammenlignes med LRO og CAPSTONE i en række nedenfor
Tests
lunar_rendezvous::tests::b1_mean_nees_is_inside_the_registered_band_in_all_four_configurations; lunar_rendezvous::tests::circular_cw_check_is_within_the_pre_registered_bar…
ModelleretBudget for landingsspredning på et polart sted på Månen (lunar-descent)lunar_landing (LunarLandingScenario); lunar_phase; terrain_nav
Funktion
Typen og fasen lunar-descent: en inertiel fejlmodel med fem tilstande pr. akse (position, hastighed, accelerometerbias, hældning, gyrobias) over en drevet nedstigning, støttet af AFS-positionsbestemmelser (selvstændige eller differentielle, med det urstøttede tilfælde med tre relæer), en terrænrelativ positionsbestemmelse (motorens terrain-nav-matcher på syntetisk relief eller en Cramer-Rao-grænse på en LOLA-DEM med en apertur-problem-regel) og månetid, med en Monte Carlo-ellipse for berøringspunktet
Uafhængig reference
Den lukkede inertielle drift, de genbrugte typers egne resultater og kalibreringen af 3-sigma-ellipsen (andelen inden for stemmer overens med forventningen) i testene. Ingen fløjet eller afprøvet landing sammenlignes
Tests
lunar_landing::tests::b4_with_no_aid_the_landing_error_is_the_closed_form_inertial_drift; lunar_landing::tests::b4_each_aid_reports_exactly_what_the_reused_kind_gives; lunar_landing::tests::b3_ellipse_calibration…
ModelleretTilgængelighed af positionering og tidssynkronisering på overfladen efter sted og årstid ved månepolerne (lunar-surface)lunar_surface_map (LunarSurfaceMapScenario); lunar_phase
Funktion
Typen og fasen lunar-surface: relætilgængelighed og PDOP, sigtbarhed af Jorden og Solen og et disciplineret overfladeur for hvert sted og hver årstid, med terrænhorisonten fra moonlight-service-volume; en kørsel for ét sted er lig med den types tilgængelighed og PDOP til sidste bit
Uafhængig reference
Nøjagtig lighed med den eksisterende type for ét sted og monotonikontroller i testene. Relæsættet er ILLUSTRATIVE, og ingen overflademåling sammenlignes
Tests
lunar_surface_map::tests::b5_equals_the_service_volume_for_a_single_site; lunar_surface_map::tests::b5_equals_the_service_volume_with_the_real_terrain; lunar_surface_map::tests::terrain_never_adds_availability…
ModelleretDrevet opstigning fra et polart sted på Månen til en indsætningsbane (lunar-ascent)lunar_ascent (LunarAscentScenario); lunar_phase
Funktion
Typen og fasen lunar-ascent: den inertielle fejlmodel med fem tilstande pr. akse kørt over en drevet opstigning med specifik kraft langs banen, støttet af AFS-positionsbestemmelser og månetid, som rapporterer den position- og hastighedskovarians ved indsætning, der føres til banen, og spredningen ved motorafbrydelse (rapporteret, ikke ført videre)
Uafhængig reference
Den lukkede inertielle drift og monotonikontroller i testene. Ingen fløjet opstigning sammenlignes
Tests
lunar_ascent::tests::with_no_aid_the_insertion_error_is_the_closed_form_inertial_drift; lunar_ascent::tests::the_aid_never_hurts_and_the_velocity_is_carried_with_its_correlation…
ModelleretPropageringen med månekraftmodellen mod offentlige rekonstruerede baner for månesatellitter og cislunare banerlunar_od (LunarForceModel); precise_od; mission_thread_lunar_oracles (example)
Funktion
Den propagator, månetyperne deler (GRAIL GL0660B grad og orden 150, Jorden og Solen som tredjelegemer, relativitet, DE440-månorientering), sammenlignet med de offentlige JPL Horizons-baner for LRO (24 timer, prøver hvert 10. minut) og CAPSTONE (ét omløb på 6,5 dage, prøver hver time), under tærskler fastsat i en indlagt fil før kørslen
Uafhængig reference
JPL Horizons-efemerider for LRO og CAPSTONE mod tærskler præregistreret i xval/mission-thread-lunar/PREREGISTRATION.md (Ændringerne 1 til 6). LRO: MET, 33 m største 3D-forskel og 2,4 m RMS radialt mod 500 m og 60 m. CAPSTONE: NOT MET, en forskel i slutposition på 136,8 km mod 25 km og en forskel i periapsis på 28,4 km mod 10 km, årsagerne ikke isoleret. Rækken er modelleret, fordi CAPSTONE-tærsklen ikke nås, og sammenligningen afprøver den delte propagator, ikke noget filter, signal eller budget
Tests
tests/mission_thread_lunar_oracles.rs::the_stored_numbers_meet_or_miss_the_registered_bars_as_recorded; tests/mission_thread_lunar_oracles.rs::the_fixtures_match_their_recorded_hashes
ModelleretPropageringen af den cislunare middeltilstand mod den offentlige bane for Artemis I (tli-and-cruise)mission_thread::earth::tli_cruise; propagator; mission_thread_oracle (example)
Funktion
Propageringen af middeltilstanden i fasen tli-and-cruise (Cowell, Jorden som punktmasse og J2, Solen og Månen som tredjelegemer, Månen fra et DE440-udsnit) sammenlignet med den offentlige JPL Horizons-bane for Artemis I over en kystbue på 72 timer fra 2022-11-16 18:00 TDB, ved epoker hver 12. time, under tærskler fastsat i en indlagt fil før kørslen
Uafhængig reference
JPL Horizons-mål -1023 (NASAs navigationsbane som fløjet efter TLI), mod tærskler præregistreret i xval/mission-thread/PREREGISTRATION.md (Ændring 1 ændrer kun anmodningens spænd). NOT MET og fastslået som misset: 45,3 km største positionsforskel mod 5 km og 0,249 m/s hastighedsforskel ved 72 timer mod 0,05 m/s. En diagnose skrevet efter afgørelsen placerer missen i fem impulsive hastighedstrin på 0,09 til 0,22 m/s i referencen (den præregistrerede opfattelse, at vinduet ikke rummede nogen brænding, var forkert); over de øvrige 67 timer gengiver modellen den næste timetilstand med en median på 0,38 m. Afprøver kun middeltilstanden for én kystbue: ingen kovarians, intet filter, ingen opdatering og ingen anden fase
Tests
tests/mission_thread_oracle.rs::the_stored_numbers_miss_the_registered_bars_as_recorded; tests/mission_thread_oracle.rs::the_diagnostic_places_the_miss_in_five_impulsive_events_not_in_the_force_model…
ModelleretFejlled i koldatom-interferometer: Raman-laserfasestøj, bias fra bølgefrontens krumning og opløsning af fringe-flertydighedinertial::cai_error_terms
Funktion
inertial::cai_error_terms (biblioteksfunktioner, endnu ikke tilgængelige fra en scenarietype): vægtningsfunktionen for Raman-fasen i et interferometer med tre firkantpulser (Cheinet et al. 2008, Eq. 8) med den lukkede form for hvid fase (pi/2)^2 S_phi0/tau_R og en numerisk vej for ethvert spektrum; den laserfrekvensstøj, som forsinkelsen ved retroreflektion ikke ophæver (Le Gouet et al. 2007, Eqs. 9 til 11); den rene defokus-bias sigma_v^2/R for en termisk sky og dens reduktion ved en detektionsradius; sandsynligheden for forkert fringe-indeks erfc(pi/(sqrt(2) s)) for en klassisk accelerometerstøtte og for to afhøringstider, og dens inverse
Uafhængig reference
Hver lukket form mod en uafhængig numerisk vej i testene (kvadratur i frekvensdomænet af den eksakte overføringsfunktion og forsinkelsesfilteret, en Monte Carlo over atomer for bølgefrontens bias, en Monte Carlo over skud for fringe-indekset) og dens grænsetilfælde. Én publiceret gennemregnet værdi: Cheinet et al. 2008 (arXiv:physics/0510197, Sec. IV) angiver, at ved tau_R = 20 us kræves en hvid Raman-fasestøj under -111 dB rad^2/Hz for 1 mrad pr. skud; det hvide led alene giver 0,99 mrad (papiret udleder niveauet med sin Eq. 17, flicker plus hvid). Intern konsistens og én gennemregnet værdi, ikke en ekstern validering; aberrationer af højere orden og ethvert bestemt lasers støj er ikke modelleret
Tests
inertial::cai_error_terms::tests (raman_transfer_short_pulse_limit_matches_the_acceleration_transfer_function; white_raman_phase_closed_form_matches_quadrature; short_pulse_band_limited_closed_form_matches_quadrature…
ValideretGreenhalls og Rileys eksakte ækvivalente frihedsgrader for Allan-, modificeret Allan- og Hadamard-varianserneallan (edf_greenhall, greenhall_edf_core); assurance::uncertainty (edf)
Funktion
allan::edf_greenhall (med omslagene edf_greenhall_adev, _mdev og _hdev): den fulde algoritme fra Greenhall og Riley, Proc. 35th PTTI (2003), Section 3 (Eqns 7 til 13 og koefficienterne for stor J i Tables 1 til 3), for differensordner 1 til 3, støjeksponenter +2 til -4, hvor alpha + 2d > 1, overlappende og ikke-overlappende, modificerede og umodificerede estimatorer; NaN, hvor den ikke gælder, herunder det umodificerede tilfælde med hvid PM med ceil(M/S) <= d, hvis lukkede form ikke er implementeret. assurance::uncertainty::edf deler nu koden og bevarer sine outputs bit for bit
Uafhængig reference
allantools 2024,6 ci.edf_greenhall, en tredjepartsimplementering af den publicerede algoritme, kørt af scripts/gen_greenhall_edf_ref.py over det gitter, der blev præregistreret i xval/greenhall-edf/PREREGISTRATION.md (committet alene, 0db0bb7a, før enhver sammenligning): ved alle 4.876 punkter, hvor den returnerer en endelig edf, stemmer kshana inden for relativt 6.0e-13 (tærskel 1e-9); ved dens 46 NotImplementedError-punkter returnerer kshana NaN; hver sagsetiket forekommer; omslagene er lig kernen bit for bit; uncertainty::edf er bit-identisk over 274.280 værdier (fastlåst som en SHA-256 før refaktoreringen). Ved 32 punkter (alpha -4, d 3, umodificeret, case 2,2) fejler allantools i sit opslag i Table 2, så de har ingen værdi som uafhængig reference og tælles ikke. Stable32 blev ikke kørt. 0,36 revision (docs/revisions/STUDIO15-greenhall-edf-portable.md): på portabel matematik tager kernen sin logaritme fra en double-double-evaluering afrundet én gang (allan::greenhall_ln), og den uændrede Bar 1 holder igen ved alle 4.876 punkter, værst relativt 6.0e-13; vagten for uncertainty::edf er genbaseret til den portable dump for 0,36 (3.746 af de 274.280 værdier flyttede sig, højst 1.6e-12 relativt, fra basen med værtsmatematik)
Tests
tests/greenhall_edf_allantools.rs (bars_1_to_3_against_allantools; bar_4_wrappers_equal_the_core); tests/greenhall_edf_no_moved_output.rs (uncertainty_edf_is_bit_identical_to_the_0_36_portable_baseline)…
ModelleretForudindstillinger for oscillator-holdover fra offentlige databladetelecom_timing (PRESETS, fit_noise, with_flicker_floor, synthesize_holdover); models (ClockModel)
Funktion
Fire forudindstillinger — OCXO (Microchip OX-208), rubidium (Microchip 8040C), cæsium (Microchip 5071A højtydende rør) og CSAC (Microchip SA.45s) — hver med sit datablads maksima for Allan-deviation, ældning og temperaturgrænse; en ikke-negativ mindste kvadraters tilpasning af frekvensstøj med hvid + flicker + random walk, skaleret til at indhylle hvert datablads punkt, et flickergulv aldrig under tallet for det længste τ, lineær ældning og et sinusformet temperaturled, syntetiseret som en seedet holdover efter et tab af GNSS
Uafhængig reference
De fire navngivne Microchip-datablade (dokumentnumre og URL'er i hver forudindstilling og i docs/TELECOM-TIMING.md) for inputtallene; den lukkede ældningsrampe og tilpasningens indhyllingsegenskab som interne kontroller. Hvordan tallene bliver til en støjmodel — tilpasningen, gulvreglen, måneden på 30 dage, den lineære temperaturaflæsning — er et modelvalg; ingen forudindstilling er en måling af en enhed. 0,30 runde 2, ensidige tærskler mod målte enheder (præregistreret a01c491c), et fund (forbliver MODELLED): IGS-stationen THU2 Symmetricom 8040C i ESA MGEX endelige ure har en Allan-deviation på 0,35 til 0,87 af rubidium-forudindstillingen, men en holdover-fejl på 1,07 til 1,60 af den; optagelsen for 5071A ligger uden for cæsium-forudindstillingen til 1000 s (hvid fasestøj ved målingen, 30x ved 1 s) og i holdover (1,15 til 8,74); den værste SA.45s fra produktionen i 2011 er 1.26x CSAC-forudindstillingen ved 1 s; OX-208 har ingen målt optagelse (blokeret)
Tests
telecom_timing::tests (every_preset_carries_a_named_datasheet_and_figures; the_noise_fit_envelopes_every_datasheet_point; pure_aging_matches_its_closed_form — den diskrete aldringsrampe inden for 0,1 % af (1/2)·D·t² over en…
ValideretHoldover-forudsigelse ud fra en målt urregistrering, kontrolleret på tilbageholdte dataslot_timing (ClockNoise::from_phase_record, fit_weighted, slot_budget, breach_after_sync_s)
Funktion
Målt-registrering-vejen i typen slot-timing: den overlappende Allan-deviation af en faseregistrering tilpasset ved edf-vægtet ikke-negativ mindste kvadrater i basen for hvid fase og IEEE Std 1139 frekvensmodulation (slot_timing::fit_weighted), derefter inverteret for den frie løbetid, hvor tidsfejlen når en tærskel (slot_timing::slot_budget). Gulvet for rød støj måles ud fra registreringen i stedet for at blive antaget
Uafhængig reference
Et rigtigt frit løbende atomur: 556.990 fasesamples på et sekund fra en 5071A-cæsiumstandard målt mod en brintmaser (A. Wallin, distribueret med allantools; fastlåst commit og SHA-256 i scripts/fetch_cs5071a.sh), den samme registrering som tests/cs5071a_reference.rs bruger til estimatorerne. De tilbageholdte to tredjedele er en ekstern måling, som forudsigelsen aldrig så. Datastyret: workflowet realdata-clock henter registreringen og kører testen med KSHANA_REQUIRE_REALDATA=1. Validerer vejen tilpas-så-inverter på en atomstandard domineret af hvid FM over frie løbetider på op til omkring 50.000 s; ikke databladet eller kilderne til klasser, ikke de deterministiske led. IKKE en krystaloscillator: på en målt OCXO-registrering (tests/slot_timing_ocxo_holdout.rs, allantools, 5,5 timer mod en brintmaser) er den tilbageholdte forudsigelse konservativ, ved 0,59 til 0,70 af det målte brud, og for det meste uden for tærsklen, fordi den oscillators støjgulv blev halveret under registreringen; i stikprøven ligger den inden for 0,98 til 1,17. Krystaltilfældet forbliver MODELLED. IKKE heller atomure i bane: på 10 GPS Block IIF-satellitures (tests/slot_timing_igs_holdout.rs, IGS endelige 30 s-ure, 14 dage, protokol skrevet før download) ligger 8 inden for tærsklen, og 2 (G25, G30) er optimistiske med op til omkring 2x, så under protokollen forbliver det orbitale tilfælde MODELLED
Tests
tests/slot_timing_cs5071a_holdout.rs (holdover_inversion_predicts_the_held_out_caesium_record: tilpas på den første tredjedel af registreringen, forudsig et-sigma-overskridelsen ved 0,5, 0,75, 1, 1,5, 2 og 2,5 ns, mål den på den…
ModelleretSekunder, til et frit løbende ur forlader en tidsindekseret slots guard, og den hyppighed af positionsbestemmelser, der holder det inden forslot_timing (predicted_error_s, breach_after_sync_s, terms_at, slot_budget, ClockNoise::from_datasheet, SlotTimingScenario); clock_state (ClockClass::Tcxo, Ocxo, Rafs, source)
Funktion
Typen slot-timing: den forudsagte fejl E(t) = k·√(σ₀² + σ_x²(t)) + (|y₀| + |c_T·ΔT|)·t + ½|D|t² inverteret for bruddet, den resterende tid, resynkroniseringsintervallet netto efter latens for positionsbestemmelsen og antal positionsbestemmelser pr. døgn, hvert led specificeret med det dominerende angivet; ure fra de seks standardværdier i ClockClass (TCXO, OCXO og RAFS tilføjet, hver med henvisning til ét datablad), forudindstillingerne for telecom-timing, et inline datablad eller en målt registrering; et brud ud over kildens længste middelingstid markeret som ekstrapoleret
Uafhængig reference
Lukkede former for hvert led alene og den uafhængige rodsøgning holdover::holdover_seconds; databladstallene er de navngivne dokumenter (docs/SLOT-TIMING.md). En klassestandard hviler på et antaget gulv for rød støj, og en databladkilde er en envelope af maksima, så ingen af dem er en måling af nogen enhed
Tests
tests/slot_timing_igs_holdout.rs (10 GPS Block IIF-satelliture, 14 dage af IGS endelige ure: 8 inden for tærsklen på 1,5, G25 og G30 optimistiske med op til omkring 2x, fastlåst); tests/slot_timing_ocxo_holdout.rs (en målt…
ModelleretBeskyttelsesniveau for tidssynkronisering for en modtager i kredsløb under GNSS-spoofingorbital_timing (orbital_timing, visibility_half_angle_rad, max_pass_s, crosslink_neighbour_is_outside_footprint)
Funktion
orbital_timing::orbital_timing, tilgængelig som spoofing-afsnittet i slot-timing-typen: hastighed og omløbstid i cirkulær bane, den længste tid, en spoofer på jorden kan nå satellitten pr. passage, gulvet for den urunderstøttede monitor og CUSUM-detektionsforsinkelsen, det betingede beskyttelsesniveau (gulvet plus udrulning over forsinkelsen), den afvigelse, en spoofer med en angivet maksimal rampehastighed opbygger, før satellitten forlader sit dækningsområde, eller en uafhængig kontrol kører, og om hver kontrol via jordkontakt eller krydslink er uafhængig af én spoofer på jorden
Uafhængig reference
Reduktion til det eksisterende beskyttelsesniveau for tidssynkronisering og til de lukkede former for cirkulær bane og sfærisk Jord for synlighed. Betinget af detektion, én terrestrisk spoofer med en angivet rampehastighed, en passage lige overhead på en ikke-roterende Jord; ikke valideret på en spoofet modtager i kredsløb
Tests
orbital_timing::tests (reduces_to_the_terrestrial_tpl — præcis tpl::timing_protection_level_ns, når uret ikke har noget flicker-, hvid-fase- eller random-run-led; leo_geometry_matches_its_closed_forms…
ValideretLukkede former for effektspektraltætheder og spektrale separationskoefficienter for L-bånd-signalernavsignal (Modulation::psd, spectral_separation_coeff_offset, q_from_ssc); spectrum (psd_nulls_hz, psd_peak_hz, main_lobe_null_to_null_hz, Jammer::ssc)
Funktion
Effektspektraltætheder med enhedsareal for GPS L1 C/A og L2C (BPSK(1)), GPS L5 og Galileo E5a (BPSK(10)), sinus-BOC(1.1) og Galileo E1 MBOC(6,1,1/11) (navsignal::Modulation::psd, med en tilføjet MBOC-variant), deres numerisk lokaliserede nulpunkter og maksima (spectrum::psd_nulls_hz, psd_peak_hz, main_lobe_null_to_null_hz) og den spektrale separationskoefficient for et signal mod et vilkårligt spektrum ved en vilkårlig forskydning (navsignal::spectral_separation_coeff_offset) eller mod en tone, flad støj, et chirp eller matchet støj (spectrum::Jammer::ssc), med anti-jam-koefficienten Q = 1/(R_c kappa)
Uafhængig reference
Offentliggjorte lærebogsværdier: BPSK(n)-hovedloben på 2n x 1,023 MHz fra nulpunkt til nulpunkt og anti-jam-koefficienterne Q = 1 for en smalbåndet (CW) jammer og Q = 1,5 for en spread-spectrum-jammer matchet til C/A (Kaplan & Hegarty, Understanding GPS/GNSS, 3. udg., afsnit 9,4); BOC(m,n)-hovedlobernes centrering ved plus eller minus m x 1,023 MHz (Betz, Binary Offset Carrier Modulations for Radionavigation, NAVIGATION 48(4), 2001); de spektrale separationskoefficienter -61.8, -64.8 og -67.8 dB/Hz for C/A med C/A, BOC(1.1) med BOC(1.1) og C/A med BOC(1.1) (Betz 2001; Hein et al., MBOC: The New Optimized Spreading Modulation Recommended for Galileo L1 OS and GPS L1C, Inside GNSS, maj/juni 2006), gengivet her ud fra deres lukkede former via Parseval og autokorrelation. BOC(1.1)-maksimum ligger ikke ved 1,023 MHz: loben strækker sig fra bærebølgens nulpunkt til 2,046 MHz og topper ved 0,759 MHz, og testen fastlåser begge dele. MBOC-blandingen er ICD-definitionen og kontrolleres kun for enhedsareal og linearitet
Tests
spectrum::tests (bpsk_main_lobe_null_to_null_is_two_n_times_1_023_mhz — BPSK(1) 2,046 MHz og BPSK(10) 20,46 MHz fundet numerisk på den lukkede form; boc11_lobes_are_centred_at_plus_minus_1_023_mhz — bærebølgenul…
ModelleretVandfaldsdiagram af L-bånd-spektret med J/S pr. bånd og effektiv C/N0 under en scriptet jammer-tidslinjespectrum (SpectrumScenario, SpectrumModel::bin_psd_w_per_hz, SpectrumModel::band_state, effective_cn0_multi_dbhz, system_temp_k, Jammer::power_fraction_in, Jammer::duty)
Funktion
spectrum-typen: et gitter af frekvens over tid for L-båndets effektspektraltæthed (termisk gulv k T_sys med T_sys = T_ant + 290 K (F - 1), signalerne ved deres minimale modtagne effekter fra interfacespecifikationen samt jammere af typen kontinuert bølge, smalbånd, chirp og matchet støj med til- og frakoblingstider), hver celle middelberegnet over sin bin og række (chirps nøjagtigt over hele og delvise sweeps, jammere efter driftscyklus), effektiv C/N0 pr. bånd = [1/(C/N0) + sum (J/S) kappa]^-1 pr. række, J/S pr. bånd, J/S i båndet og et SVG-vandfald med C/N0-søjler. Rapporten indeholder en krydskontrol mod kæden i jamming-typen på de samme linkinput
Uafhængig reference
Reduktion til den eksisterende jamming-typens anti-jam-ligning og linkbudget (den samme kode, kaldt med de samme input) og den lukkede form for støjgulvet k T0 F. De underliggende signalspektre er den validerede række ovenfor; jammerens effekter, tidslinje og front-end-båndbredder er scenarieinput, spektrene er kontinuerte (ingen spredningskodelinjer), og ingen automatisk forstærkningsregulering, blanking eller antennediagram virker på jammeren. Der findes intet målt jammet spektrum i repositoriet at kontrollere det sammensatte resultat mod. jamming-typens Q-tabel (CW og smalbånd 1, bredbånd og swept 2 siden 0,36: lærebogsværdierne, fastlåst til de lukkede former i navsignal) stemmer overens med denne models CW-værdi og afviger fra det, den udleder for støj matchet til C/A (1,5) og for flad støj fra nulpunkt til nulpunkt uden normalisering i båndet (2,2); rapporten udskriver begge
Tests
spectrum::tests (agrees_with_the_jamming_kind_chain — J/S lig jamming::j_over_s_db og effektiv C/N0 lig jamming::effective_cn0_dbhz med Q = 1/(R_c kappa) til 1e-9 dB, og ankeret på 32,105 dB i jamming…
ValideretSigMF-optagelser som input og output samt Welch-spektralestimater af komplekse IQ-datasigmf (read, write, encode, decode, parse_meta, meta_to_json); spectrum (welch_psd, fft_in_place, synthesise_iq)
Funktion
sigmf: læs og skriv Signal Metadata Format-optagelser (JSON .sigmf-meta med felterne core global, captures og annotations; rå .sigmf-data som cf32_le, ci16_le eller ci8, med de heltalsdekodere, der deles med realdata::iqif::load_iq), alt på strenge og bytebuffere. spectrum::welch_psd: Hann-vinduede, overlappende, middelberegnede periodogrammer, densitetsskalerede, på en radix-2-transformation i selve cratet (spectrum::fft_in_place). Disse to er det validerede krav. spectrum::synthesise_iq tegner modellen som IQ, og spectrum-typens [iq]-sektion kører model til IQ til SigMF til Welch og sammenligner med modellen; dens [recording]-sektion estimerer en rigtig optagelse (native builds); syntesen og disse modelsammenligninger ligger uden for det validerede krav
Uafhængig reference
scipy 1.18.1 scipy.signal.welch (BSD-3-Clause) med samme periodiske Hann-vindue, overlap, densitetsskalering, ingen detrend og tosidet middelværdi: hver bin inden for 1e-12 relativt (observeret 6.0e-14) over 27 tilfælde, med segmentantal taget fra scipys eget spektrogram. sigmf-python 1.13.0 (LGPL-3.0, kørt som værktøj) skriver fem tredjepartsoptagelser (cf32_le, ci16_le, ci8, to optagelser med annotationer, en med en sample_start for første sample forskellig fra nul), som cratet dekoder bit-identisk med identiske core-felter, og læser cratets optagelser tilbage bit-identisk; SigMF v1.2.6-metadataskemaet rapporterer nul fejl på cratets metadata. Tolerancer fastlagt før den første sammenligning. Uden for kravet: spectrum::synthesise_iq og [iq]- og [recording]-sammenligningerne med modellen (en syntese har ikke ét enkelt rigtigt svar; et periodisk chirp viser linjer, Fresnel-ripple og kanthaler, som den glatte model udelader, samlet effekt inden for 2 %), konventionen for skalering fra heltal til flydende tal (cratet dividerer med 32767 og 127, sigmf-pythons autoscale med 2^15 og 2^7, hvilket specifikationen lader åbent; sammenligningen bruger de rå koder), flerkanalsoptagelser og de datatyper, læseren afviser
Tests
sigmf::tests (cf32_round_trip_is_exact_to_single_precision; ci16_round_trip_is_within_half_a_code; ci16_is_little_endian_i_then_q; integer_encoding_counts_saturation; metadata_uses_the_core_namespace…
ValideretPlanetpositioner i hele solsystemet ud fra JPL's Standish-kepler-elementerephem (standish_state, standish_elements, standish_nominal_error, ecliptic_to_icrf); ephem_provider (AnalyticSolarSystem); solar_system (SolarSystemScenario)
Funktion
Heliocentriske positioner for Merkur, Venus, Jord-Måne-barycentret, Jorden, Mars, Jupiter og Saturn fra Standish Tabel 1 (1800 e.Kr. til 2050 e.Kr.) og for alle otte planeter fra Tabel 2a/2b (3000 f.Kr. til 3000 e.Kr., med middelanomali-leddene b, c, s, f), efter JPL-sidens algoritme trin for trin og roteret til ICRF (International Celestial Reference Frame) med sidens skråstilling; Jorden udskilles fra barycentret med Montenbruck & Gills månerække og massetallet. Sammensat som ephem_provider::AnalyticSolarSystem, så ethvert legeme er tilgængeligt i forhold til ethvert andet, og kan køres som solar-system-typen
Uafhængig reference
JPL Horizons DE441 geometriske heliocentriske vektorer (ekliptika og ICRF), hentet efter præregistreringscommits 80451866, 8d38a28b og 558cc807. Tærskel: pr. planet og komponent RMS højst 1.0x de omtrentlige fejl i Explanatory Supplement 3. udg. Tabel 8.10.1 (EMB-rækken for Jorden); opdelingen Jorden-EMB kontrolleres direkte mod DE441 399 minus 3, højst 0,3 grader og 8,1 km ved hver epoke 1950-2050 (længdetærsklen på 8,1 km stammer fra den månerække-nøjagtighed, der er angivet i Kshanas egen efemeridedokumentation med henvisning til Montenbruck og Gill, og blev ikke kontrolleret mod bogen; den målte værdi på 6,09 km ligger tæt på den). RMS-statistikken blev valgt, vel vidende at en tidligere sammenligning over 27 epoker nåede 1.87x nominelt ved sit maksimum; fejl ved enkeltepoker når 3.83x (3.87x i ICRF-tilfældet). Supplementet definerer ikke sine tal som RMS. Tilfælde B roterer begge sider med IAU 1976-skråstillingen indtastet i testen, så rotationen ikke kontrolleres mod sig selv. AnalyticSolarSystems standardtabelvalg afprøves ikke (testene gennemtvinger Tabel 1). Uranus og Neptun fra Tabel 1 er en særskilt MODELLED-række
Tests
tests/solar_system_standish_preregistered.rs::standish_rms_errors_are_within_explanatory_supplement_table_8_10_1 (barycentre 1800-2050 fra Table 1 og 3000 BC-3000 AD fra Table 2, 8908 og 21857 epoker, værste RMS…
ValideretPositioner for Solen, Månen, Merkur og Venus fra DE440-kernen ved UTC-epoker (KernelEphemeris)ephem_provider (KernelEphemeris::relative_position_utc, utc_to_tdb_jd2); naif_kernel; timescales
Funktion
Geometriske positioner for Solen, Merkur, Venus, Jorden og Månen i forhold til hinanden (J2000/ICRF-akser, meter) fra en JPL DE440-kerne gennem ephem_provider::KernelEphemeris ved UTC-epoker: legemsnavne afbildet til NAIF-koder, UTC ført gennem skudsekundtabellen og TT til TDB med den todelte TDB-TT-række, kernen læst af motorens egen læser. Et legeme, som kernen kun rummer som systembarycenter (Mars til Neptun, Pluto i de440s), afvises og erstattes aldrig. Den kernefri Standish-række forbliver stien til browseren og til fallback
Uafhængig reference
Skyfield 1,54 (MIT) med egen skudsekundtabel, egen TDB-TT og egen læser af den samme NAIF de440s.bsp (jplephem), kørt som et separat program ved UTC-epoker. Præregistreret (0bfafe6d), før fixturen fandtes, med gitteret seedet fra den commits hash og en tærskel på 5e-5 s gange den relative hastighed (motorens angivne nøjagtighed for den todelte TDB-TT) plus 1e-13 af den barycentriske afstand plus 1e-5 m, pr. komponent. Resultat: alle 600 inden for, værst 0,66 af tærsklen (2,96 m på et hurtigt par, TDB-TT-rækkens egen fejl). Mutation: TT brugt som TDB fejler ved 33 gange tærsklen. Begge sider læser DE440: dette validerer udbyderen og dens tidskæde, ikke DE440. Uden for kravet: planeterne hinsides Venus som legemer (de440s rummer kun deres barycentre), planetmånerne og præcision under den todelte TDB-TT-række (nogle få meter for de hurtigste par)
Tests
tests/kernel_ephemeris_skyfield_oracle.rs::kernel_ephemeris_matches_skyfield_at_utc_epochs (600 positioner ved 200 UTC-epoker 1973-2026 trukket fra præregistreringshashen; værste 0,66 af tærsklen, 2,96 m)…
ValideretLystid mellem solsystemets legemerradiometric (light_time_solution, two_way_range, shapiro_delay); solar_system (link, link_on); ephem_provider (AnalyticSolarSystem)
Funktion
Den newtonske envejs-lystid fra et vilkårligt legeme til et andet, modtaget ved en epoke, løst af den radiometriske fikspunkts-lystidsløser (radiometric::light_time_solution, senderen i sin retarderede position) gennem solar_system::link_on på en vilkårlig EphemerisProvider; solar-system-typen kører den på det analytiske solsystem i det heliocentriske system (solar_system::link). Totvejsafstanden fra radiometric::two_way_range og Solens Shapiro-forsinkelse fra radiometric::shapiro_delay rapporteres særskilt og sammenlignes ikke eksternt. Udsendes for hvert legeme mod en observatør og for ethvert ekstra link af solar-system-typen, og for downlinket fra legeme til Jorden af body-pnt-typen
Uafhængig reference
JPL Horizons DE441 newtonsk envejs-lystid LT på nedadgående led (VEC_CORR=LT, observatøren Jordens centrum), præregistreret (480037d3, tillæg 54d5c86f, der kun ændrede afstanden mellem interpolationsknuderne, efter at den første hentning mislykkedes ved sin forudsætning om 10 m interpolationspræcision, før nogen lystid var sammenlignet) med en tærskel på 1e-6 s pr. lystid, hvor løseren fik DE441 barycentriske positioner, så iterationen over den retarderede sender er synlig (en løser med kun første iterat bommer med op til 0,1 s). På de analytiske Standish-positioner er lystiden kun så god som disse positioner (se rækken om planetpositioner); det leverede link behandler Solen som et inertialt centrum, hvilket holder sig inden for denne positionsfejl, men ikke er valideret særskilt. two_way_range og shapiro_delay sammenlignes ikke eksternt
Tests
tests/solar_system_light_time_solver_preregistered.rs::light_time_solver_on_de441_positions_matches_horizons_lt_within_1e_6_s (barycentre for Merkur, Venus, Mars, Jupiter og Saturn, Solen og Månen til Jorden…
ModelleretUranus og Neptun fra Standish Tabel 1, Pluto og planeternes hastighederephem (standish_state, StandishElements::state_at_mean_anomaly, Planet::Pluto); solar_system (position_label)
Funktion
Positioner for Uranus og Neptun fra Standish Tabel 1 (standarden inden for 1800 e.Kr. til 2050 e.Kr.), Pluto fra rækken i Tabel 1 fra 1992, som den nuværende JPL-side ikke længere anfører, og den heliocentriske hastighed for hver planet: den todelegemes afledte med den middelbevægelse, elementerne implicerer, plus ellipsens drejning ved perihel-, inklinations- og knuderaterne
Uafhængig reference
Målt mod JPL Horizons DE441 (de samme committede fixtures), men ikke valideret: de tal, Tabel 1 angiver for Uranus og Neptun, overskrides med op til 2,0 og 5,2 gange mod DE441 heliocentriske positioner (Neptun når dem mod barycentriske positioner, hvilket tyder på, at tilpasningen ikke var heliocentrisk), siden angiver ingen fejl for Pluto, og der findes ingen offentliggjort grænse for hastighederne. Tabel 2a/2b når deres egne tal for Uranus og Neptun og er dækket af den validerede række
Tests
tests/solar_system_horizons_reference.rs (standish_table1_uranus_and_neptune_exceed_the_nominal_error: fastlåst ved 2,04 og 5,16 gange den nominelle længdegradsfejl, under seks gange…
ModelleretPositioner for Månen og syv store måner (Phobos, Deimos, de galileiske måner, Titan)ephem (satellite_state, Satellite, SatelliteMethod, moon_icrf, moon_icrf_velocity); ephem_provider (AnalyticSolarSystem)
Funktion
Den geocentriske Måne fra Montenbruck & Gill-rækken (hvis led på -1.3972 grader pr. århundrede allerede henfører den til J2000-jævndøgnet), og planetocentriske positioner og hastigheder for Phobos, Deimos, Io, Europa, Ganymedes og Callisto fra JPL Solar System Dynamics' middelelementer i hver måne Laplace-plan med middellængdens rate taget fra IAU's synkrone rotationsrate (tabellen angiver perioden med for få cifre til at fastholde fasen), og for Titan fra IAU's rotationsmodel (månen på minus legemsfaste x-akse ved middelafstanden), fordi Titans trykte række for Laplace-planen ikke gengiver Horizons, heller ikke ved sin egen epoke
Uafhængig reference
Målt mod JPL Horizons' satellit-efemerider (DE441, MAR099, JUP365, SAT441) committet i tests/fixtures/solar_system/horizons_satellites_icrf.csv med forespørgslen og hentedatoen; der findes ingen offentliggjort nøjagtighed for middelelementer eller for rotationsmodellens placering, så de fastlåste tærskler fanger regressioner og validerer ikke. Middelelementerne udelader de resonante og solare perturbationer, og Phobos' sekulære acceleration er ikke modelleret
Tests
tests/solar_system_horizons_reference.rs (moons_track_horizons_to_the_measured_angles: værste vinkelfejl set fra planeten over 2000 til 2040, Phobos 5,65 deg, Deimos 0,38, Io 0,40, Europa 1,63, Ganymede 0,22…
ModelleretFysiske konstanter for hvert legeme i solsystemet og rapporten for hele systemetbody (Body::by_name, Body::facts, Body::prime_meridian, SOLAR_SYSTEM, BodyFacts); solar_system (SolarSystemScenario, position_label)
Funktion
Body får Merkur, Venus, Jupiter, Saturn, Uranus, Neptun, Pluto, Phobos, Deimos, Io, Europa, Ganymedes, Callisto og Titan (gravitationsparameter, referenceradius, J2 hvor den er offentliggjort med den radius, den henføres til, IAU-pol og nulmeridian), et navneopslag og en BodyFacts-post (NAIF-kode, klasse, forælder, ækvatorial radius og middelradius); solar-system-typen rapporterer dem for alle atten legemer sammen med positionerne, lystiderne og et banespor over én omdrejning, hvert legeme mærket VALIDATED eller MODELLED
Uafhængig reference
Transskription af offentliggjorte konstanter, hver citeret, hvor den defineres: gravitationsparametre fra JPL Horizons' legemeposter og JPL's tabel over fysiske parametre for satellitter, radier fra JPL's tabeller over fysiske parametre (IAU WGCCRE 2015), poler og nulmeridianer fra IAU's arbejdsgruppe om kartografiske koordinater og rotationselementer (middelværdier, uden T-rate og periodiske led), J2 fra Smith et al. 2012, Iess et al. 2018 og 2019 og Jacobson 2009 og 2014. Kontrolleret for intern konsistens (Jupiters rotationsperiode mod System III-raten, hver J2 mod sin referenceradius), ikke mod en ekstern uafhængig reference. 0,30 runde 2: GM-værdierne blev overtaget fra gm_de440 og Phobos- og Deimos-elementerne fra pck00011, så 0 af 84 konstanter for de fjorten tilføjede legemer afviger nu fra NAIF (var 12), hvilket er en transskriptionskontrol og ikke tælles med. 0,36: IAU's legemsfaste orientering og GM for de fjorten tilføjede legemer er udskilt i en egen VALIDATED-række ("IAU body orientation and gravitational parameter of the fourteen added solar-system bodies"); denne række beholder det, der er tilbage. J2 og middelradius er citeret, ikke valideret; positionerne i rapporten hviler på deres egne rækker; og rapportens prime_meridian_deg for Jorden, Månen og Mars forbliver på konventionelle konstanter (op til 6.6e-3, 2.8e-2 og 9.6e-4 rad fra IAU_<BODY>). 0,30-revisioner: Phobos GM 7.087e5 -> 7.087546066894452e5, Deimos 9.62e4 -> 9.615569648120313e4, Uranus 5.7939506103e15 -> 5.793951256527211e15, Neptun 6.83509997e15 -> 6.835103145462294e15, Pluto 8.69326e11 -> 8.696138177608748e11 m³/s²; Phobos' ækvatorialradius 13,1 -> 13,0 km; prime_meridian_deg indeholder nu de kvadratiske og periodiske led
Tests
body::tests (every_catalogue_body_resolves_by_name_and_carries_its_record; a_zonal_field_is_referenced_to_its_sources_radius; retrograde_rotators_have_negative_rates_and_periods_match_the_iau_rate); solar_system::tests…
ValideretIAU's legemsorientering og gravitationsparameter for de fjorten tilføjede legemer i solsystemetbody (Body::iau_rotation_et, Body::iau_angles_et, Body)
Funktion
Body::iau_rotation_et, rotationen fra J2000 til det IAU-legemsfaste system for Merkur, Venus, Jupiter, Saturn, Uranus, Neptun, Pluto, Phobos, Deimos, Io, Europa, Ganymedes, Callisto og Titan med hver århundrederate, hvert kvadratiske led og hvert periodiske led, som legemet har i pck00011, og gravitationsparameterfeltet mu for de samme fjorten legemer. Solen, Jorden, Månen og Mars har konventionelle konstanter, som ejes af andre rækker, og er ikke dækket
Uafhængig reference
NAIF SPICE Toolkit (CSPICE N0067 gennem spiceypy) pxform('J2000', 'IAU_<BODY>') på pck00011.tpc, en uafhængig implementering af den samme IAU-rotationsmodel, og NAIF gm_de440.tpc for GM, fixtures genereret af et separat program, der ikke kalder nogen Kshana-kode (tests/fixtures/body_orientation_spice_oracle/, NOTICE.md). Præregistreret 154bc54 (med den oprindelige tærskel på 1e-9 rad fra c2434204), før fixturen for friske epoker fandtes; den friske fixture blev regenereret uafhængigt og er byte-identisk. GM er en transskription af DE440 kontrolleret mod den offentliggjorte fil, ikke en uafhængig bestemmelse af GM. Resultater: docs/design/evidence/mr08-body-orientation/RESULTS.md
Tests
tests/body_orientation_spice_oracle.rs::orientation_matches_spice_pxform_for_the_fourteen_added_bodies (41 epoker 1955 til 2044, 574 matricer inden for 1e-9 rad, værste Phobos 1.43e-10 rad)…
ModelleretPositionsbestemmelse omkring et vilkårligt legeme i solsystemet med en lokal konstellation og et dybderumslink fra Jordenbody_pnt (BodyPntScenario, formal_sigma, fix_error); orbit (dop); batch_ls (gauss_newton); mars_pnt (chord_clears_sphere); mars_frame (bodyfixed_to_inertial)
Funktion
body-pnt-typen: en orbiter eller en lander på overfladen omkring et legeme valgt ved navn navigerer med envejs-pseudoafstande fra en Walker-navigationskonstellation omkring legemet (todelegemesbaner med legemets sekulære J2-drift, et ukendt brugerur) og en valgfri urfri totvejsafstand fra Jorden, med Jordens retning og afstand fra den analytiske efemeride ved hver epoke; sigtelinjer blokeret af legemets sfære og en elevationsmaske på overfladen; pr. epoke GDOP og PDOP for konstellationen alene (orbit::dop), den formelle positionsusikkerhed med og uden Jord-rækken og seedede Gauss-Newton-positionsbestemmelser (batch_ls::gauss_newton) for hver af de to tilfælde, med lystiden og rundturen fra legeme til Jorden
Uafhængig reference
Lukkede former og selvkonsistens: Keplers tredje lov for relæperioden, banens radius og overfladeradius holdt konstante over kørslen, at tilføjelse af en måling aldrig forøger den formelle usikkerhed, og at de seedede fejl stemmer med kovariansen. Relæbanerne ser bort fra tredje legemer (Jupiters træk i relæer omkring Europa er ikke modelleret), støjen er gaussisk på angivne niveauer, og målemodellen er øjeblikkelig, så dette er ikke valideret mod nogen missions navigationsdata
Tests
body_pnt::tests (relay_period_is_keplers_third_law_for_the_body; an_orbiter_keeps_its_radius_and_a_lander_sits_on_the_surface; the_earth_range_never_worsens_the_formal_uncertainty…
ValideretWalker-konstellationens geometri og de offentliggjorte nominelle slots for GPS, Galileo og GLONASSconstellation (WalkerSpec::elements, gps_slots, galileo_walker, glonass_slots, GPS_BASELINE_SLOTS, GPS_EXPANDABLE_SLOTS)
Funktion
constellation-design-typens generatorer: Walker delta- og stjernemønstre i T/P/F-konventionen (knudeafstand 360/P eller 180/P, afstand i planet 360·P/T, faseforskydning mellem planer 360·F/T) samt forudindstillingerne GPS-baseline og udvidelig 24-slots, Galileo og GLONASS bygget af deres offentliggjorte nominelle elementer, placeret i et jordfast system med den Greenwich-timevinkel, deres dokumenter angiver
Uafhængig reference
Offentliggjorte dokumenter fra myndighederne: Galileo Open Service Service Definition Document udgave 1,1 (European GNSS Service Centre) Tabel 1 og 23, referencekonstellationen 2016-11-21 00:00 UTC; GLONASS Interface Control Document udgave 5,1 (2008) afsnit 5,2, slotformlen for knudelængde og breddeargument; GPS Standard Positioning Service Performance Standard 5. udgave (april 2020) Tabel 3.2-1, 3.2-2 og 3.2-3, herunder kolonnen for sporets ækvatorkrydsning, som er en uafhængig angivelse af den jordfaste geometri, forudindstillingen skal gengive. Validerer generatorerne og transskriptionen; BeiDou-faserne i mellemhøj bane og knuderne for de skråtstillede geosynkrone baner er ikke offentliggjort og er ikke dækket
Tests
constellation::tests::walker_24_3_1_reproduces_galileo_os_sdd_table_23 (alle 24 RAAN- og middelanomalirækker til 1e-9 deg); constellation::tests::glonass_icd_slot_formula_is_a_walker_24_3_1 (ICD-slotformlen og en…
ValideretGlobal dilution of precision for GPS-baseline-konstellationenconstellation (coverage, dop_at, NormalAccum)
Funktion
constellation-design-dækningsmotoren på GPS-baseline-forudindstillingen med 24 slots under betingelserne i Appendix B i GPS Standard Positioning Service Performance Standard (SPS PS) (ét siderisk døgn, 287 femminuttersskridt, et 4 x 4 graders globalt gitter vægtet med cosinus til breddegraden, alle i sigte, 5 graders maske, ét modtagerur): den globale HDOP-fordeling, PDOP-medianen og tilgængeligheden af PDOP på højst 6, globalt og på det værste sted
Uafhængig reference
GPS SPS PS 5. udgave (april 2020) Appendix B afsnit B.3.2.2 og B.3.2.3, den offentliggjorte globale gennemsnitlige HDOP-fordeling for den fuldt besatte baseline-konstellation med 24 slots (median 0,94, 90 % 1,16, 95 % 1,25, 98 % 1,37, middel 0,96), Tabel 3.8-1 (PDOP-tilgængelighed) og Tabel B.3-1 (ensemble-PDOP for en degraderet konstellation, kun brugt som øvre grænse) samt en håndudledt lukket form for én epoke. VDOP- og PDOP-fordelingerne for den fulde konstellation er kun offentliggjort som en figur, så PDOP fastlåses ensidigt; det værste tid-rum-punkt (her HDOP 2,40 og VDOP 5,22, offentliggjort 2,49 og 5,43) afhænger af gitteret og rapporteres, men fastlåses ikke
Tests
constellation::tests::gps_baseline_global_dop_matches_the_sps_performance_standard (HDOP median 0,940, 90 % 1,165, 95 % 1,255, 98 % 1,370, middel 0,965 mod 0,94, 1,16, 1,25, 1,37 og 0,96, tærskel 0,03 på hver fast…
ModelleretDækning og dilution-of-precision-kort for vilkårlige multikonstellationsudformninger i stor skala, omkring et vilkårligt centrallegemeconstellation (coverage, ConstellationDesignScenario, beidou_slots, body_by_name)
Funktion
constellation-design-typen ud over de to fastlåste tilfælde: eksplicitte udformninger og udformninger med flere skaller, flere konstellationer pr. kørsel med ét modtagerur pr. konstellation, Jorden, Månen og Mars ud fra legemekonstanterne, BeiDou-forudindstillingen (fase i mellemhøj bane og krydsning ved 118 grader Ø for skråtstillet geosynkron bane modelleret), satellitter i sigte, GDOP, PDOP, HDOP, VDOP og tilgængelighed pr. celle, nedsamplede jordspor og et synlighedsforfilter efter sub-satellit-breddegrad, der kører en udformning med 5 000 satellitter på et gitter på 10 grader på en brøkdel af et sekund
Uafhængig reference
Intern konsistens: brute-force-elevationsscanningen, de håndberegnede reduktioner og orbit::dop-reduktionerne samt den lukkede Walker- og geosynkrone geometri. Todelegemesbaner med en valgfri sekulær J2, et sfærisk legeme med den lokale lodlinje langs radius, kun geometrisk synlighed (ingen signaleffekt, satellitsundhed, terræn eller tredjelegemes-perturbation), og den relative fase mellem systemer taget fra forskellige referenceepoker, så den ikke er et øjebliksbillede af nogen dato. 0,30-gennemgang, et fund (forbliver MODELLED): forudindstillingerne overholder de offentliggjorte ensidige gulve for DOP-tilgængelighed (BeiDou OS Performance Standard 3,0, Galileo OS SDD) ved 100 %, men når motorens PDOP fordobles i en midlertidig kopi, ligger de stadig inden for dem (værste punkt 99,36 %), så gulvene kan ikke opdage engang en fejl på 100 % i den størrelse, denne række beregner; at stramme dem efter kørslen ville være en post hoc-tolerance. Oprykning kræver en tosidet sammenligning af DOP-værdier på identisk geometri med en tolerance fastsat på forhånd. 0,30 runde 2 (tests/coverage_dop_full_oracle.rs, præregistreret add671d6), et fund (forbliver MODELLED): Orekit 12,2 positioner, elevation, azimut og jordspor med gnss_lib_py 1.0.4 GDOP/PDOP/HDOP/VDOP (fælles ur) og en numpy-invers (ét ur pr. konstellation) stemmer overens på hver tærskel for Galileo, GPS, BeiDou, Galileo+GPS (ét ur hver) og en Jord-udformning med 1584 satellitter (DOP inden for 2e-14 relativt, identisk positionsbestemmelse, tilgængelighed og synlighedsantal). På Måne- og Mars-udformningerne stemmer elementer, positioner, synlighed og spor overens, men DOP overskrider den tærskel på 1e-9 relativt, der var fastsat på forhånd, i celler, hvis største PDOP er 1434 eller mere (op til 8e-6), og 4 celler afviger med én epoke for positionsbestemmelse på numerisk singulær geometri (motorens pivot 1e-10 mod numpys rang), så rækken er ikke valideret. 0,30-revisioner: TDOP/GDOP-referenceuret er nu den lavest nummererede konstellation i sigte (constellation-multi-gnss-coverage global GDOP maks. 2,2236 -> 2,1205, middel 1,122 -> 1,131), og antal synlige satellitter pr. konstellation summeres som heltal
Tests
constellation::tests (prefilter_matches_brute_force_exactly — hvert kort og hver tæller er lig en skanning med den direkte elevationstest; five_thousand_satellites_on_a_coarse_grid — 5.000 satellitter, udskriver køretiden og…
ModelleretEn kædet mission på tværs af scenarietyper på én fælles tidslinjecampaign (run_campaign_detailed, run_chain, presets, extract, to_svg)
Funktion
campaign-typens faser: hver fase kører ét eller flere scenarier af eksisterende typer gennem run_toml, læser deres output ind i navngivne kanaler (urfejl og grænse, middel af effektivt forhold mellem bærebølge og støjtæthed og sporingsgulv, lodret beskyttelsesniveau og alarmgrænse, positionsfejl, satellitter under sporing, alarmflag) med forudindstillinger pr. type eller eksplicitte resultatstier, placerer dem ved fasens start og holder dem på et fælles gitter, med fasegrænser og hændelser; tilstand føres videre ved carry (en kanal fortsætter fra forrige fases slutværdi), handoff (en forrige fases nummer skrevet ind i det næste scenarie) og end_at (en fase slutter på et tidspunkt, en kørsel har beregnet, for eksempel en spoofing-monitors detektionstidspunkt); en kampagne-hash og en digest over hvert medlems resultat
Uafhængig reference
Sammensætningsidentiteter mod de selvstændige kørsler af de samme typer: en kampagne med én fase gengiver det selvstændige output bit for bit, den medførte forskydning er lig med den forrige kørsels egen sidste sample, og den fase, der afsluttes af end_at, har præcis kørslens detektionstidspunkt som sin længde. Den additive carry over en fasegrænse og nulte ordens hold er modelleringsvalg, og hver fase er kun så god som den type, der kørte den; ingen kædet mission er blevet kontrolleret mod en målt
Tests
tests/campaign_composition_reference.rs (a_one_phase_clock_campaign_reproduces_the_standalone_run_bit_for_bit, a_one_phase_integrity_campaign_reproduces_the_standalone_run_bit_for_bit…
ModelleretParametersweeps og seedede Monte Carlo-ensembler over en vilkårlig scenarietypecampaign (run_sweep, run_monte_carlo, ensemble); sweep (GenericAxis, coords_of, set_dotted_value); inertial (metric_stat)
Funktion
campaign-typens sweep (én til tre punktopdelte nøgler af en vilkårlig type, på det generiske sweeps akseværdier, eventuelt med et ensemble i hver knude) og monte_carlo-sektioner: realisation k kører ved base_seed + k; hver metrik rapporterer middelværdi, standardafvigelse, nærmeste-rang-percentilerne 5./50./95. og et percentil-bootstrap-konfidensinterval på 95 % med fast seed for middelværdien (inertial::metric_stat); metrikenheder læses fra den sweepede typens egen units-blok
Uafhængig reference
Den lukkede form for faserandomwalk under hvid frekvensstøj, varians q_wf tau (NIST Technical Note 1337), for statistikmaskineriet, og byte-lighed med de selvstændige kørsler for seedningen. Den kontrollerer ensemble-aritmetikken på motorens egen urmodel, ikke et eksternt datasæt
Tests
tests/campaign_composition_reference.rs (a_fixed_seed_ensemble_is_byte_stable_and_each_realisation_is_the_standalone_run; the_ensemble_mean_and_spread_match_the_white_fm_closed_form — 200 seeds of a…
ModelleretFlere scenarier under fælles betingelser, med en samlet oversigtcampaign (run_compose)
Funktion
campaign-typens compose-sektion: navngivne fælles værdier (for eksempel én jammers effekt og position) skrevet ind i hvert medlem ved de nøgler, hvortil det binder dem, hvert medlem køres, og pr. metrik den mindste, største og gennemsnitlige værdi på tværs af medlemmerne med angivelse af medlemmet; metrikenheder skal stemme overens på tværs af medlemmer
Uafhængig reference
Sammensætningsidentitet mod den selvstændige kørsel. Aritmetikken for fælles betingelser er bogføring; fysikken er medlemstypernes, hver med sin egen række
Tests
tests/campaign_composition_reference.rs (a_one_node_sweep_and_a_one_member_composition_read_the_standalone_number — en komposition med ét medlem læser det selvstændige tal og resultatets digest)
ModelleretAfgrænset optimering af én metrik over kampagneparametrecampaign::optimize (run_optimize, nelder_mead)
Funktion
campaign-typens optimize-sektion (CAP-32): én til tre punktopdelte scenarienøgler afgrænset til [lo, hi] på en lin- eller log-skala, én metrik læst ved resultatsti, mål minimize, maximize eller target; metode grid (sweepets akseværdier) eller en deterministisk Nelder-Mead-simpleks i normaliserede koordinater med boksprojektion og standardkoefficienterne; en manglende eller ikke-endelig metrik får den dårligste score og bliver i sporet; med runs > 1 er metrikken middelværdien over fælles seeds; hver evaluering er en rigtig kørsel af den navngivne type, opført i trace og talt med i reproducerbarhedsdigesten
Uafhængig reference
Kun internt: den nøjagtige lukkede form -20 log10(afstand) for linkligningen, et uafhængigt brute-force-gitter over den samme type og Rosenbrock-funktionen. Runde 1s 1D-tærskel er NOT MET (den præregistrerede boks udelukkede løsningen på 3 dB; optimeringen stoppede ved grænsen), registreret i docs/design/evidence/cap32-optimize/RESULTS.md og ikke bedømt igen. Optimum er lokalt for boksen og startpunktet; intet krav om globalt optimum
Tests
tests/campaign_optimize_reference.rs (præregistreret fbe6c8b3 og, efter en protokolfejl i runde 1, 441f31bc: p2_prime_interior_target_range_matches_the_closed_form — 1D-målløsning inden for 6.1e-15 af r* = r0 10^((m(r0)…
ValideretBåndbegrænsede lukkede former for et vilkårligt rangingsignal: effekt i båndet og early-late-kodesporingsjitter mod offentliggjorte værdier, med Gabor-båndbredden og den forskudte spektrale separation krydskontrolleretnavsignal (sine_integral, bpsk_power_in_band_closed_form, bpsk_gabor_bandwidth_closed_form_hz, dll_jitter_bandlimited_s, dll_jitter_small_spacing_limit_s, bpsk_offset_ssc_closed_form, altboc_15_10_psd, parse_modulation)
Funktion
navsignal: sinusintegralet (sine_integral), BPSK-R-andelen af effekten inden for et dobbeltsidet bånd i lukket form (bpsk_power_in_band_closed_form), den båndbegrænsede BPSK Gabor-båndbredde i lukket form (bpsk_gabor_bandwidth_closed_form_hz), den båndbegrænsede kohærente og ikke-kohærente early-late delay-lock-loop-jitter for ethvert spektrum med enhedsareal efter Betz & Kolodziejski 2009 (dll_jitter_bandlimited_s) og dens Gabor-grænse ved forsvindende afstand (dll_jitter_small_spacing_limit_s), den forskudte BPSK spektrale separationskoefficient i lukket form (bpsk_offset_ssc_closed_form), Galileo E5 AltBOC(15.10)-spektret (altboc_15_10_psd) og en parser for modulationsmærker (parse_modulation); bruges af leo-signal-typen for hvert signaldesign
Uafhængig reference
Eksternt fastlåst: 90,3 procent hovedlobeeffekt, den kohærente early-late-jitter ved det angivne driftspunkt, sinusintegralets tabelværdier og BPSK's egen spektrale separationskoefficient 2/(3 R_c) ved nul forskydning. Kun interne krydskontroller, ikke ekstern validering: den båndbegrænsede BPSK Gabor-båndbredde i lukket form og dens asymptote samt den forskudte BPSK spektrale separationskoefficient ved forskydninger forskellige fra nul, begge udledt her og kontrolleret mod kvadratur. Offentliggjorte lukkede former: BPSK-R's sinc-kvadrat-spektrum og dets 90 procent hovedlobeeffekt (Kaplan & Hegarty, Understanding GPS/GNSS, 3. udg.); den kohærente early-late-kodesporingsjitter sigma^2 = B_L d / (2 C/N0) chips^2 (Kaplan & Hegarty, afsnit 8) og den båndbegrænsede generalisering med dens Gabor-båndbreddegrænse (Betz & Kolodziejski, Generalized Theory of Code Tracking with an Early-Late Discriminator, Part I, IEEE Transactions on Aerospace and Electronic Systems 45(4), 2009); sinusintegralets tabeller hos Abramowitz & Stegun (Tabel 5,1); den spektrale separationskoefficient som Fouriertransformationen af den kvadrerede autokorrelation (Betz 2001). AltBOC-spektret kontrolleres kun for enhedsareal og lobeposition (udtrykket i Galileo Open Service Signal-in-Space Interface Control Document integrerer til 8 og divideres med det).
Tests
navsignal::band_limited_tests (sine_integral_matches_tables_and_its_limit — Si(1), Si(pi), Si(2 pi) til 1e-12; bpsk_power_in_band_closed_form_matches_textbook_and_numeric — 0,9028 af effekten i hovedloben for…
ValideretMaksimal Doppler for en navigationssatellit i lav jordbane, som dimensionerer erhvervelsessøgningenleo_signal (max_doppler_hz)
Funktion
leo_signal::max_doppler_hz: den største satellit-Doppler på en passage lige overhead ved elevationsmasken for en cirkulær bane, v R_E cos(el) / (R_E + h) gange f / c, ud fra hver forudindstillings egen bærebølge og banehøjde; leo-signal-typen tilføjer oscillator- og brugerled og omsætter den til Doppler-bins
Uafhængig reference
Offentliggjorte tal: Xona Pulsar X1 maksimal Doppler 32 til 34 kHz (Leclère, Marathe & Reid, ION GNSS+ 2025, https://arxiv.org/abs/2509.19551); Iridium-Doppler op til +/-36 kHz (Resilient Navigation and Timing Foundation, Recent PNT Improvements and Test Results Based on Low Earth Orbit Satellites). Jordens rotation er udeladt, hvilket flytter tallet med op til omkring 2,3 kHz; begge offentliggjorte tal nås uden den.
Tests
leo_signal::tests::max_doppler_matches_published_xona_and_iridium_figures — Xona Pulsar X1 (1593.3225 MHz, 1080 km) 33.2 kHz inside the published 32 to 34 kHz; Iridium (1621 MHz, 780 km) within 0.5 kHz of the published…
ModelleretSignaldesign til positionering, navigation og tidssynkronisering i lav jordbane: kodesporing, erhvervelse, GNSS-kompatibilitet og en båndafvejning for ethvert systemleo_signal (LeoSignalScenario, SignalDesign, Component, Shape, code_jitter_m, gabor_bandwidth_hz, detection_probability, threshold_for_pfa, mean_acquisition_time_s, ssc_leo_into_gnss, ssc_gnss_into_leo, jammer_tolerance, gnss_victim, preset, public_signal)
Funktion
leo-signal-typen: parametriserede signaldesign (bånd, sendebåndbredde, ITU-allokering; erhvervelses-, data- og pilotkomponenter med BPSK(n), BOC(m,n), MBOC eller flade spektre, effektandele, FDMA-underbærebølger, kodelængder og datarater) fra indkompilerede offentlige forudindstillingsfiler (Xona Pulsar, Iridium STL, Starlink-signal af opportunitet, CentiSpace, et generisk C-bånd-design og generiske UHF/L/S/C/bredt-C-design, hver med sin kilde-URL og uoffentliggjorte værdier mærket REPRESENTATIVE) eller skrevet direkte i scenariet; pr. signal den båndbegrænsede effektspektraltæthed, effektandele i båndet, Gabor-båndbredde, kodejitter mod C/N0 og afstand samt rangingnøjagtigheden, erhvervelsessøgerummet, kvadratlov-detektionssandsynligheden og den gennemsnitlige serielle og kodeparallelle erhvervelsestid, den spektrale separationskoefficient ind i og ud af GPS L1 C/A, Galileo E1, GPS L5, Galileo E5a, E5b og AltBOC med C/N0-forringelsen samt CW-, bredbånds- og matchet J/S-tolerance fra spectrum-typens SSC-kæde; en båndafvejning mellem ionosfæreforsinkelse, frirumstab, rangingnøjagtighed ved lige C/N0 og lige EIRP samt jammertolerance; og kvalitative formkontroller af et design mod en beskrevet måling
Uafhængig reference
De validerede lukkede former fra de to rækker ovenfor, kvadratlovens falskalarmsidentitet P_d(snr = 0) = P_fa og Holmes' gennemsnitlige erhvervelsestid samt reduktion til spectrum-typens egen SSC-kæde (den samme Jammer::ssc-kode). Selve designene er input: forudindstillinger mærket REPRESENTATIVE eller WORKSHOP er ikke offentliggjorte specifikationer, udvidede Feher-QPSK-, kodeskifte- og OFDM-spektre er approksimeret, og formkontrollerne sammenligner former, ikke kalibrerede niveauer.
Tests
leo_signal::tests (every_public_preset_parses_and_cites_a_url; detector_reduces_to_pfa_and_grows_with_snr; detection_probability_with_several_looks_matches_the_noncentral_chi_square…
ModelleretFlerbånds-spektrumvandfald (UHF, L, S, C) med designede signaler og jammere pr. båndspectrum (Band::unit_psd, Band::tracked_power_dbw, BandDesign, BandCfg, PanelCfg, SpectrumScenario, Waveform, multi_band_svg); leo_signal (SignalDesign::to_spectrum_band)
Funktion
spectrum-typen udvidet ud over L-båndet: bånd angivet som et forudindstillet signaldesign (tegnet med hver komponent, båndbegrænset til sendebåndbredden, C/N0 og J/S henført til den sporede komponent) eller som en brugerdefineret bærebølge og modulation; ekstra vandfaldspaneler over et vilkårligt frekvensområde på samme tidslinje og farveskala; en bredbåndsjammer (barrage) ved siden af CW, smalbånd, chirp og matchet støj; J/S og effektiv C/N0 pr. bånd fra den uændrede kæde for spektral separationskoefficient
Uafhængig reference
Reduktion til den eksisterende spektrumkæde og jamming-typens anti-jam-ligning (et bånd med én komponent giver de samme tal som før udvidelsen) og signalspektrene i de validerede rækker. Jammerens effekter, tidslinje, front-end-båndbredder og de designede signaler er input, og et designet signal afskæres ved sit sendebånd (ingen emission uden for båndet).
Tests
tests/leo_signal_reference.rs (multibånds-vandfaldet kører med fire paneler, UHF-, L5-bånds-, S- og C-jammerne nægter hver kun deres eget bånd, og en kørsel med almindeligt bånd er uændret af udvidelsen)…
ValideretSpecifikke regndæmpningskoefficienter for ethvert bånd, et LEO-PNT-link brugerleo_link::itu (p838_coefficients, p838_k_alpha, rain_specific_attenuation_db_km)
Funktion
ITU-R (International Telecommunication Union, Radiocommunication Sector) P.838-3 ligning (1) til (5): k_H, alpha_H, k_V, alpha_V fra kurvetilpasningerne i Tabel 1 til 4, de sti- og polarisationsafhængige (k, alpha) og den specifikke dæmpning k R^alpha; bruges af leo-pass-typens regnled
Uafhængig reference
ITU-R P.838-3 (03/2005) Tabel 5, anbefalingens egne tabellerede k_H, alpha_H, k_V, alpha_V, committet i tests/fixtures/leo_link/p838_3_table5.csv med PDF-URL og hentedato. Tabellen er afrundet til sine trykte cifre, så tærsklen er netop den afrunding
Tests
tests/leo_link_reference.rs (p838_coefficients_reproduce_table5_to_its_printed_digits: alle 115 rækker i Table 5, 1 GHz til 1000 GHz, hver koefficient inden for 0,6 af sit sidste trykte ciffer; værste observeret 0,51)
ValideretLangtidsregndæmpning på skrå sti på et Jord-rum-linkleo_link::itu (p618_rain_attenuation_db, RainPath)
Funktion
ITU-R P.618-14 afsnit 2.2.1.1 trin 2 til 10 (skrå og vandret sti under regnhøjden, vandret reduktions- og lodret justeringsfaktor, A0.01 og dens skalering til 0,001 % til 5 % af et gennemsnitligt år), med regnhøjden (P.839) og R0.01 (P.837) som input, fordi motoren ikke har noget digitalt kort; anvendt pr. bånd og epoke af leo-pass-typen
Uafhængig reference
ITU-R Study Group 3-valideringseksempelfilen CG-3M3J-13-ValEx-Rev8.3.0 for P.618-14, som tabelleret af valideringssiderne i ITU-Rpy, med hvert steds P.839-4-regnhøjde fra de samme eksempler; committet i tests/fixtures/leo_link/p618_14_rain_attenuation.csv med URL'erne og hentedatoen. Validerer proceduren givet h_R og R0.01, ikke kortene
Tests
tests/leo_link_reference.rs (p618_rain_attenuation_matches_the_itu_validation_examples: 56 tilfælde på fem steder, 14,25 og 29 GHz, 0,001 % til 1 %, inden for 1e-4 dB; observeret 5e-6 dB)
ValideretTroposfærisk amplitudescintillation på et Jord-rum-linkleo_link::itu (p618_scintillation_db, wet_refractivity, ScintillationPath)
Funktion
ITU-R P.618-14 afsnit 2.4.1 trin 3 til 9 (reference-sigma ud fra N_wet, effektiv stilængde, antennemiddelfaktor, fadingdybde for 0,01 % til 50 % af tiden), med N_wet som input eller beregnet ud fra temperatur, fugtighed og tryk med udtrykkene i ITU-R P.453-14; under 4 GHz markerer leo-pass-typen værdien som en ekstrapolation
Uafhængig reference
ITU-R Study Group 3-valideringseksempler (CG-3M3J-13-ValEx-Rev8.3.0) for P.618-14-scintillation, med hvert steds P.453-14 N_wet fra de samme eksempler; committet i tests/fixtures/leo_link/p618_14_scintillation.csv med URL'erne og hentedatoen. Udtrykket for våd refraktivitet ud fra temperatur og fugtighed er ikke dækket af denne række
Tests
tests/leo_link_reference.rs (p618_scintillation_matches_the_itu_validation_examples: 42 tilfælde på syv steder, 14,25 og 20 GHz, inden for 1e-5 dB; observeret 5e-7 dB)
ValideretBygningsindtrængningstab for en indendørs LEO-PNT-brugerleo_link::itu (p2109_building_entry_loss_db, BuildingClass); detection (normal_inv_cdf)
Funktion
ITU-R P.2109-2 Annex 1 ligning (1) til (10) med Tabel 1: tabet, der ikke overskrides med sandsynlighed P, for traditionelle og termisk effektive bygninger ved elevationen af stien ved facaden, 80 MHz til 100 GHz; anvendt pr. bånd og epoke på en indendørs bruger af leo-pass-typen (UHF-tilfældet indendørs)
Uafhængig reference
Værdierne i ITU-R Study Group 3 Clutter and BEL-valideringsregnearket, som transskriberet i valideringsscriptet i referenceimplementeringen i MATLAB (github.com/eeveetza/p2109), committet i tests/fixtures/leo_link/p2109_bel.csv med URL og hentedato. Regnearket udskriver tre decimaler
Tests
tests/leo_link_reference.rs (p2109_building_entry_loss_matches_the_itu_workbook: 568 værdier, 28 GHz ved 0 deg og 2 GHz ved 45 deg, begge klasser, P fra 1e-7 til 0,998, inden for 0,001 dB)
ValideretFørsteordens ionosfæreforsinkelse pr. bånd, den ionosfærefri kombination og frirumstableo_link::iono (group_delay_m, iono_free_coefficients, iono_free_noise_amplification); leo_link (fspl_db); linkbudget (free_space_loss_db)
Funktion
Gruppeforsinkelse 40,3 STEC/f^2 pr. bånd; de ionosfærefri koefficienter f1^2/(f1^2 - f2^2) og -f2^2/(f1^2 - f2^2) og støjforstærkningen sqrt(a1^2 s1^2 + a2^2 s2^2) for ethvert båndpar; frirumstabet 20 log10(4 pi R f/c) fra linkbudget::free_space_loss_db i dets kilometer-megahertz-form
Uafhængig reference
IS-GPS-200 afsnit 20.3.3.3.3.2, som angiver L1/L2-forholdet mellem gruppeforsinkelser gamma = (77/60)^2, der følger af førsteordens 1/f^2-skalering, og Friis' transmissionsformel (Proc. IRE, 1946). Validerer skaleringslovene, ikke en skrå TEC
Tests
tests/leo_link_reference.rs (first_order_iono_reproduces_the_is_gps_200_group_delay_ratio: gamma = (77/60)^2 to 1e-12, L1/L2 and L1/L5 amplification 2.978 and 2.588…
ValideretMaksimal Doppler, en statisk bruger ser fra en LEO- eller MEO-baneleo_link::geometry (max_static_user_range_rate, DopplerEnvelope, doppler_hz)
Funktion
leo_link::geometry::max_static_user_range_rate: en søgning over hver banepunkt og hver bruger på satellittens horisont i en cirkulær bane, med Jorden roterende, efter den største afstandsrate, plus den orbitale og den største jordfaste satellithastighed; rapporteret pr. bånd som Doppler-omhylningskurven af leo-pass-typen og brugt som koldstartsvindue for søgningen i dens lavenergimodel
Uafhængig reference
Leclere, Marathe and Reid, Insights into Xona Pulsar LEO PNT: Constellation, Signals, and Receiver Design, ION GNSS+ 2025, arXiv 2509,19551, Tabel 1 (statisk modtager på en kugle med 6371 km, Jordens rotation som eneste andet forhold): 37751,7 / 33628,5 / 31813,4 / 4018,4 Hz på L1. Dækker cirkulære todelegemesbaner
Tests
tests/leo_link_reference.rs (doppler_envelope_reproduces_the_pulsar_paper_table_1: Pulsar IOV 520 km 97 deg, Pulsar FOC polar 1080 km 97 deg, Pulsar FOC skrå 1080 km 53 deg og GPS 20180 km 55 deg; banehastighed…
ModelleretEn LEO-PNT-passage og dens linkbudget pr. bånd mod de MEO-GNSS-satellitter, der er i sigteleo_pass (LeoPassScenario); leo_link::geometry (design_pass, link_geometry, numerical_check, SatMotion, UserMotion); leo_link::antenna; leo_link::itu (p676_gaseous_attenuation_db); leo_link (system_noise_temperature_k, cn0_dbhz)
Funktion
leo-pass-typen: satellitter fra en designet passage, elementer, en TLE gennem SGP4 eller en Walker-konstellation fra constellation-design; pr. bånd og epoke sigtevinklerne, afstand, afstandsrate og afstandsacceleration i lukket form (kontrolleret ved hver kørsel mod centrale differenser og rapporteret), frirumstab, EIRP med et isoflux-, gaussisk eller fladt diagram, en patch-, halvkugleformet eller isotrop brugerantenne, gasdæmpning efter ITU-R P.676-10 Annex 2, P.618-regn og -scintillation, P.2109 bygningsindtrængningstab, polarisationsfejltilpasning, systemstøjtemperatur, C/N0, Doppler og Doppler-rate samt førsteordensforsinkelsen fra en Klobuchar- eller lodret-TEC-skrå TEC skaleret med Chapman-andelen under satellitten; ionosfærefri par med kodestøj ved passagens top; Galileo- eller GPS-bærebølger fra deres modtagne effekter i interfacedokumenterne gennem den samme modtager
Uafhængig reference
Lukkede former og selvkonsistens: identiteterne for afstandsrate og afstandsacceleration mod numeriske afledte, at isoflux-forstærkningen ophæver væksten i afstand, lærebogens grænser for polarisationstab, den kvalitative LEO-mod-GNSS-observation (en klokkeformet passage på nogle minutter, der topper flere dB over flade GNSS-bærebølger på 44-51 dB-Hz). EIRP'erne og diagrammerne er offentliggjorte modtagne effekter omsat til en EIRP eller repræsentative valg, gasleddet er den afløste forenklede metode i P.676-10, og intet er sammenlignet med en målt LEO C/N0
Tests
leo_pass::tests (the_leo_pass_is_a_bell_above_flat_gnss; closed_form_doppler_agrees_with_the_numerical_derivative: under 0.01 Hz and 0.01 Hz/s; indoor_uhf_suffers_less_building_loss_than_c_band…
ModelleretNavngivne LEO-PNT-systemforudindstillinger med angivne kilder og en systemuafhængig motorleo_link::presets (SystemPreset, BandPreset, all, by_id, gnss_meo); leo_pass (resolve_bands)
Funktion
leo_link::presets: generisk flerbånd (UHF, L, S, C), generisk C-bånd, Xona Pulsar X1/X5, Iridium STL, Starlink som et signal af opportunitet med kun Doppler, CentiSpace og en valgfri Celeste IOD-forudindstilling, hver med sin kilde mærket PUBLIC (med URL), REPRESENTATIVE eller WORKSHOP, hvor workshop-kilden ligger i den valgfri Celeste IOD-forudindstillingsfil og kun indkompileres, hvis den fil findes; hvert bånd og hver bane kan overstyres i et scenarie, og et scenarie kan undlade at nævne nogen forudindstilling
Uafhængig reference
Transskription af de citerede offentlige tal og en konsistenskontrol: en EIRP fastsat ud fra en offentliggjort minimal modtaget effekt forudsiger den offentliggjorte maksimale inden for 0,5 dB med et fladt diagram. Det er en kontrol af afstandsspredningen, ikke en validering af nogen satellits antenne; repræsentative forudindstillinger gør intet krav om et rigtigt system
Tests
leo_link::presets::tests (every_preset_is_sourced_and_self_consistent; only_the_celeste_preset_is_sourced_from_the_workshop); leo_link::presets::xona_pulsar::tests…
ModelleretLavenergipositionering: tid til første positionsbestemmelse og energi pr. positionsbestemmelse mod driftscyklusleo_link::energy (fix_budget, duty_curve, IotReceiver, IotSignal); leo_pass (iot_section)
Funktion
leo_link::energy og leo-pass-typens [iot]-sektion: kohærent integration begrænset af Doppler-raten, kvadratlovs ikke-kohærente summer op til en detektionstærskel, en Doppler-binsøgning over banens envelope for statiske brugere (kold) eller et støttet vindue (varm), parallel eller seriel kodesøgning, navigationsmeddelelsens tid ved koldstart, energi pr. positionsbestemmelse og batterilevetid over intervaller mellem positionsbestemmelser, for hvert LEO-bånd og GNSS-signalet
Uafhængig reference
Intern konsistens af en angivet designmodel: hvert effekt-, tærskel- og søgevalg er et input, og modellen ser bort fra bitkantsmultiplicitet, mistet detektion og generhvervelse. Ikke sammenlignet med en målt modtager
Tests
leo_link::energy::tests (stronger_signals_and_smaller_doppler_windows_fix_faster; the_doppler_rate_caps_the_coherent_time; battery_life_grows_with_the_fix_interval_toward_the_sleep_floor); leo_pass::tests…
ValideretGlobalt gennemsnitlige vægte for signal-in-space-afstandsfejl for enhver banehøjdeleo_navmsg::sisre (sisre_weights, StatsAcc)
Funktion
leo_navmsg::sisre::sisre_weights: den radiale vægt w_R og den kvadrerede tværgående vægt w_AC^2 som gennemsnit af cos^2 og halvdelen af sin^2 af sigtelinjens nadirvinkel over brugere jævnt fordelt på den synlige jordkalot over en elevationsmaske, for enhver banerradius, ved Simpson-integration; bruges af hvert leo-navmsg-SISRE-tal (ved 510 km, w_R 0,46 og w_AC^2 1/2.5)
Uafhængig reference
Den offentliggjorte SISRE-vægtfaktortabel fra Montenbruck, Steigenberger og Hauschild (2018), Multi-GNSS signal-in-space range error assessment - Methodology and results, Advances in Space Research 61(12):3020-3038, doi 10.1016/j.asr.2018.03.041: GPS 0,98 og 1/49, GLONASS 0,98 og 1/45, Galileo 0,98 og 1/61, BeiDou MEO 0,98 og 1/54, BeiDou IGSO/GEO 0,99 og 1/126. Det samme gennemsnit evalueret ved LEO-radier giver LEO-vægtene; ingen offentliggjort LEO-tabel er fastlåst, så LEO-værdierne er den validerede metode anvendt, ikke særskilt valideret
Tests
leo_navmsg::sisre::tests (weights_reproduce_the_published_meo_and_geo_table — GPS 0,979 og 1/48.9, GLONASS 1/45.0, Galileo 0,984 og 1/61.1, BeiDou MEO 1/54.2, geostationær 0,992 og 1/126.2 ved en 0 deg maske, hver…
ValideretGalileo ICD's brugeralgoritme for udsendte efemerider som grundlag for en LEO-navigationsmeddelelseleo_navmsg::elements (kepler_point, kepler_frame, ephemeris_at, sat_state)
Funktion
leo_navmsg::elements::kepler_point: Galileo OS SIS ICD's kepler-evaluering (Keplers ligning, andenharmoniske korrektioner, jordfast knude) skrevet særskilt fra motorens RINEX-evaluator, der returnerer positionen med breddeargument, inklination og knude, som korrektionssystemet langs/på tværs/radialt bygges på, og Liu et al. 2025-udvidelsesleddene
Uafhængig reference
RTKLIB 2.4.2-p13 eph2pos ECEF-positioner (en uafhængig implementering af den samme ICD-algoritme) for rigtige BKG/IGS-udsendte poster fra 2024-09-10, begge committet med proveniens i tests/fixtures/rinex_sp3_interop (NOTICE, rinex_ecef_reference.txt, brdc_multignss_slice.rnx). Dette validerer den keplerske brugeralgoritme; korrektionerne langs/på tværs/radialt, der er lagt oven på, er dækket af deres egne rækker, og Liu-leddene af rækken for Liu et al. 2025 med 22 parametre
Tests
tests/leo_navmsg_reference.rs (the_galileo_user_algorithm_reproduces_rtklib_to_a_millimetre — fire reelle Galileo-udsendte efemerider E10, E19, E24, E25 ved tk = 0, +/-600, +/-1800, +/-3600 s, hver akse inden for 1 mm af…
ValideretCRC-24Q-rammekontrol for LEO-navigationsmeddelelsenleo_navmsg::codec (crc24q, encode, decode)
Funktion
leo_navmsg::codec::crc24q: generatorpolynomium 0x1864CFB, startværdi 0, ingen refleksion, ingen afsluttende XOR, den kontrol, Kshanas LEO-ramme har over hver foregående byte
Uafhængig reference
CRC-kataloget kontrolværdi for disse parametre (reveng.sourceforge.io CRC-katalog, CRC-24/LTE-A: bredde 24, poly 0x864CFB, init 0, check 0xCDE703), som er CRC-24Q-parametrene i RTCM 10403 og Galileo OS SIS ICD, og eksempelrammen for meddelelsestype 1005, der er trykt i RTCM 10403
Tests
leo_navmsg::codec::tests (crc24q_matches_the_catalogue_check_value — 0xCDE703 for ASCII-strengen 123456789; crc24q_matches_the_rtcm_1005_example_frame — de tre kontrolbytes 0x360B98 i RTCM 10403-meddelelsestypen…
ValideretTilpasning af LEO-udsendte efemerider og signal-in-space-afstandsfejl mod tilpasningsinterval og opdateringsperiodeleo_navmsg::fit (fit_message, lstsq, polyfit); leo_navmsg::truth (TruthOrbit, TruthClock); leo_navmsg (sequence_stats, LeoNavmsgScenario)
Funktion
leo-navmsg-typens tilpasser og afvejning: en referencebane integreret med zonal J2-J6- eller EGM2008-tyngde til den valgte grad og luftmodstand, og et seedet frit eller styret ur; en Levenberg-Marquardt-tilpasning af det keplerske Galileo-sæt på ikke-singulære elementer med svage priorer, derefter langs-, på tværs- og radiale korrektionspolynomier ved lineære mindste kvadrater; urpolynomiet tilpasset netto af brugerens relativistiske led; SISRE (kun bane og med ur) over brugsperioder centreret i deres tilpasningsvinduer, mod tilpasningsinterval og opdateringsperiode. Valideret del: tilpasningen med 16 parametre og dens SISRE kun for banen mod tilpasningsinterval på rigtige præcise baner og den integrerede J2-J6/EGM2008(20, 70)/luftmodstand-referencebane mod Orekit 12,2 inden for 4,6 mm over 6 t (tærskel 2 cm, samme densitetsinput); korrektionspolynomierne, urtilpasningen (seedet frit eller styret ur) og afvejningen af opdateringsperioden forbliver modelleret
Uafhængig reference
Rigtige præcise videnskabelige baner som reference (TU Graz IfG/ITSG operationelle reduceret-dynamiske baner, frie at bruge til ethvert formål med angivelse af kilde; SHA-256-værdier i fixturens NOTICE) tilpasset med sættet på 16 parametre over buer på 20 og 30 min, mod de statistikker, Liu et al. 2025 (Remote Sensing 17(16):2894, CC BY 4,0) offentliggør for de samme satellitter og dage: langs-, på tværs- og radial RMS hver inden for 1.5x (målt 0,804 til 1,087), SISRE inden for 1.5x (målt 0,716 til 0,809) og SISRE-vægte inden for 0,005 af dens Tabel 2 (målt 0,0007); tolerancer fastlagt før sammenligningen. Grænsen pr. komponent giver testen tænder: at nulstille inklinationsraten lader hvert SISRE-forhold ligge inden for 1.5x, men får grænsen for på tværs til at fejle. Det ensartede SISRE-forhold på 0,72 til 0,81 stammer fra artiklen: dens trykte SISRE-værdier bruger Tabel 2s vægte ukvadrerede i stedet for dens egen ligning 9, som Kshana følger (Montenbruck et al. 2018). Den integrerede referencebane (zonal J2-J6, EGM2008 til grad 20 og 70, luftmodstand) stemmer med Orekit 12,2 (CS GROUP, Apache-2.0) og Hipparchus 3,1, propageret fra samme begyndelsestilstand i de samme systemer med samme densitetsinput, inden for 4,55 mm over 6 t (tærskel 0,02 m fastlagt før kørslen, præregistrering 65e4d46c). Uden for kravet: korrektionspolynomierne, urtilpasningen og afvejningen af opdateringsperioden, som beholder interne kontroller (en todelegemes-reference genfundet af sættet på 16 parametre til under 1 mm og en intern numpy-krydskontrol af de eksporterede meddelelser på GRACE-FO med dens CLK1B-ur, som er skrevet og kørt af dette projekt og ikke er en uafhængig reference)
Tests
leo_navmsg::tests::a_two_body_truth_is_recovered_by_the_keplerian_fit_to_a_millimetre; leo_navmsg::tests::the_user_algorithm_reproduces_the_fitted_truth_to_a_millimetre_with_corrections…
ModelleretOpdatering af LEO-navigationsmeddelelsen midt i en passage med en kontinuitetskontrol ved skiftetleo_navmsg (LeoNavmsgScenario::midpass, worst_case_jump, elevation, geodetic_to_ecef)
Funktion
leo-navmsg-analysen midpass-update: den højeste passage over en bruger inden for et søgespænd, meddelelser på en global tidsplan med brugsperioder centreret i deres tilpasningsvinduer, og ved hvert skift 3D-positionssprånget, urspringet, brugerens pseudoafstandssprång, det største spring over en synlig sigtelinje (lukket form over nadirkeglen), afstandsfejlen før og efter samt PASS/FAIL mod en tærskel
Uafhængig reference
Intern konsistens (springidentiteten og keglegrænsen mod brute-force-sampling). Tærsklen er et input; intet offentliggjort LEO-kontinuitetskrav er fastlåst
Tests
leo_navmsg::tests::a_mid_pass_update_is_continuous (hvert skifts afstandssprang er lig ændringen i afstandsfejl, og en rettet 300 s-tilpasning opdateret hver 150 s består en tærskel på 5 cm)…
ModelleretDokumenteret binær kodning af LEO-navigationsmeddelelsen med et kvantiseringsfejlbudgetleo_navmsg::codec (encode, decode, write_payload, read_payload, field_table, quantisation_budget)
Funktion
leo_navmsg::codec: Kshanas egen ramme (præambel, version, model, længde, nyttelast, CRC-24Q) for de fire efemeridemodeller, urpolynomiet, SVID, issue of data, bånd, sundhed, et Klobuchar-sæt, NeQuick-G-koefficienter og UTC-parametre, hvert felt med en angivet bredde og skridt (field_table), kvantisering med afvisning uden for området og et budget for den største positions- og urændring, en halv-skridt-ændring af hvert felt giver over gyldighedsvinduet
Uafhængig reference
Rundturs-identiteter og selve budgettet. Formatet er Kshanas eget, modelleret på de offentliggjorte meddelelseskomponenter og Galileo ICD's feltsæt; det er ikke bitlayoutet for Celeste eller noget andet system (ingen er offentlige), så der findes intet eksternt layout at validere mod
Tests
leo_navmsg::codec::tests (signed_fields_round_trip_through_the_bit_packer; week8_resolves_near_the_reference); leo_navmsg::tests::every_model_round_trips_through_the_binary_frame (every model within 2 mm of the exact…
ModelleretRINEX-4-lignende og CSV-eksport af LEO-navigationsmeddelelserleo_navmsg::text (rinex_export, rinex_import, csv_export, csv_import, calendar, from_calendar)
Funktion
leo_navmsg::text: en RINEX-4-lignende blok (> EPH-posthoved, satellit- og epokelinje med tre urled, D19.12-linjer for udsendt bane) med systembogstavet L og posttyperne KP16, KRAC, LU22 og APOL, i hvert hoved mærket som en Kshana-udvidelse, der ikke er en del af RINEX 4,02, og en CSV-tabel med et standardkolonneskema og forudindstillede skemaer, hver med en importer
Uafhængig reference
Rundture og kalenderaritmetikken. RINEX 4,02 definerer ingen LEO-navigationsposter (IGS RINEX 4,02), så layoutet er en dokumenteret udvidelse med arXiv 2401,17767 citeret som tidligere arbejde; der findes ingen ekstern læser af det at kontrollere mod
Tests
leo_navmsg::text::tests (calendar_round_trips_and_knows_the_gps_origin; d19_is_rinex_shaped); leo_navmsg::tests::rinex_and_csv_round_trips (hver model inden for 0,1 mm efter tekstblokken, CSV'en eksakt)
ValideretLiu et al. 2025 LEO-efemeridemodel med 22 parametre og dens tilpasning på rigtige præcise banerleo_navmsg::elements (kepler_point, Liu22Extra); leo_navmsg::fit (fit_message, fit_kepler, initial_params, formal_sigma); leo_navmsg::truth (TruthOrbit)
Funktion
Liu22-varianten af leo_navmsg::elements::EphemerisModel, evalueret af kepler_point med Liu22Extra: sættet på 16 parametre plus en rate for storakse a_dot, en middelbevægelsesrate n_dot, der indgår som n = sqrt(mu/A0^3) + dn + n_dot tk, transskriberet fra artiklens ligning 1 (tilpasningssammenligningen afhænger ikke af denne skalakonvention, så betydningen af en udsendt nDot-værdi er ikke valideret her), og radiusharmoniske for én og tre pr. omdrejning, Crs1, Crc1, Crs3, Crc3, på det ukorrigerede breddeargument. Dens tilpasning med leo_navmsg::fit::fit_message tager artiklens start og estimator fra afsnit 2,3 (hver korrektion starter ved nul; almindelige mindste kvadrater uden priorer; artiklens grænse på 100 iterationer), men stopper efter Kshanas regel om parameterkonvergens (hvert skridt under 1e-3 af dets formelle sigma) i stedet for artiklens regel om en RMS-ændring under 0,1 mm. Tilpasset over buer på 20 og 30 minutter af en tabelleret præcis bane
Uafhængig reference
Målt: TU Graz IfG/ITSG operationelle reduceret-dynamiske baner (frie at bruge til ethvert formål med angivelse af kilde; SHA-256-værdier i fixturens NOTICE) for GRACE-A, GRACE-C, Sentinel-2A og Sentinel-6A er referencen, tilpasset over buer på 20 og 30 min og sammenlignet med rækkerne med 22 parametre (a_dot, n_dot, Crs3, Crc3, Crs1, Crc1) i Tabel 4, 5, 6 og 8 hos Liu, Su, Xie, Zhou og Qu (2025), Remote Sensing 17(16):2894, doi 10.3390/rs17162894 (CC BY 4,0; tal citeret, ikke medtaget). Tærskler fastlagt før den første sammenligning: langs-, på tværs- og radial RMS hver inden for 1.5x tosidet og SISRE inden for 1.5x, for hver satellit og begge buelængder. Genkørslen i runde 2 var præregistreret (aa559785) før motorændringen og før de tilbageholdte baner blev hentet: tilpasningen efter artiklens ligning 1 og afsnit 2,3 plus to nye tilbageholdte dage pr. satellit mod de samme trykte værdier. Målt: hvert forhold for artiklens dage 0,755 til 1,138 og hvert forhold for tilbageholdte dage 0,683 til 1,186. Oplyst: de langs-forhold på 1,71 (Sentinel-2A) og 1,86 (Sentinel-6A) ved 20 min fra den første kørsel var kendt før genkørslen. De laveste SISRE-forhold for tilbageholdte dage ligger nær den nedre grænse på 0,667, fordi artiklens trykte SISRE bruger Tabel 2s vægte ukvadrerede (se rækken for tilpasningen med 16 parametre). Præregistreringen angav artiklens stopregel forkert (artiklen stopper ved en RMS-ændring under 0,1 mm); den præregistrerede regel om parameterkonvergens blev beholdt. Mutation: at genindføre priorer centreret om nul giver for Sentinel-6A ved 20 min langs 1,08 mod 0,70 cm (1,54), hvilket fejler. Reviewer-sonde: konventionen fra før 0.30 (en faktor 1/2 på n_dot) lader hvert tal være uændret, så sammenligningen begrænser funktionsrummet for modellen med 22 parametre og kvaliteten af dens tilpasning, ikke n_dot-konventionen. Uden for kravet: ATOMIC ECEF-polynomiet og den syntetiske modelsammenligningstabel for fem højder, som har deres egen MODELLED-række
Tests
tests/leo_navmsg_fit_real_orbit_oracle.rs::liu22_model_matches_the_published_sisre (fire artikeldage: langs, på tværs, radialt og SISRE-forhold 0,755 til 1,138 af Liu et al. 2025, inden for 1.5x)…
ModelleretATOMIC-ECEF-polynomiet uden ur og den syntetiske modelsammenligning af LEO for fem højderleo_navmsg::elements (EcefPoly, ephemeris_at); leo_navmsg (liu_comparison, LIU2025_TABLE)
Funktion
EcefPoly-varianten af leo_navmsg::elements::EphemerisModel: et ECEF-polynomium pr. akse uden urled, det relativistiske led ud fra -2 r.v/c^2, bedømt mod et styret ur. Desuden modelsammenligningsanalysen (liu_comparison over LIU2025_TABLE), som tilpasser modellen med 22 parametre ved artiklens fem højder over buer på 20 minutter af en bane integreret af Kshana og udskriver resultatet ved siden af den offentliggjorte SISRE
Uafhængig reference
Fakta om ATOMIC-modellen fra InsideGNSS (polynomium af 6. orden, omkring ét minuts gyldighed, 30 s opdatering, ur styret, 24 cm urfejl). Det er beskrivende fakta uden offentliggjorte tal at sammenligne med. Tabellen for fem højder udskriver Liu et al. 2025 SISRE (8,88, 6,21, 2,87, 2,11 og 0,75 cm ved 320, 475, 786, 966 og 1336 km over en bue på 20 minutter) ved siden af Kshanas tilpasning på dens egen integrerede bane (4,25, 2,87, 2,20, 1,25 og 0,51 cm; forhold 0,46 til 0,77), ikke fastlåst, fordi artiklen tilpassede rigtige præcise baner, og referencerne er forskellige. Modellen med 22 parametre og dens tilpasning er selv valideret mod rigtige baner i rækken Liu et al. 2025 22-parameter LEO ephemeris model and its fit on real precise orbits. 0,30-revision: tabellens tal flyttede sig med tilpasningen efter artiklens konvention (GRACE-A 5,40 -> 4,25 cm, GRACE-C 4,12 -> 2,87, Sentinel-2A 2,95 -> 2,20, HY-2A 2,38 -> 1,25, Sentinel-6A 0,70 -> 0,51)
Tests
leo_navmsg::tests::liu22_beats_the_16_parameter_set_over_a_20_minute_arc; leo_navmsg::tests::the_ecef_polynomial_fits_a_minute_to_millimetres…
ValideretIonosfære- og UTC-tjenester for ét frekvensbånd i en LEO-navigationsmeddelelseleo_navmsg::services (klobuchar_delay_m, effective_ionisation_level, system_to_utc)
Funktion
leo_navmsg::services: den udsendte Klobuchar-forsinkelse ved enhver bærebølge (motorens L1-model skaleret med (f_L1/f)^2), det effektive NeQuick-G-ioniseringsniveau Az = ai0 + ai1 mu + ai2 mu^2 med reglerne for alle nuller og [0, 400] sfu, og systemtid til UTC med ICD'ens tre skudsekundstilfælde
Uafhængig reference
GNSSTk 15.3.1 (ARL:UT, LGPL-3.0, commit 55ea3344, kørt som et separat program gennem en harness; ingen GNSSTk-kode er medtaget): getIonoCorr for KlobucharIonoNavData ved L1, L2 og L5, getEffIonoLevel for NeQuickIonoNavData for Az med reglerne for alle nuller og [0, 400] sfu og getOffset for GPSLNavTimeOffset for UTC-driften, inden for 1e-3 m, 1e-6 sfu og 1e-9 s; og ERFA via pyerfa 2.0.1.5 (BSD-3), som udleder UTC af IERS' skudsekundtabel, for ICD'ens tre skudsekundstilfælde over de rigtige skudsekunder 2015-06-30 og 2016-12-31 herunder aflæsningen 23:59:60, inden for 1e-9 s (GNSSTk implementerer ikke ICD'ens regel om dagslængde i tilfælde (b), så den blev ikke brugt dér, som anført i præregistreringen). Input er de rigtige IGS BRDC-headerkoefficienter. Præregistreret (6a66994b; tillæg 88807a7e committede en delmængde på 21 602 rækker af skudsekundgitteret, før nogen Kshana-værdi blev sammenlignet). NeQuick-elektrontæthedsintegrationen er ikke implementeret, og der foretages ingen korrektion for en LEO-satellit, der flyver inde i ionosfæren
Tests
leo_navmsg::services::tests (klobuchar_scales_with_inverse_frequency_squared — the L1 value is RTKLIB's 6.1278 m; nequick_az_rules; utc_without_an_event_is_tow_minus_leap_seconds_folded_to_a_day…
ValideretDoppler, som en modtager på jorden skal kunne håndtere fra en LEO-navigationssatellitleo_fusion::geom (EarthOrbit); leo_fusion::doppler (range_rate, doppler_envelope)
Funktion
Nøjagtig afstandsrate for en satellit, hvis jordfaste position og hastighed kommer fra en todelegemesbane med den sekulære J2-drift og Jordens rotation (leo_fusion::geom::EarthOrbit::state, hastigheden den nøjagtige tidsafledte af positionen), omsat til Doppler ved en bærebølge; den største absolutte Doppler, Doppler-rate og jerk over en elevationsmaske over et vindue (leo_fusion::doppler::doppler_envelope), rapporteret pr. LEO-system af leo-pvt-typen i doppler-tilstand
Uafhængig reference
Offentliggjorte tal gengivet ud fra den angivne bane og bærebølge: Iridium-Doppler op til plus eller minus 36 kHz (Resilient Navigation and Timing Foundation, Recent PNT improvements and test results based on LEO satellites) og Xona Pulsar X1 maksimal Doppler 32 til 34 kHz (Leclère, Marathe og Reid, ION GNSS+ 2025, arXiv:2509,19551). Iridium-tallet er en afrundet øvre grænse, derfor tærsklen på 5 %. Doppler-raten og jerk rapporteres, men er ikke valideret: den modellerede jerk for Pulsar X1 ved en passage lige overhead er omkring 1,0 Hz/s^2 mod den offentliggjorte 1,26
Tests
tests/leo_doppler_reference.rs (iridium_doppler_reaches_the_published_36_khz: én satellit ved 780 km og 86,4 deg fløjet i et døgn ved 1621 MHz over fire breddegrader, maksimum inden for 5% af 36 kHz…
ModelleretPositionsbestemmelse ud fra LEO-Doppler, med én eller flere satellitter og tilstande for urdrift og hastighedleo_fusion::doppler (solve, formal_covariance, single_pass_geometry, offset_site, closest_approach); leo_fusion::pvt_kind (run_doppler)
Funktion
Batch Gauss-Newton-positionsbestemmelse ud fra afstandsrate med analytiske partielle afledte (d rho_dot / d r = -(I - u u^T)(v_s - v_u)/rho, d/dv = -u, d/d drift = 1), en konstant brugerhastighed som valgmulighed, en højdepseudomåling for en bruger på overfladen, dæmpede skridt; den formelle kovarians ved referencen; projektioner langs, på tværs og lodret; nøjagtigheden for én passage mod brugerens afstand på tværs; tidspunktet for nærmeste passage. leo-pvt-typens doppler-tilstand tilføjer fejlen mod vinduets længde og en tilstand med kun Doppler for signaler af opportunitet (forudindstillingen starlink-sop)
Uafhængig reference
Intern konsistens: genfinding uden støj, den kinematiske identitet rho_ddot = (|v|^2 - rho_dot^2 + d.a)/rho differentieret numerisk, nul Doppler ved nærmeste passage, spejlløsningen for én passage og seedede fejl mod den formelle kovarians. Starlink-tallet fra Kozhaya, Saroufim og Kassas (NAVIGATION 72(1), 2025: omkring 2 m på 20 s med tre satellitter) er kun en sammenligning: den modellerede modtager, med en perfekt efemeride og alle fejl samlet i en Doppler-sigma på 30 Hz, er flere gange mindre nøjagtig over det samme vindue, og artiklens modtager og målerate er ikke gengivet
Tests
leo_fusion::doppler::tests (range_acceleration_obeys_the_kinematic_identity_and_vanishes_doppler_at_closest_approach; noise_free_multi_satellite_doppler_recovers_the_user: til 1 mm og driften til 1e-6 m/s…
ModelleretFælles positionsbestemmelse med pseudoafstande fra GNSS og LEO med intersystembiaser og fejlmodeller pr. signalleo_fusion::joint_pvt (solve, dop, code_sigma_dll_m, SystemClock); leo_fusion::system (SystemCfg, System); leo_fusion::pvt_kind (run_joint)
Funktion
Vægtede Gauss-Newton-positionsbestemmelser med mindste kvadrater over en vilkårlig blanding af systemer, ét modtagerur pr. system (intersystembiasen estimeret sammen med positionen) eller en kendt udsendt forskydning på referencetidsskalaen; sigmaer pr. måling leveret af kalderen, som standard motorens termiske delay-lock-loop-støj (navsignal::dll_code_jitter_chips) ved C/N0 for elevationen kombineret med signal-in-space-afstandsfejlen; uvægtet DOP (GDOP, PDOP, HDOP, VDOP, TDOP) i det lokale geodætiske system, formelle øst-nord-op-sigmaer og biassigmaerne; den fælles leo-pvt-tilstand sammenligner positionsbestemmelser med kun GNSS, kun LEO og fusionerede og sweeper DOP mod antallet af tilføjede LEO-satellitter
Uafhængig reference
Et håndudledt DOP for fire satellitter (én satellit i zenit og tre på horisonten med 120 graders mellemrum, hvis normalmatrix inverteres i hånden), den strukturelle identitet, at et system med eget ur og én satellit ikke tilfører nogen geometri, genfinding uden støj af position, ur og bias og seedede fejl mod kovariansen. Kun interne kontroller; ikke sammenlignet med en modtagers output. 0,30 ekstern sammenligning, et fund (forbliver MODELLED): på en multi-GNSS IGS-dag (ABMF 2018-05-13, GPS og Galileo C1C, udsendte efemerider, Klobuchar) stemmer intersystembiasen med RTKLIB v2.4.2-p13 rnx2rtkp (medianforskel -0,11 ns efter rettelsen af den udsendte gruppeforsinkelse i 0,30, -0,35 ns før; tærskel 1 ns), men kun 93,6 % af 280 epoker (93,2 % før rettelsen) ligger inden for 3 m af ITRF2020-koordinaten mod de præregistrerede 95 %. RTKLIB selv når 88,2 % på de samme data, så tærsklen ligger ud over det, enkeltfrekvent udsendt positionsbestemmelse kan på denne station og dag, snarere end en uoverensstemmelse i løseren; sammenligningstesten er committet som ignoreret. 0,30 runde 2, strengere input ved den uændrede tærskel på 3 m / 95 % / 1 ns, et fund (forbliver MODELLED): med det ionosfærefri par Galileo E1/E5a (præregistreret 6927e039) ligger 79,9 % af epokerne inden for 3 m (RTKLIB 67,9 %); med præcise CODE MGEX-baner, ure, satellitantenneforskydninger og kodebiaser (præregistreret 7d8c3597) 94,2 % (RTKLIB 94,1 %), og intersystembiasen afviger fra RTKLIB med -1,03 ns, fordi RTKLIB i enkelttilstand ignorerer satellitantenneforskydninger (+0,04 ns når begge udelader dem)
Tests
leo_fusion::joint_pvt::tests (dop_matches_the_hand_derived_zenith_plus_three_horizon_case: HDOP = VDOP = sqrt(4/3), TDOP = sqrt(1/3), PDOP = sqrt(8/3), GDOP = sqrt(3) to 1e-9…
ModelleretKonvergens for præcis punktpositionsbestemmelse (PPP) med kun GNSS og med LEO-forstærkningleo_fusion::ppp (run, PppScenario, LI_2019)
Funktion
Et float-PPP-udvidet Kalman-filter på ionosfærefri kode og fase: statiske koordinater, et hvidt modtagerur, én intersystembias pr. ekstra system, en randomwalk-zenitvåd forsinkelse afbildet med 1/sin(elevation), en float-multiplicitet pr. satellitbue tilføjet ved opgang og droppet ved nedgang, og den præcise bane- og urfejl, der er fælles for en satellits kode og fase, behandlet som én korreleret opdatering med to rækker i en Joseph-stabiliseret form; målinger simuleret ud fra den samme model; konvergenstid (fejl under tærsklerne indtil kørslens slutning), fejlkurver og den kørselsgennemsnitlige positions-NEES for kun GNSS og hvert LEO-tilfælde, kørt som leo-ppp-typen
Uafhængig reference
NEES-chi-kvadrat-testen er en intern konsistenskontrol (referencen og filteret deler modellen). Tendensen sammenlignes med Li et al., LEO constellation-augmented multi-GNSS for rapid PPP convergence, J. Geod. 93:749-764 (2019), doi 10.1007/s00190-018-1195-2: multi-GNSS 9,6 min forkortet til 7,0, 3,2, 2,1 og 1,3 min med 60, 96, 192 og 288 LEO-satellitter. Det medfølgende scenarie giver 7,4, 4,8, 3,2, 2,7 og 2,3 min med sine egne repræsentative skaller på 1000 km og 60 grader, støj og stationer; artiklens konstellationer, støj og konvergensdefinition er ikke gengivet, så dette er en MODELLED konsistens i tendensen (monoton forkortelse, den største konstellation under en tredjedel af tiden for kun GNSS), ikke en validering
Tests
leo_fusion::ppp::tests (the_filter_is_consistent_over_monte_carlo_seeds: 24 seeds, kørselsmiddel-NEES-middelværdi i [2,4, 3,6] og mindst 75% af epokerne inden for det tosidede 95%-chi-i-anden-bånd; målt med 150 seeds, middel…
ValideretPositioneringsnøjagtighed i 5G non-terrestrial networks ud fra signalbåndbreddeleo_fusion::ntn (gabor_bandwidth_flat_hz, gabor_bandwidth_bpsk_hz, gabor_bandwidth_numeric_hz, rms_duration_numeric_s, toa_crb_sigma_m, doppler_crb_sigma_hz, frequency_crb_sigma_hz, NtnScenario::geometry, NtnScenario); leo_fusion::joint_pvt (formal_sigma_enu)
Funktion
Cramér-Rao-grænsen for ankomsttid ud fra den kvadratiske middelværdi (Gabor-)båndbredde, c/(2 pi beta sqrt(2 (C/N0) T)), for et fladt OFDM-spektrum (beta = B/sqrt(12)), et båndbegrænset BPSK-spektrum (tæller i lukket form) eller ethvert spektrum ved kvadratur, og for frekvensen af en kompleks tone, sqrt(3/(2 pi^2 (C/N0) T^3)); positionsbestemmelser med ankomsttid på downlink med et ukendt modtagerur og en positionsbestemmelse med Doppler fra én satellit over en passage i 3GPP n256 MSS S-båndet, kørt som ntn-positioning-typen
Uafhængig reference
Offentliggjorte regneeksempler (P1): Bachl, Lei og Nabeel, arXiv:2608,10270 (2026), grænser for enkelt-SSB i NR NTN gengivet fra 3GPP TS 38,211 SSB-kortet gennem Kshanas egne numeriske funktioner (W_rms 1,9616 mod 1,96 MHz, sigma_t 38,755 mod 39 us, sigma_f 100.79/87.28 mod 101/87 Hz, sigma_rho 0.5970/0.5831 mod 0.60/0.58 m, hver inden for en halv enhed af det trykte sidste ciffer); Betz 2001 Tabel 1 BPSK-R RMS-båndbredder (1.128/3.477 mod 1.1/3.5 MHz, supplerende); kovarianserne for positionsbestemmelserne med ankomsttid og Doppler stemmer med numpy 2.4.6 numpy.linalg.inv på den eksporterede geometri (P2; 5e-15 og 1.2e-5 relativt, tærskler 1e-5 og 1e-3). Præregistreret (9f2875db; del C 0d66dccd). Motorrettelsen joint_pvt::formal_sigma_enu (grænsen evalueret ved den sande position, ikke den støjfyldte positionsbestemmelse) blev skrevet, efter at den første kørsel ved 200 kHz fejlede ved 6.5e-5, og den blev kørt igen ved den uændrede tolerance. Formerne for fladt spektrum og kompleks tone, som scenariet kører (gabor_bandwidth_flat_hz, doppler_crb_sigma_hz), når P1-kontrollen gennem identitetsenhedstests i selve cratet. Grænser på en kanal uden flervejsudbredelse, ikke opnået nøjagtighed. 0,30-revision: ntn-5g-positioning toa_median_sigma_3d_m 2,0903959 -> 2,0903962 m (NR 5 MHz) og 25,938613 -> 25,938839 m (NB 200 kHz)
Tests
leo_fusion::ntn::tests (the_numerical_rms_bandwidth_matches_the_closed_forms; the_range_bound_scales_as_one_over_bandwidth_and_root_cn0: 0.4157 m by hand at 5 MHz, 45 dB-Hz, 0.1 s…
ModelleretLEO-understøttet tidsoverførsel til UTC mod C/N0 og modtagerens oscillatorleo_fusion::timing (simulate, utc_offset_s, system_to_utc_s); leo_fusion::pvt_kind (run_timing)
Funktion
Urmålinger fra hver LEO-satellit i sigte ved en kendt position, kombineret ved invers varians ud fra pseudoafstandsstøjmodellen, filtreret af et Kalman-filter med to tilstande (fase, frekvens), hvis processtøj er oscillatorklassens hvide og randomwalk-frekvensstøj (slot_timing::ClockNoise, clock_state::ClockClass; udrulningsvariansen fra holdover::coast_phase_variance), et seedet referenceur ud fra de samme niveauer og IS-GPS-200-udtrykket i afsnit 20.3.3.5.2.4 for systemtid til UTC med en usikkerhed i den udsendte forskydning lagt til som en bias pr. kørsel; leo-pvt-tilstanden timing sweeper oscillatorer og C/N0-forskydninger
Uafhængig reference
Intern konsistens: det offentliggjorte udtryk for forskydningen evalueret i hånden, den normaliserede fejl over 40 seeds og gulvet fastsat af usikkerheden i forskydningen. NIST-tallet for Iridium-tidsmodtagere med et miniature-atomur (under 40 ns fra UTC(NIST) over 40 dage) er kun en sammenligning; det medfølgende Iridium-scenarie giver 10 til 11 ns RMS ved nominel effekt med sin repræsentative afstandsfejl på 5 m. Flicker-frekvensstøj og ionosfæreforsinkelse simuleres ikke
Tests
leo_fusion::timing::tests (the_utc_offset_follows_the_is_gps_200_expression; continuous_tracking_approaches_the_measurement_floor_and_gaps_cost_time; the_filter_is_consistent_over_seeds…
ValideretLEO-dækning og dilution of precision for brugere ved polerne og i Arktis mod MEO-GNSSleo_fusion::polar (latitude_sweep, latitude_sweep_at, element_sets, satellite_states_at); leo_fusion::joint_pvt (dop); sgp4 (MeanElementSet::from_earth_fixed, SgpOrbit, teme_to_itrs_matrix)
Funktion
Satellitter i sigte og median-PDOP, -HDOP og -VDOP med tilgængelighed mod breddegrad, over samplede længdegrader og epoker, for MEO-GNSS-systemerne alene, LEO-systemerne alene og dem alle, hvert system med sin egen maske og urmodel, kørt som leo-pvt-tilstanden polar; banerne er SGP4/SDP4-elementsæt ved sweep-epoken (2026-01-01T00:00:00 UTC i tilstanden polar) ført til det jordfaste system på den validerede Jordbane-sti (IAU 2006/2000A, UT1 = UTC, ingen polbevægelse)
Uafhængig reference
Orekit 13.1.8 (Apache-2.0) med Hipparchus 4.0.3: motorens GCRS-tilstande roteret til ITRF af Orekit (IERS 2010), WGS-84 TopocentricFrame-synlighed mod hvert systems maske, org.orekit.gnss.DOPComputer for ét ukendt ur og NumPy 2.4.6 numpy.linalg.inv (P2) for flere; med stien kontrolleret mod python-sgp4 og ERFA (rækken 'One Earth-orbit path'). Tærskler fastlagt før kørslen (præregistreret 72ea9eb0; T2 og T3 er tærsklerne i runde 2 i 0,30). Trinnet TEME -> GCRS frosset ved J2000 gør testen rød (4739 fejl). Kun geometri; ingen scintillation, terræn eller signaleffekt. GNSS-VDOP stiger mod polen (1,20 ved ækvator til 1,51 ved 89,9 grader for GPS og Galileo i det medfølgende scenarie), mens en næsten polar LEO-skal konvergerer dér. Historik: runde 2 (3254d456) stemte på tabellerede todelegemestilstande; D8-runde 1's fulde krav mod Orekits egen TLE-propagering (e947e69d) var et fund, Orekits SDP4 ved e = 0 og dets IERS 1996 TEME, fastlåst
Tests
tests/leo_polar_coverage_on_path_orekit_oracle.rs (konfigurationer A og B, 4040 stikprøver: jordfaste positioner inden for 6.8e-5 m, tærskel 0,2 m; antal i sigte identiske på 4040/4040; median-DOP inden for 2.3e-11 relativt, tærskel…
ModelleretNavngivne LEO-PNT-systemer som valgfri datapreset, hver med sin kildeleo_fusion::presets (all, by_id, cn0_range_dbhz, noise_density_dbw_hz); leo_fusion::system (SystemCfg::build)
Funktion
Systemuafhængige input: hvert system er Walker-skaller, eksplicitte elementer eller en GNSS-forudindstilling, et signal (bærebølge, chiprate, båndbredde, modtaget effekt eller C/N0-område), en SISRE, en Doppler-sigma og en urmodel; forudindstillinger udfylder kun det, et scenarie udelader, én fil hver med kilder mærket PUBLIC (med en URL), WORKSHOP eller AFLEDT og de uoffentliggjorte værdier opført som repræsentative: Xona Pulsar X1/X5, Iridium STL, Starlink-signaler af opportunitet, CentiSpace, et repræsentativt C-bånd-system, ATOMIC-efemeridemodellen uden ur og én forudindstilling afledt af en workshop i den valgfri Celeste IOD-forudindstillingsfil, som holdes tilbage ved at slette den fil og dens scenarier
Uafhængig reference
Transskription af de citerede offentlige værdier, kontrolleret for struktur (hver offentlig kilde har en URL, Walker-mønstre går op, C/N0 fra modtaget effekt over kT ved 290 K), ikke mod en ekstern uafhængig reference. Repræsentative værdier er navngivet i hver forudindstilling og er illustrative
Tests
leo_fusion::presets::tests (every_preset_has_a_source_and_every_public_source_a_url; only_one_preset_uses_workshop_material; noise_density_at_290_k_is_minus_204_dbw_per_hz); tests/workshop_preset_isolation.rs…
ModelleretÉt LEO-PNT-system fra ende til anden: signaldesign, linkbudget for en passage, navigationsmeddelelse og fusioneret positionsbestemmelse, hvert trins output givet videre til det næsteleo_pnt_chain (LeoPntChainScenario); leo_pass (BandCfg::signal, design_tracking); leo_navmsg (LeoNavmsgScenario::broadcast_sisre); leo_fusion::pvt_kind; leo_fusion::ppp
Funktion
leo-pnt-chain-typen: et leo-signal-design (offentlig forudindstilling eller direkte) fastsætter centrum, båndbredde, chiprate og EIRP-fordeling for et leo-pass-bånd; passagen giver C/N0 for den sporede komponent og den båndbegrænsede kodejitter pr. epoke; en C/N0-linje efter mindste kvadrater i sin(elevation), leo-navmsg-meddelelsens SISRE (tilpasset ved passagesatellittens bane plus et angivet banebestemmelsesled i kvadratisk sum) og designets bærebølge og chiprate går til hvert LEO-system i en leo-pvt-fælles positionsbestemmelse og eventuelt til LEO-tilfældene i leo-ppp; hver overdragelse rapporteres med sin værdi og enhed
Uafhængig reference
Selvkonsistens af overdragelserne: hver videregivet værdi er lig med det foregående trins eget output, og en mutation af et opstrøms input flytter hvert nedstrøms tal, der afhænger af det. Trinnene beholder deres egne mærker; kæden tilføjer ingen fysik og ingen ekstern uafhængig reference
Tests
leo_pnt_chain::tests (a_sine_line_fit_recovers_its_line); tests/leo_pnt_chain.rs (every_upstream_change_moves_the_downstream_figures: en stærkere EIRP, et længere tilpasningsinterval og et større banebestemmelsesled flytter hver…
ModelleretDetektion af spoofing ud fra LEO-Doppler og konsistens i passagegeometrienleo_link::spoof (range_rate_position_gradient, line_of_sight, fll_frequency_jitter_hz, doppler_consistency_window, doppler_consistency); leo_pass (SpooferCfg, spoof_section)
Funktion
leo-pass-typens [spoofer]-sektion: en spoofer forfalsker, selvkonsistent i afstand og afstandsrate, de signaler, der ses ved en påstået position, som springer og/eller skubbes væk fra den sande efter et indsættelsestidspunkt (pr. LEO-bånd og for MEO-GNSS-signalet); modtageren forudsiger hver afstandsrate ud fra den udsendte bane og en uafhængig forhåndsposition og -hastighed og tester de målte afstandsrater med en generaliseret chi-kvadrat-statistik efter mindste kvadrater over et vindue af epoker (urdrift en generende parameter eller med en prior), på GNSS-kanalerne, LEO-kanalerne og alle kanaler, med termisk støj i frekvenslåsesløjfen ud fra C/N0 (Kaplan & Hegarty 2006, afsnit 5.6.2); detektionssandsynlighed fra den ikke-centrale chi-kvadrat-lov ved en angivet falskalarmsandsynlighed, detektion erklæret ved en angivet sandsynlighed for mistet detektion
Uafhængig reference
Lukkede former og identiteter, ikke en ekstern måling: gradienten af afstandsraten mod en central differens, statistikken i informationsform mod den tætte kovariansform, en ren urdrift giver nul, en skub forklaret af priorn giver højst |dx|^2/sigma_p^2, statistikken kvadratisk i et spring. Intet detektionstal er sammenlignet med et målt angreb; spoofer er idealiseret (ingen signatur i effekt, ankomstvinkel eller korrelationstop)
Tests
leo_link::spoof::tests (the_gradient_is_the_derivative_of_the_range_rate; fll_jitter_matches_the_formula_by_hand; a_common_mode_residual_is_a_clock_drift_and_is_not_detected…
ModelleretDetektion af spoofing ud fra konsistens mellem bånd i et LEO-signal med flere båndleo_link::spoof (cross_band_step); leo_pass (spoof_section: pairs, cross_band)
Funktion
For hver LEO-satellit og hvert par af rangingbånd danner [spoofer]-sektionen den geometrifri pseudoafstandskombination, fjerner modtagerens ionosfæremodel og tester dens skridt fra epoke til epoke mod de to båndes kodestøj og en angivet tolereret umodelleret ionosfæreændringsrate (tosidet gaussisk, nøjagtig detektionssandsynlighed); en spoofer, der forfalsker nogle bånd og ikke andre, eller alle bånd uden ionosfæren, ses ved sit indsættelsestidspunkt; en, der forfalsker alle bånd og simulerer ionosfæren, ses ikke, hvilket resultatet angiver
Uafhængig reference
Identiteter: indsættelsesskridtet for en ionosfærefri spoofer er lig med parrets modellerede forskel i ionosfæreforsinkelse, tærsklen er den tosidede normalkvantil gange skridtets standardafvigelse plus ændringsrategrænsen. Modtagerens ionosfæremodel er motorens, så det ægte residual er nul i middel pr. konstruktion; ingen ekstern uafhængig reference
Tests
leo_link::spoof::tests (the_cross_band_threshold_and_power); tests/leo_resilience_verticals.rs (a_ground_spoofer_leaves_the_ionospheric_step_and_an_ionosphere_aware_one_does_not…
ModelleretIonosfæresondering: skrå TEC ud fra den tobåndede forsinkelse over en LEO-passageleo_pass (IonoFreePair::geometry_free_stec_tecu, geometry_free_stec_sigma_tecu); leo_link::iono::geometry_free_stec_tecu
Funktion
For hvert båndpar for en leo-pass-satellit angiver rapporten det skrå totale elektronindhold, som den geometrifri kodekombination genfinder ved passagens top, (P2 - P1) f1^2 f2^2 / (40,3 (f1^2 - f2^2)), og dets 1-sigma ud fra de to båndes termiske kodestøj, så ethvert LEO-PNT-design med flere bånd kan afvejes som en ionosfæresonde
Uafhængig reference
Førsteordens dispersionsidentiteten, nøjagtig pr. konstruktion mod motorens egen førsteordensforsinkelse (hvis 1/f^2-skalering er VALIDATED mod IS-GPS-200 i sin egen række); præcisionen er kun termisk kodestøj, uden flervejsudbredelse eller biaser mellem frekvenser. 0,30 runde 2, målt (præregistreret 5e795f93), et fund (forbliver MODELLED): CODE's globale ionosfærekort CODG1330.18I mod ABMF C1C/C2W-kode med CODE-biaserne giver 33 af 36 buemiddelværdier inden for 3 TECU (værst +6,84 TECU på en aftenbue; RMS pr. epoke 3,95 TECU), mod en tærskel på hver bue; ikke valideret
Tests
tests/leo_resilience_verticals.rs (the_geometry_free_tec_is_the_pass_slant_tec: er lig overflyvningens skrå TEC ved toppen til 1e-9, og dens sigma er lig RSS-kodestøjen over 40,3 (1/f1^2 - 1/f2^2))…
ValideretDatumkovarians for måneramme med stationerne estimeret, mod udvidet præcision på 50 cifrelunar_frame_campaign, fim
Funktion
Datumkovariansen med syv Helmert-parametre for scenariet lunar-frame-campaign med Jordstationerne estimeret (station 1 forankret), som lunar_frame_campaign beregner den i binary64: den fælles Fisher-information for station og beacon opbygget fra forsinkelsens Jacobi-matrix, stationsblokken marginaliseret ved et Schur-komplement gennem en spektral Jacobi-invers, H = AᵀSA dannet med Helmert-designet og inverteret spektralt. Problemet er dårligt konditioneret pr. konstruktion (Helmert-konditionstal 2.1e8 til 2.3e8, konditionstal for den fælles information 1.6e12 til 3.0e13): en relativ ændring på 1e-9 i Schur-korrektionen flytter datumsigmaerne med op til 28 %. Rapporteret: de syv datumsigmaer, Helmert-konditionstallet og den svageste retning. KRAV, SNÆVRET IND: motorens datumsigmaer og konditionstal ligger inden for den apriori værst tænkelige fejlgrænse for en baglæns stabil pipeline i dobbelt præcision på dette problem; dette hævder ikke, at de er så nøjagtige, som dobbelt præcision tillader (en faktoriseringsrute er omkring tusind gange mere nøjagtig på de samme input, og den valgfrie kvadratrodsløser omkring ti millioner gange), og den svageste retning er kun valideret, hvor dens tærskel ligger under en ret vinkel (kontrollen med faste stationer)
Uafhængig reference
mpmath 1.3.0 (BSD-3-Clause) ved 50 betydende cifre, selvkontrolleret ved 80 (overensstemmelse 1.1e-38 eller bedre), på motorens committede Jacobi-matrix, vægte og Helmert-design: mpmaths egen LU-løsning for Schur-komplementet, dens invers for H og dens Jacobi-egenværdinedbrydning (P2, et uafhængigt numerisk bibliotek). Præregistreret 804662d5, før fixturen fandtes, med tærskler fra en førsteordens formel for baglæns fejl: konstanten (3n+1)n + m gange enhedsafrundingen (Higham, Accuracy and Stability of Numerical Algorithms, Theorem 10,4, Tier B-formen), gange hver størrelses nøjagtige førsteordensfølsomhed over for den fælles information, Schur-komplementet og H. Målt: datumsigmaer inden for 4.8e-6 den 2026-03-18 (tærskler 9.6e-2 til 2.2e-1), 9.7e-6 den 2024-01-01 (tærskler 2.8e-2 til 6.9e-2) og 2.0e-14 med stationerne fast (tærskler 1.0e-11 til 2.8e-7); konditionstal inden for 4.6e-6, 1.3e-5 og 4.1e-14. På scenarierne med estimerede stationer er tærsklerne værst tænkelige og fire størrelsesordener over den målte fejl, og tærsklen for den svageste retning overstiger dér en ret vinkel, så den ene kontrol tælles ikke med; på kontrollen med faste stationer stemmer den svageste retning til 6.6e-16 rad mod en tærskel på 9.4e-11, målt ved korden mellem enhedsvektorer (en tidligere acos-komparator kunne ikke opløse vinkler under 1.5e-8 rad; tærsklen er uændret). Diagnostik: NumPy 2.3.5 Cholesky- og QR-ruter når 9e-9 og 5e-9 på inputtene fra 2024-01-01, dets inverse og egenværdiruter 2.9e-6 og 6.2e-6: motoren ligger inden for sin grænse, men er omkring tusind gange mindre nøjagtig end en faktoriseringsrute. Validerer den lineære algebra på de committede input, ikke Jacobi-matricen (det gør SPICE-leddet i kampagnerækken) og ikke den fysiske nøjagtighed af den illustrative kampagne
Tests
tests/lunar_frame_campaign_mpmath_oracle.rs (lunar_frame_campaign_datum_matches_mpmath_extended_precision: tre scenarier — stationer estimeret på en ny kampagnedato 2026-03-18 (bindende), stationer fastholdt på den dato…
ValideretDatumløser med kvadratrodsinformation mod udvidet præcision på 50 cifrelinalg_sr, lunar_frame_campaign
Funktion
En valgfri løser med kvadratrodsinformation (lunar-frame-campaign solver = "srif"; standard uændret), der aldrig danner eller inverterer en informationsmatrix for datum: Householder-QR (ortogonal-triangulær nedbrydning) af den whitenede forsinkelses-Jacobi-matrix som en måleopdatering i et kvadratrodsinformationsfilter, Jordstationerne marginaliseret gennem den bageste triangulære blok (hvis Gram-produkt er Schur-komplementet), en anden QR af R_bb A for Helmert-datum med syv parametre, sigmaer som rækkenormerne af den triangulære invers og spektret (konditionstal, svageste retning) fra en ensidet Jacobi-singulærværdinedbrydning. Skalarprodukter kompenseres med et fejlfrit Dekker-split-produkt, så hver operation er en korrekt afrundet grundoperation i IEEE-754 eller en kvadratrod; identiske resultater på alle platforme er argumenteret ud fra dette, ikke testet på tværs af platforme
Uafhængig reference
mpmath 1.3.0 (BSD-3-Clause) ved 50 betydende cifre, selvkontrolleret ved 80 (overensstemmelse 1.4e-43 eller bedre), på motorens committede Jacobi-matrix, vægte og Helmert-design (P2, et uafhængigt numerisk bibliotek: mpmaths egen LU-løsning, invers, Cholesky og Jacobi-egenværdinedbrydning). Præregistreret b41908c9, før løseren blev skrevet, med tærskler fra en førsteordens grænse for baglæns fejl i kvadratrodsform: konstanten mn plus (3n+1)n gange enhedsafrundingen (Higham, Accuracy and Stability of Numerical Algorithms, Theorem 19,4 og kapitel 8) gange nøjagtige følsomheder. Målt: datumsigmaer inden for 3.0e-13 den 2026-06-09 (tærskler 4.1e-7 til 5.3e-7), 1.9e-15 med stationerne fast (tærskler ned til 4.8e-12), 3.8e-13 den 2026-03-18 og 2.3e-13 den 2024-01-01, hvor standardløseren med spektralmetoden afviger med 4.8e-6 og 9.7e-6; konditionstal inden for 4.9e-13; svageste retning inden for 1.4e-13 rad (kontrol 1.7e-16 mod 5.1e-10). KONTROLLENS GRÆNSE: tærsklerne dækker kun datumfejl under omkring 2e-7 relativt; de målte tal på 1e-13 er observationer, ikke det, tærsklerne dækker. Kontrollen forkaster standardløseren med spektralmetoden (sigmaer 9.7e-6 mod 2.9e-7 den 2024-01-01; på den bindende dato 1.3e-6 mod 4.9e-7, en margin på 1,3 til 2,6) og en forkert taget triangulær invers (kolonnenormer: rød), men et vendt Householder-fortegn, et ikke-kompenseret skalarprodukt og sigmaer fra en spektral invers af den H, der er dannet af kvadratrodsfaktoren (3.7e-9), består alle, så den viser ikke, at hvert kvadratrodstrin er nødvendigt. Validerer den valgfri løsers lineære algebra på committede input, ikke Jacobi-matricen og ikke standardløseren; bitreproducerbarhed på tværs af platforme er argumenteret ud fra de anvendte operationer og kun testet som identisk genkørsel på én platform
Tests
tests/lunar_frame_campaign_srif_mpmath_oracle.rs (srif_datum_matches_mpmath_extended_precision: fire scenarier — stationer estimeret på en ny kampagnedato 2026-06-09 (bindende), stationer fastholdt på den dato (kontrol)…
ValideretMaritime tillidsmonitorer: den aritmetik, de hviler på (NMEA-dekodning, geodætiske forskydninger, de kinematiske statistikker og statistikkerne for sensorresidualer)receiver_trust (ingest, maritime)
Funktion
For et fartøj dekoder receiver_trust de NMEA 0183-sætninger, en modtager og dens instrumenter udsender (GGA, RMC, VTG, HDT, VHW, VBW, ZDA, GSV), danner øst-nord-forskydningen mellem positionsbestemmelser (maritime::en_offset_m) og ud fra dem de statistikker, dens monitorer afgør ud fra: den implicerede hastighed, dødregningsresidualet, den implicerede acceleration og den implicerede drejningsrate over vinduer på 30 s, residualerne for kurs mod sejlretning, logfart mod fart over grunden og antennehøjde (10 s medianer) samt spredningen og stigningen i satellitsignalets signal-til-støj-forhold.
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, angivet snævert: (1) dekodningen af hvert felt, monitorerne læser, mod pynmea2 1.19.0 (MIT) på 8 syntetiske logfiler (1.086 epoker), til 1e-9 i feltets enhed (breddegrad og længdegrad, højde, geoideseparation, HDOP, hastigheder, kurs, sejlretning, signal-til-støj-forhold; heltal og datoer nøjagtigt; klokkeslæt til 1e-6 s), med de største forskelle på niveau med det sidste ciffer i en double; (2) øst-nord-forskydningen mellem to positionsbestemmelser, som afstand og pejling, mod WGS84-geodæten i geographiclib 2,1 (MIT) på 223 par af positionsbestemmelser med grundlinjer op til 2 km, fra -45 til 70 graders bredde og på tværs af antimeridianen, til 0,01 m og 0,001 grader (pejlingen mod geodætens middelazimut, kordens retning); (3) monitorernes inputstatistikker ved 341 bedømte epoker af en syntetisk sejlads på 400 s med et sving og et positionsspring, mod Python-genberegninger, der bruger geographiclib til afstand og azimut, pynmea2 til dekodning og numpy til medianer og standardafvigelser: implicerede hastighed til 0,005 m/s, dødregningsresidual til 0,02 m, acceleration til 5e-4 m/s^2, drejningsrate til 1e-3 grader/s, residualmedianerne og spredningen og stigningen i signal-til-støj-forholdet til 1e-6. HVAD DER IKKE KONTROLLERES: monitorernes vinduelængder, tillæg og tærskler er dette projekts egne regler; Python gengiver dem ud fra den samme dokumentation, så overensstemmelse underbygger implementeringen af aritmetikken, ikke reglerne. THS-sætningen har ingen pynmea2-klasse, og ROT-sætningen læses ikke; ingen af dem er dækket. Tabellen fra en NMEA-talker og satellitnummer til et satellit-id i RINEX-stil er dette projekts egen (kun nummeret, talkeren og værdien sammenlignes). Inputtene for tidsskridt, værtsur og autentificeringsstatus har ingen uafhængig reference. Alle data er syntetisk tekst fra receiver_trust::synth; intet her er en måling, og der udtales intet om, hvordan en monitor yder på rigtig interferens. Pejling: sammenlignet med geodætens middelazimut. Den præregistrerede sammenligning mod fremadazimutten ved positionsbestemmelse 1 fejlede ved 0,001 grader (77 af 223 par, værst 8.3e-3 grader) på grund af en definitionsmæssig uoverensstemmelse, ikke aritmetik; tillægget blev lavet efter den første kørsel, og begge resultater er registreret (sammenligningen med fremadazimutten forbliver i testen som en beskrivende, ikke præregistreret grænse på 0,01 grader). Oplyst: de første kørsler fandt input, der udfordrede for lidt (acceleration og drejningsrate var klemt til nul ved hver epoke, og antimeridiansporet krydsede den aldrig), en fejl i den syntetiske generator (ingen længdeomvikling) og, for pejlingen, at den registrerede referencestørrelse (geodætens fremadazimut ved den første positionsbestemmelse) afviger fra kordens retning med omkring halvdelen af meridiankonvergensen (77 af 223 par uden for 0,001 grader, værst 8.3e-3); inputtene blev rettet, og pejlingen blev sammenlignet med middelazimutten ved samme tolerance (tillæg 1 til 3 i præregistreringen, lavet efter at have set resultaterne og dermed ikke blinde); sammenligningerne af kurs og sejlretning blev gjort cirkulære (360 og 0 grader er én kurs, tillæg 5). Mutation: en skalering på 1e-4 af østforskydningen fejler geodæsisammenligningen.
Tests
tests/maritime_trust_reference.rs (t1_nmea_decoding_matches_pynmea2, t2_east_north_offsets_match_the_wgs84_geodesic, t3_t4_monitor_input_statistics_match_the_oracle) against…
ModelleretMaritim tillidsscore: aggregeringen af monitorernes evidens til en score fra 0 til 100 og dens tre båndreceiver_trust (score, monitors, live)
Funktion
Hver monitor reducerer sin evidens til et forhold mellem statistik og tærskel; scoren er 100 minus summen over monitorerne af vægt gange en afgrænset lineær rampe af forholdet (0 op til 0,5, 1 ved 1,5), afgrænset til 0 til 100 og afrundet til 0,1, med bånd ved 90 og 55; hver epoke opregner de monitorer, der trak fra, og deres point.
Uafhængig reference
Implementering mod specifikation, IKKE en ekstern uafhængig reference: en clean-room-genimplementering i Python (scripts/maritime_score_cleanroom.py), skrevet af en læser, der kun fik docs/RECEIVER-TRUST.md og docs/MARITIME-TRUST.md og ikke Rust-kilden, stemmer med score_from_ratios på 600 forholdsvektorer (score, bånd, point og rækkefølgen af fradrag, forskel 0), efter at dokumentationen blev færdiggjort, hvor den første læser fandt den tavs eller inkonsistent (rækkefølge ved lighed, afrunding, forholdet for en monitor med bestået eller ikke bestået, to eksempler hvis tal ikke stemte med formlen). Det viser, at dokumentationen er tilstrækkelig, og at koden gør, hvad den siger. HVAD DER IKKE KONTROLLERES, og hvorfor rækken forbliver MODELLED: selve reglen (vægtene, rampen, båndgrænserne, evidensfastholdelsen) er dette projekts egen, præregistreret men uden ekstern kilde, og intet her viser, at en score på 80 eller 40 betyder det, en navigatør ville ønske, på rigtig interferens; der gives intet tal af den slags. Monitorernes tærskler er ligeledes dette projekts egne (række A kontrollerer kun deres aritmetik).
Tests
tests/maritime_trust_reference.rs::t5_score_matches_the_clean_room_reading_of_the_documented_rule; receiver_trust::score::tests (monotone in every statistic, adding a monitor never raises the score, healthy statistics…
ValideretFormatkontrol af NMEA 0183-træningsstrøm og dekodede værdiernmea_synth (track, sentences, scenarios); cli nmea-scenario
Funktion
Syntetiske NMEA 0183-strømme fra broen til besætningstræning (kshana nmea-scenario): GGA, RMC, VTG, ZDA, GNS, GSA, GSV, HDT, VBW og PKSHT-markøren, genereret ud fra et referencespor med modellerede effekter fra modtager, himmel, jamming og spoofing. Kun tekstoutput; intet udsendes.
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, angivet snævert: alle 225.227 sætninger i otte syntetiske træningsstrømme (fire biblioteksscenarier, seeds 1 og 7; GGA, RMC, VTG, ZDA, GNS, GSA, GSV, HDT, VBW og PKSHT-markøren) kan parses i pynmea2 1.19.0, en uafhængig NMEA-parser, med en gyldig kontrolsum og den forventede talker og type. Positionen, farten over grunden, kursen over grunden, sejlretningen, UTC-tid og -dato, positionsstatus og antallet af satellitter i GGA, som den dekoder, er lig med generatorens referencespor inden for tolerancer fastlagt før den første sammenligning (1.5e-6 grader, 0,06 kn, 0,07 km/t, 0,11 grader kurs, 0,5 grader sejlretning, 0,02 s), kørt af scripts/gen_nmea_training_ref.py med fixturen i tests/fixtures/nmea_training_ref/. Forventningen til antallet af satellitter i GGA blev rettet efter den første kørsel til NMEA-konventionen (00 uden positionsbestemmelse); numeriske tolerancer uændret fra præregistreringens commit. HVAD DER IKKE KONTROLLERES: at nogen modtager, kortplotter eller brosystem accepterer strømmene; realismen af modellerne for modtager, himmel, jamming eller spoofing (nominel himmel, modelleret støj, drag- og replay-profiler, alle MODELLED); HDOP, højde samt DOP- og GSA/GSV-indholdet ud over syntaks og antal; instruktørloggen. Intet udsendes, og der gøres intet krav om anti-jam- eller anti-spoof-ydeevne.
Tests
tests/nmea_training_reference.rs (pynmea2 oracle comparison); tests/nmea_training_scenarios.rs::every_sentence_is_checksum_valid_and_the_reader_accepts_it, ::every_sentence_type_is_present_each_epoch…
ValideretInterferenskort: betydning af nøjagtighedskoder, AIS-værdier for ikke tilgængelig, tildeling til gitterceller, rutelængde pr. cellestatus og indlandsmaskeringinterference_map (adsb::nacp_epu_bound_m, adsb::nic_rc_bound_range_m, adsb::AdsbParams::classify, ais::ais_position_is_valid, ais::ais_speed_kn, grid::Grid::cell_of, route::exposure, land::LandMask::is_inland)
Funktion
Læsningen af ADS-B-koderne for navigationsnøjagtighed og integritet, som kortet bruger (den EPU-grænse, en NACp-kode står for, den grænse for indeslutningsradius, en NIC-kode står for, og klasserne lav og god, som metoden udleder af dem); AIS-værdierne for position og fart, der ikke er tilgængelige, som AIS-læseren kasserer; den faste bredde/længde-gittercelle, en position falder i; rutelængden og dens opdeling efter cellestatus (degraderet, ikke degraderet, ikke vurderet, ikke observeret), som ruteeksponeringen rapporterer; og om en position ligger inde i landet fra et landpolygon med mere end en buffer. En celle markeret som degraderet eller anomal er en udtalelse om rapporterede nøjagtighedsfelter eller usandsynlige positioner, ikke et fund af interferens, og intet her kontrollerer det.
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, angivet snævert: fem uafhængige implementeringer læser de samme syntetiske input. (1) pyModeS 2,21 dekoder syntetiske DF17-rammer med operationel status og luftbåren position; Kshanas NACp EPU-grænser stemmer til 0,5 m (største forskel 0,4 m), dets NIC-indeslutningsgrænser for kode 5 til 11 stemmer til 1 m, og dets klasser lav og god placerer alle 12 NACp-koder og hver NIC-kode, som referencen producerer (0 til 11), på samme side af de tærskler, referencens grænser implicerer (0 uoverensstemmelser). (2) pyais 3.3.0 dekoder AIVDM-sætninger af type 1, hvis nyttelastbits scriptet pakker fra de rå ITU-R M.1371-feltværdier; Kshana afviser præcis de dekodede positioner for ikke tilgængelig (breddegrad 91, længdegrad 181) og fart (102,3 kn) og beholder 0 til 102,2 kn som dekodet (0 uoverensstemmelser over 94 rammer). (3) shapely 2.2.0 covers() på cellepolygoner stemmer med grid::Grid::cell_of for 1770 punkter over cellestørrelserne 0,5, 0,25, 1 og 0,07 grader, herunder punkter nær kanter, begge poler og antimeridianen (0 uoverensstemmelser). (4) shapely 2.2.0 rute/celle-skæring med GeographicLib 2,1 WGS84-geodætlængder stemmer med ruteeksponeringen på 8 syntetiske ruter, herunder to der krydser antimeridianen: samlet længde til 0,6 % (største forskel 0,49 %, kuglen mod ellipsoiden) og hver cellestatus' længde til 0,6 % plus 125 m pr. stykke (største 21 % af den tolerance). (5) shapely 2.2.0 contains() med pyproj azimutal ækvidistant afstand til kysten stemmer med indlandsmasken på 2000 m på 992 gittercentrumpunkter omkring fire syntetiske øer, én med en sø (0 uoverensstemmelser; 4 punkter inden for 20 m af bufferen blev udeladt og talt). Tolerancerne blev fastlagt i tests/fixtures/interference_map_ref/PREREGISTRATION.md før nogen sammenligning og ikke ændret efterfølgende; to defekter i de syntetiske input, som den første kørsel fandt, er registreret dér. HVAD DER IKKE KONTROLLERES: Kshana dekoder ikke rå Mode S-rammer eller AIVDM-sætninger, så dette validerer dens læsning af allerede dekodede værdier, ikke en dekoder. Referencens NIC-indeslutningsradier for kode 1, 2 og 4 afviger fra DO-260B (20, 8 og 2 NM), så kun kode 5 til 11 sammenlignes numerisk. Reglen for positionen (0, 0), højdegulvet, kildetypefilteret, hashingen af identifikatorer, metodens tærskler og statistikker og valget af cellestørrelse er Kshanas egne og kontrolleres ikke mod noget. Rutesammenligningen bruger den samme rette definition af stien i breddegrad og længdegrad på begge sider, så den kontrollerer længder og celletildeling, ikke at denne sti er den rigtige for et fartøj eller et fly. Intet her viser, at en markeret celle er interferens. Input er syntetiske; reference-fixturerne er skrevet af scripts/gen_interference_map_ref.py (pyModeS er GPL-3.0 og bruges kun i det offline-script; CI behøver ikke Python).
Tests
tests/interference_map_reference.rs::adsb_accuracy_and_integrity_codes_agree_with_pymodes (12 NACp codes, 59 NIC rows); tests/interference_map_reference.rs::ais_field_rules_agree_with_pyais_decoding (94 frames)…
ModelleretInterferenskildeområde: et muligt senderområde ud fra positionsrapporter fra fly og skibeinterference_map::emitter (estimate, sessions, build_units, profile, GaussianFix::from_tdoa), interference_map::emitter_out (locate), kshana interference-map locate
Funktion
Et muligt område for, hvor en kilde til forringede navigationsrapporter kan være, ud fra positionsrapporter fra ADS-B (NIC/NACp) eller AIS: radiosigtlinje på en 4/3-jordradius fra rapporthøjden og et højdeinterval for senderantennen, en begrænset effektiv rækkevidde for den ukendte effekt, hvor berørte enheder trækker posterioren mod deres rækkevidde, og uberørte enheder med sigtlinje skubber imod, grupperet i sessioner i tid og rum. Output er områder med højeste tæthed ved angivne konfidensniveauer, et posterior-tyngdepunkt med en momentellipse, sessionens start, slut, varighed, berørt areal og antal forskellige fly over offentliggørelsesminimum, en døgnprofil og timer pr. dag. Uden terræn; én kilde pr. session; troværdigheden er betinget af modellen. Valgfri fusion med en TDOA-positionsbestemmelse fra geolokalisering.
Uafhængig reference
Endnu ingen ekstern. Kun syntetiske frem-og-tilbage-kørsler fra en generator, der deler estimatorens model, så de kontrollerer koden og kalibreringen af de angivne niveauer under den model og intet om virkelige sendere. En ekstern kontrol mod de offentliggjorte senderpladser i Jammertest 2025 blev præregistreret (docs/emitter-region/PREREGISTRATION.md, frigivet af ejeren før enhver scoret kørsel) og kørt én gang (docs/emitter-region/RESULTS.md): ADS-B NOT ASSESSABLE (2 planlagte sessioner, færre end det registrerede minimum på 4) og AIS NOT ASSESSABLE (ingen offentliggjort session), så ingen tærskel blev afprøvet, og rækken forbliver MODELLED
Tests
interference_map::emitter unit tests (projection round trip, horizon figure, synthetic forward and inverse round trips: the known emitter lies inside the stated region at about the stated rate, edge cases, session…
ValideretTelemetri for tillid, trådformater: Prometheus-tekstformat og OpenTelemetry OTLP/HTTP JSONtelemetry (prometheus: Registry, render; otlp: build_payload, Exporter (feature otlp); sample)
Funktion
GNSS-tillid (score, bånd, årsager, gate og, på anmodning, position) som Prometheus-tekstformat udstillet på /metrics og som OTLP/HTTP JSON-metrikker, med en grænse for kardinaliteten af årsagsetiketter.
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, angivet snævert: vores Prometheus-tekstformat for en syntetisk strøm på 84 linjer (etiketværdier med anførselstegn, omvendte skråstreger, linjeskift og ikke-ASCII-tekst, 64 årsagsserier plus en 'other'-sammenfoldning, gate- og positionsgauges) accepteres af tekstparseren i prometheus_client 0.26.0, og de metrikfamilier, typer, hjælpetekster, etiketsæt og værdier, den læser, er nøjagtigt lig med registrets tilstand (værdier ved f64-lighed). Vores OTLP/HTTP JSON for det samme register parses med protobuf 7.36.2 json_format.Parse(ignore_unknown_fields=False) til opentelemetry-proto 1.45.1s ExportMetricsServiceRequest, og hvert metriknavn, hver beskrivelse, enhed, art, monotonicitet, aggregeringstemporalitet, hver attribut, værdi, starttid og tid er nøjagtigt lig med registrets tilstand. Begge parsere blev vist at afvise et ukendt felt, en forkert typet værdi og en misdannet linje (scripts/gen_telemetry_formats_ref.py). Skema 1,3 (0,36), præregistreret (fb226057), før noget værktøj læste det: for en syntetisk skema-1.3-strøm på 64 linjer (geometristatusser, DOP'er, etiketter og signaltab til stede, null, fraværende og ukendte; fradragsklasser; ikke-parsbare linjer) læser de samme to parsere geometriserierne (Prometheus kshana_trust_geometry*, OTLP kshana.geometry.*) og klasseetiketten på kshana_trust_reason_active nøjagtigt, som registret implicerer (24 familier og 54 samples; 12 metrikker og 31 punkter), promtool 3.5.0 check metrics afslutter med 0 uden lintproblemer, og OpenTelemetry Collector contrib 0.135.0 accepterer OTLP/HTTP JSON (status 200, intet afvist), og dens file-eksportør registrerer anmodningen uændret (xval/telemetry-1.3, datastyret: udgivelsesarkiverne hentes med fastlåst SHA-256, og deres output committes). HVAD DER IKKE KONTROLLERES: HTTP-endepunktet, levering, timeouts og genforbindelse er ikke kontrolleret mod en uafhængig reference, og heller ikke Collectorens prometheus-receiver; registret læses gennem accessorer, så en fejl i selve registerets tilstand ville ikke blive fanget; kontrollen af, at OTLP-outputtet er aktuelt, kører kun med otlp-featuren; metriknavnene og deres nytte for et driftscenter er ikke valideret; CEF og LEEF er ikke dækket (se næste række).
Tests
tests/telemetry_formats_reference.rs (prometheus_client_reads_our_exposition_as_the_registry_implies, the_official_otlp_proto_reads_our_json_as_the_registry_implies, awkward_reason_text_survives_the_parser…
ValideretSIEM-hændelser for tillidstelemetri: Common Event Format (CEF) over syslogtelemetry (syslog: cef, rfc5424, SyslogSink; time)
Funktion
Hændelser ved båndskift (eller pr. epoke) som Common Event Format-nyttelaster i en RFC 5424-kuvert over UDP eller TCP, med en dokumenteret feltafbildning og CEF-escaping.
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, angivet snævert: mod to uafhængige open source-parsere (referencer: pycef 1,11 (PyPI, MIT); Logstash CEF-codec (logstash-codec-cef 6.2.7 i Logstash 8.15.3)), på et korpus af CEF-linjer, som dette crate skrev (157 før tillæg 4 nedenfor, 170 efter det, 176 efter tillæg 5): hver båndændring og hver epoke i en committet syntetisk tillidsstrøm på 84 linjer, plus modstridig tekst i værter, årsager, tidsetiketter og gatenavne med lighedstegn, omvendte skråstreger, omvendt skråstreg-lighedstegn, lodrette streger, linjeskift, vognretur, tabulatorer, rækker af mellemrum, flerbytetegn og astrale tegn og nøgler, der ligner hinanden, ekstreme scorer og forskydninger, hvert bånd med og uden et foregående bånd. pycef parser de linjer, hvis header ikke kræver escaping (153 før tillæg 4, 166 efter det, 172 efter tillæg 5), og genfinder nøjagtigt headerfelterne, alvorsgraden, det nøjagtige sæt af extension-nøgler og hver værdi (tal ved f64-lighed), efter CEF-specifikationens regler for unescaping, som pycef ikke anvender, og som scripts/gen_cef_ref.py anvender. Logstash-codecen, som selv unescaper, parser hver linje (157, derefter 170, derefter 176), opfylder den samme tærskel og genfinder desuden fire headerfelter, der kræver escaping (en lodret streg, en omvendt skråstreg og et lighedstegn i versionsstrengen), som pycefs headermønster ikke kan læse, så escaping i headeren hviler alene på Logstash-codecen. Sammenligningstærsklen blev registreret i commits 5172e579 (pycef) og 0a7598aa (Logstash), før nogen af parserne blev kørt, og begge nåede den ved den første sammenligning. Fem tillæg oplyses. Tillæg (1) til (3) rørte ingen sammenligningsregel og ingen forventet værdi: (1) en assertion om korpusstørrelse blev rettet fra 5 til 4 båndændringer, en fejltælling, da strømmen har 4; (2) Logstash-runnerens ledningsføring af pipeline-afgrænseren blev rettet efter et første forsøg, der ikke producerede nogen hændelser; (3) tillidsscoren og epokeforskydningen blev flyttet fra CEF's heltalsfelter cn1 og cn2 til flydende-tal-felterne cfp1 og cfp2, en ændring af trådformatet i denne udgivelse, hvorefter korpusset blev regenereret og begge referencer kørt igen med uændret tærskel og nåede den igen. Tillæg (4), 0,36, udvidede korpusset og det forventede nøglesæt, registreret i d6331429, før nogen af parserne kørte på de nye linjer: input i skema 1,3 tilføjer satellitgeometrien i de brugerdefinerede felter cs6 (etiket geometry: status, derefter ';' og fradragsklasserne), cfp3 (geometryHdop) og cfp4 (geometryPdop); 13 geometritilfælde (korpusset til 170 linjer) og de tre nye nøgler; begge nåede tærsklen, i øvrigt uændret, ved den første sammenligning (pycef 166 af 170 linjer parset, de 4 header-tilfælde i tier 2 som før; Logstash 170 af 170). Tillæg (5), 0,36, tilføjede 6 tilfælde med geometrietiket (korpusset til 176 linjer), registreret i 9a8e4fa9, før nogen af parserne kørte på dem: fra input, der bærer geometrietiketten, får cs6 et tredje felt (';' og etiketten) og cn1 (geometryUsedSatellites) de anvendte satellitter; Logstash-codecens afbildningstabel blev læst først (ingen flexString-felter, derfor cs6 frem for flexString1); begge nåede tærsklen ved den første sammenligning (pycef 172 af 176, Logstash 176 af 176), og hver tidligere referenceindgang blev gengivet uændret. HVAD DER IKKE KONTROLLERES: ingen af parserne typekontrollerer cfp-værdierne (begge beholder dem som tekst), så brugen af flydende-tal-felterne hviler på CEF-ordbogen frem for på en uafhængig reference; ingen leverandør-SIEM blev kørt; extension-nøglenavnene og deres afbildning er dette crates valg, og parserne viser kun, at de læses tilbage, som de er skrevet; RFC 5424-kuverten, levering, timeouts og genforbindelse er ikke dækket; pycef er en lille parser, sidst udgivet i 2020, og Logstash-codecen er den mere substantielle reference.
Tests
tests/cef_reference.rs (pycef_reads_every_tier_1_event_as_the_sample_implies, the_logstash_cef_codec_reads_every_event_including_escaped_headers_as_the_sample_implies…
ModelleretSIEM-hændelser for tillidstelemetri: Log Event Extended Format (LEEF) over syslogtelemetry (syslog: leef, rfc5424, SyslogSink; time)
Funktion
Hændelser ved båndskift (eller pr. epoke) som Log Event Extended Format 2,0-nyttelaster i en RFC 5424-kuvert over UDP eller TCP, med en dokumenteret feltafbildning.
Uafhængig reference
HVAD DER KONTROLLERES: dette crates egne tests med nøjagtige strenge af den dokumenterede LEEF-feltafbildning og RFC 5424-kuvertens felter; der findes ingen vedligeholdt open source-LEEF-parser (en søgning i Python-pakkeindekset fandt ingen), så formatet kontrolleres mod sin egen specifikation læst af den samme forfatter, ikke mod en ekstern uafhængig reference. HVAD DER IKKE KONTROLLERES: om LEEF-nyttelasterne accepteres af nogen leverandørs parser eller SIEM; escaping-reglerne ud over de dokumenterede; en rigtig syslog-collectors adfærd.
Tests
telemetry::syslog::tests (eksakte LEEF-strenge, escaping, alvorlighed, RFC 5424-kuvert, leveringstimeouts og genforbindelse); tests/telemetry_cli.rs
ValideretIntegritet af bevispakken: signatur, hashkæde og verifikationsprocedureevidence (bundle: create_bundle, sign_detached, chain_link, sha256_hex; verify: verify_bundle, verify_detached; tsr; assemble; cli)
Funktion
En signeret bevispakke med hashkæde for en GNSS-tillidshændelse: SHA-256 over hver fil og en kæde over manifestet, en Ed25519-signatur over de nøjagtige manifestbytes og en verifikator, der navngiver hver fejl (en ændret, fjernet, omdøbt, ombyttet eller tilføjet fil, et omordnet eller redigeret manifest, et manifest hashet igen uden nøglen, en pakke signeret igen, en forkert fastlåst nøgle og et tidsstempeltoken, der er fjernet, erstattet, uanvendeligt eller over et andet dokument).
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, angivet snævert: (1) Ed25519-funktionerne, pakken bruger til at signere og til at verificere strengt (evidence::bundle::sign_detached, evidence::verify::verify_detached), gengiver de offentlige nøgler og signaturer i RFC 8032 afsnit 7,1 testvektorerne 1, 2, 3 og 1024 byte for byte, accepterer dem og afviser hver vendt bit i vektor 1 og hver syvende bit i de andre samt en ikke-kanonisk S+L-signatur; vektorerne parses fra RFC-teksten og gengives af to uafhængige implementeringer (cryptography/OpenSSL og PyNaCl/libsodium) i scripts/gen_ed25519_rfc8032_ref.py. (2) evidence::bundle::sha256_hex, hashen bag hver pakkehash og kæden, gengiver eksemplerne for FIPS 180-4 SHA-256 (abc; beskeden på 448 bit; en million a), den tomme besked og hashlib-digests af en stige på 0 til 130 bytes på tværs af paddinggrænserne, nøjagtigt. (3) En verifikator skrevet i Python ud fra docs/EVIDENCE-PACKS.md alene (scripts/evidence_verify_cleanroom.py: hashlib og cryptography; dens forfatter læste ingen Rust-kode) stemmer med Rust-verifikatoren på 71 syntetiske intakte og manipulerede pakker, nøjagtigt, på dommen, sættet af fejl med filnavne, signaturdommen og kædehovedet genberegnet fra filerne og det, manifestet registrerer. Første kørsel stemte 64 af 71; uoverensstemmelserne var én uklarhed i specifikationen (kontrol af en fastlåst nøgle mod et ulæseligt manifest), én afvigelse i referencens grænseflade og ét ufuldstændigt bygget tilfælde; specifikationssætningen blev præciseret, referencen genimplementeret ud fra teksten og tilfældet færdiggjort, uden at nogen tolerance eller forventning blev ændret (registreret i commit d54e14c6). HVAD DER IKKE KONTROLLERES: clean-room-verifikatoren er en uafhængig implementering af en anden forfatter, ikke en tredjepartsmyndighed, og den deler specifikationens valg, så den underbygger denne implementering af reglerne, ikke reglerne; vektorerne validerer primitiverne, ikke pakkeformatets udformning. I denne række læses RFC 3161-tokenet kun for sit meddelelsesaftryk, og testtokenene er syntetiske og usignerede; myndighedens signatur og kæde verificeres, valgfrit (kshana evidence verify --tsa-ca), af den separate række 'RFC 3161 timestamp-token signature and chain verification'. Manipulationstilfældene er syntetiske. Intet her er en juridisk udtalelse om eller en attestation af nogen pakke.
Tests
tests/evidence_crypto_reference.rs (RFC 8032 section 7.1 vectors 1, 2, 3 and 1024; FIPS 180-4 SHA-256 examples; exact); tests/evidence_pack_reference.rs::kshana_and_the_clean_room_verifier_agree_on_every_case (71…
ValideretVerifikation af signatur og kæde for RFC 3161-tidsstempeltokenevidence::tsa (verify_token, pem_certificates); evidence::verify (VerifyOptions::tsa_anchors, Failure::TimestampAuthorityInvalid); evidence::cli (--tsa-ca)
Funktion
evidence::tsa::verify_token og valgfri kshana evidence verify --tsa-ca <anchors.pem> for en pakkes timestamp.tsr: et RFC 3161 TimeStampResp eller et bart TimeStampToken (CMS SignedData over en TSTInfo) kontrolleret offline mod betroede ankre på den måde, openssl ts -verify kontrollerer det: de signerede attributters indholdstype og meddelelsesdigest over TSTInfo; signaturen over de signerede attributter (RSA PKCS#1 v1.5, RSASSA-PSS, ECDSA P-256 og P-384; offentlige RSA-operationer på crypto-bigint); ESS-signeringscertifikatet v1 (SHA-1) eller v2, hvis hash navngiver signercertifikatet, fundet blandt tokenets og kalderens ubetroede certifikater; signerens kritiske, eneste udvidede nøgleanvendelse timeStamping; kæden til et betroet selvudstedt anker med hvert certifikats signatur, CA-status og nøgleanvendelse, og hvert certifikat gyldigt ved tokenets genTime; og meddelelsesaftrykket mod dataene. Ikke kontrolleret: tilbagekaldelse (CRL, OCSP), navne- og politikbegrænsninger, noncen
Uafhængig reference
OpenSSL 3.0.13 (openssl ts -verify -attime genTime, og openssl cms -verify -cades -purpose timestampsign plus TSTInfo-aftrykket for RSA-PSS-tokens), kørt af tests/fixtures/evidence_tsa/run_openssl.sh på de 27 tilfælde i cases.tsv: RSA PKCS#1 v1.5 med SHA-256 og SHA-512 og ESS v1 og v2, en ECDSA P-384-rod over en P-256-mellemliggende og P-256- og P-384-TSA'er, RSA-PSS, et token uden signercertifikatet med og uden at det er leveret, CAdES-signerede tokens, en vendt signaturbyte (tre algoritmer), en ændret TSTInfo (to), en vendt signatur i det mellemliggende certifikat, et ESS-tvillingcertifikat, forkerte ankre (fire), et udløbet TSA-certifikat, en ikke-kritisk og en forkert udvidet nøgleanvendelse og forkerte data (tre). Præregistreret i tests/fixtures/evidence_tsa/PREREGISTRATION.md (committet alene, 30ad70b2, før verifikatoren fandtes; OpenSSL-dommene kørt igen bagefter, byte-identiske). Første kørsel: alle 27 domme stemmer (B1), og hver genTime stemmer til sekundet (B2). Omfang, angivet snævert: selvgenererede testcertifikater og -tokens, lavet af den samme OpenSSL, der bedømmer dem; OpenSSL er en uafhængig implementering, ikke en tidsstempelmyndighed; ingen offentlig myndigheds token er medtaget (freetsa.org angiver ingen licens). Intet her attesterer noget rigtigt tidsstempel
Tests
tests/evidence_tsa_openssl.rs::every_case_agrees_with_openssl (the pre-registered comparison); evidence::tsa::tests (civil dates and times, base64, the RSA public operation)…
ModelleretTærskler for interferens i modtagertillid kalibreret på JammerTest 2024-datasættetreceiver_trust::calibration (run_dataset); receiver_trust::monitors (MonitorConfig::profile, JAMMERTEST_2024_CALIBRATED); realdata::jammertest; examples/jammertest_trust_calibration.rs
Funktion
receiver_trust::calibration::run_dataset: den præregistrerede kalibrering af monitorerne for C/N0-fald, AGC og jamming-indikator på det offentlige JammerTest 2024-datasæt (Zenodo 15911589, GPL-3.0-or-later, hentet ved kørsel, aldrig medtaget): pr. mappe en tidslinje på 1 s fra mon_rf.csv og rinex.csv, monitorerne køres én gang, hver epoke efter kalibreringen mærkes ren eller jamming ud fra mappens attack_log (flyttet fra CEST til UTC, sikkerhedsmargin på 60 s), hver tærskel sweepes over et fast gitter, den mindste tærskel med en samlet falskalarmsandsynlighed for rene epoker på højst 0,01 vælges, og tællinger med leave-one-folder-out på tilbageholdte data; en krydskontrol af UBX-læseren. Udvælgelsen leveres kun som den valgfri profil [monitors] profile = "jammertest-2024-calibrated" (cn0_drop_db 1,5, agc_k_sigma 3,5, jam_ind_threshold 29); standardreglen og hvert output uden den er uændret
Uafhængig reference
Datasættets offentliggjorte hændelseslogge (attack_log-vinduer) som hændelsesreference under præregistreringen xval/jammertest-trust/PREREGISTRATION.md (committet alene, 0fa012b, før harnessen kørte). Første og eneste kørsel (xval/jammertest-trust/RESULTS.md): 14 af 24 mapper kunne evalueres (7 med jamming), 3.502 rene og 9.560 jamming-epoker. Falskalarmsandsynlighed for rene epoker på tilbageholdte data: cn0_drop_db 0,0231 (81/3502) mod en tærskel på 0,02, FAIL; agc_k_sigma 0,0003, bestået; jam_ind_threshold 0,0094, bestået; unionen af de tre: falske alarmer 0,0328, detektion 0,807 mod 0,05 og 0,50, bestået. Efter den registrerede regel er rækken MODELLED (én tærskel fejlede). Snævert: én modtagertype (u-blox ZED-F9P), én hændelse, planlagte slots på ét minut som reference (detektion en nedre grænse; ren betyder uden for de loggede vinduer); kalibreret på CSV-loggene, og UBX-læseren giver flere falske alarmer på to mapper. Tillidsscorebåndene for maritim brug er ikke kalibreret
Tests
tests/receiver_trust_jammertest_calibration.rs::the_recorded_calibration_reproduces (ignoreret, datastyret af KSHANA_JAMMERTEST_DIR: det optegnede udvalg, tilbageholdte antal, tærskelkendelser og kendelse)…
ModelleretJammertest-scoring: en modtagerlog scoret pr. planlagt test (detektionslatenstid, oversete alarmer, falske alarmer, tid til genopretning) mod den offentliggjorte testplanjammertest::plan (parse_catalog, parse_plan, import, import_attack_log, events_toml); jammertest::score (score_run); jammertest::dataset (run_dataset); jammertest (score_log, score_pack); examples/jammertest_score_2024.rs
Funktion
jammertest::{plan, score, dataset} (kshana jammertest import|score): NPRA's testkatalog og transmissionsplan (MIT, hentet med en fastlåst SHA-256, aldrig medleveret) læses som planlagt reference med bevarede katalog-id'er; en receiver-trust-kørsel scores pr. test (første alarm minus planlagt start, detected/late/missed mod en tolerance, tid til den første alarmfri periode, alarmer uden for ethvert slot og dets sikkerhedsmargen), med en signeret bevispakke, der indeholder scorekortet. Planen består af planlagte slots, ikke af optagne tidspunkter for udsendelse
Uafhængig reference
Planens antal slots pr. testområde (76, 77 og 45 slots, hvoraf 61, 63 og 32 sender) blev talt uafhængigt med et script over den samme JSON; datasættets attack_log-vinduer for 2024 er hændelsesreference, under xval/jammertest-score/PREREGISTRATION.md (committet alene, c2e6d3b, før scoreren kørte). Første og eneste kørsel (xval/jammertest-score/RESULTS.md): den registrerede regel om minimumsdata slog fejl (4 scorbare jamming-vinduer fra 4 af 12 UBX-mapper mod et minimum på 10 vinduer fra 2 mapper: 5 mapper blev udelukket af baseline-reglen, 3 UBX-logs indeholder kun GPS-ugetid), så tærsklerne B1 til B4 kan ikke vurderes; intet blev lempet eller kørt om. v2 (xval/jammertest-score/PREREGISTRATION-v2.md, committet alene, kun datahåndtering: logs med kun GPS-tid placeres ud fra datoen, de 12 mapper med kun CSV, en session med bevægelig platform til bevægelige rovere; samme tærskler og samme regel om minimumsdata): 14 af 24 mapper blev beholdt, men kun 7 scorbare jamming-vinduer, reglen om minimumsdata slog fejl igen, ingen tærskel kan vurderes (RESULTS-v2.md). Planlagt reference: et planlagt slot er ikke en optagelse af udsendelsen, en misset detektion kan være en test, der aldrig kørte, en latenstid regnes fra den planlagte start, og ren betyder uden for de planlagte slots. Detektion med monitorer i måledomænet siger intet om en spoofer med lav effekt. Én modtagertype (u-blox ZED-F9P). NMEA-datasættet fra SimulaMet for 2025 bruges ikke (ingen angivet licens, bag abonnement)
Tests
tests/jammertest_plan_roundtrip.rs (datastyret af KSHANA_JAMMERTEST_PLAN_DIR: slotantal pr. testområde i planen for 2025, katalog-id'er, TOML-rundtur); tests/jammertest_score.rs (en syntetisk log med et kendt fald…
ValideretTestbænk-eksport (kshana bench-export): jordfaste, geodætiske og lokale hastighedskolonner, attitudekolonner og NMEA 0183-outputinterop::testbench (write_motion_csv, write_nmea, trajectory_of, export); fusion::pack::truth_trajectory
Funktion
Bevægelses-CSV'ens jordfaste position, geodætiske position, jordfaste hastighed, heading/pitch/roll og UTC-kolonner samt NMEA GGA/RMC-sætningerne, skrevet ud fra syntetiske scenarier (gnss-ins inklusive automotive-urban-canyon, jamming, gnss-sim). Kun bevægelse og hændelser; intet signal skrives, og der påstås ingen ydeevne for nogen simulator eller modtager.
Uafhængig reference
HVAD DER KONTROLLERES EKSTERNT, snævert formuleret: mod pyproj 3.8.0 (PROJ 9.8.1), geographiclib 2,1, pynmea2 1.19.0 og scipy 1.18.1, kørt af scripts/gen_testbench_ref.py på 4 syntetiske scenarier, med tolerancer fastsat før den første sammenligning (hver især forfatterens afrundingsværste tilfælde): de jordfaste kolonner er lig med WGS 84-konverteringen af de geodætiske kolonner (værst 1.3e-4 m, tærskel 3e-4) og omvendt (1.3e-9 deg, tærskel 2e-9; højde 1.3e-4 m, tærskel 3e-4) på hver række; den jordfaste hastighed roteret til nord-øst-ned med PROJ's topocentriske operation er lig med motorens sande NED-hastighed (7.5e-5 m/s, tærskel 2e-4); heading, pitch og roll er lig med scipys yaw-pitch-roll af motorens sande kvaternion (5.0e-7 deg, tærskel 1e-6); hver NMEA-sætning kan tolkes i pynmea2 med en gyldig kontrolsum, og dens afkodede position (1.2e-3 m, tærskel 5e-3), højde, hastighed, kurs (5.0e-4 deg, tærskel 1e-3) og tid er lig med bevægelsesværdierne; UTC-kolonnen er lig med uafhængig dato-tid-aritmetik. SHA-256 af de nøjagtige CSV- og NMEA-bytes, der blev kontrolleret, er fastlåst. HVAD DER IKKE KONTROLLERES: scenariets egen sande bane (kørselsprofilen og dens integration); konventionerne (heading er kroppens yaw, ikke kursen, og afviger fra den med op til ca. 77 grader på automotive-urban-canyon; GGA-kvalitet, antal satellitter og HDOP er pladsholdere); om en laboratoriesimulator læser filerne som tilsigtet; enhver ydeevne for en simulator eller modtager. De uafhængige referencer kontrollerer konverteringer og kodninger, ikke scenariets fysik. Håndtering af lokalt koordinatsystem kontrolleres kun gennem hastighedsrotationen og NMEA-hastigheden og -kursen (CSV'en har ingen lokal positionskolonne).
Tests
tests/testbench_reference.rs (7 tests: oracle pins, export bytes, worst case over every row, position columns, local velocity vs true NED velocity, Euler angles vs scipy, NMEA vs pynmea2); tests/interop_testbench.rs…
ModelleretCompliance-mapping til offentlige rammeværkercompliance
Funktion
compliance (kshana compliance-report): en kortlægning fra Kshana-outputs til punkter i offentlige rammeværker, kun efter nummer, udfyldt ud fra de angivne kørsler; et resultat tæller for en funktion kun, når det indeholder det belæg, som kortlægningen angiver, en tom mængde belyser ingenting, og formuleringen er "leverer belæg for"; rapporten er ikke en konstatering af, at noget rammeværk er opfyldt, og ikke en vurdering eller godkendelse fra nogen.
Uafhængig reference
Referencer kontrolleret mod et script-udtrukket overskriftsindeks over de citerede offentlige dokumenter, læst 2026-10-10 (tests/compliance_references.rs). HVAD DER KONTROLLERES: 49 citerede referencer til punkter, afsnit, stykker eller overskrifter findes i det citerede dokument, og 7 citerede URL'er kunne slås op på den registrerede dato (2 via en anden vej); negative kontroller slår fejl. HVAD DER IKKE KONTROLLERES: at nogen omskrivning, kortlægning eller mangel er korrekt; punkter i EN 16803 (betalt, kun katalogtekst); senere revisioner; indekset er ikke en uafhængig implementering.
Tests
tests/compliance_report.rs::mapping_is_well_formed; tests/compliance_report.rs::wording_rule_holds_in_mapping_report_and_docs; tests/compliance_report.rs::empty_set_evidences_nothing…
ModelleretMaritime integrationer: Signal K-plugin, OpenCPN-gatestrøm og scorepanel, referencebuildreceiver_trust (live: gaten, dens TCP-lytter, PKSHT); uden for cratet: integrations/signalk (JavaScript), integrations/opencpn (JavaScript-relæ, C++ native plugin), deploy/reference-build (systemd-enheder, container)
Funktion
Tillidsscoren, bandet, årsagerne, gatens tilstand og den af modtageren rapporterede position, udgivet under navigation.gnss.kshana i en Signal K-server med en notifikation for advarsel, alarm og normal (integrations/signalk); den gatede NMEA-strøm, hvor positionsbestemmelsen er markeret som ugyldig, mens tilliden er kollapset, og med en PKSHT-sætning pr. cyklus, leveret til OpenCPN over TCP af selve gaten eller af et lille relæ, og et native OpenCPN-scorepanel, der læser PKSHT-sætningen (integrations/opencpn); samt systemd-enheder og en container, der kører gaten (deploy/reference-build). Hvor disse viser output, bærer de den vejledende erklæring: Vejledende software, ikke typegodkendt navigationsudstyr (IEC 61108, IEC 61162): operatøren er fortsat ansvarlig for fartøjets navigation.
Uafhængig reference
HVAD DER KONTROLLERES, snævert formuleret: at disse integrationer fungerer mod den rigtige software, de er skrevet til. BELÆGGET er committet i integrations/signalk/evidence/README.md (med dens JSON-filer) og integrations/opencpn/evidence/README.md (med dens skærmbilleder og logs), hver med det script, der gengiver det. (1) Signal K: pluginnet indlæst i den fastlåste npm-pakke signalk-server 2.33.0, i et privat netværksnavnerum kun med loopback, fodret med syntetiske data. Serverens egne REST- og WebSocket-grænseflader viste de udgivne stier, scoremetadata og en notifikation, der gik fra fraværende til advarsel, alarm, normal (efter holdetiden) og advarsel igen, da dataene stoppede. Med den rigtige kshana kørt af pluginnet på den NMEA, serveren selv modtog, gik notifikationen til advarsel og derefter alarm, og den rapporterede position blev udgivet; serverens egen navigation.position blev skrevet af dens NMEA-udbyder, aldrig af pluginnet. Kørt igen mod live JSON-skema 1,2. (2) OpenCPN: pluginnet bygget mod OpenCPN's plugin-API-header og wxWidgets 3.2.4, indlæst i Ubuntu 24,04-pakken af OpenCPN 5.8.4 under en virtuel skærm; OpenCPN indlæste det, kørte dets initialisering og afleverede PKSHT-sætningerne fra den gatede strøm til det, og panelet blev rødt i det upålidelige bånd. I én ren kørsel holdt OpenCPN's egen skibsposition op med at opdatere, og dens indikator for positionsbestemmelse faldt, da gaten markerede positionsbestemmelsen som ugyldig. En anden kørsel, fodret direkte fra gatens TCP-lytter, viste levering til pluginnet, men ikke et rent før-og-efter. (3) Relætestene afspiller et optaget udsnit af den gatede strøm gennem en rigtig TCP-socket og kontrollerer, hvad en forbruger modtager (bytes uændrede, gyldige kontrolsummer på hver sætning inklusive de omskrevne, GGA og RMC enige med hinanden, én PKSHT pr. cyklus med gate-feltet, hvor positionsbestemmelsen er ugyldig), og end-to-end-scriptet kontrollerer, at en forbruger af gatens lytter modtager nøjagtig de bytes, som den samme gate skriver til standard output. (4) PKSHT-parserne (JavaScript og C++) køres over sætninger optaget fra kshana-output og afviser en forkert kontrolsum, version eller en score uden for 0 til 100. (5) Systemd-enhederne kontrolleres med systemd-analyze verify (systemd 255, binære filer stubbet) og med kontroller for en shell i ExecStart, genstartspolitikken og sandbox-nøglerne; containerens entrypoint og dens håndtering af argumenter kontrolleres med en stub-binær fil. HVAD DER IKKE KONTROLLERES: der findes ingen ekstern uafhængig reference for nogen værdi, som disse integrationer viser. Selve tillidsværdierne er rækkerne ovenfor, og en integrationskørsel viser blot, at rørføringen bærer dem; det er derfor, denne række er MODELLED og ikke VALIDATED (docs/VALIDATION.md). Der blev ikke brugt noget rigtigt fartøj, nogen modtager, nogen lang kørsel, nogen anden version af nogen af værterne, noget andet operativsystem eller skrivebord; alle data er syntetisk tekst, og intet her er en måling. Notifikationens lyd og visuelle håndtering i en rigtig Signal K-klient, OpenCPN's værktøjslinjeknap, indstillinger og forældet tilstand samt pakning til OpenCPN's pluginhåndtering blev ikke afprøvet. Systemd-sandboxnøglerne blev kun kontrolleret for syntaks, ikke kørt under en levende systemd, og containerimagets build og dets sundhedstjek har ingen committet dokumentation her. Der påstås ingen tal for detektion eller falske alarmer. Vejledende software, ikke typegodkendt navigationsudstyr (IEC 61108, IEC 61162): operatøren er fortsat ansvarlig for fartøjets navigation.
Tests
tests/receiver_trust_live_cli.rs (gaten og dens TCP-lytter, Rust-siden); integrations/signalk/test/adapter.test.js, integrations/signalk/test/model.test.js og integrations/signalk/test/plugin.test.js (24 Node…
ModelleretBOC(1.1)-tracking: DLL-skalering og opløsning af bump-jump-multiplicitet (til-valg)iq::track::boc (BocKind, BocTracking, BumpJump, boc11_dll_scale); iq::track::channel (the bump-jump taps and Channel::bump_jumps)
Funktion
Feltet boc i iq::track::LoopConfig (til-valg, None som standard): de tre DLL-diskriminatorer omskaleret, så de viser kodefejlen i chips med enhedshældning på hovedtoppen af sinus-BOC(1.1), og en bump-jump-monitor på meget tidlige og meget sene korrelatorer ved en halv subbærebølgeperiode (0,5 chip), der får kode-NCO'en til at hoppe mod hovedtoppen, når en op/ned-tæller når N (8 som standard). Uden tilvalget er alle outputs uændrede.
Uafhængig reference
Intern konsistens mod indlagt reference og lukkede former, under tærskler præregistreret ved 6b68f6cc (docs/design/evidence/boc-bump-jump/). Et BeiDou B1C-datasignal (PRN 19, 5 MS/s) genereret af iq::scene: med tilvalget slået fra forbliver en start på en sidetop falsk låst ved den forudsagte ±(0,5 + d/4) chip (målt ±0,549); med det slået til sker ét spring mod hovedtoppen ved 0,08 s og en RMS i det sene vindue på 0,0008 chip ved 45 dB-Hz og 0,0048 chip ved 35 dB-Hz; intet spring væk fra hovedtoppen ved 35, 40 og 45 dB-Hz over 4 s; den skalerede EMLP-hældning 0,94 til 0,99 på det samplede signal (uskaleret 3,6 til 3,8). Bump-jump-detektoren alene, på korrelatortripler med den nøjagtige BOC(1.1)-støjkovarians, gav intet falsk spring i 100.000 opdateringer ved 25 til 45 dB-Hz og detekterede 1000 af 1000 starter på sidetoppe ved 35 dB-Hz. NOT MET (fund F1): den præregistrerede enhedstestgrid for skaleringen omfatter forskydninger uden for diskriminatorernes lineære område, hvor de skalerede aflæsninger rammer forskydningen forkert med op til 48 %. HVAD DER IKKE KONTROLLERES: IQ fra felten, båndbegrænsede front-ends, sammensatte MBOC/QMBOC-replikaer og enhver ekstern modtager.
Tests
tests/iq_boc_bump_jump.rs (b1_b2_b3_side_peak_and_false_jumps_on_the_iq_chain, b4_scaling_on_the_sampled_signal, b5_false_jump_rate_and_detection_at_correlator_level); iq::track::boc unit tests…
ModelleretIQ-kanal for ionosfærisk scintillation (Cornell-modellen) mod målt GPS L1-scintillation ved 50 Hziq::channel::scint (Scintillation, ScintParams); realdata::scint50 (parse_log, segments, measured_windows, model_windows, compare)
Funktion
iq::channel::scint, Cornell-scintillationsmodellen (Rice-intensitet, andenordens Butterworth-spektrum, fase arg z) drevet ved et målt vindues S4 og intensitetens dekorrelationstid, sammenlignet på det, den genererer ud over disse to input; realdata::scint50 læser den målte log, fjerner tendensen og kører sammenligningen.
Uafhængig reference
Måledata under tærskler præregistreret ved b6ccb499 (xval/scint-malindi/): Zenodo-post 16941224 (INGV, Malindi, 18 marts 2023, GPS PRN 26, intensitet og bærebølgefase ved 50 Hz, CC BY 4,0, SHA-256 kontrolleret). 22 kvalificerede vinduer på 60 s (N1 nået). MET: intensitetsfordelingen (Kolmogorov-Smirnov D 0,0415, tærskel 0,05) og fasescintillationen knyttet til S4 (median af målt/model sigma-phi 0,779, tærskel 2/3 til 3/2). NOT MET (fund F1): modellens andel af dybe fades er 2,38 gange den målte (tærskel 0,5 til 2), og dens gennemsnitlige fade er 3,51 gange så lang (tærskel 2/3 til 3/2). Fund F2: den registrerede behandling læser modellens indpakkede fase, hvilket en selvkontrol afslørede; B3 gentaget post hoc med den udpakkede fase giver 0,804. HVAD DER IKKE KONTROLLERES: andre nætter, stationer, breddegrader eller signaler; modtagerstøj i modellen. Rækken forbliver MODELLED.
Tests
tests/iq_scint_malindi_measured.rs (cornell_model_verdict_is_the_recorded_one, den registrerede kendelse påstået som optegnet, fund F1; finding_model_fades_are_deeper_and_longer_than_measured…
ModelleretCell-averaging CFAR-tilvalg i IQ-akkvisitioniq::acq (CfarConfig, ca_cfar, ca_cfar_cells, ca_cfar_pfa, ca_cfar_alpha)
Funktion
iq::acq::ca_cfar og ca_cfar_cells (til-valg): en celle i et akkvisitionsgitter sammenlignes med middelværdien af referenceceller i dens Doppler-række (guard- og stride-lags, der løber rundt om perioden), ved en faktor alpha fastsat ud fra den lukkede form for CA-CFAR's sandsynlighed for falsk alarm for M ikke-koherente blokke (ca_cfar_pfa, ca_cfar_alpha). Detektoren på sampleeffekt forbliver standard, og alle eksisterende outputs er uændrede.
Uafhængig reference
Lukket form, under tærskler præregistreret ved 3724aefa (docs/design/evidence/acq-cfar/). CA-CFAR's sandsynlighed for falsk alarm for Gamma(M)-celler, mod Monte Carlo af den nøjagtige model: 18 af 18 tilfælde inden for 3 binomiale sigma. På hver celle i iq::acq-søgninger (GPS L1 C/A, 2,5 MS/s, 210.000 celler hver) ved et design på 1 %: 0,977 % og 0,969 % på gaussisk støj og 1,006 % og 0,999 % på 2-bit-kvantiseret støj (M = 1 og 4; tærskel plus eller minus 20 %); beslutninger uændrede, når input skaleres. NOT MET (fund F1): på et støjfrit 2-bit-signal er detektionen og dens celle rigtige, men 1,28 % af cellerne uden for toppen i toppens række (tærskel 1 %) overskrider tærsklen, ved kodens deterministiske korrelationssidelobes. HVAD DER IKKE KONTROLLERES: andre CFAR-varianter, todimensionale vinduer, båndbegrænsede front-ends, feltdata.
Tests
tests/iq_acq_cfar.rs (c1_closed_form_matches_monte_carlo_of_the_exact_model, c2_false_alarm_rate_on_gaussian_noise, c3_false_alarm_rate_on_two_bit_noise, c5_decisions_do_not_depend_on_the_input_scale…
ModelleretSpektrummodel: GLONASS-, BeiDou- og Galileo E6-bånd (til-valg)spectrum (default_band, MORE_BAND_NAMES, GLONASS_CHANNELS)
Funktion
spectrum::default_band opløser, kun ved navn (MORE_BAND_NAMES), GLONASS L1OF og L2OF på hver FDMA-kanal K = -7 til 6 (BPSK, 0,511 Mchip/s), BeiDou B1I (BPSK(2)), B1C (MBOC(6,1,1/11)), B2a og B3I (BPSK(10)) og Galileo E6 (BPSK(5)), med bærebølgerne og de mindste modtagne effekter fra deres interfacekontroldokumenter; standardbåndsættet og alle eksisterende outputs er uændrede.
Uafhængig reference
Offentliggjorte interfacekontroldokumenter og lukkede former, under tærskler præregistreret ved 5806f28b (docs/design/evidence/spectrum-bands/): GLONASS ICD Edition 5,1, BDS-SIS-ICD B1I 3,0, B1C 1,0, B2a 1,0 og B3I 1,0, Galileo OS SIS ICD Issue 2,1. MET: hver bærebølge, chiprate og modtaget effekt som transskriberet (28 GLONASS-kanaler), BPSK's første nulpunkter ved chipraten, B1C-sammensætningen lig med MBOC(6,1,1/11), som dens ICD's effekttabel angiver, C/N0-stiidentiteten og byte-identiske spektrumscenarier. NOT MET: enhedsareal-tærsklen, som var uopnåelig, som den var skrevet (fund F1; arealerne er lig med den lukkede form for andelen i båndet), og sammenfaldet pr. bin mellem IQ-lagets B1I- og B1C-bølgeformer og modellens indhyllingskurve (1,26 og 1,56 dB mod 0,5 dB, fund F2; GLONASS 0,07 dB), fordi Gold- og Weil-koder har ujævne linjespektre; middelværdien over båndet af hovedlobene stemmer inden for 0,25 dB. HVAD DER IKKE KONTROLLERES: optaget IQ, andre signaler, interferens inden for systemet.
Tests
tests/spectrum_more_bands.rs (s1_new_bands_carry_their_icd_values, s2_nulls_and_b1c_parts, s4_cn0_paths_agree_on_the_new_bands; s2_closed_form_densities_verdict_is_the_recorded_one, finding F1, pinned by…
ValideretBeiDou B1I's primære afstandskoder mod en uafhængig generatoriq::signals::beidou (b1i_bits, b1i)
Funktion
iq::signals::beidou::b1i_bits og b1i: BDS-SIS-ICD-B1I-3.0 Gold-koderne afkortet til 2046 chips, PRN 1 til 63, som IQ-laget genererer, akkvirerer og tracker dem.
Uafhængig reference
GNSS-SDR v0.0.19 (tag v0.0.19, commit 1ddd4562), en uafhængig open source-implementering af den samme ICD: dens beidou_b1i_code_gen_int, kompileret selvstændigt, genererede alle 63 koder. Kun dens programoutput er committet: tests/fixtures/iq_signals/beidou_b1i_gnss_sdr.txt, et præfiks på 64 chips og SHA-256 af hver kode på 2046 chips. Dette output er de BeiDou B1I PRN-koder, som den offentlige BDS-SIS-ICD-B1I-3.0 definerer; ingen GNSS-SDR-kildekode eller binær fil findes i arkivet. Tærskel præregistreret ved 911106d1 (xval/beidou-b1i-gnss-sdr/): alle 2046 chips for alle 63 PRN'er identiske, ingen invertering, forskydning eller omdøbning. Resultat: 63 af 63 identiske; fixturen blev genskabt fra en frisk v0.0.19-checkout (kildefilens SHA-256 som registreret) og er byte-identisk. HVAD DER IKKE KONTROLLERES: den sekundære NH20-kode, GEO-PRN-listen, bærebølgen og chipraten.
Tests
tests/iq_signals.rs::beidou_b1i_matches_gnss_sdr_generator_for_all_63_prns
ValideretGPS L1C's afstands- og overlaykoder mod de trykte kontrolkolonner i IS-GPS-800Jiq::signals::gps (l1c_weil, l1c_ranging_bits, l1c_p_bits, l1c_d_bits, l1co_s1_run, l1c_o_bits); iq::signals::tables
Funktion
iq::signals::gps::l1c_p_bits, l1c_d_bits og l1c_o_bits: Weil-afstandskoderne L1CP og L1CD (beregnet Legendre-sekvens, Weil-indeks, udvidelsessekvens indsat før chip p) og L1CO S1-overlaykoderne, PRN 1 til 63.
Uafhængig reference
IS-GPS-800J (01-AUG-2022, distribution statement A), de kontrolkolonner, den trykker ved siden af generatorparametrene: Table 3.2-2 de første og sidste 24 chips for hver L1CP- og L1CD-kode, Table 3.2-3 de første og sidste 11 bits for hver L1CO-kode, Table 6.2-1 Legendre-sekvensen af længde 10223; transskriberet af scripts/extract_is_gps_800_tables.py fra PDF'en (SHA-256 c4aad710...). Tærskler præregistreret ved fe372e26 (docs/design/evidence/l1c-codes/): 252 af 252 kolonner, 63 af 63 overlays og 10.223 af 10.223 Legendre-bits identiske; udtrækningens --check består; en negativ kontrol afviser omdøbte, inverterede og forskudte koder. HVAD DER IKKE KONTROLLERES: selve generatorparametrene (de stammer fra de samme tabeller), chipsene mellem de trykte kolonner, TMBOC-subbærebølgemønstret og L1CO S2-koderne.
Tests
tests/iq_signals_gps_l1c.rs (c1_l1cp_and_l1cd_initial_and_final_24_chips_match_is_gps_800j_table_3_2_2, c2_l1co_initial_and_final_11_bits_match_is_gps_800j_table_3_2_3…
ValideretLunaNet AFS-I's og AFS-Q's primære koder mod de trykte kontrolkolonner i LSIS-AFS V1.0iq::signals::lunanet (afs_i_bits, afs_q_primary_bits, legendre_bits); iq::signals::lunanet_tables; iq::lunanet_afs::check_spec
Funktion
iq::signals::lunanet::afs_i_bits og afs_q_primary_bits (signalnavnene lunanet-afs-i og lunanet-afs-q i kshana iq): AFS-I Gold-koden (2047 kortcyklet til 2046, G2 forsinket pr. PRN) og AFS-Q Weil-primærkoden (beregnet Legendre-sekvens, Weil-indeks, udvidelsessekvens indsat før chip p), PRN 1 til 210.
Uafhængig reference
Mod de trykte tabeller i LSIS-AFS V1.0 (markeret TBC i specifikationen): LunaNet Interoperability Specification V5, Applicable Document 1 Volume A: LunaNet Signal-In-Space Recommended Standard, Augmented Forward Signal (LSIS-AFS) V1.0, 29 januar 2025 (NASA; PDF SHA-256 986e0795...), de kontrolkolonner, den trykker ved siden af generatorparametrene: Tables C-1 til C-5 og D-2 til D-6 de første og sidste 24 chips for hver AFS-I- og AFS-Q-kode, Table D-1 Legendre-sekvensen af længde 10223; udtrukket af scripts/extract_lunanet_afs_tables.py (xval/lunanet-afs/oracle/). Tærskler præregistreret ved b3ba5d5 (xval/lunanet-afs/PREREGISTRATION.md), før generatoren fandtes: B1 420 af 420, B2 identisk, B3 420 af 420. Dokumentet markerer sine kodetabeller {LSIS-TBC} og siger, at de kun er til test og integration, så dette validerer konstruktionen mod den udgaves tabeller, ikke mod en senere udgaves. En præregistreret påstand om den trykte G2-begyndelsestilstand (B1b) blev formuleret med den forkerte retning og er NOT MET (0 af 210), fastlåst; den rettede sammenhæng (2047 minus forsinkelsen) holder for 210 af 210 og er registreret som post hoc. HVAD DER IKKE KONTROLLERES: selve generatorparametrene (samme tabeller), chipsene mellem de trykte kolonner, tertiærkoden, meddelelseslaget og LDPC-kodningen.
Tests
tests/lunanet_afs_codes.rs (b1_afs_i_gold_codes_match_the_printed_first_and_last_24_chips_for_all_210_prns, b2_the_legendre_sequence_of_length_10223_is_the_printed_table_d1…
ModelleretLunaNet AFS' tertiærkoder og meddelelseslag (SB1 BCH, CRC-24Q, interleaver) mod LSIS-AFS V1.0iq::lunanet_afs; iq::signals::lunanet (afs_q_tertiary_bits, afs_q_overlay_bits, afs_q_tiered); surface (lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate)
Funktion
iq::signals::lunanet::afs_q_tertiary_bits, afs_q_tiered; iq::lunanet_afs: synkroniseringsmønster, SB1 BCH(51.8)-koder og dekoder med 256 hypoteser, CRC-24Q, blokinterleaveren på 60 x 98, en kontrol af symbolstrømme (kshana lunanet-afs-check) og en teststrømsgenerator med pladsholderunderrammer. Rate-1/2 LDPC-kodningen af underrammerne 2 til 4 er ikke implementeret (dens matricer findes i et separat bilag).
Uafhængig reference
LSIS-AFS V1.0 (som ovenfor): Legendre-sekvensen af længde 1499 (Table E-1, identisk) og tertiærkodens første og sidste 24 chips (Tables E-2 til E-6: 419 af 420 kolonner identiske; dokumentet trykker de samme sidste 24 chips, A14850, for PRN 147 og PRN 151, og generatoren gengiver PRN 151's, så posten for PRN 147 er med stor sandsynlighed en trykfejl; tærsklen på 420 af 420 er NOT MET, og afvigelsen er fastlåst); det udregnede eksempel i Figure 8 for SB1-koden (ét eksempel: 0x045 koder til 0x229F61DBB84A0); CRC-24Q mod katalogets kontrolværdi 0xCDE703 for ASCII 123456789; dokumentets egen rammearitmetik. Tærskler præregistreret ved b3ba5d5. Én afvigelse på record og ét udregnet eksempel for meddelelseslaget, så rækken forbliver MODELLED. HVAD DER IKKE KONTROLLERES: LDPC og CRC-ordene i underrammerne 2 til 4, meddelelsesindhold og enhver optaget strøm
Tests
tests/lunanet_afs_codes.rs (b4_legendre_1499_matches_and_tertiary_codes_match_except_one_printed_column, the_spec_check_reports_every_bar_and_pins_the_b4_miss); iq::lunanet_afs::tests…
ModelleretStandardpakker: scenarier scoret mod tærskler fastsat før kørslenstandards_pack; compliance (standards-pack facts in compliance-report)
Funktion
standards_pack (kshana standards-pack): testprofilerne i DHS' Resilient PNT-rammeværk for niveauerne 1 til 4, IMO MSC.1/Circ.1575's nøjagtighedsniveauer og integritetsvurdering samt ICAO Doc 9849 Appendix F-pakkerne for overvågning, vurdering og afhjælpning: hver test kører en medfølgende scenarietype og sammenligner resultatfelter med tærskler angivet i pakken, og test, der kræver en modtagerlog, er opført som NEEDS INPUT og scores ikke.
Uafhængig reference
Ingen ekstern for scenarieresultaterne: hver pakketest kører en MODELLED scenarietype. Tærsklerne er pakkeforfatterens angivne profil (DHS-rammeværket angiver ingen værdier; IMO's nøjagtighedsgrænser er Table C-1 i MSC.1/Circ.1575, læst i sin helhed; ICAO-pakken følger ICAO's egen præsentation af RFI Mitigation Plan, fordi Doc 9849 er en betalt publikation og ikke blev læst), committet før enhver scoret kørsel i PREREGISTRATION.md-filer i xval-stil under standards/. En tærskel med MET siger, at et modelleret scenarie nåede en angivet tærskel, intet om et produkt
Tests
tests/standards_packs.rs (pinned_outcomes: status for hver test, inklusive missene L4-T1 og de fire IMO-nøjagtighedstests); standards_pack::tests
ModelleretBevispakke for laboratoriets rundtur (scenarie, testbetingelser, modtagerlog, score)evidence::roundtrip, evidence::assemble, interop::testbench (write_conditions_json), iq::campaign::conditions
Funktion
evidence::roundtrip (kshana evidence round-trip) og receiver-log-eksporten kshana.test-conditions/1 fra kshana bench-export: en signeret pakke, der registrerer scenariets hash, de angivne betingelsers hash, logens hash og scoren mod de angivne hændelser, og som afviser betingelser, der ikke stemmer med scoringshændelserne, eller en log, hvis hash ikke er den angivne. Intet signal skrives, afspilles eller planlægges.
Uafhængig reference
Ingen ekstern: pakken forbinder hashes og en MODELLED modtagerlogscore, kontrolleret på syntetiske data (den eksporterede NMEA fra et medfølgende scenarie behandlet som modtagerens log). Der påstås ingen laboratoriekørsel
Tests
tests/round_trip_pack.rs (pack_links_scenario_conditions_log_and_score_and_verifies, conditions_that_disagree_with_the_scoring_events_are_refused, a_stated_log_hash_that_does_not_match_is_refused…
ModelleretIQ-trackingmotor mod GNSS-SDR 0.0.19 på uafhængige optagelseriq::track (Channel, LoopCore, design); iq::cli::track
Funktion
Den fulde IQ-lags trackingmotor (iq::track gennem kshana iq track: overdragelse fra akkvisition, korrelatorer, NCO'er, andenordens Costas-PLL ved 15 Hz, førsteordens bærebølgeunderstøttet EML-indhyllings-DLL ved 2 Hz, låseindikator og C/N0-estimatorer) på GPS L1 C/A ved 30 til 45 dB-Hz.
Uafhængig reference
GNSS-SDR 0.0.19 (GPL-3.0-or-later, Ubuntu 24,04-pakken, kørt som et separat program; kun afledte tal committet), der tracker de samme numpy-optagelser (uafhængige af motoren), begge målt mod den analytiske reference. Tærskler præregistreret ved 48edd4a5, ændret før nogen testoptagelse ved 1e4288c4 (en FLL på 10 Hz kun under indfangning i begge modtagere, efter at den registrerede kalibrering slog fejl på en forkert GNSS-SDR-overdragelse, fund F3). MET ved 30, 35, 40 og 45 dB-Hz: bærebølgejitter inden for 4,3 %, kodejitter inden for 4,6 % og Doppler-middelværdi og -spredning inden for GNSS-SDR's. NOT MET: motorens NWPR C/N0 aflæser 2,3 til 7,1 dB under GNSS-SDR's SNV (fund F4, den kendte NWPR-grænse; dens M2M4 er inden for 0,06 dB af referencen); fase-låseindikatorerne adskiller sig pr. definition (F5); ved 30 dB-Hz slap GNSS-SDR to gange, og motoren gjorde ikke (F6). GNSS-SDR's egen overdragelse låste på en forkert frekvens i 3 af 30 kalibreringskørsler. HVAD DER IKKE KONTROLLERES: andre signaler, fjernelse af databit, genakkvisition, feltoptagelser. Rækken forbliver MODELLED.
Tests
tests/iq_track_gnss_sdr_oracle.rs (calibration_passes_for_both_receivers, registered_bars_give_the_recorded_verdict, recorded_numbers_are_pinned), on numbers derived by…
ModelleretCRPA-antenneforstærkninger i jamming-typen mod en uafhængig numpy-genberegningjamming (CrpaCfg, crpa_weights, run_jamming); crpa (null_steering_weights, mvdr_weights, covariance)
Funktion
Jamming-typens valgfrie [crpa]-sektion: en stråle pr. kanal mod hver satellit (nulstyring med jammeren som nulpunkt, eller MVDR på sigma^2 I + P_j a_j a_j^H), der skalerer hvert links støj med ||w||^2 og jammeren med |w^H a_j|^2 før den eksisterende anti-jam-C/N0-ligning.
Uafhængig reference
En uafhængig numpy-genberegning (xval/crpa-jamming/oracle.py, ingen delt kode: numpy-styrevektorer, numpy.linalg.solve og inv) af hvert link i jamming-demoens geometri med et kvadratisk array på 4 elementer, under begge vægtninger. Tærskler præregistreret ved 08d83b4d. MET: A1 (alle 150 scenarieresultater byte-identiske uden sektionen, efter en rettelse: det første build tilføjede crpa-enhederne til enhedstabellen i hver jamming-kørsel), A2 (ét element er lig med intet array inden for 1e-12 dB), A3 på arrayets støjforstærkning og effektiv C/N0 (912 linkvægtninger inden for 1e-9 dB, værst 2.1e-14 dB) og på nulpunktet for jammeren ved nulstyring (under -200 dB på begge sider), A4 (MVDR inden for 0,1 dB af nulstyring ved en JNR på 80 dB). NOT MET: A3 på MVDR's jammerforstærkning, 194 af 456 links over 1e-9 dB på 0,36 portabel matematik (202 på værtens matematik; docs/revisions/STUDIO15-batch4-rebaseline.md) (værst 1.7e-6 dB) på residualer fra -100 til -188 dB, hvor float64-udslettelse begrænser begge implementeringer (numpys inv og solve er uenige med hinanden på 169 links, værst 7.9e-7 dB); den effektive C/N0, som disse indgår i, er upåvirket. HVAD DER IKKE KONTROLLERES: indbyrdes kobling, forskelle mellem elementer, bredbåndsbehandling, flere jammere, enhver antennehardware. En genberegning af de samme ligninger, ikke en ekstern uafhængig reference; rækken forbliver MODELLED.
Tests
tests/jamming_crpa.rs (a1_crpa_units_only_with_the_section, a2_one_element_is_no_array, a3_verdict_is_the_recorded_one, a4_mvdr_tends_to_the_null_at_high_jnr), against xval/crpa-jamming/expected.json from…
ModelleretTerrænskygge af jammeren i jamming-typen mod en uafhængig numpy-genberegning på en rigtig SRTM-tilejamming_terrain (TerrainCfg, jammer_terrain, knife_edge_loss_db); jamming (run_jamming_sky)
Funktion
Jamming-typens valgfrie [terrain]-sektion: storcirkelterrænprofilen mellem jammer og modtager på en SRTM .hgt-tile med en jordbule med k-faktor, den dominerende knivægge (største Fresnel-Kirchhoff nu) og det enkelte knivægtab fra ITU-R P.526-15 afsnit 4,1, trukket fra jammerens modtagne effekt.
Uafhængig reference
En uafhængig numpy-genberegning (xval/jamming-terrain/oracle.py, ingen delt kode: egen .hgt-læsning, bilineær interpolation, WGS 84-rundtur, profil, bule, nu og J(nu)) af ti jammerplaceringer omkring en modtager ved Badwater Basin på den committede rigtige SRTM-tile tests/fixtures/terrain/N36W117_sub6.hgt. Tærskler og placeringer præregistreret ved 92cd2bfd. Alle MET: additivitet (alle 150 scenarieresultater byte-identiske uden sektionen); hver placerings profilpunkter og forhindring er ens, og nu og tab ligger inden for 1.6e-10 (tærskel 1e-9); tabet stiger aldrig, når jammeren stiger fra 2 til 4902 m; tabet sænker hvert J/S med nøjagtig sig selv og intet andet; J(nu) inden for 1e-12 dB af den uafhængige references. Fund: placeringer på tværs af Black og Funeral Mountains taber 44 til 48 dB; to placeringer i dalbunden taber 8 og 15 dB alene på grund af jordbulen ved antennehøjder på 2 m, den enkelte knivæggemodels grænsetilfælde. HVAD DER IKKE KONTROLLERES: enhver målt udbredelse, diffraktion over flere kanter, jordrefleksion, clutter, DEM'ens egen fejl. En genberegning af den samme model, ikke en ekstern uafhængig reference; rækken forbliver MODELLED.
Tests
tests/jamming_terrain.rs (b1_terrain_units_only_with_the_section, b2_every_placement_matches_the_independent_numpy_recomputation, b3_the_loss_never_rises_as_the_jammer_rises…
ModelleretAkkvisitionshysterese og front-end-kvantisereren i jamming-typen mod uafhængige genberegningerjamming_rx (AcquisitionCfg, AcqState, FrontEndCfg, front_end); jamming (run_jamming_sky); iq::frontend::quant (optimum_step_sigma)
Funktion
Jamming-typens valgfrie [acquisition]-sektion (en satellit akkvireres ved eller over en akkvisitionstærskel efter en forsinkelse ved genakkvisition og fastholdes, så længe den er ved eller over trackingtærsklen) og [front_end]-sektion (AGC-aflæsningen 10 log10(1 + J/N) og ADC'ens kvantiseringstab for gaussisk input trukket fra hvert link, markeret som ugyldigt for ikke-gaussiske jammere).
Uafhængig reference
En uafhængig Python-genberegning af hvert akkvisitionsflag (xval/jamming-acq-agc/hysteresis.py) ud fra motorens effektive C/N0 pr. epoke, en uafhængig numpy Monte Carlo af kvantiseringstabet (xval/jamming-acq-agc/quantiser_mc.py, egen søgning efter optimalt trin, 2^22 samples) og IQ-lagets AGC-sløjfe. Tærskler præregistreret ved 70c72fcc, med et supplerende kørselssæt ved 37793290. MET: additivitet (alle 150 scenarieresultater byte-identiske uden sektionerne); hvert flag er ens på de supplerende kørsler (1824 links, hvoraf 732 viser hysteresen); monoton i tærsklen; kvantiseringstabet inden for 0,0007 dB af Monte Carlo ved 1 til 4 bit (tærskel 0,02 dB); AGC-aflæsningen inden for 0,012 dB af AGC-sløjfen (tærskel 0,05 dB). NOT MET: de registrerede hysteresekørsler (jamming-demo ved 10 til 30 dBW) var uinformative, idet hvert link gik tabt, og deres H2 og H4 er kun nået trivielt. Fund: med en CW-jammer taber en 1-bit-ADC omkring 5 dB mere end det gaussiske tal, som motoren anvender, og markerer det som ugyldigt. HVAD DER IKKE KONTROLLERES: selve akkvisitionssøgningen, AGC-dynamik over tid, enhver modtagerhardware. Genberegninger af den samme model, ikke en ekstern uafhængig reference; rækken forbliver MODELLED.
Tests
tests/jamming_acq_agc.rs (h1_g1_units_only_with_their_section, h2_no_hysteresis_is_no_hysteresis, h2s_no_hysteresis_is_no_hysteresis_on_the_supplementary_runs, h3_flags_match_the_independent_recomputation…
ModelleretBegrænset FLL-indfangning under standardudformningens gulv for FLL-til-PLL-overdragelse (til-valg)iq::track (LoopConfig, FllGate, design); iq::track::channel (the FLL gate)
Funktion
iq::tracks til-valg carrier.fll_pull_in_max_s (feltet fll_pull_in_max_s i iq::track::LoopConfig): under fll_assist = pull-in overdrager FLL til PLL efter en fast indfangningstid, uanset PLI, med en tilsvarende tilbagevenden, indtil PLI første gang når fll_off_pli.
Uafhængig reference
Intern konsistens mod indlagt reference: en syntetisk datafri GPS L1 C/A-kilde (PRN 13, 1500 Hz, 4,1 MHz, 8 s, ti støjseeds), hvis bærebølgefase er kendt, under tærskler præregistreret ved 58789af0 (docs/design/evidence/fll-handover-floor/). MET: kontrollen (standarden uden begrænsning overdrager aldrig i 9 af 10 seeds ved 33 dB-Hz); additivitet (standardens hash og de eksisterende trackingtests uændrede); indfangning af en overdragelse 100 Hz ved siden af ved 45 dB-Hz. NOT MET: med en begrænsning på 1,0 s sker overdragelse og fastholdelse i hver kørsel (16 af 20 ved 33 dB-Hz, 8 af 20 ved 31 dB-Hz; resten veksler mellem tvungne overdragelser og FLL'ens tilbagevenden) og fasejitteren er inden for 25 % af PLL alene (10,8 mod 6,1 grader ved 33 dB-Hz). HVAD DER IKKE KONTROLLERES: databit, andre signaler og samplerater, feltoptagelser. Standarden er uændret; rækken forbliver MODELLED.
Tests
tests/iq_fll_handover_floor.rs (registered_bars_give_the_recorded_verdict, d1_the_key_is_part_of_the_hash_only_when_set, d4_the_capped_design_pulls_in_a_100_hz_handoff_error), on…
ModelleretRTKLIB .pos-løsningslæser til receiver-trustreceiver_trust::machines::rtklib (read_rtklib_pos); receiver_trust::LogFormat::RtklibPos
Funktion
Læser en RTKLIB-løsningsfil (kalender- eller GPS-uge/TOW-tid, bredde/længde- eller ECEF-position, anvendte satellitter) ind i receiver-trust-tidslinjen (receiver_trust::machines::rtklib).
Uafhængig reference
Ingen ekstern: ingen fil produceret af RTKLIB blev læst, og kolonneopbygningen stammer fra RTKLIB-manualen. Kontrolleret kun på selvskrevne filer; ECEF-konverteringen genbruger frames::ecef_to_geodetic, som har sine egne rækker
Tests
receiver_trust::machines::rtklib::tests (lat/lon epochs, week/TOW and ECEF, dms refused, hostile input); tests/receiver_trust_machines.rs::rtklib_pos_runs_as_a_receiver_log; integrations/gnss_lib_py/test_bridge.py
ModelleretNovAtel OEM7 ASCII- og binære logs (BESTPOS, RANGE, RXSTATUS) til receiver-trustreceiver_trust::machines::novatel (read_novatel, novatel_crc32); receiver_trust::LogFormat::Novatel
Funktion
Læser BESTPOS (position), RANGE (C/No pr. signal) og RXSTATUS (modtagerens jammerflag, som epokens selvrapport) fra ASCII- og binære OEM7-logs, CRC-kontrolleret, skrivebeskyttet (receiver_trust::machines::novatel).
Uafhængig reference
Ingen ekstern som beståelsestærskel. Feltopbygningen og CRC'en følger den offentlige OEM7-dokumentation (docs.novatel.com); CRC-rutinen blev kontrolleret én gang mod den CRC, som dokumentationen angiver for sit eget BESTPOSA-eksempel (citeret, ikke gengivet ordret). Fixtures er selvskrevne; ingen log fra en rigtig modtager blev læst
Tests
receiver_trust::machines::novatel::tests (fastlåst CRC, ASCII- og binære poster, dårlig CRC sprunget over, fjendtligt input); tests/receiver_trust_machines.rs::novatel_jammer_flag_reaches_the_receiver_self_report
ModelleretRTCM 3 MSM4- og MSM7-læser af bærebølge-til-støj-forhold til receiver-trustreceiver_trust::machines::rtcm3 (read_rtcm3, crc24q); receiver_trust::LogFormat::Rtcm3
Funktion
Læser C/N0 for hver signalcelle i RTCM 3 MSM4- og MSM7-meddelelser (GPS, GLONASS, Galileo, SBAS, QZSS, BeiDou, NavIC) fra en rammestrøm, CRC-24Q-kontrolleret (receiver_trust::machines::rtcm3). Opbygningen stammer fra de BSD-licenserede pyrtcm-tabeller, ikke fra teksten i RTCM-standarden.
Uafhængig reference
ReferenceImpl i en engangskontrol, ikke en test i suiten: pyrtcm 1.2.0s dekoder læser de samme selvskrevne rammer til samme C/N0 og epoketid. Den deler kilde til sine tabeller med denne læser, så den kontrollerer bithåndteringen, ikke opbygningen. Ingen optagelse fra en rigtig modtager eller basestation blev læst
Tests
receiver_trust::machines::rtcm3::tests (CRC-24Q-katalogkontrolværdi, MSM4/MSM7 C/N0 og epokesammenlægning, GLONASS-tid og SBAS-id-kortlægning, dårlig CRC og andre meddelelser)
ModelleretGNSS-SDR-monitoradapter til receiver-trustreceiver_trust::machines::gnss_sdr (read_gnss_sdr_monitor); receiver_trust::LogFormat::GnssSdr
Funktion
Læser GNSS-SDR Monitor-meddelelser (Gnss_Synchro) og PVT-monitor-meddelelser, videresendt som JSON-linjer med proto-feltnavnene, til C/N0 pr. kanal, positionsbestemmelse, anvendte satellitter, HDOP og himmel (receiver_trust::machines::gnss_sdr; integrations/gnss-sdr/relay.py).
Uafhængig reference
Ingen ekstern: feltnavnene stammer fra GNSS-SDR-dokumentationen; hverken læseren eller relay.py blev kørt mod en levende GNSS-SDR eller en rigtig optagelse
Tests
receiver_trust::machines::gnss_sdr::tests; integrations/gnss-sdr/example.jsonl
ModelleretIndlæsning af IMU-log, gyro-heading-input og Allan-tilpasning af hybride sensorparametrereceiver_trust::machines::imu, imu_fit; surface::imu_fit; scenario [log.imu]
Funktion
Læser en IMU-CSV (dokumenterede kolonner eller EuRoC-opbygningen); integrerer yaw-raten til den heading, som heading-course-monitoren læser ([log.imu]); og tilpasser accelerometerets og gyroets støjparametre for de hybride scenarier og fusionsscenarierne ud fra en stationær log ved overlappende Allan-deviation (imu-fit).
Uafhængig reference
Ingen ekstern: tilpasningen er kontrolleret på syntetiske hvidstøjlogs med kendte koefficienter, headingen på logs med konstant yaw-rate. Ingen rigtig IMU-log blev tilpasset, og q_aa tilpasses ikke
Tests
receiver_trust::machines::imu::tests; receiver_trust::machines::imu_fit::tests (known white-noise coefficients recovered within 10 %, refusals, TOML parses as AccelCfg); tests/receiver_trust_machines.rs (heading…
ModelleretHome Assistant MQTT-discovery og tilstandseksport til tillidstelemetritelemetry::mqtt (discovery, state_json, connect_packet, publish_packet, MqttSink); surface::TelemetryFormat::Mqtt
Funktion
Et JSON-tilstandsdokument og Home Assistant MQTT-discovery-meddelelser for tillidsstrømmen, udskrevet som tekst på alle flader og udgivet over MQTT 3.1.1 QoS 0 af CLI'en (telemetry::mqtt; trust-telemetry --mqtt-tcp, --print-mqtt, format mqtt).
Uafhængig reference
Ingen ekstern: pakkerne blev læst af en loopback-lytter skrevet til testen, ikke af en rigtig broker, og Home Assistant blev ikke kørt
Tests
telemetry::mqtt::tests (packet bytes, loopback broker, dead broker counted); tests/receiver_trust_machines.rs::trust_telemetry_mqtt_text_has_discovery_then_state
ModelleretROS 2-pakke til receiver-trust og gnss_lib_py-brointegrations/ros2/kshana_trust (bridge.py, trust_node.py); integrations/gnss_lib_py/kshana_gnss_lib_py.py
Funktion
En ROS-fri bro, der skriver positionsbestemmelses- og satellitmeddelelser som NMEA og scorer dem gennem Python-bindingen (integrations/ros2/kshana_trust), og en bro fra gnss_lib_py NavData til receiver-trust gennem rtklib-pos-formatet (integrations/gnss_lib_py).
Uafhængig reference
Ingen ekstern: ROS-noden blev ikke kørt på en levende ROS 2-graf, og feltnavnene i ublox_ubx_msgs blev ikke kontrolleret mod en kørende driver. gnss_lib_py (MIT) blev kørt til brotesten
Tests
tests/receiver_trust_machines.rs (rtklib_pos_runs_as_a_receiver_log: formatet, som gnss_lib_py-broen skriver, kørt gennem receiver-trust); Python-testene for broerne er…

Genereret ud fra motorens verifikationsmatrix og fastlåst af en test. Rul i listen, eller åbn en række for dens funktion, reference og tests. Den fulde tabel med alle kolonner på én gang findes i dokumentationen: Funktionsreference.

ProHar du brug for dette register som en reproducerbar bevispakke i revisionskvalitet til et bedømmelsesorgan? Kshana Pro pakker det.

04Reproducerbar som standard

Kør den igen. Få de samme tal.

Gratis kerne Et resultat kan gengives bit for bit ud fra scenarie, seed og motorversion. Intet her kræver en licens, en konto eller os.

Stemplet, som hver result.json bærerOptaget kørsel

Dette er fra den optagede kørsel med ur-holdover. Åbn den i Kshana Studio, eller kør den selv igen:

scenario_hash
5ba83a232b94e902273fb6dcb71dd27d8109401dc8834d0a735eebf230ed5378
seed
42
engine_version
0.40.0
schema_version
0.7

Motor v0.40.0 · clock-holdover.toml · seed 42Åbn i Kshana StudioRapport

  1. Installér motoren.Eller pip install kshana, eller en hvilken som helst anden kanal.
  2. Kør det samme scenarie.Den skriver result.json, chart.svg, report.html og table.csv ved siden af scenariet.
  3. Sammenlign stemplet.Scenariets hash er en SHA-256-digest (256-bit Secure Hash Algorithm) over det kanoniske scenarie: seed, tærskler, modelparametre. Ændr et vilkårligt input, og hashen ændres. Hver diagramfod bærer de første 12 hex-tegn.
  4. Lad motoren kontrollere sig selv.Ved hver build bekræfter tests, at de publicerede figurer stadig kan gengives (tests/published_figures_still_reproduce.rs), og at hver registerrække navngiver en test og henviser til belæg, der findes (tests/verification_rows_name_a_test_that_exists.rs, tests/verification_rows_cite_evidence_that_exists.rs).
05Standardgitter

Taler de formater, du allerede indberetter i.

18 standarder og formater, som motoren implementerer. Et grønt mærke betyder, at den er kontrolleret mod rigtige data, et publiceret eksempel eller en uafhængig referenceimplementering.

  • TLE / SGP4AIAA 2006-6753KontrolleretTLE to-liniers elementsæt · SGP4 Simplified General Perturbations 4, en banemodel · AIAA American Institute of Aeronautics and Astronautics
  • RINEX 3reelle IGS-data → opmålt koordinatKontrolleretRINEX Receiver Independent Exchange Format · IGS International GNSS Service
  • SP3-c / dtilpasning til reelle præcisionsbaner fra ESA/ESOCKontrolleretSP3 Standard Product 3, et format for præcisionsbaner · ESA Den Europæiske Rumorganisation · ESOC European Space Operations Centre
  • CCSDS OEM / OMMparser OEM-eksemplet fra CCSDS 502.0-B-3 Blue BookKontrolleretCCSDS Consultative Committee for Space Data Systems · OEM efemeridebesked for bane · OMM besked med middelelementer for bane
  • IS-GPS-200broadcast-efemeride → PVT med reelle dataKontrolleretIS-GPS-200 GPS-interfacespecifikation for L1- og L2-signalerne · GPS Global Positioning System · PVT position, hastighed og tid
  • IEEE 1139ADEV/MDEV/TDEV/HDEV mod referencedeviationerne i NIST SP 1065KontrolleretIEEE Institute of Electrical and Electronics Engineers · ADEV Allan-deviation · MDEV modificeret Allan-deviation · TDEV tidsdeviation · HDEV Hadamard-deviation · NIST National Institute of Standards and Technology
  • RAIM / ARAIMdetektionskerne for snapshot (χ²/ikke-central χ²/normal) mod SciPy · budget for ARAIM MHSS afventer gennemgangKontrolleretRAIM autonom integritetsovervågning i modtageren · ARAIM avanceret autonom integritetsovervågning i modtageren · MHSS løsningsadskillelse med flere hypoteser
  • SBAS / DO-229EDO-229E HPL/VPL mod RTKLIB SBAS-PL-fork på reelle EGNOS-data · L1/L5 ionosfærefriKontrolleretSBAS satellitbaseret augmentationssystem · DO-229E RTCA minimum operational performance standards for satellite-based augmentation system receivers, revision E · HPL horisontalt beskyttelsesniveau · VPL vertikalt beskyttelsesniveau · RTKLIB et open source-bibliotek til GNSS-positionering · EGNOS European Geostationary Navigation Overlay Service
  • IONEX / KlobucharKlobuchar L1-forsinkelse mod RTKLIB ionmodel · IONEX TEC-kortlæser tolerant, endnu ingen ekstern uafhængig referenceKontrolleretIONEX Ionosphere Map Exchange format · RTKLIB et open source-bibliotek til GNSS-positionering · TEC totalt elektronindhold
  • IGRF-14mod officielle BGS IGRF-14-værdierKontrolleretIGRF-14 International Geomagnetic Reference Field, 14. generation · BGS British Geological Survey
  • CCSDS 133,0primær header mod CCSDS 133.0-B-2 + spacepackets-py-vektorerKontrolleretCCSDS Consultative Committee for Space Data Systems
  • CCSDS TDMparser TDM-eksemplet fra CCSDS 503.0-B-2 Blue BookKontrolleretCCSDS Consultative Committee for Space Data Systems · TDM sporingsdatabesked
  • CCSDS 401 / DSNlinkligning mod offentliggjort DESCANSO/JPL Galileo DCTKontrolleretCCSDS Consultative Committee for Space Data Systems · DSN Deep Space Network · DESCANSO Deep Space Communications and Navigation Systems Center of Excellence · JPL Jet Propulsion Laboratory · DCT designkontroltabel, linkbudgettets regneark
  • IMO-vejledning om GNSS-interferens (skibe)IMO-vejledning for skibe, afbildet efter paragrafnummerImplementeretGNSS Global Navigation Satellite System
  • EU's NIS2, artikel 21risikostyringsforanstaltninger, afbildet efter paragrafnummerImplementeret
  • EN 16803rumbaseret PNT i transport, afbildet efter paragrafnummerImplementeretPNT positionering, navigation og tidssynkronisering
  • USA's DHS-rammeværk for modstandsdygtig PNTrammeværk for konformitet af modstandsdygtig PNT, afbildet efter paragrafnummerImplementeretDHS United States Department of Homeland Security · PNT positionering, navigation og tidssynkronisering
  • EASA-vejledning om GNSS-interferens (luftfart)EASA-vejledning for luftfart, afbildet efter paragrafnummerImplementeretGNSS Global Navigation Satellite System
Når en gennemgang kræver mere

Samme belæg, pakket eller udført for dig.

Motoren og alt ovenfor forbliver gratis. To betalte veje bygger videre på dem, under kontrakt.

Pro

Kshana Pro: et missionsdossier og en bevispakke

Kshana Pro pakker det belæg, en gennemgang eller et indkøbsudvalg beder om, reproducerbart. Det bygger på dette register, hvor hver funktion navngiver sin uafhængige reference og sin test, og på det stempel, hvert resultat bærer. Med én kommando kontrollerer et missionsdossier hvert krav mod rigtige kørsler og skriver en verifikationsmatrix med dens åbne punkter og en PDF (Portable Document Format).

Anmod om en Pro-evaluering Se et rigtigt dossier

Skræddersyet undersøgelse

Et skræddersyet studie: dit spørgsmål, besvaret

Et skræddersyet studie besvarer dit eget spørgsmål med de samme etiketter: hvert tal valideret eller modelleret, ikke en certificering. Eksportkontrolleret arbejde håndteres under sikkerhedsklarering og NDA (fortrolighedsaftale).

Anmod om et studie Hvorfor, og hvem den er til

Benchmark

Sammenlign metoder på de samme logs.

kshana-bench fastlægger opgaver, opdelinger og målinger for GNSS-interferensdetektion og holdover af tidssynkronisering, med baselines, hvis tærskler blev nedskrevet før den første scorede kørsel. En score beskriver en log eller et korpus, aldrig et produkt.

06Forskning og citation

Publiceret forskning.

6 artikler på arXiv, det åbne preprint-arkiv, bygget på den åbne motor. Hver åbner til en figur, der er kørt igen på motoren, dens resultater, kommandoen og dens DOI (Digital Object Identifier).

Lunar navigation · arXiv:2610,23871

Cislunar navigation er et observabilitetsproblem: buelængdetærskler, Gram-konditionering og Doppler-håndtaget

I cislunart rum gælder dilution of precision ikke: forbindelser med kun afstand lader hastigheden være uobserverbar på ethvert tidspunkt, så krav hører hjemme i budgetter for buelængde, konditionering og målingstype.

Tal
012345Range only, one instantRange only, one instant: 2 · GDOP undefined: the velocity columns of the range Jacobian vanish2Range and range rate, one instantRange and range rate, one instant: 4 · a snapshot solution exists; GDOP 6.3534Range only, tracked for 1.83 hRange only, tracked for 1.83 h: 3 · the last sampled arc short of full rank3Range only, tracked for 2.09 hRange only, tracked for 2.09 h: 4 · the first sampled arc at full rank; Gramian condition 1.6e+09 at 6 h4
ModelleretMotor v0.40.0 · cislunar-observability.toml · deterministisk, uden seedÅbn i Kshana Studio
Hovedresultater
  • I motorkørslen har geometri med kun afstand på ét tidspunkt rang 2 af 4, så en dilution of precision er udefineret; hele tilstanden bliver observerbar efter en bue på 2,09 h.
  • At tilføje afstandsrate løfter den øjeblikkelige rang fra 2 til 4: en forbindelse med Doppler-evne gør en øjebliksløsning mulig, hvor en forbindelse med kun afstand ikke kan.
  • Over tærsklen forbedres konditioneringen med buelængden, så krav læses bedre som budgetter for buelængde, konditionering og målingstype.
Sådan gengiver Kshana det

Typen cislunar-observability differentialkorrigerer fire plane distante retrograde baner, samler Jacobi-matricerne for afstand og afstandsrate gennem tilstandsovergangsmatricen for tre legemer og rapporterer den observerbare rang over en voksende sporingsbue, observabilitetsgramianens konditionstal og et kvadratrods-informationsfilter, der genberegner den samme størrelse ad en anden vej.

Figuren. Det medfølgende scenarie: fire differentialkorrigerede plane distante retrograde baner, sporet med afstandsmåling mellem satellitter over en bue på 6 h, samplet hver 0,26 h.

Reproducér det

Kører scenarietypen cislunar-observability (scenarios/cislunar-observability.toml) med den installerede motor.

Åbn i Kshana Studio
Citér den
BibTeX · baweja2026cislunar
@misc{baweja2026cislunar,
  title         = "{Cislunar navigation is an observability problem: arc-length thresholds, Gramian conditioning, and the Doppler lever}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2610.23871},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2610.23871},
  url           = {https://arxiv.org/abs/2610.23871}
}

Lunar navigation · arXiv:2607,06212

Prisen for lunar geometri ved sydpolen og overfladebeacons som den effektive løsning: en analyse af dilution of precision

Planlagte baner klumper sig overhead for en lunar bruger ved sydpolen; nogle få afstandsmålende beacons på nærliggende højt terræn retter geometrien billigere end flere satellitter.

Tal
0510156 satellites, no beacons6 satellites, no beacons: 11.66 · 5 satellites and 0 beacons in view · 11.2 m (1 sigma)11.666 satellites + 1 visible beacons6 satellites + 1 visible beacons: 4.998 · 5 satellites and 1 beacons in view · 4.8 m (1 sigma)4.99824 satellites, no beacons24 satellites, no beacons: 2.893 · 19 satellites and 0 beacons in view · 2.8 m (1 sigma)2.893
ModelleretMotor v0.40.0 · lunar-beacon.toml · deterministisk, uden seedÅbn i Kshana Studio
Hovedresultater
  • I den medfølgende kørsel skærer den ene beacon, der er fri af horisonten, den geometriske dilution of precision fra 11,66 til 4,998; en konstellation med 24 satellitter når i stedet 2,893.
  • De satellitter, en bruger ved sydpolen ser, klumper sig i et lille område overhead, så geometrien begrænses af deres spredning, ikke af deres antal.
  • Nogle få beacons på hævet terræn når en geometri, som en udformning med kun baner først når med en meget større flåde.
Sådan gengiver Kshana det

Typen lunar-beacon bygger afstandsmålingsgeometrien for en konstellation i kredsløb plus de opmålte overfladebeacons, der er fri af den luftløse horisont, på dilution-of-precision-kernen, som er kontrolleret mod et uafhængigt bibliotek, og rapporterer hver konfigurations dilution of precision og dens nøjagtighed i meter.

Figuren. Én epoke af det medfølgende scenarie, dets standardgeometri: satellitterne alene, satellitterne plus de beacons, der er fri af horisonten, og en konstellation med 24 satellitter i stedet.

Reproducér det

Kører scenarietypen lunar-beacon (scenarios/lunar-beacon.toml) med den installerede motor.

Åbn i Kshana Studio
Citér den
BibTeX · baweja2026cost
@misc{baweja2026cost,
  title         = "{The Cost of Lunar South-Polar Geometry, and Surface Beacons as the Efficient Fix: A Dilution-of-Precision Analysis}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2607.06212},
  archivePrefix = {arXiv},
  primaryClass  = {astro-ph.EP},
  doi           = {10.48550/arXiv.2607.06212},
  url           = {https://arxiv.org/abs/2607.06212}
}

Lunar navigation · arXiv:2607,02566

VLBI med Jord-baseline genopretter observabiliteten af en lunar overfladestation i fælles bane- og urbestemmelse

Afstandsmåling i det lunare netværk fastlægger kun relativ geometri; en interferometrisk forsinkelse med meget lang baseline over Jorden binder en overfladestation til Jordens referencesystem, selv med få satellitter. VLBI interferometri med meget lang baseline

Tal
1 m10 m100 m1,000 m10,000 mWithout the interferometry tieWithout the interferometry tie: 2,182 m · Fisher information rank 15 of 16: the station position is not observable, no Cramér–Rao bound2,182 mWith the Earth-baseline interferometry tieWith the Earth-baseline interferometry tie: 3.5 m · full rank 16 of 16 · Cramér–Rao bound 20.1 m3.5 mlog scale
ModelleretMotor v0.40.0 · lunar-joint-od-clock.toml · seed 42Åbn i Kshana Studio

Optaget på macOS som publiceret. En ny kørsel på Linux x86-64 giver 2184 m / 3,537 m (værtsafhængighed i solverens iterat, issue #36 række 6).

Hovedresultater
  • Afstandsmåling inde i det lunare netværk lader klyngen være fri til at forskydes og rotere uset; urene forbliver observerbare, så defekten er rent positionel.
  • I motorkørslen (3 satellitter) har Fisher-informationen uden interferometriforbindelserne rang 15 af 16; med dem har den fuld rang og en Cramér–Rao-grænse på 20,1 m.
  • Med en rig konstellation gør interferometribindingen blot grænsen skarpere; med en tynd genopretter den stationens absolutte position.
Sådan gengiver Kshana det

Typen lunar-joint-od-clock fusionerer interferometriske forsinkelser over Jord-baselines, lunart lokale afstande og afstande mellem satellitter i én samlet mindste kvadraters tilpasning, kører den med og uden interferometriforbindelserne på samme seed og rapporterer rangen af Fisher-informationen, datumdefekten og Cramér–Rao-grænsen.

Figuren. Det medfølgende simulerede netværk: 3 lunare satellitter, 6 jordstationer, én overfladestation, samme seed og reference for begge tilpasninger.

Reproducér det

Kører scenarietypen lunar-joint-od-clock (scenarios/lunar-joint-od-clock.toml) med den installerede motor.

Åbn i Kshana Studio
Citér den
BibTeX · baweja2026earth
@misc{baweja2026earth,
  title         = "{Earth-baseline VLBI restores the observability of a lunar surface station in joint orbit-and-clock determination}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2607.02566},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2607.02566},
  url           = {https://arxiv.org/abs/2607.02566}
}

Integritet af tidssynkronisering · arXiv:2606,24210

Et betinget Timing Protection Level: holdover-begrænset ikke-detekteret tidsfejl under GNSS-spoofing

En optaget spoof viser en tidsmodtager, der leverer tid langt mere forkert, end den rapporterer; ingen ubetinget grænse findes, så artiklen afgrænser den ikke-detekterede fejl betinget. GNSS Global Navigation Satellite System

Tal
10 ns100 ns1 µs10 µs100 µs1 ms10 ms10 s30 s60 sserved error 1.01 ms, receiver unawareaccuracy it claimed ≤ 51 nsTiming Protection Level 114 ns at 1 sTiming Protection Level 119 ns at 5 sTiming Protection Level 128 ns at 10 sTiming Protection Level 200 ns at 30 sTiming Protection Level 458 ns at 60 sprotection level 114 ns458 ns
ModelleretMotor v0.40.0 · examples/tpl_jammertest.rs · deterministisk, uden seed
Hovedresultater
  • En offentlig optaget spoof trak modtagerens leverede tid med omkring 1,01 ms, mens den højst rapporterede 51 ns.
  • Mod en tilstrækkelig langsom rampe findes ingen endelig ubetinget grænse, så grænsen er betinget af, at et uafhængigt tjek på tværs af satellitter opdager angrebet.
  • Motorens Timing Protection Level er 114 ns ved 1 s detektionslatenstid og 458 ns ved 60 s.
Sådan gengiver Kshana det

Modulet Timing Protection Level lægger en monitors detektionsgulv til oscillatorens coast over detektionslatenstiden. Eksemplet kalibrerer det med de skalarer, der er genfundet fra den offentlige JammerTest 2024-optagelse; selve optagelsen leveres ikke.

Figuren. Eksemplets udskrift: det betingede Timing Protection Level ved fem detektionslatenstider og de to skalarer, det genfandt fra den offentlige JammerTest 2024-optagelse.

Reproducér det

Genskaber studieartefakten fra examples/tpl_jammertest.rs, i en klon af repositoriet.

Citér den
BibTeX · baweja2026conditional
@misc{baweja2026conditional,
  title         = "{A Conditional Timing Protection Level: Holdover-Limited Undetected Time Error Under GNSS Spoofing}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2606.24210},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2606.24210},
  url           = {https://arxiv.org/abs/2606.24210}
}

Resiliensscoring · arXiv:2607,05415

Hvor stabil er en PNT-resiliensscore? Beslutningsustabilitet i resiliensvurderinger med ét tal under rammeværksjusteret vægtning

Resiliensvurderinger med ét tal for positionering, navigation og tidssynkronisering er kun stabile, hvor én udformning dominerer; vægtning, trussel og erklærede teknikker kan vende dem. PNT positionering, navigation og tidssynkronisering

Tal
0%5%10%15%20%25%NominalNominal: 22%22%Wideband jammingWideband jamming: 1.25%1.25%SpoofingSpoofing: 1.1%1.1%MeaconingMeaconing: 1.1%1.1%Combined threatsCombined threats: 1.1%1.1%
ModelleretMotor v0.40.0 · examples/resilience_report.rs · seed 12345
Hovedresultater
  • Omvægtning alene ændrer den øverst rangerede arkitektur i 22% af trækkene under nominelle forhold og i højst 1,25% under hver aktiv trussel.
  • Et modenhedsniveau efter svageste led afhænger af den antagne trussel, ikke kun af arkitekturen.
  • Fordi sammensætningen belønner erklærede teknikker, kan en udformning, der erklærer flere, score højere end en mere robust.
Sådan gengiver Kshana det

Modulet resilience scorer syv referencearkitekturer på tværs af de syv rammeværkskategorier og fem trusler, trækker kategorivægtene tilfældigt fra en Dirichlet-fordeling og tæller, hvor ofte den øverste rang ændres. Eksemplet skriver hele studiet som én deterministisk fil.

Figuren. 7 referencearkitekturer, 2.000 tilfældige kategorivægtninger pr. trussel.

Reproducér det

Genskaber studieartefakten fra examples/resilience_report.rs, i en klon af repositoriet.

Citér den
BibTeX · baweja2026stable
@misc{baweja2026stable,
  title         = "{How Stable Is a PNT Resilience Score? Decision-Instability of Single-Number Resilience Ratings under Framework-Aligned Weighting}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2607.05415},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CR},
  doi           = {10.48550/arXiv.2607.05415},
  url           = {https://arxiv.org/abs/2607.05415}
}

Radiofrekvensinterferens · arXiv:2606,22054 · version 2

At forudse optimismegabet: forudsigelse af degradering af RF-forstyrrelsesdetektorer ved fordelingsskift ud fra statistik inden for fordelingen

Hvor meget en interferensdetektor taber under skiftede forhold, kan forudsiges ud fra dens egne scorer inden for fordelingen; syntetiske resultater, kontrolleret på åbne feltoptagelser. RF radiofrekvens

Tal
-0.10-0.05-0.050.000.000.050.050.100.100.150.150.200.200.250.25R² 0.46, detector left outpredicted →↑ actual
ModelleretMotor v0.40.0 · examples/optimism_study.rs · seed 1, 2, 3, 4, 5
Hovedresultater
  • Gabet mellem arealet under kurven inden for fordelingen og under skift vokser, når skiftet bliver dybere, og afhænger af, hvor mange observable en detektor bruger, snarere end af om den er lært.
  • I motorkørslen forudsiger en ridge-model på scorestatistik inden for fordelingen gabet for en detektor, den ikke har set (R² 0,46), og for en interferensklasse, den ikke har set (R² 0,33).
  • De vigtigste resultater er syntetiske; artiklen kontrollerer dem derefter på åbne feltoptagelser.
Sådan gengiver Kshana det

Forstyrrelsesstudiet genererer et syntetisk, parameterforankret korpus for fire interferensklasser, scorer tretten detektorer ved fire skiftgrader over fem seeds og tilpasser gabprædiktoren med leave-one-out-krydsvalidering og en permutationstest.

Figuren. 260 celler af detektor, klasse og grad; hver forudsigelse er lavet for en detektor, der er udeladt af tilpasningen.

Reproducér det

Genskaber studieartefakten fra examples/optimism_study.rs, i en klon af repositoriet.

Citér den
BibTeX · baweja2026anticipating
@misc{baweja2026anticipating,
  title         = "{Anticipating the Optimism Gap: Predicting Distribution-Shift Degradation of RF-Impairment Detectors from In-Distribution Statistics}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2606.22054},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2606.22054},
  url           = {https://arxiv.org/abs/2606.22054}
}

Citér motoren

Hver udgivelse arkiveres på Zenodo med en citerbar DOI, og en CITATION.cff følger med i repositoriet. Citér venligst motorversionen, scenariet og seed.

Baweja, C. (2026). Kshana — a PNT-resilience simulator with quantum-sensor performance models (Version 0.40.0). Ashforde OÜ. https://doi.org/10.5281/zenodo.20528627

BibTeX for motoren
BibTeX
@software{kshana,
  title   = {Kshana — a PNT-resilience simulator with quantum-sensor performance models},
  author  = {Baweja, Chakshu},
  version = {0.40.0},
  year    = {2026},
  doi     = {10.5281/zenodo.20528627},
  url     = {https://github.com/ashfordeOU/kshana},
  license = {AGPL-3.0-only}
}