Gemodelleerde mogelijkheden — onderbouwing
Deze mogelijkheden zijn geïmplementeerd vanuit gepubliceerde of eerstebeginselenfysica met tests, maar dragen eerlijk het label MODELLED — ze zijn niet tot een opgegeven tolerantie getoetst aan een onafhankelijke externe referentie. De invarianttests van de matrix dwingen af dat alleen rijen die door ExternalDataset worden gedragen VALIDATED mogen zijn, zodat hier niets stilzwijgend kan worden bevorderd. Elke rij vermeldt waarom ze gemodelleerd blijft.
| Eis | Mogelijkheid | Soort referentie | Waarom het gemodelleerd blijft | Module | Tests |
|---|---|---|---|---|---|
| Zonne-SRP-schaduw met randverduistering (optioneel) | SRP-verlichte fractie als niet-bedekte fractie van de zonnestroom met randverduistering (wet in Eddington-benadering I(mu)/I(1) = 2/5 + 3/5 mu, Gauss-Legendre-kwadratuur) over een sferische of WGS-84-Aarde (srp_shadow::limb_darkened_shadow, de ShadowModel-variant OblateEarthLimbDarkened) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Geen externe: Orekit 12,2 kent geen verhouding van verlichting met randverduistering. Alleen getoetst aan gesloten vormen van dezelfde wet | srp_shadow | srp_shadow::tests (de ringvormige gesloten vorm, de uniforme wet die de conische schaduw reproduceert, de grenzen van volle zon en kernschaduw) |
| DE440-Zon en -Maan in het Cowell-krachtenmodel (optioneel) | Optionele efemeridenlaag voor de termen van derde lichamen en SRP van het numerieke Cowell-ForceModel: de geocentrische Zon en Maan van elke EphemerisProvider (een DE440-SPK-kernel via KernelEphemeris) op TDB = TT + (TDB - TT), die een provider weigert die het epoche niet kan bedienen en elke terugval op de analytische reeks telt; standaard uit | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Orekit 12,2 (Apache-2.0) NumericalPropagator/DormandPrince853 met ThirdBodyAttraction en SolarRadiationPressure op Orekits eigen DE440-lezer (orekit-data lnxp1990.440), als apart programma gedraaid; kshana leest een bit-voor-bit, met SPICE gecontroleerd uittreksel van NAIF de440s.bsp. Drempels vooraf vastgelegd in xval/propagator-de440-orekit/PREREGISTRATION.md (22a5a01d). De baandrempel (0,5 m) en de gevoeligheidscontrole zijn gehaald, maar de positiedrempel van Zon/Maan (3 m / 0,2 m) is gemist met 6,39 m / 0,244 m. SPICE, dat dezelfde kernel op zijn exacte TDB leest, mist Orekit met hetzelfde bedrag (6,25 m / 0,240 m), dus het verschil ligt tussen het pad van NAIF de440s en Orekits DE440-lezer of tijdschaal; oorzaak niet geïsoleerd. Vastgelegd en vastgepind, dus de rij blijft MODELLED | propagator (ForceModel::with_ephemeris, ForceEphemeris), ephem_provider | tests/propagator_de440_orekit_oracle.rs (5 gevallen x 25 uurlijkse toestanden over 24 h, LEO, GEO en HEO, derde lichaam en derde lichaam + SRP: slechtste |dr| 0,0170 m, |dv| 1.84e-5 m/s; analytische-reekscontrole mist met 9,96 m; Zon 6,39 m en Maan 0,244 m ten opzichte van Orekits DE440-posities, een vastgelegde misser); unittests van de propagator (weigering van de provider, fallback-telling gedeeld over klonen) |
| Atmosferisch getij S1 (optioneel) | Het dagelijkse luchtdrukgetij S1 als geopotentiaalverstoring: model N1 van Biancale en Bode (2006), graden 2 tot 6, via de belastingformule IERS 2010 vgl. 6,21 (tides::atmospheric_tide_s1, s1_air_tide_acceleration), optioneel in de Cowell- en precieze krachtenmodellen (air_tide_s1, standaard uit) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Geen externe voor het geopotentiaaleffect. De 24 coëfficiënten zijn overgenomen uit GFZ STR06/01 Tabel 1 model N1 en rij voor rij opnieuw gecontroleerd tegen het rapport (SHA-256 890865ae); de graden 0, 1, 7 en 8 worden niet gebruikt. Ray en Ponte (2003) drukken geen tabel met sferisch-harmonischen af, dus er is geen tweede bron vergeleken | tides, propagator, precise_od | tides::tests (de S1-term is dagelijks, draait 90 graden in een kwart dag en heeft de amplitude van de belastingsfactor van elke rij; fysische grootte bij LEO); propagator::tests::the_s1_air_tide_flag_adds_exactly_the_s1_acceleration |
| Zwaartekracht met sferische harmonischen van hoge graad (EGM2008 tot 2190) | Underflow-veilige, poolveilige evaluatie van een volledig genormaliseerd veld tot graad 2190 (SphericalHarmonicField::acceleration_hf / potential_hf, gemodificeerde voorwaartse kolom van Holmes-Featherstone 2002 met de gradiënt vrij van 1/cos phi), een streamende ICGEM-.gfc-lader (from_gfc_file / from_gfc_reader; de volledige EGM2008 wordt tijdens het uitvoeren opgehaald, niet meegeleverd), en de Holmes-Featherstone-evaluator die kan worden gekozen op de optionele Cowell Geopotential | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Orekit 12,2 (Apache-2.0) HolmesFeatherstoneAttractionModel en pyshtools 4.14.1 (BSD-3-Clause) MakeGravGridPoint, als aparte programma's gedraaid; drempels vooraf vastgelegd in xval/high-degree-gravity/PREREGISTRATION.md (276c869f) en xval/cowell-tesseral-200-orekit/PREREGISTRATION.md (0aa312a6). Orekit komt overeen overal waar het is gedefinieerd, maar pyshtools mist zijn vooraf vastgelegde drempel op de twee punten dicht bij de pool (tot 7.3e-10 m/s^2; een mpmath-controle met 50 cijfers legt de fout bij pyshtools), er is geen referentiewaarde precies op de poolas, en de vooraf vastgelegde gevoeligheidscontrole van graad 70 voor de baan van 24 h is gemist (0,726 m tegen > 1 m). Elke misser is vastgelegd, niet weggestemd, dus de rij blijft MODELLED | gravity_sh, propagator (FieldEvaluator) | tests/gravity_sh_high_degree.rs (Orekit op 8 punten buiten de as: max |da| 2.2e-17 m/s^2 bij N = 70, altijd gedraaid; 3.5e-17, 3.9e-17 en 7.3e-17 m/s^2 bij N = 200, 360, 2190, gated op data via KSHANA_EGM2008_GFC); tests/cowell_tesseral_200_orekit_oracle.rs (baan van 24 h 200x200, gated op data: slechtste |dr| 0,1317 m, |dv| 1.45e-4 m/s; controle op graad 70 0,726 m); unittests van gravity_sh (overeenstemming met de klassieke evaluator tot 1e-13 bij graad 70, eindige differentie en poolcontinuïteit op een veld van graad 2190, een onderlopende term van graad 2190 tegen een berekening met uitgebreide exponent) |
| Batchbaanbepaling met range-rate en az/el met stationsmaskering | Herstel een epochetoestand uit gemengde tracking van afstand, range-rate en azimut/elevatie boven een elevatiemasker met Gauss-Newton op H = (dh/dx(t)) Phi(t, t0): analytische meetpartiëlen en een variationele toestandsovergangsmatrix met analytische partiëlen voor tweelichamen + J2 (met RK4 geïntegreerd, geen STM in gesloten vorm) | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Orekit 12,2 (Apache-2.0) BatchLSEstimator met eigen ogenblikkelijke geometrische RangeRate- en AzEl-metingen (gecontroleerd tegen Orekits TopocentricFrame), als apart programma gedraaid op identieke gemaskeerde, gezaaide waarnemingen. Drempels vooraf vastgelegd in xval/od-measurements-orekit/PREREGISTRATION.md (0cf9076). Elke drempel gehaald behalve B4, de toestandsovereenstemming zonder ruis van 1 cm, gemist bij 2 van 4 scenario's (1,46, 1,74 cm): Orekits eigen schatting zonder ruis ligt zo ver van zijn gesimuleerde referentie (oorzaak aan de Orekit-kant niet geïsoleerd). Vastgelegd en vastgepind, dus de rij blijft MODELLED. Niet gemodelleerd: lichttijd, aberratie, refractie, aardrotatie, een sequentieel filter voor deze meettypen | orbit_determination (determine_orbit_batch_tracking, propagate_with_stm, is_visible), batch_ls (gauss_newton_analytic) | tests/od_tracking_measurements_reference.rs (8 scenario's: range-rate, az/el en gemengd, LEO en MEO, zonder ruis en gezaaid sigma 5 m / 5 mm/s / 1e-4 rad, maskers van 5 en 10 graden, tegen Orekit 12,2: zichtbare verzamelingen identiek; meetwaarden binnen 5.84e-8 m, 6.30e-10 m/s, 1.44e-13 rad; STM binnen 1.2e-14 relatief; ruisige toestanden binnen 1,74 cm en 1.14e-5 m/s; post-fit-RMS per type binnen 2.7e-4 relatief; kshana zonder ruis tegen de referentie 1.06e-8 m; kshana zonder ruis tegen Orekit 1,464 en 1,740 cm op twee scenario's, een vastgelegde misser van de drempel van 1 cm); unittests van orbit_determination en batch_ls |
| Waarnemingsweging met de nauwkeurigheidscodes van SP3 | Zet SP3-nauwkeurigheidscodes (header ++ exponenten in 2^n mm, de %f-basis, standaarddeviaties base^n mm per record) om in positiesigma's per waarneming voor de engine voor precieze baanbepaling (sp3::parse_sp3_accuracy, Sp3Accuracy::position_sigma_m) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Geen externe: de gewichten zijn een modelleringskeuze (het SP3-formaat definieert de code alleen als nauwkeurigheidsindicator van de producent; hier wordt hij gelezen als eenmalige sigma per as). De bestaande vastgelegde agentschapsruns zijn ongewijzigd | sp3, precise_od | unittests van src/sp3.rs; tests/agency_galileo.rs::galileo_e11_sp3_accuracy_weighted_fit (vastgelegde ESOC-fixture van 8 h, sigma 0,032 m uit header-exponent 5: Tier-1 3D-RMS 0,132 m ongewijzigd, Tier-2 0,035 m tegen 0,070 m bij sigma 1 m, waarbij de wijziging voortkomt uit de herbalanceerde empirische a-priori-beperking); tests/agency_swarm.rs (het Swarm-product draagt geen nauwkeurigheidscodes en valt terug, vastgepind) |
| Een gepubliceerd zwaartekrachtveld aan een lichaam koppelen | with_gravity_field (op Body, in src/gravity_pds.rs): koppel elk geladen sferisch-harmonisch veld (bijvoorbeeld GMM-3 of GL0660B) aan een Body zodat de propagator het lichaamsvast evalueert; optioneel, standaardlichamen ongewijzigd | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Alleen interne consistentie. Elk gepubliceerd veld is gedefinieerd in het lichaamsvaste stelsel van zijn producent (GMM-3 in het Mars-stelsel van Konopliv et al. 2006, GL0660B in het hoofdassenstelsel van de maan van DE421), terwijl het veld wordt geëvalueerd in het IAU-stelsel; de offset is niet gemodelleerd | gravity_pds, body, propagator, mars_frame | tests/planetary_gravity_pds.rs::a_shadr_field_attached_to_a_body_drives_the_propagator; gravity_pds::tests::with_gravity_field_is_opt_in |
| Encoders voor navigatieberichten naast GPS LNAV (GPS CNAV, Galileo I/NAV en F/NAV) | GPS CNAV-berichttypen 10/11/30, Galileo I/NAV-woordtypen 1-5 in nominale even/oneven pagina's en Galileo F/NAV-paginatypen 1-4: ICD-veldverpakking en kwantisatie, CRC-24Q, convolutiecodering met rate 1/2 K=7 (G2 geïnverteerd voor Galileo), blokinterleaving en synchronisatiepatronen, met bijpassende testdecoders | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Alleen interne round trip en bekende antwoorden uit de ICD; er is geen decoder van derden gedraaid (de RTKLIB/GNSS-SDR-harnas dat KSHANA_NAVMSG_ORACLE_JSON leest, is gated op data). MODELLED | gnss_navmsg (gps_cnav, gal_inav, gal_fnav, fec) | gnss_navmsg::tests (CRC-24Q-controlewaarde 0xCDE703; convolutionele impulsrespons; Viterbi corrigeert ingebrachte fouten; layoutbreedten); tests/gnss_navmsg_roundtrip.rs (startbits van velden zijn gelijk aan de bitnummers van de ICD; encode -> FEC -> interleave -> Viterbi -> decode round trips binnen een halve LSB); tests/gnss_navmsg_galileo_brdc_grid.rs (IGS BRDC 2018-133 Galileo-records op het LSB-raster, slechtste 3.6e-3 LSB; vooraf vastgelegde drempel voor het aantal satellieten gemist, 15 van 20, BEVINDING) |
| Hatch-draaggolfafvlakking van code op echte RINEX-waarnemingen | Divergentievrij Hatch-filter (ionosfeervrije code gedragen door de ionosfeervrije draaggolf, venster van N epochen, herstart bij verlies van lock, geometry-free-sprong of gat) in de assemblage voor precieze single-point-positionering | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — BEVINDING tegen de gepubliceerde ITRF2020 WTZR-coördinaat: de vooraf vastgelegde drempels (gladgestreken mediaan en p95 hoogstens 0,6 x ruw; tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_HATCH.md) zijn gemist, verhoudingen 0,718 en 0,923; de resterende fout op metrisch niveau is biasachtig (C1C-codebias, antenne, getij, multipath met lange periode), niet de witte ruis die het gladstrijken verwijdert. MODELLED: de statistiek van het filter wordt intern gecontroleerd | hatch (HatchFilter), pvt (assemble_epoch_precise_smoothed, CarrierSmoother) | hatch::tests (doorgave zonder ruis; variantie van witte ruis 1/(2N-1); herstarts); tests/hatch_wettzell_oracle.rs::hatch_finding_is_pinned (WTZR 2025-02-24 01-06 h, 600 epochs, N = 100: mediane 3D-fout 1,553 -> 1,116 m, p95 3,473 -> 3,207 m) |
| Lezen van RINEX 4-waarnemingsbestanden | RINEX 4.0x-waarnemingsheaders (DOI, LICENSE OF USE, STATION INFORMATION, MERGED FILE; labels gematcht in kolommen 61-80 voor versie 4 en later) en epoche-records | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Formaatcontrole op een echt gepubliceerd RINEX 4,00-bestand (teruggelezen waarden zijn gelijk aan de afgedrukte literalen van het bestand) en een uit de specificatie afgeleide header; er is geen onafhankelijke lezer gedraaid, dus MODELLED | rinex_obs (parse_obs) | tests/rinex4_obs_mao0.rs (eerste 4 epochs van het IGS MGEX RINEX 4,00-bestand MAO000USA_R_20231980000_01D_30S_MO, 58 satellieten, 7 systemen: headerrecords en waarden van de eerste epoch zijn gelijk aan de gepubliceerde literalen); rinex_obs::tests::parses_a_rinex_4_header_with_its_new_records (synthetische 4,02-header uit de specificatie) |
| Broadcast-satellietpositie van BeiDou GEO | Positie van een geostationaire satelliet volgens BDS-SIS-ICD-B1I v3.0 §5.2.4.12 uit een broadcast-efemeride (quasi-inertiaal stelsel, dan Rz(Ω̇e·tk)·Rx(−5°)), optioneel via het veld include_beidou_geo van NavParseOptions, zodat de standaardlezer GEO's nog steeds overslaat | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Vooraf vastgelegd (7aa264b, 110fef9) tegen een precieze IGS MGEX-baan met de GEO's; zo'n product was niet bereikbaar vanuit de sessie die het bouwde, dus de vergelijking is in afwachting en de rij is MODELLED (alleen getoetst aan de gepubliceerde nominale GEO-slots) | rinex (RinexEphemeris::sv_position_ecef_bds_geo, NavParseOptions) | tests/bds_geo_broadcast_oracle.rs (echte records C01-C04: geostationaire straal, lengtegraden 140.02/80.04/110.55/159.99 graden op de gepubliceerde slots, |breedtegraad| 2,13 graden met de kanteling tegen 6,65 zonder; de vooraf vastgelegde vergelijking van broadcast met precieze SP3 is gated op data via KSHANA_BDS_GEO_SP3 en is niet gedraaid); rinex::tests |
| Strak gekoppelde GNSS/INS met draaggolffase en float-ambiguïteiten | Foutentoestands-EKF over 15 INS-toestanden, een ontvangerklok met twee toestanden en één float-draaggolfambiguïteit per gevolgde satelliet; pseudorange, draaggolffase en optionele range-rate uit een SGP4-Walker-constellatie (lichttijd en Sagnac), correcties van Klobuchar en Saastamoinen/Niell toegepast in de lus op de eigen positie van het filter; slipdetectie met tijdgedifferentieerde draaggolf met een drempel per satelliet die wordt verruimd door de snelheidsonzekerheid; herinitialisatie van ambiguïteiten bij slips en heracquisitie | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Interne consistentie: de metingen worden gesynthetiseerd uit de modellen die het filter gebruikt (χ² NEES/NIS over seeds, een convergentie zonder ruis, slip-injectie). MODELLED; er worden geen echte ontvangerdata of filter van derden vergeleken | fusion::carrier_tc (run_carrier_tc, CarrierTcCfg), fusion::trajectory (truth_epochs) | tests/fusion_carrier_tc.rs (rit in een 8-vorm: stationaire 3D-RMS 0,025 m draaggolf tegen 0,470 m code op identieke metingen; 12 seeds gemiddelde NIS/dof 1,00 en stationaire NEES/dof 0,92; een slip van 1 cyclus gedetecteerd op zijn epoch zonder valse alarmen en met intacte oplossing; het uitzetten van de broadcast-correcties verhoogt de codefout van 0,51 m naar 19,6 m (iono) en 8,0 m (tropo); een run zonder ruis convergeert naar 0,3 mm) |
| GNSS/INS-pakketten voor maritiem, spoor en luchtvaart met een optie voor strakke koppeling | Drie gnss-ins-scenario's op de trajectbibliotheek (een vaartuig dat met 8 m/s slingert met een uitval van vijf minuten; een trein door een inkarteling met twee satellieten en een tunnel; een vliegtuig waarvan de uitval een bocht met 25 graden helling beslaat) en de optionele [tight]-tabel van het pakket: pseudoranges uit een SGP4-Walker-constellatie samengevoegd door de gesloten-lus-navigator, elke satelliet boven het masker bij nominaal en de hoogste enkele bij gedegradeerd | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Intern: de kwaliteitsmaten van elk pakket tegen zijn eigen referentie en een vergelijking tussen los en strak gekoppeld op identieke invoer. MODELLED; de NaveGo-vergelijking van de audit is niet gedraaid | fusion::pack (TightCfg, [tight]), scenario's gnss-ins-maritime / gnss-ins-rail / gnss-ins-aviation | tests/gnss_ins_packs.rs (elk pakket: gefuseerd onder vrije INS tijdens de uitval voor beide sensoren; spoor: strak 5,3 m tegen los 12,9 m navigatieklasse en 15,6 m tegen 18,8 m tactisch tijdens de uitval, beschikbaarheid 0,97 tegen 0,95; strakke tabel getoetst); tests/gnss_ins_legacy_trajectory_pin.rs (de losgekoppelde standaard bit-identiek) |
| Gekoppeld PNT-filter met pseudoranges met biastoestand en 3D-uitbreiding in het fusiepakket | Eén gestapeld Kalman-filter over positie, snelheid, klokfase en -frequentie, gevoed met pseudoranges die positie en klok koppelen (updates in Joseph-vorm met de kruiscovariantie); een 1-DOF-variant aangevuld met een toestand voor een constante versnellingsmeterbias die het fusiepakket onder [coupled] draait; en de 3D-versie met 8 toestanden met line-of-sight-rijen | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Interne consistentie: referentie gesimuleerd uit de eigen modellen van de filters (χ² NEES over Monte Carlo-seeds, het ontkoppelde pakket op identieke sensoren). MODELLED | fusion::coupled (CoupledPntFilter, CoupledPntBiasFilter, CoupledPnt3d), fusion (run_coupled_suite), hybrid (CoupledCfg) | tests/fusion_coupled_filters.rs (3D-filter over 60 seeds: gemiddelde NEES van de tweede helft 8,12 voor 8 toestanden, χ²-som van de laatste epoch binnen zijn 95 %-band; een klokvaststelling van 0,1 ns verlaagt de 3D-positiesigma van 5,58 m naar 3,07 m; biasfilter over 60 seeds: χ²(5)-som binnen de band, bias binnen 3 sigma bij 59 van 60; fusion-pnt-coupled met bevooroordeelde versnellingsmeters: positie p95 18,7 m / 90,0 m en integriteit 1,00 / 0,97 gekoppeld tegen 430 m / 4060 m en 0,006 / 0,000 ontkoppeld); fusion::coupled::tests; tests/fusion_coupled_pack.rs (fusion en hybrid zonder [coupled] bit-identiek) |
| GNSS/INS-trajectbibliotheek en import van CSV-referentie | Te kiezen bewegingsprofielen voor het gnss-ins-pakket (recht, figuur-8, stedelijk stop-en-go, vliegtuigklim en gecoördineerde bocht, survey-drone), gedefinieerd door commando's voor Euler-snelheid en versnelling langs het spoor die op de referentietoestand worden gesloten met de kinematische IMU (centripetale, zwaartekracht- en Coriolistermen), en geïmporteerde CSV-referentie omgezet in de IMU die haar reproduceert; de historische rit blijft ongewijzigd als er geen profiel is opgegeven | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Intern: identiteiten van starrelichaamkinematica, de CSV-round-trip en de eigen covariantie van het filter. MODELLED (er wordt geen echt rijlog vergeleken) | fusion::trajectory (TrajectoryCfg, Trajectory, kinematic_imu, parse_truth_csv), fusion::pack ([trajectory]) | fusion::trajectory::tests (gecoördineerde bocht heeft geen zijkracht en belastingsfactor 1/cos φ; CSV-import reproduceert een gevlogen profiel tot 1e-3 m/s en 1 m); tests/gnss_ins_trajectory_library.rs (elk profiel draait en fusie verslaat vrije INS tijdens de uitval; elk vliegt zijn genoemde beweging; waarneembaarheid van de koers: yaw-sigma na 240 s 1,27 graden bij rechte kruisvlucht tegen 0,039 graden bij een 8-vorm en 0,062 graden bij stop-and-go); tests/gnss_ins_legacy_trajectory_pin.rs (legacy-resultaat en referentiehashes bit-identiek) |
| Aarde-Maan-CR3BP 9:2-NRHO tegen de baan die CAPSTONE vloog | De circulair-beperkte zuidelijke L2-halobaan 9:2 met bijna rechtlijnige baan die cr3bp::differential_correct_halo corrigeert (de baanfamilie van Gateway en CAPSTONE), vergeleken op zijn gemiddelde geometrie (periode, perilune-straal, apolune-straal) met de baan die CAPSTONE werkelijk vloog. Een meting van hoe goed het CR3BP-lid de echte baan beschrijft; een CR3BP-baan is geen baan uit een efemeridenmodel en wordt niet epoche voor epoche vergeleken | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Gemeten tegen de door JPL Horizons gereconstrueerde CAPSTONE-efemeride (NAIF -1176, CAPSTONE_merged, maangecentreerd ICRF, 2023-03-01..31 met 10 min), byte voor byte vastgelegd (tests/fixtures/capstone_horizons/, NOTICE.md), vooraf vastgelegd 4e868170 voordat ze werd opgehaald, als meting met drempels op de gemiddelde geometrie. Geen validatie: de CR3BP laat de Zon, de excentriciteit van de Maan en het stationkeeping dat CAPSTONE uitvoerde weg, dus de drempels beschrijven hoe representatief de modelbaan is, niet een nauwkeurigheid. Resultaten: docs/design/evidence/cap29d-capstone-nrho/RESULTS.md | cr3bp (differential_correct_halo, PeriodicOrbit) | tests/capstone_nrho_horizons.rs::cr3bp_nrho_matches_capstone_mean_geometry (CAPSTONE maart 2023, 4 perilunes en 5 apolunes: periode 6,5004 d tegen 6,5699 d (1,07 %, drempel 3 %), apolune 71.182 tegen 71.215 km (0,05 %, drempel 5 %), perilune 3.385 tegen 3.245 km (4,1 %, drempel 20 %)); cr3bp::tests::reproduces_l2_southern_nrho_92_regime |
| Positiefout uit geometrie: RMS-fout = sigma_UERE x DOP voor de kleinste-kwadratenfix van de engine | dop_error_mc::run_geometry en check: een geseedde Monte Carlo (N = 20.000 epochen per geometrie, sigma = 1,5 m, ChaCha8-seed 36 + i) van de eigen iteratieve kleinste-kwadratenfix van de engine (pvt::solve_spp, eenheidsgewichten, opgelost vanuit de ware positie) op de 8 geometrieën van tests/fixtures/dop/dop_reference.csv, waarbij de oost-, noord-, omhoog- en klokfoutvarianties, de H/V/P-RMS, de oost-noord-correlatie, de gemiddelde fouten en de fractie binnen de horizontale ellips van 95 % worden vergeleken met sigma^2 Q, waarbij Q de covariantiefactor is van de kernel orbit::dop (orbit::dop_cofactor, dezelfde rekenkunde) op dezelfde geometrie | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Interne consistentie tegen een gesloten vorm: onder het lineaire Gauss-model is de kleinste-kwadratencovariantie sigma^2 (H^T H)^-1 (Kaplan en Hegarty (red.), Understanding GPS: Principles and Applications, 2e dr., Artech House, 2006, hfdst. 7). Methode en toleranties van de ontwerpnotitie over geometrie van 0,36, sectie 5,2, vastgelegd in een preregistratiecommit vóór de eerste run: elke variantie binnen 5 % (5 standaardfouten van een steekproefvariantie bij N = 20.000), elke RMS binnen 2,5 %, de oost-noordcorrelatie binnen 0,035 (5/sqrt(N)), elk gemiddelde binnen 5 standaardfouten, de 95 %-ellipsfractie binnen 0,95 +/- 0,0077 (5 binomiale standaardfouten); negatieve controles (PDOP verdubbeld; fouten die groeien als 1/sin(elevatie) tegen de ongewogen Q) moeten falen. HOE HET IS SAMENGESTELD: Q is de covariantiefactor van de kernel orbit::dop, VALIDATED tegen gnss_lib_py 1.0.4 op ditzelfde stel van 8 geometrieën in tests/dop_reference.rs (rij 'GNSS geometry / dilution of precision'); deze rij voegt de stap van die factoren naar meters via de solver van de engine toe en leent de status van die rij niet. WAAROM MODELLED: er is geen externe dataset bij betrokken; overeenstemming toont dat de schatter en de ruis sigma x DOP realiseren onder het leerboekmodel, niet dat de fout van enige ontvanger gelijk is aan UERE x DOP, en sigma_UERE is een invoer | dop_error_mc (run_geometry, check, TOLERANCES); dop_error_ci (run, GEOMETRIES); pvt (solve_spp); orbit (dop, dop_cofactor) | tests/uere_dop_monte_carlo.rs (position_error_is_sigma_times_dop_on_the_gnss_lib_py_geometries: alle 104 controles slagen bij de eerste run na preregistratie e50c88d2, slechtste variantie 3,2 %, RMS 1,6 %, correlatie 0,012, gemiddelde 2,2 standaardfouten, ellipsfractie 0,0039; negative_control_a_doubled_pdop_fails_every_geometry; negative_control_elevation_dependent_errors_fail_the_low_elevation_geometries: beide controles falen zoals vereist; position_error_is_sigma_times_dop_on_masked_skies: de twee geometrieën met gemaskeerde skyline van de ontwerpnotitie, de 10sat-mixed-hemel onder de voorinstellingen city-street (4 satellieten, PDOP 16,6) en container-terminal (9 satellieten, PDOP 2,5), alle 26 controles slagen bij de eerste run na preregistratie 03999c11, tests/fixtures/dop/PREREGISTRATION-MASKED.md); tests/position_error_dop_ci.rs (een eerste, afzonderlijke controle op vier met de hand gekozen hemels (open, geclusterd, canyon, halve hemel; sigma 1 m, seed 0x0D0B5EED) met chikwadraat-betrouwbaarheidsintervallen van in totaal 1e-6 over 20 controles: verhoudingen 0,987 tot 1,009, de eigen PDOP/GDOP van de solver gelijk aan die van de kernel tot 2.5e-12, en negatieve controles voor een DOP-fout van 10 % en fouten van 1/sin(elevatie); gedraaid vóór de preregistratie, dus gerapporteerd, niet vooraf vastgelegd); dop_error_mc::tests; dop_error_ci::tests |
| Geometriebewuste vertrouwensclassificatie: satellietgeometrie naast de vertrouwensscore van de ontvanger en een klasse bij elke aftrek | receiver_trust::geometry: satellietgeometrie per epoche (goed, gedegradeerd met redenen few-satellites/high-pdop/high-hdop/sky-blocked, of onbekend als het logboek geen GSV, NAV-SAT of GSA geeft) afgeleid uit de gerapporteerde elevaties en azimuts via orbit::dop of overgenomen uit GSA, met een label dat altijd wordt gerapporteerd en nooit wordt gescoord (good, fair, poor, unknown) en de HDOP, PDOP, VDOP, het aantal satellieten en het signaalverlies in woorden; een geometriemonitor voor de vaartuigscore die niets aftrekt tenzij de geometrie slecht is (verhouding max(hdop/4, pdop/6, 5/n_used) boven 1), dan oploopt tot een plafond van 15 punten bij 1,5 dat geometrie alleen niet onder de gedegradeerde band kan brengen (plafond, eind van de helling en ondergrens in [geometry]; geen alarm); een klasse bij elke aftrek (geometry, environment, inconsistency) waarbij verlies van lock op satellieten onder 15 graden als geometry wordt geclassificeerd, satellieten in zicht maar niet gevolgd als environment, en een aftrek voor slechte geometrie waarvan de opgegeven HDOP verder dan max(1,0, 25 % van de afgeleide HDOP) van de opgegeven hemel ligt als inconsistency | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Interne consistentie: de classificatie wordt getoetst aan de regels die ze vermeldt en aan met de hand afgeleide verhoudingen op synthetische bewerkingen van het vastgelegde demolog, en de no-change-pins houden de uitvoer van 0.35.0 vast: geen enkele score verandert tenzij de geometrie slecht is; het label wordt altijd gerapporteerd. WAAROM MODELLED: de drempels zijn gekozen, niet gefit (herkomst in de geometry_model van elke run; de cijfers van IEC 61108-1 en GPS SPS zoals aangehaald, nog te controleren aan de tekst van de standaarden), en er is geen externe gelabelde dataset van natuurlijke geometriedegradatie tegenover aanvallen om de classificatie aan te valideren. De afgeleide DOP hergebruikt de kernel orbit::dop, VALIDATED tegen gnss_lib_py, wiens status deze rij niet leent. Een geometrieklasse is een uitspraak over de hemel, geen bevinding dat er geen aanval heeft plaatsgevonden | receiver_trust (geometry: GeometryTracker, geometry_ratio, sky_ratio, geometry_points, GeometryLabel; score: DeductionClass, score_with; monitors; live); telemetry (sample, prometheus, syslog, otlp) | tests/natural_degradation_trust.rs (a_stated_skyline_reads_the_fjord_as_geometry: op de synthetische fjordpassage van scenarios/training/fjord-natural-degradation.toml worden dezelfde 624 epochs afgetrokken met en zonder de opgegeven [skyline]; ermee wordt sky-blocked gerapporteerd op 680 epochs (0 zonder: de terugval op azimutgaten ziet niets in een fjord met twee zijden), open_fraction is 0,758 en de epochs van de omgevingsklasse dalen van 78 naar 33, de rest zijn verliezen van satellieten die de opgegeven skyline in het open laat; buiten de gebeurtenis verandert de skyline geen enkele score); receiver_trust::geometry::tests (met de hand afgeleide verhoudingen bij de drempels, de drempelranden, de ramp en het plafond, de ondergrens, de labelranden, [geometry]-overschrijvingen, de DOP op de getoetste kernel, vastgehouden en verlopen hemels, onbekend niet geraden, signaalverlies, de tolerantie voor slechte geometrie, no-fix-sentinels); tests/geometry_trust.rs (een redelijke gemaskeerde hemel gelabeld en niet gescoord, een slechte gemaskeerde hemel, een verlies bij lage elevatie, een vermogensdaling, een vervalste HDOP, totaal signaalverlies, een drag-off tijdens slechte geometrie, onbekende geometrie, sessie-overschrijvingen, het live-schema); tests/geometry_trust_no_change.rs (beide voorbeeldsessies byte-identiek aan 0.35.0 zodra de toegevoegde sleutels zijn verwijderd); tests/geometry_corpus_identity.rs (elk vastgelegd NMEA-corpus van een vaartuig, ook als GPS-only open hemel, en de bemanningstrainingsscenario's: byte-identiek aan 0.35.0 behalve slechte epochs, die alleen verschillen door de geometrieaftrek) |
| Reducties van straatcanyon, sector en terrein tot een tabel | skyline: de straatcanyon in gesloten vorm (afkapping atan((h - a) / d) met d = (w/2) / abs(sin(az - s)), open uiteinden bij een eindige lengte), scherpe sectoren met de klok mee met omslag, en terreinpunten gereduceerd tot een tabel met de kromtedaling d^2/(2 * 4/3 R); de skyline is hun puntsgewijze maximum met een eventuele tabel | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Intern: de gesloten vormen worden getoetst aan met de hand berekende waarden (elevaties van muurtoppen van een opgegeven straat, de open-eindvoorwaarde, de krommingsdaling van een opgegeven punt). Geen externe referentie: de ontwerpnotitie begrenst deze reducties als MODELLED, en Orekits ElevationMask neemt een tabel, dus de vergelijking van rij 'Azimuth-dependent skyline mask: visible set, azimuth and elevation, and DOP under the mask' leest hun tabellen met 360 punten als invoer en toetst ze niet | skyline (Canyon::cut_deg, Sector::contains, TerrainPoint::elevation_deg, reduce_terrain, SkylineCfg::build) | 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) |
| Skyline-voorinstellingen (stadsstraat, havenaanloop, fjord, containerterminal) | skyline::PRESETS: vier REPRESENTATIVE geometrieën met de opgegeven afmetingen uit de ontwerpnotitie en telkens een herkomstregel: city-street (een canyon, straat 0 deg, 20 m tussen muren van 30 m, antenne 1,5 m), harbour-approach (sectoren: open naar zee over 180 deg, kadegebouwen 8 deg over 90 deg, de golfbreker 3 deg), fjord (terrein: wanden 600 m boven de antenne op 1,5 km aan weerszijden van een noord-zuidgeul, kromtedaling toegepast), container-terminal (sectoren: stapels 12 deg over de landwaartse helft, kraanbomen 35 deg en 25 deg over twee smalle sectoren); veld voor veld te overschrijven | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Geen: gekozen en opgegeven afmetingen, geen opmeting van enige straat, haven, fjord of terminal (de aspectverhouding van de straat ligt binnen de band 0.5-2 van Oke (1988); de fjord is van de orde van de West-Noorse fjorden; de stapels gebruiken de ISO 668 high-cube-hoogte). De test toetst de voorinstellingen aan hun eigen opgegeven afmetingen, een transcriptiecontrole, die de validatieregel niet meetelt | skyline (PRESETS, preset, preset_list) | skyline::tests (presets_carry_the_note_dimensions_and_provenance) |
| Skygeometriefuncties: zichtbaarheid, DOP, covariantie, foutellips, Monte-Carlo-wolk | geometry (sky_geometry, sky_monte_carlo, skyline_presets, skyline_profile, skyplot_svg; CLI kshana sky en kshana skyline, Python- en WASM-functies met dezelfde namen, MCP sky_geometry): vanuit een locatie, een tijdstip en constellatievoorinstellingen (of satellieten als azimut/elevatie of ECEF) de zichtbare en onder een skyline gemaskeerde satellieten, GDOP/PDOP/HDOP/VDOP/TDOP, de cofactor met eenheidsvariantie (H^T H)^-1 en de covariantie in oost-noord-omhoog met één ontvangerklok per systeem of één gemeenschappelijke, de horizontale foutellips (halve assen k sigma sqrt(lambda), k = sqrt(-2 ln(1 - p)), oriëntatie 0,5 atan2(2 Q_EN, Q_NN - Q_EE) vanuit het noorden), en n geseede kleinste-kwadratenfouten bij onafhankelijke Gaussische afstandsfouten met hun empirische covariantie, RMS en insluiting van 95 %. De cofactor is orbit::cofactor_from_los, de ene kern achter orbit::dop en orbit::dop_cov (dop is de reductie van dop_cov): geen tweede DOP-implementatie |
ReferenceImpl | getoetst aan een aparte implementatie in ditzelfde codebestand — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — De DOP-factoren met één klok berusten op de kernel die is getoetst aan gnss_lib_py 1.0.4 (rij 'GNSS geometry / dilution of precision (DOP)'); de eigen controles van deze rij zijn intern: sky_geometry reproduceert orbit::dop en dop_cov op dezelfde geometrie, de ellips reproduceert een analytische 2x2-eigenontbinding, ECEF- en azimut/elevatie-invoer komen overeen, en de RMS en de 95 %-insluiting van de gezaaide wolk komen overeen met de geometrie. De ENU-covariantie met één klok per systeem en de ellips zijn VALIDATED in rij 'Horizontal error ellipse and per-system cofactor from the geometry covariance' (numpy, P2); wat hier MODELLED blijft, is de samenstelling: de propagatie van voorinstellingen naar een representatieve hemel, de Monte Carlo-wolk (getoetst aan de geometrie die ze bemonstert, een zelfconsistentiecontrole) en de oppervlakken. De constellatievoorinstellingen geven een representatieve hemel, geen gedateerde; het Gauss-foutmodel en de UERE zijn opgegeven invoer, geen gemeten nauwkeurigheid of integriteitsgrens | geometry; orbit (cofactor_from_los, dop_cov, dop); surface (sky_geometry, sky_monte_carlo, skyline_presets, skyline_profile, skyplot_svg) | 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; monte_carlo_is_seeded_and_agrees_with_the_geometry; presets_propagate_and_are_seen_from_a_site); tests/dop_reference.rs (de kernel met één klok tegen gnss_lib_py) |
| Klok-holdover zonder GNSS | Groei van de uitloopfout in gesloten vorm + holdover tot de drempel; kwantumklokklassen | ReferenceImpl | getoetst aan een aparte implementatie in ditzelfde codebestand — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Recursie van de clock_state-covariantie in meerdere stappen (kruiscontrole binnen hetzelfde codebestand); de onderliggende kernel voor coast-variantie en holdover-inversie is extern getoetst tegen scipy (zie 'Clock-holdover coast-variance & threshold inversion'). De holdover-cijfers per klasse met rode-ruisbodem blijven MODELLED | holdover | holdover::tests (tegen de Kalman-covariantierecursie in meerdere stappen; witte FM exact; round-trip); coast-variantiekernel extern getoetst in tests/gnss_denied_clock_holdover_reference.rs (tegen scipy Van-Loan/brentq) |
| Gemeten klokapparaatkaarten (voorspelling op achtergehouden data) | clock_library: een apparaatkaart (witte fase, witte, flicker- en random-walk-FM plus een lineaire frequentiedrift) gefit op een derde van een benoemde gemeten klokregistratie na een gelogde conditioneringsronde (hiaten, faseuitschieters, fasesprongen en bursts verwijderd; frequentiesprongen gelogd), gewogen met de via lag-1 geïdentificeerde vrijheidsgraden van het ruistype, en de voorspelde Allan-deviatie ervan beoordeeld op de achtergehouden twee derde; lezers voor RINEX- en IGS-klokbestanden, BIPM-bestanden per laboratorium en Circular T, sectie 1; omzetting van een kaart naar het ruismodel voor slottiming, het uitgebreide Kalman-klokmodel en de ruisniveaus van de spoofingmonitor | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Gemeten records, achtergehouden: IGS final combined-klokken van 30 s van de 11 GPS Block IIF-satellieten over 2026-03-01 tot 14 (een venster dat geen enkele test had geopend; IGS, open met naamsvermelding) en de u-blox ZED-F9P-ontvanger van JammerTest 2024 in zijn niet-gescoorde stationaire sessies (GPL-3.0-or-later). D9 externe vergelijking (vooraf vastgelegd 2ec76864, de voorspelde / gemeten Allan-deviatie van elke kaart binnen [1/1.5, 1,5] bij haar gefitte middelingstijden), een bevinding (blijft MODELLED): 10 van de 11 GPS IIF-kaarten liggen binnen de drempel; G27 is optimistisch op de schaal van twee uur (0,662 bij 7680 s, slechtste factor 1,510), de periodieke fout op uurschaal die een machtswetkaart niet draagt. De TCXO-kaart van de ontvanger is geblokkeerd: buiten de gelogde uitzendingen laten de andere sessies van de dataset 167 epochs over tegenover de vereiste 3600. Gerapporteerd, niet blind (records die door eerdere rijen zijn geopend): de 5071A-cesiumkaart ligt binnen de drempel (slechtste 1,070 tot 4096 s), de OCXO-kaart is conservatief en erbuiten (2,348 bij 128 s; zijn ruisbodem verandert tijdens de opname), en de strontiumkaart van Norcia, gefit op de drie kortste gepubliceerde punten, ligt erbinnen op de twee gescoorde punten (1,291, 1,405). Passieve waterstofmasers van Galileo (geen bereikbare bron zonder login voor definitieve Galileo-klokken) en de Deep Space Atomic Clock (één open waarde in de ruimte) zijn geblokkeerd. D9 ronde 2, de ZED-F9P-ontvanger-TCXO als modelklasse op 14 dagen van 12 statische stations in Wrocław (Zenodo 6488497, CC BY 4,0; vooraf vastgelegd fb475550), een bevinding: met de geregistreerde pipeline waren 11 van de 12 stations niet evalueerbaar (RAIM verwierp de meeste ionosfeervrije epochs) en BX14 faalde; een openbaar gemaakte herrun met een gecorrigeerde pipeline (vooraf vastgelegd c9cc0d49) slaagt voor 1 van de 11 blinde stations (BX12, 1,412; BX07 1,532 en BX13 1,542 er net buiten), omdat klokken van single-point-ontvangers uit onderbroken bestanden van 30 s geen zuiver oscillatorrecord zijn | clock_library (card, condition, series), realdata::clk, allan (lag1_noise_id) | 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; vooraf vastgelegd 2ec76864); clock_library::card::tests; clock_library::condition::tests; clock_library::series::tests; realdata::clk::tests; tests/clock_library_f9p_cards_oracle.rs (f9p_first_pipeline_reproduces_the_recorded_finding; f9p_corrected_pipeline_reproduces_the_recorded_finding; gated op data) |
| Gemeten GPS Block IIF-klokkaarten met termen per omloop (voorspelling op achtergehouden data) | clock_library::card::DeviceCard::fit_phase_periodic: een apparaatkaart die de fasetermen van één tot vier per omloop draagt (periode T/k, T = 43.082,05 s), samen met de kwadratische term gefit met kleinste kwadraten op een derde van een gemeten satellietklokregistratie, met per term de Allan-bijdrage in gesloten vorm 4 A^2 sin^4(pi tau / P) / tau^2 in de voorspelde Allan-deviatie | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Gemeten records, achtergehouden: IGS final combined-klokken van 30 s van de 11 GPS Block IIF-satellieten over 2026-04-01 tot 14 (een venster dat geen enkele test had geopend; IGS, open met naamsvermelding). D9 externe vergelijking (vooraf vastgelegd fb475550, voorspelde / gemeten Allan-deviatie binnen [1/1.5, 1,5] bij elke gefitte middelingstijd op elke satelliet), een bevinding (blijft MODELLED): 9 van de 11 kaarten liggen binnen de drempel; G03 (1,947) en G25 (1,581) zijn optimistisch tussen 60 s en 2000 s omdat hun achtergehouden records ruisiger zijn dan hun fitderden (het achtergehouden deel van G25 bevat 16 gaten en 29 faseuitschieters), een verandering van de klok in plaats van een ontbrekende periodieke term. Het weglaten van de periodieke termen uit de voorspelling laat alle 11 kaarten falen (1,77 tot 4,96), dus de termen dragen de voorspelling | clock_library (card) | tests/clock_library_periodic_cards_oracle.rs (periodic_cards_reproduce_the_recorded_finding; vooraf vastgelegd fb475550); clock_library::card::tests (a_periodic_card_carries_the_sinusoid_a_power_law_card_cannot) |
| Schatting van de klokstoestand aan boord | Kalman-klok met 3 toestanden (fase/frequentie/drift) volgens Van Loan, Joseph-gestabiliseerd | ReferenceImpl | getoetst aan een aparte implementatie in ditzelfde codebestand — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — filterpy 1.4.5 KalmanFilter (R. Labbe, MIT), met F via scipy.linalg.expm en Q via de blokmatrix van Van-Loan 1978 — een onafhankelijke referentie-implementatie die het volledige filtertraject van kshana reproduceert. Consistentie tussen implementaties: de klokfysica en de Allan-kalibratie zijn niet extern getoetst, dus dit blijft MODELLED. Externe vergelijking van 0,30, een bevinding (blijft MODELLED): op IGS final-klokken van 30 s van 11 GPS Block IIF-satellieten (2025-08-17 tot 30), met Q gefit op de ADEV van de eerste helft en het filter gescoord op de achtergehouden tweede helft, is het filter één stap vooruit consistent (0,906 tot 0,971 van de epochs binnen zijn 95 %-band, drempel 90 %) maar overmoedig na een uur bij 9 van de 11 klokken (0,486 tot 0,829) en vallen zijn innovatiesommen buiten [2,4, 3,6] bij 5. De gefitte witte-faseruis is nul op elke satelliet, en de fout op uurschaal (periodieke termen, flicker-FM) zit niet in het model met 3 toestanden. Ronde 2 van 0,30, een uitgebreid filter (flicker-FM en toestanden eenmaal en tweemaal per omwenteling) op verse achtergehouden IGS-klokken van 2025-09-01 tot 14 (vooraf vastgelegd 4b1a841e), een bevinding (blijft MODELLED): de consistentiecriteria voor één stap en één uur gelden op alle 11 satellieten (0,948 tot 0,988 en 0,907 tot 0,996), maar het innovatiesomcriterium faalt op G24 (0,964) en G30 (1,929) tegen [2,4, 3,6]. D9 ronde 3, het uitgebreide filter van ronde 2, afstemming en criteria ongewijzigd na de bevroren conditioneringsdetector van clock_library, op verse IGS-klokken van 2026-04-01 tot 14 (vooraf vastgelegd fb475550), een bevinding (blijft MODELLED): (a) één stap 0,941 tot 0,968 en (c) gemiddelde van drievoudige NIS 2,641 tot 3,549 gelden op alle 11 satellieten; (b) één uur faalt op G09 (0,894) en G26 (0,876) tegen 0,90 | clock_state | clock_state::tests (analytische van-Loan-Q; NEES; positiviteit van de PSD); tests/clock_state_reference.rs (volledig predict+update-traject — toestand x en covariantie P van 3×3 over 1925 stappen / 4 parametersets tegen filterpy 1.4.5; slechtste |relΔ| 2.8e-14); tests/clock_state_igs_holdout_oracle.rs::three_state_filter_on_held_out_igs_clocks_finding (legt de bevinding vast); tests/clock_state_ext_igs_fresh_oracle.rs::extended_filter_on_fresh_igs_clocks_finding; tests/clock_state_ext_igs_conditioned_oracle.rs::conditioned_extended_filter_finding (D9 ronde 3) |
| Foutenbudget voor tijdoverdracht | Tweewegs/TWSTFT (Sagnac), GNSS common-view, PPP; linkjitter→afstand | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Sagnac-grootte getoetst aan een gezaghebbende GEPUBLICEERDE WAARDE — N. Ashby, 'Relativity in the GPS', Living Reviews in Relativity 6:1 (2003), vgl. 1,29: een oostwaartse omloop langs de evenaar levert 207,4 ns op (2ωA_E/c²); kshana reproduceert 207,386 ns. Onafhankelijk bevestigd door RTKLIB 2.4.3 geodist() (Takasu, BSD-2-Clause), dat dezelfde 2Aω/c²-geometrie bevat. Het samengestelde budget van BIPM TWSTFT-transponder/common-view/PPP heeft geen externe referentie, dus de mogelijkheid blijft gemodelleerd | timetransfer, timetransfer_adv | timetransfer::tests (reciproque opheffing; Sagnac-identiteit in twee vormen); tests/time_transfer_error_budgeting_reference.rs (Sagnac bij omloop langs de evenaar = 207,386 ns tegen de gepubliceerde 207,4 ns van Ashby tot <0,05 ns; plus Sagnac/geodist-geometrie kruiselings gecontroleerd tegen RTKLIB 2.4.3 geodist(), gecompileerd uit C-broncode) |
| Navigatiesignaalmodulatie en analyse van codevolging | BPSK-R/BOC-PSD, spectrale scheiding κ, Gabor-bandbreedte, DLL-jitter, multipad | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Kruis- en autocorrelatie van GPS C/A Gold PRECIES gelijk (geheel ±65/−1/63) aan onafhankelijke codegeneratie volgens IS-GPS-200; PSD-vorm van BPSK-R(1)/BOC(1.1) tegen een onafhankelijk scipy-periodogram. De gesloten vormen voor modulatie/SSC/DLL (Betz 2001 / Kaplan & Hegarty) blijven analytisch, dus de rij blijft MODELLED — maar de deelclaim over codecorrelatie is extern gematcht. Ronde 2 van 0,30, tegen de afgedrukte waarden van Betz 2001 en Hein et al. 2006 (vooraf vastgelegd 9f4f2ce8, een halve afgedrukte eenheid), een bevinding (blijft MODELLED): alle 45 spectrale cellen van tabel 1, de correlatiewaarden bij 1 GHz, de MBOC-interferentiecijfers en 2 van de 3 offsets van fig. 17 komen overeen; de eerste zijlobben bij 24 MHz, de offset van BOC(8.4) in fig. 17 en elke worstcase-multipathbias van fig. 18-21 (11 tot 15 % laag) niet. Kshana en een onafhankelijke NumPy-evaluatie van de vooraf vastgelegde lezing komen overeen, dus het verschil ligt in die lezing of in een niet vermeld detail van het artikel; oorzaak onopgelost | navsignal | navsignal::tests (BPSK-eigen-SSC = 2/3R_c; PSD met eenheidsoppervlak; DLL); tests/nav_signal_modulation_code_tracking_reference.rs (kruis- en autocorrelatie van GPS C/A Gold exact geheel gelijk aan onafhankelijke codegeneratie volgens IS-GPS-200; PSD van BPSK-R(1)/sinus-BOC(1.1) tegen een onafhankelijk scipy-periodogram); tests/nav_signal_betz_hein_published_oracle.rs (betz_text_correlation_values_over_1_ghz; hein_mboc_interference_improvements; finding_betz_side_lobes_and_multipath, vastgepind) |
| Prestaties van kwantuminertiaalsensoren | Cold-atom-interferometeraccelerometer vanuit de eerste beginselen (k_eff·T², QPN) | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Gepubliceerde numerieke vectoren uit primaire CAI-artikelen (overdrachtsfunctie van Cheinet 2008; gevoeligheid van Peters/Freier): k_eff·T² exact gelijk, ASD van shotruis een eenzijdige bodem binnen ~2× van elk gepubliceerd instrument (echte apparaten hebben technische ruis boven de kwantumbodem). Een bandbreedte, geen gelijkheid. Ronde 2 van 0,30 (vooraf vastgelegd fcb9ac64), een bevinding (blijft MODELLED): de alleen-QPN-rotatieruis tegen de gemeten punten van Gauguet et al. 2009 fig. 14 geeft verhoudingen van 0,695 tot 0,788 op de drie toegelaten punten (0,751 op het werkpunt), en mist de vooraf vastgelegde drempel van 30 % met 0,5 punten; de QPN-bodem ligt 21 tot 31 % onder de gemeten ruis, zoals te verwachten is van een model zonder laser- en detectieruis. De gradiometersamenstelling komt overeen met de QPN-modellijn van Janvier et al. 2022 (verhouding 1,013 tot 1,017, Reference). De gemeten test kan een samenstellingsfout van sqrt(2) niet onderscheiden; alleen de Janvier-lijn met ongelijk contrast kan dat | inertial::quantum_imu | quantum_imu::tests (k_eff; Mach-Zehnder T²; Freier-2016-bodembracket); tests/quantum_inertial_sensor_reference.rs (overdrachtsfunctie |H(ω)|, k_eff·T² en ASD van shotruis tegen gepubliceerde numerieke vectoren van Cheinet 2008 / Peters / Freier); tests/quantum_inertial_measured_qpn.rs (gauguet_finding_qpn_floor_sits_below_the_measured_noise, vastgepind; gradiometer_qpn_line_matches_janvier_model) |
| Franje-ambiguïteit en dynamisch bereik van kwantuminertiaalsensoren | Dynamisch bereik van de Mach–Zehnder-franje-ambiguïteit: de 2π-periodieke franjeuitlezing stelt een maximale ondubbelzinnige specifieke kracht a_max=π/(k_eff·T²) vast, en het ondubbelzinnige bereik in resolutiecellen a_max/σ_a=π/σ_Φ is onafhankelijk van de optische schaalfactor — de T²-gevoeligheidswinst kost ondubbelzinnig bereik in exact gelijke mate (de interrogatietijd ruilt resolutie tegen bereik, waarbij het aantal cellen vastligt door de faseruis van de uitlezing) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Zelfconsistentie van het interferometer-fringemodel: de halve-fringerand, de 2π-periodieke aliasingstructuur en de opheffing van de schaalfactor in de verhouding bereik/resolutie zijn algebraïsche identiteiten in gesloten vorm, getoetst aan de eigen fase- en gevoeligheidsfuncties van Mach–Zehnder van de engine — controles op interne consistentie, GEEN externe dataset, dus de rij blijft InternalConsistency. MODELLED ideale fringe-ambiguïteit met drie pulsen; geen grenzen voor golffrontaberratie of contrastverlies op het ondubbelzinnige bereik | inertial::quantum_imu | quantum_imu::tests (a_max ligt op de ±π-halve-fringerand met de 1/T²-bereikschaling; herstel van de ingepakte fase is exact binnen [−a_max,a_max] en aliast met exact 2·a_max erbuiten; het ondubbelzinnige dynamische bereik a_max/σ_a=π/σ_Φ is identiek bij twee sterk verschillende schaalfactoren voor golflengte/T; de methoden van CaiAccelerometer komen overeen met de vrije functies) |
| Veerkracht van kwantuminertiale dode rekening | Samengesteld positiebudget van bias + schaalfactor + VRW + stabiliteitsverval over de holdover | ReferenceImpl | getoetst aan een aparte implementatie in ditzelfde codebestand — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Onafhankelijke numpy Monte Carlo-SDE-integratie van tweemaal geïntegreerde witte-versnellingsruis (toetst de analytische VRW-variantie met een werkelijk onafhankelijk algoritme) + een verankering aan een gepubliceerde waarde van Groves 2013 voor de bias- en schaalfactortermen; de CAI-apparaatcijfers kwantificeren hardware van de partner en blijven MODELLED | inertial::quantum_imu (QuantumNavBudget) | budget_tests (bias tegen AccelModel-integrator; VRW tegen analytische integraal); tests/quantum_inertial_dead_reckoning_reference.rs (VRW tegen een onafhankelijke numpy Monte Carlo-dubbele integratie van witte-versnellingsruis, slechtste afwijking 0,42% binnen ±3% over 6 coasttijden; bias/schaalfactor tegen een gesloten-vormwaarde van Groves 2013; holdover-round-trips) |
| Veerkracht tegen jamming zonder GNSS | Geometrische J/S-linkbudget, anti-jam C/N₀, verlies van lock per satelliet | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Vergelijking van het anti-jam C/N₀-linkbudget gecontroleerd tegen een onafhankelijke numpy-herafleiding (deelt dezelfde gesloten vorm → InternalConsistency) plus een karakterisering van de echte C/N₀-degradatie van JammerTest 2024. Ronde 2 van 0,30, geblokkeerd (blijft MODELLED): de gemeten C/N0-daling van JammerTest 2024 tegen een linkbudgetvoorspelling (vooraf vastgelegd 6a66994b, binnen 3 dB) is niet gedraaid omdat de antennepositie en -richting van F8.1 bij Bleik en het L1-aandeel van het multibandvermogen van de ramp van 1.6.4 niet zijn gedocumenteerd in de testcatalogus of het officiële log | jamming | jamming::tests (broadband_q_equals_the_spectral_separation_closed_form en cw_q_equals_the_spectral_separation_closed_form: de Q-tabel, CW en smalband 1, breedband en gesweept 2, vastgepind aan de gesloten vormen van navsignal; a_cw_jammer_is_more_damaging_than_broadband_noise_at_equal_js); tests/gnss_denied_jamming_resilience_reference.rs (FSPL/J-S/effectieve C-N₀ tegen een onafhankelijke numpy-herafleiding van het linkbudget van Kaplan & Hegarty §9,4; echte JammerTest-C/N₀ daalt monotoon door de drempel van 25 dB-Hz); tests/jamming_jammertest_cn0_oracle.rs (vooraf vastgelegd, geblokkeerd, niet gedraaid) |
| Spoofingdetectie | Klokgestuurde χ², RAIM, AGC, SQM, per epoch gefuseerd tot een kwaliteitsmaat voor beveiliging | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Scenarioparameters van TEXBAT (Humphreys 2012) — karakterisering, geen vastgepinde vectoren. Externe vergelijking van 0,30, een bevinding (blijft MODELLED): op JammerTest 2024 (Bleik; GPL-3.0-data) sloegen de monitors op waarnemingsniveau (klokondersteunde chikwadraat, RAIM, mislukte oplossing) geen alarm binnen 10 s na een van de 8 evalueerbare gepubliceerde spoofing-beginmomenten (waar het venster vóór het begin schoon was, kwam het eerste alarm 10,2 tot 39 s na het gepubliceerde slotbegin), en drie vensters vóór het begin bevatten valse alarmen van de klokmonitor (81, 64 en 173 epochs). Het eerste waarneembare effect was een verlies van tracking van GPS op twee frequenties, geen RAIM-inconsistentie. De gepubliceerde beginmomenten zijn slotbegintijden van het schema met een resolutie van een minuut; dat ze aan de RF-opname voorafgaan, is een interpretatie, geen meting. Ronde 2 van 0,30, tegen het officiële log van JammerTest 2024 van de organisatoren (resolutie van een seconde; vooraf vastgelegd 6a66994b met een Hadamard-gekalibreerde klokmonitor met drie toestanden zonder latching), een bevinding (blijft MODELLED): de monitor slaat alarm binnen 10 s bij 4 van de 10 gelogde beginmomenten; bij de andere zes is hij 18 tot 211 s te laat of geeft hij valse klokalarmen vóór het begin (1 bij 2.1.4, 85 bij 2.3.15). D9 ronde 3 (een ontvangerkaart uit de andere sessies van de JammerTest-eenheid, vooraf vastgelegd 2ec76864) geblokkeerd: 167 trainingsepochs tegenover 3600. D9 rondes 4 en 4b (ruisniveaus uit een modelklassekaart van een u-blox ZED-F9P, Wrocław 2021, vooraf vastgelegd fb475550; 4b een openbaar gemaakte herrun met een gecorrigeerde extractie, c9cc0d49), een bevinding (blijft MODELLED): nul valse alarmen vóór het begin bij alle 10 gelogde beginmomenten en 6 van de 10 binnen 10 s; 2.1.1, 2.3.5, 2.3.10 en 2.6.1 blijven te laat (+211, +23, +18, +51 s), ongewijzigd door het klokruisniveau | spoof, spoof_detect, spoof_monitors | tests/spoof_texbat_validation.rs (karakterisering van TEXBAT-parameters); tests/spoof_detection_jammertest_oracle.rs::monitors_against_the_published_onsets_reproduce_the_recorded_disagreement (legt de bevinding vast); tests/spoof_detection_jammertest_log_oracle.rs::engine_monitors_against_the_logged_onsets_reproduce_the_recorded_disagreement; tests/clock_library_tcxo_card_jammertest_oracle.rs (round_3_is_blocked_by_the_training_minimum; round_4_reproduces_the_recorded_finding; round_4b_reproduces_the_recorded_finding; D9) |
| Beschermingsniveau voor tijdsynchronisatie onder spoofing | Grens in gesloten vorm voor de ongunstigste niet-gedetecteerde tijdfout = monitorvloer + uitloop-σ van de oscillator over de CUSUM-detectielatentie, gerapporteerd als een band voor de rode-ruisvloer | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Stelt getoetste primitieven samen (allan/holdover van Loan, beveiligingsbodem); gekalibreerd op JammerTest 2024-scenario 2.1.1 (~1,01 ms echte afwijking van de aangeboden tijd tegen ≤51 ns beweerd). Brug over getoetste delen — zelf geen externe validatie. Externe vergelijking van 0,30, een bevinding (blijft MODELLED): in de spoofingscenario's van JammerTest 2024 overschrijdt de gemeten onopgemerkte fout in de aangeboden tijd de nominale TPL bij 3 van de 8 gedetecteerde beginmomenten: 184,3 tegen 34,6 ns (2.1.4), 295,7 tegen 159,3 ns (2.3.5) en 143,0 tegen 69,0 ns (2.3.11); drie van de vijf binnen de grens zijn triviaal (een vergrendeld vals alarm vóór het begin). Waarschijnlijke oorzaak: de coastterm uit een kalibratie van 60 s met nul driftruis dekt de frequentiezwerving van de TCXO van de ontvanger over 15 tot 39 s niet. De gemeten fout is de eigen single-point-klokschatting van Kshana tegen een lijn gefit op zijn eigen schattingen vóór het begin, dus zelfs overeenstemming zou niet volledig onafhankelijk zijn geweest. Ronde 2 van 0,30, tegen de beginmomenten in het officiële log van JammerTest 2024 en de gemeten tijdfout van de ontvanger (vooraf vastgelegd 6a66994b), een bevinding (blijft MODELLED): bij 4 van de 10 gelogde beginmomenten overschrijdt de onopgemerkte fout de TPL met driftstoestand (634,7 tegen 458,5 ns bij 2.1.1, 232,6 tegen 16,2 ns bij 2.3.5, 41,3 tegen 6,0 ns bij 2.3.10, 218,6 tegen 47,4 ns bij 2.6.3) | tpl | tpl::tests (oracles in gesloten vorm + CUSUM); examples/tpl_jammertest.rs (kalibratie op echte spoofing van JammerTest 2024); tests/tpl_jammertest_coverage_oracle.rs::tpl_against_measured_time_error_reproduces_the_recorded_disagreement (legt de bevinding vast); tests/tpl_jammertest_log_oracle.rs::drift_state_tpl_against_the_logged_onsets_reproduces_the_recorded_disagreement |
| Alternatieve en aanvullende PNT | Zwaartekrachtkaartvergelijking, terreingebonden navigatie (TERCOM/SITAN), magnetische anomalie | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — IGRF-14-coëfficiënten; CRLB van het matched filter uit eerste beginselen. Het veld van de zwaartekrachtbenchmark met echt veld is extern getoetst (rij 'Gravity-anomaly synthesis from a spherical-harmonic model'), maar de navigatie-uitkomst ervan heeft geen externe referentie | altpnt, mapmatch, gravimeter, igrf | tests/alternative_complementary_pnt_reference.rs (CRLB van map-matching; IGRF-14-veld); mapmatch::tests; gravimeter::tests; igrf::tests; tests/gravity_map_real_field.rs (de benchmark van 60 min zonder GPS op het echte EGM2008-veld van graad 70, vooraf vastgelegd in xval/icgem-egm2008/: gematcht 3106 m, dus de drempel < 500 m is NOT MET en als gemist vastgelegd, en de tienvoudige verlaging van de drift van 70,6 km is MET; plus de gezaaide Monte Carlo van de kaartfout); altpnt::terrain::tests::emag2_format_grid_reproduces_the_synthetic_magnetic_channel en tests/emag2_real_grid.rs (op data gated EMAG2v3-lezer op een echt uitsnede; er wordt geen navigatie-uitkomst mee beweerd); tests/terrain_slam_rbpf.rs (gezamenlijke kaartschatting, een RBPF in FastSLAM-stijl, tegen SITAN met bekende kaart bij een gecorreleerde kaartfout van 15 m over 20 seeds, vooraf vastgelegd in xval/terrain-slam-rbpf/: 1,5% gemiddelde winst en beter in 10 van de 20, dus de drempels van 10% en 12 van 20 zijn NOT MET en als gemist vastgelegd; geen schade op een perfecte kaart, MET) |
| Reproduceerbaarheid en softwarezekerheid | Deterministisch, scenario-gehasht, SBOM + platformoverschrijdende golden gates | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Schemacontrole van de SBOM tegen het officiële CycloneDX 1,5 JSON Schema (+ geldige SPDX-identificatoren) — een externe gepubliceerde standaard, nul validatiefouten over de volledige afhankelijkheidsgraaf; het deel over FoM-determinisme / byte-reproduceerbaarheid blijft een vastgepinde zelfconsistentiecontrole, dus de rij blijft MODELLED | report, scenario; CI (golden/determinism/SBOM) | tests/golden.rs, tests/determinism.rs, tests/cross_platform_golden.rs; tests/reproducibility_software_assurance_reference.rs (de gegenereerde SBOM valideert met nul fouten tegen het officiële CycloneDX 1,5 JSON Schema over de volledige meegeleverde graaf van 66 componenten: standaard- + python- + wasm-features, dev-afhankelijkheden uitgesloten) |
| Evaluatie van detectie van RF-storingen met machine learning (13494) | Gelabeld synthetisch corpus van verstoringen + detectoronafhankelijk raamwerk voor ROC/AUC/verwarring/Pfa-Pmd; lekbewaking, gestratificeerde splitsing, rapport over optimisme bij distributieverschuiving (binnen versus buiten het regime). Uitvoerbaar vanuit de CLI/bindings als scenariosoort impairment-eval (scenarios/impairment-eval.toml) |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — AUC-grenzen in gesloten vorm (Mann–Whitney) + een detector met perfecte referentie; het corpus is SYNTHETISCH (op parameters gegrond, geen veld/IQ) | impairment_eval | impairment_eval::tests (AUC perfect=1/identiek=0.5/gelijk=0,125, ROC monotoon, gefuseerd>0,8, laagscheiding per klasse, lekbeveiliging, reproduceerbaar corpus, vlaggen voor distributieverschuiving duiden op optimisme); dominance_demonstrators (bereikbaar + reproduceerbaar + MODELLED-niet-VALIDATED + zelfconsistente optimismekloof) |
| Studie naar de optimismekloof bij detectie van RF-storingen met machine learning & voorspeller van de kloof uitsluitend op ID | Gecontroleerd synthetisch onderzoek naar de optimismekloof in AUC tussen in-distributie en buiten-distributie voor detectoren met gepubliceerde methoden en getrainde detectoren (logistische regressie / MLP met één verborgen laag): trends van schaalwetten per klasse (Spearman ρ + helling op 1−ernst) en een ridge-voorspeller alleen op ID-gegevens die de kloof schat uit diagnostiek binnen de distributie, beoordeeld met leave-one-detector-out en leave-one-class-out. Reproduceerbaar via cargo run --release --example optimism_study |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Met de hand afgeleide statistieken tegen gesloten vormen (binormale AUC Φ(d'/√2), DeLong-variantie, Spearman met gelijke rangen, exact OLS-herstel) + leave-one-out-CV tegen de baseline die het gemiddelde voorspelt. Het corpus is SYNTHETISCH (op parameters gegrond, nooit veld/IQ) en de optimismekloof is een synthetisch→synthetische ernstverschuiving, GEEN sim-naar-veldresultaat | impairment_study, impairment_ml, eval_stats | impairment_study::tests (referentie-AUC per klasse≈1, geleerde optimismekloof>0, rastervorm + bootstrap-BI omvat het gemiddelde + positieve schalingstrend, ID-kenmerken eindig, kloofvoorspeller verslaat het voorspellen van het gemiddelde onder ZOWEL leave-one-detector-out- als leave-one-class-out-CV + deterministisch); impairment_ml::tests (logreg scheidt + deterministisch + verlies↓, MLP lost XOR op die een lineair model niet kan + gezaaid); eval_stats::tests (bootstrap/DeLong/Spearman/ridge tegen gesloten vormen) |
| Afweging kwantum versus klassiek voor PNT en veerkracht zonder GNSS (13503) | Inlezen van gemeten ADEV (NNLS), afwegingstabel (holdover voor tijdsynchronisatie/inertiaal + voordeel), veerkracht-versus-tijd-omhullende; voorbehoud over de vloer meegedragen op het artefact. Uitvoerbaar vanuit de CLI/bindings als scenariosoort quantum-trade (scenarios/quantum-trade.toml) |
ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — De kernel voor de fit van gemeten ADEV→PSD (NNLS) komt overeen met scipy.optimize.nnls (tests/scipy_reference.rs / tests/quantum_vs_classical_pnt_trade_reference.rs) — een onafhankelijke externe kernel; maar de CIJFERS van de afweging kwantificeren (en valideren nooit) een klok/CAI van de partner, dus de afweging zelf blijft MODELLED, zonder schijn van validatie | quantum_trade | quantum_trade::tests (herstel van ADEV-round-trip, niet-negativiteit van NNLS, bodemvoorbehoud aanwezig/afwezig, voordeel>1, monotone envelop + grens voor alt-PNT); dominance_demonstrators (gemeten ADEV is datagedreven en niet bodem-verondersteld, veronderstelde klasse markeert bodem + voorbehoud, misvormde curve geweigerd, MODELLED-niet-VALIDATED) |
| Ruimteweeromgeving en door activiteit aangedreven thermosferische dichtheid | Zonne- en geomagnetische indices (definitorische Kp↔ap-tabel), de exosferische temperatuur van Jacchia-1971 en de thermosferische dichtheid van Jacchia 1971 (SAO Special Report 332: statische diffusieprofielen die zijn tabel 7 reproduceren, met de dagelijkse, geomagnetische, halfjaarlijkse, seizoens-breedtegraad- en heliumvariaties) tegenover de statische USSA76-atmosfeer. Uitvoerbaar vanuit de CLI/bindings als scenariosoort space-weather (scenarios/space-weather.toml) |
ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Definitionele tabel Kp↔ap + gesloten vorm van de exosferische temperatuur van Jacchia-1971 (gematcht tot <1 K tegen de gepubliceerde ankers, tests/space_weather_reference.rs); de dichtheid is gekarakteriseerd tegen pymsis NRLMSISE-00 (een onafhankelijk NRL-model): de zonnecyclusuitslag op 800 km is 10.4x tegen 13.6x bij NRLMSISE-00. Herziening van 0,30: de gekalibreerde activiteitsfactor van de eerste orde is vervangen door Jacchia 1971 (scenariodichtheid in de standaardinstelling op 400 km 4.176e-12 -> 6.929e-12 kg/m3; reference_exospheric_temperature_k verwijderd, mean_exospheric_temperature_k toegevoegd). Ronde 2 van 0,30, gemeten versnellingsmeterdichtheden van TOLEOS CHAMP/GRACE/GRACE-FO (ESA Swarm DISC; vooraf vastgelegd 20eed695), een bevinding (blijft MODELLED): baangemiddelden op 400 tot 500 km liggen binnen een factor 2 bij zonnemaximum buiten stormen (CHAMP 2001 521/521, GRACE-A 2002 120/120, GRACE-FO 2024 526/547), maar Jacchia 1971 is ongeveer 1.7x te dicht in het zonneminimum van 2008 (GRACE-A 412/544 binnen een factor 2), dus de dichtheid is niet extern getoetst | space_weather | space_weather::tests (Kp↔ap exact op rasterpunten + round-trip + monotoon, dagelijks Ap-gemiddelde, exosferische T tegen gepubliceerde ankers voor zonneminimum/gemiddelde/maximum + stormtoename, dichtheid eenheid-bij-referentie, zonnecyclusuitslag in de waargenomen band van 5–10×, scenario reproduceerbaar + MODELLED-niet-VALIDATED + weigering buiten bereik); dominance_demonstrators (bereikbaar + reproduceerbaar + fysische T + MODELLED-niet-VALIDATED); tests/space_weather_density_accelerometer_oracle.rs::jacchia71_finding_is_pinned |
| Lanceervenster en geometrie van de opstijging (missieanalyse) | Lanceerazimut(en) voor twee lichamen (sin Az = cos i / cos lat), minimaal bereikbare inclinatie, cirkelsnelheid, oostwaartse bonus van de aardrotatie, Δv voor een vlakwijziging met dogleg en dagelijkse kansen, en, bij een gegeven epoch en IERS-finals2000A-rijen, de snelheid van het station om de ware pool (launch::site_rotation_speed_at). Uitvoerbaar vanuit de CLI/bindings als scenariosoort launch-window (scenarios/launch-window.toml) |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Lanceergeometrie in gesloten vorm met sferische trigonometrie tegen ankers uit gepubliceerde uitgewerkte voorbeelden (Vallado, Fundamentals of Astrodynamics 4e dr., Algoritme 37 lanceerazimut + hfdst. 6 vlakwijziging; tests/launch_window_ascent_geometry_reference.rs). Deze hergebruiken dezelfde gesloten vorm die kshana implementeert (een pariteitscontrole met gepubliceerde waarden / transcriptiecontrole, InternalConsistency); MODELLED tweelichamenprobleem, geen snelheidsdriehoek met roterende aarde, geen model voor opstijging of weerstandsverlies. Externe vergelijking van 0,30 tegen Orekit 12,2 (Apache-2.0), een bevinding (blijft MODELLED): de geometrie komt overeen tot op afronding (inclinatie teruggelezen uit het burnout-azimut over 158 gevallen, slechtste 2.6e-15 rad; minimale inclinatie, cirkelsnelheid en dogleg-delta-v tot 3e-16), maar de locatiesnelheid door aardrotatie mist de vooraf vastgelegde 1e-6 relatief op 62,9 graden breedte (1.12e-6). Het verschil groeit als tan(lat), consistent met een poolbeweging-poolverschuiving van ongeveer 5.8e-7 rad in het aardstelsel van Orekit die de sferische ω·R·cos(lat) weglaat. De claim was vóór de run niet versmald, dus de rij kan op grond van deze vergelijking niet worden bevorderd. Ronde 2 van 0,30 (vooraf vastgelegd 71bebf63): met een epoch en IERS-rijen komt de locatiesnelheid met ware pool overeen met Orekit binnen 1e-6 op 24 locaties over vier lengtegraden (slechtste 4.9e-8), maar de nominale snelheid zonder epoch die het scenario standaard als aardrotatiebonus uitgeeft, mist nog steeds met 1.12e-6, dus de rij blijft MODELLED in afwachting van een besluit over de standaarduitvoer | launch | launch::tests (lancering pal oostwaarts bereikt i=breedtegraad, KSC→ISS = leerboek 45°, polair = N/Z, i<breedte onbereikbaar, 465 m/s equatoriale bonus, vlakwijziging van 10° ≈ 1,34 km/s + 180° = 2v, aantallen dagelijkse mogelijkheden, scenario reproduceerbaar/MODELLED + dogleg-pad); dominance_demonstrators (bereikbaar + reproduceerbaar + KSC→ISS 45° + MODELLED-niet-VALIDATED); tests/launch_geometry_orekit_oracle.rs::burnout_azimuth_reproduces_the_target_inclination_in_orekit; tests/launch_geometry_orekit_oracle.rs::earth_rotation_speed_gap_is_recorded_as_a_finding; tests/launch_geometry_orekit_oracle.rs::true_pole_site_speed_matches_orekit_at_a_fresh_epoch_and_longitudes |
| Ballistische terugkeercorridor (Allen–Eggers) | Piekvertraging (onafhankelijk van de ballistische coëfficiënt), snelheid en hoogte bij de piek-g, en snelheid bij piekverhitting voor een ballistische intrede in een exponentiële atmosfeer. Uitvoerbaar vanuit de CLI/bindings als scenariosoort reentry (scenarios/reentry.toml) |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Analytische Allen–Eggers-intrede in gesloten vorm, aanvullend gecontroleerd tegen een numerieke integratie met scipy 1,18 solve_ivp (DOP853) van DEZELFDE ODE voor intrede met alleen weerstand (tests/ballistic_re_entry_corridor_reference.rs, 36 gevallen, slechtste a_max rel 2.9e-9) — een controle van numerieke integraal tegen eigen analytische vorm, dus nog steeds InternalConsistency, GEEN externe validatie. MODELLED ballistisch (geen lift), geen aerothermisch/TPS — de verwarmingsuitvoer is een snelheid, geen warmteflux. Externe vergelijking van 0,30, een bevinding (blijft MODELLED): tegen de reconstructie van de intrede van de Stardust SRC (Desai en Qualls, NASA NTRS 20080008567) is de piekvertraging volgens Allen–Eggers voor de afgedrukte inertiale intredetoestand (12,9 km/s, -8.2 graden, H 7200 m) 61,8 g tegen 32,89 g van het best geschatte traject, +88 % tegen een tolerantie van 15 %: de oplossing met constante baanhoek zonder zwaartekracht verdubbelt ruwweg de piek van een ondiepe intrede sneller dan de ontsnappingssnelheid. Stardust had geen versnellingsmeter, dus de reconstructie is een trajectschatting. Ronde 2 van 0,30, geblokkeerd (blijft MODELLED): een geïntegreerde vlakke puntmassaoplossing (reentry::simulate_planar_entry, US76, zwaartekracht omgekeerd kwadratisch, kromming) komt overeen met de best geschatte trajecten van Stardust en Genesis binnen 15 % (+11,3 %, +5,6 %), maar die maxima zijn simulatie-uitvoer van agentschappen, geen metingen, dus dit is alleen een kruiscontrole. De vergelijking met de versnellingsmeter (vooraf vastgelegd a94a283d) is geblokkeerd op een leesbare kopie van de REMM-analyse van Hayabusa2 (doi 10.57350/jesa.16) | reentry | reentry::tests (piek-g onafhankelijk van ballistische coëfficiënt + fysische g-band, groeit met steilere γ / snellere intrede, snelheid bij piek-g = V_e·e^(−1/2) en piekverwarming = V_e·e^(−1/6) sneller, hoogte van piek-g fysisch + dieper voor hogere B, scenario reproduceerbaar/MODELLED + gedegenereerde geometrie geweigerd); dominance_demonstrators (bereikbaar + reproduceerbaar + fractie V_e·e^(−1/2) + MODELLED-niet-VALIDATED); tests/reentry_reconstruction_oracle.rs::reentry_overprediction_is_recorded_as_a_finding; tests/reentry_point_mass_reconstruction_oracle.rs::point_mass_peak_deceleration_matches_reconstructed_entries (alleen kruiscontrole); tests/reentry_point_mass_accelerometer_oracle.rs (geblokkeerd, niet gedraaid) |
| Adaptieve codering en modulatie van DVB-S2 langs een LEO-downlinkpassage | Es/N0 van de downlink langs elke passage van één satelliet boven één station (EIRP, vrijeruimteverlies, atmosferisch verlies volgens de cosecanswet, overige verliezen, G/T, constante van Boltzmann, symboolsnelheid), de efficiëntste DVB-S2-MODCOD die bij elke stap de quasi-foutvrije drempel van ETSI EN 302 307-1 V1.4.1 tabel 13 plus een implementatiemarge haalt, het ACM-datavolume van de passage, en de basislijn met constante codering die sluit bij het masker en de grootste afstand. Uitvoerbaar als scenariosoort acm-link. Illustratieve invoer; MODELLED. |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Interne consistentie: de spectrale efficiëntie in gesloten vorm berekend uit K_bch van tabel 5a en de framelengtes komt overeen met de efficiënties die tabel 13 afdrukt (een transcriptiecontrole op de drempeltabel); de onderdelen van het linkbudget komen overeen met hun gesloten vormen; de selectie is monotoon in Es/N0 en houdt rekening met de marge; ACM verplaatst minstens het volume van constante codering. De overpassinggeometrie komt van de afzonderlijk VALIDATED schijnbare-overpassingsvoorspeller. WAT HET NIET IS: er is geen extern hulpmiddel of gemeten link vergeleken; de drempels zijn de ideale AWGN-waarden van de standaard, niet die van een modem; regenverzwakking, richtverlies tijdens de overpassing en piloten zijn niet gemodelleerd. | contact_schedule (es_n0_db, select_modcod, fspl_db, atmospheric_loss_db, ccm_modcod, pass_capacity, AcmLinkScenario); passes::predict_passes_apparent | contact_schedule::tests::modcod_efficiency_closed_form_matches_the_printed_table; contact_schedule::tests::modcod_selection_is_monotone_and_honours_the_margin; contact_schedule::tests::link_budget_pieces_have_closed_forms; contact_schedule::tests::acm_link_defaults_run_and_acm_beats_ccm |
| Planning van grondcontacten voor meerdere satellieten en meerdere stations met conflictoplossing | Kandidaatcontacten uit elke satelliet-stationpassage met haar ACM-datavolume; conflicten waar één antenne twee satellieten binnen haar omsteltijd zou bedienen of één satelliet naar twee stations tegelijk zou downlinken; een met prioriteit gewogen leveringsdoelfunctie begrensd door de achterstand van elke satelliet; een lui plan met marginale waarde volgens het greedy-principe, een first-come-basislijn en een exacte branch-and-bound op maximaal 26 kandidaten, waarbij de optimaliteitskloof van het greedy-plan wordt gerapporteerd. Uitvoerbaar als scenariosoort contact-schedule. Illustratieve invoer; MODELLED. |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Interne consistentie: de exacte branch-and-bound komt overeen met uitputtende opsomming op kleine willekeurige verzamelingen, elk plan wordt haalbaar bevonden tegen de conflictregels en de greedy-methode verslaat het exacte optimum nooit. WAT HET NIET IS: er is geen externe planner of operationeel plan vergeleken; contacten worden als geheel genomen (geen splitsing), de achterstand ligt vast bij het begin van het venster, slewtijd boven de vaste omlooptijd en onboardopslag zijn niet gemodelleerd. | contact_schedule (conflicts, objective, delivered, schedule_chronological, schedule_greedy, schedule_optimal, ContactScheduleScenario) | 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; contact_schedule::tests::exact_solver_matches_brute_force_and_plans_are_feasible; contact_schedule::tests::exact_solver_declines_above_the_limit; contact_schedule::tests::contact_schedule_defaults_run_reproducibly; contact_schedule::tests::scenarios_reject_bad_inputs |
| Sobere kader voor kosten per dekking / ROI | Kosten per procent dekking + dekking per euro (ROI) over de engine voor constellatiedimensionering; de kosten per satelliet zijn een door de aanroeper aangeleverd bereik laag/nominaal/hoog (geen verzonnen prijzen) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Kostenrekenkunde in gesloten vorm tegen met de hand afgeleide waarden; een economische KADERING van een gemodelleerd dekkingscijfer, geen offerte en geen getoetst kostenmodel | frugal (over walker) | frugal::tests (met de hand afgeleide kosten per dekking 48/96=0,5, ROI-verhouding 2,667, ordening van brackets + bewakers voor nuldekking) |
| Integriteitseffect van gemiste detectie (contextbewuste HPL/VPL tegenover alarmlimiet) | Zet een niet-gedetecteerde spoof- of jam-bias om in effectieve fout → Stanford-gebied (beschikbaar/niet beschikbaar/MI/HMI) tegenover contextspecifieke HAL/VAL (open lucht versus stedelijk) | ReferenceImpl | getoetst aan een aparte implementatie in ditzelfde codebestand — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Stelt de extern getoetste RAIM Stanford-classificatie samen (raim::classify_stanford); de afbeelding van gemiste detectie op AL zelf is gemodelleerd, geen gecertificeerde integriteitstoewijzing | integrity_impact (over raim) | integrity_impact::tests (dezelfde misser slaat om van Available→MI→HMI naarmate de context strakker wordt; conservatieve PL→Unavailable; HMI per as; invoerbewakers) |
| Parameterblad met geciteerde foutmodellen voor CAI (13503) | Prestaties van cold-atom-interferometers in een bereik (best/nominaal/conservatief) — biasinstabiliteit, snelheids-/hoekrandomwalk, stabiliteit van de schaalfactor, door de interrogatie beperkte samplefrequentie, dynamisch bereik door franje-ambiguïteit — elk herleidbaar tot een bron; voedt QuantumNavBudget zonder hardware te modelleren | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Interne consistentie: de aangehaalde VRW-bracket gecontroleerd tegen de fysica van CaiAccelerometer::accel_asd + het ruwe dynamische bereik berekend uit de grens van de fringe-ambiguïteit; de cijfers zijn MODELLED brackets uit literatuuronderzoek (needs_source_confirmation), geen enkel apparaat is getoetst, geen schijn van validatie | inertial::cai_params (over inertial::quantum_imu) | inertial::cai_params::tests (fysische VRW valt binnen de aangehaalde VRW-bracket op alle 3 niveaus; ruw fringe-ambiguïteitsbereik berekend uit k_eff·T²; conservatief budget drift meer dan het beste; elke bracket van een bron voorzien + gemarkeerd voor bevestiging; bewakers voor ordening van brackets) |
| Benchmark voor het toetsen van tijdsynchronisatie-integriteit — epochclassificator voor het Stanford-integriteitsdiagram | TIB: epochclassificatie volgens het Stanford-integriteitsdiagram (nominaal / niet beschikbaar / MI / HMI) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Onafhankelijke numpy-herimplementatie van de regel met vier gebieden (scripts/gen_tib_scorer_reference.py) op dezelfde steekproefverzameling; methode aangehaald uit het Stanford–ESA-integriteitsdiagram (Tossaint et al., ION GNSS 2007) en RTCA DO-229 WAAS MOPS. GEEN nauwkeurigheidsreferentie van het type ExternalDataset — de benchmark is immuun voor eerlijkheid. | src/benchmark/stanford.rs | src/benchmark/stanford.rs::tests (vier gebieden + inclusieve grenzen + |fout| + onbeschikbaarheid bij PL>AL); tests/tib_scorer_reference.rs (classificatietellingen tegen onafhankelijke numpy op een vaste synthetische verzameling) |
| Benchmark voor het toetsen van tijdsynchronisatie-integriteit — scorer voor integriteitsdekking | TIB: scoring van integriteitsdekking (HMI/MI/beschikbaarheidspercentages + oordeel over overbound-dekking) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Onafhankelijke numpy-hertelling van gebieden in tests/fixtures/tib/reference.json; alleen kruiscontrole van de scorermachinerie, geen nauwkeurigheidsclaim. | src/benchmark/coverage.rs | src/benchmark/coverage.rs::tests (schoon/onderbegrensd/alles-onbeschikbaar/leeg); tests/tib_scorer_reference.rs (tellingen + percentages + coverage_ok tegen numpy tot 1e-12) |
| Benchmark voor het toetsen van tijdsynchronisatie-integriteit — foutencatalogus (parametrische generatoren) | TIB-foutenmenu (domeindivergentie, klokslam, holdover-uitloop, statische/incrementele/symmetrische/asymmetrische vertraging, replay binnen versheid, padselectief, k-uit-N-quorum) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Representatieve parametrische foutgeneratoren (gemodelleerd); de niet-detecteerbare verzameling (symmetrische vertraging, replay binnen versheid) is aangehaald uit Mizrahi RFC 7384 en Narula & Humphreys (IEEE JSTSP 2018). Geen externe referentie — een foutencatalogus doet geen gemeten claim. | src/benchmark/faults.rs | src/benchmark/faults.rs::tests (offsetprofielen, monotone coast, markering van de niet-detecteerbare verzameling, consistentie van max_offset, precies twee niet-detecteerbare klassen) |
| Benchmark voor het toetsen van tijdsynchronisatie-integriteit — oordeel over absorptie van niet-detecteerbare fouten | TIB: oordeel over absorptie van niet-detecteerbare fouten (symmetrisch/replay moet door het PL worden geabsorbeerd en nooit als gedetecteerd worden gemeld) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten, maar is geen externe referentie — Eigenschapscontrole dat de enum Verdict structureel een niet-detecteerbare fout nooit als gedetecteerd kan melden (Mizrahi RFC 7384); geabsorbeerd ⟺ PL ≥ offset. Geen nauwkeurigheidsreferentie. | src/benchmark/scorecard.rs | src/benchmark/scorecard.rs::tests (referentie-PL absorbeert; kapotte PL niet-geabsorbeerd-nooit-gedetecteerd; oordeel over detecteerbare dekking; de eerlijkheidseigenschap dat voor een niet-detecteerbaar scenario geen dekkings- of detectieoordeel bereikbaar is) |
| Zelfbeschrijving van het hybride optische/RF-rapport | Het hybrid-optical-rf-rapport vermeldt de linkconfiguratie waarmee het daadwerkelijk is gerund (golflengte van de draaggolf, zend- en ontvangstapertuur, afstand, pulsbreedte, integratietijd, rendementen en verliezen, standaardwaarden ingevuld) en bevat een eenhedenblok met de eenheid en herkomstklasse van elke grootheid die een artikel waarschijnlijk citeert, inclusief de sporen van de overdrachtscovariantie in vierkante meter | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Geen externe onafhankelijke referentie, en die is ook niet mogelijk: dit is zelfbeschrijving, geen meting. Ze wordt vastgelegd omdat het ontbreken ervan een gebrek was -- P5 moest de draaggolflengte en de zendapertuur uit de standaardwaarden in de broncode halen, en uit een interne consistentiecontrole afleiden dat een kale variance in vierkante meter was. De afleiding was juist, en juist daarom deed het ertoe: niets zou hebben opgevangen dat ze onjuist was |
hybrid_integrity | hybrid_integrity::tests (de opgeloste configuratie wordt teruggegeven voor standaardwaarden en voor overschrijvingen, zonder de golflengte via meters heen en weer te rekenen; elke units-invoer draagt zowel een eenheid als een herkomstklasse; elk veld dat het units-blok noemt wordt daadwerkelijk uitgegeven, zodat het geen spookveld kan documenteren) |
| Beschikbaarheid van de hybride optische/RF-link aan de RF-kant | Het hybrid-optical-rf-rapport vermeldt een beschikbaarheid van de RF-link, samengesteld uit grootheden die de engine al berekent en niet uit een geïmporteerde klimatologie, en vermeldt de samenstelling als een benoemde regel: A_rf = I_closure * I_track, waarbij I_closure het sluitingsoordeel is van het eenrichtingslinkbudget volgens CCSDS-401 / DSN-810-005 (linkbudget::link_budget, Eb/N0-marge >= 0) op de eigen afstand van het scenario en I_track het oordeel over de trackinglus (jamming::lock_status) op de C/N0 die ditzelfde budget opleverde. Elke factor draagt de herkomstklasse van zijn invoer door naar de uitvoer, en de factoren die bewust NIET in het product zitten -- geometrische zichtbaarheid, interferentieontkenning en een klimatologie van RF-uitval -- worden met de reden benoemd en niet stilzwijgend op 1 gezet. De opgeloste RF-tak wordt als eigen blok rf_link_configuration herhaald, en de continue cijfers naast de indicator (linkmarge, C/N0-marge, de afstanden voor sluiting en tracking in gesloten vorm, en het afstandsgebruik) zijn de afstandsinversies van hetzelfde budget. Het rapport vermeldt volledig, op het blok en in de eenhedenregel waar een lezer terechtkomt, dat dit cijfer MARGE-/GEOMETRIEBEPERKT en DETERMINISTISCH is, terwijl optische beschikbaarheid DOOR WEER/KLIMATOLOGIE BEPERKT en probabilistisch is, zodat de twee nooit als een vergelijkbaar paar percentages kunnen worden aangehaald | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Geen externe onafhankelijke referentie, en ExternalDataset wordt afgewezen. De twee invoerwaarden zijn een Eb/N0-marge en een C/N0-drempeloverschrijding, beide functies van een MODELLED EIRP, kwaliteitsmaat en gebundelde verliesverdeling; er bestaat geen gemeten beschikbaarheidsregistratie voor een optische/RF-hybride dienst Aarde-Maan waaraan het samengestelde cijfer kan worden getoetst. De controles die er zijn, zijn intern en worden als zodanig vermeld: de samenstelling wordt herberekend uit de eigen gepubliceerde marges van het rapport in plaats van uit de binnenwerking van de zender, en de sluitingsafstand wordt gecontroleerd door de linkvergelijking OP die afstand opnieuw uit te voeren en te eisen dat de marge verdwijnt -- een inversie-heen-en-terugcontrole, geen onafhankelijke implementatie. De eerlijke grens van het cijfer is op het rapport zelf vastgelegd: het is een deterministische 0/1-indicator, geen kans, omdat niets in deze engine een verdeling van RF-linkuitval op deze band en geometrie meet. Die ontbrekende invoer wordt in rf_availability.factors_not_included genoemd in plaats van verzonnen, en het aanleveren ervan is wat een probabilistische RF-beschikbaarheid nodig zou hebben | hybrid_integrity, linkbudget, jamming | hybrid_integrity::tests (de beschikbaarheid is gelijk aan het product van de twee indicatoren, herberekend uit de eigen marges van het rapport, en die marges zijn zelf weer samengesteld uit de eigen EIRP, vrijeruimteverlies, gebundeld verlies, kwaliteitsmaat, Boltzmann-term, datasnelheid en eis van het rapport tot op 1e-9 dB; de waarde is gemeten als 0 of 1 terwijl de optische beschikbaarheid in dezelfde run gemeten is als strikt tussen die twee in; elke factorrij draagt een herkomstklasse uit het gesloten field_schema-vocabulaire; de gerapporteerde sluitingsafstand, opnieuw door het linkbudget gehaald, levert een marge van 0 tot op 1e-9 dB en is gemeten als onafhankelijk van de afstand waarop de run zat over vier decaden, terwijl de afstandsbenutting precies met de afstandsverhouding meebeweegt; een link van -40 dBW rapporteert beschikbaarheid 0, LOST, en een benutting boven 1 in plaats van een fractie; de vervangen opmerking 'deze engine berekent geen RF-beschikbaarheidstegenhanger' is aantoonbaar verdwenen en de vervanging noemt aantoonbaar het nieuwe veld; een misvormde RF-invoer wordt geweigerd in plaats van afgekapt) |
| Vergelijking van optische en RF-afstandsmeting onder gelijke voorwaarden | Het hybrid-optical-rf-rapport geeft de verhouding tussen optische en RF-afstandsmeting met de ENE configuratie waarop beide takken zijn geëvalueerd in hetzelfde object: hetzelfde eenrichtingspad, dezelfde afstand en dezelfde accumulatietijd. De optische tak is de door fotonen beperkte ToA-CRLB van de engine op het fotonenaantal in één richting; de RF-tak is de thermische codevolgjitter van de DLL (early-late) van de engine bij de C/N0 die het eigen linkbudget van de engine teruggeeft voor diezelfde afstand in één richting. De luslbandbreedte voor ruis is afgeleid, niet gekozen: B_L = 1/(2*integration_s) zet de RF-tak precies op de optische accumulatietijd, en als een aanroeper deze overschrijft zodat de twee middelingstijden verschillen, wordt de verhouding REFUSED -- null, met het verschil en beide tijden benoemd -- en niet op twee werkpunten aangehaald. Er wordt geen verhouding gevormd tegen de GEKOZEN parametrische rf_position_sigma_m van het scenario, en de weigering zegt waarom: die invoer draagt helemaal geen configuratie. De vrijgegeven optische kerncijfers voor twee richtingen en de exacte factor die dit met de tak voor vergelijking in één richting verbindt worden naast de verhouding uitgegeven, zodat het rapport niet kan worden gelezen als twee tegenstrijdige optische sigma's | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Geen externe onafhankelijke referentie voor de VERHOUDING, en ExternalDataset wordt bewust afgewezen. De onderliggende RF-keten heeft er wel een -- tests/validate_p5_rf_ranging_precision.rs toetst linkbudget::link_budget en navsignal::dll_code_jitter_chips aan een onafhankelijk Python/NumPy-fixture en aan de vastgelegde uitgewerkte waarde van Kaplan & Hegarty (2.814e-3 chip / 0,825 m bij 45 dB-Hz) -- en de optische CRLB heeft een eigen gesloten-vormrij. Een van beide ankers voor deze rij claimen zou geleende validatie zijn, wat de matrixinvarianten juist moeten voorkomen: de grootheid hier is een VERHOUDING bij een configuratie met een MODELLED EIRP, kwaliteitsmaat, zendvermogen en apertuur, en er bestaat geen gemeten vergelijking van optische en RF-afstandsmeting bij een gemeenschappelijk werkpunt om ze aan te toetsen. Wat intern wordt gecontroleerd is wat de verhouding feitelijk fout kan hebben: dat de twee takken op één werkpunt zitten. Dat wordt gemeten door de gemeenschappelijke accumulatietijd te schalen en te eisen dat beide takken volgens dezelfde vierkantswortelwet bewegen en de verhouding gelijk blijft, en het wordt afgedwongen door de verhouding categorisch te weigeren als de middelingstijden verschillen. Beide takken zijn grenzen van thermische ruis/hagelruis en beide sluiten mediavertraging, klokfout en ambiguïteit uit, zodat de uitsluiting aan beide kanten identiek is; het rapport zegt dat expliciet in plaats van het aan afleiding over te laten | hybrid_integrity, optical_linkbudget, linkbudget, navsignal | hybrid_integrity::tests (de verhouding is gelijk aan de twee uitgegeven takken gedeeld, tot op 1e-15 relatief, en haar omgekeerde en decibelvormen komen overeen; afstand en tijdsigma van elke tak hangen precies via c samen; de uitgegeven gemeenschappelijke configuratie is aantoonbaar gelijk aan de eigen afstand en integratietijd van het scenario en de afstand van de RF-tak is aantoonbaar gelijk aan die van de optische tak; de C/N0 van de RF-tak is bit voor bit die van het beschikbaarheidsblok, uit één linkbudget, geen herafleiding; de LIKE-FOR-LIKE-eigenschap is MEASURED in plaats van beweerd -- verviervoudiging van de gemeenschappelijke accumulatietijd halveert de optische tak tot 1e-12 en de RF-tak tot 1e-7 en laat de verhouding ongewijzigd tot 3.19e-9 relatief, wat een tak die heimelijk over iets anders middelt niet zou kunnen; een rf_dll_bandwidth_hz-overschrijving die de gemeenschappelijke middelingstijd breekt maakt de verhouding null met een reden die beide tijden noemt, terwijl beide takken toch worden uitgegeven; een eenrichtingsrun maakt de vergelijkingstak bit voor bit gelijk aan de uitgebrachte kopwaarde met een penaltyfactor van precies 1, en een tweerichtingsrun reproduceert de penalty 0.5/sqrt(geometrisch verlies van het retourpad), herberekend uit het eigen geometric_loss_db van het rapport tot op 1e-12) |
| Zelfbeschrijving van het linkbudgetrapport | Het linkbudgetrapport vermeldt elke absolute constante waaruit zijn eigen marge is berekend -- de draaggolffrequentie die voor het vrijeruimteverlies is gebruikt, de EIRP, de kwaliteitsmaat, het samengevoegde verlies en de Boltzmann-term -- plus de vereiste G/T waarbij de marge nul is, de linkconstante (EIRP - verliezen - vereiste Eb/N0) die de enige combinatie is die een gepubliceerde tabel met snelheid en versterking ooit kan vastleggen, en, wanneer een aanroeper een systeemruistemperatuur opgeeft, de versterking van de ontvangstantenne die die kwaliteitsmaat impliceert | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Geen externe onafhankelijke referentie: dit is zelfbeschrijving van een vergelijking die al is getoetst aan een gepubliceerde ontwerpcontroletabel (zie de rij over het eenrichtingslinkbudget). Ze wordt vastgelegd omdat het ontbreken ervan een gemeten gebrek was -- het reproduceren van de uitgebrachte d1_rate_gain_beamwidth.csv vereiste het terugrekenen van één effectieve constante tot 0,0034 dB uit alle dertig rijen, en de engine benoemt die combinatie nu en bewijst met een test dat geen enkele uitgebrachte tabel ooit de drie componenten had kunnen scheiden | linkbudget | linkbudget::tests (over drie banden, vier decaden afstand en beide sluitingsoordelen worden de marge en het vrijeruimteverlies eronder uit het rapport alleen herberekend tot beter dan 1e-9 dB; de vereiste G/T, samengesteld uit de vergelijkingstermen, komt overeen met dezelfde grootheid verkregen als G/T min marge, en opnieuw uitvoeren daarop maakt de marge nul; drie budgetten met sterk uiteenlopende EIRP, verlies en drempel maar een gelijke linkconstante geven een identieke eis, terwijl 1 dB op de constante hem precies 1 dB verschuift; de gainsplitsing ontbreekt tenzij een ruistemperatuur is opgegeven en een niet-positieve wordt geweigerd; elk veld dat het units-blok noemt wordt daadwerkelijk uitgegeven) |
| Tabel van het kruispunt in maantijd per klokklasse | Eén run voor het maantijdbudget geeft per klokklasse een rij met het kruispunt van klok en stelsel tegenover één gedeelde stelselterm, zodat de klok de enige variabele in de vergelijking is; elke rij draagt het kruispunt op twee manieren bepaald -- door bisectie uit de algemene machtswetcurve van de tijdfout en algebraïsch geïnverteerd uit het dominante ruistype van de rij -- met het relatieve verschil ertussen | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Twee verschillende berekeningen in de eigen codebase van dezelfde grootheid, niet één herhaald: bisectie op de IEEE-1139-machtswetcurve weet niets van het ruistype, terwijl de gesloten vorm het dominante type algebraïsch inverteert, zodat een verkeerd geclassificeerd ruistype of een slecht bracket zich toont als een niet-klein relatief verschil. De vier waarden reproduceren ook de gepubliceerde tabel van het artikel tot op de helft van het laatst afgedrukte cijfer -- maar die tabel was zelf gereconstrueerd uit dezelfde gesloten vorm, dus het is een reproduceerbaarheidscontrole en geen externe onafhankelijke referentie, en de frameterm waaraan wordt gemeten is een berekende (modelmatige) toewijzing | lunar_time_budget | lunar_time_budget::tests en lunar_time_budget_scenario::tests (alle vier klassen aanwezig in één run en in een gevraagde deelverzamelingsvolgorde; elke rij komt overeen met haar eigen gesloten vorm tot beter dan 1e-12 relatief; het schalen van de framefout met k schaalt het kruispunt met k voor een flicker-FM-klok en met k^2 voor een white-FM-klok, gecontroleerd bij k=2 en k=3, wat de twee ruisklassen scheidt; elke rij reproduceert het enkelvoudige-klokkruispunt dat het budget al rapporteerde; elke rij herstelt de ene gedeelde frameterm; een onbekende klokNaam wordt geweigerd) |
| Opnamefootprint tegenover hoogte en bundelbreedte | Tweeassige sweep van de patroongewogen, door hoogte begrensde footprint van de oppervlakteopname over zendhoogte en schotelafmeting, per werkpunt één rij uitgegeven met de halfvermogensbundelbreedte die elke diameter impliceert, en de opname aan de limb gerapporteerd als een DREMPEL -- per rij de J/S aan de limb, de marge ervan en het zendvermogen dat haar zou sluiten; per raster de gevonden doorgangen, of een expliciete verklaring dat de limb nergens op het raster wordt bereikt, met het tekort | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Verzamelingsinclusie: de jammer-tot-signaalverhouding komt als uniforme decibeloffset binnen, dus de gevangen verzameling bij een hoger zendvermogen bevat de verzameling bij een lager vermogen en de fractie kan alleen stijgen -- een eigenschap die het Airy-patroon NIET geeft in bundelbreedte of hoogte, waar het gevangen gebied in ringen uiteenvalt en de fractie echt niet-monotoon is. Geen gepubliceerde tabel geeft de gevangen schijffractie van een lunaire orbitale zender als functie van hoogte en bundelbreedte, dus er is niets externs om deze cellen aan te toetsen; het onderliggende patroon is afzonderlijk getoetst aan een onafhankelijke externe referentie, namelijk gepubliceerde Bessel-waarden, en houdt een eigen rij | antenna | antenna::tests en attack_surface::tests (het raster is compleet en elke gevangen fractie ligt in [0.1]; de gevangen fractie is niet-dalend in zendvermogen op elk knooppunt; ze is NIET monotoon in bundelbreedte of hoogte, wat met een eigen test wordt vastgelegd zodat de sweep later niet kan worden gladgestreken; het basislijnknooppunt reproduceert de bestaande gevangen fractie bit voor bit; de evaluatie met alleen de limb is bit-identiek aan het laatste punt van de volledige sweep; een gelokaliseerd kruispunt ligt op de drempel tot op 1e-9 dB en wordt omsloten) |
| Reproduceerbaarheid van het tijdfoutenbudget voor de maan | Het scenario voor het maantijdbudget publiceert zijn reeksuitvoer als een tabel in lange vorm (rasterindex, middelingstijd, term) naast het rapport, zodat de zeven curven x(tau) per term en het totaal als wortel uit de kwadratensom engine-uitvoer zijn en niet iets wat een lezer uit de methodesectie opnieuw opbouwt | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Alleen zelfconsistentie: het gepubliceerde totaal wordt gecontroleerd tegen de wortel-som-kwadraat van de termen in hetzelfde bestand, en de uitgegeven curve reproduceert de uitgebrachte p3_time_budget_curve.csv over alle 57 punten. Beide controles delen de eigen termdefinities van deze engine, dus geen van beide is onafhankelijk. De klokterm rust op gepubliceerde klokspecificaties, maar de GROOTTEN van de link-, frame-, relativistische en efemeridevloer zijn gedocumenteerde budgettoewijzingen zonder externe onafhankelijke referentie | lunar_time_budget_scenario | lunar_time_budget_scenario::tests (alle 57 middelingstijden x 8 termen aanwezig, de rasterindex loopt 0..=56 en draagt telkens 8 rijen; de total-rij is gelijk aan de wortel-som-kwadraat van de zeven termen ernaast bij elke tau; de tabel volgt een gevraagd raster in plaats van een vastgecodeerd; het uitgeven ervan laat de rapport-JSON byte-identiek) |
| Laboratorium voor maanstationstijd: holdover van miniRAFS tegenover LTC | Het optionele blok [time_lab] van het scenario voor het maantijdbudget modelleert een referentieklok van een maanstation (standaard de klasse miniRAFS, of een andere benoemde klasse, of een apparaatkaart gefit op opgegeven stabiliteitspunten) die op Coordinated Lunar Time wordt gestuurd en daarna vrij loopt of elke N seconden opnieuw wordt gestuurd: de tijdfoutcurve x(t) als wortel uit de kwadratensom van de machtswetterm van de klok, een constant stuurresidu (ILLUSTRATIVE), een constant residu van de LTC-realisatie en een optionele term voor de snelheid door de stationshoogte; de tijd na een sturing tot 1, 10 en 100 ns (of opgegeven drempels) door bisectie naast de inverse in gesloten vorm voor het dominante ruistype, en de dominante term bij elke opgegeven horizon, alles met eenheden | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Alleen interne consistentie: de met bisectie bepaalde tijd tot de drempel wordt gecontroleerd tegen de gesloten-vorminverse van het dominante ruistype van de klok, en de vrijlopende klokterm tegen de eigen klokterm van het budget. De klokklassen rusten op gepubliceerde eendagsspecificaties (hun eigen rijen); de LTC-snelheid wordt hier niet opnieuw afgeleid en houdt haar eigen VALIDATED-rij (Lunar coordinate time); het stuurresidu is ILLUSTRATIVE, het realisatieresidu is een budgettoewijzing en er is geen thermisch model opgenomen. Het doel op nanosecondeniveau uit het ICG WG-B Lunar PNT-materiaal van juni 2024 wordt aangehaald als bronverklaring, niet overgenomen als claim; niets hier is een uitspraak over een echte stationsklok | lunar_time_lab (over clock_specs, lunar_time_budget, lunar_time) | lunar_time_lab::tests (free_run_clock_term_is_the_budget_clock_term: met sturing uit is de klokterm bit voor bit gelijk aan de klokterm van het budget voor alle vier klassen; bisection_matches_the_closed_form binnen 1e-9 relatief voor beide ruisklassen; threshold_below_the_floor_is_flagged; steering_holds_and_resets; height_term_is_opt_in_and_linear; device_card_reproduces_a_named_class; bad_inputs_are_refused); tests/lunar_station_time_lab.rs (the_block_is_additive: het standaarddocument, de tabel en de samenvatting zijn ongewijzigd en het blok voegt alleen zijn eigen object en units toe; time_to_threshold_matches_the_closed_form_through_the_scenario; clocks_are_ordered_over_the_span_where_the_model_orders_them: optical < PHM < RAFS < miniRAFS van 1 s tot 7e5 s, waarbij de PHM- en RAFS-curven elkaar kruisen tussen 7e5 en 8e5 s, vastgelegd als een bekendgemaakte eigenschap van de klokmodellen met één ruistype; every_time_lab_field_has_a_unit; unknown_time_lab_fields_and_clocks_are_refused) |
| Geodetische VLBI op de Maan | Nabijeveld-VLBI-vertraging voor een aardbasislijn die een maanbaken waarneemt + partiële afgeleiden | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Vlakke-golf delta_dor (dezelfde codebase) in de verre-veldlimiet; partiële afgeleiden met eindige differenties. 0,30 externe vergelijking, een bevinding (blijft MODELLED): tegen ANISE 0,10 geconvergeerde lichttijden via DE440 (75 vertragingen op 2024-01-01 over drie DSN-basislijnen, gegenereerd door xval/anise-lunar-od zonder Kshana-code) valt geen enkele vertraging binnen de tolerantie van 1 ps. Het grootste verschil is 24 µs, door het analytische Maancentrum (ongeveer 200 km van DE440), de enkele momentane geometrie zonder lichttijditeratie (3,6 µs) en de weggelaten poolbeweging; bakenpartiëlen verschillen tot 2.9e-3 relatief tegen 1e-6. De bewering in de moduledoc dat de frame-approximaties onder de modelnauwkeurigheid liggen houdt op dit niveau geen stand. 0,30 ronde 2: het kernelpad (lunar_vlbi::KernelGeometry) is getoetst aan een onafhankelijke externe referentie, namelijk NAIF SPICE-lichttijden, in een eigen rij, Lunar geodetic VLBI, kernel path; de ANISE-vergelijking van dat pad (75/75 binnen 1 ps, slechtste 0,12 ps, tests/lunar_vlbi_anise_oracle.rs::kernel_delay_matches_the_anise_light_time_difference) is slechts een kruiscontrole van de kernelevaluatie, omdat de lichttijdoplossing in die harness van dit project zelf is. Deze rij (het analytische standaardpad) blijft MODELLED met de bevinding hierboven | lunar_vlbi | lunar_vlbi::tests (verre-veldlimiet komt overeen met delta_dor; nabijeveldcorrectie; FD-partiëlen); tests/lunar_vlbi_anise_oracle.rs::near_field_delay_disagrees_with_the_anise_light_time_difference |
| Aarde-GNSS op maanafstand | Ontvangst van Aarde-GNSS op maanafstand: de zwaksignaallaag die tabel 1 van P7 noemt en waarvoor de engine geen model had. Per satelliet en per epoch berekent hij de hoek buiten de boresight ten opzichte van het nadir van de zender, of de Aarde het rechte pad occulteert, de schuine afstand en het vrijeruimteverlies ervan, de zendversterking bij die hoek, het ontvangen vermogen en de draaggolf-ruisdichtheid; vervolgens aggregeert hij alleen de links die een trackingdrempel halen, en doorloopt hij een volledige omloop van de constellatie zodat het antwoord een VERDELING is en geen enkele momentopname. Drie feiten sturen het resultaat en het rapport vermeldt elk ervan: de Aarde beslaat 13,90 deg vanaf de constellatiestraal, zodat de PIEK van de bundel geometrisch niet beschikbaar is voor elke naar de Maan gerichte straal; wat overblijft is de rand van de hoofdlob en de zijlobben, het regime waarin LuGRE in 2025 bij de Maan werkte; en het L1-padverlies is ongeveer 208 dB, zo'n 25 dB meer dan een aardse gebruiker betaalt. MEASURED op de meegeleverde geometrie van 24 satellieten van GPS-klasse over 64 epochs van één omlooptijd: beschikbaarheid van het SIGNAAL 0,375 met een beste link van 30,93 dB-Hz, en beschikbaarheid van de POSITIEBEPALING 0,000 - hoogstens twee gelijktijdig volgbare links, nooit de vier die een positie nodig heeft. De scheiding van die twee beschikbaarheden is het punt, en het rapport laat niet toe dat ze door elkaar worden gehaald: Aarde-GNSS op maanafstand is een laag van TIJDSYNCHRONISATIE-niveau, niet van positieniveau, en een voorafgaande kans voor gelaagde veerkracht moet de beschikbaarheid van de positiebepaling nemen. De conditionering wordt om dezelfde reden uitgegeven - elke zichtbare satelliet ligt binnen een kegel van enkele graden breed gezien vanaf de Maan, dus de zichtlijnen zijn van nature bijna evenwijdig. Uitvoerbaar als de soort earth-gnss-lunar Herformuleerd volgens D7: de bewering op maanafstand is de RELATIEVE draaggolf-ruisdichtheid tussen satellieten op één epoch, uit gemeten tweedimensionale zendpatronen (NAVCEN Block IIR/IIR-M), plus geometrische zichtbaarheid; absolute C/N0 wordt niet beweerd (Parker et al. melden een gemeenschappelijk verlies van 7 tot 12 dB). |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vormidentiteiten en interne consistentie; er wordt GEEN externe onafhankelijke referentie geclaimd. De limb-halve hoek wordt gecontroleerd tegen asin(R_earth/r_orbit) en de geometrie daartegen; het vrijeruimteverlies, de DOP-kernel en de SGP4-propagatie die dit samenstelt zijn elk extern getoetst in hun eigen rijen en deze rij leent hun status niet. WAAROM MODELLED, en het is het zendpatroon: de gain onder een hoek is een uniform verlichte cirkelvormige apertuur, het Airy-patroon, terwijl een echte GPS L1-antenne een helixarray van twaalf elementen is met een gevormde hoofdlob die buiten de boresight piekt om het vermogen over de aardschijf gelijk te trekken en met zijlobben die niet Airy zijn. Gepubliceerde gemeten patronen bestaan en zijn hier niet meegeleverd, dus rangordes en ordes van grootte gaan op, terwijl de dB van een enkele satelliet dat niet doet. EEN EERSTE IMPLEMENTATIE VAN DEZE RIJ WAS FOUT OP EEN MANIER DIE HET VASTLEGGEN WAARD IS: de Airy-uitdrukking is alleen geldig in de voorwaartse halfruimte, haar argument gaat als sin(theta), en bij theta nabij 180 graden slaat ze om en geeft VOLLEDIGE BORESIGHT-GAIN achter de apertuur - zodat de twee sterkste links in het eerste rapport satellieten waren die hun antennes van de Maan af richtten, en zij waren de enige twee die de drempel haalden. Achter de apertuur past het model nu een vlakke achterlobvloer toe, vermeld als grens in plaats van een verzonnen patroonvorm. Bewust afwezig, elk met als gevolg dat het budget OPTIMISTISCH is: geen ionosferisch of troposferisch verlies op de limb-rakende stralen, geen polarisatie-, richt- of implementatieverlies, en een bolvormige Aarde zonder refractieve uitbreiding. De Maanpositie is een INVOER, geen efemeridenopzoeking, omdat de grootheid die wordt getoetst de link en de bundelgeometrie is. Deze rij opwaarderen tot onafhankelijk getoetst vereist een gemeten zendpatroon en LuGRE-normaalpunten om tegen te toetsen; geen van beide staat in de repository en geen van beide wordt hier verzonnen. 0,30 ronde 2, een bevinding (blijft MODELLED): een link-pad met gemeten invoer (echte SP3-posities, zendvermogen per blok, getabelleerde zend- en ontvangstpatronen, acquisitie- en trackinghysterese) is gecontroleerd tegen Montenbruck et al. 2023 Tabel 3 voor GENESIS op 6000 km (vooraf geregistreerd 5b414f0a): gemiddelden met zenitantenne komen bij 5 van 6 binnen één dB van de gevoeligheid uit het artikel overeen; gemiddelden met nadirantenne liggen 1,0 tot 2,4 satellieten hoger dan afgedrukt, vermoedelijk omdat het artikel azimutafhankelijke GPS-zijlobpatronen gebruikte die niet zijn gepubliceerd. De cijfers op maanafstand van deze rij gebruiken nog steeds de Airy-vervanger. 0,30+ D7, een bevinding (blijft MODELLED): de herformuleerde grootheid, het C/N0-VERSCHIL tussen Block IIR/IIR-M-satellieten gevolgd op één epoch, voorspeld met de gemeten NAVCEN L1-patronen per SVN (tweedimensionaal, yaw-sturingsframe) tegen de LuGRE-vlucht-C/N0 (vooraf geregistreerd 768cb62b: 99 % zichtbaar, paar-RMS <= 3,0 dB, mediaan <= 2,0 dB, minstens 50 records en 30 paren) heeft te weinig data: de 26 kwalificerende transit- en maanbaanepochs bevatten 15 gevolgde IIR/IIR-M-records (meestal worden IIF en III gevolgd) en één paar. Alle 15 zijn voorspeld zichtbaar en het residu van het enige paar is -0.06 dB; er wordt niets geclaimd | earth_gnss_lunar | earth_gnss_lunar::tests (11 lib-tests: de halve limbhoek van de Aarde tegen haar gesloten vorm asin(R/r) met een verdere bewering dat ELKE niet-bedekte link buiten die kegel ligt, zodat de occultatietest en de limbhoek elkaar niet kunnen tegenspreken; het occultatiepredicaat gecontroleerd aan de nabije kant, de verre kant en het geval waarin het lichaam ACHTER de zender ligt; padverlies begrensd tot de aannemelijke band van maanafstand op elke link; de volgbare verzameling aangetoond als deelverzameling van de geometrisch zichtbare verzameling en disjunct van de bedekte; monotoniciteit in beide richtingen - meer ontvangstgain verlaagt het aantal nooit, een strengere drempel verhoogt het nooit; geen link krijgt meer dan boresight-gain toegerekend; een ontvanger binnen de Aarde wordt geweigerd; de sweep blijkt daadwerkelijk met de epoch te VARIËREN; en signaal- tegenover positiebepalingsbeschikbaarheid blijken verschillend, correct geordend en consistent met de rijen per epoch); tests/earth_gnss_measured_montenbruck_oracle.rs::finding_genesis_nadir_counts_exceed_the_paper (vastgelegd); tests/lugre_relative_cn0_visibility.rs::too_few_iir_records_at_lunar_distance_for_the_relative_cn0_bar (vastgelegde bevinding) |
| Baanbepaling bij de Maan: Aarde-GNSS tegenover radiometrie vanaf de grond | Baanbepaling in een bijna-rechtlijnige halobaan (of een elliptische bevroren baan) uit twee onafhankelijke datatypen: aan boord ontvangen Aarde-GNSS-pseudoranges (de linkregel van de rij Aarde-GNSS op maanafstand, plus occultatie door de Maan) en tweewegs-afstand en -afstandssnelheid vanaf de grond van drie stations van het Deep Space Network. Elk is een batch-kleinste-kwadraten in één stap rond de referentiebaan met zijn formele covariantie; een geseede Monte-Carlo van het verschil tussen de twee schattingen toetst of de twee covarianties het verklaren (q = d' (P_G + P_R)^-1 d, chi-kwadraat met zes vrijheidsgraden wanneer de modellen overeenkomen) en wat een ongemodelleerde versnelling met de statistiek doet. | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijk scipy/numpy-programma integreert dezelfde variatievergelijkingen (drempel O1). Er wordt niets vergeleken met een meting van een maanbaan. De onafhankelijke referentie toetst de numerieke uitwerking van vermelde formules, niet de fysica, dus de rij blijft MODELLED. Beperkt driebehamodel: geen Zon, geen lunaire harmonischen, de rotatieas van de Aarde langs de baannormaal, ILLUSTRATIVE ontvanger- en stationsinvoer. | lunar_infra::{orbit, gnss, od} | tests/lunar_infra_od_consistency.rs (drempel O1: de toestandsovergangsmatrix geketend over drie dagen en over één periode is gelijk aan scipy DOP853 tot een relatieve 1e-6; drempel C1: gemiddelde q en de in-95 %-fractie; drempel C2: steekproef over formeel spoor van elke schatter; drempel C3, NOT MET en vastgelegd: met 3e-10 m/s2 aan niet-gemodelleerde versnelling is de in-95 %-overschrijding 0,0525, niet minstens 0,5 - de schatting aan boord is slechts tot op honderden meters bekend, zodat ongeveer tien meter verplaatsing binnen haar covariantie verborgen blijft); lunar_infra::orbit::tests, lunar_infra::gnss::tests, lunar_infra::od::tests, lunar_infra::la::tests |
| Ambiguïteitsoplossing van de draaggolffase bij de Maan: oppervlak en orbiter | Tussen ontvangers enkelvoudig gedifferentieerde Aarde-GNSS-draaggolffase en -code bij een maanoppervlaktestation en een orbiter, met het klokverschil per epoch weggeprofileerd, één ambiguïteit per ononderbroken passage en de langste passage als ijk. De covariantie van de float-ambiguïteit is een Schur-complement; LAMBDA lost de gehele getallen op, de bootstrapped-slagingskans wordt naast een geseede Monte-Carlo-slagingskans voor geheeltallige kleinste kwadraten en de float- en vaste positiesigma's gerapporteerd. Gerapporteerd zoals gevonden: bij de geregistreerde 12 dBi is het dubbelverschilprobleem niet te vormen (amendement 1 verplaatste de standaard naar 25 dBi nadat alleen beschikbaarheidstellingen waren gezien), en bij 25 dBi wordt geheeltallig vastleggen NIET bereikt - buiten bereik (hoogstens enkele procenten) hoewel de float-oplossing met de boog verbetert. | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijke numpy-oplossing van dezelfde normaalvergelijkingen uit de geëxporteerde rijen (Q3) en een brute-force opsomming van gehele getallen (Q4). Er wordt niet vergeleken met een GNSS- of lunaire draaggolffasemeting. MODELLED. | lunar_infra::phase; lambda | tests/lunar_infra_carrier_phase.rs (drempel Q1: Monte Carlo-succes minstens de bootstrapgrens min drie standaardfouten; Q2: geen daling met booglengte voorbij drie standaardfouten; Q4: LAMBDA is gelijk aan brute-force opsomming voor 200 trekkingen met dimensie tot vijf; Q3: het float-ontwerp is gelijk aan een onafhankelijke numpy-oplossing tot 1e-9 voor de ambiguïteits- en positiecovarianties, en het bootstrapped-percentage is NOT MET bij 1e-9, vastgelegd: het verschilt met een relatieve 1.7e-6 omdat de normale CDF van LAMBDA een benadering van Abramowitz en Stegun is) |
| Co-schatting van het maanstelsel: oppervlaktestations en orbiters | Fisher-informatie van het maanstelselsdatum met zeven parameters uit laserafstandsmeting van Aardestations naar alleen de vijf reflectoren en met toegevoegde afstanden van orbiter naar oppervlaktestation: de informatiematrix, de rang, Cramér-Rao-sigma's, de ontaardingsmaat van de identificeerbaarheidsmodule van de Maan en geseede willekeurige stationsverzamelingen. De baan wordt bekend verondersteld in de maanassen (de fout ervan wordt gedragen door de afstandssigma van de orbiter). | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijke numpy-eindige-differentie van het voorwaartse model (F2). Er wordt niets vergeleken met echte lunaire frameoplossingen. De factor is voorwaardelijk op de aangenomen bekende baan en de 1 m afstandssigma. MODELLED. | lunar_infra::frame; lunar_datum; lunar_identifiability; lunar_llr_geometry | tests/lunar_infra_studies_3_5.rs (drempel F1: het CRLB-spoor stijgt niet en de kleinste eigenwaarde daalt niet met orbiterlinks, in het voorbeeld en in 20 geseede willekeurige verzamelingen; drempel F2: de afstandspartiëlen zijn gelijk aan een onafhankelijke numpy-longdouble-eindige-differentie van het voorwaartse Rodrigues-model op 50 geometrieën; drempel F3: de kleinste eigenwaarde stijgt met minstens 2.0x, gevonden ongeveer 111x) |
| Precisie van de stelselkoppeling in de ruimte: samengeplaatste GNSS, VLBI en laserafstandsmeting | Cramér-Rao-precisie van de translatie-, schaal- en rotatieverschillen tussen technieken tussen GNSS-, VLBI- en laserafstandsstelsels wanneer één ruimtevaartuig alle drie draagt, met de positie van het ruimtevaartuig op elk epoch geëlimineerd en negen storingsparameters voor de lokale koppeling met een prior, gevarieerd over de nauwkeurigheid van de lokale koppeling. Covarianties via de vierkantswortelroute (normaalvergelijkingen verliezen de cijfers wanneer de technieken bijna perfect zijn). | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijk numpy-gestapeld stelsel waarin de positieonbekenden met expliciete Schur-complementen zijn geëlimineerd (T3). Er worden geen GRASP-, Genesis- of andere missiegegevens mee vergeleken. MODELLED. | lunar_infra::tie; fim::crlb_srif | tests/lunar_infra_studies_3_5.rs (drempel T1: translatiesigma's dalen niet naarmate de lokale tie losser wordt; T2: met techniek-sigma's geschaald met 1e-6 ligt de translatiesigma van elk paar binnen 1 % van sqrt(2) maal de lokale-tiesigma, gevonden binnen 3e-7; T3: de informatiematrix is gelijk aan een onafhankelijke numpy-gestapelde opbouw tot 1e-9). De eerste T2-run met inversie van de normaalvergelijkingen faalde (1,3 % bij een tie van 0,1 m, waarden onder de vloer bij 1 m); de oorzaak was numeriek en de covariantie ging over op de vierkantswortelroute voordat de drempel opnieuw werd gescoord. |
| Gevoeligheid voor Love-getallen en libratie van de Maan | Fisher-informatie van h2, k2, l2 en de fysieke libratieamplituden uit laserafstandsmeting (radiale en horizontale getijverplaatsing, rotatie van reflectoren), orbitertracking (de k2-versnelling van graad 2 geïntegreerd langs de zichtlijn, trend verwijderd), een oppervlaktegravimeter (gravimetrische factor 1 + h2 - 1,5 k2) en een oppervlakteklok (fractionele snelheid (1 + k2 - h2) W2/c2, gekoppeld aan de maantijdconstanten). Nominale waarden van h2 en l2 zijn linearisatiepunten; het onderzoek zegt waarvoor wat gevoelig is, niet wat de getallen zijn. | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijke numpy-opbouw met eindige differenties (G2) en gesloten-vormevaluatie (G4). De k2-gevoeligheid van de orbiterfamilie is een cijfer van de bovenkant (de baantoestand absorbeert hier slechts een constante en een trend). Er wordt niets vergeleken met een lunaire getijde- of libratiemeting; k2 wordt aangehaald uit Lemoine et al. 2014 als nominale waarde. MODELLED. | lunar_infra::geodesy; lunar_od::degree2_tide_accel; lunar_time | tests/lunar_infra_studies_3_5.rs (drempel G1: analytische partiëlen zijn gelijk aan een centrale eindige differentie van elk voorwaarts model tot 1e-8; G2: de 5x5-informatie is gelijk aan een onafhankelijke numpy-opbouw tot 1e-6; G4: de klokgetijdenamplitude en haar k2- en h2-gevoeligheden zijn gelijk aan een onafhankelijke evaluatie tot 1e-9; drempel G3 NOT MET in zijn spoorhelft, vastgelegd: het toevoegen van een familie verlaagt de kleinste eigenwaarde nooit (28 van 28) maar het pseudo-inverse spoor steeg bij 12 van 28 toevoegingen omdat de toegevoegde familie de rang verhoogde) |
| Verbetering van de DOP met bakens op het maanoppervlak | Door bakens verbeterde dilution of precision voor een gebruiker op het maanoppervlak: de zichtlijnrijen van zichtbare satellieten en de afstandsrijen van zichtbare oppervlaktebakens worden samengevoegd tot één ontwerpmatrix en geëvalueerd via de gedeelde DOP-kern, en de resulterende DOP wordt afgebeeld op een gerealiseerde nauwkeurigheid van 1 sigma IN METERS via een gebruikersequivalente afstandsfout per baken, samengesteld als de wortel uit de kwadratensom van termen voor kloksynchronisatie, multipad en opmeting. De zichtbaarheid van bakens is de geometrische horizon met twee hoogten op de luchtloze Maan, die geen refractieve uitbreiding heeft en daarom exact is in plaats van bij benadering. Uitvoerbaar als de scenariosoort lunar-beacon, die satellieten alleen, satellieten plus bakens en een grotere constellatie als concurrerende route naar dezelfde geometrie rapporteert. MEASURED op de meegeleverde gouden geometrie (gebruiker op -80 deg, drie opgemeten bakens, illustratieve LCNS met zes satellieten bij t=0, masker van 5 deg): 5 zichtbare satellieten geven PDOP 9,6941 en een 3D-1-sigma van 11,222 m; het toevoegen van de bakens die de horizon werkelijk halen geeft PDOP 4,1160 en 4,765 m, een factor 2,355; de dienst met 24 satellieten geeft in plaats daarvan PDOP 2,4226 en 2,804 m, een factor 4,002. Het rapport drukt het aantal ZICHTBARE bakens af en niet het ingestelde aantal, en op deze geometrie haalt slechts ÉÉN van de drie bakens de horizon: de twee flankerende locaties liggen ongeveer 333 km van de gebruiker tegenover een horizon van 86 km voor een antenne van 2 m, zodat een lezer nooit hoeft aan te nemen dat alle drie hebben bijgedragen |
ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — De DOP-rekenkunde is de crate::orbit::dop-kernel, afzonderlijk extern getoetst aan gnss_lib_py in tests/dop_reference.rs; deze rij leent de status van die rij niet opnieuw. De zichtbaarheidshorizon van het baken is de gesloten vorm L01, en sigma = DOP x sigma_URE is de standaard GNSS-relatie (Kaplan en Hegarty, Understanding GPS/GNSS, sectie 7). Binnen deze rij wordt de augmentatie zelf gecontroleerd tegen een onafhankelijk DOP-pad in de repository en vastgelegd op een gecommitte golden. WAAROM MODELLED: het constellatieontwerp, de plaatsing van de bakens, de antennehoogten en alle drie de foutbudgetgroottes zijn illustratieve invoer in plaats van een ingezet onderzoek of een gemeten link, dus de gerapporteerde meters zijn een eigenschap van een gekozen scenario en niet van een ingezette dienst. OPMERKING OVER HERKOMST: deze mogelijkheid werd in de README aangekondigd en door twee validatietests uitgeoefend, maar had GEEN matrixrij en geen scenariosoort, zodat ze vanuit een run helemaal niet bereikbaar was. Ze werd in proza beweerd, ontbrak in het register en was tegelijk onbereikbaar in de engine. De rij en de soort zijn samen toegevoegd. 0,30 ronde 2 (vooraf geregistreerd db0eb9ec), geblokkeerd (blijft MODELLED): ANISE 0.10.6-zichtbaarheid en een numpy-DOP op de rijgeometrie komen overeen (zichtbare verzamelingen exact, inclusief 72 gevallen nabij de horizon en 48 gevallen nabij het masker; DOP binnen 7.2e-13), maar de gerapporteerde meters zijn DOP maal een illustratieve wortel-som-kwadraat-afstandsmetingsfout van 1,158 m zonder onafhankelijke referentie; de afbakening die ze zou uitsluiten wacht op een besluit van de eigenaar | lunar_beacon | lunar_beacon::tests (horizonzichtbaarheid tegen de gesloten vorm L01; de met bakens geaugmenteerde DOP tegen de kale; de wortel-som-kwadraat van het foutbudget; de DOP-naar-meters-relatie); tests/validate_p2_beacon_before_after_table.rs (de hele voor/na-tabel vastgelegd op een gecommitte golden tot 1e-9 relatief); tests/validate_p2_beacon_before_after_independent_dop.rs (dezelfde geometrie via een ONAFHANKELIJK DOP-pad, zodat de augmentatie niet wordt gecontroleerd tegen de kernel die haar produceerde); tests/validate_lunar_beacon_anise_visibility_dop.rs::beacon_visibility_and_augmented_dop_match_anise_and_numpy |
| Beschermingsniveau voor gemeenschappelijke modi en totale integriteitsomhullende | cmpl_horizontal begrenst de k-sigma horizontale positiefout die de blinde gemeenschappelijke-modusklasse bijdraagt, door blind_position_covariance = SCovS^T te vormen en die in ENU te projecteren; integrity_envelope rapporteert hpl_total = hpl_araim + cmpl. Het onderscheid dat het paar moet maken: de RAIM/ARAIM-RESIDUTEST is aantoonbaar blind voor fouten in range(G), maar het ARAIM-BESCHERMINGSNIVEAU niet - de term voor de foutvrije toestand begrenst ze al tot op een URA van de aanbieder plus nominale bias. De CMPL is daarom alleen het OVERSCHOT tussen aanbieders dat de URA/ISM van een enkele aanbieder niet overbegrenst, en de som is een conservatieve driehoeksongelijkheidsgrens in plaats van een RSS, alleen geldig waar dat overschot nog niet binnen de URA valt. | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Analytische projectoralgebra getoetst aan zichzelf: een covariantie beperkt tot range(G) moet een positieve CMPL geven, een covariantie beperkt tot de pariteitsruimte moet ongeveer nul geven, en de envelope moet twee in de meetruimte orthogonale bijdragen optellen. De gemeenschappelijke-moduscovariantie, de constellatiegeometrie en k zijn representatieve, uit een model berekende invoer, GEEN gecertificeerd budget, en er wordt niet beweerd dat de driehoeksgrens scherp is. OPMERKING OVER HERKOMST: cmpl_horizontal, blind_position_covariance en integrity_envelope zijn openbaar en meegeleverd, en hun unittests werden al aangehaald door de rij over gemeenschappelijke-modusblindheid, maar de ENVELOPE-CLAIM zelf had geen rij - dus de ene kanttekening die haar eerlijk houdt, dat de som een driehoeksgrens is en geen RSS, stond nergens in het register vermeld. De rij registreert de claim en de kanttekening samen. | lunar_common_mode | 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) |
| Waarneembaarheid van maanstations in absolute zin (datumdefect) | Waarneembaarheid via Fisher-informatie van de gezamenlijke maanoplossing: zonder basislijnen naar de aarde ligt het datum van het absolute stelsel in de nulruimte van HᵀWH (de stationspositie is niet waarneembaar); ≥3 basislijnen herstellen de volle rang en begrenzen de Cramér–Rao-fout van het station, die de schatter bereikt | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Analytische datumdefectstructuur — de onwaarneembare absolute-framemodus ligt in de nulruimte van de Fisher-informatie (gesloten vorm), de ranggrens komt overeen met de gepubliceerde ontwerpmotivering voor 3 stations, en de schatter bereikt de resulterende CRLB in Monte Carlo. De lunaire geometrie zelf is een representatief netwerk (geen gevlogen efemeride), dus de rij blijft MODELLED; de onderliggende FIM/CRLB-engine wordt afzonderlijk getoetst aan de gesloten vormen van Kay (1993). 0,30 ronde 2 (vooraf geregistreerd fab02df9), geblokkeerd (blijft MODELLED): NumPy/SciPy herberekenen de rang en het defect bij de vermelde drempel van 1e-9, het aandeel van de stationsassen in de nulruimte (binnen 8.4e-10) en de station-CRLB (binnen 1.2e-10) op 17 gecommitte, door Kshana gegenereerde configuraties (P2). Niet gepromoveerd: de claim dat de schatter de grens bereikt (Monte Carlo-efficiëntie ongeveer 0,98) heeft geen onafhankelijke referentie, en de afbakening die haar MODELLED zou laten wacht op een besluit van de eigenaar | lunar_combination (lunar_observability) + fim | lunar_combination::tests (rangdeficiënt zonder Aarde-basislijnen; drie basislijnen herstellen de volle rang — de 3-stationsdrempel uit de informatierang, niet uit oplosfout; station-CRLB bereikt door de schatter met efficiëntie 0,98; CRLB wordt monotoon strakker met basislijnen); tests/lunar_observability_numpy_oracle.rs::lunar_observability_matches_numpy_on_the_committed_jacobians |
| Genereren van LunaNet-AFS-spreidingscodes (LSIS V1.0) | De Augmented Forward Signal-codes van LSIS V1.0 (29 januari 2025): de primaire AFS-Q-code van 10230 chips, gegenereerd uit de L1C-pilootconstructie van IS-GPS-800 met de indices van IS-GPS-800J (dezelfde 210 toewijzingen die LSIS Appendix D afdrukt), de Gold-codes van AFS-I met 2046 chips, gegenereerd uit g1 = x^11 + x^2 + 1 en g2 = x^11 + x^8 + x^5 + x^2 + 1, waarbij de G2-vertraging van elke PRN is teruggewonnen uit het Annex 3-bestand van de standaard, de vier secundaire codes, de tertiaire codes van 1500 chips, de voorlopige knooppunttoewijzing van Tabel 11 en de gelaagde pilootcode. De LSIS-inhoud wordt tijdens de run gelezen uit een lokale cache die met SHA-256 is geverifieerd en is gevuld uit de door NASA gehoste PDF; ze wordt nooit verspreid | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende (modelmatige) onderdelen, dus de mogelijkheid blijft berekend uit een model — Referentie: de waarden die LSIS V1.0 afdrukt voor validatie (Tabellen C-1 tot C-5, D-1 tot D-6, E-1 tot E-6) en de elektronische codebestanden van Bijlage 3, onder een nul-verschilcriterium dat vóór de vergelijking is vastgelegd. Het criterium wordt gemist door één afgedrukte cel die intern inconsistent is met het eigen bestand van Bijlage 3 van de standaard, dus de rij blijft MODELLED; een erratumnotitie is opgesteld. Dezelfde chips zijn ook gelijk aan die van LANS-AFS-SIM (rij 'LunaNet AFS baseband rendering against an independent generator, given its channel state') | lunar_afs::codes, lunar_afs::lsis, lunar_afs::params (IS-GPS-800J-indices) | lunar_afs::codes::tests (registers met maximale lengte, Legendre-balans, G2-vertraging heen en weer, samenstelling van niveaus); tests/lunar_afs_codes_lsis_reference.rs::afs_codes_finding_one_misprinted_table_cell (zonder de LSIS-cache: vier aangehaalde getallen leggen de bevinding vast; met de cache: 2.937.232 chips en bits tegen de LSIS-bestanden van Bijlage 3, afgedrukte eerste/laatste 24 chips, Legendre-tabellen D-1 en E-1 en G2-initialisaties geven precies één afwijkend item, de cel 'laatste 24 chips' van PRN 147 in Tabel E-5, die die van PRN 151 dupliceert terwijl het bestand van Bijlage 3 met de generator overeenkomt); de strikte vooraf geregistreerde test afs_codes_match_lsis_v1_tables_and_annex3_bit_exact wordt met dat gat genegeerd |
| Gesloten-lus-decodeerbaarheid van LunaNet AFS door een onafhankelijke ontvanger (LSIS V1.0) | Een Kshana-AFS-opname die door een onafhankelijke softwareontvanger is verworven, gevolgd en gedecodeerd en is vergeleken met de eigen referentielabels van de opname. Dit bewijst alleen dat de uitvoer overeenkomt met de standaard en dat de labels consistent zijn; het is geen uitspraak over kanaalfysica, voortplanting, ontvangen vermogen of linkbudgetten, waarvan de waarden in de opname gekozen invoer zijn | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende (modelmatige) onderdelen, dus de mogelijkheid blijft berekend uit een model — Bibliotheek: PocketSDR-AFS (T. Ebinuma naar PocketSDR 0,13 van T. Takasu, BSD-2-Clause, commit 5b23809f30d68518b7fad7a564fd0fac57cc497d, S-bandbuild, kopie met alleen-afdrukken-logniveau), onder criteria die vóór elke run zijn vastgelegd. De derde vooraf geregistreerde vergelijking haalt haar decodeer- en trackingdrempels C1 en C2 volledig maar haar bewaking G0 niet zoals geschreven (twee runs van de ongewijzigde ontvanger verschillen in dezelfde vier acquisitierecords), en de tweede miste met 5 schendingen, dus de rij blijft MODELLED. LANS-AFS-SIM en PocketSDR-AFS delen een auteur en tellen als één onafhankelijke implementatie; de controles met afgedrukte vectoren in de rij voor framecodering bewaken tegen een gedeelde verkeerde lezing | lunar_afs::waveform (opname en referentielabels), xval/lunar-afs/run_pocketsdr.sh | tests/lunar_afs_decodability_pocketsdr_v3_oracle.rs::third_run_finding_c1_c2_hold_g0_is_receiver_nondeterminism (derde preregistratie: 2 knooppunten, 4 kanalen gevolgd, slechtste Dopplerfout 0,57 Hz, slechtste codeoffsetfout 0,008 chip, alle 6 frames gedecodeerd met de juiste TOI over de 99 -> 0-omslag en passende subframe 2; G0 niet gehaald zoals geschreven, de eigen run-tot-run-variatie van de ontvanger in zijn acquisitierecords); tests/lunar_afs_decodability_pocketsdr_4bit_oracle.rs::decodability_finding_five_violations (tweede: 5 schendingen); tests/lunar_afs_decodability_pocketsdr_oracle.rs::first_run_finding_no_acquisition_outside_the_receivers_4_bit_range (eerste: ongeldig); de strikte tests van de drie bestanden worden met hun gaten genegeerd |
| GPS L1 C/A: gelijkheid van uitvoer tussen generatoren | GPS L1 C/A-spreidingscodes (sdr::CaCode) en LNAV-subframes 1-3 (gps_lnav: veldkwantisatie volgens IS-GPS-200 met de pi van de specificatie, twee-complementpakking, TLM- en HOW-woorden, pariteit van Tabel 20-XIV met D29*/D30*-inversie, de pariteitsoplossende bits van woorden 2 en 10) bit voor bit vergeleken met gps-sdr-sim op het meegeleverde brdc0010.22n (32 satellieten) | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — gps-sdr-sim (MIT, commit 28ca29a6, als afzonderlijk programma uitgevoerd via een gecommitte harness), preregistratie f88f2969 met een bit-exacte drempel op (A) C/A-chips, (B) elk berekend LNAV-veld, (C) elke pariteitsbit. BEVINDING: (A) 0 van 32.736 chips verschillen, (C) de pariteit van 0 van 1.920 woorden verschilt, (B) 230 van 1.152 berekende velden verschillen één eenheid: de eph2sbf van gps-sdr-sim kapt naar nul af met C-casts waar het uitgezonden gehele getal afronding vereist (elke afwijkende waarde ligt binnen 0,01 van een eenheid van het afgeronde gehele getal van Kshana). Blijft MODELLED: de geregistreerde drempel was de conjunctie | gps_lnav, sdr | tests/gps_l1ca_gpssdrsim_cross_generator.rs::gps_sdr_sim_truncates_where_the_broadcast_integer_needs_rounding (vastgelegde bevinding); tests/gps_l1ca_gpssdrsim_cross_generator.rs::ca_codes_lnav_fields_and_parity_match_gps_sdr_sim_bit_exactly (strikt, met het gat genegeerd); gps_lnav::tests |
| GNSS-IQ-acquisitie op onafhankelijk gegenereerde I/Q-samples | iq::acq::acquire (parallelle FFT-codefasezoektocht met de kwadratische-detector-Marcum-Q-drempel) met de GpsL1Ca-replica, op 20 ms van de eigen 8-bit-I/Q-uitvoer van gps-sdr-sim, gedecodeerd met de iq::io-sampledecoder (ci8, 2,6 MHz, 11 satellieten, geen ruis): elke PRN 1 tot 32 doorzocht in twee vensters van 10 ms, waarbij het resultaat is vergeleken met de codefase en Doppler die gps-sdr-sim heeft gemoduleerd | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende (modelmatige) onderdelen, dus de mogelijkheid blijft berekend uit een model — gps-sdr-sim (MIT, commit 28ca29a6) I/Q-samples en zijn eigen kanaaltoestand, preregistratie 7777da53: (B1) elke gesimuleerde PRN verworven, (B2) geen andere PRN verworven, (B3) codefase binnen 0,5 chip, (B4) Doppler binnen 125 Hz. BEVINDING: B1, B3 en B4 gelden in beide vensters (slechtste 0,195 chip, 72 Hz), maar B2 faalt: alle 21 PRN's die gps-sdr-sim niet simuleerde overschrijden ook de drempel (statistiek 151 tot 206 tegen 79,5; gesimuleerde PRN's 1.300 en hoger). De drempel is gezet voor Gaussische ruis van het gemeten samplevermogen; gps-sdr-sim voegt geen ruis toe, dus de cellen van een afwezige PRN bevatten de kruiscorrelatie van de andere satellieten. Blijft MODELLED: de geregistreerde drempel was de conjunctie | iq::acq (acquire, AcqConfig); iq::io (decode_samples); iq::scene (GpsL1Ca) | tests/iq_gpssdrsim_cross_generator.rs::acquisition_threshold_is_crossed_on_gps_sdr_sim_noise_free_samples (vastgelegde bevinding); tests/iq_gpssdrsim_cross_generator.rs::acquisition_finds_gps_sdr_sim_satellites_in_its_samples (strikt, met het gat genegeerd) |
| IQ-monitors beoordeeld in lab-replaycampagnes: detectie, gemiste detecties, valse alarmen en valse-alarmcijfers in gesloten vorm | iq::campaign::detect en de campagnerunner: een optionele tabel [monitors] laat de IQ-monitors op elke cel draaien in de enkele doorgang van de runner. De vermogens- en spectrale monitors zien de samples na elke front-endketen; de C/N0-, SQM- en lockmonitors zien de lus-updates van elk gevolgd kanaal. Elk alarm wordt beoordeeld aan de hand van de opgegeven gebeurtenissen: gedetecteerd of gemist per (gebeurtenis, alarmsoort, kanaal), detectietijd, en valse alarmen buiten de gebeurtenissen over hun blootstelling. Het valse-alarmcijfer in gesloten vorm van elke test wordt vermeld: vermogen per blok (exacte gamma-staart), spectraal overschot per blok (benadering), kurtosis (eenzijdig Gaussisch), pulsen (binomiaal plafond), SQM per gemiddelde update (2Q(k) = Q(1/2, k^2/2), nieuw), en de ARL0 van de C/N0-CUSUM (Siegmund). Zonder de tabel blijven cellen, sleutels en digests ongewijzigd. Er wordt geen interferentiegolfvorm gesynthetiseerd | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — De eigen gesloten vormen van de monitoren op de eigen GPS L1 C/A-scènes van Kshana (ruis en legitieme signalen; verzwakkingsgebeurtenissen van de eigen signalen van de satellieten), tegen drempels die vooraf zijn geregistreerd in docs/design/MONITORS-IN-CAMPAIGN.md (382ab2f4). BEVINDING: M1, M2 en M4 gehaald. M3 gehaald op detectie (18 van 18 verzwakkingen, P_md 0) en NOT MET op zijn tijdsclausule: de mediane tijd tot detectie is 1,001 s tegen 2 x ARL1-samples = 0,433 s. De CUSUM ziet één schatting per venster van 1 s, dus de grens in aantal samples ligt onder één sample. Alleen interne consistentie: er wordt geen echte ontvanger of opgenomen interferentie gecontroleerd | iq::campaign (detect, runner, spec); iq::monitor (stats::gaussian_two_sided_pfa, sqm) | tests/iq_campaign_monitors.rs: m1_power_test_false_alarm_rate_matches_the_closed_form (73 van 5900 blokken tegen het binomiale 99 %-interval [40, 80] van P_fa 0,01), m2_sqm_false_alarm_fraction_is_within_a_factor_of_2_of_2q_k (delta 0,0160, verhouding 0,0131 tegen 0,01), m4_cn0_false_alarms_stay_within_the_poisson_bound_of_arl0 (0 tegen 0), the_monitors_table_parses_and_validates; m3_every_attenuation_is_detected_within_twice_the_arl1 (strikt, met het gat genegeerd); iq::campaign::detect-tests; iq::monitor::stats-tests (gaussian_two_sided_tail_matches_known_values); tests/iq_campaign.rs (de vastgelegde digests zijn zonder de tabel ongewijzigd) |
| Detectie-ROC van de IQ-monitors uit een beoordeelde lab-replaycampagne | iq::campaign::detect (windows, roc) en iq::campaign::report::rocs: elke cel van een campagne met monitors bewaart, per alarmsoort en kanaal, het maximum van de eigen toetsstatistiek van de monitor over elk opgegeven gebeurtenisvenster (positief) en over getegelde roc_window_s-vensters buiten de gebeurtenissen (negatief). De statistieken zijn de afwijking van het blokvermogen, het PSD-overschot, de kurtosis z, de SQM |z| van de gemiddelde maat, en de C/N0-CUSUM. Het rapport voegt ze per soort samen tot een empirische ROC op vensterniveau met zijn AUC en het werkpunt bij de ingestelde drempel, geschreven als roc.json (kshana.campaign-roc/1) en een sectie Detection ROC in report.html. Een campagne zonder monitors schrijft geen van beide | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Synthetische campagnes uit de eigen GPS L1 C/A-scènes van Kshana (verzwakkingen van de eigen signalen van de satellieten), tegen drempels die vooraf zijn geregistreerd in docs/design/DETECTION-ROC.md (b47e358d). BEVINDING: R2 gehaald (kansniveau zonder iets te detecteren). R1 NOT MET: cn0_drop AUC 0,7855 tegen 0,95, omdat elk negatief venster na een gebeurtenis het verval van de CUSUM vanaf de detectie erft (alle 18 negatieven na de gebeurtenis halen 81 of meer; alle 18 vóór de gebeurtenis blijven op 0). Alleen interne consistentie: er wordt geen echte ontvanger of opgenomen interferentie gecontroleerd | iq::campaign (detect, report, runner); iq::monitor::spectral (kurtosis_reference) | 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 bij vermelde gebeurtenissen die niets verzwakken); r1_the_cn0_drop_roc_separates_6_db_attenuations (strikt, met het gat genegeerd); iq::campaign::detect-tests (the_roc_of_separated_and_of_identical_samples, windows_tile_the_time_outside_the_events) |
| Kalibratie van de C/N0- en lockmodellen van de open ontvanger op IQ-campagneresultaten, met opgegeven voorspellingsfout | iq::labfit (campaign, cn0, iqfit, iqreport) en [input] campaign op kshana iq labfit, Python kshana.iq_labfit en de MCP-tool labfit (alleen campagnemappen binnen zijn werkmap): leest een uitvoermap van kshana iq campaign via zijn DIGEST en groepeert de beoordeelde cellen tot fiteenheden (signaal x lusontwerp x front-endketen x jammertype, nooit samengevoegd). Per eenheid wordt de gemeten C/N0 gefit tegen de opgegeven J/S met de vorm voor spectrale scheiding. Q_eff is niet identificeerbaar uit C/N0-gegevens zonder een onafhankelijke meting van de jammer- en signaalvermogens, dus Q wordt opgegeven en nooit gefit (de typetabel, de q van de gebeurtenis, of voor een onbekend type de meest schadelijke opgegeven waarde, cw Q = 1). De gefitte parameter is de identificeerbare offset delta_eff = delta - 10 log10 Q, waarbij de correlatiebewaking de ontaarding meldt. C/N0-bins met lock onder 90 % worden gecensureerd en weergegeven. De drempel-J/S wordt direct en via de gesloten vorm gegeven; het trackinglusmodel en het empirische lockmodel zijn via het C/N0-model gekoppeld, met verlies- en herlockverblijftijden. Een geseede clusterbootstrap over opnamen (1000 replicaties) levert percentielintervallen; voorspellingsintervallen van 90 % komen uit residutrekkingen; leave-one-recording-out-holdouts worden gesplitst in interpolatie en extrapolatie; een vooraf geregistreerde tabel [validation] wordt gehasht en elke drempel krijgt PASS/FAIL. Rapport kshana.labfit-iq/1 als JSON, CSV en gegenereerde Markdown, met een eenhedenblok. Alleen synthetisch (geen opname van derden, geen jammergolfvorm). Het labfit-pad via ontvangerlogs is ongewijzigd |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Synthetisch parameterherstel op de eigen GPS L1 C/A-scènes van Kshana met een bekend C/N0-profiel opgelegd uit de formule van sectie 3,1, gevolgd en gescoord door kshana iq campaign, tegen drempels die vooraf zijn geregistreerd in docs/design/LABFIT-FROM-IQ.md (sectie 5,1, gewijzigd 2026-10-12 in b7117bf, sectie 13). De C/N0-schatter van de campagnes (M2M4) werd vastgelegd in 5b13e3c2, gepusht vóór de eerste drempelevaluatie (samen met de fitcode gecommit, niet alleen), na één bekendgemaakte diagnostische trackingrun. BEVINDING bij de campagne met 18 gebeurtenissen: (c) PASS; (a') NOT MET, delta_eff-fout -1.097 dB tegen 0,5 dB (nog steeds -0.89 dB op bins bij 38 dB-Hz en hoger); (b') NOT MET, 0 van 50 campagnes bedekken de referentie (fout -1.189 +/- 0,093 dB, interval ongeveer 0,3 dB); (d) NOT MET, gesloten vorm 2,20 dB onder de directe J/S bij verlies, ongeveer de gefitte dwelltijd van de daling maal de rampsnelheid (2,09 dB); de oorspronkelijke Q-clausules van (a) en (b) zijn NOT MET omdat Q niet identificeerbaar is. VERVOLG (drempels vooraf geregistreerd in 1e532f84, docs/design/evidence/labfit-followup/RESULTS.md): bij een campagne met stapsgewijze J/S wordt delta_eff hersteld binnen +0,185 dB (S1 MET: de ramp-fout is schatterlag); (d) zoals geschreven wordt daarbij gehaald door het trackinglusmodel (0,45 dB) maar niet door het empirische (6,42 dB), dus S2 is NOT MET; bij een verse rampcampagne ligt (d) met de gefitte dwelltijd van de daling plus de rampsnelheid van elke gebeurtenis binnen 1 dB voor beide modellen (R1 MET), en (a') en (d) zoals geschreven worden opnieuw gemist (-1.25 dB; 2,32 en 9,47 dB). De methode wordt gecontroleerd, geen enkele ontvanger: ze kan niet VALIDATED worden uit synthetische data | iq::labfit (campaign, cn0, iqfit, iqreport, schema, mod); iq::cli::labfit | tests/iq_labfit_campaign.rs: bar_c_holdout_prediction_intervals_cover_between_80_and_98_percent (PI90-dekking 0,891 over 558 bins, 0,900 over 10 tijd-tot-verlies-gebeurtenissen onder elk lockmodel), the_report_carries_its_inputs_censoring_validation_and_labels (invoer, censurering, [validation]-hash en oordelen, units-blokaudit), the_cluster_bootstrap_reproduces_from_the_campaign_and_seed, a_validation_mode_fit_refuses_to_start_without_its_table; bar_a_prime_delta_eff_is_recovered_and_q_is_stated_not_fitted, bar_d_closed_form_threshold_matches_the_direct_estimate_within_1_db en bar_b_prime_ci_subset (strikt, met het gat genegeerd); bar_b_prime_full_set_of_50_campaigns (genegeerd, uitgevoerd vóór de release); iq::labfit::cn0-tests (exacte Q-delta-degeneratie, deltaherstel bij de vermelde Q, gesloten-vorminverse van de drempel); iq::labfit::iqfit-tests (de lockmodelcondities reproduceren het C/N0-model exact); tests/iq_labfit_followup.rs (het vervolg geregistreerd in 1e532f84: s1_delta_eff_on_the_stepped_campaign MET, s2_d_as_written_on_the_stepped_campaign die het vastgelegde NOT MET bevestigt, r1_dwell_corrected_d_on_the_fresh_ramp_campaign MET, in release) |
| GPS-LNAV-codering gedecodeerd door een onafhankelijke ontvangerbibliotheek | De LNAV-subframes 1-3 van Kshana (gps_lnav::encode_subframes) voor de 32 efemeriden van brdc0010.22n, aangeboden aan decode_word en decode_frame van RTKLIB: pariteit van elk woord, subframedecodering met consistent issue of data, en elke gedecodeerde parameter tegenover het gehele getal van Kshana en tegenover de invoerwaarde | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — RTKLIB v2.4.2-p13 (BSD-2-Clause, commit 71db0ffa) decode_word/decode_frame als afzonderlijk programma, preregistratie ca5f0142: R1 pariteit en decodering, R2 gedecodeerde waarde gelijk aan het gehele getal van Kshana maal de IS-GPS-200-schaal binnen 2^-52 relatief, R3 binnen een half quantum van de invoer. BEVINDING: R1 960 van 960 woorden en 96 van 96 subframes; R3 elke parameter, week en referentietijd exact; R2 faalt bij 41 waarden (af1, delta-n, IDOT) met 1 tot 4 eenheden in de laatste plaats omdat P2_43 van RTKLIB het decimale 1.136868377216160E-13 is, 2.6e-16 relatief van 2^-43; delen door de constante van RTKLIB geeft in elk geval het gehele getal van Kshana terug. Blijft MODELLED: de geregistreerde R2-drempel was te krap voor de eigen constante van de onafhankelijke referentie | gps_lnav | tests/gps_lnav_rtklib_decode_oracle.rs::rtklib_recovers_every_integer_and_differs_only_by_its_decimal_two_to_the_minus_43 (vastgelegde bevinding); tests/gps_lnav_rtklib_decode_oracle.rs::kshana_lnav_subframes_decode_in_rtklib_to_the_broadcast_parameters (strikt, met het gat genegeerd) |
| Codering van het GPS-LNAV-navigatiebericht | IS-GPS-200 LNAV-subframes 1-3 (gps_lnav::encode_subframes: kwantisatie naar het dichtstbijzijnde getal van elke klok- en baanparameter bij de schaalfactoren en de waarde van pi uit de specificatie, twee-complementpakking, TLM- en HOW-woorden, pariteit van Tabel 20-XIV met D29*/D30*-inversie, de pariteitsoplossende bits van woorden 2 en 10), het bericht dat een GPS L1 C/A-signaalgenerator uitzendt | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende (modelmatige) onderdelen, dus de mogelijkheid blijft berekend uit een model — RTKLIB v2.4.2-p13 (BSD-2-Clause, commit 71db0ffa) readrnx die het dagelijkse IGS-broadcastbestand BRDC00IGS_R_20250610000_01D_MN.rnx parseert en decode_word/decode_frame die de woorden van Kshana decoderen, als afzonderlijk programma uitgevoerd; preregistratie d4d9eb9d vóórdat het bestand werd opgehaald, drempel met exacte gehele getallen. Mutatie: afkappen in plaats van afronden geeft 235 fouten. Eerdere vergelijkingen van dezelfde encoder zijn als bevindingen vastgelegd: tegen gps-sdr-sim, dat afkapt (230 velden), en tegen de geschaalde waarden van RTKLIB, waarvan de decimale constante 2^-43 een drempel van één ulp miste (41 waarden). Postverificatie door de integrator (blijft MODELLED): de vergelijking komt overeen en een mutatie van de pariteitsset maakt haar ook rood, maar de preregistratie d4d9eb9d bereikte de openbare branch om 20:02:29 UTC, twee seconden na de resultaatcommit 1783f904 (20:02:27 UTC) die de uitvoer van RTKLIB voor het bestand al bevat, zodat de volgorde 'geregistreerd voordat het bestand werd opgehaald' niet kan worden aangetoond; een verse registratie, gepusht voordat een ongezien broadcastbestand wordt opgehaald, zou dat beslechten | gps_lnav | tests/gps_lnav_rtklib_integer_oracle.rs::kshana_lnav_integers_decode_in_rtklib_from_an_unseen_broadcast_file (32 satellieten van het IGS-broadcastbestand van 2 maart 2025: 960 van 960 woorden doorstaan de RTKLIB-pariteit, 96 van 96 subframes decoderen, 608 van 608 gedecodeerde uitgezonden gehele getallen zijn gelijk aan die van Kshana, elke invoer binnen een half quantum, week en tijden exact); gps_lnav::tests |
| Acquisitie en C/N0-schatting op echte maan-IQ | Parallelle codefasezoektocht (acquisition::pcps_acquire: draagbare FFT, coherente vouwing, niet-coherente accumulatie, chikwadraatdrempel voor een zoekbrede kans op vals alarm), verfijning, open-lus-promptcorrelatie met code-Doppler en de M2M4-C/N0-schatter, uitgevoerd op de LuGRE L1 4-bit-IQ-batches gelezen via realdata::ion_sdr | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — GNSS-SDR 0.0.19 (GPL-3.0, afzonderlijk programma, vastgelegde configuratie) op de negen L1-batches die niet van het oppervlak zijn en de RAW C/N0 van de vluchtontvanger (LuGRE Mission Data, Zenodo 16411687, CC BY 4,0), preregistratie 768cb62b. BEVINDING: de lezer van Kshana decodeert alle 288 vergeleken spans identiek aan een onafhankelijke converter; GNSS-SDR verklaart 266 van 288 zoekacties positief en Kshana is het eens met alle 266 beslissingen, maar slechts 250 liggen op de cel van GNSS-SDR (A2 faalt); het C/N0-deel is leeg, want geen enkele RAW-vluchtepoch ligt binnen 30 s van een batch (dichtstbijzijnde 141 s). De meeste positieven zijn artefacten: de kale twee-complementniveaus dragen een gemiddelde van -0.5 op I en Q, een nulfrequentielijn 32 dB boven de ruis in een bin van 1 kHz, die beide ontvangers verwerven. Twee batches (OP5, OP12) werden ten onrechte uitgesloten: een cijfervrije lezing van hun metadata werd aangezien voor een tegenspraak met hun headers; de werkelijke oorzaak was dat de lezer een sample breder dan een woord niet kon lezen (sindsdien verholpen). Blijft MODELLED | acquisition, portable_math, realdata::ion_sdr, realdata::lugre | tests/lugre_acquisition_gnss_sdr_oracle.rs::finding_dc_artefacts_and_no_contemporaneous_flight_cn0 (vastgelegde bevinding, datagebonden); tests/lugre_acquisition_gnss_sdr_oracle.rs::acquisition_and_relative_cn0_on_lugre_iq_match_gnss_sdr_and_the_flight_receiver (strikt, met het gat genegeerd); acquisition::tests; realdata::ion_sdr::tests; realdata::lugre::tests |
| Acquisitie op echte maan-IQ tegenover door de baan voorspelde Doppler (beslissing op samplevermogen) | acquisition::pcps_acquire met zijn beslissing op samplevermogen op de negen L1-batches van LuGRE niet op het oppervlak met mid-rise-niveaus; Dopplerverschillen tussen verworven satellieten vergeleken met verschillen die zijn voorspeld uit de definitieve ESA-banen en de door Firefly gereconstrueerde baan van Blue Ghost | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Voorspelde Doppler uit ESA/ESOC-definitieve banen en het door NAIF CLPS gereconstrueerde traject (xval/lugre-predicted-doppler/predict.py, onafhankelijk van Kshana), preregistratie 0d1839d2. BEVINDING: alle 288 zoekacties overschrijden de drempel op ruis (samplevermogenstatistieken ongeveer 430 tot 520 tegen 346,3), dus P1 geldt triviaal en P3 geldt (274 van 288 voorspeld zichtbaar) terwijl P2 faalt bij 4033 van 4036 paren. De bandbegrensde front-end verhoogt de ruis van elke cel ongeveer 1,46 keer (vastgelegd: ruisvloer 292 tegen de witteruis-200 bij OP2 PRN 1), wat de samplevermogenstatistiek niet ziet. Blijft MODELLED | acquisition, realdata::ion_sdr | tests/lugre_acquisition_predicted_doppler_oracle.rs::noise_alone_crosses_the_sample_power_threshold_on_lugre_iq (vastgelegde bevinding, datagebonden); tests/lugre_acquisition_predicted_doppler_oracle.rs::acquired_doppler_differences_on_lugre_iq_match_the_orbit_prediction (strikt, met het gat genegeerd) |
| Acquisitie op echte maan-IQ beoordeeld aan de hand van door de baan voorspelde Doppler | acquisition::pcps_acquire met de cell-averaging-beslissing (piek boven de gemiddelde cel van het raster, robuust tegen bandbegrensde ruis) op de negen L1-batches van LuGRE niet op het oppervlak met mid-rise-niveaus; Dopplerverschillen tussen verworven satellieten vergeleken met verschillen die zijn voorspeld uit de definitieve ESA-banen en de door Firefly gereconstrueerde baan van Blue Ghost | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Voorspelde Doppler uit ESA/ESOC-definitieve banen en het door NAIF CLPS gereconstrueerde traject (xval/lugre-predicted-doppler/predict.py, onafhankelijk van Kshana), preregistratie a81a9a4e. BEVINDING: P1 en P3 gelden (4 batches, 12 van 12 acquisities voorspeld zichtbaar) maar P2 faalt bij 8 van 8 paren. De twee sterkste paren komen qua grootte met de voorspelling overeen met omgekeerd teken (OP2 PRN 18/24: +7670,0 Hz gemeten, -7693.9 voorspeld; OP17 PRN 11/30: +11155,0, -11114.4), dus de geregistreerde I-in-de-lage-nibble-volgorde is het toegevoegde van de batches; de zes detecties net boven de drempel komen met geen van beide tekens overeen. De Dopplerspreiding van de verfijning (30 tot 50 Hz tussen twee runs) werd door de registratie ook onderschat. Blijft MODELLED | acquisition, realdata::ion_sdr | tests/lugre_acquisition_cell_average_doppler_oracle.rs::strong_pairs_match_the_prediction_only_with_the_doppler_sign_reversed (vastgelegde bevinding, datagebonden); tests/lugre_acquisition_cell_average_doppler_oracle.rs::cell_average_acquisitions_on_lugre_iq_match_the_orbit_predicted_doppler (strikt, met het gat genegeerd) |
| Acquisitie op achtergehouden echte maan-IQ tegenover door de baan voorspelde Doppler | acquisition::pcps_acquire (cell-averaging-beslissing, kans op vals alarm 1e-7) met refine_doppler_coherent op de LuGRE L1-batches die op het maanoppervlak zijn opgenomen (I in de hoge nibble, mid-rise-niveaus); Dopplerverschillen tussen verworven satellieten tegenover verschillen die zijn voorspeld uit de definitieve ESA-banen en de landingsplaatskernel van Firefly | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Voorspelde Doppler uit ESA/ESOC-definitieve banen en de NAIF CLPS Firefly-landingsplaatskernel (xval/lugre-predicted-doppler/predict_surface.py, onafhankelijk van Kshana), preregistratie 2108e6ff op batches die nooit eerder zijn geopend. BEVINDING: niet-leegheid faalt; geen enkele batch bevat twee acquisities. OP40 uitgesloten (metadata noemt een ontbrekend bestand); OP38, OP73, OP77_0, OP77_1 verwerven niets en tonen geen vals alarm bij 1e-7 (hoogste statistieken 325 tot 356 tegen 385,9); OP74 en OP76 verwerven PRN 31 en OP78_0 en OP78_1 PRN 12, elk alleen, allemaal voorspeld zichtbaar. Blijft MODELLED. Bekendgemaakte afwijkingen: de geregistreerde Dopplerdrempel van 10 Hz berust op een synthetische Monte Carlo van de coherente verfijning, niet op de spreiding van de reeds geziene batches waar de integrator om vroeg; OP40 werd vóór de run uitgesloten omdat zijn metadata een samplebestand noemt dat de dataset niet meelevert | acquisition, realdata::ion_sdr, realdata::lugre | tests/lugre_surface_acquisition_doppler_oracle.rs::each_surface_acquisition_is_a_single_predicted_visible_satellite (vastgelegde bevinding, datagebonden); tests/lugre_surface_acquisition_doppler_oracle.rs::surface_acquisitions_match_the_orbit_predicted_doppler (strikt, met het gat genegeerd) |
| Differentiële PNT op de maan | Differentieel referentiestation van het type NovaMoon: opheffing van gemeenschappelijke modi, restfout die met de basislijn groeit en DGNSS-beschermingsniveaus | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Differentiële foutopheffingsidentiteit + hergebruik van de DO-229E SBAS PL-machinerie; de enkelvoudig-verschil- + WLS-oplossing wordt bovendien kruisgecontroleerd tegen lsq()/matinv() van RTKLIB (Takasu, BSD-2-Clause, gecompileerde C) — onafhankelijke solvercode, maar dezelfde eerste-orde LOS-verschilalgebra, dus nog steeds InternalConsistency | lunar_dpnt | lunar_dpnt::tests (klokcommon-mode heft exact op; residu groeit met de basislijn; hergebruikt SBAS PL; het aantal satellieten wordt gerespecteerd tot de limiet van 24 van de builder, zodat een grotere constellatie niet stilzwijgend een kleinere kan teruggeven); tests/lunar_differential_pnt_reference.rs (enkelvoudig-verschilresidu + WLS-positieoplossing tegen lsq() van RTKLIB gecompileerd uit C-broncode) |
| Interoperabiliteitsexport voor de maan | Aan LunaNet/IOAG afgestemde export van maanstelsel, tijd en efemeride (CCSDS OEM plus KIF) met round-trip en formaatcontrole | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — de lunaire OEM-export van kshana opnieuw geparseerd door de onafhankelijke oem-bibliotheek van een derde partij (R. J. Anderson): frame-/tijdtokens en toestand per epoch komen overeen tot op schrijfprecisie (1 mm / 1e-9 km/s) en een export zonder TIME_SYSTEM wordt geweigerd — een structurele interchange-heen-en-terugcontrole; de fysieke semantiek van lunair frame en tijd is getoetst in hun eigen rijen, dus dit blijft MODELLED. 0,30 externe vergelijking, een bevinding (blijft MODELLED): een tweede onafhankelijke lezer, de Orekit 12,2 CCSDS OEM-parser (Apache-2.0, strikte standaardwaarden), weigert beide lunaire bestanden omdat hij de tijdsystemen LTC en TCL niet implementeert (hij decodeert de EME2000/UTC-OEM van de crate, en decodeert de lunaire bestanden zodra TIME_SYSTEM door TDB is vervangen); oem 0.4.5 decodeert ze binnen de geschreven precisie alleen door terug te vallen van het niet-ondersteunde tijdsysteem. Interchange van deze lunaire bestanden met gangbare CCSDS-lezers is niet aangetoond |
lunar_interop | lunar_interop::tests (OEM draagt lunaire REF_FRAME/TIME_SYSTEM; tijdmetadata gaan heen en weer; KIF-envelope); tests/lunar_interoperability_export_reference.rs (de uitgezonden lunaire OEM van kshana opnieuw geparseerd door de onafhankelijke Python-bibliotheek oem: REF_FRAME/TIME_SYSTEM/CENTER-tokens + toestand per epoch tot formaatprecisie; een beschadigde export wordt geweigerd); tests/lunar_interop_oem_oracle.rs::recorded_two_reader_outcome_is_for_todays_export |
| Scoring afgestemd op raamwerken voor PNT-veerkracht | Deelscores per dimensie over de eigen zeven veerkrachtcategorieën van Kshana (geen DHS-termen), de RDRR-functies van RethinkPNT en de criteria van Yang, elk gemarkeerd als berekend uit een model met zijn drijvende factor; voorlopig RPCF-niveau met een poort voor begrensde degradatie. Zelfbeoordeling op basis van simulatie, nooit certificering. | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Met de hand afgeleide formules per metriek: inverse-Simpson-diversiteit, gewogen-gemiddelde samengestelde score, begrensde/onbegrensde tijdlijnduren, Level-ladder van de zwakste schakel | resilience::arch, resilience::score, resilience::diversity, resilience::timeline | resilience::score::tests (monotoniciteit, grenzen van de samengestelde score, niveaucap, modelled-herkomst); resilience::diversity::tests (inverse-Simpson, common-mode, SPOF) |
| Studie naar beslissingsinstabiliteit van de veerkrachtscore | Kwantificeert hoe één samengestelde score of één RPCF-niveau architecturen herordent onder een verdedigbare gewichtensimplex en een dreigingsensemble (top-1-omslagpercentage, Kendall-tau-spreiding, niveau-omslagpercentage, rangbereiken); analyses van opgegeven versus gemeten en van diversiteitsinstorting. | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vormidentiteiten voor rangstatistieken (tau in [-1,1] met met de hand berekende waarden; deterministische geseede Dirichlet) en geconstrueerde stabiele/instabiele getuigen | resilience::stats, resilience::study, resilience::panel | resilience::stats::tests (Kendall-tau-handvoorbeeld, Dirichlet-simplex, flip-rate); resilience::study::tests (stabiliteitscontrole, instabiliteitsgetuige, verklaard-tegenover-gemeten, diversiteitscollaps) |
| Representativiteit van de demonstratie en hiaten tot vlucht | Eerlijkheidsregister per resultaat dat een demonstratie-uitvoer kwalificeert: de externe ankers, de modelaannames, de hiaten tot vlucht en de representatieve TRL-band, met afgedwongen invarianten (getoetst vereist een extern anker; berekend uit een model vereist een hiaat en kan niet boven TRL 4 claimen). | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vorminvarianten die zijn afgebeeld op de compliance-discipline 'representativiteit onderbouwd + hiaten tot vlucht geïdentificeerd'; gekoppeld aan de grens tussen verificatiestatus en soort onafhankelijke referentie | representativeness | representativeness::tests (getoetst-vereist-extern-anker, berekend-uit-model-vereist-hiaat, TRL-plafond-voor-berekend-uit-model, misvormde-band, JSON-velden) |
| Bewijs voor de afweging kwantum tegenover klassiek (gemeenschappelijke vorm) | Eén reproduceerbaar TradeEvidence-object (vast kader: scenario, seed en engine; gemeenschappelijke kwantum-tegenover-klassiek-waarden per kwaliteitsmaat met polariteitscorrect voordeel, optioneel betrouwbaarheidsinterval van 95%, label getoetst of berekend uit een model) met een representativiteitsrecord, zodat elke kwantum-PNT-vertical de afweging op dezelfde eerlijke manier rapporteert. | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vormidentiteiten voor voordeel/winnaar + getrouwe omhulling van het bestaande quantum_trade::TradeResult; eerlijkheid gekoppeld aan het representativiteitsregister en de verificatielabels | qtrade | qtrade::tests (voordeelpolariteit hoger/lager-is-beter, omhult een echt TradeResult getrouw, oneerlijk bewijs geweigerd, getoetste kwaliteitsmaat vereist extern anker, deterministische JSON) |
| Bibliotheek met foutmodellen van kwantumapparaten | Apparaatkaarten (optisch, gevangen-ion en kwikion, plus klassieke klokken hergebruikt uit holdover/clock_state; koude-atoom-interferometer; klassieke tijdoverdrachtlinks en links met verstrengeling of enkele fotonen), elk met een representativiteitsrecord; de verstrengelingslink voegt een door shotruis begrensd model voor de tijdsprecisie toe (~jitter/sqrt(R*tau), straf voor donkere tellingen, systematische ondergrens). | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Hergebruikte klok-/CAI-coëfficiënten (holdover/clock_state, gepubliceerde waarden) + gesloten-vormidentiteiten voor hagelruis/verlies voor de verstrengelingslink | quantum_devices | quantum_devices::tests (klokkaarten eerlijk+geordend; verstrengelingsprecisie ~1/sqrt(tau); gedetecteerde snelheid -10x/10dB; donkere tellingen verslechteren; grenzen van de systematische vloer; kaart berekend uit model+geldig) |
| Betrouwbare kwantumtijdsynchronisatie (tijdoverdracht, beveiligde verspreiding en anomalie) | Volledige keten voor kwantum- tegenover klassieke tijdoverdracht (klokdoorloop en linkprecisie in kwadratuur), een hergebruikt beschermingsniveau voor tijdsynchronisatie, een beveiligingskwaliteitsmaat voor vertragings- en replay-aanvallen (1-P_md) en een detectiekans voor klokanomalieën plus CUSUM-latentie, uitgegeven als eerlijk TradeEvidence met een representativiteitsrecord. | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vormkwadratuurbudget over hergebruikte getoetste kernels (ADEV tegen Stable32/NIST; TPL-grens; detectie analytic_pd/pmd); eerlijkheid gekoppeld aan het representativiteitsregister | timetransfer_chain | timetransfer_chain::tests (precisie verbetert met integratie; quantum kan winnen EN verliezen; PL eindig-positief; veiligheidskwaliteitsmaat in [0.1] en groeit met aanvalsvertraging; anomalie-Pd monotoon; afweging is_honest) |
| GNSS-vrije kwantumnavigatie | Kwantum (koude-atoom-interferometer) tegenover klassieke dead-reckoning met een INS van navigatiekwaliteit tijdens een GNSS-uitval: groei van de positiefout, holdover tot een positiedrempel, en de afweging kwantum tegenover klassiek als eerlijk TradeEvidence; eerlijke opmerking over waarneembaarheid (bias is niet waarneembaar zonder positiebepaling, dus de fout groeit). | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Hergebruikte inertiaalbudgetten kruisgecontroleerd tegen een onafhankelijke Octave-dubbele-integratie van dezelfde dead-reckoning-ODE (andere runtime, gedeeld model → ReferenceImpl) plus de gepubliceerde kortetermijnruis van Freier-2016 als eenzijdig anker; de samengestelde vergelijking quantum-tegenover-klassiek blijft MODELLED | quantum_nav_od | quantum_nav_od::tests (quantum verslaat klassiek over een lange onderbreking; voordeel hangt af van de onderbreking; afweging is_honest); tests/gnss_free_quantum_navigation_reference.rs (positiegroei bij dead reckoning tegenover een onafhankelijke Octave-dubbele-integratie + het gepubliceerde ruisanker van Freier-2016) |
| Detectie van fouten en anomalieën voor kwantum-PNT-systemen | Gelabelde catalogus van kwantumfouten (klokfrequentiesprong, drift, lock-verlies; sensorbiassprong, uitval), een detectiestatistiek-ROC-AUC met een bootstrap-betrouwbaarheidsinterval, en een minimaal detecteerbare fout bij een vast valse-alarmpercentage; een door een kwantumklok ondersteunde monitor detecteert kleinere fouten dan een klassieke, uitgegeven als eerlijk TradeEvidence. | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vorm-Gaussische AUC = Phi(mu/(sigma*sqrt2)) kruisgecontroleerd tegen de extern getoetste eval_stats::bootstrap_auc_ci (tegen scikit-learn) + analytische detectiedrempels | quantum_faults | quantum_faults::tests (analytische AUC bekende waarden; empirische bootstrap-AUC omsluit de gesloten vorm; quantum detecteert kleinere fouten / hogere AUC; voordeel verdwijnt bij enorme fouten; catalogus van 5 klassen; afweging is_honest) |
| Passieve geolocatie van zenders via TDOA/FDOA | Een zender lokaliseren (jammer of spoofer, of een opportunistische bron voor omgekeerde PNT) uit het tijdverschil van aankomst over een ontvangernetwerk — de snijding van hyperboloïden τᵢ=(Rᵢ−R₀)/c opgelost met Gauss–Newton-kleinstekwadraten — en, door het frequentieverschil van aankomst (verschillen in afstandssnelheid) met bewegende ontvangers toe te voegen, positie en snelheid gezamenlijk terugvinden; met de Cramér–Rao-ondergrens op de positiecovariantie uit de meetgeometrie | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Zelfconsistentie van schatter en geometrie: voorwaarts→inverse heen-en-terugcontroles, de Fisher/CRLB-identiteit J·CRLB=I, monotoniciteit van GDOP, en de schatter die onder Monte Carlo-ruis zijn eigen Cramér–Rao-grens bereikt — interne-consistentiecontroles, GEEN externe dataset, dus de rij blijft InternalConsistency. MODELLED passieve geolokalisatie — puntbronmodel met zichtlijn; geen termen voor multipath / NLOS, klokbias van de ontvanger of atmosferische refractie. 0,30 ronde 2, tegen Ho en Chan 1993 en Ho en Xu 2004 (vooraf geregistreerd f89018b8, 1 % van elke afgedrukte waarde), een bevinding (blijft MODELLED): de oppervlaktebeperkte TDOA-grens reproduceert de geometrische factoren op 40 N (-0.11 %, -0.02 %) en de maximale TDOA; de gezamenlijke TDOA+FDOA-grens reproduceert Fig. 6 (+0,06 %, -0.17 %) en, bij de bron die de eigen code van de auteurs voor Fig. 7 noemt (wijziging geschreven nadat dat resultaat was gezien, bekendgemaakt), Fig. 7 (+0,11 %, -0.02 %); ze is gelijk aan de gepubliceerde grenscode van de auteurs (BSD-stijl, uitgevoerd onder GNU Octave) tot 3e-12; de covariantiegewogen maximum-likelihoodsolver bereikt de afgedrukte grens (+0,3 tot +0,4 %). De Ottawa-factoren die het artikel uit een Monte Carlo afdrukt (251, 7,1) verschillen +1,3 % en +4,4 %, buiten de drempel van 1 % | geolocation | geolocation::tests (ruisvrije TDOA voorwaarts→inverse tot 1e-6 m; J·CRLB=I met een symmetrische PD-covariantie; het CRLB-positievariantiespoor is niet-stijgend wanneer een ontvanger wordt toegevoegd; gezamenlijke TDOA+FDOA herstelt positie+snelheid van een bewegende zender; <4 ontvangers geweigerd); tests/geolocation_reference.rs (heen-en-terugcontroles over vier geometrieën met een in 3D gevarieerd netwerk; de Gauss–Newton-schatter bereikt zijn Cramér–Rao-grens — de empirische foutcovariantie volgt de analytische grens over 4000 Monte Carlo-proeven); tests/geolocation_crlb_published_oracle.rs (ho_chan_1993_maximum_tdoa; ho_xu_2004_fig7_with_the_authors_corrected_source; ho_xu_2004_bound_matches_the_authors_code; finding_ho_chan_ottawa_printed_values_are_not_the_bound en finding_ho_xu_fig7_printed_source_is_not_the_plotted_one, vastgelegd) |
| Convectieve binnenkomstverhitting in het stagnatiepunt (Sutton-Graves) bij een binnenkomst met 3 vrijheidsgraden | Convectieve warmteflux in het stagnatiepunt q = k sqrt(rho/R_n) V^3 met de Sutton-Graves-constanten voor lucht op aarde en de atmosfeer van Mars (NASA TR R-376, 1971), haar piek en de geïntegreerde warmtebelasting langs een binnenkomst met 3 vrijheidsgraden, ballistisch of dragend bij constante rolhoek, op aarde of Mars. | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie: de relatie en constanten zoals afgedrukt in NASA TR R-376, een convergentiecontrole met halve stap, en de verwachte volgorde van piekverhitting en piekvertraging. WAT NIET: er is geen gepubliceerde verhittingswaarde vergeleken (de Stardust-artikelen geven een ontwerplimiet en een convectief-plus-radiatieve schatting van ongeveer 1200 W/cm2, die een uitsluitend convectieve relatie niet kan evenaren); geen radiatieve verhitting, wandtemperatuur- of katalyticiteitscorrectie, of respons van de thermische bescherming. | entry_eo_ascent::entry_heating (stagnation_heat_flux, simulate_entry) | 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; entry_eo_ascent::entry_heating::tests::mars_entry_runs_with_the_mars_constants; tests/entry_stardust_published.rs (legt 746 W/cm2 voor Stardust vast zonder drempel) |
| Radiometrie, MTF, relatieve randrespons en GIQE-4-NIIRS van elektro-optische beeldvormers | Signaal-ruisbudget van een nadirbeeldvormer (Lambertiaanse scènestraling, cameravergelijking, shot-, donker-, lees- en kwantisatieruis), de systeem-MTF bij Nyquist als product van diffractie van een onbelemmerde apertuur, detectorapertuur, lineaire smeer en Gaussische jitter, de randrespons en de relatieve randrespons geïntegreerd uit die MTF, Q = lambda F / p, en de GIQE-versie 4-NIIRS zonder MTF-compensatie. Uitvoerbaar als scenariosoort eo-radiometry. |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten vormen: de diffractie-MTF bij halve afsnijfrequentie, de eenpixel-rampflank van een zuivere detectorapertuur (RER 1), de normale-CDF-flank van een Gaussische vervaging (RER = erf(0.5/(sigma sqrt 2))), schaling van hagelruis, en de GIQE 4-coëfficiënten zoals gepubliceerd (Leachtenauer et al., Applied Optics 36(32), 1997). WAT NIET: er is geen externe imager, gemeten MTF of beoordeeld beeld vergeleken; de GIQE is een empirische regressie met een eigen fout; geen strooilicht, atmosferische MTF, MTF-compensatie of aliasing. | entry_eo_ascent::eo_radiometry (Imager, snr_budget, giqe4_niirs, EoRadiometryScenario) | 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; entry_eo_ascent::eo_radiometry::tests::a_gaussian_blur_has_the_normal_cdf_edge; entry_eo_ascent::eo_radiometry::tests::snr_budget_scales_as_shot_noise_when_signal_dominates; entry_eo_ascent::eo_radiometry::tests::giqe4_switches_coefficients_at_rer_0_9_and_falls_with_gsd |
| Verliezen door zwaartekracht, weerstand, sturing en tegendruk bij lanceeropstijging | Vlakke zwaartekrachtbochtopstijging van een voertuig met meerdere trappen boven een niet-roterende bolvormige aarde door de US Standard Atmosphere 1976 (dichtheid en druk), met een pitch-kick, een door de tegendruk van het mondstuk verminderde stuwkracht, uitbranden van trappen op exacte stapgrenzen, en de verliezen door zwaartekracht, weerstand, sturing en tegendruk naast de toestand geïntegreerd. Uitvoerbaar als scenariosoort ascent-losses. |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie: de exacte identiteit eindsnelheid = som Isp g0 ln(m0/mf) min de vier geïntegreerde verliezen (residu onder 1e-6 m/s), de vergelijking van Tsiolkovsky bij een verticale vacuümverbranding met zwaartekracht als enig verlies, en de US76-druk op zeeniveau en tropopauze. WAT NIET: de verliezen van geen enkel gepubliceerd voertuig zijn vergeleken; geen aardrotatie, glijfase, smoren of geleiding voorbij de kick; constante C_D; geen trajectoptimalisator. | entry_eo_ascent::ascent (simulate_ascent, AscentScenario); reentry::us76_pressure | 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; entry_eo_ascent::ascent::tests::us76_pressure_has_the_standard_values; entry_eo_ascent::ascent::tests::a_larger_kick_lowers_burnout_flight_path_angle |
| TWSTFT-tweewegvergelijking, onzekerheidsbudget en linkstabiliteit met flikker en dagelijkse niet-reciprociteit | De TWSTFT-tweewegvergelijking opgelost voor T_A - T_B met zend- en ontvangstvertragingen van de stations, de ionosferische op-/neerwaartse asymmetrie in de Ku-band, het vertragingsverschil van de transponder en de Sagnac-termen, tegenover haar exacte voorwaartse model; een onzekerheidsbudget in kwadratuur met de link-TDEV als type-A-term; een tweewegreeks met witte en flikkerfaseruis (Kasdin-Walter), een dagelijkse niet-reciprociteit en een constante reciprociteitsrest; en de snelheid, rest-RMS, TDEV en ADEV van aangeleverde stationsklokreeksen in Circular T, MJD-CSV of IGS RINEX. Uitvoerbaar als scenariosoort time-transfer-budget. |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie: het voorwaartse model en de opgeloste vergelijking komen overeen tot 1e-15 s, de Sagnac-term is gelijk aan de onafhankelijke BIPM 2A omega/c^2-lusvorm van de module, de ionosferische term is 40,3 TEC (1/f_up^2 - 1/f_down^2)/c, en de ruisprocessen tonen hun verwachte TDEV-vormen. WAT NIET: er is geen echte TWSTFT-meting of kalibratierapport vergeleken; de vermelde vertragingen en onzekerheden zijn invoer, niet gemeten; de stabiliteiten van aangeleverde reeksen worden gerapporteerd, niet getoetst aan een onafhankelijke externe referentie. | twstft_budget (counter_readings, solve_offset, combined_uncertainty, flicker_phase, two_way_series, series_stability); time_transfer_budget (TimeTransferBudgetScenario, read_series) | twstft_budget::tests (de tweewegvergelijking herstelt de offset exact; de Sagnac-term is gelijk aan de gesloten BIPM-lusvorm; de ionosferische term volgt de frequentiesplitsing en de troposfeer heft op; flickerfase heeft een vlakke TDEV; een dagelijks residu tilt TDEV nabij een halve dag; een reciprociteitsbias verschuift de offset en niet de TDEV; reeksstabiliteit verwijdert een snelheid); time_transfer_budget::tests |
| Numerieke methoden voor de optische atmosfeer langs een schuin pad: Rytov-variantie, scintillatie, gamma-gamma-fadekans, apertuurmiddeling, optische diepte van wolken en heldere lucht | Hufnagel-Valley-Cn2 geïntegreerd langs een schuin pad voor de Rytov-variantie van vlakke en bolvormige golven (uplink en downlink), de scintillatie-index van Andrews-Phillips en de gamma-gamma-parameters, de gamma-gamma-fadekans en fademarge, de zwakke-turbulentie-apertuurmiddelingsfactor, de optische wolkendiepte van een vloeibaarwaterkolom en de optische diepte van heldere lucht uit Kim-zicht plus Rayleigh, ter vervanging van het samengevoegde atmosferische verlies van het optische linkbudget wanneer een atmosfeer wordt aangeleverd. Uitvoerbaar binnen de scenariosoort optical-atmosphere. |
ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende (modelmatige) onderdelen, dus de mogelijkheid blijft berekend uit een model — De numerieke uitwerking wordt vergeleken met een onafhankelijk programma (xval/optical-atmosphere/oracle.py, mpmath 1.4.1 met 30 cijfers, tanh-sinh-kwadratuur op de oorspronkelijke hoogtevariabele en Bessel-K gamma-gamma-dichtheden) dat geen code met Kshana deelt, onder drempels die zijn vastgelegd voordat enige implementatie bestond (xval/optical-atmosphere/PREREGISTRATION.md). WAAROM MODELLED: die onafhankelijke referentie evalueert dezelfde gepubliceerde formules, dus ze toetst de implementatie van de vermelde formules en niet de atmosfeer; er wordt geen ITU-R-validatievoorbeeld en geen gemeten scintillatie- of schuinepad-extinctieregistratie gebruikt (de ITU-waarden zijn een openstaand licentiebesluit en blijven buiten de repository). Het niveau van het Cn2-profiel, het zicht, de aerosol- en moleculaire schaalhoogten, de padlengte voor aperture-middeling en de momentenmatching waarmee aperture-middeling op de gamma-gamma-parameters wordt toegepast zijn vermelde invoer of conventies. Een bronregel in de module legt vast dat één veelgekopieerd overzicht de tweede scintillatie-exponent als 7/6 afdrukt waar Andrews en Phillips 5/6 geven; de 5/6-vorm is geïmplementeerd | optical_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) | tests/optical_atmosphere_reference.rs (vooraf geregistreerde drempels A1-A3 tegen de onafhankelijke mpmath-referentie: 216 Rytov-rasterpunten slechtste relatieve fout 3.4e-7 tegen een drempel van 1e-6, scintillatie slechtste 4.5e-16, aperturefactor slechtste 5.7e-16, 96 gamma-gamma-fadekansen slechtste 1.3e-12 in log10, wolken- en heldere-luchtoptische diepte slechtste 6.6e-16); tests/optical_atmosphere_no_moved_output.rs (drempel A5: het linkbudget met gebundeld verlies en de bestaande locatiebeschikbaarheidsuitvoer zijn bit-identiek aan de basiscommit over 1.000 parametersets) |
| Door het weer bepaalde beschikbaarheid van optische grondlocaties en met de afstand gecorreleerde locatiediversiteit | Beschikbaarheid van een optische link tegenover een opgegeven linkmarge uit een lognormaal klimaat van vloeibaar water in wolken (hoeveelheid volgens ITU-R P.840, extinctie volgens geometrische optica) en de onafhankelijke gamma-gamma-turbulentiefade, de linkmarge die nodig is voor doelbeschikbaarheden en het plafond dat geen marge kan verhogen, lognormale uitvalduren, wat-als-scenario's voor verbeteringstechnieken, en een eenfactor-Gaussische-copula-netwerkbeschikbaarheid waarvan de paarcorrelatie exp(-afstand/decorrelatielengte) is. Uitvoerbaar als scenariosoort optical-atmosphere. |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie: gesloten-vormlimieten en monotoniciteit van het diversiteitsmodel, de gesloten vorm van het wolkenplafond en de log-normale uitvalidentiteiten. GEEN externe onafhankelijke referentie wordt geclaimd en er is er geen vergeleken: er wordt geen gemeten beschikbaarheid van een optisch grondstation of registratie van wolkenvrije zichtlijn gebruikt. WAAROM MODELLED: het wolkenklimaat (kans op wolken, mediaan en spreiding van de vloeibaar-waterkolom, uitvalduren), de onafhankelijkheid van wolken en turbulentie, de Gaussische copulavorm, de decorrelatielengte en elke techniekgain zijn aannames; de meegeleverde scenario's vermelden ILLUSTRATIVE klimaten, geen dataset. Deze rij opwaarderen vereist een geciteerde gemeten beschikbaarheidsregistratie en een drempel die vóór de vergelijking is geregistreerd | optical_weather; optical_sitediv; optical_techniques; optical_atmosphere_scenario | tests/optical_atmosphere_identities.rs (drempel A4: rho = 0 is gelijk aan de onafhankelijke unie en rho = 1 aan de beste enkele locatie tot 1e-12, en nul monotoniciteitsschendingen in het aantal locaties en in de correlatie; de eerste run van deze drempel miste met 3e-9 omdat de gebruikte normale CDF de 1.5e-7-vorm van Abramowitz-Stegun was, een implementatiedefect dat is vervangen door de onvolledige-gamma-CDF terwijl de drempel ongewijzigd bleef); optical_weather::tests en optical_sitediv::tests (monotone marge, het wolkenplafond als gesloten vorm, de uitvalduuridentiteiten, inversie van de margezoektocht) |
| Continuïteit van tijdsynchronisatie en afstandsmeting door optische uitval heen | De uitvalduurverdeling van een optische locatie gekoppeld aan de coastvariantie in gesloten vorm van het holdovermodel van de klok: fout in tijdsynchronisatie en afstandsmeting bij opgegeven uitvalkwantielen, de holdover tot een drempel voor tijdsynchronisatie, het aandeel uitvallen en uitvaltijd daarbinnen en de beschikbaarheid van tijdsynchronisatie A + U E[min(D, T_h)]/E[D], voor de klassieke en kwantumklokklassen. Uitvoerbaar binnen de scenariosoort optical-atmosphere. |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie met de holdovermodule, bit voor bit; GEEN externe onafhankelijke referentie wordt geclaimd. De klas-PSD's zijn de gesynthetiseerde lange-tau-vloeren die de holdovermodule al draagt, dus de cijfers erven haar vermelde kanttekening dat holdover tot een krappe drempel wordt bepaald door de aangenomen roodruisvloer en niet door de geciteerde Allan-deviatie. De uitvalduren zijn een log-normaal model met vermelde parameters, geen gemeten wolkenverblijfsregistratie | optical_outage_holdover (couple, clock_psds); holdover (coast_phase_sigma, holdover_seconds, phase_to_range_m) | tests/optical_atmosphere_identities.rs (drempel A6: de tijdsynchronisatiefout per uitval is gelijk aan holdover::coast_phase_sigma en de afstandsfout is gelijk aan phase_to_range_m bit voor bit over 9 klokken, 3 gemiddelde duren, 3 spreidingen en 4 kwantielen); optical_outage_holdover::tests |
| Optische linkmarge tegenover de tijd: één geseede realisatie van het weer van een locatie | Een optionele tabel [timeseries] (duur, stap, seed) laat de soort optical-atmosphere per locatie ook één geseede realisatie van het opgegeven locatiemodel door de tijd heen schrijven: wolkenepisodes (heldere perioden exponentieel, wolkenuitval lognormaal met het opgegeven gemiddelde en de opgegeven spreiding, het tijdsaandeel in wolken ingesteld op de opgegeven wolkenkans), één lognormale vloeibaarwaterkolom per wolkenepisode, één gamma-gamma-scintillatiesample per stap, en daaruit de linkmarge, de wolken- en scintillatiefades en de vlag voor link omhoog, met de gerealiseerde beschikbaarheid, het wolkenaandeel, het aantal uitvallen en de langste uitval. Zonder de tabel is het resultaat het document van 0,37. Trekkingen verlopen via de draagbare verdelings- en wiskunderoutines, zodat native en wasm32 dezelfde bytes geven. |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Alleen interne consistentie; GEEN externe onafhankelijke referentie wordt geclaimd en er bestaat er geen voor een weerrealisatie. De controles vergelijken één trekking met de statistische uitvoer van hetzelfde model, dus een geslaagde controle zegt dat de generator de vermelde verdelingen bemonstert (de beschikbaarheid en het wolkenaandeel van de trekking liggen binnen vooraf geregistreerde toleranties van de vermelde cijfers), niet dat een echte locatie zich zo gedraagt. De reeks is één realisatie, niet het klimaat: haar beschikbaarheid verschilt van de vermelde met de bemonsteringsfout van de trekking, en scintillatiesamples bij verschillende stappen zijn onafhankelijk, een vermelde vereenvoudiging van een proces dat in milliseconden decorreleert. De weersinvoer blijft de aanname van het scenario. | optical_timeseries (site_series, SiteModel, SeriesSpec, Series); optical_atmosphere_scenario (TimeseriesSpec) | tests/optical_atmosphere_timeseries.rs (drempels T1-T6 van xval/optical-atmosphere/PREREGISTRATION-timeseries.md, vastgelegd vóór de eerste run: dezelfde seed dezelfde bytes en een andere seed andere bytes; geen sleutel zonder de tabel; over 8760 h bij 600 s, seeds 37 en 38, ligt de gerealiseerde beschikbaarheid van elk van de drie standaardlocaties binnen 6 punten van de vermelde (slechtste 3,3) en de gerealiseerde wolkenfractie binnen 5 punten van de vermelde kans (slechtste 2,1); de marge is gelijk aan het budget min de twee fades en up is gelijk aan marge niet-negatief bij elke stap; geen niet-draagbare wiskundeaanroep in de module; te lange runs en slechte stappen geweigerd) |
| Lezer voor TRK-2-18-Orbit-Data-Files en gerampt Mars-2-wegs-Dopplermodel | Een lezer voor DSN Orbit Data Files (TRK-2-18): de recordgroepen van 36 bytes (bestandslabel, identificatie, baandata, ramps per station, klokoffsets, samenvatting, einde van bestand), en in elk baandatarecord de tijdstempel sinds 1950, downlink- en uplinkvertragingen, observabele, stations, datatype, banden, geldigheid, kanaal, ruimtevaartuig, de referentiefrequentie van 46 bit en de compressietijd; begin- en eindtijden, snelheden en beginfrequenties van ramps. Daarbovenop een gerampt 2-wegs-X-band-Dopplermodel (geïntegreerde uplinkramps, heen-en-terug-lichttijd met Shapiro en troposfeer, DSN-stations via de IAU 2006/2000A-CIO-keten en IERS-EOP, stationstijd) en een batchbaanbepaling voor een Mars-orbiter (GMM-3-veld, derde lichamen, SRP, weerstand). | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende (modelmatige) onderdelen, dus de mogelijkheid blijft berekend uit een model — Het PDS3-label dat het DSN-navigatieproces voor datacondionering bij het bestand produceerde (NASA PDS Geosciences Node, MRO-M-RSS-1-MAGR-V1.0), getoetst aan drempels die vooraf zijn geregistreerd in xval/mro-odf/PREREGISTRATION.md voordat de lezer bestond. MODELLED omdat één geregistreerde drempel (de rijen van de tabel aan het einde van het bestand, 121 in het bestand tegen 120 in het label) werd gemist; het label is daar intern inconsistent. Fase 2 (xval/mro-od/PREREGISTRATION.md, wijzigingen A1 en A2 vóór het gescoorde resultaat): de Doppler voorspeld uit de reconstructie van het MRO-navigatieteam (mro_psp5, NAIF) komt overeen met de waargenomen geramp-te 2-weg-Doppler tot 12,5 mHz op passes die niet in de ontwikkeling zijn gebruikt, drempel gehaald; de geregistreerde baanbepaling faalde op de gescoorde boog (normaalmatrix niet positief definiet) en leverde geen baan op, dus de baandrempels werden niet gehaald. Run 2 (xval/mro-od/PREREGISTRATION-RUN2.md, een gedempte schatter, dezelfde boog en drempels, een scoringswijziging R2-A1 bekendgemaakt in docs/revisions) convergeerde: de geschatte baan ligt binnen 0,36 km RMS (0,53 km maximum) van de reconstructie, drempels gehaald, maar de post-fit-Doppler-RMS is 48,6 mHz tegen de drempel van 30 mHz, niet gehaald, dus de rij blijft MODELLED. WAT NIET: geen geschatte baan heeft elke geregistreerde drempel gehaald; ionosfeer, zonneplasma en het grootste deel van de antenne-offset (een radiale offset van 1,5 m wordt gefit op de ontwikkelingspass) zijn niet gemodelleerd. | odf (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) | tests/mro_odf_reader_label_oracle.rs (een echte MRO ODF, 2007-304/305, tegen zijn PDS-label: aantal records, groepsposities, stations, start- en eindtijden en datatypen kloppen; het aantal rijen van de tabel aan het einde van het bestand wijkt met één af, een labelinconsistentie, vastgelegd als bevinding); odf::tests (met de hand gebouwde record-heen-en-terugcontrole, epoch 1950); tests/mro_odf_short_arc_od_oracle.rs (datagebonden, invoer met SHA-256 vastgelegd, maandelijkse CI met echte data vereist: Doppler voorspeld uit de MRO-navigatiereconstructie mro_psp5 op de gescoorde DSS 63- en DSS 14-passes, 12,5 mHz RMS, drempel 30 mHz, gehaald; de geregistreerde baanbepaling leverde geen baan op, vastgelegd als bevinding; run 2 met een gedempte schatter, afzonderlijk geregistreerd: baan 0,36 km RMS en 0,53 km maximum tegen mro_psp5, gehaald, post-fit-Doppler 48,6 mHz tegen 30 mHz, niet gehaald, vastgelegd als bevinding; SPK-type 1-lezer tegen CSPICE, 5e-7 m); mars_od::tests |
| Multiplicatieve-EKF-standschatting uit een gyro en een sterrenvolger | De multiplicatieve EKF van Lefferts-Markley-Shuster: standfout in het lichaamsstelsel en gyrobias als toestanden, propagatie met de gyrosnelheid min de biasschatting en het discrete procesruis van Farrenkopf (hoek- en snelheidsrandomwalk), sterrenvolgerupdates met het residu 2 vec(q^-1 q_st) in Josephvorm, en de multiplicatieve reset; een discrete gyro- en sterrenvolgersimulator volgens Farrenkopf. De soort aocs kan de regellus sluiten op zijn schatting. |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie: de genormaliseerde schattingsfout in het kwadraat van het filter tegen referentie gesimuleerd uit dezelfde sensormodellen over Monte Carlo-seeds, en convergentie van de attitude- en biasschattingen. WAT NIET: er is geen externe schatter of vluchtdata vergeleken (Basilisk 2.9.1 heeft geen MEKF-module); de sensormodellen zijn die uit het leerboek, zonder misalignment, schaalfactor of gezichtsveldeffecten van de startracker. | aocs_mekf (Mekf, GyroSim, attitude_error, spd_solve6); aocs_kind (estimator) | aocs_mekf::tests::mekf_is_consistent_over_monte_carlo_seeds (40 seeds, gemiddelde NEES met zes vrijheidsgraden over de tweede helft binnen 4,5 tot 7,5); aocs_mekf::tests::star_tracker_updates_bound_the_attitude_error; aocs_mekf::tests::attitude_error_is_the_body_frame_small_angle; aocs_kind::tests::estimator_loop_runs_and_reports_consistency |
| Dienstcyclus van een apertuur voor navigatie tegenover communicatie | Eén run neemt een contactplan (een lijst vensters aos_s/los_s, die elk de apertuur vragen voor navigatie of communicatie — dezelfde vensterwoordenschat die passes::predict_passes uitzendt, omgezet door aperture_duty::windows_from_passes), een aantal aperturen en een expliciet arbitragebeleid, en geeft de navigatiedienstcyclus, de communicatiedienstcyclus, de ongebruikte dienstcyclus en de uitval per sessie terug. Het beleid is een invoer met een gedocumenteerde standaardwaarde (navigation-priority; ook communications-priority en niet-onderbrekend first-come-first-served), en het rapport bevat het opgeloste beleid, de volledige definitie ervan en de definities van dienstcyclus en uitval, omdat een genoemde dienstcyclus zonder zijn arbitrageregel niet reproduceerbaar is. Het schema is een exacte intervalsweep over de vensterranden, zodat een venster dat precies eindigt waar het volgende begint nooit conflicteert, en apertuurseconden voor navigatie, communicatie en ongebruikt in die ene sweep onafhankelijk worden opgeteld. Uitvoerbaar als scenariosoort aperture-duty-cycle |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie, uit drie grootheden die met verschillende uitdrukkingen in dezelfde sweep zijn berekend en daarna moeten sluiten. Navigatie-aperture-seconden, communicatie-aperture-seconden en inactieve aperture-seconden worden afzonderlijk geaccumuleerd — inactief uit (apertures − |bediend|) per elementair interval, nooit als restant — en hun som wordt getoetst tegen apertures × horizon_s, wat een verkeerd gekozen grens, een dubbel geteld interval of een weggelaten interval onmiddellijk breekt; de bedieningstijden per sessie moeten bovendien afzonderlijk optellen tot de twee dienstentotalen. De structurele eigenschappen van de scheduler worden gemeten in plaats van aangenomen: bedieningstijd blijkt niet-dalend in het aantal apertures over 200 pseudowillekeurige plannen voor alle drie de beleidsregels (niet vanzelfsprekend voor de niet-preëmptieve beleidsregel, waar een extra aperture bij elke latere grens verandert wie wat vasthoudt), en de grensrekenkunde is vastgelegd bij het raak-/één-seconde-overlappaar waar een off-by-one anders verborgen zou blijven. De pass-predictorbrug wordt gecontroleerd tegen de uitvoer van passes::predict_passes: met één aperture en geen concurrerende dienst zijn de navigatie-aperture-seconden gelijk aan de eigen opgetelde passduren van de predictor. Er wordt geen externe onafhankelijke referentie geclaimd en er bestaat er geen: de mogelijkheid vervangt handrekenwerk in plaats van eraan te worden getoetst, het meegeleverde contactplan is illustratief in plaats van gevlogen, en geen operationele scheduler publiceert een paar plan-plus-antwoord met zijn arbitrageregel vermeld — een duty berekend onder een niet-vermeld beleid is niet vergelijkbaar met een berekend onder een vermeld beleid, en de beleidsafhankelijkheid wordt gemeten (navigatieduty's van 100/150 tegen 50/150 op hetzelfde plan). Slew- en omschakeltijd, datavolume, bufferstatus, energie en linksluiting zijn in het rapportlabel uitgesloten in plaats van stilzwijgend gemodelleerd |
aperture_duty | aperture_duty::tests (een venster dat precies eindigt wanneer het volgende begint concurreert niet, en het één seconde eerder zetten kost precies één seconde — de off-by-one-bewaking; overlappende vensters boven het aantal apertures zetten de lager gerangschikte sessie in uitval, met het conflictinterval vastgelegd; het arbitragebeleid bepaalt welke dienst de aperture vasthoudt, met de getallen van alle drie de beleidsregels vastgelegd op één plan; first-come-first-served preëmpteert geen sessie die al een aperture vasthoudt; een sessie die bij haar start de arbitrage verliest verwerft een aperture wanneer er een vrijkomt; de drie duty's verantwoorden elke beschikbare aperture-seconde over 3 beleidsregels × 4 aantallen apertures; het toevoegen van een aperture verhoogt nooit enige sessie-uitval, gemeten over 200 pseudowillekeurige plannen × 3 beleidsregels × elk aantal apertures; genoeg apertures voor elke sessie laten helemaal geen uitval over; de rapportagehorizon knipt het plan af en bepaalt de duty-noemer; een voorspelde passlijst wordt een contactplan zonder tweede venstertype; de duty-getallen van het meegeleverde plan zijn engine-uitvoer voor één en twee apertures; het rapport vermeldt het beleid dat de getallen produceerde; elk gerapporteerd cijfer draagt een eenheid en een herkomstklasse; het scenario is reproduceerbaar en verklaart zichzelf MODELLED; het scenario weigert een plan dat het niet kan schedulen); api::tests::aperture_duty_cycle_kind_round_trips_through_the_dispatch |
| RF-jamming van navigatie op het maanoppervlak (J/S per satelliet) | Maaneigen jammer-signaalverhouding, effectieve C/N₀ en verlies van lock voor een selenografische gebruiker aan het oppervlak onder een jammer op het maanoppervlak (of verhoogd), over de illustratieve constellatie van het type Moonlight/LCNS uit openbare bronnen. Stelt de open jammingketen samen (j_over_s_db, effective_cn0_dbhz, rx_antenna_gain_db, lock_status, q_factor, nominal_cn0_dbhz, free_space_path_loss_db) met de open maanhemelgeometrie (lunar_service::LunarConstellation + topocentric, lunar::selenographic_to_mcmf); er wordt geen geometrie of radiometrie opnieuw afgeleid. In tegenstelling tot de aardse soort jamming is de signaalschakel geen vast ontvangen vermogen: het isotrope ontvangen vermogen van elke satelliet is zijn eigen linkbudget-EIRP − FSPL(schuine afstand), zodat J/S per satelliet verschilt met maanafstand en elevatie. Geeft ÉÉN RIJ PER ZICHTBARE LINK (epoch, satelliet) als JSON en als *.table.csv-artefact, met beide ontvangen vermogens waarvan J/S het verschil is ernaast afgedrukt; samengevatte kwaliteitsmaten staan naast die tabel, nooit in plaats ervan. Uitvoerbaar als scenariosoort lunar-jamming |
ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Compositiekruiscontrole tegen een onafhankelijk codepad in de repository: elke J/S per link wordt herleid als het verschil van twee linkbudgetten berekend met linkbudget::received_signal_power_dbw, waarvan het vrijeruimteverlies de enkele uitdrukking 20·log10(4πRf/c) is in plaats van de drietermige som die jamming::free_space_path_loss_db gebruikt — de twee komen op elke rij overeen tot < 1e-9 dB (gemeten slechtste geval 7.11e-14 dB, dat wil zeggen floating-point-afronding). De onderliggende interferentieketen die ze samenstelt is afzonderlijk extern verankerd in tests/gnss_denied_jamming_resilience_reference.rs (onafhankelijke numpy/scipy-herafleiding van J/S en effectieve C/N₀ vastgelegd op Kaplan & Hegarty §9,4, plus de gemeten C/N₀ van JammerTest 2024, Zenodo 10.5281/zenodo.15910563); de lunaire geometrie die ze samenstelt is de geometrie van lunar_service/lunar met haar eigen onafhankelijke referenties. Gesloten-vormidentiteiten die hier worden gecontroleerd: een gehalveerde jammerafstand voegt precies 20·log10(2) dB toe aan elke rij; J/S is exact invariant voor de boresight-gain van de gebruikersantenne terwijl C/N₀ met precies die gain beweegt; een elevatiemasker verandert geen enkele overlevende rij bit voor bit. De rij zelf blijft ReferenceImpl/berekend uit een model: er bestaat geen gemeten lunaire jammingcampagne om aan te toetsen, en de constellatie is een illustratieve geometrie van de klasse Moonlight/LCNS uit openbare bronnen, geen gevlogen efemeride | lunar_jamming (samenstelling van jamming, lunar_service, lunar) | 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; the_scenario_reports_one_j_over_s_row_per_visible_satellite_and_never_a_median; a_single_median_j_over_s_would_misreport_the_outcome_that_the_table_reports; a_closer_jammer_raises_j_over_s_by_exactly_the_free_space_loss_difference; a_more_distant_satellite_is_the_weaker_signal_so_it_carries_the_higher_j_over_s; j_over_s_is_invariant_to_the_user_antenna_boresight_gain; a_narrowband_jammer_leaves_no_higher_effective_cn0_than_broadband_at_equal_js; a_selenographic_jammer_gets_its_range_from_the_shared_lunar_geometry; a_strong_enough_jammer_takes_every_lunar_link_below_the_tracking_threshold; no_jammer_is_a_clean_sky_lunar_baseline_with_an_undefined_j_over_s; raising_the_elevation_mask_can_only_remove_rows_never_change_the_ones_that_remain; every_emitted_numeric_field_has_a_unit_and_a_provenance_class; the_csv_table_carries_every_row_of_the_json_table; the_run_is_deterministic_and_the_dispatch_surface_is_populated; bad_inputs_are_rejected_rather_than_producing_a_number); api::tests::lunar_jamming_kind_round_trips_through_the_dispatch_with_a_per_satellite_table |
| Maanontzeggingscontour met een onzekerheidsband uit de gemeten spreiding van C/N₀ | Het rapport lunar-jamming laat zijn ontzeggingscontour niet langer op één scalar rusten. Het geeft de volledige gemeten verdeling van de C/N₀ van het gewenste signaal over de tabel per satelliet — n, min, p05, p25, mediaan, p75, p95, max, gemiddelde, steekproefstandaardafwijking, en de eigen asymmetrie van de steekproef (p95 − mediaan) − (mediaan − p05) — naast de rijen per link, die ongewijzigd zijn. De contour wordt vervolgens bij elk van die rangstatistieken gerapporteerd onder BEIDE ontzeggingscriteria die de engine kent, nooit het ene in plaats van het andere: het bestaande criterium van de vermogensverhouding (J/S = 30 dB, dezelfde drempel die attack_surface en tracking_loop gebruiken, en het criterium achter de kolom denial van de uitgebrachte tabel voor maan-linkjamming), en het criterium van verlies van lock (de effectieve C/N₀ die daalt tot tracking_threshold_dbhz), het criterium waarmee de eigen kolom links[].status van dit rapport wordt beoordeeld. Elk contourpunt wordt gegeven op beide assen van het ontzeggingsvlak — het jammer-EIRP dat nodig is bij de afstand van het scenario, en de ontzeggingsafstand bij het EIRP van het scenario — zodat de band een interval is op dezelfde assen waarop een contourplot wordt getekend. De bandranden ZIJN contour(p05) en contour(p95): dezelfde gesloten-vorm-afbeelding toegepast op de eigen kwantielen van de steekproef, geen sigma die aan de steekproef is gefit en niet mediaan ± k·stdev, en het rapport zegt dat in een band_definition-string naast de getallen. stdev wordt voor de continuïteit uitgegeven en door niets gebruikt. Een kwantiel waarvan de C/N₀ al op of onder de trackingdrempel ligt, heeft geen eindige ontzeggende J/S; die kolommen worden als null uitgegeven met een geteld motief in plaats van als oneindig of als een afgekapte straal |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Interne consistentie tegen de eigen voorwaartse functies van de engine, wat alles is wat deze mogelijkheid eerlijk kan claimen. Elk contourpunt is een gesloten-vorminversie, en elke inversie wordt gecontroleerd door haar antwoord terug te voeren door de VOORWAARTSE functie waarmee de eigen rijen van het rapport zijn gescoord: de J/S-kolom via jamming::effective_cn0_dbhz (die tracking_threshold_dbhz moet teruggeven tot < 1e-9 dB-Hz), de afstandskolom via jamming::free_space_path_loss_db en jamming::j_over_s_db (dezelfde J/S tot < 1e-9 dB), de EIRP-kolom via jamming::j_over_s_db bij de eigen afstand van het scenario. De contour wordt verder gecontroleerd als de GRENS van de ontkenningsverzameling in plaats van een punt erbinnen — lock_status verliest lock op een strikte ongelijkheid, dus het oordeel blijkt gemeten om te slaan van DEGRADED naar LOST over 1e-4 dB J/S aan weerszijden van de contour, wat een contour die een epsilon afwijkt zou missen. De sterkste controle is per link in plaats van per kwantiel: het toepassen van dezelfde afbeelding op de eigen C/N₀ van elke rij reproduceert de statuskolom van het rapport exact — 0 afwijkingen bij 38 van 38 rijen op het gedocumenteerde werkpunt (kind = lunar-jamming, elke invoer standaard behalve jammer.range_m = 25.000 m), waar 26 rijen LOST zijn en 12 niet. Monotoniciteit wordt gemeten, niet aangenomen: 20.001 samples over [tracking_threshold + 1e-3, 80] dB-Hz, 0 schendingen van een strikt dalende afstand en een strikt stijgend vereist vermogen, zodat de kwantielvolgorde van de band wordt aangetoond in plaats van beweerd. ExternalDataset wordt afgewezen en daarmee ook de status getoetst aan een onafhankelijke externe referentie: er bestaat geen gemeten lunaire jammingcampagne om een ontkenningsstraal mee te vergelijken, de constellatie is een illustratieve geometrie van de klasse Moonlight/LCNS uit openbare bronnen in plaats van een gevlogen efemeride, en de invoer van de contour (EIRP, jammervermogen, antennegains, ruistemperatuur) zijn representatieve grootten. ReferenceImpl werd ook overwogen en afgewezen — de inverse en de voorwaartse uitdrukking zijn DEZELFDE algebra in twee richtingen gelezen, dus de heen-en-terugcontrole vangt transcriptie- en tekenfouten op maar is geen onafhankelijke implementatie; het een kruiscontrole noemen zou de zet van geleende onafhankelijkheid zijn die de matrixinvarianten juist moeten voorkomen. Wat de band oplevert wordt gemeten en aangehaald in plaats van beweerd: op dat werkpunt is de contour met één scalar 27,402916 km en plaatst die 25 km aan de ontkende kant voor alle 38 rijen, terwijl de band 21,256108 .. 29,921360 km het werkpunt bevat en daarom de splitsing rapporteert die de tabel feitelijk toont. De twee criteria blijken ook gemeten van elkaar af te wijken — de vermogensverhoudingsband (38,186527 .. 53,691675 km) bevat 25 km helemaal niet — en daarom worden beide afgedrukt | lunar_jamming (denial_js_db, range_for_free_space_path_loss_m, Cn0Distribution, DenialContourPoint, ContourBand, DenialContour; inverteert jamming::effective_cn0_dbhz, jamming::j_over_s_db en jamming::free_space_path_loss_db) | 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; the_asymmetry_the_band_carries_is_the_samples_own_shape_bent_by_the_criterion; the_contour_is_monotone_in_cn0_measured_over_a_dense_sweep_not_assumed; the_band_recovers_the_split_verdict_the_single_scalar_contour_lost; the_distribution_is_the_tables_own_order_statistics_and_keeps_the_rows; a_link_already_below_the_threshold_gets_a_null_contour_point_not_a_number; a_clean_sky_run_has_no_contour_at_all_rather_than_an_empty_one; the_denial_threshold_is_the_same_thirty_decibels_the_rest_of_the_engine_uses; the_units_block_describes_the_contour_and_names_nothing_the_report_omits) |
| Detectievermogen van een integriteitsmonitor voor meerdere modaliteiten | Het rapport hybrid-optical-rf stelt wat de chikwadraatmonitor voor meerdere modaliteiten werkelijk kan DETECTEREN, niet alleen dat hij een foutvrij geval doorstaat: de minimaal detecteerbare bias per bewaakte as (oost, noord, omhoog, klok) bij de opgegeven kansen op vals alarm en gemiste detectie van het scenario, de detectievermogenscurve aan weerszijden ervan, het ruisvrije biasveelvoud waarbij de gerealiseerde statistiek de drempel voor het eerst overschrijdt, en de tijd tot detectie voor een biasramp met een opgegeven snelheid. Fouten worden ook via de echte monitor geïnjecteerd en de statistiek die hij teruggeeft wordt naast de analytische voorspelling gerapporteerd | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Twee interne onafhankelijke referenties, geen externe dataset. (1) Gesloten-vorm-heen-en-terugcontrole: de minimaal detecteerbare bias wordt voortgebracht door de niet-centrale chi-kwadraatstaart op de niet-centraliteit te inverteren (raim::pbias) en wordt geverifieerd door de resulterende niet-centraliteit terug te voeren door raim::noncentral_chi2_cdf bij de eigen drempel van de monitor, die P_md moet teruggeven. (2) Injectie tegenover analyse: een bias wordt in de RF-schatting van één as geschreven en cross_raim::run_cross_raim wordt opnieuw uitgevoerd, zodat de statistiek die met de analytische niet-centraliteit wordt vergeleken die is welke de monitor berekende, geen herafleiding. Een geseede Monte Carlo van de statistiek zelf zit als derde controle in de tests; ze staat bewust NIET in het rapport, omdat een bemonsterde schatting trager zou zijn en niet bit voor bit reproduceerbaar. ExternalDataset wordt afgewezen: de grootheid is het detectievermogen van DEZE monitor bij de sigma-toewijzing van DIT scenario, en de sigma-grootten waarmee de MDB wordt geschaald zijn representatieve invoer uit een model, geen metingen. ReferenceImpl werd ook overwogen en afgewezen — de Monte Carlo bemonstert dezelfde statistiek die de analyse beschrijft, dus ze vangt transcriptie- en coëfficiëntfouten op maar is geen onafhankelijke implementatie van de monitor. 0,30 ronde 2 (vooraf geregistreerd 0135a9e4), geblokkeerd (blijft MODELLED): SciPy 1.18.1 chi2/ncx2/brentq reproduceren de rapportdrempel (binnen 5.4e-12), MDB per as, vermogenscurve, kruisingsvoud en ramp-tijd-tot-detectie (binnen 5.3e-10) op vijf configuraties; de statistieken van geïnjecteerde fouten hebben geen onafhankelijke referentie en de sigma-grootten zijn invoer uit een model, dus de afbakening wacht op een besluit van de eigenaar | hybrid_integrity | hybrid_integrity::tests (de detectievermogencurve loopt van de valsalarmsnelheid bij nul fout tot 1 − P_md bij de minimaal detecteerbare bias; de minimaal detecteerbare bias, teruggevoerd door noncentral_chi2_cdf bij de drempel die de monitor zelf toepaste, geeft P_md terug tot 1e-9, op elke as en via de publieke helper; een bias die daadwerkelijk in de RF-schatting wordt geïnjecteerd verschuift de eigen statistiek van de monitor met precies de met de hand berekende b²/(σ_rf² + σ_opt²); een ruisvrije bias wordt gevangen boven √(T/λ*)×MDB en gemist eronder, waarbij de geïnjecteerde ladder die kruising omspant; detectievermogen is monotoon in foutgrootte en identiek op alle vier assen in veelvouden van MDB; een geseede Monte Carlo met 200,000 samples van de monitorstatistiek reproduceert het analytische vermogen binnen 4σ op vier punten van de curve; de timing-MDB ligt vastgelegd boven de timing-alarmlimiet, wat een gemeten zwakte is en geen eigenschap; het Wilson-Hilferty-kwantiel blijkt gemeten met ~4% af te wijken van de exacte drempel van de monitor, wat vastlegt waarom het niet werd gebruikt; het rampcijfer is precies MDB/snelheid en schaalt omgekeerd met de snelheid, en een niet-positieve snelheid rapporteert null in plaats van nul); tests/hybrid_fault_power_scipy_oracle.rs (report_detection_power_matches_scipy_chi2_and_ncx2; report_detection_power_matches_scipy_with_comparable_sigmas) |
| Hergroei van de covariantie na de overdracht tegenover de alarmlimiet | Het rapport hybrid-optical-rf legt het procesruismodel van het filter bloot en stelt hoe lang de oplossing na de overdracht binnen de alarmlimiet blijft: voor beide overdrachtsrichtingen neemt het de covariantie per as die de overdracht heeft achtergelaten, propageert die vooruit onder een opgegeven randomwalk-procesruis, en rapporteert het tijdstip waarop de met dekking geschaalde 1σ de horizontale, verticale en tijdsynchronisatiealarmlimieten bereikt, welke limiet het eerst bindt, de verdubbelingstijdconstante van de variantie, en een bemonsterd coastprofiel dat de overschrijding omsluit. Procesruis-PSD's, de dekkingsfactor en de alarmlimieten zijn alle invoer met gedocumenteerde standaardwaarden | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Geen externe onafhankelijke referentie. De kruising is een gesloten-vormoplossing van de groei van de random-walk-variantie, en de tests herberekenen haar onafhankelijk uit de waarden die het rapport zelf publiceert in plaats van uit de binnenwerking van de zender. De startcovariantie ligt bit voor bit vast op het spoor dat het bestaande handoffblok al rapporteerde, zodat de coast geen covariantie kan propageren die niemand anders zag. De procesruis-PSD's zijn MODELLED representatieve invoer en de kruisingstijden schalen er direct mee, wat de schalingstest als gemeten eigenschap vermeldt in plaats van als claim. ExternalDataset wordt bewust afgewezen: de coasttijd is een directe functie van twee PSD's uit een model en van alarmlimieten die zelf representatief zijn, en er bestaat geen gemeten lunaire optische/RF-handovercoast om mee te vergelijken. Een externe onafhankelijke referentie zou hier een gepubliceerde curve van covariantiegroei na handover of holdovernauwkeurigheid voor een vergelijkbare ontvanger nodig hebben, met zijn procesruismodel vermeld, gecontroleerd tot een tolerantie | hybrid_integrity | hybrid_integrity::tests (de coast begint bij precies het covariantiespoor dat het handoffblok rapporteert, voor beide richtingen, zodat de herspeelde diagonaal niet kan afdrijven van de gerapporteerde handover; de gerapporteerde kruisingstijd wordt herberekend uit de eigen handoversigma, procesruis-PSD en dekkingsfactor van het rapport, en de grens ligt net ervoor binnen de alarmlimiet en net erna erbuiten; de coasttijd schaalt exact omgekeerd met de procesruis-PSD en wordt korter wanneer de alarmlimiet strakker wordt; een coast met nul-PSD rapporteert null in plaats van een tijd nul, omdat nooit niet onmiddellijk is; het uitgegeven profiel kruist precies één keer en omsluit de gerapporteerde kruising; de variantieverdubbelingstijd en de kruisingstijd van de alarmlimiet liggen vastgelegd uiteen, met acht ordes van grootte verschil na de strakke optische fase en binnen één orde van grootte na de losse RF-fase; het verlaten van de optische modaliteit levert meer coasttijd op dan het verlaten van RF, met precies het covariantieverschil gedeeld door de horizontale groeisnelheid; en random_walk_time_to_limit onderscheidt al-buiten, kruist-op-t en kruist-nooit) |
| Antennepatroon buiten de boresight in de export van de maangeometrie | De geometrie-export per satelliet bevat, per (epoch, satelliet), de hoek buiten de boresight BIJ DE SATELLIET en de zendversterking richting de locatie uit het echte patroon van een uniform belichte cirkelvormige apertuur (Airy), en rapporteert het aantal in de bundel onder dat patroon NAAST het aantal in de bundel onder de symmetrische benadering van versterking naar bundelbreedte (θ_3dB[deg] = √(31000/G_lin)), waarbij het verschil als expliciete correctie wordt uitgegeven in links, in satellieten per epoch en als slechtste enkele epoch. Beide impliciete apertuurrendementen van de benadering worden uitgegeven (0,641 tegenover de regel van 70·λ/D graden waarmee ze wordt aangehaald, 0,920 tegenover een uniforme cirkelvormige apertuur), zodat het rendement dat ze stilzwijgend aanneemt wordt vermeld en niet afgeleid. Standaard uit: het blok verschijnt alleen wanneer zowel een exportlocatie als een apertuur is opgegeven | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gemengd, en gescheiden in plaats van samengevoegd. Het PATROON eronder is extern getoetst aan een onafhankelijke referentie en houdt een eigen rij (een scipy.special.j1-fixture tot < 0,05 dB in tests/validate_p1_orbital_footprint.rs, plus hier de gepubliceerde Airy-halfvermogensabscis x = 1,61634 gelokaliseerd met bisectie in plaats van aangenomen). De GEOMETRIE wordt gecontroleerd tegen gesloten-vormdriehoeksmeetkunde, geschreven als een andere uitdrukking dan het te toetsen inproduct. De INSLUITING van de echte bundel door de benaderende kegel is afgeleide algebra (28.019/√η tegen 29,479 graden per λ/D), dus de correctie kan alleen niet-positief zijn voor η ≤ 0,9035. Maar de TELLINGEN in de bundel zelf hebben geen externe onafhankelijke referentie: geen gepubliceerde tabel geeft hoeveel satellieten van een schil van de klasse Moonlight/LCNS een zuidpolige locatie binnen de halfvermogensbundel van een bepaalde schotel houden, en de constellatie is een illustratieve benadering uit openbare bronnen, geen gevlogen efemeride. De gemeten afwijking op het gedocumenteerde werkpunt — 0 links in de bundel onder het echte patroon tegen 28 onder de benadering, −2,33 satellieten per epoch, slechtste epoch 3, op 76 geëvalueerde links — is daarom een MODELLED bevinding over de benadering, vastgelegd als regressieliteral (de dichtstbijzijnde rij zit 0,069° van beide bundelranden, vier ordes van grootte boven elke afwijking in het laatste cijfer), geen extern getoetst dekkingsgetal. De rij ExternalDataset noemen op grond van het eigen externe anker van het patroon zou geleende validatie zijn, wat de zet is die de matrixinvarianten juist moeten voorkomen. 0,30 ronde 2 (vooraf geregistreerd d9755d28), geblokkeerd (blijft MODELLED): SPICE-geometrie en SciPy-Besselfuncties reproduceren de hoek buiten de boresight (slechtste 3.0e-5 graden), Airy-gain en vlaggen voor in-bundel op 6.336 rijen van toestanden van gevlogen orbiters en het gedocumenteerde werkpunt; maar op gevlogen geometrie splitsen de vlaggen zich naar satellietidentiteit (de dichtstbijzijnde link ligt 1,66 graden van de bundelrand), de zichtbaarheid van 5 graden wordt als vlag gecontroleerd, niet als numerieke elevatie, de vlag voor de symmetrische benadering past de vuistregel 31000/G toe op een getoetste hoek zonder de regel te toetsen, en de impliciete efficiënties hebben geen onafhankelijke referentie; de afbakening wacht op een besluit van de eigenaar | lunar_service, antenna | antenna::tests en lunar_service::tests (de halfvermogenskruising, gelokaliseerd met bisectie op het patroon, komt overeen met de gepubliceerde Airy x = 1,61634 en levert de exacte breedte van 1,02899·λ/D op, waarbij wordt vastgelegd dat de conventionele coëfficiënt 1,02 op −2,955 dB zit en niet op −3,010 dB; het patroon is strikt dalend over 400 punten van de boresight tot de eerste nul; de algebra van de impliciete efficiëntie gaat heen en weer tot 1e-12 en reproduceert 0,641 / 0,920; de hoek buiten de boresight komt overeen met tan θ = R·sin γ/(r − R·cos γ) op 20 punten en beide limieten tot 1e-12; de benaderende kegel bevat de echte bundel rij voor rij; de kopcijfers zijn gelijk aan de vlaggen per rij die ze samenvatten en de correctie is gelijk aan hun verschil; elk rijoordeel is herberekenbaar uit het uitgegeven rapport alleen; elk uitgegeven numeriek en boolean veld heeft een eenheid en een herkomstklasse; een onmogelijke apertuur geeft geen blok uit; zonder geconfigureerde antenne behoudt de export precies zijn zes bestaande sleutels, 0 bladeren gewijzigd en 0 verwijderd); tests/validate_lunar_export_offboresight_spice.rs (flown_orbiter_export_matches_spice_geometry_and_scipy_pattern; documented_working_point_matches_anise_propagation_and_scipy_pattern) |
| Verlies van lock in de trackinglus en spoof-pull-in onder interferentie | Verlies van lock berekend uit lusdynamica in plaats van uit een vermogensverhouding: thermische 1σ-jitter van de draaggolf (Costas) en de code (niet-coherent vroeg/laat) tegenover C/N₀ met het kwadrateringsverlies, tegenover de opgegeven regels 3σ_PLL + θ_e ≤ 45° en 3σ_DLL + ramplag ≤ d/2 chips; C/N₀-drempels voor wegvallen en herlock met de bindende lus genoemd en de hysterese AFGELEID uit de bredere pull-in-bandbreedte en niet beweerd; de verklaarde tijd tot verlies van lock uit een lockdetector met twee drempels en bevestigingsverblijftijden, afzonderlijk gerapporteerd van de fysieke faseontsnappingstijd (gemiddelde tijd tussen cycle slips volgens Viterbi, in log₁₀ s omdat die honderden decaden beslaat); de grootste codeslew en draaggolf-Dopplersnelheid die de lussen van het slachtoffer kunnen volgen; en de ONTZEGGINGSSTRAAL die de lusdynamica impliceert, gerapporteerd naast de bestaande straal van de vermogensverhouding met hun verschil met teken als eigen benoemd veld. Uitvoerbaar als scenariosoort tracking-loop |
ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — De eigen sdr-correlator van de engine (sdr::correlate / synth_if / CaCode) voorwaarts gestapt op geseede synthetische IF bij een gekalibreerde C/N₀ — een afzonderlijk codepad dat dezelfde getallen bereikt door numerieke correlatie van gesamplede IQ in plaats van door een algebraïsche jitteruitdrukking, dus het is een andere route en geen herformulering — plus standaard getabelleerde gemodificeerde-Bessel-I₀-waarden voor de cycle-slipterm. Luscheorie volgens Kaplan & Hegarty hfst. 8 en Viterbi/Gardner voor de slip-tijd. De rij blijft ReferenceImpl/MODELLED: de kruiscontrole leeft in dezelfde codebase, en de bessel_i0-controle toetst één speciale functie in plaats van het trackingmodel, dus de rij promoveren op die grond zou zelfbedienend labelen zijn. ExternalDataset zou een opgenomen ruwe-IF-dataset met C/N₀-referentie en een geannoteerd moment van lock-verlies nodig hebben (klasse TEXBAT/OAKBAT); geen enkele zit in deze boom, en zelfs met de IQ publiceren die datasets geen luswaarheid per epoch, dus een verklaarde tijd van lock-verlies kon alleen worden getoetst aan de lockdetector van een andere ontvanger, wat een gekozen modelkeuze is en geen onafhankelijke referentie. De lusbandbreedtes, integratietijd, correlatorafstand, pull-in-verhouding, dwells, jammervermogen en antennegains zijn representatieve bandcijfers, geen datasheet. 0,30 ronde 2, GNSS-SDR 0.0.19 (GPL-3.0, als programma uitgevoerd) op onafhankelijk gegenereerde IF (vooraf geregistreerd 6ef7698c, wijzigingen van de meetmethode bekendgemaakt), een bevinding (blijft MODELLED): de jitter van de gesloten PLL en DLL komt binnen 8 % overeen bij 35 tot 45 dB-Hz, de dynamische stress van 10 Hz/s binnen 1 % en de eerste-orde-coderamplag binnen 2 %; bij 30 dB-Hz is de PLL-jitter 21 % hoger en de DLL-jitter 32 % lager, liggen de gemeten drempels van de 15-gradenregel 1,5 dB boven de engine, en slipt de tweede-orde-lus 0,5 tot 2 decaden vaker dan de eerste-orde-slip-tijdgrens. 0,30 herziening: de Costas-slip-tijd gebruikt nu de lus-SNR rho/4 (halve-cyclusslips); de standaard jitter_table log10_mean_time_to_cycle_slip_s daalt van 11,58 naar 2,10 bij de drempel van 25,47 dB-Hz | tracking_loop (samenstelling van sdr, jamming) | tracking_loop::tests (open-lus-Costas-discriminatorjitter tegen sdr::correlate voorwaarts gestapt op geseede synthetische IF, 3 gepoolde ruisrealisaties × 900 epochs, overeenkomend tot 0,63% over 35-45 dB-Hz, waarbij de kwadrateringsverliesterm minstens 3× beter moet passen dan de vorm zonder kwadrateringsverlies waar ze oplosbaar is; de verzadiging van de atan-discriminator bij ~32 dB-Hz bevestigd in plaats van alleen vermeld, zodat de geldigheidsgrens is vastgelegd; gesloten-lus-σ tegen een gestapte sdr-Costaslus over 4000 epochs tot 3,7%; eerste-orde-DLL-ramplag tegen een gestapte sdr-DLL tot 0,17%; bessel_i0 tegen getabelleerde I₀ tot 7.4e-8; de hysteresebreedte moet vallen in [5·log₁₀ r, 10·log₁₀ r] over 4 verhoudingen × 2 integratietijden × 3 bandbreedtes); api::tests::tracking_loop_kind_round_trips_through_the_dispatch; tests/tracking_loop_gnss_sdr_oracle.rs::finding_is_pinned |
| Covariantie van coördinaten van een punt op het maanoppervlak uit een VLBI-vertragingsschema, gescheiden gehouden van die van het aardstation | Een derde datumkeuze, all-stations-fixed, die elk aardstation vasthoudt en alleen de met de maan meedraaiende coördinaten van de BEACON schat — de configuratie waarvoor een onzekerheid van een punt op het maanoppervlak werkelijk wordt genoemd, omdat de coördinaten van aardstations een invoer van het vertragingsmodel zijn en geen onbekende ervan. Ze bestaat omdat de covariantie op stationsniveau en de covariantie van het oppervlaktepunt VERSCHILLENDE GROOTHEDEN zijn die door de hefboomarm ρ/B worden gescheiden, en niets eerder voorkwam dat de ene tegenover de andere werd genoemd. Het uitgegeven blok beacon_link bevat ρ, de langste basislijn, de hefboomarm, de oppervlaktepuntvorm van de gelijkverdelingslink c·σ_τ·(ρ/B)·√(g/N), de berekende sigma per coördinaat van de beacon en hun verhouding — de verhouding is null in plaats van misleidend wanneer de beacon niet wordt geschat of de matrix rangdeficiënt is. B wordt genomen als de LANGSTE aanwezige basislijn, de gunstigste, zodat de verhouding alleen kan onderschatten. Uitvoerbaar als datum = "all-stations-fixed" met estimate_beacon = true, wat wordt geweigerd met een bericht dat de ontbrekende invoer noemt wanneer de beacon niet wordt geschat |
ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Gesloten-vormidentiteiten, zonder dat een externe onafhankelijke referentie wordt geclaimd of beschikbaar is. De hefboomarm wordt gecontroleerd tegen ρ/B en de twee equipartitievormen tegen elkaar tot 1e-15 — algebraïsche identiteiten, dus ze vangen een bedradingsfout op en niets anders, en zijn als zodanig gelabeld. Het inhoudelijke resultaat is MEASURED in plaats van beweerd: een vertraging uit een vaste basislijn legt de RICHTING van het baken vast, dus de zichtlijncomponent bereikt de informatiematrix alleen via de nabijeveld-afstandsterm, en de test leest de resulterende anisotropie af uit het uitgegeven spectrum in plaats van haar af te leiden. AM-HM maakt √(p/trace(M)) tot een harde ondergrens, dus een link met isotrope equipartitie kan alleen ONDERSCHATTEN, en de verhouding berekend-over-equipartitie is precies de anisotropie die ze wegliet. MEASURED op het Goldstone-achtige/Canberra-achtige paar waarvan de koorde 10726,748 km is: over 112 bemonsterde dagen laten 36 helemaal geen onderling zichtbare epoch toe bij een masker van 10°, het meeste ooit onderling zichtbaar is 17 van een schema met 49 samples, en op de 73 bruikbare dagen loopt de driecomponentenverhouding van 113,9× tot vier ordes van grootte meer, mediaan 1513×, terwijl beperking tot de twee transversale richtingen waarin de zichtlijn niet verhongert 3,94× tot 25,8× geeft, mediaan 7,8×. WAT DEZE RIJ NIET CLAIMT: een van die cijfers als eigenschap van een echte campagne. Ze stelt vast dat de grootheid van het oppervlaktepunt nu BEREKEND wordt in plaats van aangenomen, en dat ze niet stilzwijgend verwisseld kan worden met die op stationsniveau. Blijft ReferenceImpl/MODELLED: er bestaat geen gepubliceerde covariantie van een lunair VLBI-oppervlaktepunt om aan te toetsen, de stations en de bakenlocatie zijn illustratief in plaats van opgemeten, en de efemeride, klokken, troposfeer en aarde-oriëntatieparameters worden VAST gehouden, dus dit is een Cramér-Rao-grens voor een gereduceerde parameterset en uit zichzelf optimistisch. Dezelfde grootheid op het kernelpad (baken op de DE440-Maan) is getoetst aan een onafhankelijke externe referentie in een eigen rij, "…, kernel path"; op dit analytische pad is de kleinste bakensigma 3,9 % onder de SPICE-referentie van die rij, en daarom blijft deze rij MODELLED | lunar_vlbi_fim (samenstelling van lunar_vlbi, fim, cio, lunar_frame, frames) | lunar_vlbi_fim::tests (7 lib-tests: elke datumspelling gaat heen en weer via parse/as_str en een onbekende wordt geweigerd; het vasthouden van elk station zonder het baken wordt geweigerd met een fout die estimate_beacon noemt; de hefboomarm is aantoonbaar GELIJK aan ρ/B en de bakenequipartitie GELIJK aan de stationsequipartitie maal die, beide tot 1e-15, met een verdere bewering dat de hefboomarm 10 overschrijdt zodat de twee budgetten op deze geometrie niet verwisselbaar zijn; de gepubliceerde basislijn van de fixture ligt vast op 10726,748 km en haar schema met 49 samples levert aantoonbaar strikt minder dan 49 onderling zichtbare waarnemingen op; het bakenspectrum op een enkele basislijn omspant gemeten minstens vijf decaden en de resulterende verhouding blijkt boven 1 door AM-HM en in feite boven 100; de lay-out station-plus-baken is aantoonbaar rangdeficiënt met BEIDE berekende velden null terwijl de gemodelleerde vergelijkingsgrootheid nog steeds rapporteert. Plus een bewaking op de fixture zelf: een sleutel op het hoogste niveau die na een array van tabellen wordt ingevoegd wordt in plaats daarvan stationsdata, dus het invoegpunt is vastgelegd en het geparseerde scenario gecontroleerd op het dragen van de sleutel — de faalwijze is een run die stilzwijgend een andere configuratie gebruikt dan die welke de test noemt) |
| Differentiële PNT op de maan — restbudget van de correctielink | De drie termen die een differentiële correctie oploopt tussen de epoch waarop ze wordt berekend en de epoch waarop ze wordt gebruikt, elk eerder als ongemodelleerde marge gelaten: opmetingsfout van het referentiestation (gecorreleerd over satellieten, onafhankelijk van de basislijn, ~1:1 positieoverdracht en aantoonbaar niet door DOP versterkt), veroudering van de correctie (de bevroren baanfoutvector opnieuw geprojecteerd op de zichtlijn waarop de eigen propagator van de engine de satelliet één latentie later plaatst, plus klokdrift c·σ_y(τ)·τ uit de gekalibreerde machtswet), en uniforme linkkwantisatie over een exacte volle schaal ±(orbit_err + clock_err) met variantie step²/12. Gerapporteerd in zowel het afstands- als het positiedomein, naast — nooit in plaats van — de bestaande rest en het beschermingsniveau, met een latentiecurve naast het enkele cijfer | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vormidentiteiten en zelfconsistentie: de variantie stap²/12 van de uniforme quantizer, de exacte covariantiepropagatie (GᵀG)⁻¹GᵀRG(GᵀG)⁻¹ die voor gelijke σ instort tot σ·PDOP, de 1:1-overdracht van de landmetingsterm als gevolg van û_user ≈ û_ref, en kwadratuursluiting bij uitschakelen. De PDOP-kruiscontrole tegen orbit::dop deelt de normaalmatrix [−û, 1], dus het is een consistentiecontrole en wordt als zodanig gelabeld in plaats van als onafhankelijke referentie. Er is geen ExternalDataset beschikbaar of geclaimd: geen enkel lunair oppervlaktestation heeft een gepubliceerde opgemeten nauwkeurigheid, geen enkele lunaire differentiële-correctielink heeft een gepubliceerde latentie of berichtformaat, en het kwantiseringsresultaat is een gesloten vorm in plaats van een meting. RTKLIB — al de externe-code-referentie voor de kernel met enkelvoudig verschil en gewogen kleinste kwadraten — zou kunnen worden aangestuurd met een opzettelijk verkeerd opgemeten basis om de 1:1-overdracht van de landmeting te bevestigen, maar dat is onafhankelijke code over dezelfde eerste-orde-zichtlijnalgebra. GROOTTEN ZIJN MODELLED: de standaard voor de landmeting is de eigen toewijzing voor lunaire frame-realisatie van deze crate in plaats van een gemeten station, de latentie en het aantal bits zijn ILLUSTRATIVE invoer, en groei van de VECTOR van de uitgezonden efemeridefout zelf is helemaal niet gemodelleerd — vermeld in de uitgegeven veroudering-wetstring, omdat het de term is die het meest waarschijnlijk een echte link domineert | lunar_dpnt | lunar_dpnt::tests (een zuiver additieve bewaking waarvan het verschil in sleutelverzameling precies {correction_link, units} is met elke bestaande waarde bit-identiek tegen literals vastgelegd vóór de wijziging; landmetingsfout decorreleert NIET met de basislijn terwijl de baanterm dat wel doet, en overleeft een nulbasislijn waar de baanterm exact nul is — de structurele controle die het verkeerd bedraden van de term opvangt; een stationsfout van 1 m draagt 1:1 over en is bewezen niet DOP-versterkt; nul latentie reproduceert het niet-verouderde residu bit voor bit en het residu is monotoon in latentie, met de uitgegeven curve gelijk aan directe runs; de kwantiseringsstap halveert exact per bit en σ² = stap²/12, en de volle schaal volgt de geïnjecteerde grootten; elke term om beurten uitgeschakeld herstelt de andere twee in kwadratuur; gelijke σ per satelliet propageert naar precies σ·PDOP en die PDOP komt overeen met orbit::dop; elk uitgegeven veld draagt een eenheid en een herkomstklasse, in beide richtingen gecontroleerd) |
| Dekkings- en nauwkeurigheidskaart van referentiestations op de maan | Monte-Carlosweep van het differentiële PNT-model voor de maan over een gebruikersraster bij de zuidpool en een dag aan epochs (de soort lunar-station-coverage): voor een differentieel referentiestation op een bekende locatie bij de zuidpool, per punt en over het gebied, de percentielen van de gecorrigeerde en niet-gecorrigeerde positiefout (3D, horizontaal, verticaal), beschikbaarheid met een reden voor elke niet-beschikbare epoch (user_lt4, station_missing_sat), dekking tegenover een drempel die vóór de run is vastgelegd, DO-229E-beschermingsniveaus, de dekkingsstraal per azimutsector, en het budget van de correctielink bij het station en bij het slechtste punt. Geen uitspraak over de prestaties van enig echt systeem; niet verbonden aan of onderschreven door enig agentschap |
InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Rekenkunde herberekend door een onafhankelijk numpy-script op geëxporteerde gevallen (scripts/gen_lunar_station_ref.py, numpy 2.5.4; vooraf geregistreerd in tests/fixtures/lunar_station/PREREGISTRATION.md, alleen gecommit in 9caedf97 vóór de eerste run): bij 20 gevallen met elke foutterm aan zijn de zichtbare verzamelingen en de status identiek, komen de ruwe afstandsfouten overeen tot 1.4e-14 m, de positiefoutvectoren en -groottes tot 1.4e-9 m tegen een drempel van 1e-6 m, en is de p95 van elk punt gelijk aan numpy.percentile bit voor bit; de stationscorrecties MISTEN hun drempel van 1e-9 m (slechtste 3.73e-9 m, 15 van 20 gevallen), en daarmee de gecorrigeerde afstandsfouten: gecontroleerd in rekenkunde met 60 cijfers liggen beide kanten binnen de afronding van dubbele precisie van de exacte waarde, waarbij de landmetingsterm een verschil is van twee afstanden van 1e7 m waarvan de eenheid in de laatste plaats 1.86e-9 m is; vastgelegd, niet bijgesteld. De soort reduceert exact tot de soort lunar-differential-pnt bij één punt, één epoch en één proef. Het foutmodel, het decorrelatiemodel en elke drempel zijn van dit project zelf of ILLUSTRATIVE; niets hier is een uitspraak over een echt systeem | lunar_station (over lunar_dpnt, lunar_service) | tests/lunar_station_coverage_reference.rs (one_point_one_epoch_one_trial_reduces_to_lunar_differential_pnt: tot 1e-12 m met en zonder ontvangerruis; zero_baseline_floor_is_zero_in_every_trial: 0 tot 1e-9 m; survey_floor_matches_the_survey_transfer_prediction: p95 binnen de band van 5 % die vóór de run is vermeld; coverage_is_non_decreasing_in_the_threshold; corrected_error_grows_with_distance_along_an_azimuth; three_satellites_are_unavailable_with_a_reason_and_no_error; a_satellite_the_station_does_not_see_is_reported; deterministic_for_a_seed_and_moved_by_another; the_work_guard_refuses_an_oversized_grid; the_bundled_scenario_states_a_source_for_every_input; the_result_is_labelled_modelled_with_the_honesty_statement); tests/lunar_station_numpy_oracle.rs (de vooraf geregistreerde numpy-herberekening, vastgelegd met haar misser); lunar_service::tests::south_polar_ring_grid_is_the_published_comparison_grid; tests/lunar_differential_pnt_reference.rs en de registry- en cross-platform-goldens ongewijzigd (additiviteit); tests/field_units_global.rs (elk uitgegeven veld beschreven, geen uitzondering) |
| Terreinhorizonmaskers voor de maan uit een opgegeven profiel of een polaire DEM | Azimutafhankelijke horizonmaskers per locatie voor de soort lunar-station-coverage (het referentiestation en elk gebruikerspunt) en het raster van moonlight-service-volume en zijn exportlocatie per satelliet (elke exportrij krijgt clears_terrain), in het skylinetabelformaat van 0,36 (skyline::Skyline, lineair in azimut met wrap bij 360 graad; een opgegeven profiel en een DEM-horizon op één locatie combineren als hun puntsgewijze maximum): een opgegeven [terrain] station_horizon of user_horizon gelabeld met zijn bron, en/of een horizon die met raymarching is bepaald over een zuidpolaire stereografische DEM (de gridindeling van de LRO LOLA-polaire laag, gelezen uit een descriptor die zijn grootte en SHA-256 vastlegt, of een tegel realdata::lola_dem met lengte- en breedtegraad met [terrain] dem_tile_path, weergegeven met zijn SHA-256) langs grote cirkels van de maanbol met exacte kromming, vanaf een opgegeven masthoogte, met een opgegeven azimutstap en bereik. Een satelliet telt op een locatie mee wanneer hij het vlakke mask_deg en de horizon bij zijn azimut vrijmaakt (lunar_service::topocentric); een epoch waarin de horizon op een punt minder dan vier satellieten overlaat waar het vlakke masker er vier geeft, telt als de reden voor niet-beschikbaarheid terrain_masked. De meegeleverde DEM is een uitsnede van het publiekdomeinproduct LOLA LDEM_75S_240M, 5 x 5 blokgemiddeld geresampled tot 1200 m (data/lunar-dem/NOTICE.md). Bij afwezigheid behoudt elke locatie het vlakke masker en is elk document byte-identiek | InternalConsistency | getoetst aan de eigen gesloten-vorm-/analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen externe onafhankelijke referentie — Gesloten-vormoppervlakken (InternalConsistency): de dip van de kale bol, een krater in een plateau op de bol met een waarnemer op en naast het centrum, en een analytische kegel tegen zijn eigen rasterisatie. Op de echte uitsnede komt een onafhankelijke numpy-straalwerping (scripts/gen_lunar_terrain_ref.py, numpy 2.5.3; vooraf geregistreerd in tests/fixtures/lunar_terrain/PREREGISTRATION.md, alleen gecommit in edbb9b02 voordat het script bestond) op vijf locaties overeen: locatiehoogten tot 1.0e-11 m en alle 1800 horizonelevaties tot 5.5e-10 graden tegen drempels van 1e-6, aantallen afgekapte stralen exact; dit controleert de rekenkunde, niet het terrein. Er is geen gepubliceerd poolhorizon- of verlichtingscijfer gereproduceerd: de meegeleverde uitsnede van 1200 m gladstrijkt het reliëf onder de kilometer dat gepubliceerde verlichtingsstudies oplossen, dus de DEM-horizons zijn een MODELLED zichtlijn over een geherbemonsterde echte DEM, geen getoetste horizon. De stationslocatie en de constellatie blijven ILLUSTRATIVE; niets hier is een uitspraak over een echt systeem | lunar_terrain (over skyline, lunar_service::topocentric_basis); lunar_station; lunar_service (coverage_masked, masked_visible) | lunar_terrain::tests (bare_sphere_horizon_is_the_dip: de straalmarsch reproduceert -acos(R / (R + a)) tot 1e-3 graden bij elk azimut; a_cone_on_a_lat_lon_tile_matches_the_analytic_cone: dezelfde kegel bemonsterd op een tegel van 0,005 graden breedte/lengte komt overeen met de analytische kegel tot 0,25 graden; a_lat_lon_tile_is_none_outside_and_wraps_longitude; crater_in_plateau_matches_the_closed_form: een krater met vlakke bodem op de bol, waarnemer in het centrum en 4 km en 7 km ernaast, tegen de gesloten-vorm-randelevatie atan2((R + H) cos s - (R + a), (R + H) sin s) met s uit de sferische randkruisingsvergelijking, tot 0,01 graden bij elk azimut; rasterised_cone_matches_the_analytic_cone: een kegel gerasterd op een polair stereografisch raster van 200 m en gelezen via de rasterbemonsteraar komt overeen met de analytische kegel tot 0,25 graden; projection_round_trips_through_the_rasteriser_layout; bilinear_reproduces_a_plane_exactly; stated_horizon_goes_through_the_skyline_rules; an_empty_skyline_is_exactly_the_flat_test); tests/lunar_station_terrain.rs (without_terrain_the_document_has_no_terrain_keys; a_zero_horizon_under_a_positive_mask_is_the_flat_run, voor beide soorten; a_horizon_only_removes_satellites_and_a_wall_removes_everything: user_lt4 behoudt zijn vlakke telling en de epochs die een horizon kost zijn terrain_masked (beschikbaarheid zelf kan stijgen, omdat een horizon een satelliet kan verbergen die het station niet ziet), en een horizon van 89 graden bij het station laat niets beschikbaar; bad_terrain_sections_are_refused; the_vendored_crop_loads_and_is_oriented_as_the_source: de kraterbodems van Shackleton en Haworth laag, het Malapert-massief hoog, het spiegelbeeld niet; the_station_site_horizon_from_the_crop; service_volume_dem_points_outside_the_crop_keep_the_flat_mask; a_lat_lon_dem_tile_gives_the_station_the_crop_horizon: een tegel geherbemonsterd uit de meegeleverde uitsnede geeft het station de uitsnedehorizon tot 0,22 graden (grens 0,5 graden, vastgelegd vóór de run), met de tegelecho en units, en dem_path met dem_tile_path geweigerd; the_export_site_is_masked_by_the_terrain: elke exportrij ligt vrij van het terrein precies wanneer ze zichtbaar is en op of boven de locatiehorizon bij haar azimut, de geometrie beweegt niet, de CSV krijgt de kolom alleen met terrein; the_horizon_matches_the_preregistered_numpy_ray_cast); tests/prediction_frozen.rs en de registry- en cross-platform-goldens ongewijzigd (additiviteit) |
| Multipath- en ontvangerhardwaretermen van referentiestations op de maan | De optionele sectie [receiver] van lunar-station-coverage (LRS-02): elevatieafhankelijke multipath-sigma(el) = a + b exp(-el / el0) bij de gebruiker en bij het station (de RTCA-DO-229-vorm voor luchtvaarttoepassingen, met a = 0,13 m, b = 0,53 m, el0 = 10 graad als standaardwaarden; op de maan is elke waarde ILLUSTRATIVE), wit bij de gebruiker en eerste-orde-Gauss-Markov over epochs bij het station (rho = exp(-dt / tau)); thermische codeknoopruis van de vroeg-min-laat-DLL sigma = L_c sqrt(B_L d / (2 C/N0) (1 + 2 / ((2 - d) T C/N0))); inter-kanaalbiassen per kanaal die gedurende een trial constant zijn, bij de gebruiker en bij het station. Stationstermen gaan in zijn correcties, gebruikerstermen in de ruwe en gecorrigeerde metingen, elk op een eigen geseede stroom. Bij afwezigheid is elk document ongewijzigd | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Gesloten vormen en statistieken van de eigen trekkingen van het model (InternalConsistency): de DLL-formule tegen een handberekening, de DO-229-vorm, het nulbasislijnverschil van twee ontvangers, de Gauss-Markov-lag-1-correlatie. Er bestaat geen maanmultipath of ontvangermeting om mee te vergelijken; de waarden zijn ILLUSTRATIVE en niets hier is een uitspraak over een echte ontvanger | lunar_receiver; lunar_station | lunar_receiver::tests (multipath_is_the_do229_form; dll_noise_matches_a_hand_computation: 0,825279 m bij 45 dB-Hz, 0,5 Hz, d = 1, 20 ms; bad_sections_are_refused); tests/lunar_station_ext.rs (receiver_absent_or_silent_is_the_plain_run; zero_baseline_multipath_is_the_difference_of_two_receivers: steekproefsigma sqrt(2) a binnen 6 %; station_multipath_is_gauss_markov: lag-1-correlatie exp(-dt / tau) binnen 0,01, eenheidsvariantie binnen 2 %; inter_channel_biases_are_constant_over_a_trial); tests/prediction_frozen.rs en de goldens ongewijzigd (additiviteit) |
| Groei van de efemeridefout van referentiestations op de maan over de correctielatentie | De optionele invoer orbit_err_growth_m_per_s van lunar-station-coverage (LRS-03): een correctie die latency_s na haar berekening wordt toegepast, mist de groei g latency_s van de broadcast-baanfout, g isotroop met 3D-RMS-snelheid, per satelliet en trial getrokken op een eigen geseede stroom (bereik 1-sigma-snelheid tau / sqrt(3)), bovenop de herprojectie van de bevroren fout op de zichtlijn. Bij afwezigheid is elk document ongewijzigd. Een K5-addendum bij de vergelijking met gepubliceerde claims, afzonderlijk vooraf geregistreerd, draait K5 bij 0,001, 0,01 en 0,1 m/s (ILLUSTRATIVE) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — De gesloten-vorm-sigma van de groeiterm en de eerste-orde-propagatiecontrole (InternalConsistency). Het K5-addendum (tests/fixtures/lunar_station_published/ADDENDUM-LRS03.md, afzonderlijk vooraf vastgelegd in 59d88248): K5 mislukt bij elke groeisnelheid, gecorrigeerde p95 3D 369,8 m, 2315 m en 22797 m tegen een drempel van 1,5 m (292,96 m vastgelegd zonder groei), zoals vóór de run is vastgesteld. Geen enkele openbare bron geeft een maangroeisnelheid: ILLUSTRATIVE | lunar_station (orbit_growth_range_sigma_m) | tests/lunar_station_ext.rs (growth_absent_or_zero_is_the_frozen_error_run; the_growth_term_has_the_closed_form_sigma: het linkfoutverschil met groei aan minus groei uit heeft steekproefsigma rate tau / sqrt(3) binnen 6 % over 1600 trekkingen; linear_growth_is_the_first_order_propagated_error: een snelheidsfout dv, gepropageerd met de interne tweelichamenintegrator vanaf de scenariobaan, verplaatst de positie met dv tau tot op 1 % nauwkeurig bij 60 s en 600 s); tests/lunar_station_published_oracle.rs::k5_growth_addendum_run (genegeerd, het vastgelegde addendum) |
| Oplossingsmodi van het maanreferentiestation: hoogtebeperking, drie satellieten, venster voor een statische gebruiker | De optionele sectie [solution] van lunar-station-coverage (LRS-06): een pseudo-meetrij voor de hoogte up . dx = e_h met een opgegeven 1-sigma, gewogen tegen de afstandsrijen, een minimum van drie satellieten dat alleen met deze rij is toegestaan, en een gewogen kleinstekwadratenoplossing over de laatste window_epochs epochs met een gedeelde statische positie en één klok per epoch (het antwoord van een filter voor een statische positie zonder procesruis over dezelfde data; de fouten van de epochs worden als onafhankelijk behandeld). Zonder deze sectie blijven de snapshot-oplossing en elk document ongewijzigd. Een addendum bij de vergelijking met gepubliceerde claims, met de oplossingsstijl van de bronnen, alleen vooraf vastgelegd | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — De snapshotreductie en de gesloten-vorm-gevallen van de oplosser (InternalConsistency). Het addendum (tests/fixtures/lunar_station_published/ADDENDUM-LRS06.md, afzonderlijk vooraf vastgelegd in 001ca100) met een hoogtebeperking van 1 m, drie satellieten en een venster van 6 epochs (ILLUSTRATIVE instellingen; de bronnen noemen een filter, een hoogtebeperking en drie satellieten, maar niet hun instellingen): K1 tot en met K5 mislukken en K6 wordt gehaald, 1 van 6 zoals in de vastgelegde run; de gecorrigeerde p95 3D-fout van R300 daalt van 280,6 m naar 2,11 m (horizontaal 0,90 m, niet beoordeeld) en de dekking blijft 0. De onafhankelijkheidsaanname van het venster werkt in zijn voordeel. Geen uitspraak over een echt systeem | lunar_solution; lunar_station (solution_figures) | lunar_solution::tests (one_epoch_without_height_is_the_snapshot_solve: gelijk aan lunar_dpnt::position_error_vector_from_range_errors tot op 1e-8 m, een losse hoogterij verandert niets, een strakke legt de hoogtefout vast; three_satellites_need_the_height_row; a_window_shares_the_position; bad_sections_are_refused); tests/lunar_station_ext.rs (the_default_solution_mode_is_the_snapshot_solve: elk cijfer tot op 1e-6 relatief; height_aiding_and_a_window_do_what_they_say); tests/lunar_station_published_oracle.rs::solution_style_addendum_run (genegeerd, het vastgelegde addendum) |
| Nauwkeurigheid en dekking van het maanreferentiestation tegenover gepubliceerde claims | Het soort lunar-station-coverage, uitgevoerd onder de openbare aannames van het gepubliceerde materiaal over een differentieel maanreferentiestation (vier navigatiesatellieten in bevroren elliptische banen van 24 h, 10 m 95 % SISE, 0,30 m codeniveauruis, correctielatentie van 1 s en 600 s, een stationsopmeting op sub-decimeterniveau, de gepubliceerde voorbeeldlocatie van het station, de zuidpoolcirkels van 300 km en 600 km) en getoetst aan de numerieke claims van de bronnen onder zes eenzijdige drempels die vóór de run zijn vastgelegd: dekking van de hele zuidpool op p95 beneden een meter (K1, K2), gecorrigeerde p95 beneden een meter en op decimeterniveau (K3, K4), beneden een meter behouden bij 600 s latentie (K5), en nauwkeurigheid behouden van 10 km tot 500 km basislijn (K6) | ExternalDataset | een deelclaim wordt extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Referentie: de numerieke claims van vijf openbare bronnen, geregistreerd met URL, ophaaldatum, SHA-256 en licentie in tests/fixtures/lunar_station/SOURCES.md (arXiv:2602.08432v3; IOAG Cislunar PNT Workshop-presentaties van 2025 en 2026; UNOOSA ICG WG-B Lunar PNT, juni 2024), overgenomen met paginaverwijzingen in tests/fixtures/lunar_station_published/CLAIMS.md. Drempels, gevallen en invoer zijn vooraf vastgelegd in tests/fixtures/lunar_station_published/PREREGISTRATION.md (revisie 2, 05bf9a19, afzonderlijk gecommit vóór de run). 0,36 eerste run, een bevinding (blijft MODELLED): 1 van 6 drempels wordt gehaald. De dekking is 0,00 op beide cirkels tegen >= 0,95, en de gecorrigeerde p95 3D-fout is 280,6 m (300 km), en 293,0 m bij 600 s latentie, tegen <= 1,5 m. De decimeterdrempel (K4) kon bij de coderuis van 0,30 m van de bronnen niet worden gehaald, wat een tegenstrijdigheid tussen de bronnen weerspiegelt en geen modelresultaat is. K6 wordt gehaald (verhouding 1,39 tegen <= 1,5), maar als verhouding van twee door geometrie bepaalde cijfers is het in geen van beide richtingen bewijs over decorrelatie. Oorzaak: de elementen van de satellieten zijn niet openbaar, en bij de ILLUSTRATIVE elementen in de boom delen een gebruiker en het station vier satellieten boven 5 graden in slechts 8,2 % (300 km) en 6,3 % (600 km) van de epochs, bij bijna singuliere geometrie (ongecorrigeerde p95 3,8 km tegen < 10 m volgens de bronnen). De simulaties van de bronnen gebruikten een filter, een hoogtebeperking en drie satellieten in gemeenschappelijk zicht, wat het snapshottype niet modelleert. De vergelijking bevestigt noch weerlegt daarom het gepubliceerde 'submeter over de hele zuidpool'. Ze toont dat het resultaat van dit model afhangt van banen die niet zijn gepubliceerd. Geen uitspraak over een echt systeem; niet verbonden aan of onderschreven door een agentschap | lunar_station (over lunar_dpnt, lunar_service) | tests/lunar_station_published_oracle.rs::recorded_finding_one_of_six_bars_passes (de vastgelegde cijfers tegen de geregistreerde drempels); tests/lunar_station_published_oracle.rs::published_claims_comparison_run (genegeerd, ongeveer 7 s in release: voert de zes geregistreerde gevallen opnieuw uit en controleert de vastgelegde cijfers) |
| ARAIM met gelijktijdige foutenhypothesen voor meerdere satellieten | araim_reference::add_v42_subset_plan: de bepalingsregel voor deelverzamelingen van ADD v4.2 (P_THRES, FC_THRES, bewaakte deelverzamelingen met de minste verwijderingen eerst), gegeneraliseerd van paren naar gelijktijdige combinaties van maximaal max_order satelliet- en constellatiegebeurtenissen, met de exacte prior P_no fault prod q_e; add_v42_protection_levels_to_order voert het pad voor beschermingsniveaus van ADD v4.2 erop uit (orde 2 is precies het bestaande pad). raim::araim_subset_raim (opt-in): geavanceerde RAIM over die hypothesenverzameling, elke bewaakte deelverzameling als één modus (p_fault, T, b, sigma) in de som van het integriteitsrisico, niet-waarneembare deelverzamelingen verplaatst naar het niet-bewaakte risico, het budget geschaald met de ADD-allocatie van het niet-bewaakte risico, en de deelverzameling met de grootste genormaliseerde scheiding gerapporteerd wanneer een fout wordt gedetecteerd. Priors die diepere deelverzamelingen nodig hebben dan max_order worden geweigerd, nooit afgekapt | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Interne consistentie (InternalConsistency): de orde-2-reductie naar het door MAAST gecontroleerde ADD v4.2-pad, onafhankelijke herafleiding van de priors en een geconstrueerde fout met twee satellieten. Er is geen MAAST- of RTKLIB-run voorbij paren uitgevoerd, dus de diepere hypothesesets en de beschermingsniveaus van subset-RAIM zijn niet extern gecontroleerd. araim_subset_raim deelt de vereenvoudigingen van araim_dual_raim (één sigma voor integriteit en nauwkeurigheid, één klok, de gewone normale staart): het is niet ADD-conform | araim_reference (add_v42_subset_plan, add_v42_protection_levels_to_order); raim (araim_subset_raim, SubsetRule) | 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, het ongemonitorde risico binnen P_THRES, een subset die drie of meer satellieten verwijdert is gemonitord, en meer dan tien gemonitorde priors onafhankelijk herafgeleid als P_no fault q^k tot op 1e-12; a_two_satellite_fault_is_found_as_a_pair: geen alarm zonder fout, en een bias van 30 m op twee satellieten gedetecteerd met het paar als subset van de grootste genormaliseerde scheiding); tests/araim_reference_vectors.rs en tests/integrity_araim_stanford_oracle.rs ongewijzigd (het orde-2-pad is het door MAAST gecontroleerde) |
| RAIM naast de kwaliteitsmaten voor klok-holdover | De optionele sectie [integrity] van het kloksoort (clock_integrity::run): vanuit een opgegeven locatie en constellatievoorinstellingen (geometry::sky_geometry), op elk integriteitsepoch terwijl de GNSS-tijdlijn niet wordt geweigerd, snapshot-RAIM (raim::snapshot_raim: pariteit-chikwadraattoets, beschermingsniveaus op basis van de helling) op de satellieten boven het masker met gezaaide gaussische residuen van de opgegeven sigma en een optionele opgegeven bias; een afzonderlijk blok integrity_fom met verdicten per epoch, beschermingsniveaus en beschikbaarheid. Geweigerde epochs worden als niet beschikbaar gerapporteerd, nooit geëxtrapoleerd; de kwaliteitsmaten voor holdover blijven ongewijzigd en zonder de sectie is de uitvoer byte-identiek | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Interne consistentie (InternalConsistency): de beschermingsniveaus zijn die van snapshot_raim, dat in zijn eigen rij is getoetst aan RTKLIB, opnieuw berekend op dezelfde geometrie; gedrag zonder fout en met geïnjecteerde fout. De hemel is een representatieve voorinstellingsgeometrie (geen gedateerd almanak), de residuen zijn synthetisch en sigma, de alarmgrenzen en de kansen zijn opgegeven invoer; niets hier is een uitspraak over de beschikbaarheid van een echte ontvanger | clock_integrity (run, sky_at, IntegrityCfg); scenario (Scenario::integrity); report (RunResult::integrity_fom); api (clock dispatch) | tests/clock_integrity.rs (the_block_is_separate_and_absent_by_default: holdovercijfers ongewijzigd, 111 geweigerde epochs niet beschikbaar zonder beschermingsniveau, geweigerd bij runs > 1; protection_levels_are_the_snapshot_raims_on_the_same_sky: de HPL en VPL van elke bemonsterde epoch zijn exact gelijk aan een snapshot_raim zonder residu op dezelfde voorinstellingshemel, en de run zonder fout geeft geen alarm; a_stated_bias_is_detected_while_it_lasts: een bias van 60 m alarmeert op precies de 10 epochs die hij beslaat; every_integrity_field_has_a_unit); clock_integrity::tests; de clock-goldens ongewijzigd |
| Ruimtelijke, ruisbevattende observeerbaarheid van de booglengte voor meerdere cislunaire families | De drempel voor de observeerbaarheid van de cislunaire booglengte in de RUIMTELIJKE CR3BP met zes toestanden in plaats van de vlakke met vier toestanden, over DRO-, L2-halo- en L2-bijna-rechtlijnige-halofamilies, met meetruis die in de Gramiaan doorwerkt en TWEE criteria gerapporteerd omdat er geen enkel eerlijk criterium bestaat: het gepubliceerde rangcriterium, dat aantoonbaar invariant is voor een homoscedastische meetsigma (witmaken vermenigvuldigt de observeerbaarheidsmatrix met een scalair, waardoor het relatieve singuliere-waardenspectrum en dus rang, defect en conditie ongewijzigd blijven), en een schatbaarheidscriterium — de eerste boog waarop de formele 1σ-positieonzekerheid van de begintoestand van de chief onder een opgegeven grens komt — dat wel met de ruis meebeweegt. Elke drempel draagt het bracket in het epochraster waarin hij ligt; een niet bereikt criterium is null met een reden. De vlakke modus blijft de standaard en families buiten het vlak worden daar geweigerd in plaats van platgeslagen tot een toestand die ze niet kan weergeven | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Een onafhankelijke rij-echelon-rang via Gauss-eliminatie met partiële pivotering bevestigt elk zestoestands-rangoordeel — een ander algoritme dat geen code deelt met de eigen-/SVD-route die wordt getoetst. De 6×6 CR3BP-toestandsovergangsmatrix die dit samenstelt heeft haar eigen ReferenceImpl-referentie tegen SciPy-variatie-integratie, en de beginvoorwaarden van de halo/NRHO komen uit een corrector die de gepubliceerde zuidelijke L2-Gateway-baan van 9:2 reproduceert. De bestaande square-root-information-filterleg wordt uitdrukkelijk NIET als bevestiging meegeteld: ze gebruikt dezelfde Jacobianen en leidt tot dezelfde normaalmatrix, dus is het een consistentiecontrole tussen twee numerieke machines, en het uitgezonden extensielabel zegt dat. NIET extern verankerd, en ExternalDataset wordt daarom geweigerd in plaats van geleend van de rij van de STM: de drempelboogduur zelf hangt af van het MODELLED constellatieontwerp, het epochraster en — meetbaar, tot wel 40× — van de singuliere-waardetolerantie. De gepubliceerde vlakke 2,09 h wordt exact gereproduceerd bij rel_tol = 1e-6 en is zelf tolerantieafhankelijk (10,25 h bij 1e-4, 0,42 h bij 1e-8), wat een eigenschap is van het criterium en niet van de baan. Geen openbare dataset publiceert een observeerbaarheidsdrempel voor de boogduur van een gekozen cislunaire constellatie. MEASURED RESULT: de ruimtelijke zestoestandsdrempel is 22,17 h voor de L2-NRHO en 40,42 h voor de L2-halo, en BESTAAT NIET voor de vlakke DRO-familie waarop de gepubliceerde claim is afgeleid — rang 4 van 6 met datumdefect 2 en twee exact nul zijnde eigenwaarden, een structureel defect dat geen boogduur herstelt | cislunar_observability, observability_gramian, intersat_range, cislunar_srif | cislunar_observability::tests en observability_gramian::tests (het standaarddocument bit voor bit vastgezet met FNV-1a van zijn JSON, samenvatting en SVG, met expliciete standaardwaarden waarvan is vastgesteld dat ze niets veranderen en de acht extensiesleutels vastgesteld als ABSENT, zodat de opname niet kan worden geregenereerd tot een zelfvergelijking; het additieve units-blok uitgesloten van de bevriezing doordat het is weggehaald en opnieuw gehasht tegen de constante die werd vastgezet voordat het bestond, wat bewijst in plaats van aanneemt dat niets van het vrijgegevene is verschoven; rang-invariantie onder een homoscedastische sigma vastgesteld bij σ = 0, 0,1, 1, 10, 100 m; σ_pos vastgesteld als exact lineair schalend met σ tot op 1e-6 relatief; de DRO-nulruimte vastgesteld als precies de z- en ż-coördinaatassen met de twee oorzaken gescheiden — een afstandsrij tussen coplanaire ruimtevaartuigen heeft û_z = 0, en het CR3BP-blok buiten het vlak ontkoppelt exact bij z = 0; ruimtelijke Jacobianen tegen centrale eindige verschillen en tegen de onafhankelijke 3D-range-rate-observabele van de crate; families buiten het vlak geweigerd in vlakke modus) |
| Voorspelfout van de aardoriëntatie in operationele stijl, gemeten voorspeld tegenover definitief | Een kleinstekwadraten-fit van bias plus snelheid over een meelopend venster plus de voornaamste periodieke termen — jaarlijks, halfjaarlijks en de twee voornaamste zonale getijden voor UT1; Chandler, jaarlijks en halfjaarlijks voor de pool — geëxtrapoleerd met de laatste residu binnen het venster doorgetrokken: de klasse die IERS Bulletin A gebruikt, in plaats van de persistentievoorspeller waarop de gepubliceerde horizon berustte. Op de enige eerlijke manier beoordeeld: een voorspelling voor T+h opgebouwd uit snelle Bulletin A-rijen op of vóór T, gemeten tegen de LATER GEPUBLICEERDE definitieve Bulletin B op T+h, met persistentie beoordeeld over dezelfde epochverzameling tegen dezelfde definitieve waarden ernaast. Een doelepoch zonder gepubliceerde definitieve waarde wordt weggelaten in plaats van opnieuw tegen de snelle kolom te worden beoordeeld; een periodieke term die het venster niet kan vastleggen wordt als verworpen gerapporteerd, met de cycli die hij werkelijk beslaat; een onvolledig venster wordt geweigerd in plaats van stilzwijgend ingekort | ReferenceImpl | getoetst aan een aparte implementatie in dezelfde codebasis — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Drie onafhankelijke routes, geen ervan een gepubliceerd nauwkeurigheidscijfer voor voorspellingen. (1) Een analytisch signaal met bekende coëfficiënten — de enige manier om de periodieke machinerie te beproeven, omdat geen vastgelegde reeks lang genoeg is voor een jaarlijkse term. (2) De handboekoplossing in gesloten vorm van de kleinste kwadraten, andere algebra dan de matrixoplossing die wordt getoetst, op echte rijen. (3) De echte gearchiveerde Bulletin A-voorspellingsrijen die het echte product van 2026 publiceert, per voorspellingstermijn vergeleken als OVEREENKOMST-statistiek en uitdrukkelijk niet als fout: 0,256 ms bij 1 dag, 0,695 ms bij 2 dagen, 1,252 ms bij 3 dagen, oplopend tot 3,885 ms bij 9 dagen. Dit is dus de KLASSE van Bulletin A, dicht erbij bij korte termijn, niet Bulletin A. De residuen van voorspeld tegenover definitief zijn echte gemeten grootheden over echte IERS-rijen, maar hun omvang wordt alleen getoetst aan de RICHTING van de vergelijking, nooit aan een door IERS gepubliceerd nauwkeurigheidsgetal — het lezen van een echt product is herkomst, geen referentie. MEASURED: op dag 1 geeft de operationele voorspeller 3,78 m fout in het maankader tegenover 11,39 m voor persistentie (3,01×), op dag 2 10,23 m tegenover 21,72 m (2,12×), op dag 3 20,33 m tegenover 30,57 m (1,50×) — en hij is SLECHTER na drie dagen (0,87× op 5 dagen, 0,43× op 10), wat het rapport vermeldt in plaats van alleen de horizonnen te tonen die hem flatteren. NIET gereproduceerd: het autoregressieve residufilter en de getabelleerde zonale-getijdenreductie, het operationele venster van 365 dagen is onbereikbaar met de vastgelegde gegevens, en er bestaat GEEN gearchiveerde eerdere versie van de reeks in deze repository — dus de tabel met gearchiveerde versies meldt geen rijen in plaats van een gesynthetiseerde te beoordelen. 0,30 externe vergelijking, een bevinding (blijft MODELLED): beoordeeld tegen dezelfde finals over 178 gearchiveerde Bulletin A-uitgaven met het standaardvenster van 15 dagen van de crate is de UT1-MAE van de voorspeller 2.4x tot 12.6x die van Bulletin A bij 1 tot 10 dagen (drempel 1.5x) en 5,32 ms bij 10 dagen, buiten het bereik van 0,36 tot 3,13 ms van de 2nd EOP PCC; de pool is 1.5x tot 1.85x die van Bulletin A (alleen bij 6 en 7 dagen binnen 1.5x); 19 van 21 vooraf vastgelegde voorwaarden mislukken. Correctie op route (3): de rijen van het product van 2026 waarmee is vergeleken dragen de IERS-vlag I (gemeten), niet P, dus die overeenkomstcijfers zijn tegen gemeten snelle waarden, niet tegen Bulletin A-voorspellingen. 0,30 ronde 2, een voorspeller met kleinste kwadraten plus autoregressie waarbij de zonale getijden analytisch zijn verwijderd, tegen 178 gearchiveerde Bulletin A-uitgaven bij de drempel van ronde 1 (vooraf vastgelegd c93605b4), een bevinding (blijft MODELLED): 12 van 21 voorwaarden gelden; de UT1-MAE is 1,73 tot 2.11x die van Bulletin A bij 2 tot 10 dagen (drempel 1.5x) terwijl de pool bij elke termijn binnen 1.27x blijft. 0,30 herziening: nu de offline invoer wordt ingedeeld naar IERS-vlag zijn de overeenkomstcijfers van route (3) tegen echte Bulletin A-voorspellingen (0.256/0.695/1.252/3.885 ms bij 1/2/3/9 dagen tegen snelle rijen -> 0.133/0.421/0.839/2.786 ms) | frame_eop, realtime_frame_eop | frame_eop::tests, realtime_frame_eop::tests en tests/operational_eop_predictor_reference.rs (herstel van de coëfficiënten van het analytische signaal tot op 1e-9 bij een venster van 365 dagen; een bias-plus-snelheidsfit gelijk aan de helling en het snijpunt van de gewone kleinste kwadraten in gesloten vorm tot op 1e-12 op echte rijen; TWEE vooruitkijkdetectoren die de snelle UT1- en poolkolommen van elke rij na het uitgifte-epoch verwoesten — de Bulletin B-finals blijven intact — en bit-identieke uitvoer eisen, door mutatie geverifieerd om 10 tests rood te laten worden wanneer de fitbarrière met precies één dag wordt versoepeld; een onafhankelijk herbouwde epochlijst; het Bulletin B-blok van een doel leeggemaakt en het epoch getoond als uit de tabel verdwenen; termtoelating gecontroleerd bij vensters van 6, 15, 150 en 365 dagen; monotone rijaantallen; en een bevroren opname van het standaardrapport van vóór de wijziging, veld voor veld vastgesteld zonder tolerantie, waarbij bovendien wordt vastgesteld dat de opname de nieuwe sleutels niet bevat, zodat ze niet stilzwijgend tot een zelfvergelijking kan worden geregenereerd); tests/operational_eop_predictor_bulletin_a_oracle.rs::predictor_mae_against_bulletin_a_and_the_pcc_range_finding; tests/operational_eop_ls_ar_bulletin_a_oracle.rs::ls_ar_predictor_against_bulletin_a_finding; tests/eop_prediction_beyond_table.rs (de opt-in-extensie EopSeries::with_ls_ar_prediction voorbij de laatste rij: antwoorden binnen de tabel bit-identiek, voorspellingsrijen gelijk aan ls_ar_predict, kaderargumenten voorbij de tabel volgen de voorspelling in plaats van te klemmen; interne consistentie) |
| Maandatum van het referentiestelsel uit een waarnemingscampagne | Het Helmert-datum met zeven parameters, voortgeplant vanuit een GESIMULEERDE WAARNEMINGSCAMPAGNE in plaats van teruggevonden uit een geïnjecteerde transformatie. Aardstations observeren een bronvermelde catalogus van bakens op het maanoppervlak volgens een expliciet schema; de partiële afgeleiden van de lunar-VLBI-vertraging worden opgeteld tot een Fisher-informatiematrix van de baakencoördinaten en doorgerekend via het Helmert-ontwerp A = [I₃ | [p]ₓ | p] naar H = AᵀM_bA, zodat de gerapporteerde datumnauwkeurigheid een functie is van het waarnemingsprogramma — exact lineair in de vertragingssigma en monotoon in de boog via de libratie die het rapport METEN. Het datumdefect is het onderwerp en geen voetnoot: rang, defect, conditiegetal, spectrum, niet-waarneembare richtingen in de basis van zeven parameters, de zwakste richting zelfs bij volledige rang en het aandeel van elke parameter daarin worden bij elke run uitgegeven, en elke parameter die de campagne niet vastlegt wordt gepubliceerd als NULL met een status. Baakfoutcorrelatie wordt MEASURED en niet aangenomen — exact nul met vaste stations, en met haar kosten afgedrukt wanneer de stations worden geschat. Uitvoerbaar als het scenariosoort lunar-frame-campaign |
ReferenceImpl | getoetst aan een aparte implementatie in dezelfde codebasis — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Identiteiten in gesloten vorm en een onafhankelijke route in de repository, zonder dat een externe referentie wordt beweerd. Het Helmert-ontwerp — de enige nieuwe afgeleide in de module — is opnieuw afgeleid met een centraal eindig verschil van lunar_frame_realise::apply_helmert, een pad dat geen uitdrukking deelt met de analytische vorm. De accumulatie die het samenstelt is die van lunar-vlbi-fim, waarvan de Jacobiaan daar met eindige verschillen wordt bepaald tegen lunar_vlbi::vlbi_delay_s, en waarvan de lineaire-algebrakernel afzonderlijk extern is verankerd tegen numpy in tests/fim_observability_reference.rs — deze rij leent geen van beide statussen. De fysische referentie is structureel in plaats van numeriek: een bakenvertragingspartiële is het nabije-veld-VERSCHIL van twee bijna parallelle eenheidsvectoren, dus de slechtst bepaalde translatierichting MOET de lichaamsvaste richting naar de Aarde zijn, en de test stelt het berekende antwoord vast tegen de afzonderlijk gemeten richting. MEASURED: de uit de campagne afgeleide translatiesigma van 6,3975 m tegenover de herstelfout van 0,3125 m van het scenario met geïnjecteerde transformatie (20,5× strakker), terwijl rotatie en schaal de ANDERE kant op gaan, 2,32× en 13,5× losser — het geïnjecteerde pad gaat uit van één isotrope sigma en spreidt zijn fout dus gelijkmatig over zeven parameters, wat de vertragingsobservabele niet doet. Rang 7/7 maar conditie 3.8e5, met één richting die 99,57 % zuivere translatie naar de Aarde is en veertig keer slechter dan elke andere. WAT DEZE RIJ NIET BEWEERT: dat het campagnecijfer in absolute zin juist is. Ze stelt vast dat het cijfer nu AFGELEID wordt uit een schema, een geometrie en een foutmodel in plaats van uit een geplant antwoord. Blijft ReferenceImpl/MODELLED: er bestaat geen gepubliceerd paar van maan-VLBI-campagne en datumcovariantie, het stationsnetwerk en de vertragingssigma zijn ILLUSTRATIVE invoer (de bakencatalogus is gebaseerd op bronnen, de campagne niet), waarnemingen worden als onafhankelijk behandeld terwijl de troposfeer en klok van een echte sessie tussen nabije scans gecorreleerd zijn, en de efemeride, klokken, troposfeer en aardoriëntatieparameters worden VAST gehouden. 0,30 externe vergelijking, een bevinding (blijft MODELLED): met elke Jacobiaanrij van de bakens opnieuw opgebouwd uit lichttijden van NAIF SPICE (DE440, ITRF93, MOON_ME; vooraf vastgelegd 50863551) komen het schema, de Helmert-rang, de datumsigma's (binnen 4.7e-3), de conditie, de zwakste richting (0,07 graden), de libratiesweep en de boogvolgorde overeen op zes scenario's binnen de vooraf vastgelegde 1 % / 0,2 / 0,05 graden. NumPy op de vastgelegde Jacobiaan van de engine komt overeen tot 3e-14 waar de stations vast zijn. Met geschatte stations wijkt het 6.8e-6 af tegen een vooraf vastgelegde 1e-9, waarvan de aanname over het conditiegetal onjuist was (Helmert-conditie 2.1e8; onafhankelijke NumPy-routes wijken 3e-6 van elkaar af; een bijdrage van de 1e-9-pseudo-inverse-terugval van de engine is niet uitgesloten), dus de rij wordt op die preregistratie niet bevorderd. 0,36 herregistratie bij een conditiegeschaalde drempel (vooraf vastgelegd b887eb05; t = max(1e-12, 10 kappa 2^-53) uit de conditionering van de gezamenlijke informatie en haar Helmert-reductie), een bevinding (blijft MODELLED, NOT MET): stap 0 sluit de pseudo-inverse-terugval UIT voor het gat van 6.8e-6 (geen matrix stroomopwaarts van de Helmert-matrix valt terug op de zes oorspronkelijke scenario's, krapste marge een factor 2,6), de SPICE-leg houdt nog steeds op alle zes stand, en NumPy komt binnen de drempel overeen op zes van de acht scenario's (standaard, de twee bogen, de 3x-vertragingssigma, het collineaire defect en de verse run met vaste stations op 2026-12-01; slechtste 0,13 van zijn drempel). Het mislukt op stations_estimated (datumsigma's tot 6.8e-6, conditie 9.1e-6, norm bij verworpen onafhankelijkheid 3.5e-6, tegen t = 5.9e-7), en op de verse datum heeft het zuidpoolbaken geen waarneming, zodat de baakeninformatie rangdeficiënt is (pseudo-inverse-terugval stroomopwaarts van de Helmert-matrix in beide verse scenario's) en het ongewijzigde NumPy-orakel stations_estimated_fresh niet kan evalueren (singuliere matrix). Resultaten: docs/design/evidence/mr05-lunar-datum-cond/RESULTS.md | lunar_frame_campaign (composing lunar_vlbi, lunar_vlbi_fim, fim, lunar, lunar_frame_realise, frames, cio, lunar_frame) | lunar_frame_campaign::tests (21 lib tests: het Helmert-ontwerp tegen een centraal eindig verschil van lunar_frame_realise::apply_helmert — de module waarvoor het datum is, die geen afgeleide berekent en dus de [p]ₓ-tekenconventie vastlegt — alle 84 ontwerpinvoerwaarden komen overeen tot < 1e-6; een zuivere netwerktranslatie teruggelezen als zuivere translatie met < 1e-6 lekkage naar de andere zes parameters; de datumsigma exact lineair in de vertragingssigma tot 1e-8 over een verandering van 3× op alle zeven parameters; een boog van 16 h gemeten als slechter en een boog van 48 h als beter dan 24 h, met de uitgezonden libratiesweep in dezelfde volgorde; de slechtste translatieas vastgesteld als de dominante as van de afzonderlijk gemeten lichaamsvaste richting naar de Aarde en slechter dan de andere met > 5×, een fysische referentie waar niets in de oplosser van op de hoogte was; drie collineaire bakens die een defect geven waarbij elke datumsigma NULL is en de nulrichtingen worden uitgezonden in de zevenparameterbasis; offblock_fraction en inter-bakencorrelatie exact 0,0 met vaste stations en beide > 0 met geschatte stations; de teruggegeven figuren van het vergelijkingsblok met geïnjecteerde transformatie getoond als gelijk aan een onafhankelijke run van dat scenario tot 1e-14 relatief in plaats van overgetypt; een bewaking dat nergens in het document een geïnjecteerd/hersteld datum voorkomt; de uitzending van de maanframerealisatie byte voor byte vastgezet door FNV-1a-64 over json‖summary‖svg voor drie invoervormen, vastgelegd voordat het werk begon); tests/lunar_vlbi_campaign_spice_oracle.rs::lunar_frame_campaign_finding_stations_estimated_p2_precision (afgeschermd; de strikte lunar_frame_campaign_matches_spice_geometry_and_numpy blijft genegeerd); tests/lunar_frame_campaign_mpmath_oracle.rs::lunar_frame_campaign_datum_matches_mpmath_extended_precision (bevinding; oprichtersbesluit 2026-10-02, optie A: deze rij blijft MODELLED en leent de status van de afzonderlijke rij niet; tegen een mpmath-orakel van 50 cijfers, vooraf vastgelegd 804662d5, liggen de datumsigma's van de engine met geschatte stations binnen hun a-priori-achterwaartse-foutgrens, 9.7e-6 ernaast op 2024-01-01, en lag de drempel van 1e-9 onder wat enige dubbele-precisieroute haalt, waarbij de beste, een NumPy-QR-projectie, 5.5e-9 ernaast zat; het bewijs ondersteunt de afzonderlijke rij 'Lunar frame datum covariance with the stations estimated, against 50-digit extended precision'); tests/lunar_frame_campaign_pinv_fallback.rs::finding_step0_fresh_beacon_information_falls_back (vastgezet); tests/lunar_frame_campaign_cond_bar_oracle.rs::finding_p2_condition_scaled_bar_not_met_on_the_estimated_scenarios (vastgezet) |
| Bevestiging door een onafhankelijke schatter van de drempel voor de cislunaire booglengte | Een batch-kleinstekwadratenschatter die de begintoestand van de chief TERUGVINDT uit gesimuleerde metingen tussen satellieten over groeiende prefixen van hetzelfde epochraster dat de tabel van rang tegenover boog gebruikt, met de partiële afgeleiden van de metingen genomen als centrale eindige verschillen van het samengestelde voorwaartse model. Hij gebruikt niets van de machinerie waarmee de drempel is gemeten — geen analytische Jacobiaanrij, geen variationele toestandsovergangsmatrix, geen singuliere-waarden- of eigenwaardenontbinding, geen ranktolerantie, geen square-root-informatiefilter — en deelt alleen de dynamica, de beginvoorwaarden, de scalaire observabele en het epochraster, elk genoemd in het uitgegeven document. Twee criteria, beide doorgerekend: terugvinden zonder ruis (het analogon van rang) en Monte-Carlo-schatbaarheid (het analogon van schatbaarheid, gemeten tegen een bekende waarheid in plaats van voorspeld uit een covariantie). Uitvoerbaar als het scenariosoort cislunar-arc-recovery |
ReferenceImpl | getoetst aan een aparte implementatie in dezelfde codebasis — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een afzonderlijke schatter in deze codebasis op een ander algoritme en een disjunct codepad: niet-lineaire gewogen Gauss-Newton met partiëlen via eindige verschillen, waarvan het oordeel wordt gelezen als gemeten toestandsherstelfout in km en mm/s. Hij heeft geen enkele uitdrukking gemeen met de rang-en-covariantieroute van de Gramiaan, en de scheiding wordt AFGEDWONGEN door een bronteksbewaking in plaats van beweerd. MEASURED op het gepubliceerde vlakke DRO-raster: het SCHATBAARHEIDScriterium is CORROBORATED — de gemeten Monte-Carlo-grens is 5,739130 h tegen de formele 5,739130 h (verhouding 1,0000), en de gemeten RMS reproduceert de formele 1σ over 21 boogduren tot een meetkundig gemiddelde verhouding van 0,9804. Het RANGcriterium is NIET gecorroboreerd als herstelbaarheidsgrens: de schatter herstelt vanaf 0,782609 h tegen 2,086957 h van de Gramiaan, verhouding 0,375, en bij 1,826087 h — het laatste voorvoegsel dat de rangmeting 3 van 4 geeft — herstelt hij tot 1.96e-5 van de a-priori-verplaatsing. De herstelgrens is onbewogen over drie decaden van haar eigen grens terwijl de rangdrempel loopt van 'nooit' tot 0,782609 h over vier decaden van rel_tol, en de twee vallen exact samen bij rel_tol = 1e-8. Die spanwijdte werd eerst vastgelegd als reikend tot 0,260870 h; dat cijfer was een ARTEFACT, veroorzaakt door een rangmeting die 4 richtingen telde uit 2 meetrijen onder de f64-ruisvloer, en het wordt hier gecorrigeerd in plaats van te blijven staan. De rangmeting wordt nu begrensd door de ongelijkheid van Sylvester met de reden uitgezonden, en de gecorrigeerde spanwijdte verzadigt op precies de boog waar de onafhankelijke schatter herstelt, wat de kruisvalidatie van deze rij versterkt in plaats van verzwakt: de gepubliceerde 1e-6 is een conservatieve CONVENTIE voor singuliere waarden, geen uitspraak over herstelbaarheid. Zelfde patroon ruimtelijk: NRHO 9,290323 h tegen 21,677419 h, halo 22,978723 h tegen 39,829787 h, waarbij de schatbaarheid in beide exact overeenkomt. De vlakke DRO met zes toestanden herstelt op geen enkele boog, wat het structurele datumdefect van die familie onafhankelijk reproduceert met een schatter die er niets over te horen kreeg. NIET extern verankerd — de dynamica en beginvoorwaarden worden gedeeld met de geteste analyse en geen openbare dataset publiceert zo'n drempel — dus ExternalDataset wordt geweigerd | cislunar_arc_recovery, batch_ls | cislunar_arc_recovery::tests en tests/cislunar_arc_recovery_reference.rs (beide grenzen en hun verhoudingen vastgezet op het gepubliceerde raster; de gemeten foutcurve rij voor rij vergeleken met de formele covariantie met een grens van een factor twee per rij en een grens op het meetkundig gemiddelde; een NEGATIEVE CONTROLE — de vlakke DRO met zes toestanden — die vaststelt dat het criterium KAN falen en dat de ongeregulariseerde schatter voorbij 1e6 km divergeert in plaats van een aannemelijke kleine fout te geven; parameteriseringsinvariantie vastgesteld op elk voorvoegsel tot 1e-3 relatief; een bronteksbewaking die commentaar, stringliteralen en de testmodule verwijdert en dan faalt bij elke vermelding van de Jacobiaan, STM, SVD-rang of SRIF-machinerie, door mutatie geverifieerd door een verboden aanroep in te voegen; een alleen-test-controle dat de eindige verschillen gelijk zijn aan de analytische rijen, zodat de linearisatie bekend goed is terwijl de analytische route afwezig blijft in de schatter; determinisme byte voor byte vastgesteld; het vrijgegeven cislunar-observability-document vastgezet met sleutelverzameling, canonieke vingerafdruk en samenvattingsregel) |
| Maanservicevolume uit echte, opgehaalde constellatiegeometrie | Accepteert een getabelleerde maancentrische toestandsefemeride (de evaluatie van een SPK/BSP-kernel) of een gepubliceerde constellatiedefinitie achter ephemeris_path, voert dezelfde sweep van dekking / DOP / beschermingsniveau erop uit en geeft de daaruit volgende eis aan de σ_URE-afstandsmeting NAAST de ongewijzigde illustratieve Kepler-resultaten en de resultaten met verstoringen, met het verschil als eigen benoemde grootheid. Elk cijfer draagt een herkomstklasse die uit een kernel afgeleid onderscheidt van uit gepubliceerde elementen afgeleid en van gemodelleerd, zodat de twee in een latere aanhaling nooit kunnen worden verward |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — De GEOMETRIE is extern en gehasht: drie fixtures waarvan de getallen alleen komen uit documenten die zijn opgehaald met URL, ophaaldatum en SHA-256, regenereerbaar met vastgelegde generatoren die de upstream-hash controleren en AFBREKEN in plaats van een getal uit te zenden — de LANS-referentieconstellatie voor interoperabiliteitsdemonstratie (NASA NTRS 20250009447, SHA-256 d1b916be…), de LNCSS-casestudy's (NAVIGATION 70(4) navi.613, CC BY, SHA-256 4e294687…), en een echte efemeride van gevlogen ruimtevaartuigen voor LRO, Danuri, Chandrayaan-2 en CAPSTONE, geëvalueerd uit de eigen gereconstrueerde kernels van JPL via Horizons. Er bestaat GEEN kernel van een maannavigatieconstellatie openbaar — Moonlight/LCNS, LCRNS en LNSS vliegen niet en NAIF publiceert niets voor ze — en er is er geen verzonnen. De AFGELEIDE σ_URE-eis heeft GEEN externe referentie (niemand publiceert de afstandsnauwkeurigheid die een maan-HPL van 50 m over dit servicevolume vraagt), dus ze wordt getoetst aan haar eigen algebraïsche identiteit en, onafhankelijk daarvan, door de hele sweep opnieuw uit te voeren bij de berekende eis en te bevestigen dat de beschikbaarheid daar omslaat. MEASURED: het gepubliceerde ontwerp met 8 satellieten heeft σ_URE 2,9044 m nodig bij 100 % dekking tegenover 0,3591 m bij 37,85 % voor de illustratieve constellatie — een herziening van 8,09× van een gepubliceerd getal onder programmaregel R4. De kwalitatieve conclusie blijft overeind (LNIS-klasse 30 m sluit nog steeds geen HPL van 50 m aan de zuidpool) maar het tekort was achtvoudig overschat. De LANS-demo met 5 satellieten levert NUL samples van beschermingsniveaus — vijf satellieten kunnen niet de zes in zicht geven die een enkelvoudige-foutenhypotheseset nodig heeft — en het eisveld is AFWEZIG in plaats van verzonnen; hetzelfde geldt voor de vier echte ruimtevaartuigen bij 0 % dekking. InternalConsistency is de eerlijke soort: de INVOER is extern en gehasht, maar de grootheid waar deze rij over gaat is alleen aan zichzelf getoetst. 0,30 externe vergelijking, een bevinding (blijft MODELLED): tegen de LNCSS-casestudystatistieken van navi.613 op 346 rasterpunten vallen 4 van 12 beschikbaarheidsstatistieken buiten de vooraf vastgelegde 2 procentpunten (geval A: -4.0, +22,5 en -3.6 pp; geval B: -12.1 pp). Waarschijnlijke oorzaken: elementen gelezen in het verkeerde stelsel, tweelichamen-Kepler over 15 dagen tegenover het niet vermelde krachtenmodel van het artikel, en een raster dat niet uit de tekst te reproduceren is. De PDOP-helft was niet te evalueren (LANS drukt geen numerieke statistiek af); de vergelijkingstest is vastgelegd als genegeerd. 0,30 ronde 2, een bevinding (blijft MODELLED): tegen een Orekit 12,2 / Hipparchus 3,1-referentie die het hele rapport berekent (Orekit-propagatie, DOPComputer-zichtbaarheid en DOP, met Hipparchus samengestelde MHSS-beschermingsniveaus, de eis per sample opgelost; vooraf vastgelegd d3ce97b2) op alle vijf opgehaalde geometrieën en twee rasters komen 155 van 160 waarden overeen binnen de vooraf vastgelegde drempels (2 pp, 5 %, 1 %), inclusief de sigma_URE-eis voor LNCSS A en C (3,879072208 m aan beide kanten voor geval A) en de afwezige eis voor LANS en de orbiters. LNCSS B op het dichte raster faalt op zijn statistieken van het slechtste sample (sigma_required 0,000923 tegen 0,001511 m, hpl_max 1.63e6 tegen 0.99e6 m) waar bijna singuliere geometrieën (PDOP ongeveer 1e6) de overeenstemming van de positie op meterniveau versterken; de p95-eis komt overeen (1,6343 tegen 1,6357 m). De eis voor het slechtste sample is slecht gesteld bij ontaarde geometrie. Tegen navi.613: 4 van 12 nog steeds buiten 2 pp (vastgezet) | lunar_ephemeris, lunar_service | lunar_ephemeris::tests (formaat- en stelselparsing; Lagrange-interpolatie exact op de knopen en op een lineair spoor tussen knopen; ICRF-elementen krijgen de IAU 2015-reductie en zijn byte-gelijk aan een expliciete icrf_to_iau_moon-toepassing; ware↔gemiddelde anomalie-rondreizen tegen een voorwaartse Kepler-oplossing; misvormde bestanden geweigerd met de reden genoemd). lunar_service::tests (met ephemeris_path niet ingesteld zijn de sleutelverzameling en SHA-256 van het rapport vastgezet; de Kepler-rij is veld voor veld gelijk aan de zelfstandige Kepler-run; de identiteit σ_required · HPL_max / σ_URE = AL, dan een EINDE-TOT-EINDE-herrun bij de berekende eis die 100 % beschikbaarheid van het beschermingsniveau bereikt en een herrun 1 % erboven die dat niet bereikt; elk uitgezonden numeriek veld van beide nieuwe blokken uit de geproduceerde JSON doorlopen op eenheid en herkomstklasse; de vastgelegde fixtures voor satelliet na satelliet vergeleken met hun brontabellen; een horizon voorbij het einde van een tabel geweigerd); tests/lunar_service_requirement_orekit_oracle.rs::lncss_b_dense_finding_is_unchanged; tests/lunar_service_volume_orekit_oracle.rs::service_volume_matches_orekit_on_identical_ephemeris_and_grid |
| Eenheid en herkomst vastgelegd voor elke gerapporteerde grootheid | Een machineleesbaar schema dat eenheid, herkomstklasse en definitie geeft voor elk numeriek veld van elk scenariorapport, plus één globale poort die elk geregistreerd scenariosoort uitvoert en faalt als een uitgegeven numeriek veld een van beide mist. Het herkomstvocabulaire is gesloten en elke klasse draagt een bewijsniveau, waarbij twee klassen bewust zijn afgebeeld op inherits-scenario-label en depends-on-input in plaats van een niveau te krijgen dat de klasse niet bepaalt |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Het uitgezonden document zelf: elk numeriek blad moet worden herleid tot een item in het eigen eenhedenblok van dat document. Er is geen extern eenhedenregister om een GEDECLAREERDE eenheid tegen te toetsen, dus een gedeclareerde eenheid is een beoordeelde bewering en geen geverifieerde — de poort verifieert VOLLEDIGHEID en CORRECTE OPBOUW, niet waarheid, en getoetst zou onjuist zijn omdat niets extern bevestigt dat m de juiste eenheid is voor een veld met de naam _m. Een onafhankelijke kruiscontrole op naamachtervoegsels is uitgevoerd over de 1.434 velden die TOEN waren beschreven: van de 691 met een achtervoegsel dat een eenheid draagt wijken 40 af van de gedeclareerde eenheid en alle 40 zijn verklaard (achtervoegsels per seconde, minima, apertuurseconden, newtonmeters tegenover een achtervoegsel dat op nanometer lijkt), dus er is geen onjuiste eenheid aan het licht gekomen. Die kruiscontrole is sindsdien niet opnieuw uitgevoerd, en de dekking is erover heen gegroeid — het cijfer is gelaten op wat daadwerkelijk is gemeten in plaats van opnieuw vermeld op het huidige totaal. Ten tijde van die wijziging (0.27.0) ging de dekking van 7 van 56 soorten naar 60 van 61, en van 389 van 1354 velden naar 1.742 van 1.744 (docs/field-units-schema.json, dat een veroudering-controle actueel houdt). GEEN soort blijft onbedekt (plafond 0, FUT-28, 0,36): de laatste was sweep-nd, waarvan twee kolommen door de aanroeper zijn gesleuteld zodat hun eenheden gegevens zijn; ze worden nu beschreven als mixed - see note en de eenheid van elke positie wordt gelezen uit de eigen eenhedentabel van het DOORLOPEN pakket naar key_units en metric_units (of overgenomen uit de gedeclareerde unit van de as, die moet overeenkomen met die van het pakket wanneer beide bestaan; null wanneer geen van beide bestaat, vermeld in plaats van gegokt). cislunar-observability was de vorige, en viel van de lijst toen het vrijgegeven document een eenhedenblok kreeg: de additiviteitsvastzetting die units als verboden sleutel had genoemd BEWIJST nu dat de toevoeging additief is — haal het blok er weer af en het document hasht nog steeds naar de twee constanten die waren bevroren voordat het bestond, dus een vrijgegeven waarde die onder de toevoeging is verschoven faalt nog steeds. Het werk bracht ook twaalf eenheids- of documentatiedefecten in bestaande code aan het licht, gemeld in plaats van hersteld onder R1 |
field_schema | tests/field_units_global.rs (alle 61 geregistreerde soorten worden uitgevoerd, elk met één documentvorm: elk numeriek blad moet worden herleid tot een item in het eigen eenhedenblok van dat document; een misvormd item telt als ontbrekend voor ELKE soort, vrijgesteld of niet, zodat een plaatsvervanger geen dekking koopt; de vrijstellingslijst mag haar vastgezette plafond niet overschrijden, een vermelde soort die volledig gedekt blijkt te zijn FAALT de poort zodat de lijst niet kan worden opgevuld, en een geregistreerde soort die ontbreekt in de runnertabel faalt zodat een nieuw pakket er niet ongezien tussendoor kan glippen — wat gebeurde en beide soorten ving die na de start van dit werk zijn toegevoegd; een eenrichtingsratel op de achterstand van beschreven-maar-ongedefinieerd; en een veroudering-controle op het vastgelegde schemadocument); field_schema::tests |
| Geodesie van het maanreferentiestation: toegevoegde retroreflector en VLBI-baken tegenover het datum met vijf arrays | De optionele invoeren extra_reflectors en extra_beacons van het scenario lunar-llr-datum voegen een blok station_geodesy toe: de Helmert-informatie van de vijf arrays uit het gearchiveerde deel met maanlaserafstandsmeting, plus de informatie die een toegevoegde retroreflector (gemeten op de gearchiveerde normaalpuntepochs waarop het meetstation boven zijn horizon staat, elk met het gearchiveerde gewicht van dat normaalpunt) en een toegevoegd VLBI-baken (waargenomen door het netwerk en het schema van lunar-frame-campaign met vaste aardstations, via de vertragingspartialen van lunar-vlbi-fim) op opgegeven locaties aan het datum met zeven parameters toevoegen, opnieuw opgelost, met de 1-sigma van elke Helmert-parameter ervoor en erna, hun verhouding, de normen ervoor en erna, en de extreme eigenwaarden van het Fisher-verschil. Bij afwezigheid of leegte blijft het rapport ongewijzigd | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Alleen interne consistentie: elke toegevoegde locatie is een afzonderlijk punt en een laserafstandsmeting of een VLBI-vertraging van een vast station raakt één punt, dus haar informatie A_p^T M_p A_p is positief semi-definiet en wordt opgeteld; de test controleert het Fisher-verschil en elke variantie daartegen. Het resultaat met vijf arrays is de bestaande rij met echte gegevens en is ongewijzigd. De toegevoegde reflector hergebruikt epochs die zijn ingepland voor de vijf bestaande arrays, een ILLUSTRATIVE schema, en het netwerk, het schema en de vertragingssigma van de toegevoegde baken zijn de ILLUSTRATIVE invoer van de lunar-frame-campaign; de locatie is een ILLUSTRATIVE positie bij de zuidpool. Een locatie bij de zuidpool ziet de Aarde laag aan haar horizon of helemaal niet, wat de bestaande kijkhoektests uitdrukken; geen van beide locaties wordt continu gemeten. De cijfers zijn Cramer-Rao-grenzen voor een gereduceerde parameterverzameling, geen opgelost datum en geen uitspraak over een echt station | lunar_llr (over lunar_frame_campaign::beacon_information, schedule_for and solve_datum_information, lunar_vlbi_fim) | tests/lunar_station_geodesy.rs (empty_or_absent_extra_lists_are_bit_identical: lege lijsten en het basislijnvoorbeeld geven het standaardrapport en de samenvatting byte voor byte; an_added_site_never_increases_any_variance: de kleinste eigenwaarde van H_after - H_before is niet-negatief tot 1e-9 van de grootste, elke after/before-sigmaverhouding is hooguit één, en beide toegevoegde locaties worden waargenomen; the_rest_of_the_report_is_the_five_array_result; every_station_geodesy_field_has_a_unit; a_beacon_list_inside_the_campaign_block_is_refused); scenarios/lunar-station-geodesy-baseline.toml en scenarios/lunar-station-geodesy-with-station.toml (zelfde gearchiveerde schema en hetzelfde VLBI-campagneblok) |
| Integriteit van de poort — een groen dat betekent wat het zegt | Drie structurele bewakers over het verificatieproces zelf, elk een klasse defecten sluitend die als intermitterend of onterecht rood in de canonieke poort terechtkwam. (1) Elk geconstrueerd tijdelijk pad in de Rust-bronnen moet een uniek onderdeel per aanroep dragen; een proces-id wordt geweigerd, omdat cargo de bibliotheektests als parallelle threads van ÉÉN proces uitvoert en de pid door alle threads wordt gedeeld. (2) Elke byte-voor-byte- of hashvastlegging moet naast zichzelf of in de moduleheader aangeven wat ze dekt en wat ze bewust uitsluit — zodat een wijziging die meerdere onderdelen raakt in één oogopslag kan zien welke vastleggingen binnen bereik zijn en welke stilzwijgend detectoren voor wijzigingen in de hele repository zijn geworden. (3) Een groen is alleen te claimen vanuit de VOLLEDIGE suite: scripts/gate.sh voert cargo test --all uit, legt de echte exitcode vast zonder pipe in de weg, en schrijft een bon die de commit, het aantal integratiebinaries, het aantal tests en de duur noemt; de pre-pushcontrole weigert een push waarvan de commit door geen geldige bon wordt genoemd, op een schone boom. Herhaalbaarheid wordt afzonderlijk bemonsterd door scripts/check-repeatability.sh, dat de bibliotheeksuite N keer uitvoert en faalt als de verzameling slagende tests verschilt. |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Gesloten vorm: elke bewaking wordt uitgevoerd over een vast bekend-slecht fragment dat moet afgaan en een vast bekend-goed fragment dat stil moet blijven, beide letterlijke constanten waar de detector geen invloed op heeft. De twee bekend-slechte fragmenten zijn de F22- en F25-defecten in hun oorspronkelijke vorm. Dit is een INTERN orakel en de rij is dienovereenkomstig MODELLED: ze bewijst dat de bewakingen het defect van zijn oplossing onderscheiden, niet dat de klassen die ze beschrijven uitputtend zijn. Hun vermelde blinde vlekken — gedeelde toestand die geen pad is, een vastzetting die in een korte benoemde constante staat, een zeldzame race die drie runs niet bemonsteren, en een ontvangstbewijs dat iedereen die het bestand kan schrijven kan vervalsen — staan uitgeschreven in de moduledocumentatie van tests/source_guards.rs en in de kop van elk script in plaats van te worden overgelaten aan ontdekking. | scripts/gate.sh, scripts/check-gate-receipt.sh, scripts/check-repeatability.sh, scripts/install-gate-hook.sh | tests/source_guards.rs (9 tests: beide bewakingen over de hele broncodeboom, plus mutatiefixtures die elke bewaking in beide richtingen beoordelen — het F22-patroon gemeld op beide botsende paden, de meegeleverde atomaire-reeksfix geaccepteerd, een halve fix gemeld op precies het pad dat zijn unieke component verloor, een tempfile-handle en een overgeërfde unieke map geaccepteerd, een kloktijd verworpen; een niet-gedeclareerde vastzetting gemeld, een gedeclareerde geaccepteerd, een scope zonder uitsluiting verworpen, een declaratie in het doc-commentaar van de omsluitende test geaccepteerd en getoond dat die niet doorlekt naar de volgende test; en elke vastzettingsspelling — hex, decimaal, digestreeks, bytelengte, benoemd aantal bytes, goldenbestand — gezien terwijl algoritmeconstanten, RNG-seeds en kleine kardinaliteitscontroles dat niet worden) |
| Samengesteld tijdsynchronisatie-PL — met P0 geënte holdover-overbrugging | PL(τ)=max(TPL_handover,HPL(τ)); laag-semicontinu PL(0+)≥PL(0−); K(IR/2) lopend maximum; fase-exponenten τ/τ³/τ⁵ | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Eigenschapstests (monotoniciteit, geen terugval bij handover) + exponentlint tegen holdover::coast_phase_variance | src/integrity/composed_pl.rs | integrity::composed_pl::tests (monotone, P0-floor, K(IR/2), exponents, lower-semicontinuity) |
| Samengesteld tijdsynchronisatie-PL — LIL-a.s.-envelop (onmogelijkheid + consistentie) | Geen eindige worstcase-holdover (Brownse sup divergeert); met IR toegewezen HPL consistent met de Hartman-Wintner-envelop als IR→0 | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Identiteit van de bijna-zeker-omhullende in gesloten vorm √(2Dt·lnln t) + HPL-dominantiecontrole; Baweja arXiv:2606,24210 onmogelijkheidsnaad | src/integrity/lil_envelope.rs | integrity::lil_envelope::tests (divergence, threshold, IR-tightening dominance) |
| Overgrens van de integriteit voor heterogene herleidbaarheidsbias van UTC(k) | Overgrens van de bias per bron b = (U/k_cov)·Phi^-1(1-tail/2) + veroudering, die een gepubliceerde uitgebreide onzekerheid van type B opblaast tot een toegewezen integriteitsstaart; sluit aan op tpl_scalar als bias_s | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Onafhankelijke reproductie met numpy en stdlib-statistics van de overbound in gesloten vorm (InternalConsistency). De BIPM Circular-T-reeks [UTC-UTC(USNO)] is alleen een GECITEERDE invoer — het is dezelfde reeks die al is getoetst voor de R4-holdover-dekkingsrij en wordt hier NIET opnieuw getoetst; het reproduceren van haar waarden bewijst niets over R2. De diepe integriteitsstaart is gemodelleerd. 0,30 externe vergelijking, een bevinding (blijft MODELLED): op de BIPM-bestanden UTC-UTC(k) per laboratorium (102 laboratoria, 105.024 rijen met gepubliceerde onzekerheden) wordt de overbound b = 2,576 u bij de staart van 1e-2 overschreden door 50,8 % van de rijen (Clopper-Pearson 95 %: 50,4 tot 51,1 %) en met meer dan 1 % bij 101 van 102 laboratoria. De gepubliceerde u is de onzekerheid van de bepaling van UTC-UTC(k) door het BIPM, geen grens op de offset, die regelmatig tot vele malen u oploopt; de overbound zoals gespecificeerd begrenst de traceerbaarheidsbias van echte UTC(k) niet. 0,30 ronde 2, een overbound van de gerealiseerde UTC-UTC(k)-offsets, getraind op 2015-2022 en getest op BIPM Circular T-gegevens van 2023-2026 (vooraf vastgelegd ca0921a4, gepoolde overschrijding hooguit 1e-2), een bevinding (blijft MODELLED): de gepoolde overschrijding is 0,0333 (694 van 20.826 rijen over 82 laboratoria; 0,0127 zonder de 430 rijen die per regel geen grens hebben). D9 ronde 3, een gepoolde hiërarchische verouderingsgrens (utck_bound), vooraf vastgelegd fb475550 en prospectief beoordeeld op Circular T-uitgaven vanaf 465: nog niet uitgevoerd (uitgave 465 is gepubliceerd op 2026-10-12 met ongeveer 285 testwaarden; de vooraf vastgelegde regel van 1000 waarden vraagt uitgaven tot ongeveer 468, en de run heeft de gearchiveerde bestanden per laboratorium van 2026-09-30 nodig, aangezien het BIPM sindsdien 87 van de 113 heeft herschreven) | src/integrity/hetero_budget.rs | integrity::hetero_budget::tests + tests/hetero_budget_reference.rs; tests/hetero_budget_utc_k_oracle.rs::overbound_exceedance_on_real_utc_k_finding (gegevensafhankelijk: slaat over met een bericht wanneer de BIPM-reeks ontbreekt); tests/hetero_budget_utc_k_realised_overbound_oracle.rs::realised_offset_overbound_finding; tests/utck_bound_prospective_oracle.rs (D9 ronde 3, prospectief, nog niet uitgevoerd: Circular T 465 verscheen op 2026-10-12, en de vooraf vastgelegde regel van 1000 waarden vraagt uitgaven tot ongeveer 468) |
| Gecorreleerde kruiscovariantie van de herleidbaarheidsbias (allocatie die onveilig is bij gemeenschappelijke modus) | N×N-kruiscovariantie van de bias met niet-diagonale elementen rho·b_i·b_j voor bronnen die een UTC(k)-realisator delen; BEWEZEN correlated_fused_bias >= independent_fused_bias (naïeve onafhankelijke allocatie onderbegrenst de gefuseerde bias -> optimistisch -> onveilig) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Onafhankelijke numpy-reproductie van de kruiscovariantie en de ongelijkheid voor de gefuseerde bias bij gecorreleerd versus onafhankelijk (InternalConsistency). Representatieve bronnenverzameling; gemodelleerd scenario. | src/integrity/hetero_budget.rs | integrity::hetero_budget::tests (correlated_fused_bias_dominates_independent_when_correlated, rho_one_single_realizer_recovers_linear_sum) + tests/hetero_budget_reference.rs |
| Consistentiestatistiek voor de gemeenschappelijke modus (fout in een gedeelde referentie waar scheiding blind voor is) | Scorestatistiek (1^T Omega^-1 r)^2/(1^T Omega^-1 1) ~ chi^2_1 voor een verschuiving in de gemeenschappelijke modus die oplossingsscheiding (contrasten orthogonaal op 1) niet kan zien; een verschuiving in de gemeenschappelijke modus blaast haar op terwijl de paarsgewijze scheidingen vlak blijven | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Onafhankelijke numpy-reproductie van de statistiek + eigenschapstest dat een common-mode-injectie haar opblaast (InternalConsistency). Gemodelleerd scenario. 0,30 ronde 2 (vooraf vastgelegd f9aa360d), geblokkeerd (blijft MODELLED): numpy 2.3.5 LAPACK gesv reproduceert de statistiekwaarde op 261 vastgelegde gevallen (binnen 3.5e-15 goed geconditioneerd, 1.2e-9 bij conditie tot 6.1e7); de chi-kwadraat(1)-nulwet is een geciteerde stelling en de vlakke paarsgewijze scheidingen een identiteit zonder engine-uitvoer om mee te vergelijken, dus de afbakening wacht op een besluit van de eigenaar | src/integrity/gls_commonmode.rs | integrity::gls_commonmode::tests (common_mode_shift_inflates_statistic_but_not_contrasts, post_fit_common_mode_statistic_is_zero) + tests/gls_reference.rs; tests/gls_common_mode_statistic_numpy_oracle.rs::common_mode_statistic_matches_numpy_lapack |
| Classificatie van de nulruimte van het maandatum (rang-additiviteit van LLR + defectopheffing door libratie) | Classificatie van het probleem van het datum bij interne afstandsmeting: een enkele afstandswaarneming draagt rang 1 bij (nulruimte met 6 dimensies); het paar oorsprong-X en schaal is bijna nul en de fysische libratie van DE440 tilt het defect naar nul terwijl het paar bijna gedegenereerd blijft | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Door de engine gereproduceerde geometrische structuur plus de 2x2-Schur-identiteit in gesloten vorm; consistent in STRUCTUUR met Sosnica et al. 2025 (arXiv:2510,15484), waarvan de gerapporteerde groottes hier NIET worden gereproduceerd. De classificatie is structureel; de groottes van correlatie en CRLB onder echte geometrie zijn MODELLED (reflectorcoördinaten en oriëntatie vast gehouden). 0,30 externe vergelijking, een bevinding (blijft MODELLED): tegenover Sosnica et al. 2025 ligt de range-Fisher-oorsprong-schaalcorrelatie (-0.993 / -0.988) binnen 0,05 van de gepubliceerde -0.97, maar op de eigen geometrie met vijf reflectoren van het artikel is de 7-parameter-Helmert-correlatie met gelijke weging -0.78 (de gepubliceerde waarde berust op fouten per reflector die het artikel niet afdrukt), en de oorsprong-CRLB (0,6 tot 1,2 mm bij 3 mm afstandsruis) ligt 96 tot 98 % onder de 3,07 cm van het artikel tegen een tolerantie van 20 %. Groottes niet gereproduceerd | lunar_identifiability, lunar_datum | 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); tests/lunar_datum_sosnica_oracle.rs::origin_scale_correlation_and_crlb_disagree_with_the_published_geometry |
| Informatie over het maandatum uit meerdere technieken (LLR + maan-VLBI + orbiterafstand) | Rijen van de datum-Jacobiaan voor LLR-afstand aarde-reflector, differentiële vertraging van maan-VLBI met twee stations en afstand orbiter-baken over het datum met 7 parameters, gecombineerd tot één consistent voorgeconditioneerde Fisher; toont aan dat niet-radiale (orbiter / diepteverschillende) tracking de degeneratie tussen oorsprong-X en schaal doorbreekt waar transversale VLBI alleen indirect helpt | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Analytisch-versus-eindige-verschillen-kruiscontroles van de partiëlen van elke techniek (intern); de RICHTING van de verbetering is een meetkundig feit. Bakenlocaties, schema's en ruis zijn MODELLED/representatief (zie tests/fixtures/llr_geometry/NOTICE.md). | lunar_datum, lunar_identifiability | 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) |
| Geometrisch substraat van het LLR-datum voor de maan (hoofdasreflectoren, grondstations, analytische afstandspartialen) | De vijf retroreflectorarrays aan de aardzijde in meters in het PA-lichaamsframe en de LLR-grondstations in geodetische coördinaten; plaatsing van de reflector van lichaam naar inertiaal via de DE440-PA-oriëntatie; analytische partiële afgeleiden van de afstand aarde-reflector naar de 4 parameters van het datum; en de Fisher-matrix voor alleen LLR die de degeneratie tussen lunocentrum-X en schaal toont die de analyse met 7 parameters motiveert | ExternalDataset | een deelclaim wordt extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — De berekening wordt intern gecontroleerd: elke analytische partiële tegen een eindig verschil, en het geval met nuldatum tegen de nominale afstand. De CATALOGUS wordt extern en onafhankelijk gecontroleerd - de DE440-hoofdascoördinaten (Park et al. 2021, tests/fixtures/llr_geometry/de440_retroreflectors_pa.csv) worden gekruiscontroleerd tegen Tabel 6 van het memorandum over oppervlaktecoördinaten van DE430 (tests/fixtures/lunar_llr/de430_retroreflectors_pa.csv, machinaal geëxtraheerd uit een met SHA-256 geverifieerde PDF door tests/fixtures/lunar_llr/generate_de430_retroreflectors_pa.py) en komen overeen tot 1,12 m, terwijl de gemiddelde-aarde-realisatie van dezelfde vijf arrays 672 tot 871 m afwijkt. De ONTAARDINGSSTRUCTUUR wordt getoetst aan een gepubliceerd resultaat: Sosnica et al. 2025, 'Definition and Realization of the International Lunar Reference Frame', arXiv:2510,15484, dat voor het maanhoofdasstelsel een correlatiecoëfficiënt tussen lunocentrum-X en schaal van r = -0.97 meldt, en dat LLR vanwege die correlatie het werkelijke massamiddelpunt van de Maan niet met een nauwkeurigheid beter dan 12 cm bereikt. Deze module herstelt dezelfde structuur (|corr(t_x, scale)| tussen 0,9 en 0,9999, datumdefect <= 1) uit een Fisher-ontwerp met alleen LLR. De corroboratie is over efemeriden heen, geen rondreis: het artikel combineert INPOP21a, DE430 en EPM2021, terwijl deze module wordt aangedreven door DE440-libratie. Wat NIET wordt gereproduceerd is de grootte - de correlatie is hier ongeveer -0.988 tegenover hun -0.97, en de CRLB met 4 parameters is submillimeter tegenover hun bereikte ondergrens van 12 cm, omdat oriëntatie en reflectorcoördinaten hier vast gehouden en daar opgelost worden. Alleen geometrie en ontaardingsstructuur; geen nauwkeurigheidsclaim over een opgelost datum. 0,30 externe vergelijking: de gemeten-afstandsdelen van deze module (reflectors(), stations_itrf(), de DE440-PA-plaatsing en de barycentrische lichttijd llr_bcrs_one_way_m) zijn getoetst in hun eigen rij, LLR measured-range model, tegen 192 ILRS-normaalpunten (RMS 2,81 m tegen 10 m). Deze rij blijft MODELLED omdat de gemeten vergelijking de rest van haar claim niet beproeft. De geodetische stationscatalogus stations() rondt APOLLO af op 0,001 graad; met een geocentrische lichttijd geeft het 22,7 m op dezelfde punten (test reflector_ranges_against_ilrs_normal_points; 96 m met de eerdere elementsgewijze oriëntatie-interpolatie). De analytische afstandspartiëlen en de Fisher met alleen LLR worden berekend via llr_range_m en reflector_inertial met de analytische maanreeks (ephem::moon_position, ongeveer 0,3 graad van de GCRS) en zonder lichttijd | lunar_llr_geometry | 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, llr_only_fisher_shows_strong_com_x_scale_degeneracy); tests/lunar_pa_frame_realisation_guard.rs; tests/llr_datum_degeneracy_reference.rs; tests/lunar_llr_geometry_range_oracle.rs::reflector_ranges_against_ilrs_normal_points |
| Degeneratie tussen afstand en klokoffset bij enkelvoudige maanafstandsmeting, en de ontwerpwet van geometrische diversiteit | De degeneratie per knooppunt tussen radiale afstand en offset van de ontvangerklok is exact bij 1 m tot 3,336 ns (één over c). Het Schur-complementmarginaal {scale, offset} (coupled_marginal_fisher) laat zien dat in een geometrisch gevarieerd netwerk tweewegsafstandsmeting het marginaal met ongeveer dezelfde factor verbetert als een gelijk aantal extra enkelvoudige data, terwijl in het geïdealiseerde regime met één knooppunt de verbetering door tweewegsmeting ordes van grootte groter is. De ontwerpwet die hieruit volgt: geometrische diversiteit, niet tweewegsafstandsmeting als zodanig, scheidt de schaal van het maanframe van de offset van de tijdschaal bij enkelvoudige afstandsmeting; een tweewegs- of externe tijdkoppeling is alleen nodig in het regime met weinig diversiteit of met één gebruiker. | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Marginale Fisher van de Schur-complementen van de gekoppelde informatiematrix, in lineaire algebra in gesloten vorm, gecontroleerd tegen de twee grensregimes die ze voorspelt. De gelijkwaardigheid van 1 m en 3,336 ns is de definitie van de meter via c en geen empirisch resultaat. De waarnemingsnetwerken zijn representatieve gemodelleerde geometrie, dus de ontwerpwet is een uitspraak over de geometrie die haar wordt voorgelegd en doet geen claim over enig operationeel maannetwerk. | lunar_gauge | 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, twoway_range_row_has_zero_at_offset_and_rate, time_tie_row_equals_pure_offset_vector, rate_tie_row_has_correct_structure) |
| Representatief menu van metingen uit meerdere technieken en de additieve combinatieregel voor Fisher | MeasurementBlock bevat één kandidaat-meetcampagne als een bijdrage van 7x7 Fisher-informatie plus een scalaire relatieve kost; block_from_rows bouwt er een uit ruwe rijen van de datum-Jacobiaan zodat elk blok identiek wordt voorgeconditioneerd via lunar_identifiability::assemble_multi_info; combine sommeert de informatie van een gekozen deelverzameling, wat de juiste regel is omdat Fisher-informatie additief is over onafhankelijke metingen; representative_lunar_menu levert een deterministisch menu van vier blokken (LLR, een transversaal VLBI-baken op de maanrand, een orbiter aan de aardzijde en een orbiter aan de verre zijde). De door het budget beperkte ontwerpoptimalisator die dit menu gebruikt, maakt geen deel uit van deze crate. | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Additiviteit van Fisher-informatie over onafhankelijke metingen is een eigenschap in gesloten vorm, hier gecontroleerd tegen een onafhankelijk geschreven elementsgewijze som en tegen de volgorde-invariantie en monotoniciteit die eruit volgen. OPMERKING OVER BEWIJS: de combiner had voorheen helemaal geen test, en de ene test in de module telde de twee informatiematrices ter plekke op in plaats van hem aan te roepen, zodat een kapotte combiner de module groen zou hebben gelaten; de test loopt nu via combine en faalt wanneer die wordt gemuteerd. Alle bakenlocaties, orbitergeometrie, precisies per techniek en relatieve kosten zijn representatieve keuzes en geen missiewaarden (zie tests/fixtures/llr_geometry/NOTICE.md), dus elke ontaardingsmaat en CRLB-waarde die via dit menu wordt bereikt erft de gemodelleerde status van lunar_identifiability::decompose. | lunar_techniques | lunar_techniques::tests (combine_is_additive_order_independent_and_empty_is_zero - lege selectie geeft de nulmatrix, een enkele selectie is de identiteit, een paar is gelijk aan een onafhankelijk geschreven elementsgewijze som, en het resultaat is invariant onder de selectievolgorde; adding_a_block_never_reduces_the_degeneracy_metric - monotoniciteit onder toegevoegde informatie; radial_diversity_beats_transverse_for_breaking_the_degeneracy - het far-side-orbiterblok verhoogt de ontaardingsmaat meer dan het transversale VLBI-blok) |
| Tolerantie voor consistentie tussen aanbieders voor een gebruiker met gemengde aanbieders | consistency_tolerance: keert een positiebudget van de gebruiker om naar een eis aan de overeenstemming van de Helmert-parameters tussen aanbieders per parameter (oorsprong/schaal/rotatie) bij een referentiehefboomarm, desgewenst opgeblazen met de CRLB van de realisatie bij één aanbieder uit P1 | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Driehoeksgrens voor het slechtste geval op de werking van de Helmert-puntjacobiaan (gesloten vorm) | lunar_interop_budget | lunar_interop_budget::tests (monotonicity in budget; RSS budget reduction under a per-provider CRLB; worked rotation tolerance at the lunar lever arm; binding-term = rotation) |
| Foutenbudget voor maaninteroperabiliteit tussen meerdere aanbieders en ontwerpwet van frame tegenover efemeride | interop_budget: splitsing in reduceerbaar (gemeenschappelijke frameverbinding) en onherleidbaar (dynamica) onder de conventies PerProvider / CommonFrameTie / CommonEphemeris, met de ontwerpwetmaat van de onherleidbare fractie (~0,69 op echte DE440/INPOP/EPM: een gemeenschappelijk frame-label alleen laat de dominante ondergrens bestaan) | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — RMS-aggregatie van de getoetste splitsingen per paar onder elke conventie (gesloten vorm) | lunar_interop_budget | lunar_interop_budget::tests (CommonEphemeris zeroes the budget; CommonFrameTie < PerProvider; irreducible_fraction > 0,5 on the real splits; convention ordering) |
| Byzantijnse grens voor het detecteren/identificeren via blokvonk op het autonome maannetwerk per knooppunt (T3) | byzantine_bound instantieert de coderings-/schaarse-waarneembaarheidsgrens voor veilige toestandsschatting op de geometrie van het netwerk per knooppunt: een Byzantijnse peer injecteert een willekeurige lineaire combinatie van de metingen waaraan hij deelneemt, en het netwerk DETECTEERT elke coalitie van ≤ f = block_spark − 1 peers en IDENTIFICEERT ondubbelzinnig elke coalitie van ≤ ⌊(block_spark − 1)/2⌋, waarbij block_spark de kleinste peercoalitie is waarvan de gestapelde effectieve signaturen P⊥·B_T kolomrangdeficiënt zijn. Detecteerbaarheid van een peer is VOLLE KOLOMRANG van P⊥·B_j (een blok ongelijk aan nul maar rangdeficiënt is een aanval ongelijk aan nul die in range(G) terechtkomt en geen residu achterlaat), niet louter P⊥·B_j ≠ 0 | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Geometrische instantiëring van de blokgewijze spark- / veilige-toestandsschattingsgrens (Fawzi–Tabuada–Diggavi 2014; Shoukry–Tabuada 2016; blokgewijze spark van Donoho–Elad 2003; Candès–Tao 2005) — NIET de 3f+1-consensusdrempel van Lamport–Shostak–Pease ('Byzantine' benoemt alleen het MODEL van willekeurige of samenspannende fouten). Het specifieke aantal getolereerde fouten is een gemodelleerde eigenschap van de representatieve netwerkgeometrie, op zelfconsistentie gecontroleerd met met de hand geconstrueerde analytische gevallen en de telformules | lunar_faultobs | lunar_faultobs::tests — byzantine_c3_rank_deficient_but_nonzero_is_undetectable (niet-nul maar rangdeficiënt blok ⇒ block_spark 1, f_detect 0; onafhankelijke kolommen ⇒ block_spark 2, f_detect 1), byzantine_real_network_uniform_bias_is_clock_offset (een peer die alle metingen van een knooppunt bezit = een klokoffsetfout ∈ range(G), niet detecteerbaar, met een duidelijke spectrale Gram-kloof), byzantine_redundant_net_identifies_at_least_one (zes onafhankelijke peers met één meting ⇒ block_spark 7, f_identify 3), byzantine_analytic_spark_identity_projector + byzantine_detect_identify_relations (P⊥ = I-handgevallen leggen f_detect = block_spark − 1 vast, f_identify = ⌊(block_spark − 1)/2⌋) |
| Temporele ijkondergrens bij autonome holdover voor de zelfverwijzende maanconstellatie (T4) | holdover_floor stelt vast dat in een ensemble van autonome knooppunten die alleen door metingen tussen knooppunten zijn verbonden, de gemeenschappelijke klokrate (δα_j += 1 ∀j) een vrije parameter van de ensembletijd is die in N(GᵀWG) ligt: geen enkele extra afstandsmeting tussen knooppunten kan haar waarnemen (rate_in_gauge = true, temporal_gauge_dim = 2 met de gemeenschappelijke offset). Dit is de werkelijke ondergrens voor holdover — het temporele analogon van de ijk van de starre framepositie. Het toevoegen van één externe absolute ratekoppeling (een directe verbinding met een referentie buiten het netwerk) verwijdert de gemeenschappelijke rate uit de nulruimte (rate_in_gauge = false, temporal_gauge_dim = 1), wat bewijst dat de ondergrens een echte ijk is en geen artefact van het oscillatormodel | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Ensemble-tijd-vrije-parameterargument (Percival 1978; Lewandowski & Thomas 1991) geïnstantiëerd op het representatieve echte DE440-netwerk per knooppunt: een relatieve-residu-nultest van de analytische gemeenschappelijke-snelheidsgenerator tegen GᵀWG, waarbij het contrast met doorgehakte gelijkspel de echte ijk onderscheidt van een artefact van het oscillatormodel. Representatieve gemodelleerde geometrie, geen gecertificeerd tijdsynchronisatiebudget | lunar_faultobs | lunar_faultobs::tests — holdover_floor_self_ref_and_anchored (zelfverwijzend net: de gemeenschappelijke snelheid ligt in N(GᵀWG), temporal_gauge_dim 2; na één externe snelheidskoppelingsrij: snelheid uit de ijk verdreven, temporal_gauge_dim 1 waarbij de gemeenschappelijke offset overblijft) |
| Gemeenschappelijke/differentiële splitsing per aanbieder, eenmaking via één rangdeficiëntie en helling van de beschermingskloof (T5 / §0 / g7) | Drie facetten van de ene decompositie ℝ^{state_dim} = N(GᵀWG) ⊕ range(GᵀWG) met de ijk van 8 dimensies van datum⊕tijdschaal als N(G) en de state_dim − 8 = 32 waarneembare richtingen als range(G): (T5) provider_mismatch_split classificeert een gemeenschappelijke bias van meerdere aanbieders (∈ range(G)) als NIET-DETECTEERBAAR — wat een externe koppeling vraagt — en een differentiële bias (∉ range(G)) als zelfbewaakt / DETECTEERBAAR; (§0) de eenmaking is dat DEZELFDE blinde deelruimte range(G) de niet-detecteerbare foutklasse bepaalt, dus de datumijk N(G) en de voor fouten blinde deelruimte range(G) zijn één geometrie, niet twee; (g7) slope geeft de helling van de beschermingskloof van Brown ‖Π_obs Δx̂‖ / ‖P⊥b‖_W → ∞ voor een fout b ∈ range(G) (schatter bedorven bij nul pariteit) en eindig voor een detecteerbare fout | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Algebra met pariteitsprojector / pseudo-inverse in gesloten vorm op het representatieve echte DE440-netwerk per knooppunt: de splitsing gemeenschappelijk/differentieel, de N(G) ⊕ range(G)-unificatie en de beschermingskloofhelling van Brown (1992) volgen allemaal uit bereikannihilatie P⊥·G = 0. Representatieve gemodelleerde geometrie, geen gecertificeerd beschermingsniveau | lunar_faultobs | lunar_faultobs::tests — provider_mismatch_split_common_undetectable_differential_detectable (gemeenschappelijke bias niet detecteerbaar, differentiële detecteerbaar), slope_infinity_in_range_finite_detectable (g7: helling ∞ voor b ∈ range(G), eindig voor b ∉ range(G)), pernode_rank_is_state_dim_minus_eight (§0: rang(GᵀWG) = state_dim − 8, de 8-dim-ijk is de hele nulruimte met een spectrale kloof van >1e6) |
| ITU-T-maskers voor telecomsynchronisatie met PASS/FAIL en marge | Overgenomen limieten van ITU-T G.8272 (07/2025) PRTC-A/B, G.8272.1 (2024) Amd. 1 (07/2025) ePRTC vergrendeld en ePRTC-A holdover (inclusief de tijdfoutenvelop van Tabel 3), G.8273.2 (2023) Amd. 2 (11/2025) T-BC/T-TSC-klassen A-D en G.8271.1 (2022) Amd. 3 (05/2025) referentiepunt C, elk open of gesloten interval zoals de tabel het vermeldt, waarbij elke vermelding 'for further study' is weggelaten; per controle een verdict en een marge op het bepalende punt, en de tijd tot elk budget wordt overschreden. Uitvoerbaar als het scenariosoort telecom-timing |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Transcriptie van de genoemde Recommendations (vrij te downloaden van itu.int), elke limiet met zijn tabel of clausule, vermeld met elk onbevestigd of niet-geïmplementeerd item in docs/TELECOM-TIMING.md; de continuïteitsidentiteiten van de breekpunten die de tabellen impliceren worden in de tests gecontroleerd. Een standaardtranscriptie met interne consistentiecontroles, geen conformiteitstest en geen externe toetsing. 0,30 ronde 2 (vooraf vastgelegd 970003ee), geblokkeerd (blijft MODELLED): de tien maskerwaarden en dertien ePRTC-A-holdoverwaarden die de Recommendations als uitgewerkte getallen afdrukken (G.8272 Figs. 1-2, G.8272.1 Amd.1 cl. 8.2.1 en Figs. V.1-V.3, G.8271.1 Amd.3 Figs. 7-2 tot 7-4) worden binnen een halve gedrukte eenheid gereproduceerd, de meeste ervan tabelconstanten of breekpunten; G.8271.1 Fig. 7-2 labelt 200 ns bij 1,3 s tegenover zijn eigen Table 7-1 (197,5 ns). De limieten van klasse A-D van G.8273.2 hebben geen afgedrukte uitgewerkte waarde, en de vergrendelde breekpuntlabels van G.8272.1 ePRTC (op doorgetrokken constructielijnen) zijn uitgesloten door de vooraf vastgelegde selectieregel, dus die blijven transcripties | telecom_timing (MASKS, eprtc_a_holdover_limit_ns, check_curve, check_mask) | telecom_timing::tests (mask_boundaries_follow_the_tables_exactly — open en gesloten einden, de τ = 400 s-kloof van G.8271.1 Table 7-3, continuïteit op elk breekpunt dat de tabellen impliceren; a_curve_exactly_on_the_limit_passes_and_just_above_fails; eprtc_a_holdover_envelope_follows_table_3; a_coarse_record_is_not_evaluated_against_a_filtered_mask); tests/telecom_timing_reference.rs (telecom_timing_kind_round_trips_through_the_dispatch); tests/telecom_masks_itu_printed_values.rs (mask_values_match_the_numbers_the_recommendations_print; figure_7_2_label_at_1_3_s_is_not_its_own_table_value) |
| ITU-T-maskers voor wander-generatie bij frequentiesynchronisatie (G.811, G.812, G.8262, G.8262.1) | Zeven maskers voor wander-generatie in MTIE en TDEV bij constante temperatuur voor het soort telecom-timing: G.811 (09/1997) PRC (autonoom), G.812 (06/2004) Types I, II en III, G.8262 (10/2024) EEC Options 1 en 2 en G.8262.1 (11/2025) eEEC (vergrendelde modus), inclusief de machtswetstukken die de tabellen schrijven (8 τ^0.5 en dergelijke), elk interval open of gesloten zoals afgedrukt, gemeten via het filter van 10 Hz dat de clausules vermelden (aangenomen als toegepast vóór het bemonsteren); het referentiescenario scenarios/telecom-synce-eec.toml zet een vrijlopende OCXO tegenover de drie EEC-maskers. Niet geïmplementeerd: de toelagen bij variabele temperatuur, holdover, transiënten, jitter en de frequentienauwkeurigheid van G.811 |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Transcriptie van de genoemde Recommendations (gedownload van itu.int op 2026-10-13), elke rij opnieuw gelezen tegen de tekst, waarbij de continuïteit van de breekpunten die de afgedrukte coëfficiënten impliceren in de tests is begrensd (bijvoorbeeld 40 · 10^0,4 = 100,48 ns tegenover het plateau van 100 ns van G.812 Table 4). Een standaardtranscriptie met interne consistentiecontroles, geen conformiteitstest en geen externe toetsing. G.812 (06/2004) staat vermeld als vervangen door een vooraf gepubliceerde editie van 08/2026 en G.811 heeft een Amd. 1 (04/2016); geen van beide kon worden gelezen, dus geen van beide is gecontroleerd. Het scenario met vrijlopende OCXO overschat de bijdrage van de oscillator bij waarnemingsintervallen die lang zijn ten opzichte van de tijdconstante van een lus; het zegt niets over enige apparatuurklok | telecom_timing (MASKS, Segment::tau_exponent, MeasurementFilter::LowPass10HzAtSource, MaskCondition::Autonomous) | 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; wander_masks_pass_a_quiet_white_fm_flicker_series; wander_masks_fail_the_same_series_scaled_up) |
| Klokloggformaten (RINEX-klok, TimeLab ASCII, TAPR TICC) gelezen tot een genormaliseerde faseserie | clock_log::read_input: één parserlaag die een RINEX-klokbestand (AS/AR-records van één genoemde klok, versies 2 en 3,00 tot 3,04), een ASCII-fase- of frequentielog in TimeLab-stijl, of een tijdstempel- of intervallog van TAPR TICC omzet in een uniform faseraster, met tau0 opgegeven, uit een header, of de mediane afstand, waarbij elk gat, elke meting buiten het raster en elk duplicaat wordt geteld, en een beleid voor gaten van weigeren, langste run of lineair; opt-in aangesloten op de telecom-timing-reeks ([series.clock_log], met toevoeging van een blok clock_log) en het kloksoort ([clock_log], met toevoeging van een blok measured met ADEV, TDEV en MTIE, de SHA-256 van de tabel en de SHA-256 van de fase; runs = 1). Zonder de tabel zijn beide soorten byte-identiek |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Vooraf vastgelegd in tests/fixtures/clock_log/PREREGISTRATION.md (afzonderlijk gecommit, 159334f2, voordat de fixture bestond); vastgelegd in RESULTS.md. Drie gezaaide synthetische logs, één per formaat (een TICC-gat van drie epochs, een tweede RINEX-klok om te negeren), teruggelezen door een onafhankelijke lezer die door dezelfde auteur is geschreven op basis van docs/CLOCK-LOG-FORMATS.md: raster-, gat- en vulaantallen gelijk en het grootste fasoverschil 0 s (drempel 1e-13 s). allantools 2024,6 oadev, tdev en mtie op die fase komen overeen binnen een relatieve 2.5e-14 (drempel 1e-10) bij elke middelingsfactor die het evalueert; het evalueert MTIE niet over het hele record, wat de engine wel meldt, dus dat ene punt per log heeft geen referentiewaarde en de drempel zoals verwoord wordt daar niet gehaald. MODELLED: synthetische logs, en het leesreferentie-orakel deelt de auteur; echte TimeLab-, TICC- en RINEX-klokbestanden van instrumenten zijn niet vergeleken | clock_log (read_input, MeasuredPhaseReport, MEASURED_UNITS, TELECOM_LOG_UNITS); telecom_timing (SeriesInput::clock_log); api (clock kind [clock_log]) | clock_log::tests (met de hand geschreven logs per formaat: headers, scheidingstekens, eenheden, frequentie-integratie, TICC-kanalen en -modi, gaten en beleid, weigeringen); tests/clock_log_allantools.rs (de vooraf vastgelegde vergelijking: b1_each_log_reads_to_the_reference_phase; b2_adev_tdev_and_mtie_agree_with_allantools; b3_a_telecom_series_read_from_a_log_equals_the_same_samples; b3_the_clock_kind_measured_block_is_opt_in) |
| Klokloggformaten linuxptp (ptp4l, phc2sys, ts2phc) en chrony (tracking, statistics) gelezen tot een genormaliseerde faseserie | clock_log::read_input met de formaten ptp4l, phc2sys, ts2phc, chrony-tracking en chrony-statistics: de gelogde offset van een servoregel van linuxptp (ns, de eigen tijdstempel tussen haakjes van de regel, metingen voordat de servo voor het eerst s2 meldt weggelaten en geteld) of van een tracking- of statisticslog van chrony (s, op kolompositie, UTC-datum en -tijd) wordt een uniform faseraster via dezelfde gatbeleidsregels als de andere formaten; een bronkiezer (clock) noemt een van meerdere interfaces, klokken of adressen; de logs voeden de telecom-timing-reeks, het kloksoort en het soort holdover-test |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Fixtures voor Kshana geschreven uit de openbare regelindelingen van de daemons, met verzonnen waarden (NOTICE.md in de fixturemap); er is geen log van een echte installatie gelezen en geen orakel vergelijkt de parsing met een andere lezer, dus een indeling die tussen daemonversies verschilt kan nog steeds worden geweigerd of verkeerd gelezen. De schatters die de faseserie voeden zijn die welke in de rijen hierboven aan allantools zijn getoetst | clock_log (parse_linuxptp, parse_chrony, grid_timed_offsets) | 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; linuxptp_refuses_a_servo_that_never_locks_and_backwards_stamps; chrony_tracking_reads_the_local_offset_in_seconds; chrony_statistics_needs_a_source_when_there_are_two; chrony_columns_of_the_other_log_are_not_read; clock_selector_is_refused_for_timelab_and_ticc_only) op de fixtures in tests/fixtures/clock_log/linuxptp_chrony/ |
| Holdovertest beoordeeld op een door de exploitant geleverde tijdfoutopname | Het soort holdover-test: een tijdfoutopname (een klokbestand van linuxptp, chrony, TICC, TimeLab of RINEX, of paren time_s,time_error_ns) wordt op de twee tijdstippen die de exploitant opgeeft voor het wegnemen en herstellen van GNSS gesplitst in een basislijn, een holdover en een herstelstap; de basislijn wordt gemeten tegen de ITU-T-maskers die voor een vergrendelde klok zijn geschreven en de holdover tegen die voor holdover of een autonome klok, de holdoverenvelop van ePRTC-A en de tijdfoutbudgetten; de holdover rapporteert de kleinstekwadraten-frequentieoffset die het systeem vasthield, en het herstel of en wanneer |TE| binnen een opgegeven band kwam en daar gedurende een opgegeven verblijftijd bleef, met de piek en de grootste stap. Elke limiet is die welke het soort telecom-timing transcribeert; de twee tijdstippen zijn de verklaring van de exploitant en worden niet geverifieerd |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Handberekening op records die zijn opgebouwd uit formules waarvan helling, stap, extremum en hersteltijd vóór de run bekend zijn (de tests vermelden ze), en de maskers, omhullende en budgetten van de telecomtijdsynchronisatierijen hierboven. Er is geen laboratoriummeting van een echte holdover beoordeeld en geen extern orakel vergeleken, dus de soort doet geen claim over enige klok of enig systeem; een tijdlabpartner is nodig voordat enig cijfer per klokklasse zou kunnen worden bevorderd | holdover_test (HoldoverTestScenario, recovery, linear_fit); telecom_timing (check_mask, check_envelope, budget_results) | 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; a_record_with_no_baseline_says_so; bad_inputs_are_refused_with_the_reason; the_report_carries_the_label_the_units_and_no_conformance_word; a_ptp4l_log_is_scored_end_to_end) |
| Beschikbaarheid van GNSS-signalen in het Space Service Volume en daarbuiten, vergeleken met het ICG SSV-boekje | De beschikbaarheidssweeps van het soort gnss-ssv: per constellatie (GPS, GLONASS, Galileo, BDS, QZSS, NavIC) en gecombineerd, het aandeel van (gebruiker, epoch)-paren met ten minste één en ten minste vier signalen en de langste uitval, voor een gebruiker op een bol (de wereldwijde schil van 2,562 punten van het boekje, 14 dagen met 1 minuut) of op een baan (GEO, HEO, maantransfer), uit de Kepler-banen van bijlage C van het boekje, een constant minimaal uitgestraald vermogen binnen de referentiehoek buiten de boresight, aardblokkade door de bol plus 50 km en een drempel voor C/N0; gebruikersantennes uit tabel B10 van het boekje |
ExternalDataset | een deelclaim wordt extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Het ICG Space Service Volume-boekje (UN OOSA ST/SPACE/75, 2018), zelf een simulatie, vergeleken onder een preregistratie die vóór de run is vastgelegd (xval/gnss-ssv/PREREGISTRATION.md; resultaten in xval/gnss-ssv/RESULTS.md, vastgezet door tests/ssv_booklet_results.rs, inclusief missers). Run 1 op de vooraf vastgelegde lezing: de constanten voor minimaal uitgestraald vermogen en de maandrempel komen overeen (S0, S6 gehaald); de drempels voor boven- en onder-SSV, RF-drempel, GEO en HEO zijn NOT MET, bijna allemaal via GLONASS, waarvoor het boekje 20 en 28 graden geeft in tabellen B2 en B6 en 26 en 34 graden in tabel 4,2. Een diagnostische variant met de hoeken van tabel 4,2 komt overeen in elke cel van de bovenste SSV, onderste SSV en de zes GEO-missies (ze vervangt run 1 niet; RF-, HEO- en maancellen missen nog steeds). De gemeten GPS L1-paneelpatronen worden niet gereproduceerd door de parametrische vervanger (RMS 6 tot 9 dB tegen een drempel van 3 dB). Overeenstemming toont aan dat de vermelde methode van het boekje wordt gereproduceerd, niet dat GNSS-signalen zich zo gedragen | ssv (constellations, geom, sweep, pattern, check) | 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 (a_small_shell_run_is_internally_consistent; pdop_of_a_regular_tetrahedron_like_set_is_finite_and_a_flat_set_is_not); ssv::pattern::tests (table_b10_antenna_reads_as_gain_against_angle_from_the_boresight) |
Effecten van ionosfeer, plasmasfeer en atmosfeer langs de rand op strijkende GNSS-signalen, en het ontwerp van een ontvanger voor zwakke signalen, in het soort gnss-ssv |
Een Chapman-ionosfeer, een plasmasfeer van het Gallagher-type en een neutrale atmosfeer (buiging door refractiviteit, zuurstofabsorptie, defocussering) geïntegreerd langs de rechte straal tussen zender en gebruiker: scheve totale elektronendichtheid, het plasmasferische deel daarvan, extra vertraging, raakhoogte en het verlies op strijkende verbindingen; en een ontwerp van een ontvanger voor zwakke signalen (coherente en niet-coherente integratie, databitlimiet, ondersteuning, Doppler-zoektocht) dat de C/N0-drempel bepaalt uit de modellen voor acquisitie en volglus | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Gesloten vormen en gepubliceerde grootheden in de tests (de piek van een Chapman-laag en de buiging van de oppervlaktelimb, enkele TECU plasmasfeer op een GPS-naar-GEO-straal); het ontwerp van de ontvanger hergebruikt de acquisitie- en trackinglusmodellen en hun tests. Er zijn geen gemeten limbsounding- of zwaksignaalontvangstgegevens mee vergeleken | ssv (limb, weak) | 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 (longer_integration_lowers_the_acquisition_threshold; aiding_narrows_the_search_and_the_loop; a_conventional_receiver_is_far_above_the_ssv_signal_levels); ssv::scenario::tests (the_limb_medium_adds_statistics_and_can_cost_signals; a_weak_signal_receiver_replaces_the_fixed_threshold) |
| Navigatiefilter aan boord met GNSS voor ruimtevaartuigen in hoge banen en maantransfers | De modus [navigation] van het soort gnss-ssv: een uitgebreid Kalman-filter met negen toestanden (positie, snelheid, klokbias en -drift van de ontvanger, een schaal voor de stralingsdruk van de zon) op pseudoafstanden waarvan de beschikbaarheid, ruis en C/N0 uit dezelfde verbindingsgeometrie komen als de sweeps; de referentie wordt geïntegreerd met J2, derdelichaamseffecten van zon en maan en stralingsdruk met schaduw, het filter modelleert J2 en de derde lichamen en schat de stralingsdruk; rapporteert positie- en snelheidsfouten binnen en boven de GNSS-banen, het langste meetgat en de gemiddelde NEES |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Gesimuleerde waarheid tegen de eigen schatting van het filter (de gemiddelde genormaliseerde gekwadrateerde schattingsfout van een consistent filter is ongeveer 3 voor de positie) en determinisme bij een vaste seed. Er zijn geen vlucht- of opgenomen GNSS-gegevens van hoge banen vergeleken; de Zon en de Maan zijn circulaire vervangers met lage precisie | ssv::nav (run_nav, Ekf) | 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 (navigation_and_formation_run_and_report) |
| Relatieve navigatie van een formatie van meerdere ruimtevaartuigen in een sterk elliptische baan met GNSS | De modus [formation] van het soort gnss-ssv: een chief en deputies voeren elk het absolute filter uit; de positie van de deputy ten opzichte van de chief wordt geschat door de absolute schattingen af te trekken en door een relatief filter op enkelvoudig verschillende pseudoafstanden van de signalen die beide vaartuigen volgen, waarbij de relatieve dynamica het verschil van twee niet-lineaire trajecten is |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Dezelfde gesimuleerde waarheid als het absolute filter: de fout van het relatieve filter tegen de ware relatieve toestand, en de controle dat het minstens zo goed presteert als het aftrekken van twee onafhankelijke absolute positiebepalingen. Er zijn geen vluchtgegevens van formaties vergeleken | ssv::formation (run_formation, RelEkf) | 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) |
Foutenbudget voor navigatie en tijdsynchronisatie van een keten van missiefasen van lancering tot terugkeer (mission-thread) |
De soort mission-thread: een document met fasen, elk een van acht geregistreerde soorten, in volgorde uitgevoerd, waarbij de 6x6-covariantie, de klok en het referentiestelsel worden doorgegeven volgens een vermelde regel (carry; inflate, witte versnellingsruis over een vermelde onderbreking op een model met rechte lijn; reacquire, koppelnavigatie en daarna de bronvloer, nooit eronder, nooit een reset); omzettingen van referentiestelsel GCRF, MCI en MCMF en omzettingen van tijdschaal via TT, elk een eigen budgetrij, met de toestand van de maan uit een optionele DE440-kernelsnede en de analytische reeks als vermelde terugval; de marge ten opzichte van een vermelde eis, de zwakste schakel, de gebeurtenissen en een tijdlijnfiguur. Elk getal is een vermelde invoer of een model daarvan |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — Handberekeningen in de tests (de groei van de covariantie langs een rechte lijn, de gemiddelde siderische rotatie, de seculiere klokgang van de maan) en, alleen voor de toestand van de maan, de vastgelegde DE440-kernelsneden tegen vastgezette JPL Horizons-waarden (slechtste 2,6 m en 7e-6 m/s). Er worden geen missiedata met de keten vergeleken; de fasen ervan zijn rijen op zich. Het document is een vermelde keten met ILLUSTRATIVE invoer, alleen openbare bronnen en zonder goedkeuring van een ruimtevaartorganisatie | mission_thread (scenario, handover, conversions, budget, phase) | 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; mission_thread::handover::tests::inflate_never_shrinks_a_sigma_and_matches_the_hand_calculation; mission_thread::handover::tests::reacquire_sets_an_axis_to_the_floor_only_where_the_floor_is_smaller; mission_thread::conversions::tests::mci_mcmf_round_trip_returns_the_state_and_the_covariance; mission_thread::conversions::tests::tt_to_ltc_shifts_bias_and_drift_by_the_secular_rate_and_back; mission_thread::conversions::tests::the_committed_kernel_cuts_agree_with_pinned_horizons_values; tests/field_units_global.rs (het eenhedenblok van het rapport) |
Lancering en opstijging naar een parkeerbaan met GNSS-acquisitie en signaalverlies (launch-ascent) |
De fase launch-ascent: een covariantie van positie en snelheid bij constante snelheid met witte versnellingsruis (de klasse van koppelnavigatie), een GNSS-positiebepaling van vermelde nauwkeurigheid die na de acquisitietijd en buiten vermelde signaalverliezen wordt toegepast, een klok met bias en drift die door dezelfde positiebepalingen wordt gestuurd, en de toestand bij insertie in de parkeerbaan |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — De stationaire Riccati-toestand en de handberekening van de voorspelling in de tests. Niets hier modelleert een draagraket of een ontvanger; elk getal is een vermelde invoer | mission_thread::earth::launch (LaunchAscent) | 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; mission_thread::earth::launch::tests::a_phase_that_does_not_list_gnss_never_uses_it; mission_thread::earth::launch::tests::bad_models_and_entries_are_refused; mission_thread::earth::filter::tests::repeated_updates_reach_the_riccati_steady_state |
Relatieve navigatie naar de koppelingsenvelop in een lage baan om de aarde over sensortrajecten (leo-rendezvous) |
De fase leo-rendezvous: de relatieve toestand in de LVLH-assen van het doel met de Clohessy-Wiltshire-overgang in gesloten vorm, een 6x6-Kalman-covariantie met witte versnellingsruis en positie-updates waarvan de variantie die van de sensor op de actuele afstand is, over trajecten van een vermelde sensor (ILLUSTRATIVE optische camera, lidar en radioafstandsmeting); het koppelvenster is de tijd vanaf het moment waarop de relatieve sigma binnen de vangenvelop blijft tot het einde van de fase. De absolute covariantie van de achtervolger wordt ongewijzigd doorgegeven en een rij zegt dat |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — Een eenassige handberekening van de voorspelling en de update in de test; de Clohessy-Wiltshire-overgang is degene die cw_dynamics tegen een onafhankelijke numerieke integratie controleert. De sensoren zijn ILLUSTRATIVE en er wordt geen echt rendez-vous vergeleken | mission_thread::earth::rendezvous (LeoRendezvous); cw_dynamics; mission_thread::sensors | 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; mission_thread::earth::rendezvous::tests::the_covariance_recursion_matches_a_one_axis_hand_calculation; mission_thread::earth::rendezvous::tests::bad_models_and_a_duration_mismatch_are_refused; mission_thread::sensors::tests::the_cross_range_error_grows_with_range_and_the_floor_dominates_up_close |
Trans-lunaire injectie en cislunaire vlucht: voortgeplante gemiddelde toestand en covariantie met trackingupdates (tli-and-cruise) |
De fase tli-and-cruise: de gemiddelde toestand met de Cowell-propagator van de engine (aarde als puntmassa en J2, zon en maan als derde lichamen, de maan uit de DE440-kernel van de keten waar die het segment dekt en de zon uit de analytische reeks); de covariantie met een voorwaartse-differentie-toestandsovergangsmatrix van die voortplanting (de nominale run en zes verstoorde runs per segment) met witte versnellingsruis; de grootte en richtingsfout van de TLI-brandperiode; gnss-ssv-positiebepalingen waarvan de beschikbaarheid en PDOP uit de sweep van het ruimteservicevolume langs een osculerende baan komen die de boog vervangt; afstands- en afstandssnelheidstracking langs de geocentrische richting, geschaald met de bezettingsgraad van het grondnetwerk, met de update in Joseph-vorm |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — De stelling van Liouville (de determinant van de toestandsovergangsmatrix van het conservatieve deel is één) en een fijnere differentie in de tests; de gemiddelde toestand wordt vergeleken met een openbaar traject in de rij hieronder, dat hij mist. De brandfout, de updates en de covariantie worden met niets vergeleken | mission_thread::earth::tli_cruise (TliCruise); propagator; ssv::sweep | 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_of_the_entry_and_the_burn; mission_thread::earth::tli_cruise::tests::range_tracking_shrinks_the_line_of_sight_and_leaves_the_plane_of_the_sky; mission_thread::earth::tli_cruise::tests::the_thread_kernel_serves_the_moon_inside_its_window_and_the_series_outside; mission_thread::earth::tli_cruise::tests::gnss_ssv_fixes_are_applied_where_the_sweep_finds_four_signals; mission_thread::earth::tli_cruise::tests::a_phase_that_lists_a_source_the_model_lacks_is_refused_and_unknown_keys_too |
Covariantie bij het terugkeerinterface, corridorkans, piekvertraging en landingsvoetafdruk (entry) |
De fase entry: de terugkeervlucht van tli-and-cruise zonder brand, eindigend bij het terugkeerinterface; de baanhoek en zijn sigma uit de volledige covariantie met een eindige-differentiegradiënt; de kans dat de hoek binnen een vermelde corridor ligt; de piekvertraging bij de nominale hoek en bij beide corridorranden uit de vlakke ballistische puntmassa-terugkeer van de engine (skip-out gedetecteerd) naast de gesloten vorm van Allen-Eggers; de landingsvoetafdruk uit een vermelde gevoeligheid voor de afstand in vliegrichting en de covariantie bij het interface dwars op het baanvlak. Er wordt geen lift, geleiding of verhitting gemodelleerd |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — Handberekeningen in de tests (de sigma van de hoek is de loodrechte snelheidssigma gedeeld door de snelheid; de gaussische massa in een corridor). De vlakke terugkeer is die van de engine zelf en de vorm van Allen-Eggers is een vergelijking in gesloten vorm; er wordt geen gevlogen terugkeer vergeleken | mission_thread::earth::entry (Entry); reentry | 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; mission_thread::earth::entry::tests::the_phase_reports_the_interface_the_corridor_the_peaks_and_the_footprint; mission_thread::earth::entry::tests::the_steep_edge_peaks_higher_and_a_limit_below_it_is_flagged; mission_thread::earth::entry::tests::bad_corridors_unknown_keys_and_burn_keys_are_refused |
Dekking van het grondnetwerk en trackingbezetting voor een fase van de keten ([ground_network] van mission-thread) |
De overlay van het grondnetwerk: stations met een minimale elevatie, het zicht op het voertuig bij een vermelde geometrie (de terugkeertoestand tweelichamen gevlogen met J2, de positie van de maan voor de vlucht, of een vermelde bezettingsgraad), stationsoverdrachten die elk een vermelde tijd kosten, en de resulterende bezettingsgraad die aan de updatefrequentie van de grondtracking van de fase wordt doorgegeven; het langste interval zonder station in zicht is een budgetrij | InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — Controles van de geometrie van zenit en antipode en het verwachte zicht op een ver doel in de tests. Er wordt geen echt netwerk, geen antenne en geen schema gemodelleerd | mission_thread::earth::ground_network | 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_stations_most_of_the_time; mission_thread::earth::ground_network::tests::handover_losses_reduce_the_duty_and_never_below_zero; mission_thread::earth::ground_network::tests::a_stated_duty_is_passed_through_and_bad_documents_are_refused; mission_thread::scenario::tests::the_overlay_sets_the_tracking_duty_of_a_phase_that_lists_ground_tracking |
Relatieve navigatie tot koppeling in een maanbaan (lunar-orbit-rendezvous) |
De soort en fase lunar-orbit-rendezvous: een gezamenlijke batch-Gauss-Newton-schatting voor twee voertuigen over de boog (eenentwintig parameters: beide toestanden en blijvende positiebiassen in het signaal in de ruimte, gemeenschappelijk en onafhankelijk), opgebouwd over een kwart, de helft en de hele boog met staphalvering, uit een absolute positiebepaling per voertuig (AFS-pilootcode-trackinggrens, ILLUSTRATIVE relaisset) en een crosslink-afstand, onder het maankrachtenmodel van de crate; de gemiddelde genormaliseerde gekwadrateerde schattingsfout, de Clohessy-Wiltshire-controle op een cirkelbaan en de doorgegeven 6x6-covariantie |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — Zelfconsistentie onder een preregistratie (xval/mission-thread-lunar/PREREGISTRATION.md, resultaten en de geschiedenis van de schatter in RESULTS.md): de gemiddelde NEES van de relatieve toestand is 5,85 tot 5,93 tegen de band 5,2 tot 6,8 in vier configuraties, MET bij het vierde schatterontwerp nadat drie ontwerpen met een opeenvolgend filter hadden gemist; de referentie en de schatter delen één krachtenmodel, dus dit zegt niets over modelfouten. De propagator die ze delen wordt in een rij hieronder met LRO en CAPSTONE vergeleken | lunar_rendezvous (LunarRendezvousScenario); lunar_phase; mission_thread::lunar | 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; lunar_rendezvous::tests::same_seed_gives_identical_documents; lunar_rendezvous::tests::b6_handover_without_a_measurement_only_propagates; mission_thread::lunar::tests::every_phase_runs_and_returns_a_modelled_outcome; tests/mission_thread_lunar_oracles.rs |
Budget voor landingsspreiding bij een maanpoollocatie (lunar-descent) |
De soort en fase lunar-descent: een traagheidsfoutenmodel met vijf toestanden per as (positie, snelheid, versnellingsmetersbias, kanteling, gyrobias) over een aangedreven afdaling, ondersteund door AFS-positiebepalingen (zelfstandig of differentieel, met het klokondersteunde geval met drie relais), een terreinrelatieve positiebepaling (de terreinnavigatie-matcher van de engine op synthetisch reliëf, of een Cramér-Rao-grens op een LOLA-DEM met een regel voor het aperture-probleem) en maantijd, met een Monte Carlo-ellips voor de landingsplaats |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — De traagheidsdrift in gesloten vorm, de eigen resultaten van de hergebruikte soorten en de kalibratie van de 3-sigma-ellips (het deel erbinnen komt overeen met de verwachting) in de tests. Er wordt geen gevlogen of beproefde landing vergeleken | lunar_landing (LunarLandingScenario); lunar_phase; terrain_nav | 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; lunar_landing::tests::a_plane_gives_no_fix_the_aperture_problem; lunar_landing::tests::a_bowl_matches_the_closed_form_bound; lunar_landing::tests::three_relays_make_the_fix_depend_on_the_clock |
Beschikbaarheid van positiebepaling en tijdsynchronisatie op het oppervlak per locatie en seizoen bij de maanpolen (lunar-surface) |
De soort en fase lunar-surface: relaisbeschikbaarheid en PDOP, zicht op aarde en zon en een gestuurde oppervlakteklok voor elke locatie en elk seizoen, met de terreinhorizon van moonlight-service-volume; een run voor één locatie is bitgelijk aan de beschikbaarheid en PDOP van die soort |
ReferenceImpl | gecontroleerd tegen een afzonderlijke implementatie in dezelfde codebase — onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Exacte gelijkheid met de bestaande soort voor één locatie, en monotoniciteitscontroles, in de tests. De relaisset is ILLUSTRATIVE en er wordt geen oppervlaktemeting vergeleken | lunar_surface_map (LunarSurfaceMapScenario); lunar_phase | 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; lunar_surface_map::tests::timing_is_at_least_either_source_and_the_season_moves_the_earth_and_sun; lunar_surface_map::tests::same_inputs_give_identical_documents |
Aangedreven opstijging van een maanpoollocatie naar een insertiebaan (lunar-ascent) |
De soort en fase lunar-ascent: het traagheidsfoutenmodel met vijf toestanden per as, uitgevoerd over een aangedreven opstijging met specifieke kracht langs het pad, ondersteund door AFS-positiebepalingen en maantijd, dat de covariantie van positie en snelheid bij insertie rapporteert die naar de baan wordt meegenomen en de spreiding bij motoruitschakeling (gerapporteerd, niet meegenomen) |
InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — De traagheidsdrift in gesloten vorm en monotoniciteitscontroles in de tests. Er wordt geen gevlogen opstijging vergeleken | lunar_ascent (LunarAscentScenario); lunar_phase | 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; lunar_ascent::tests::a_stale_tt_clock_costs_a_three_relay_fix; lunar_ascent::tests::the_same_inputs_give_identical_documents |
| De voortplanting met het maankrachtenmodel tegen openbare gereconstrueerde trajecten van maanorbiters en cislunaire trajecten | De propagator die de maansoorten delen (GRAIL GL0660B graad en orde 150, aarde en zon als derde lichamen, relativiteit, DE440-maanoriëntatie) vergeleken met de openbare JPL Horizons-trajecten van LRO (24 uur, samples van 10 minuten) en CAPSTONE (één omloop van 6,5 dagen, samples van een uur), onder drempels die vóór de run in een vastgelegd bestand zijn vastgezet | ExternalDataset | een deelbewering wordt extern gecontroleerd, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — JPL Horizons-ephemeriden van ruimtevaartuigen voor LRO en CAPSTONE, tegen drempels die vooraf zijn vastgelegd in xval/mission-thread-lunar/PREREGISTRATION.md (Amendementen 1 tot 6). LRO: MET, 33 m grootste 3D-verschil en 2,4 m RMS radiaal tegen 500 m en 60 m. CAPSTONE: NOT MET, een eindpositieverschil van 136,8 km tegen 25 km en een periapsisverschil van 28,4 km tegen 10 km, de oorzaken niet afgezonderd. De rij is gemodelleerd omdat de CAPSTONE-drempel is gemist en de vergelijking de gedeelde propagator test, geen filter, signaal of budget | lunar_od (LunarForceModel); precise_od; mission_thread_lunar_oracles (voorbeeld) | 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 |
De voortplanting van de gemiddelde cislunaire toestand tegen het openbare traject van Artemis I (tli-and-cruise) |
De voortplanting van de gemiddelde toestand van de fase tli-and-cruise (Cowell, aarde als puntmassa en J2, zon en maan als derde lichamen, de maan uit een DE440-snede) vergeleken met het openbare JPL Horizons-traject van Artemis I over een vluchtboog van 72 uur vanaf 2022-11-16 18:00 TDB, op epochen van 12 uur, onder drempels die vóór de run in een vastgelegd bestand zijn vastgezet |
ExternalDataset | een deelbewering wordt extern gecontroleerd, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — JPL Horizons-doel -1023 (het door de NASA-navigatie als gevlogen vastgelegde traject na TLI), tegen drempels die vooraf zijn vastgelegd in xval/mission-thread/PREREGISTRATION.md (Amendement 1 wijzigt alleen de aangevraagde tijdspanne). NOT MET en als gemist vastgesteld: 45,3 km grootste positieverschil tegen 5 km, en 0,249 m/s snelheidsverschil bij 72 uur tegen 0,05 m/s. Een na het oordeel geschreven diagnose plaatst de misser in vijf impulsieve snelheidsstappen van 0,09 tot 0,22 m/s in de referentie (de vooraf vastgelegde lezing dat het venster geen brand bevatte was onjuist); over de overige 67 uur reproduceert het model de volgende uurtoestand tot een mediaan van 0,38 m. Test alleen de gemiddelde toestand van één vluchtboog: geen covariantie, filter, update of andere fase | mission_thread::earth::tli_cruise; propagator; mission_thread_oracle (voorbeeld) | 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; tests/mission_thread_oracle.rs::the_kernel_cut_and_the_recorded_inputs_match_their_hashes |
| Foutentermen van een koudeatoominterferometer: Raman-laserfaseruis, bias door golffrontkromming en oplossen van de streepambiguïteit | inertial::cai_error_terms (bibliotheekfuncties, nog niet bereikbaar vanuit een scenariosoort): de weegfunctie van de Raman-fase van een interferometer met drie vierkante pulsen (Cheinet et al. 2008, Verg. 8) met de gesloten vorm voor witte fase (pi/2)^2 S_phi0/tau_R en een numerieke route voor elk spectrum; de laserfrequentieruis die de vertraging van de retroreflectie niet opheft (Le Gouet et al. 2007, Verg. 9 tot 11); de zuivere defocusbias van het golffront sigma_v^2/R van een thermische wolk en de vermindering ervan door een detectiestraal; de kans op een verkeerde streepindex erfc(pi/(sqrt(2) s)) voor een ondersteuning door een klassieke accelerometer en voor twee ondervraagtijden, en de inverse ervan | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Elke gesloten vorm tegen een onafhankelijke numerieke route in de tests (kwadratuur in het frequentiedomein van de exacte overdrachtsfunctie en het vertragingsfilter, een Monte Carlo over atomen voor de golffrontbias, een Monte Carlo over shots voor de franje-index) en haar grensgevallen. Eén gepubliceerde uitgewerkte waarde: Cheinet et al. 2008 (arXiv:physics/0510197, Sec. IV) stellen dat bij tau_R = 20 us een witte Raman-faseruis onder -111 dB rad^2/Hz nodig is voor 1 mrad per shot; de witte term alleen geeft 0,99 mrad (het artikel leidt het niveau af met zijn Eq. 17, flicker plus wit). Interne consistentie en één uitgewerkte waarde, geen externe toetsing; aberraties van hogere orde en de ruis van een specifieke laser zijn niet gemodelleerd | inertial::cai_error_terms | 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; cheinet_2008_white_phase_noise_requirement_is_reproduced; delay_term_closed_form_matches_exact_filter_quadrature; defocus_phase_is_position_independent_and_tilt_cancels; curvature_bias_monte_carlo_matches_closed_form; curvature_bias_limiting_cases; classical_aided_resolution_monte_carlo_matches_closed_form; multi_t_resolution_monte_carlo_matches_closed_form; ambiguity_limits_and_inverse) |
| Voorinstellingen voor oscillatorholdover uit openbare datasheets | Vier voorinstellingen — OCXO (Microchip OX-208), rubidium (Microchip 8040C), cesium (Microchip 5071A high-performance tube) en CSAC (Microchip SA.45s) — elk met de maxima van de Allan-deviatie, veroudering en temperatuurgrens van zijn datasheet; een niet-negatieve kleinstekwadratenfit van frequentieruis met wit + flicker + random walk, geschaald om elk punt van de datasheet te omhullen, een flickerondergrens nooit onder het cijfer bij de langste τ, lineaire veroudering en een sinusvormige temperatuurterm, gesynthetiseerd als een gezaaide holdover na een GNSS-verlies | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — De vier genoemde Microchip-datasheets (documentnummers en URL's in elke voorinstelling en in docs/TELECOM-TIMING.md) voor de invoercijfers; de verouderingsramp in gesloten vorm en de omhullende-eigenschap van de fit als interne controles. Hoe de cijfers een ruismodel worden — de fit, de vloerregel, de maand van 30 dagen, de lineaire temperatuurlezing — is een modelleerkeuze; geen voorinstelling is een meting van een eenheid. 0,30 ronde 2, eenzijdige drempels tegen gemeten eenheden (vooraf vastgelegd a01c491c), een bevinding (blijft MODELLED): de IGS-station THU2 Symmetricom 8040C in de definitieve ESA MGEX-klokken heeft een Allan-deviatie van 0,35 tot 0,87 van de rubidiumvoorinstelling maar een holdoverfout van 1,07 tot 1,60 ervan; het record van de 5071A ligt buiten de cesiumvoorinstelling tot 1000 s (meetwitte faseruis, 30x bij 1 s) en in holdover (1,15 tot 8,74); de slechtste productie-SA.45s van 2011 is 1.26x de CSAC-voorinstelling bij 1 s; de OX-208 heeft geen gemeten record (geblokkeerd) | telecom_timing (PRESETS, fit_noise, with_flicker_floor, synthesize_holdover); models (ClockModel) | telecom_timing::tests (every_preset_carries_a_named_datasheet_and_figures; the_noise_fit_envelopes_every_datasheet_point; pure_aging_matches_its_closed_form — de discrete verouderingsramp binnen 0,1 % van (1/2)·D·t² over een dag; same_seed_same_series_and_hash_different_seed_different_series); tests/oscillator_presets_measured.rs (caesium_finding_pinned; rubidium_finding_pinned; csac_finding_pinned; ocxo_preset_has_no_measured_record) |
| Seconden tot een vrijlopende klok de guard van een tijdgeïndexeerd slot verlaat, en de cadans van positiebepalingen die haar erbinnen houdt | Het soort slot-timing: de voorspelde fout E(t) = k·√(σ₀² + σ_x²(t)) + (|y₀| + |c_T·ΔT|)·t + ½|D|t² omgekeerd voor de overschrijding, de resterende tijd, het hersynchronisatie-interval na aftrek van de latentie van de positiebepaling en positiebepalingen per dag, elke term uitgesplitst met de overheersende genoemd; klokken uit de zes standaardwaarden van ClockClass (TCXO, OCXO en RAFS toegevoegd, elk met verwijzing naar één datasheet), de voorinstellingen voor telecom-timing, een inline datasheet of een gemeten opname; een overschrijding voorbij de langste middelingstijd van de bron wordt als geëxtrapoleerd gemarkeerd |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Gesloten vormen voor elke term afzonderlijk en de onafhankelijke wortelzoeking holdover::holdover_seconds; de datasheetcijfers zijn de genoemde documenten (docs/SLOT-TIMING.md). Een klassestandaard berust op een aangenomen rode-ruisvloer en een datasheetbron is een omhullende van maxima, dus geen van beide is een meting van enige eenheid | slot_timing (predicted_error_s, breach_after_sync_s, terms_at, slot_budget, ClockNoise::from_datasheet, SlotTimingScenario); clock_state (ClockClass::Tcxo, Ocxo, Rafs, source) | tests/slot_timing_igs_holdout.rs (10 GPS Block IIF-satellietklokken, 14 dagen definitieve IGS-klokken: 8 binnen de drempel van 1,5, G25 en G30 optimistisch tot ongeveer 2x, vastgezet); tests/slot_timing_ocxo_holdout.rs (een gemeten OCXO: voorspelling op achtergehouden data nooit optimistisch, 0,59 tot 0,70 van de gemeten doorbraak; in de steekproef binnen 0,98 tot 1,17; zonder de fix-frequentieterm is de voorspelling in de steekproef optimistisch bij elke drempel); slot_timing::tests (fix_frequency_uncertainty_alone_is_linear_in_time; reduces_to_the_holdover_inversion — elke klasse tegen holdover::holdover_seconds tot 1e-9; white_fm_with_fix_error_has_its_closed_form; flicker_floor_alone_is_linear_in_time; ageing_alone_is_quadratic_in_time; frequency_offsets_add_in_magnitude; the_error_at_the_breach_is_the_guard; datasheet_fit_envelopes_every_point; datasheet_classes_match_their_presets_at_one_second; a_breach_beyond_the_datasheet_is_flagged_as_extrapolated; the_report_carries_the_result_and_a_unit_for_each_field) |
| Beschermingsniveau voor tijdsynchronisatie van een ontvanger in een baan om de aarde onder GNSS-spoofing | orbital_timing::orbital_timing, bereikbaar als de spoofingsectie van de soort slot-timing: baansnelheid en omlooptijd in een cirkelbaan, de langste tijd per overvlucht waarin een spoofer op de grond de satelliet kan bereiken, de ondergrens van de klokondersteunde monitor en de detectielatentie van CUSUM, het voorwaardelijke beschermingsniveau (ondergrens plus uitloop over de latentie), de afwijking die een spoofer met een opgegeven maximale rampsnelheid opbouwt voordat de satelliet zijn dekkingsgebied verlaat of een onafhankelijke controle wordt uitgevoerd, en of elke controle via grondcontact of crosslink onafhankelijk is van één spoofer op de grond |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Reductie naar het bestaande tijdsynchronisatiebeschermingsniveau en de gesloten vormen voor zichtbaarheid bij een cirkelbaan en een bolvormige Aarde. Voorwaardelijk op detectie, één terrestrische spoofer met een vermelde rampsnelheid, een overhead-passage op een niet-roterende Aarde; niet getoetst op een gespoofde ontvanger in een baan | orbital_timing (orbital_timing, visibility_half_angle_rad, max_pass_s, crosslink_neighbour_is_outside_footprint) | orbital_timing::tests (reduces_to_the_terrestrial_tpl — precies tpl::timing_protection_level_ns wanneer de klok geen flicker-, witte-fase- of random-run-term heeft; leo_geometry_matches_its_closed_forms; crosslink_independence_follows_the_footprint; an_independent_check_caps_the_ramp_before_the_pass_ends; a_crosslink_inside_the_footprint_does_not_count; a_ramp_below_the_reference_is_never_detected) |
| Waterfall van het L-bandspectrum met J/S per band en effectieve C/N0 onder een gescripte jammertijdlijn | De soort spectrum: een raster van frequentie bij tijd van de vermogensspectrale dichtheid in de L-band (thermische ruisvloer k T_sys met T_sys = T_ant + 290 K (F - 1), de signalen bij hun minimaal ontvangen vermogens volgens de interfacespecificatie, en jammers met continue golf, smalband, chirp en gematchte ruis met aan- en uittijden), waarbij elke cel gemiddeld is over zijn bin en rij (chirps exact over hele en gedeeltelijke sweeps, jammers naar inschakelduur), de effectieve C/N0 per band = [1/(C/N0) + sum (J/S) kappa]^-1 per rij, J/S per band, J/S binnen de band en een SVG-waterfall met C/N0-balken. Het rapport bevat een kruiscontrole met de keten van de soort jamming op dezelfde linkinvoer |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Reductie naar de anti-jamvergelijking en linkbudget van de bestaande jamming-soort (dezelfde code, aangeroepen op dezelfde invoer), en de gesloten vorm van de ruisvloer k T0 F. De signaalspectra eronder zijn de getoetste rij hierboven; de jammervermogens, tijdlijn en front-endbandbreedtes zijn scenario-invoer, de spectra zijn continu (geen spreidingscodelijnen), en geen automatische versterkingsregeling, blanking of antennepatroon werkt op de jammer in. Er is geen gemeten gejamd spectrum in de repository om het samengestelde model tegen te toetsen. De Q-tabel van de jamming-soort (CW en smalband 1, breedband en gesweept 2 sinds 0,36: de handboekwaarden, vastgezet op de gesloten vormen van navsignal) komt overeen met de CW-waarde van dit model en verschilt van wat het afleidt voor ruis die is aangepast aan C/A (1,5) en voor vlakke nul-tot-nul-ruis zonder normalisatie in de band (2,2); het rapport drukt beide af |
spectrum (SpectrumScenario, SpectrumModel::bin_psd_w_per_hz, SpectrumModel::band_state, effective_cn0_multi_dbhz, system_temp_k, Jammer::power_fraction_in, Jammer::duty) | spectrum::tests (agrees_with_the_jamming_kind_chain — J/S gelijk aan jamming::j_over_s_db en effectieve C/N0 gelijk aan jamming::effective_cn0_dbhz met Q = 1/(R_c kappa) tot 1e-9 dB, en het anker van 32,105 dB van de eigen test van de jamming-soort; noise_floor_is_kt0f; chirp_window_splits_whole_and_partial_sweeps; duty_weights_partial_rows; demo_scenario_runs_and_denies_l1_while_l5_survives; defaults_run_with_no_jammer; bad_inputs_are_refused) |
| Uranus en Neptunus uit Standish Table 1, Pluto, en planeetsnelheden | Posities van Uranus en Neptunus uit Standish Table 1 (de standaard binnen 1800 AD tot 2050 AD), Pluto uit de rij van Table 1 van 1992 die de huidige JPL-pagina niet meer vermeldt, en de heliocentrische snelheid van elke planeet: de tweelichamenafgeleide met de gemiddelde beweging die de elementen impliceren plus het draaien van de ellips door de snelheden van perihelium, inclinatie en knoop | ExternalDataset | een deelclaim wordt extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Gemeten tegen JPL Horizons DE441 (dezelfde vastgelegde fixtures), maar niet getoetst: de vermelde cijfers van Table 1 voor Uranus en Neptunus worden tot 2,0 en 5,2 keer overschreden tegen heliocentrische posities van DE441 (Neptunus haalt ze tegen barycentrische posities, wat doet vermoeden dat de fit niet heliocentrisch was), de pagina vermeldt geen fout voor Pluto, en er bestaat geen gepubliceerde grens voor de snelheden. Tables 2a/2b halen hun eigen cijfers voor Uranus en Neptunus en worden gedekt door de getoetste rij | ephem (standish_state, StandishElements::state_at_mean_anomaly, Planet::Pluto); solar_system (position_label) | tests/solar_system_horizons_reference.rs (standish_table1_uranus_and_neptune_exceed_the_nominal_error: vastgezet op 2,04 en 5,16 keer de nominale lengtefout, onder zes keer; pluto_from_the_1992_row_is_measured_not_validated: binnen 39 boogseconden en 1.14e9 m; standish_velocities_track_horizons_to_one_percent: slechtste 3.7e-3 van de snelheid); ephem::tests (standish_velocity_is_the_derivative_of_the_position; pluto_has_no_table2_row_and_no_stated_error) |
| Posities van de maan en zeven grote manen (Phobos, Deimos, de Galileïsche manen, Titan) | De geocentrische maan uit de reeks van Montenbruck & Gill (waarvan de term van -1.3972 graad per eeuw hem al op het J2000-equinox betrekt), en planetocentrische posities en snelheden van Phobos, Deimos, Io, Europa, Ganymedes en Callisto uit de gemiddelde elementen van JPL Solar System Dynamics in het Laplace-vlak van elke maan, met de snelheid van de gemiddelde lengte afgeleid uit de IAU-snelheid van synchrone rotatie (de tabel drukt de periode met te weinig cijfers af om de fase vast te houden), en van Titan uit het IAU-rotatiemodel (de maan op min de lichaamsvaste x-as op de gemiddelde afstand), omdat de afgedrukte Laplace-vlakrij van Titan Horizons niet reproduceert, zelfs niet op zijn eigen tijdstip | ExternalDataset | een deelclaim wordt extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — Gemeten tegen de satellietefemeriden van JPL Horizons (DE441, MAR099, JUP365, SAT441) vastgelegd in tests/fixtures/solar_system/horizons_satellites_icrf.csv met de query en de ophaaldatum; er bestaat geen gepubliceerde nauwkeurigheid voor gemiddelde elementen of voor de plaatsing van het rotatiemodel, dus de vastgezette drempels vangen regressies en toetsen niet. Gemiddelde elementen laten de resonante en zonne-storingen weg, en de seculiere versnelling van Phobos is niet gemodelleerd | ephem (satellite_state, Satellite, SatelliteMethod, moon_icrf, moon_icrf_velocity); ephem_provider (AnalyticSolarSystem) | tests/solar_system_horizons_reference.rs (moons_track_horizons_to_the_measured_angles: slechtste hoekfout gezien vanaf de planeet over 2000 tot 2040, Phobos 5,65 graden, Deimos 0,38, Io 0,40, Europa 1,63, Ganymedes 0,22, Callisto 0,27, Titan 3,31; geocentric_moon_tracks_horizons: 0,046 graden); ephem::tests (moons_sit_at_their_mean_distance_and_move_at_their_mean_speed); ephem_provider::tests (earth_and_moon_balance_about_their_barycentre) |
| Fysische constanten van elk lichaam in het zonnestelsel en het rapport over het hele stelsel | Body krijgt Mercurius, Venus, Jupiter, Saturnus, Uranus, Neptunus, Pluto, Phobos, Deimos, Io, Europa, Ganymedes, Callisto en Titan (gravitatieparameter, referentiestraal, J2 waar gepubliceerd met de straal waarop die betrekking heeft, IAU-pool en nulmeridiaan), een opzoeking op naam en een BodyFacts-record (NAIF-code, klasse, moederlichaam, equatoriale en gemiddelde straal); de soort solar-system rapporteert ze voor alle achttien lichamen met de posities, lichttijden en een baanspoor over één omloop, waarbij elk lichaam het label VALIDATED of MODELLED draagt |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Transcriptie van gepubliceerde constanten, elk geciteerd waar het is gedefinieerd: gravitatieparameters uit de lichaamsrecords van JPL Horizons en de fysische-parametertabel van JPL voor satellieten, stralen uit de fysische-parametertabellen van JPL (IAU WGCCRE 2015), polen en nulmeridianen van de IAU Working Group on Cartographic Coordinates and Rotational Elements (gemiddelde waarden, zonder de T-snelheids- en periodieke termen), J2 van Smith et al. 2012, Iess et al. 2018 en 2019, en Jacobson 2009 en 2014. Gecontroleerd op interne consistentie (de rotatieperiode van Jupiter tegen de System III-snelheid, elke J2 tegen zijn referentiestraal), niet tegen een extern orakel. 0,30 ronde 2: de GM-waarden zijn overgenomen uit gm_de440 en de elementen van Phobos en Deimos uit pck00011, dus 0 van de 84 constanten van de veertien toegevoegde lichamen verschillen nu van NAIF (was 12), wat een transcriptiecontrole is en niet wordt meegeteld. 0,36: de IAU-lichaamsvaste oriëntatie en de GM van de veertien toegevoegde lichamen zijn afgesplitst naar hun eigen VALIDATED-rij ("IAU body orientation and gravitational parameter of the fourteen added solar-system bodies"); deze rij houdt wat overblijft. J2 en de gemiddelde straal zijn geciteerd, niet getoetst; de posities in het rapport berusten op hun eigen rijen; en de prime_meridian_deg van het rapport voor de Aarde, de Maan en Mars blijft op conventionele constanten (tot 6.6e-3, 2.8e-2 en 9.6e-4 rad van IAU_<BODY>). 0,30 herzieningen: Phobos GM 7.087e5 -> 7.087546066894452e5, Deimos 9.62e4 -> 9.615569648120313e4, Uranus 5.7939506103e15 -> 5.793951256527211e15, Neptunus 6.83509997e15 -> 6.835103145462294e15, Pluto 8.69326e11 -> 8.696138177608748e11 m³/s²; equatoriale straal van Phobos 13,1 -> 13,0 km; prime_meridian_deg bevat nu de kwadratische en periodieke termen | body (Body::by_name, Body::facts, Body::prime_meridian, SOLAR_SYSTEM, BodyFacts); solar_system (SolarSystemScenario, position_label) | 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 (defaults_report_all_eighteen_bodies_with_tracks; earth_heliocentric_distance_is_one_au_and_period_one_year; a_planet_track_closes_on_its_orbit_and_starts_at_the_epoch_position; moons_orbit_their_planets_at_their_mean_distance; pluto_outside_its_table_is_an_error_not_a_guess; every_emitted_number_has_a_unit); tests/body_constants_naif_oracle.rs::only_the_conventional_constants_of_other_rows_differ |
| Positiebepaling rond elk lichaam in het zonnestelsel met een lokale constellatie en een deepspace-link vanaf de aarde | De soort body-pnt: een orbiter of een lander op het oppervlak rond een bij naam gekozen lichaam navigeert met enkele-weg-pseudoafstanden van een Walker-navigatieconstellatie rond het lichaam (tweelichamenbanen met de seculiere J2-drift van het lichaam, een onbekende gebruikersklok) en een optionele klokvrije tweewegafstand vanaf de aarde, waarbij de richting en afstand van de aarde bij elk tijdstip uit de analytische efemeride komen; zichtlijnen worden geblokkeerd door de bol van het lichaam en een elevatiemasker aan het oppervlak; per tijdstip de GDOP en PDOP van alleen de constellatie (orbit::dop), de formele positie-onzekerheid met en zonder de aardrij, en gezaaide Gauss-Newton-positiebepalingen (batch_ls::gauss_newton) in beide gevallen, met de lichttijd en de heen-en-terugreistijd van lichaam naar aarde |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Gesloten vormen en zelfconsistentie: de derde wet van Kepler voor de relayperiode, de baanstraal en de oppervlaktestraal die over de run constant blijven, een toegevoegde meting die de formele onzekerheid nooit vergroot, en de gezaaide fouten die overeenkomen met de covariantie. De relaybanen negeren derde lichamen (de aantrekking van Jupiter op relays rond Europa is niet gemodelleerd), de ruis is Gaussisch op vermelde niveaus en het meetmodel is instantaan, dus dit is niet getoetst aan de navigatiegegevens van enige missie | body_pnt (BodyPntScenario, formal_sigma, fix_error); orbit (dop); batch_ls (gauss_newton); mars_pnt (chord_clears_sphere); mars_frame (bodyfixed_to_inertial) | 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; seeded_fix_errors_are_consistent_with_the_formal_sigma: de wortel van het gemiddelde kwadraat van elke positiebepalingsfout gedeeld door haar eigen formele sigma in [0,6, 1,5]; earth_light_time_is_minutes_at_mars_and_the_run_is_deterministic; defaults_run_around_mars_and_every_number_has_a_unit) |
| Dekkings- en dilutie-van-precisiekaarten voor willekeurige multiconstellatieontwerpen op schaal, rond elk centraal lichaam | De soort constellation-design voorbij de twee vastgelegde gevallen: expliciete ontwerpen en ontwerpen met meerdere schillen, meerdere constellaties per run met één ontvangerklok per constellatie, de aarde, de maan en Mars uit de lichaamsconstanten, de BeiDou-voorinstelling (fase van de middelhoge baan en kruising van de hellende geosynchrone baan bij 118 graad O gemodelleerd), per cel de satellieten in zicht, GDOP, PDOP, HDOP, VDOP en beschikbaarheid, gedownsamplede grondsporen, en een voorfilter voor zichtbaarheid op de breedtegraad van het subsatellietpunt dat een ontwerp van 5 000 satellieten op een raster van 10 graad in een fractie van een seconde doorrekent |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Interne consistentie: de brute-force-elevatiescan, de met de hand berekende reducties en die van orbit::dop, en de gesloten-vormgeometrie van Walker en geosynchroon. Tweelichamenbanen met een optionele seculiere J2, een bolvormig lichaam met de lokale verticaal langs de straal, alleen geometrische zichtbaarheid (geen signaalvermogen, satellietgezondheid, terrein of storing door derde lichamen), en de relatieve fase tussen systemen genomen uit verschillende referentie-epochs, dus het is geen momentopname van enige datum. 0,30 beoordeling, een bevinding (blijft MODELLED): de voorinstellingen halen de gepubliceerde eenzijdige ondergrenzen voor DOP-beschikbaarheid (BeiDou OS Performance Standard 3,0, Galileo OS SDD) bij 100 %, maar met de PDOP van de engine verdubbeld in een kladkopie halen ze die nog steeds (slechtste punt 99,36 %), dus de ondergrenzen kunnen zelfs een fout van 100 % in de grootheid die deze rij berekent niet detecteren; ze na de run aanscherpen zou een post-hoc-tolerantie zijn. Bevordering vraagt een tweezijdige vergelijking van DOP-waarden op identieke geometrie met een vooraf vastgestelde tolerantie. 0,30 ronde 2 (tests/coverage_dop_full_oracle.rs, vooraf vastgelegd add671d6), een bevinding (blijft MODELLED): Orekit 12,2-posities, -elevatie, -azimut en -grondsporen met gnss_lib_py 1.0.4 GDOP/PDOP/HDOP/VDOP (gemeenschappelijke klok) en een numpy-inverse (één klok per constellatie) komen overeen op elke drempel voor Galileo, GPS, BeiDou, Galileo+GPS (elk één klok) en een ontwerp met 1584 satellieten rond de Aarde (DOP binnen 2e-14 relatief, identieke positiebepaling, beschikbaarheid en zichtbaarheidsaantallen). Bij de ontwerpen voor de Maan en Mars komen de elementen, posities, zichtbaarheid en sporen overeen, maar overschrijdt DOP de vooraf vastgestelde relatieve drempel van 1e-9 in cellen waarvan de grootste PDOP 1434 of meer is (tot 8e-6), en verschillen 4 cellen een positiebepalingsepoch op numeriek singuliere geometrie (pivot van de engine 1e-10 tegen numpy-rang), dus de rij is niet getoetst. 0,30 herzieningen: de referentieklok voor TDOP/GDOP is nu de constellatie met het laagste nummer in zicht (constellation-multi-gnss-coverage globale GDOP-max 2,2236 -> 2,1205, gemiddelde 1,122 -> 1,131), en zichtbare aantallen per constellatie worden als gehele getallen opgeteld | constellation (coverage, ConstellationDesignScenario, beidou_slots, body_by_name) | constellation::tests (prefilter_matches_brute_force_exactly — elke kaart en teller is gelijk aan een scan met de directe elevatietest; five_thousand_satellites_on_a_coarse_grid — 5.000 satellieten, drukt de looptijd en de bewaarde paartests af; a_clock_per_constellation_needs_one_more_satellite; beidou_geo_and_igso_geometry; lunar_shell_runs_around_the_moon; presets_are_earth_only_and_errors_are_clear; preset_counts); tests/constellation_availability_published_spec_oracle.rs::presets_meet_the_published_dop_availability (alleen regressiecontrole); tests/coverage_dop_full_oracle.rs::finding_is_pinned; tests/coverage_dop_gnss_lib_py_oracle.rs (regressie) |
| Een geketende missie over scenariosoorten heen op één gedeelde tijdlijn | De fasen van de soort campaign: elke fase voert een of meer scenario's van bestaande soorten uit via run_toml, leest hun uitvoer in benoemde kanalen (kloktijdfout en guard, gemiddelde effectieve draaggolf-ruisdichtheidsverhouding en trackingondergrens, verticaal beschermingsniveau en alarmlimiet, positiefout, satellieten in tracking, alarmvlaggen) via voorinstellingen per soort of expliciete resultaatpaden, plaatst ze op het begin van de fase en houdt ze vast op een gemeenschappelijk raster, met fasegrenzen en gebeurtenissen; de toestand wordt doorgegeven met carry (een kanaal gaat verder vanaf de eindwaarde van de vorige fase), handoff (het nummer van een vorige fase wordt in het volgende scenario geschreven) en end_at (een fase eindigt op een tijdstip dat een run heeft berekend, zoals de detectietijd van een spoofingmonitor); een campagnehash en een digest over elk ledenresultaat |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Compositie-identiteiten tegen de zelfstandige runs van dezelfde soorten: een campagne met één fase reproduceert de zelfstandige uitvoer bit voor bit, de meegedragen offset is gelijk aan het eigen laatste sample van de vorige run, en de fase die door end_at wordt beëindigd heeft precies de detectietijd van de run als lengte. De additieve overdracht over een fasegrens en de nulde-orde-houdschakeling zijn modelleerkeuzes, en elke fase is zo goed als de soort die haar uitvoerde; geen geketende missie is vergeleken met een gemeten missie | campaign (run_campaign_detailed, run_chain, presets, extract, to_svg) | 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, a_one_phase_jamming_campaign_reproduces_the_standalone_run_bit_for_bit — het ledenresultaat byte-identiek aan de zelfstandige run en elke uitgelijnde waarde gelijk aan de zelfstandige reeks; the_chained_mission_hands_state_on_and_ends_the_spoofing_phase_on_detection; a_handoff_writes_the_previous_phase_number_into_the_next_scenario; malformed_campaigns_fail_loudly) |
| Parametersweeps en gezaaide Monte Carlo-ensembles over elke scenariosoort | De secties sweep (één tot drie gepunte sleutels van elke soort, op de aswaarden van de generieke sweep, optioneel met een ensemble bij elk knooppunt) en monte_carlo van de soort campaign: realisatie k draait met base_seed + k; elke metriek rapporteert het gemiddelde, de standaardafwijking, de 5e/50e/95e percentielen volgens nearest-rank en een percentiel-bootstrap-betrouwbaarheidsinterval van 95% op het gemiddelde met vaste seed (inertial::metric_stat); metriekeenheden worden gelezen uit het eigen units-blok van de gesweepte soort |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — De gesloten vorm van de fasewillekeurige wandeling onder witte frequentieruis, variantie q_wf tau (NIST Technical Note 1337), voor de statistiekmachinerie, en byte-gelijkheid met de zelfstandige runs voor het zaaien. Het controleert de ensemblerekenkunde op het eigen klokmodel van de engine, niet een externe dataset | campaign (run_sweep, run_monte_carlo, ensemble); sweep (GenericAxis, coords_of, set_dotted_value); inertial (metric_stat) | 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 van een klok met witte frequentieruis die tau = 3010 s uitloopt: het ware gemiddelde 0 binnen het gerapporteerde interval, de halve breedte van het interval binnen 25% van 1,96 sigma/sqrt(n), en de steekproefvariantie binnen het tweezijdige chi-kwadraatinterval van 99% van sigma = sqrt(q_wf tau) = 16,459 ns; calibration ensemble (CAP-10, vooraf vastgelegd ea451cb5, docs/CALIBRATION-ENSEMBLES.md, tests/calibration_ensembles.rs): over 200 onafhankelijke ensembles dekt het interval het ware gemiddelde bij 192 (binnen het 99 %-gebied [181, 197] van Binomial(200, 0,95)) en slaagt de chi-kwadraatcontrole bij 196, terwijl de percentieltolerantie met één seed (p05 en p95 binnen 0,3 sigma) slechts bij 183 van 200 slaagt, NOT MET tegen de vooraf vastgelegde 190, een seedgevoelige controle die is vastgelegd in plaats van versoepeld; a_one_node_sweep_and_a_one_member_composition_read_the_standalone_number) |
| Meerdere scenario's onder gedeelde omstandigheden, met een gecombineerde samenvatting | De sectie compose van de soort campaign: benoemde gedeelde waarden (bijvoorbeeld het vermogen en de positie van één jammer) die in elk lid worden geschreven op de sleutels waaraan ze zijn gebonden, elk lid wordt uitgevoerd, en per metriek de kleinste, grootste en gemiddelde waarde over de leden met vermelding van het lid; metriekeenheden moeten over de leden heen overeenkomen |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Compositie-identiteit tegen de zelfstandige run. De rekenkunde voor gedeelde condities is boekhouding; de fysica is die van de lidsoorten, elk met zijn eigen rij | campaign (run_compose) | tests/campaign_composition_reference.rs (a_one_node_sweep_and_a_one_member_composition_read_the_standalone_number — een compositie met één lid leest het zelfstandige getal en de resultaatdigest) |
| Begrensde optimalisatie van één metriek over campagneparameters | De sectie optimize van de soort campaign (CAP-32): één tot drie gepunte scenariosleutels begrensd tot [lo, hi] op een lin- of log-schaal, één metriek gelezen via een resultaatpad, doel minimize, maximize of target; methode grid (de aswaarden van de sweep) of een deterministische Nelder-Mead-simplex in genormaliseerde coördinaten met boxprojectie en de standaardcoëfficiënten; een ontbrekende of niet-eindige metriek scoort het slechtst en blijft in de trace; bij runs > 1 is de metriek het gemiddelde over gemeenschappelijke seeds; elke evaluatie is een echte run van de genoemde soort, vermeld in trace en meegeteld in de reproduceerbaarheidsdigest |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Alleen intern: de exacte gesloten vorm -20 log10(afstand) van de linkvergelijking, een onafhankelijk brute-force-raster over dezelfde soort, en de Rosenbrock-functie. De 1-D-drempel van ronde 1 is NOT MET (de vooraf vastgelegde box sloot de oplossing van 3 dB uit; de optimaliseerder stopte bij de grens), vastgelegd in docs/design/evidence/cap32-optimize/RESULTS.md en niet opnieuw beoordeeld. Het optimum is lokaal voor de box en de start; geen claim over een globaal optimum | campaign::optimize (run_optimize, nelder_mead) | tests/campaign_optimize_reference.rs (vooraf vastgelegd fbe6c8b3 en, na een protocolmisser in ronde 1, 441f31bc: p2_prime_interior_target_range_matches_the_closed_form — 1-D-doeloplossing binnen 6.1e-15 van r* = r0 10^((m(r0) - 3)/20) in 96 evaluaties; p3_prime_contour_target_grid_and_nelder_mead en p3_grid_matches_brute_force_and_nelder_mead_does_at_least_as_well — het beste van de rastermethode bit-gelijk aan een onafhankelijke brute-force-lus van 41 x 41 over run_toml, Nelder-Mead minstens zo goed in 177 en 161 evaluaties; p4_nelder_mead_reaches_the_corner_maximum; p5_the_document_is_byte_stable_and_counts_agree; p2_round1_not_met_the_box_excludes_the_closed_form, dat de vastgelegde misser van ronde 1 vastzet); campaign::optimize::tests (nelder_mead_meets_the_preregistered_rosenbrock_bar: f* = 1.7e-20 in 234 evaluaties; a_non_finite_score_is_never_the_best; the_grid_mapping_is_the_sweeps) |
| Signaalontwerpen voor positiebepaling, navigatie en tijdsynchronisatie in een lage baan om de aarde: codetracking, acquisitie, GNSS-compatibiliteit en een bandafweging voor elk systeem | De soort leo-signal: geparametriseerde signaalontwerpen (band, zendbandbreedte, ITU-toewijzing; acquisitie-, data- en pilootcomponenten met BPSK(n), BOC(m,n), MBOC of vlakke spectra, vermogensaandelen, FDMA-subdraaggolven, codelengtes en datasnelheden) uit ingecompileerde openbare voorinstellingsbestanden (Xona Pulsar, Iridium STL, Starlink-signaal van gelegenheid, CentiSpace, een generiek C-bandontwerp en generieke UHF/L/S/C/brede-C-ontwerpen, elk met zijn bron-URL en met niet-gepubliceerde waarden gelabeld REPRESENTATIVE) of inline geschreven; per signaal de bandbegrensde vermogensspectrale dichtheid, vermogensfracties in de band, Gabor-bandbreedte, codejitter tegen C/N0 en afstand en de afstandsmetingsnauwkeurigheid, de acquisitiezoekruimte, de detectiekans met kwadratische wet en de gemiddelde seriële en codeparallelle acquisitietijd, de spectrale scheidingscoëfficiënt naar en van GPS L1 C/A, Galileo E1, GPS L5, Galileo E5a, E5b en AltBOC met de C/N0-degradatie, en de J/S-tolerantie voor CW, breedband en gematchte ruis uit de SSC-keten van de soort spectrum; een bandafweging van ionosferische vertraging, vrije-ruimteverlies, afstandsmetingsnauwkeurigheid bij gelijke C/N0 en gelijke EIRP en jammertolerantie; en kwalitatieve vormcontroles van een ontwerp tegen een beschreven meting |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — De getoetste gesloten vormen van de twee rijen hierboven, de kwadratische-wet-identiteit voor valse alarmen P_d(snr = 0) = P_fa en de gemiddelde acquisitietijd van Holmes, en reductie naar de eigen SSC-keten van de spectrumsoort (dezelfde Jammer::ssc-code). De ontwerpen zelf zijn invoer: voorinstellingen gemarkeerd als REPRESENTATIVE of WORKSHOP zijn geen gepubliceerde specificaties, verbeterde Feher-QPSK-, codeverschuivingssleutel- en OFDM-spectra zijn benaderd, en de vormcontroles vergelijken vormen, niet gekalibreerde niveaus. | leo_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) | 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; mean_time_of_a_perfect_detector_is_half_the_cells; compatibility_ssc_magnitudes_match_independent_quadrature; to_spectrum_band_is_consistent_with_the_design; jammer_tolerance_orders_cw_matched_wideband; e5_centred_signal_hits_e5a_and_e5b_equally; defaults_run_on_the_generic_band_preset; inline_signal_and_bad_inputs); tests/leo_signal_reference.rs (elk meegeleverd systeemonafhankelijk scenario draait zonder workshopgegevens, de ionosferische verhoudingen van de bandafweging zijn gelijk aan (f_ref/f)^2 en haar verschillen in vrije ruimte aan 20 log10(f/f_ref), de jitter bij de referentie-C/N0 ligt tussen haar Gabor-grens en haar vorm zonder bandbeperking, de E5-vormcontroles van het scenario met workshopparameters zijn consistent wanneer dat bestand aanwezig is, en geen bronbestand compileert dat bestand mee) |
| Multibandspectrumwaterfall (UHF, L, S, C) met ontworpen signalen en jammers per band | De soort spectrum uitgebreid voorbij de L-band: banden gegeven als voorinstelling van een signaalontwerp (getekend met elke component, bandbegrensd tot de zendbandbreedte, C/N0 en J/S betrokken op de getrackte component) of als een eigen draaggolf en modulatie; extra waterfallpanelen over elk frequentiebereik op dezelfde tijdlijn en kleurschaal; een breedbandjammer (barrage) naast CW-, smalband-, chirp- en gematchte-ruisjammers; J/S en effectieve C/N0 per band uit de ongewijzigde keten van de spectrale scheidingscoëfficiënt |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Reductie naar de bestaande spectrumketen en de anti-jamvergelijking van de jamming-soort (een band met één component geeft dezelfde getallen als vóór de uitbreiding) en de signaalspectra van de getoetste rijen. De jammervermogens, tijdlijn, front-endbandbreedtes en de ontworpen signalen zijn invoer, en een ontworpen signaal wordt afgekapt bij zijn zendband (geen emissie buiten de band). | spectrum (Band::unit_psd, Band::tracked_power_dbw, BandDesign, BandCfg, PanelCfg, SpectrumScenario, Waveform, multi_band_svg); leo_signal (SignalDesign::to_spectrum_band) | tests/leo_signal_reference.rs (de multibandwaterval draait met vier panelen, de UHF-, L5-band-, S- en C-jammers weigeren elk alleen hun eigen band, en een run met een gewone band is door de uitbreiding ongewijzigd); leo_signal::tests::to_spectrum_band_is_consistent_with_the_design; spectrum::tests (agrees_with_the_jamming_kind_chain) |
| Een LEO-PNT-overvlucht en zijn linkbudget per band tegenover de MEO-GNSS-satellieten in zicht | De soort leo-pass: satellieten uit een ontworpen overvlucht, elementen, een TLE via SGP4 of een Walker-constellatie uit constellation-design; per band en tijdstip de kijkhoeken, afstand, afstandssnelheid en afstandsversnelling in gesloten vorm (bij elke run gecontroleerd tegen centrale verschillen en gerapporteerd), vrije-ruimteverlies, EIRP met een isoflux-, gaussisch of vlak patroon, een patch-, halfbolvormige of isotrope gebruikersantenne, gasdemping volgens ITU-R P.676-10 Annex 2, P.618-regen en -scintillatie, P.2109-gebouwindringingsverlies, polarisatiemismatch, systeemruistemperatuur, C/N0, Doppler en Dopplersnelheid, en de eerste-orde vertraging uit een schuine Klobuchar- of verticale-TEC-TEC geschaald met de Chapman-fractie onder de satelliet; ionosfeervrije paren met coderuis op de piek van de overvlucht; Galileo- of GPS-draaggolven uit hun ontvangen vermogens volgens het interfacedocument via dezelfde ontvanger |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Gesloten vormen en zelfconsistentie: de identiteiten voor afstandssnelheid en afstandsversnelling tegen numerieke afgeleiden, de isoflux-versterking die de afstandsgroei opheft, de handboekgrenzen voor polarisatieverlies, de kwalitatieve waarneming LEO-versus-GNSS (een klokvormige passage van minuten die enkele dB boven vlakke GNSS-dragers van 44-51 dB-Hz piekt). De EIRP's en patronen zijn gepubliceerde ontvangen vermogens omgezet in een EIRP of representatieve keuzes, de gasterm is de vervangen vereenvoudigde methode P.676-10, en niets is vergeleken met een gemeten LEO-C/N0 | leo_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) | leo_pass::tests (the_leo_pass_is_a_bell_above_flat_gnss; closed_form_doppler_agrees_with_the_numerical_derivative: onder 0,01 Hz en 0,01 Hz/s; indoor_uhf_suffers_less_building_loss_than_c_band; rain_attenuates_c_band_more_than_s_band; iono_delay_scales_as_one_over_f_squared_across_bands; a_fully_custom_band_needs_no_preset; a_walker_constellation_and_a_tle_satellite_both_run; defaults_run_with_no_preset_named_and_every_number_has_a_unit); leo_link::geometry::tests (kepler_velocity_is_the_derivative_of_the_position; a_designed_pass_reaches_the_requested_elevation; closed_form_range_rate_and_accel_match_central_differences_for_two_body_motion); leo_link::antenna::tests |
| Benoemde LEO-PNT-systeemvoorinstellingen met opgegeven bronnen, en een systeemonafhankelijke engine | leo_link::presets: generiek multiband (UHF, L, S, C), generieke C-band, Xona Pulsar X1/X5, Iridium STL, Starlink als een signaal van gelegenheid met alleen Doppler, CentiSpace en een optionele Celeste IOD-voorinstelling, elk met zijn bron gemarkeerd als PUBLIC (met URL), REPRESENTATIVE of WORKSHOP, waarbij de workshopvoorinstelling in het optionele Celeste IOD-voorinstellingsbestand staat en alleen wordt ingecompileerd als dat bestand bestaat; elke band en baan kan in een scenario worden overschreven, en een scenario hoeft helemaal geen voorinstelling te noemen | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Transcriptie van de geciteerde openbare cijfers en een consistentiecontrole: een EIRP die is vastgesteld uit een gepubliceerd minimaal ontvangen vermogen voorspelt het gepubliceerde maximum binnen 0,5 dB met een vlak patroon. Dat is een controle van de afstandsspreiding, geen validatie van de antenne van enige satelliet; representatieve voorinstellingen doen geen claim over een echt systeem | leo_link::presets (SystemPreset, BandPreset, all, by_id, gnss_meo); leo_pass (resolve_bands) | 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 (the_eirps_reproduce_the_published_minimum_power_at_ten_degrees; a_flat_pattern_lands_the_zenith_power_near_the_published_maximum: binnen 0,5 dB van -139.1 en -136.2 dBW); leo_link::presets::iridium::tests; leo_pass::tests (a_fully_custom_band_needs_no_preset) |
| Positiebepaling met laag energieverbruik: tijd tot de eerste positiebepaling en energie per positiebepaling tegen inschakelduur | leo_link::energy en de sectie [iot] van de soort leo-pass: coherente integratie begrensd door de Dopplersnelheid, niet-coherente sommen met kwadratische wet tot een detectiedrempel, een zoektocht over Doppler-bins over de enveloppe van de statische gebruiker van de baan (koud) of een ondersteund venster (warm), parallelle of seriële codezoektocht, tijd van het navigatiebericht bij een koude start, energie per positiebepaling en batterijlevensduur over positiebepalingsintervallen, voor elke LEO-band en het GNSS-signaal |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Interne consistentie van een vermeld ontwerpmodel: elke vermogens-, drempel- en zoekkeuze is invoer, en het model negeert bit-edge-ambiguïteit, gemiste detectie en heracquisitie. Niet vergeleken met een gemeten ontvanger | leo_link::energy (fix_budget, duty_curve, IotReceiver, IotSignal); leo_pass (iot_section) | 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 (the_run_is_deterministic_and_bad_inputs_are_rejected) |
| Update van het LEO-navigatiebericht midden in een overvlucht met een continuïteitscontrole bij de omschakeling | De analyse midpass-update van leo-navmsg: de hoogste overvlucht boven een gebruiker binnen een zoekspanne, berichten op een globaal schema met gebruiksperioden gecentreerd in hun fitvensters, en bij elke omschakeling de 3D-positiesprong, de kloksprong, de pseudoafstandssprong van de gebruiker, de grootste sprong over elke zichtbare zichtlijn (gesloten vorm over de nadirkegel), de afstandsfout vóór en na, en PASS/FAIL tegen een drempel |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Interne consistentie (de sprongidentiteit en de kegelgrens tegen brute-force-bemonstering). De drempel is invoer; er is geen gepubliceerde LEO-continuïteitseis vastgezet | leo_navmsg (LeoNavmsgScenario::midpass, worst_case_jump, elevation, geodetic_to_ecef) | leo_navmsg::tests::a_mid_pass_update_is_continuous (de afstandssprong van elke omschakeling is gelijk aan de verandering in afstandsfout, en een gecorrigeerde fit van 300 s die elke 150 s wordt bijgewerkt haalt een drempel van 5 cm); leo_navmsg::tests::a_keplerian_only_update_over_a_long_interval_is_flagged; leo_navmsg::tests::worst_case_jump_bounds_every_line_of_sight (de gesloten vorm begrenst een dichte bemonstering van de kegel) |
| Gedocumenteerde binaire codering van het LEO-navigatiebericht met een kwantisatiefoutenbudget | leo_navmsg::codec: het eigen frame van Kshana (preamble, versie, model, lengte, payload, CRC-24Q) voor de vier efemeridemodellen, het klokpolynoom, SVID, issue of data, band, gezondheid, een Klobuchar-set, NeQuick-G-coëfficiënten en UTC-parameters, elk veld met een opgegeven breedte en stap (field_table), kwantisatie met weigering buiten het bereik, en een budget van de grootste positie- en klokverandering die een verandering van een halve stap van elk veld over het geldigheidsvenster veroorzaakt | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Rondreisidentiteiten en het budget zelf. Het formaat is dat van Kshana zelf, gemodelleerd naar de gepubliceerde berichtcomponenten en de veldenset van de Galileo-ICD; het is niet de bitindeling van Celeste of enig ander systeem (geen enkele is openbaar), dus er is geen externe indeling om tegen te toetsen | leo_navmsg::codec (encode, decode, write_payload, read_payload, field_table, quantisation_budget) | 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 (elk model binnen 2 mm van het exacte bericht na decodering, bit-identiek opnieuw gecodeerd, een omgeslagen bit verworpen door de CRC); leo_navmsg::tests::every_field_of_the_budget_stays_under_a_millimetre |
| Exports in RINEX-4-stijl en CSV van LEO-navigatieberichten | leo_navmsg::text: een blok in RINEX-4-stijl (> EPH-recordkop, satelliet- en tijdstipregel met drie kloktermen, D19.12-uitzendbaanregels) met systeemletter L en recordtypen KP16, KRAC, LU22 en APOL, in elke kop gelabeld als een Kshana-extensie die geen deel uitmaakt van RINEX 4,02, en een CSV-tabel met een standaard kolomschema en voorinstellingsschema's, elk met een importer | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Rondreizen en de kalenderrekenkunde. RINEX 4,02 definieert geen LEO-navigatierecords (IGS RINEX 4,02), dus de indeling is een gedocumenteerde extensie met arXiv 2401,17767 als voorafgaand werk geciteerd; er bestaat geen externe lezer ervan om tegen te toetsen | leo_navmsg::text (rinex_export, rinex_import, csv_export, csv_import, calendar, from_calendar) | leo_navmsg::text::tests (calendar_round_trips_and_knows_the_gps_origin; d19_is_rinex_shaped); leo_navmsg::tests::rinex_and_csv_round_trips (elk model binnen 0,1 mm na het tekstblok, de CSV exact) |
| ATOMIC-ECEF-polynoom zonder klok en de synthetische LEO-modelvergelijking met vijf hoogtes | de EcefPoly-variant van leo_navmsg::elements::EphemerisModel: een ECEF-polynoom per as zonder kloktermen, de relativistische term uit -2 r.v/c^2, gescoord tegen een gestuurde klok. Ook de modelvergelijkingsanalyse (liu_comparison over LIU2025_TABLE), die het model met 22 parameters fit op de vijf hoogtes van het artikel over bogen van 20 minuten van een door Kshana geïntegreerde baan en het resultaat naast de gepubliceerde SISRE afdrukt | InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — ATOMIC-modelfeiten uit InsideGNSS (polynoom van de 6e orde, ongeveer één minuut geldigheid, 30 s verversing, klok gestuurd, 24 cm klokfout). Dit zijn beschrijvende feiten zonder gepubliceerde getallen om tegen te vergelijken. De tabel met vijf hoogtes drukt de SISRE van Liu et al. 2025 af (8,88, 6,21, 2,87, 2,11 en 0,75 cm bij 320, 475, 786, 966 en 1336 km over een boog van 20 minuten) naast de Kshana-fit op zijn eigen geïntegreerde baan (4,25, 2,87, 2,20, 1,25 en 0,51 cm; verhoudingen 0,46 tot 0,77), niet vastgezet, omdat het artikel echte precieze banen heeft gefit en de referenties verschillen. Het model met 22 parameters en de fit zelf zijn getoetst aan echte banen in de rij Liu et al. 2025 22-parameter LEO ephemeris model and its fit on real precise orbits. 0,30 herziening: de tabelcijfers verschoven met de fit volgens de conventie van het artikel (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) | leo_navmsg::elements (EcefPoly, ephemeris_at); leo_navmsg (liu_comparison, LIU2025_TABLE) | 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; leo_navmsg::tests::every_preset_resolves_and_the_atomic_preset_selects_the_zero_clock_polynomial |
| Positiebepaling uit LEO-Doppler, met een of meer satellieten, met klokdrift- en snelheidstoestanden | Batch Gauss-Newton-positiebepaling uit afstandssnelheid met analytische partiële afgeleiden (d rho_dot / d r = -(I - u u^T)(v_s - v_u)/rho, d/dv = -u, d/d drift = 1), optioneel een constante gebruikerssnelheid, een hoogtepseudometing voor een gebruiker op het oppervlak, gedempte stappen; de formele covariantie op de referentie; projecties along-track, cross-track en verticaal; de nauwkeurigheid van één overvlucht tegen de cross-trackafstand van de gebruiker; het tijdstip van de dichtste nadering. De modus doppler van de soort leo-pvt voegt de fout tegen vensterlengte toe en een modus met alleen Doppler voor signalen van gelegenheid (de voorinstelling starlink-sop) |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Interne consistentie: ruisvrij herstel, de kinematische identiteit rho_ddot = (|v|^2 - rho_dot^2 + d.a)/rho numeriek gedifferentieerd, nul Doppler bij de dichtste nadering, de spiegeloplossing van een enkele passage, en gezaaide fouten tegen de formele covariantie. Het Starlink-cijfer van Kozhaya, Saroufim en Kassas (NAVIGATION 72(1), 2025: ongeveer 2 m in 20 s met drie satellieten) is alleen een vergelijking: de gemodelleerde ontvanger, met een perfecte efemeride en elke fout in een Doppler-sigma van 30 Hz, is er over hetzelfde venster meerdere malen minder nauwkeurig, en de ontvanger en meetfrequentie van het artikel worden niet gereproduceerd | leo_fusion::doppler (solve, formal_covariance, single_pass_geometry, offset_site, closest_approach); leo_fusion::pvt_kind (run_doppler) | leo_fusion::doppler::tests (range_acceleration_obeys_the_kinematic_identity_and_vanishes_doppler_at_closest_approach; noise_free_multi_satellite_doppler_recovers_the_user: tot 1 mm en de drift tot 1e-6 m/s; a_single_pass_has_a_mirror_solution_across_the_ground_track; the_cross_track_error_grows_as_the_pass_goes_overhead; velocity_states_are_recovered_for_a_moving_user); leo_fusion::pvt_kind::tests (doppler_positioning_improves_with_the_window_and_is_deterministic: de gewogen residu-RMS in [0,8, 1,2] en de fout onder vier formele sigma's); tests/leo_fusion_scenarios.rs (leo_doppler_positioning_forms_a_fix_and_the_cross_track_error_explodes_overhead; starlink_doppler_only_mode_runs_without_ranging); tests/starlink_doppler_published_proxy.rs (een vooraf vastgelegde proxy tegen de gepubliceerde percentielen van dataset 3 van "Unveiling Starlink for PNT", doi:10.33012/navi.685: met 3 satellieten (47 graden masker), geen hoogtehulp en 30 Hz is de p90 3D-fout 92,2 m bij 20 s en 870 m bij 8 s tegen de gepubliceerde 2 m en 10 m, dus beide drempels van een factor twee zijn NOT MET, aan de hoge kant, en vastgesteld als gemist; docs/design/evidence/cap11-starlink-doppler-proxy/) |
| Gezamenlijke positiebepaling met GNSS- en LEO-pseudoafstanden met intersysteembiassen en foutmodellen per signaal | Gauss-Newton-positiebepalingen met gewogen kleinste kwadraten over elke combinatie van systemen, één ontvangerklok per systeem (de intersysteembias wordt samen met de positie geschat) of een bekende uitzendoffset op de referentietijdschaal; sigma's per meting aangeleverd door de aanroeper, standaard de thermische ruis van de delay-lock-loop van de engine (navsignal::dll_code_jitter_chips) bij de C/N0 van de elevatie gecombineerd met de signal-in-space-afstandsfout; ongewogen DOP (GDOP, PDOP, HDOP, VDOP, TDOP) in het lokale geodetische stelsel, formele oost-noord-omhoog-sigma's en de biassigma's; de gezamenlijke modus van leo-pvt vergelijkt positiebepalingen met alleen GNSS, alleen LEO en gefuseerd en sweept de DOP tegen het aantal toegevoegde LEO-satellieten |
InternalConsistency | getoetst aan zijn eigen gesloten-vorm- of analytische identiteit — vangt transcriptie- en coëfficiëntfouten op, maar is geen onafhankelijke referentie — Een met de hand afgeleide DOP met vier satellieten (één satelliet in het zenit en drie op de horizon 120 graden uit elkaar, waarvan de normaalmatrix met de hand te inverteren is), de structurele identiteit dat een systeem met een eigen klok en één satelliet geen geometrie toevoegt, ruisvrij herstel van positie, klok en bias, en gezaaide fouten tegen de covariantie. Alleen interne controles; niet vergeleken met de uitvoer van een ontvanger. 0,30 externe vergelijking, een bevinding (blijft MODELLED): op een multi-GNSS-IGS-dag (ABMF 2018-05-13, GPS en Galileo C1C, broadcast-efemeride, Klobuchar) komt de inter-systeembias overeen met RTKLIB v2.4.2-p13 rnx2rtkp (mediaan verschil -0.11 ns na de 0,30 broadcast-groepsvertragingsfix, -0.35 ns ervoor; drempel 1 ns), maar slechts 93,6 % van 280 epochs (93,2 % vóór de fix) ligt binnen 3 m van de ITRF2020-coördinaat tegen de vooraf vastgelegde 95 %. RTKLIB zelf haalt 88,2 % op dezelfde gegevens, dus de drempel ligt voorbij wat enkelvoudige-frequentie-broadcastpositiebepaling op dit station en deze dag haalt en is geen discrepantie van de oplosser; de vergelijkingstest is vastgelegd als genegeerd. 0,30 ronde 2, strengere invoer bij de ongewijzigde drempel van 3 m / 95 % / 1 ns, een bevinding (blijft MODELLED): met het ionosfeervrije paar Galileo E1/E5a (vooraf vastgelegd 6927e039) ligt 79,9 % van de epochs binnen 3 m (RTKLIB 67,9 %); met precieze CODE MGEX-banen, -klokken, satellietantenne-offsets en codebiases (vooraf vastgelegd 7d8c3597) 94,2 % (RTKLIB 94,1 %), en de inter-systeembias verschilt -1.03 ns van RTKLIB omdat de enkelvoudige modus van RTKLIB satellietantenne-offsets negeert (+0,04 ns wanneer beide ze weglaten) | leo_fusion::joint_pvt (solve, dop, code_sigma_dll_m, SystemClock); leo_fusion::system (SystemCfg, System); leo_fusion::pvt_kind (run_joint) | 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) tot 1e-9; a_lone_satellite_with_its_own_clock_adds_nothing_and_a_known_offset_does; a_noise_free_fix_recovers_position_clock_and_inter_system_bias; seeded_fixes_agree_with_their_formal_covariance; dll_noise_is_the_textbook_figure_for_gps_l1_ca); leo_fusion::pvt_kind::tests (fusing_leo_never_worsens_the_median_pdop_and_the_isb_is_recovered); tests/leo_fusion_scenarios.rs (meo_leo_fusion_beats_gnss_alone_and_recovers_the_leo_bias); tests/joint_pvt_dual_freq_itrf_rtklib_oracle.rs::dual_frequency_finding_is_pinned; tests/joint_pvt_precise_itrf_rtklib_oracle.rs::precise_product_finding_is_pinned |
| Convergentie van precise point positioning met alleen GNSS en met LEO-augmentatie | Een float-PPP-uitgebreid-Kalmanfilter op ionosfeervrije code en fase: statische coördinaten, een witte ontvangerklok, één intersysteembias per extra systeem, een random-walk-zenitale natte vertraging afgebeeld met 1/sin(elevatie), een float-ambiguïteit per satellietboog die bij opkomst wordt toegevoegd en bij ondergang weggelaten, en de precieze baan- en klokfout die code en fase van een satelliet gemeen hebben, verwerkt als één gecorreleerde update met twee rijen in een Joseph-gestabiliseerde vorm; metingen gesimuleerd uit hetzelfde model; convergentietijd (fouten onder de drempels tot het einde van de run), foutcurves en de over de run gemiddelde positie-NEES voor alleen GNSS en elk LEO-geval, uitgevoerd als de soort leo-ppp |
ExternalDataset | een deelclaim wordt extern getoetst, maar de hele mogelijkheid is samengesteld uit gemodelleerde onderdelen, dus de mogelijkheid blijft gemodelleerd — De NEES-chi-kwadraattest is een interne consistentiecontrole (waarheid en filter delen het model). De trend is vergeleken met 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 verkort tot 7,0, 3,2, 2,1 en 1,3 min met 60, 96, 192 en 288 LEO-satellieten. Het meegeleverde scenario geeft 7,4, 4,8, 3,2, 2,7 en 2,3 min met zijn eigen representatieve schillen van 1000 km, 60 graden, ruis en stations; de constellaties, ruis en convergentiedefinitie van het artikel worden niet gereproduceerd, dus dit is een MODELLED consistentie van de trend (monotone verkorting, de grootste constellatie onder een derde van de tijd met alleen GNSS), geen toetsing | leo_fusion::ppp (run, PppScenario, LI_2019) | leo_fusion::ppp::tests (the_filter_is_consistent_over_monte_carlo_seeds: 24 seeds, run-averaged NEES mean in [2,4, 3,6] and at least 75% of epochs inside the two-sided 95% chi-square band; measured with 150 seeds, mean 2,84 GNSS only and 2,87 with LEO; leo_augmentation_shortens_convergence; same_seed_same_answer_and_every_number_has_a_unit); tests/leo_fusion_scenarios.rs (ppp_convergence_of_the_bundled_scenario_shortens_monotonically) |
| Door LEO ondersteunde tijdoverdracht naar UTC tegen C/N0 en de ontvangeroscillator | Klokmetingen van elke LEO-satelliet in zicht op een bekende positie, gecombineerd met inverse variantie uit het pseudoafstandsruismodel, gefilterd door een Kalmanfilter met twee toestanden (fase, frequentie) waarvan de procesruis de witte en random-walk-frequentieruis van de oscillatorklasse is (slot_timing::ClockNoise, clock_state::ClockClass; de uitloopvariantie van holdover::coast_phase_variance), een gezaaide referentieklok uit dezelfde niveaus, en de uitdrukking voor systeemtijd naar UTC uit IS-GPS-200 sectie 20.3.3.5.2.4 met een onzekerheid van de uitzendoffset toegevoegd als bias per run; de modus timing van leo-pvt sweept oscillatoren en C/N0-offsets |
InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Interne consistentie: de gepubliceerde offsetuitdrukking met de hand geëvalueerd, de genormaliseerde fout over 40 seeds en de ondergrens die door de onzekerheid van de offset wordt bepaald. Het NIST-cijfer voor Iridium-ontvangers voor tijdsynchronisatie met een miniatuuratoomklok (minder dan 40 ns ten opzichte van UTC(NIST) over 40 dagen) is uitsluitend een vergelijking; het meegeleverde Iridium-scenario geeft 10 tot 11 ns RMS bij nominaal vermogen met zijn representatieve afstandsfout van 5 m. Flicker-frequentieruis en ionosferische vertraging worden niet gesimuleerd | leo_fusion::timing (simulate, utc_offset_s, system_to_utc_s); leo_fusion::pvt_kind (run_timing) | 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; the_utc_offset_uncertainty_sets_a_floor); tests/leo_fusion_scenarios.rs (leo_timing_error_grows_as_the_c_n0_falls) |
| Benoemde LEO-PNT-systemen als optionele gegevensvoorinstellingen, elk met zijn bron | Systeemonafhankelijke invoer: elk systeem is Walker-schillen, expliciete elementen of een GNSS-voorinstelling, een signaal (draaggolf, chipsnelheid, bandbreedte, ontvangen vermogen of C/N0-bereik), een SISRE, een Doppler-sigma en een klokmodel; voorinstellingen vullen alleen aan wat een scenario weglaat, één bestand per stuk met bronnen gemarkeerd als PUBLIC (met een URL), WORKSHOP of AFGELEID en de niet-gepubliceerde waarden vermeld als representatief: Xona Pulsar X1/X5, Iridium STL, Starlink-signalen van gelegenheid, CentiSpace, een representatief C-bandsysteem, het ATOMIC-efemeridemodel zonder klok, en één van de workshop afgeleide voorinstelling in het optionele Celeste IOD-voorinstellingsbestand, die wordt achtergehouden door dat bestand en zijn scenario's te verwijderen | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Transcriptie van de aangehaalde openbare waarden, gecontroleerd op structuur (elke openbare bron heeft een URL, Walker-patronen delen zonder rest, de C/N0 uit ontvangen vermogen over kT bij 290 K), niet aan een onafhankelijke externe referentie. Representatieve waarden worden per voorinstelling genoemd en zijn illustratief | leo_fusion::presets (all, by_id, cn0_range_dbhz, noise_density_dbw_hz); leo_fusion::system (SystemCfg::build) | 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 (only_the_listed_files_name_the_workshop_preset; workshop_numbers_live_only_in_the_preset_file_and_its_scenarios: source-text scans of src, scenarios and tests); leo_fusion::system::tests (a_preset_fills_what_the_scenario_leaves_out; a_system_needs_no_preset; pseudorange_sigma_falls_with_elevation_and_never_below_the_sisre) |
| Eén LEO-PNT-systeem van begin tot eind: signaalontwerp, linkbudget van de overvlucht, navigatiebericht en gefuseerde positiebepaling, waarbij de uitvoer van elke fase aan de volgende wordt doorgegeven | De soort leo-pnt-chain: een leo-signal-ontwerp (openbare voorinstelling of inline) bepaalt het midden, de bandbreedte, de chipsnelheid en de EIRP-verdeling van een leo-pass-band; de overvlucht geeft per tijdstip de C/N0 van de getrackte component en de bandbegrensde codejitter; een C/N0-lijn met kleinste kwadraten in sin(elevatie), de SISRE van het leo-navmsg-bericht (gefit op de baan van de satelliet van de overvlucht, plus een opgegeven term voor baanbepaling als wortel uit de kwadratensom) en de draaggolf en chipsnelheid van het ontwerp gaan naar elk LEO-systeem van een gezamenlijke leo-pvt-positiebepaling en, optioneel, naar de LEO-gevallen van leo-ppp; elke overdracht wordt gerapporteerd met haar waarde en eenheid |
InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Zelfconsistentie van de overdrachten: elke doorgegeven waarde is gelijk aan de eigen uitvoer van de voorgaande fase, en het wijzigen van een invoer van een voorgaande fase verschuift elk afhankelijk cijfer verderop. De fasen behouden hun eigen labels; de keten voegt geen fysica en geen onafhankelijke externe referentie toe | leo_pnt_chain (LeoPntChainScenario); leo_pass (BandCfg::signal, design_tracking); leo_navmsg (LeoNavmsgScenario::broadcast_sisre); leo_fusion::pvt_kind; leo_fusion::ppp | leo_pnt_chain::tests (a_sine_line_fit_recovers_its_line); tests/leo_pnt_chain.rs (every_upstream_change_moves_the_downstream_figures: a stronger EIRP, a longer fit interval and a larger orbit-determination term each move the handed-on value and the fused fix; the_handed_on_values_are_the_stage_outputs; a_band_design_splits_the_eirp_and_reports_the_design_jitter; the_pass_export_reproduces_the_engine_range) |
| Spoofingdetectie via LEO-Doppler en consistentie van de overvluchtgeometrie | De sectie [spoofer] van de soort leo-pass: een spoofer vervalst, zelfconsistent in afstand en afstandssnelheid, de signalen die op een geclaimde positie worden gezien die springt en/of na een begintijdstip van de ware positie wordt weggeduwd (per LEO-band en voor het MEO-GNSS-signaal); de ontvanger voorspelt elke afstandssnelheid uit de uitgezonden baan en een onafhankelijke eerdere positie en snelheid, en toetst de gemeten afstandssnelheden met een gegeneraliseerde chi-kwadraatstatistiek met kleinste kwadraten over een venster van tijdstippen (klokdrift een storingsparameter of met een prior), op de GNSS-kanalen, de LEO-kanalen en alle kanalen, met thermische ruis van de frequency-lock-loop uit C/N0 (Kaplan & Hegarty 2006, sectie 5.6.2); detectiekans uit de niet-centrale chi-kwadraatverdeling bij een opgegeven kans op vals alarm, detectie verklaard bij een opgegeven kans op gemiste detectie |
InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Gesloten vormen en identiteiten, geen externe meting: de gradiënt van de range-rate ten opzichte van een centraal verschil, de statistiek in informatievorm ten opzichte van de dichte covariantievorm, een zuivere klokdrift die nul geeft, een door de prior verklaarde duw die hoogstens |dx|^2/sigma_p^2 geeft, de statistiek die kwadratisch is in een sprong. Geen detectiecijfer is vergeleken met een gemeten aanval; de spoofer is geïdealiseerd (geen vermogens-, aankomsthoek- of correlatiepiekkenmerk) | leo_link::spoof (range_rate_position_gradient, line_of_sight, fll_frequency_jitter_hz, doppler_consistency_window, doppler_consistency); leo_pass (SpooferCfg, spoof_section) | 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; with_no_prior_and_equal_noise_the_statistic_is_the_scatter_about_the_mean; a_push_the_prior_explains_is_not_detected; a_velocity_push_is_hidden_by_a_loose_velocity_prior_only; the_information_form_equals_the_covariance_form); tests/leo_resilience_verticals.rs (the_monitors_are_silent_before_the_onset; the_doppler_statistic_is_quadratic_in_the_jump; leo_range_rates_see_a_jump_that_gnss_range_rates_do_not) |
| Spoofingdetectie via consistentie tussen de banden van een LEO-signaal met meerdere banden | Voor elke LEO-satelliet en elk paar afstandsmetingsbanden vormt de sectie [spoofer] de geometrievrije pseudoafstandscombinatie, verwijdert het ionosfeermodel van de ontvanger en toetst de stap van tijdstip tot tijdstip tegen de coderuis van de twee banden en een opgegeven getolereerde ongemodelleerde ionosferische snelheid (tweezijdig gaussisch, exacte detectiekans); een spoofer die sommige banden vervalst en andere niet, of elke band zonder de ionosfeer, wordt bij zijn begin gezien; een spoofer die elke band vervalst en de ionosfeer simuleert niet, wat het resultaat vermeldt |
InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Identiteiten: de begin-stap van een ionosfeervrije spoofer is gelijk aan het verschil in gemodelleerde ionosferische vertraging van het paar; de drempel is het tweezijdige normale kwantiel maal de standaardafwijking van de stap plus de snelheidsgrens. Het ionosfeermodel van de ontvanger is dat van de engine, dus het authentieke residu is per constructie gemiddeld nul; geen onafhankelijke externe referentie | leo_link::spoof (cross_band_step); leo_pass (spoof_section: pairs, cross_band) | 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; a_one_band_spoofer_is_seen_by_the_cross_band_monitor_at_the_onset; the_monitors_are_silent_before_the_onset) |
| Ionosfeersondering: schuine TEC uit de tweebandsvertraging van een LEO-overvlucht | Voor elk bandpaar van een satelliet van leo-pass geeft het rapport de schuine totale elektronencontent die de geometrievrije codecombinatie op de piek van de overvlucht oplevert, (P2 - P1) f1^2 f2^2 / (40,3 (f1^2 - f2^2)), en zijn 1-sigma uit de thermische coderuis van de twee banden, zodat elk LEO-PNT-ontwerp met meerdere banden als ionosfeersonde kan worden afgewogen |
InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — De eerste-orde dispersie-identiteit, per constructie exact ten opzichte van de eigen eerste-orde vertraging van de engine (waarvan de 1/f^2-schaling in een eigen rij is VALIDATED aan IS-GPS-200); de precisie is uitsluitend thermische coderuis, zonder meerpad of inter-frequentiebiases. 0,30 ronde 2, gemeten (preregistratie 5e795f93), een bevinding (blijft MODELLED): de globale ionosfeerkaart CODE CODG1330.18I ten opzichte van ABMF C1C/C2W-code met de CODE-biases geeft 33 van 36 boogmiddelen binnen 3 TECU (slechtste +6,84 TECU op een avondboog; RMS per epoch 3,95 TECU), ten opzichte van een drempel van elke boog; niet getoetst aan een onafhankelijke externe referentie | leo_pass (IonoFreePair::geometry_free_stec_tecu, geometry_free_stec_sigma_tecu); leo_link::iono::geometry_free_stec_tecu | tests/leo_resilience_verticals.rs (the_geometry_free_tec_is_the_pass_slant_tec: equals the pass's slant TEC at the peak to 1e-9 and its sigma equals the RSS code noise over 40,3 (1/f1^2 - 1/f2^2)); tests/geometry_free_tec_gim_oracle.rs::geometry_free_finding_is_pinned |
| Maritieme vertrouwensscore: de aggregatie van het bewijs van de monitors tot een score van 0-100 en zijn drie banden | Elke monitor herleidt zijn bewijs tot een verhouding van statistiek tot drempel; de score is 100 min de som over de monitors van het gewicht maal een begrensde lineaire helling van de verhouding (0 tot 0,5, 1 bij 1,5), begrensd tot 0 tot 100 en afgerond op 0,1, met banden bij 90 en 55; elk tijdstip vermeldt de monitors die hebben afgetrokken en hun punten. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Implementatie ten opzichte van de specificatie, NIET een onafhankelijke externe referentie: een clean-room Python-herimplementatie (scripts/maritime_score_cleanroom.py), geschreven door een lezer die alleen docs/RECEIVER-TRUST.md en docs/MARITIME-TRUST.md kreeg en niet de Rust-broncode, komt overeen met score_from_ratios op 600 ratiovectoren (score, band, punten en de volgorde van de aftrekken, verschil 0), nadat de documentatie was aangevuld waar de eerste lezer haar stil of inconsistent vond (volgorde bij gelijke stand, afronding, de ratio van een pass-or-fail-monitor, twee voorbeelden waarvan de getallen niet met de formule overeenkwamen). Dat toont aan dat de documentatie volstaat en dat de code doet wat zij zegt. WAT NIET WORDT GECONTROLEERD, en waarom de rij MODELLED blijft: de regel zelf (de gewichten, de helling, de bandgrenzen, de bewijsvasthouding) is van dit project zelf, vooraf vastgelegd maar zonder externe bron, en niets hier toont aan dat een score van 80 of 40 betekent wat een navigator zou willen dat die betekent bij echte interferentie; een cijfer van dat soort wordt niet gegeven. De drempels van de monitors zijn evenzo van dit project zelf (rij A toetst alleen hun rekenkunde). | receiver_trust (score, monitors, live) | 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 stay at 100) |
| Bron van interferentie: een haalbaar zendergebied uit positiemeldingen van vliegtuigen en schepen | Een haalbaar gebied voor waar een bron van verslechterde navigatiemeldingen zich kan bevinden, uit ADS-B- (NIC/NACp) of AIS-positiemeldingen: radiolijnzicht op een 4/3-aardstraal vanaf de meldingshoogte en een bereik van antennehoogtes van de zender, een beperkt effectief bereik voor het onbekende vermogen, getroffen eenheden die de posterior naar hun bereik trekken en niet getroffen eenheden met lijnzicht die ertegen duwen, gegroepeerd in sessies in tijd en ruimte. De uitvoer bestaat uit gebieden met de hoogste dichtheid op vermelde betrouwbaarheidsniveaus, een posterior-zwaartepunt met een momentenellips, begin, einde, duur van de sessie, getroffen oppervlak en aantal onderscheiden vliegtuigen boven het publicatieminimum, een profiel per tijdstip van de dag en uren per dag. Terreinvrij; één bron per sessie; de geloofwaardigheid hangt van het model af. Optionele fusie met een TDOA-positiebepaling uit geolocatie. | InternalConsistency | gecontroleerd tegen zijn eigen identiteit in gesloten vorm of analytisch — vangt transcriptie- en coëfficiëntfouten, maar is geen externe onafhankelijke referentie — Nog geen externe. Alleen synthetische voorwaarts-inverse rondritten, uit een generator die het model van de schatter deelt, dus ze controleren de code en de kalibratie van de vermelde niveaus onder dat model en niets over echte zenders. Een externe controle tegen de gepubliceerde zenderlocaties van Jammertest 2025 is vooraf vastgelegd (docs/emitter-region/PREREGISTRATION.md, door de eigenaar goedgekeurd vóór elke gescoorde run) en eenmaal uitgevoerd (docs/emitter-region/RESULTS.md): ADS-B NOT ASSESSABLE (2 geplande sessies, minder dan het vastgelegde minimum van 4) en AIS NOT ASSESSABLE (geen gepubliceerde sessie), dus er is geen drempel getoetst en de rij blijft MODELLED | interference_map::emitter (estimate, sessions, build_units, profile, GaussianFix::from_tdoa), interference_map::emitter_out (locate), kshana interference-map locate |
unittests van interference_map::emitter (projectie-roundtrip, horizoncijfer, synthetische voorwaartse en inverse rondritten: de bekende zender ligt binnen het vermelde gebied met ongeveer het vermelde percentage, randgevallen, sessieclustering, profiel, privacy en formulering); tests/interference_map_cli.rs locate-gevallen |
| SIEM-gebeurtenissen van vertrouwenstelemetrie: Log Event Extended Format (LEEF) via syslog | Gebeurtenissen bij bandwisseling (of per tijdstip) als Log Event Extended Format 2,0-payloads in een RFC 5424-envelop via UDP of TCP, met een gedocumenteerde veldtoewijzing. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — WAT WORDT GECONTROLEERD: de eigen exacte-stringtests van deze crate van de gedocumenteerde LEEF-veldtoewijzing en de velden van de RFC 5424-envelop; er bestaat geen onderhouden opensource-LEEF-parser (een zoekactie in de Python-pakketindex vond er geen), dus het formaat is getoetst aan zijn eigen specificatie, gelezen door dezelfde auteur, niet aan een onafhankelijke externe referentie. WAT NIET: of de LEEF-payloads door de parser of SIEM van een leverancier worden geaccepteerd; de escaperegels buiten de gedocumenteerde; het gedrag van een echte syslog-collector. | telemetry (syslog: leef, rfc5424, SyslogSink; time) | telemetry::syslog::tests (exact LEEF strings, escaping, severity, RFC 5424 envelope, delivery timeouts and reconnection); tests/telemetry_cli.rs |
| Interferentiedrempels van receiver-trust gekalibreerd op de dataset JammerTest 2024 | receiver_trust::calibration::run_dataset: de vooraf vastgelegde kalibratie van de monitors voor C/N0-daling, AGC en jamming-indicator op de openbare dataset JammerTest 2024 (Zenodo 15911589, GPL-3.0-or-later, tijdens de run opgehaald, nooit meegeleverd): per map een tijdlijn van 1 s uit mon_rf.csv en rinex.csv, de monitors eenmaal uitgevoerd, elk tijdstip na de kalibratie gelabeld als schoon of jamming uit de attack_log van de map (verschoven van CEST naar UTC, guard van 60 s), elke drempel gesweept over een vast raster, de kleinste drempel gekozen met een gepoolde kans op vals alarm op schone tijdstippen van hoogstens 0,01, en achtergehouden tellingen met leave-one-folder-out; een kruiscontrole van de UBX-lezer. De keuze wordt alleen geleverd als het opt-in-profiel [monitors] profile = "jammertest-2024-calibrated" (cn0_drop_db 1,5, agc_k_sigma 3,5, jam_ind_threshold 29); de standaardregel en elke uitvoer zonder het profiel zijn ongewijzigd | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende onderdelen uit een model, dus de mogelijkheid blijft modelmatig — De gepubliceerde gebeurtenislogs van de dataset (attack_log-vensters), als gebeurtenisreferentie, onder de preregistratie xval/jammertest-trust/PREREGISTRATION.md (afzonderlijk vastgelegd, 0fa012b, voordat de harnas draaide). Eerste en enige run (xval/jammertest-trust/RESULTS.md): 14 van 24 mappen te evalueren (7 met jamming), 3.502 schone en 9.560 jamming-epochs. Achtergehouden kans op een vals alarm bij schone data: cn0_drop_db 0,0231 (81/3502) ten opzichte van een drempel van 0,02, FAIL; agc_k_sigma 0,0003, gehaald; jam_ind_threshold 0,0094, gehaald; de vereniging van de drie: valse alarmen 0,0328, detectie 0,807 ten opzichte van 0,05 en 0,50, gehaald. Volgens de vastgelegde regel is de rij MODELLED (één drempel niet gehaald). Beperkt: één ontvangertype (u-blox ZED-F9P), één evenement, geplande slots van één minuut als referentie (detectie is een ondergrens; schoon betekent buiten de gelogde vensters); gekalibreerd op de CSV-logs, en de UBX-lezer geeft op twee mappen meer valse alarmen. De banden van de maritieme vertrouwensscore zijn niet gekalibreerd | receiver_trust::calibration (run_dataset); receiver_trust::monitors (MonitorConfig::profile, JAMMERTEST_2024_CALIBRATED); realdata::jammertest; examples/jammertest_trust_calibration.rs | tests/receiver_trust_jammertest_calibration.rs::the_recorded_calibration_reproduces (ignored, data-gated by KSHANA_JAMMERTEST_DIR: the recorded selection, held-out counts, bar verdicts and verdict); receiver_trust::calibration::tests (time stamps, window pairing and the time-zone shift, labels, guard bands, exclusion, selection); receiver_trust::monitors::tests::threshold_profile_is_opt_in |
| Jammertest scoring: een ontvangerlog die per geplande test wordt beoordeeld (detectielatentie, gemiste alarmen, valse alarmen, hersteltijd) aan de hand van het gepubliceerde testplan | jammertest::{plan, score, dataset} (kshana jammertest import|score): de testcatalogus en het zendplan van de NPRA (MIT, opgehaald met een vastgezette SHA-256, nooit meegeleverd) gelezen als geplande referentie met behoud van de catalogus-id's; een receiver-trust-run beoordeeld per test (eerste alarm minus geplande start, gedetecteerd/te laat/gemist ten opzichte van een tolerantie, tijd tot de eerste alarmvrije periode, alarmen buiten elk slot en de bijbehorende bewakingsmarge), met een ondertekend bewijspakket dat de scorekaart bevat. Het schema bestaat uit geplande slots, niet uit vastgelegde uitzendtijden | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende onderdelen uit een model, dus de mogelijkheid blijft modelmatig — Het aantal slots van het plan per testgebied (76, 77 en 45 slots, waarvan 61, 63 en 32 zenden) is onafhankelijk geteld met een script over dezelfde JSON; de attack_log-vensters van de 2024-dataset als gebeurtenisreferentie, onder xval/jammertest-score/PREREGISTRATION.md (afzonderlijk vastgelegd, c2e6d3b, voordat de scorer draaide). Eerste en enige run (xval/jammertest-score/RESULTS.md): de vastgelegde minimumdataregel FAILED (4 scorebare jamming-vensters uit 4 van 12 UBX-mappen ten opzichte van een minimum van 10 vensters uit 2 mappen: 5 mappen afgevallen door de basislijnregel, 3 UBX-logs bevatten alleen GPS-weektijd), dus de drempels B1 tot en met B4 zijn niet te beoordelen; niets is versoepeld of opnieuw uitgevoerd. v2 (xval/jammertest-score/PREREGISTRATION-v2.md, afzonderlijk vastgelegd, alleen gegevensverwerking: logs met alleen GPS-tijd geplaatst vanaf de datum, de 12 mappen met alleen CSV, een sessie met bewegend platform voor bewegende rovers; dezelfde drempels en minimumdataregel): 14 van 24 mappen behouden maar 7 scorebare jamming-vensters, minimumdataregel opnieuw niet gehaald, geen drempel te beoordelen (RESULTS-v2.md). Geplande referentie: een gepland slot is geen uitzendregistratie, een gemiste detectie kan een test zijn die nooit is uitgevoerd, een latentie loopt vanaf de geplande start, en schoon betekent buiten de geplande slots. Detectie door monitors in het meetdomein zegt niets over een spoofer met laag vermogen. Eén ontvangertype (u-blox ZED-F9P). De NMEA-dataset van SimulaMet uit 2025 wordt niet gebruikt (geen vermelde licentie, achter een abonnement) | jammertest::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 | tests/jammertest_plan_roundtrip.rs (data-gated by KSHANA_JAMMERTEST_PLAN_DIR: slot counts per test area of the 2025 plan, catalogue ids, TOML round trip); tests/jammertest_score.rs (a synthetic log with a known drop: detected, missed, not-evaluable, false-alarm run, signed pack carrying the scorecard); jammertest::plan::tests; tests/jammertest_score_2024.rs (data-gated by KSHANA_JAMMERTEST_DIR: the recorded run) |
| Compliance-mapping naar openbare kaders | compliance (kshana compliance-report): een koppeling van Kshana-uitvoer aan clausules van openbare kaders, uitsluitend op nummer, ingevuld uit de opgegeven runs; een resultaat telt alleen voor een mogelijkheid mee wanneer het het bewijs bevat dat de koppeling noemt, een lege verzameling levert nergens bewijs voor, en de formulering is "levert bewijs voor"; het rapport is geen vaststelling dat enig kader wordt gehaald en geen beoordeling of goedkeuring door wie dan ook. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Verwijzingen gecontroleerd aan een door een script uitgehaalde kopindex van de aangehaalde openbare documenten, gelezen op 2026-10-10 (tests/compliance_references.rs). WAT WORDT GECONTROLEERD: 49 aangehaalde verwijzingen naar clausules, secties, alinea's of koppen bestaan in het aangehaalde document, en 7 aangehaalde URL's waren bereikbaar op de vastgelegde datum (2 via een tweede route); negatieve controles falen. WAT NIET: dat een parafrase, toewijzing of lacune juist is; EN 16803-clausules (betaald, alleen catalogustekst); latere revisies; de index is geen onafhankelijke implementatie. | compliance | 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; tests/compliance_report.rs::statuses_follow_the_runs_present; tests/compliance_references.rs |
| Maritieme integraties: Signal K-plug-in, OpenCPN-gate-stream en scorepaneel, referentiebuild | De vertrouwensscore, band, redenen, gate-status en door de ontvanger gemelde positie, gepubliceerd onder navigation.gnss.kshana in een Signal K-server met een waarschuwings-, alarm- en normaalmelding (integrations/signalk); de gegate NMEA-stream, met de positiebepaling als ongeldig gemarkeerd zolang het vertrouwen is ingestort en een PKSHT-zin per cyclus, via TCP aan OpenCPN geleverd door de gate zelf of door een klein relay, en een eigen OpenCPN-scorepaneel dat de PKSHT-zin leest (integrations/opencpn); en systemd-units en een container die de gate draaien (deploy/reference-build). Waar deze uitvoer tonen, dragen ze de adviserende verklaring: Adviserende software, geen typegoedgekeurde navigatieapparatuur (IEC 61108, IEC 61162): de gezagvoerder of exploitant blijft verantwoordelijk voor de navigatie van het vaartuig. | IntegrationRun | beproefd tegen een echte hosttoepassing; een integratierun is geen onafhankelijke referentie — WAT WORDT GECONTROLEERD, nauw omschreven: dat deze integraties werken met de echte software waarvoor zij zijn geschreven. BEWIJS is vastgelegd in integrations/signalk/evidence/README.md (met de JSON-bestanden) en integrations/opencpn/evidence/README.md (met de schermafbeeldingen en logs), elk met het script dat het reproduceert. (1) Signal K: de plug-in geladen in het vastgezette npm-pakket signalk-server 2.33.0, in een privé-netwerknaamruimte met alleen loopback, gevoed met synthetische data. De eigen REST- en WebSocket-interfaces van de server toonden de gepubliceerde paden, de scoremetadata en een melding die verdween, waarschuwde, alarmeerde, normaal werd (na de vasthouding) en opnieuw waarschuwde toen de data stopten. Met de echte kshana-run door de plug-in op de NMEA die de server zelf ontving, ging de melding van waarschuwing naar alarm en werd de gerapporteerde positie gepubliceerd; de eigen navigation.position van de server werd geschreven door zijn NMEA-provider, nooit door de plug-in. Opnieuw uitgevoerd tegen live JSON-schema 1,2. (2) OpenCPN: de plug-in gebouwd tegen de OpenCPN-plug-in-API-header en wxWidgets 3.2.4, geladen in het Ubuntu 24,04-pakket van OpenCPN 5.8.4 onder een virtueel scherm; OpenCPN laadde hem, voerde zijn initialisatie uit en gaf hem de PKSHT-zinnen van de afgeschermde stroom, en het paneel werd rood op de niet-vertrouwde band. In één schone run stopte de eigen scheepspositie van OpenCPN met bijwerken, en zakte zijn positiebepalingsindicator, toen de gate de positiebepaling als ongeldig markeerde. Een tweede run, rechtstreeks gevoed door de TCP-listener van de gate, toonde aflevering aan de plug-in maar geen schone voor-en-nameting. (3) De relaytests spelen een vastgelegd fragment van de afgeschermde stroom af via een echte TCP-socket en controleren wat een afnemer ontvangt (de bytes ongewijzigd, geldige checksums op elke zin, inclusief de herschreven zinnen, GGA en RMC die overeenkomen, één PKSHT per cyclus met het gate-veld waar de positiebepaling ongeldig is), en het end-to-end-script controleert dat een afnemer van de listener van de gate precies de bytes ontvangt die dezelfde gate naar standaarduitvoer schrijft. (4) De PKSHT-parsers (JavaScript en C++) worden uitgevoerd over zinnen die van kshana-uitvoer zijn vastgelegd en weigeren een onjuiste checksum, versie of een score buiten 0 tot 100. (5) De systemd-units worden gecontroleerd met systemd-analyze verify (systemd 255, binaries gestubd) en met bewakers voor een shell in ExecStart, het herstartbeleid en de sandbox-sleutels; de argumentverwerking van het container-entrypoint wordt gecontroleerd met een gestubde binary. WAT NIET: er is geen onafhankelijke externe referentie voor enige waarde die deze integraties tonen. De vertrouwenswaarden zelf zijn de rijen hierboven, en een integratierun toont alleen dat de verbindingen ze doorgeven; daarom is deze rij MODELLED en niet VALIDATED (docs/VALIDATION.md). Er is geen echt vaartuig, geen echte ontvanger, geen lange run, geen andere versie van een van beide hosts, geen ander besturingssysteem en geen andere desktop gebruikt; alle data zijn synthetische tekst en niets hier is een meting. De geluids- en visuele afhandeling van de melding door een echte Signal K-client, de werkbalkknop van OpenCPN, voorkeuren en verouderde toestand, en de verpakking voor de OpenCPN-pluginbeheerder zijn niet beproefd. De sandbox-sleutels van systemd zijn alleen op syntaxis gecontroleerd, niet uitgevoerd onder een live systemd, en voor de build van het containerimage en zijn health check is hier geen vastgelegd bewijs. Er wordt geen detectie- of vals-alarmcijfer geclaimd. Adviserende software, geen typegoedgekeurde navigatieapparatuur (IEC 61108, IEC 61162): de gezagvoerder of exploitant blijft verantwoordelijk voor de navigatie van het vaartuig. | receiver_trust (live: the gate, its TCP listener, PKSHT); outside the crate: integrations/signalk (JavaScript), integrations/opencpn (JavaScript relay, C++ native plugin), deploy/reference-build (systemd units, container) | tests/receiver_trust_live_cli.rs (the gate and its TCP listener, Rust side); integrations/signalk/test/adapter.test.js, integrations/signalk/test/model.test.js and integrations/signalk/test/plugin.test.js (24 Node tests on recorded synthetic output); integrations/opencpn/test/relay.test.mjs (5 Node tests); integrations/opencpn/test/e2e-live.mjs (the real binary to a TCP consumer, run by hand and in CI); integrations/opencpn/plugin/test/pksht_test.cpp and integrations/opencpn/plugin/test/trust_state_test.cpp (C++ checks of the PKSHT parser and the panel state); deploy/reference-build/check-units.sh and deploy/reference-build/test-entrypoint.sh |
| BOC(1.1)-tracking: DLL-schaling en bump-jump-ambiguïteitsoplossing (opt-in) | Het veld boc van iq::track::LoopConfig (opt-in, standaard None): de drie DLL-discriminatoren herschaald om de codefout in chips af te lezen met eenheidshelling op de hoofdpiek van de sinus-BOC(1.1), en een bump-jump-monitor op zeer vroege en zeer late correlatoren op een halve subdraaggolfperiode (0,5 chip) die de code-NCO naar de hoofdpiek laat springen wanneer een op/neer-teller N bereikt (8 standaard). Zonder de optie is elke uitvoer ongewijzigd. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Interne consistentie ten opzichte van geïnjecteerde referentie en gesloten vormen, onder drempels vooraf vastgelegd bij 6b68f6cc (docs/design/evidence/boc-bump-jump/). Een BeiDou B1C-datasignaal (PRN 19, 5 MS/s) gegenereerd door iq::scene: met de optie uit blijft een start op een zijpiek vals vergrendeld op de voorspelde ±(0,5 + d/4) chip (gemeten ±0,549); met de optie aan één sprong naar de hoofdpiek bij 0,08 s en een late-venster-RMS van 0,0008 chip bij 45 dB-Hz en 0,0048 chip bij 35 dB-Hz; geen sprong weg van de hoofdpiek bij 35, 40 en 45 dB-Hz over 4 s; de geschaalde EMLP-helling 0,94 tot 0,99 op het gesampelde signaal (ongeschaald 3,6 tot 3,8). De bump-jump-detector alleen, op correlatortriples met de exacte BOC(1.1)-ruiscovariantie, maakte geen valse sprong in 100.000 updates bij 25 tot 45 dB-Hz en detecteerde 1000 van 1000 zijpiekstarts bij 35 dB-Hz. NOT MET (bevinding F1): het vooraf vastgelegde eenheidstestraster voor de schaling bevat offsets buiten het lineaire bereik van de discriminatoren, waar de geschaalde metingen de offset tot 48 % missen. WAT NIET WORDT GECONTROLEERD: IQ uit het veld, bandbegrensde front-ends, samengestelde MBOC/QMBOC-replica's en elke externe ontvanger. | iq::track::boc (BocKind, BocTracking, BumpJump, boc11_dll_scale); iq::track::channel (the bump-jump taps and Channel::bump_jumps) | 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 (b4_unit_grid_misses_are_the_recorded_ones: the pre-registered B4 unit-test bar kept as written, its recorded misses asserted as finding F1) |
| IQ-kanaal voor ionosferische scintillatie (Cornell-model) tegen gemeten 50 Hz GPS L1-scintillatie | iq::channel::scint, het Cornell-scintillatiemodel (Rice-intensiteit, tweede-orde-Butterworth-spectrum, fase arg z) aangedreven met de S4 en de intensiteitsdecorrelatietijd van een gemeten venster, vergeleken op wat het genereert buiten die twee invoeren; realdata::scint50 leest het gemeten log, haalt de trend eruit en voert de vergelijking uit. | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende onderdelen uit een model, dus de mogelijkheid blijft modelmatig — Gemeten data onder drempels vooraf vastgelegd bij b6ccb499 (xval/scint-malindi/): Zenodo-record 16941224 (INGV, Malindi, 18 maart 2023, GPS PRN 26, 50 Hz intensiteit en draaggolffase, CC BY 4,0, SHA-256 gecontroleerd). 22 kwalificerende vensters van 60 s (N1 gehaald). MET: de intensiteitsverdeling (Kolmogorov-Smirnov D 0,0415, drempel 0,05) en de fasescintillatie gekoppeld aan S4 (mediaan gemeten/model sigma-phi 0,779, drempel 2/3 tot 3/2). NOT MET (bevinding F1): de fractie diepe fades van het model is 2,38 maal de gemeten (drempel 0,5 tot 2) en zijn gemiddelde fade 3,51 maal zo lang (drempel 2/3 tot 3/2). Bevinding F2: de vastgelegde verwerking leest de omgevouwen fase van het model, wat een zelfcontrole aan het licht bracht; B3 achteraf herhaald met de fase uitgevouwen geeft 0,804. WAT NIET WORDT GECONTROLEERD: andere nachten, stations, breedtegraden of signalen; ontvangerruis in het model. De rij blijft MODELLED. | iq::channel::scint (Scintillation, ScintParams); realdata::scint50 (parse_log, segments, measured_windows, model_windows, compare) | tests/iq_scint_malindi_measured.rs (cornell_model_verdict_is_the_recorded_one, the registered verdict asserted as recorded, finding F1; finding_model_fades_are_deeper_and_longer_than_measured; posthoc_b3_with_the_model_phase_unwrapped, reported only; data-gated, fetched by scripts/fetch_scint_malindi.sh); realdata::scint50 unit tests (model_data_through_the_harness_shows_the_wrapped_phase_finding, finding F2) |
| Cell-averaging CFAR-optie in IQ-acquisitie | iq::acq::ca_cfar en ca_cfar_cells (opt-in): een cel van een acquisitieraster wordt vergeleken met het gemiddelde van referentiecellen van zijn Dopplerrij (guard- en stride-lags, rond de periode heen gewikkeld), met een factor alpha die is bepaald uit de gesloten-vormkans op vals alarm van CA-CFAR voor M niet-coherente blokken (ca_cfar_pfa, ca_cfar_alpha). De detector op steekproefvermogen blijft de standaard en elke bestaande uitvoer is ongewijzigd. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Gesloten vorm, onder drempels vooraf vastgelegd bij 3724aefa (docs/design/evidence/acq-cfar/). De CA-CFAR-kans op vals alarm voor Gamma(M)-cellen, ten opzichte van Monte Carlo van het exacte model: 18 van 18 gevallen binnen 3 binomiale sigma. Op elke cel van iq::acq-zoekacties (GPS L1 C/A, 2,5 MS/s, 210.000 cellen elk) bij een ontwerp van 1 %: 0,977 % en 0,969 % op Gaussische ruis en 1,006 % en 0,999 % op 2-bit gekwantiseerde ruis (M = 1 en 4; drempel plus of min 20 %); beslissingen ongewijzigd wanneer de invoer wordt geschaald. NOT MET (bevinding F1): op een ruisvrij 2-bit signaal zijn de detectie en haar cel juist, maar overschrijdt 1,28 % van de cellen naast de piek in de rij van de piek (drempel 1 %) de drempelwaarde, bij de deterministische correlatiezijlobben van de code. WAT NIET WORDT GECONTROLEERD: andere CFAR-varianten, tweedimensionale vensters, bandbegrensde front-ends, velddata. | iq::acq (CfarConfig, ca_cfar, ca_cfar_cells, ca_cfar_pfa, ca_cfar_alpha) | 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; c4_noise_free_two_bit_signal_verdict_is_the_recorded_one, the registered verdict asserted as recorded, finding F1, pinned by finding_noise_free_sidelobes_exceed_the_cfar_rate); iq::acq unit test ca_cfar_closed_form_reduces_to_the_textbook_case_and_inverts |
| Spectrummodel: GLONASS-, BeiDou- en Galileo E6-banden (opt-in) | spectrum::default_band bepaalt, uitsluitend op naam (MORE_BAND_NAMES), GLONASS L1OF en L2OF op elk FDMA-kanaal K = -7 tot 6 (BPSK, 0,511 Mchip/s), BeiDou B1I (BPSK(2)), B1C (MBOC(6,1,1/11)), B2a en B3I (BPSK(10)) en Galileo E6 (BPSK(5)), met de draaggolven en minimale ontvangen vermogens uit hun interface control documents; de standaardbandenset en elke bestaande uitvoer zijn ongewijzigd. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Gepubliceerde interfacecontroledocumenten en gesloten vormen, onder drempels vooraf vastgelegd bij 5806f28b (docs/design/evidence/spectrum-bands/): GLONASS ICD Edition 5,1, BDS-SIS-ICD B1I 3,0, B1C 1,0, B2a 1,0 en B3I 1,0, Galileo OS SIS ICD Issue 2,1. MET: elke draaggolf, chipsnelheid en ontvangen vermogen zoals getranscribeerd (28 GLONASS-kanalen), BPSK-eerste nulpunten op de chipsnelheid, de B1C-samenstelling gelijk aan MBOC(6,1,1/11) zoals de vermogenstabel van haar ICD geeft, de C/N0-padidentiteit en byte-identieke spectrumscenario's. NOT MET: de eenheidsoppervlaktedrempel, die zoals geschreven onhaalbaar was (bevinding F1; de oppervlakten zijn gelijk aan de gesloten-vorm-fractie binnen de band), en de overeenkomst per bin van de B1I- en B1C-golfvormen van de IQ-laag met de modelomhullende (1,26 en 1,56 dB ten opzichte van 0,5 dB, bevinding F2; GLONASS 0,07 dB), omdat Gold- en Weil-codes ongelijke lijnspectra hebben; gemiddeld over de band komen de hoofdlobben binnen 0,25 dB overeen. WAT NIET WORDT GECONTROLEERD: vastgelegde IQ, andere signalen, interferentie binnen een systeem. | spectrum (default_band, MORE_BAND_NAMES, GLONASS_CHANNELS) | 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 finding_s2_areas_are_the_closed_form_in_band_fraction; s3_iq_layer_verdict_is_the_recorded_one, finding F2, pinned by finding_s3_per_bin_errors_follow_the_code_line_spectrum; posthoc_s3_band_averaged_shape, reported only) |
| Tertiaire codes en berichtlaag van LunaNet AFS (SB1 BCH, CRC-24Q, interleaver) tegen LSIS-AFS V1.0 | iq::signals::lunanet::afs_q_tertiary_bits, afs_q_tiered; iq::lunanet_afs: synchronisatiepatroon, SB1 BCH(51.8)-encoder en decoder met 256 hypothesen, CRC-24Q, de blokinterleaver van 60 x 98, een symboolstroomcontrole (kshana lunanet-afs-check) en een teststroomgenerator met plaatshouder-subframes. De rate-1/2 LDPC-codering van subframes 2 tot 4 is niet geïmplementeerd (de matrices staan in een aparte bijlage). | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende onderdelen uit een model, dus de mogelijkheid blijft modelmatig — LSIS-AFS V1.0 (zoals hierboven): de Legendre-reeks van lengte 1499 (Tabel E-1, identiek) en de eerste en laatste 24 chips van de tertiaire code (Tabellen E-2 tot en met E-6: 419 van 420 kolommen identiek; het document drukt dezelfde laatste 24 chips, A14850, af voor PRN 147 en PRN 151 en de generator reproduceert die van PRN 151, dus de invoer voor PRN 147 is hoogstwaarschijnlijk een drukfout; de drempel van 420 van 420 is NOT MET en de misser is vastgepind); het uitgewerkte voorbeeld in Figuur 8 van de SB1-code (één voorbeeld: 0x045 codeert naar 0x229F61DBB84A0); CRC-24Q ten opzichte van de controlewaarde 0xCDE703 uit de catalogus voor ASCII 123456789; de eigen framerekenkunde van het document. Drempels vooraf vastgelegd bij b3ba5d5. Eén misser vastgelegd en één uitgewerkt voorbeeld voor de berichtlaag, dus de rij blijft MODELLED. WAT NIET WORDT GECONTROLEERD: LDPC en de CRC-woorden in subframes 2 tot en met 4, berichtinhoud en elke vastgelegde stroom | iq::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) | 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 (sb1_round_trips_every_field_and_corrects_flipped_symbols, generated_streams_pass_and_damage_is_found); tests/lunanet_afs_cli.rs |
| Standaardenpakketten: scenario's beoordeeld aan de hand van drempels die vóór de run zijn vastgelegd | standards_pack (kshana standards-pack): de testprofielen van het DHS Resilient PNT-kader voor niveaus 1 tot 4, de nauwkeurigheidsniveaus en integriteitsevaluatie van IMO MSC.1/Circ.1575 en de pakketten monitoren, beoordelen en mitigeren van ICAO Doc 9849 Appendix F: elke test voert een meegeleverd scenariotype uit en vergelijkt resultaatvelden met drempels die in het pakket zijn vermeld, en tests die een ontvangerlog nodig hebben, worden vermeld als NEEDS INPUT en niet beoordeeld. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe voor de scenarioresultaten: elke packtest voert een MODELLED scenariosoort uit. De drempels zijn het door de auteur van het pack opgegeven profiel (het DHS-kader noemt geen waarden; de nauwkeurigheidsgrenzen van de IMO zijn Tabel C-1 van MSC.1/Circ.1575, volledig gelezen; het ICAO-pack volgt de eigen presentatie van de ICAO over het RFI-mitigatieplan omdat Doc 9849 een betaalde publicatie is en niet is gelezen), vastgelegd vóór enige gescoorde run in PREREGISTRATION.md-bestanden in xval-stijl onder standards/. Een MET-drempel zegt dat een uit een model berekend scenario een opgegeven drempel haalde, niets over een product | standards_pack; compliance (standards-pack facts in compliance-report) | tests/standards_packs.rs (pinned_outcomes: the status of every test, including the misses L4-T1 and the four IMO accuracy tests); standards_pack::tests |
| Bewijspakket voor laboratorium-roundtrip (scenario, testcondities, ontvangerlog, score) | evidence::roundtrip (kshana evidence round-trip) en de ontvangerlog-export kshana.test-conditions/1 van kshana bench-export: een ondertekend pakket dat de scenariohash, de hash van de vermelde condities, de loghash en de score ten opzichte van de vermelde gebeurtenissen vastlegt, en condities weigert die niet overeenstemmen met de beoordelingsgebeurtenissen of een log waarvan de hash niet de vermelde is. Er wordt geen signaal geschreven, afgespeeld of ingepland. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe: het pack koppelt hashes en een MODELLED score van een ontvangerlog, gecontroleerd op synthetische data (de geëxporteerde NMEA van een meegeleverd scenario behandeld als het log van de ontvanger). Er wordt geen laboratoriumrun geclaimd | evidence::roundtrip, evidence::assemble, interop::testbench (write_conditions_json), iq::campaign::conditions | 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, published_schema_names_every_field_the_engine_writes) |
| IQ-trackingengine tegen GNSS-SDR 0.0.19 op onafhankelijke opnames | De volledige trackingengine van de IQ-laag (iq::track via kshana iq track: acquisitie-overdracht, correlatoren, NCO's, tweede-orde-Costas-PLL van 15 Hz, eerste-orde-DLL met EML-omhullende en draaggolfondersteuning van 2 Hz, lock-indicator en C/N0-schatters) op GPS L1 C/A bij 30 tot 45 dB-Hz. | ExternalDataset | een deelclaim is extern getoetst, maar de hele mogelijkheid is samengesteld uit berekende onderdelen uit een model, dus de mogelijkheid blijft modelmatig — GNSS-SDR 0.0.19 (GPL-3.0-or-later, het Ubuntu 24,04-pakket, als afzonderlijk programma uitgevoerd; alleen afgeleide getallen vastgelegd) dat dezelfde numpy-opnamen volgt (onafhankelijk van de engine), beide gemeten ten opzichte van de analytische referentie. Drempels vooraf vastgelegd bij 48edd4a5, gewijzigd vóór enige testopname bij 1e4288c4 (een FLL van 10 Hz alleen tijdens het insluiten in beide ontvangers, nadat de vastgelegde kalibratie faalde op een onjuiste overdracht van GNSS-SDR, bevinding F3). MET bij 30, 35, 40 en 45 dB-Hz: draaggolfjitter binnen 4,3 %, codejitter binnen 4,6 % en Doppler-gemiddelde en -spreiding binnen die van GNSS-SDR. NOT MET: de NWPR C/N0 van de engine ligt 2,3 tot 7,1 dB onder de SNV van GNSS-SDR (bevinding F4, de bekende NWPR-grens; zijn M2M4 ligt binnen 0,06 dB van de referentie); de faseslotindicatoren verschillen per definitie (F5); bij 30 dB-Hz maakte GNSS-SDR twee slips en de engine geen (F6). De eigen overdracht van GNSS-SDR vergrendelde in 3 van 30 kalibratieruns op een onjuiste frequentie. WAT NIET WORDT GECONTROLEERD: andere signalen, het wegnemen van databits, heracquisitie, velopnamen. De rij blijft MODELLED. | iq::track (Channel, LoopCore, design); iq::cli::track | 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 tests/fixtures/iq_track_gnss_sdr_oracle/make_fixture.py |
| CRPA-antennewinsten in het jamming-type tegen een onafhankelijke numpy-herberekening | De optionele sectie [crpa] van het jamming-type: een bundel per kanaal naar elke satelliet (null-steering met de jammer als nul, of MVDR op sigma^2 I + P_j a_j a_j^H), die de ruis van elke link schaalt met ||w||^2 en de jammer met |w^H a_j|^2 vóór de bestaande anti-jam-C/N0-vergelijking. | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase: onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijke numpy-herberekening (xval/crpa-jamming/oracle.py, geen gedeelde code: numpy-stuurvectoren, numpy.linalg.solve en inv) van elke schakel van de geometrie van de jamming-demo met een vierkante array van 4 elementen, onder beide wegingen. Drempels vooraf vastgelegd bij 08d83b4d. MET: A1 (alle 150 scenarioresultaten byte-identiek zonder de sectie, na een correctie: de eerste build voegde de crpa-eenheden toe aan de eenhedentabel van elke jamming-run), A2 (één element is gelijk aan geen array tot 1e-12 dB), A3 op de ruiswinst van de array en de effectieve C/N0 (912 linkwegingen binnen 1e-9 dB, slechtste 2.1e-14 dB) en op het nulpunt van de nulsturende jammer (onder -200 dB aan beide zijden), A4 (MVDR binnen 0,1 dB van nulsturing bij een JNR van 80 dB). NOT MET: A3 op de jammerwinst van MVDR, 194 van 456 links boven 1e-9 dB op 0,36 draagbare wiskunde (202 op hostwiskunde; docs/revisions/STUDIO15-batch4-rebaseline.md) (slechtste 1.7e-6 dB) op residuen van -100 tot -188 dB, waar float64-cancellatie beide implementaties beperkt (inv en solve van numpy wijken onderling af op 169 links, slechtste 7.9e-7 dB); de effectieve C/N0 die hieruit wordt gevoed is niet aangetast. WAT NIET WORDT GECONTROLEERD: onderlinge koppeling, elementafwijking, breedbandverwerking, meerdere jammers, enige antennehardware. Een herberekening van dezelfde vergelijkingen, geen onafhankelijke externe referentie; de rij blijft MODELLED. | jamming (CrpaCfg, crpa_weights, run_jamming); crpa (null_steering_weights, mvdr_weights, covariance) | 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 xval/crpa-jamming/oracle.py |
| Terreinafscherming van de jammer in het jamming-type tegen een onafhankelijke numpy-herberekening op een echte SRTM-tegel | De optionele sectie [terrain] van het jamming-type: het grootcirkelterreinprofiel tussen jammer en ontvanger op een SRTM .hgt-tegel met een aardbolling met k-factor, de dominante messcherpe rand (grootste Fresnel-Kirchhoff nu) en het verlies van één messcherpe rand volgens ITU-R P.526-15 sectie 4,1, afgetrokken van het ontvangen vermogen van de jammer. | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase: onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijke numpy-herberekening (xval/jamming-terrain/oracle.py, geen gedeelde code: eigen .hgt-lezer, bilineaire interpolatie, WGS 84-heen-en-terug, profiel, bolling, nu en J(nu)) van tien jammerplaatsingen rond een ontvanger bij Badwater Basin op de vastgelegde echte SRTM-tegel tests/fixtures/terrain/N36W117_sub6.hgt. Drempels en plaatsingen vooraf vastgelegd bij 92cd2bfd. Allemaal MET: additiviteit (alle 150 scenarioresultaten byte-identiek zonder de sectie); de profielpunten en het obstakel van elke plaatsing gelijk en nu en verlies binnen 1.6e-10 (drempel 1e-9); het verlies neemt nooit toe naarmate de jammer stijgt van 2 tot 4902 m; het verlies verlaagt elke J/S met precies zichzelf en niets anders; J(nu) binnen 1e-12 dB van die van de referentie. Bevindingen: plaatsingen aan de overkant van de Black en Funeral Mountains verliezen 44 tot 48 dB; twee plaatsingen op de dalbodem verliezen 8 en 15 dB door alleen de aardbolling bij antennehoogten van 2 m, het scherende geval van het enkelvoudige mesrandmodel. WAT NIET WORDT GECONTROLEERD: enige gemeten propagatie, diffractie over meerdere randen, grondreflectie, clutter, de eigen fout van het DEM. Een herberekening van hetzelfde model, geen onafhankelijke externe referentie; de rij blijft MODELLED. | jamming_terrain (TerrainCfg, jammer_terrain, knife_edge_loss_db); jamming (run_jamming_sky) | 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, b4_the_loss_reaches_every_js_and_nothing_else, b5_the_knife_edge_function_matches_the_reference_expression), against xval/jamming-terrain/expected.json from xval/jamming-terrain/oracle.py |
| Acquisitiehysterese en de quantiser van de front-end in het jamming-type tegen onafhankelijke herberekeningen | De optionele sectie [acquisition] van het jamming-type (een satelliet wordt geacquireerd bij of boven een acquisitiedrempel na een heracquisitievertraging en vastgehouden zolang hij op of boven de trackingdrempel ligt) en de sectie [front_end] (de AGC-aflezing 10 log10(1 + J/N) en het quantiseringsverlies van de ADC bij Gaussiaanse invoer, van elke link afgetrokken, gemarkeerd als niet geldig voor niet-Gaussiaanse jammers). | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase: onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — Een onafhankelijke Python-herberekening van elke acquisitievlag (xval/jamming-acq-agc/hysteresis.py) uit de effectieve C/N0 per epoch van de engine, een onafhankelijke numpy-Monte-Carlo van het kwantiseerverlies (xval/jamming-acq-agc/quantiser_mc.py, eigen zoektocht naar de optimale stap, 2^22 samples) en de AGC-lus van de IQ-laag. Drempels vooraf vastgelegd bij 70c72fcc, met een aanvullende runset bij 37793290. MET: additiviteit (alle 150 scenarioresultaten byte-identiek zonder de secties); elke vlag gelijk op de aanvullende runs (1824 links, waarvan 732 met hysterese); monotoon in de drempelwaarde; het kwantiseerverlies binnen 0,0007 dB van de Monte Carlo bij 1 tot 4 bits (drempel 0,02 dB); de AGC-uitlezing binnen 0,012 dB van de AGC-lus (drempel 0,05 dB). NOT MET: de vastgelegde hysterese-runs (jamming-demo bij 10 tot 30 dBW) waren niet informatief, met elke link verloren, en hun H2 en H4 worden slechts triviaal gehaald. Bevinding: met een CW-jammer verliest een 1-bit-ADC ongeveer 5 dB meer dan het Gaussische cijfer dat de engine toepast, en vlagt als niet geldig. WAT NIET WORDT GECONTROLEERD: de acquisitiezoekactie zelf, AGC-dynamica in de tijd, enige ontvangerhardware. Herberekeningen van hetzelfde model, geen onafhankelijke externe referentie; de rij blijft MODELLED. | jamming_rx (AcquisitionCfg, AcqState, FrontEndCfg, front_end); jamming (run_jamming_sky); iq::frontend::quant (optimum_step_sigma) | 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, h3s_flags_match_the_independent_recomputation_on_the_supplementary_runs, h4_monotone_in_the_acquisition_threshold, h4s_monotone_in_the_acquisition_threshold_on_the_supplementary_runs, g2_quantiser_loss_matches_the_independent_monte_carlo, g3_agc_reading_matches_the_iq_layer_agc_loop), against xval/jamming-acq-agc/expected_hysteresis.json, expected_hysteresis_s1.json and expected_quantiser.json |
| Begrensde FLL-pull-in onder de FLL-naar-PLL-overdrachtsondergrens van het standaardontwerp (opt-in) | De opt-in carrier.fll_pull_in_max_s van iq::track (het veld fll_pull_in_max_s van iq::track::LoopConfig): onder fll_assist = pull-in draagt de FLL na een vaste pull-in-tijd de sturing over aan de PLL, wat de PLI ook is, met een bijpassende terugkeerverblijftijd totdat de PLI voor het eerst fll_off_pli bereikt. | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Interne consistentie ten opzichte van geïnjecteerde referentie: een synthetische GPS L1 C/A-bron zonder data (PRN 13, 1500 Hz, 4,1 MHz, 8 s, tien ruisseeds) waarvan de draaggolffase bekend is, onder drempels vooraf vastgelegd bij 58789af0 (docs/design/evidence/fll-handover-floor/). MET: de controle (de onbegrensde standaard draagt in 9 van 10 seeds bij 33 dB-Hz nooit over); additiviteit (standaardhash en de bestaande trackingtests ongewijzigd); insluiten van een overdracht met 100 Hz afwijking bij 45 dB-Hz. NOT MET: met een limiet van 1,0 s overdracht en vasthouden in elke run (16 van 20 bij 33 dB-Hz, 8 van 20 bij 31 dB-Hz; de rest wisselt tussen afgedwongen overdrachten en de terugkeer van de FLL) en fasejitter binnen 25 % van de PLL alleen (10,8 tegenover 6,1 graden bij 33 dB-Hz). WAT NIET WORDT GECONTROLEERD: databits, andere signalen en samplesnelheden, velopnamen. De standaard is ongewijzigd; de rij blijft MODELLED. | iq::track (LoopConfig, FllGate, design); iq::track::channel (the FLL gate) | 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 tests/fixtures/fll_handover_floor/results.csv |
| Lezer voor RTKLIB .pos-oplossingen voor receiver-trust | Leest een RTKLIB-oplossingsbestand (kalender- of GPS-week/TOW-tijd, breedte-/lengtegraad- of ECEF-positie, gebruikte satellieten) in de receiver-trust-tijdlijn (receiver_trust::machines::rtklib). | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe: er is geen door RTKLIB geproduceerd bestand gelezen en de kolomindeling komt uit de RTKLIB-handleiding. Alleen gecontroleerd op zelfgeschreven bestanden; de ECEF-conversie hergebruikt frames::ecef_to_geodetic, dat zijn eigen rijen heeft | receiver_trust::machines::rtklib (read_rtklib_pos); receiver_trust::LogFormat::RtklibPos | 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 |
| NovAtel OEM7 ASCII- en binaire logs (BESTPOS, RANGE, RXSTATUS) voor receiver-trust | Leest BESTPOS (positie), RANGE (C/No per signaal) en RXSTATUS (de jammervlag van de ontvanger, als zelfrapportage van het epoch) uit ASCII- en binaire OEM7-logs, CRC-gecontroleerd, alleen-lezen (receiver_trust::machines::novatel). | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe als slaagdrempel. De veldindelingen en de CRC volgen de openbare OEM7-documentatie (docs.novatel.com); de CRC-routine is eenmalig gecontroleerd tegen de CRC die de documentatie vermeldt voor haar eigen BESTPOSA-voorbeeld (aangehaald, niet geciteerd). Fixtures zijn zelfgeschreven; er is geen log van een echte ontvanger gelezen | receiver_trust::machines::novatel (read_novatel, novatel_crc32); receiver_trust::LogFormat::Novatel | receiver_trust::machines::novatel::tests (pinned CRC, ASCII and binary records, bad CRC skipped, hostile input); tests/receiver_trust_machines.rs::novatel_jammer_flag_reaches_the_receiver_self_report |
| RTCM-3-lezer voor MSM4 en MSM7 draaggolf-ruisverhouding voor receiver-trust | Leest de C/N0 van elke signaalcel van RTCM-3-berichten MSM4 en MSM7 (GPS, GLONASS, Galileo, SBAS, QZSS, BeiDou, NavIC) uit een framestroom, CRC-24Q-gecontroleerd (receiver_trust::machines::rtcm3). Indelingen uit de pyrtcm-tabellen met BSD-licentie, niet uit de tekst van de RTCM-standaard. | ReferenceImpl | getoetst aan een afzonderlijke implementatie in dezelfde codebase: onafhankelijk van de geteste eenheid, maar niet extern gezaghebbend — ReferenceImpl in een eenmalige controle, geen test in de suite: de decoder van pyrtcm 1.2.0 leest dezelfde zelfgeschreven frames tot dezelfde C/N0 en epochtijd. Hij deelt de bron van zijn tabellen met deze lezer, dus hij controleert de bitverwerking, niet de indeling. Er is geen opname van een echte ontvanger of basisstation gelezen | receiver_trust::machines::rtcm3 (read_rtcm3, crc24q); receiver_trust::LogFormat::Rtcm3 | receiver_trust::machines::rtcm3::tests (CRC-24Q catalogue check value, MSM4/MSM7 C/N0 and epoch merging, GLONASS time and SBAS id mapping, bad CRC and other messages) |
| GNSS-SDR-monitoradapter voor receiver-trust | Leest GNSS-SDR Monitor- (Gnss_Synchro) en PVT-monitorberichten, doorgegeven als JSON-regels met de protoveldnamen, in C/N0 per kanaal, positiebepaling, gebruikte satellieten, HDOP en hemel (receiver_trust::machines::gnss_sdr; integrations/gnss-sdr/relay.py). | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe: de veldnamen komen uit de GNSS-SDR-documentatie; noch de lezer noch relay.py is uitgevoerd tegen een live GNSS-SDR of een echte opname | receiver_trust::machines::gnss_sdr (read_gnss_sdr_monitor); receiver_trust::LogFormat::GnssSdr | receiver_trust::machines::gnss_sdr::tests; integrations/gnss-sdr/example.jsonl |
| IMU-loginvoer, gyro-headinginvoer en Allan-fit van parameters van hybride sensoren | Leest een IMU-CSV (gedocumenteerde kolommen, of de EuRoC-indeling); integreert de gierdraaisnelheid tot de heading die de heading-course-monitor leest ([log.imu]); en fit de ruisparameters van accelerometer en gyro van de hybride en fusiescenario's uit een stilstaand log met overlappende Allan-deviatie (imu-fit). | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe: de fit is gecontroleerd op synthetische witte-ruislogs met bekende coëfficiënten, de koers op logs met constante gierssnelheid. Er is geen echt IMU-log gefit, en q_aa is niet gefit | receiver_trust::machines::imu, imu_fit; surface::imu_fit; scenario [log.imu] | 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 agreement and disagreement, inline carrier, imu_fit) |
| Home Assistant MQTT-discovery en statusexporter voor vertrouwenstelemetrie | Een JSON-statusdocument en Home Assistant MQTT-discoveryberichten voor de vertrouwensstroom, op elk oppervlak als tekst afgedrukt en door de CLI gepubliceerd via MQTT 3.1.1 QoS 0 (telemetry::mqtt; trust-telemetry --mqtt-tcp, --print-mqtt, format mqtt). | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe: de pakketten zijn gelezen door een voor de test geschreven loopback-listener, niet door een echte broker, en Home Assistant is niet uitgevoerd | telemetry::mqtt (discovery, state_json, connect_packet, publish_packet, MqttSink); surface::TelemetryFormat::Mqtt | telemetry::mqtt::tests (packet bytes, loopback broker, dead broker counted); tests/receiver_trust_machines.rs::trust_telemetry_mqtt_text_has_discovery_then_state |
| ROS-2-pakket voor receiver-trust en gnss_lib_py-brug | Een ROS-vrije brug die positie- en satellietberichten als NMEA schrijft en ze via de Python-binding beoordeelt (integrations/ros2/kshana_trust), en een brug van gnss_lib_py NavData naar receiver-trust via het rtklib-pos-formaat (integrations/gnss_lib_py). | InternalConsistency | getoetst aan de eigen gesloten vorm of analytische identiteit: vangt transcriptie- en coëfficiëntfouten, maar is geen onafhankelijke externe referentie — Geen externe: de ROS-node is niet uitgevoerd op een live ROS 2-graaf en de veldnamen van ublox_ubx_msgs zijn niet gecontroleerd tegen een draaiende driver. gnss_lib_py (MIT) is uitgevoerd voor de bridgetest | integrations/ros2/kshana_trust (bridge.py, trust_node.py); integrations/gnss_lib_py/kshana_gnss_lib_py.py | tests/receiver_trust_machines.rs (rtklib_pos_runs_as_a_receiver_log: the format the gnss_lib_py bridge writes, run through receiver-trust); the Python tests of the bridges are integrations/ros2/kshana_trust/test/test_bridge.py (bridge with a mock engine), integrations/ros2/kshana_trust/test/test_engine_integration.py (the real wheel scores a steady fix nominal and a 1,1 km jump untrusted) and integrations/gnss_lib_py/test_bridge.py (real gnss_lib_py 1.1.0 and the wheel), run with pytest, not by cargo |
221 mogelijkheden met het label MODELLED.