Modelované schopnosti — zdůvodnění
Tyto schopnosti jsou implementovány z publikované nebo z prvních principů odvozené fyziky a mají testy, ale jsou otevřeně označeny MODELLED — nebyly ověřeny proti nezávislému vnějšímu orákulu s uvedenou tolerancí. Invariantní testy matice vynucují, že označení VALIDATED smějí nést pouze řádky opřené o ExternalDataset, takže zde nelze nic tiše povýšit. Každý řádek uvádí, proč zůstává modelovaný.
| Požadavek | Schopnost | Druh orákula | Proč zůstává modelovaný | Modul | Testy |
|---|---|---|---|---|---|
| Stín SRP se slunečním ztmavením k okraji (volitelné) | Osvětlený podíl SRP jako nezakrytá část slunečního toku se ztmavením k okraji (zákon aproximace Eddingtona I(mu)/I(1) = 2/5 + 3/5 mu, Gaussova–Legendreova kvadratura) nad sférickou nebo WGS-84 Zemí (srp_shadow::limb_darkened_shadow, varianta ShadowModel OblateEarthLimbDarkened) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné vnější: Orekit 12,2 nemá poměr osvětlení se ztmavením k okraji. Ověřeno pouze proti uzavřeným tvarům téhož zákona | srp_shadow | srp_shadow::tests (prstencový uzavřený tvar, rovnoměrný zákon reprodukující kuželový stín, meze plného Slunce a umbry) |
| Slunce a Měsíc z DE440 v silovém modelu Cowell (volitelné) | Volitelná efemeridová úroveň pro členy třetího tělesa a SRP numerického ForceModel Cowell: geocentrické Slunce a Měsíc z libovolného EphemerisProvider (jádro DE440 SPK přes KernelEphemeris) při TDB = TT + (TDB - TT), odmítající poskytovatele, který nemůže obsloužit epochu, a započítávající každý návrat k analytické řadě; ve výchozím stavu vypnuto | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Orekit 12,2 (Apache-2.0) NumericalPropagator/DormandPrince853 s ThirdBodyAttraction a SolarRadiationPressure na vlastním čtečce DE440 v Orekitu (orekit-data lnxp1990.440), spuštěný jako samostatný program; kshana čte bit po bitu shodný, SPICE-ověřený výřez NAIF de440s.bsp. Prahy předregistrované v xval/propagator-de440-orekit/PREREGISTRATION.md (22a5a01d). Práh pro dráhu (0,5 m) i citlivostní kontrola jsou splněny, ale práh pro polohu Slunce a Měsíce (3 m / 0,2 m) nebyl dosažen: 6,39 m / 0,244 m. SPICE čtoucí stejné jádro v jeho přesném TDB se od Orekitu míjí o stejnou hodnotu (6,25 m / 0,240 m), takže rozdíl leží mezi cestou NAIF de440s a čtečkou DE440 či časovou škálou Orekitu; příčina nebyla izolována. Zaznamenáno a zafixováno, takže řádek zůstává MODELLED | propagator (ForceModel::with_ephemeris, ForceEphemeris), ephem_provider | tests/propagator_de440_orekit_oracle.rs (5 případů × 25 hodinových stavů za 24 h, LEO, GEO a HEO, třetí těleso a třetí těleso + SRP: nejhorší |dr| 0,0170 m, |dv| 1.84e-5 m/s; analytická kontrola řady se míjí o 9,96 m; Slunce 6,39 m a Měsíc 0,244 m od poloh DE440 v Orekitu, zaznamenaný nezdar); jednotkové testy propagátoru (odmítnutí poskytovatele, počítání záloh sdílené napříč klony) |
| Atmosférický příliv S1 (volitelné) | Denní příliv tlaku vzduchu S1 jako porucha geopotenciálu: model N1 Biancale a Bode (2006), stupně 2 až 6, přes vzorec zatížení IERS 2010 rov. 6,21 (tides::atmospheric_tide_s1, s1_air_tide_acceleration), volitelné v silových modelech Cowell a přesných (air_tide_s1, ve výchozím stavu vypnuto) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné vnější pro účinek geopotenciálu. 24 koeficientů je přepsáno z GFZ STR06/01 Tabulka 1 model N1 a znovu zkontrolováno řádek po řádku proti zprávě (SHA-256 890865ae); stupně 0, 1, 7 a 8 se nepoužívají. Ray a Ponte (2003) netisknou žádnou tabulku sférických harmonických, takže nebyl porovnán žádný druhý zdroj | tides, propagator, precise_od | tides::tests (člen S1 je denní, za čtvrt dne se otočí o 90 stupňů a má amplitudu zatěžovacího faktoru každého řádku; fyzikální velikost na LEO); propagator::tests::the_s1_air_tide_flag_adds_exactly_the_s1_acceleration |
| Gravitace pomocí sférických harmonických vysokého stupně (EGM2008 do 2190) | Vyhodnocení plně normalizovaného pole do stupně 2190 bezpečné vůči podtečení a pólům (SphericalHarmonicField::acceleration_hf / potential_hf, modifikovaný dopředný sloupec Holmes-Featherstone 2002 s gradientem bez 1/cos phi), proudový načítač ICGEM .gfc (from_gfc_file / from_gfc_reader; úplné EGM2008 se stahuje za běhu, není přibaleno) a vyhodnocovač Holmes-Featherstone volitelný na volitelném Cowell Geopotential | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Orekit 12,2 (Apache-2.0) HolmesFeatherstoneAttractionModel a pyshtools 4.14.1 (BSD-3-Clause) MakeGravGridPoint, spuštěné jako samostatné programy; prahy předregistrované v xval/high-degree-gravity/PREREGISTRATION.md (276c869f) a xval/cowell-tesseral-200-orekit/PREREGISTRATION.md (0aa312a6). Orekit souhlasí všude, kde je definován, ale pyshtools nesplňuje svůj předregistrovaný práh ve dvou bodech blízko pólu (až 7.3e-10 m/s^2; 50místná kontrola v mpmath klade chybu do pyshtools), přesně na polární ose neexistuje žádná hodnota orákula a předregistrovaná kontrola citlivosti na stupeň 70 pro 24h dráhu nebyla splněna (0,726 m proti > 1 m). Každý nezdar je zaznamenán, ne vyladěn pryč, takže řádek zůstává MODELLED | gravity_sh, propagator (FieldEvaluator) | tests/gravity_sh_high_degree.rs (Orekit v 8 bodech mimo osu: max |da| 2.2e-17 m/s^2 při N = 70, běží vždy; 3.5e-17, 3.9e-17 a 7.3e-17 m/s^2 při N = 200, 360, 2190, podmíněno daty v KSHANA_EGM2008_GFC); tests/cowell_tesseral_200_orekit_oracle.rs (24h dráha 200x200, podmíněno daty: nejhorší |dr| 0,1317 m, |dv| 1.45e-4 m/s; kontrola stupně 70 0,726 m); jednotkové testy gravity_sh (shoda s klasickým vyhodnocovačem na 1e-13 při stupni 70, konečná diference a spojitost na pólu u pole stupně 2190, podtékající člen stupně 2190 proti výpočtu s rozšířeným exponentem) |
| Dávkové určování oběžné dráhy z rychlosti změny vzdálenosti a az/el s maskováním stanice | Obnovení stavu v epoše ze smíšeného měření vzdálenosti, rychlosti změny vzdálenosti a azimutu/elevace nad elevační maskou metodou Gauss-Newton na H = (dh/dx(t)) Phi(t, t0): analytické parciální derivace měření a variační matice přechodu stavu s analytickými parciálními derivacemi dvou těles + J2 (integrovaná RK4, nikoli matice přechodu stavu v uzavřeném tvaru) | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Orekit 12,2 (Apache-2.0) BatchLSEstimator s vlastními okamžitými geometrickými měřeními RangeRate a AzEl (křížově zkontrolovanými proti TopocentricFrame), spuštěný jako samostatný program na shodných maskovaných pozorováních s pevným seedem. Prahy předregistrované v xval/od-measurements-orekit/PREREGISTRATION.md (0cf9076). Každý práh je splněn kromě B4, shody stavu bez šumu na 1 cm, který nebyl dosažen u 2 ze 4 scénářů (1,46, 1,74 cm): Orekitův vlastní odhad bez šumu leží tak daleko od jeho simulované pravdy (příčina na straně Orekitu nebyla izolována). Zaznamenáno a zafixováno, takže řádek zůstává MODELLED. Nemodelováno: světelný čas, aberace, refrakce, rotace Země, sekvenční filtr pro tyto typy měření | orbit_determination (determine_orbit_batch_tracking, propagate_with_stm, is_visible), batch_ls (gauss_newton_analytic) | tests/od_tracking_measurements_reference.rs (8 scénářů: rychlost změny vzdálenosti, az/el a smíšené, LEO a MEO, bez šumu i s šumem sigma 5 m / 5 mm/s / 1e-4 rad, masky 5 a 10 stupňů, proti Orekitu 12,2: množiny viditelných družic shodné; hodnoty měření do 5.84e-8 m, 6.30e-10 m/s, 1.44e-13 rad; STM do 1.2e-14 relativně; zašuměné stavy do 1,74 cm a 1.14e-5 m/s; RMS po proložení pro jednotlivé typy do 2.7e-4 relativně; kshana bez šumu proti pravdě 1.06e-8 m; kshana bez šumu proti Orekitu 1,464 a 1,740 cm u dvou scénářů, zaznamenané nesplnění prahu 1 cm); jednotkové testy orbit_determination a batch_ls |
| Vážení pozorování podle kódu přesnosti SP3 | Mapování kódů přesnosti SP3 (hlavička ++ exponenty v 2^n mm, základ %f, směrodatné odchylky base^n mm v jednotlivých záznamech) na sigma polohy pro jednotlivá pozorování v enginu přesného určování oběžné dráhy (sp3::parse_sp3_accuracy, Sp3Accuracy::position_sigma_m) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné vnější: váhy jsou volbou modelování (formát SP3 definuje kód pouze jako ukazatel přesnosti od producenta; zde se čte jako jednosigmová hodnota pro každou osu). Stávající zaznamenané běhy agentur zůstávají beze změny | sp3, precise_od | src/sp3.rs unit tests; tests/agency_galileo.rs::galileo_e11_sp3_accuracy_weighted_fit (zapsaný 8h fixture ESOC, sigma 0,032 m z exponentu v hlavičce 5: Tier-1 3D RMS 0,132 m beze změny, Tier-2 0,035 m proti 0,070 m při sigma 1 m, změna pochází z přebalancovaného empirického apriorního omezení); tests/agency_swarm.rs (produkt Swarm nenese kódy přesnosti a přejde na náhradní postup, zafixováno) |
| Připojení publikovaného gravitačního pole k tělesu | with_gravity_field (na Body, v src/gravity_pds.rs): připojí libovolné načtené sférickoharmonické pole (například GMM-3 nebo GL0660B) k Body, takže je propagátor vyhodnocuje v pevné soustavě tělesa; volitelné, výchozí tělesa beze změny | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Pouze vnitřní konzistence. Každé publikované pole je definováno v tělesně pevné soustavě svého producenta (GMM-3 v marsovské soustavě Konopliv a kol. 2006, GL0660B v soustavě hlavních os Měsíce DE421), zatímco pole se vyhodnocuje v soustavě IAU; posun není modelován | 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 |
| Kodéry navigačních zpráv nad rámec GPS LNAV (GPS CNAV, Galileo I/NAV a F/NAV) | Typy zpráv GPS CNAV 10/11/30, typy slov Galileo I/NAV 1-5 v nominálních sudých/lichých stránkách a typy stránek Galileo F/NAV 1-4: balení polí ICD a kvantizace, CRC-24Q, konvoluční kódování s rychlostí 1/2 K=7 (G2 invertováno pro Galileo), blokové prokládání a synchronizační vzory, s odpovídajícími testovacími dekodéry | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní zpáteční průchod a známé odpovědi z ICD; nebyl spuštěn žádný dekodér třetí strany (harness RTKLIB/GNSS-SDR čtoucí KSHANA_NAVMSG_ORACLE_JSON je podmíněn daty). MODELLED | gnss_navmsg (gps_cnav, gal_inav, gal_fnav, fec) | gnss_navmsg::tests (kontrolní hodnota CRC-24Q 0xCDE703; impulzní odezva konvolučního kódu; Viterbi opravuje vložené chyby; šířky rozvržení); tests/gnss_navmsg_roundtrip.rs (počáteční bity polí se rovnají číslům bitů v ICD; kódování -> FEC -> prokládání -> Viterbi -> dekódování se vrací v rozmezí půl LSB); tests/gnss_navmsg_galileo_brdc_grid.rs (záznamy IGS BRDC 2018-133 Galileo na mřížce LSB, nejhorší 3.6e-3 LSB; předregistrovaný práh počtu družic nebyl dosažen, 15 z 20, NÁLEZ) |
| Hatchovo vyhlazení kódu nosnou na skutečných pozorováních RINEX | Hatchův filtr bez divergence (kód bez vlivu ionosféry nesený nosnou bez vlivu ionosféry, okno N epoch, restart při ztrátě zachycení, skoku bez geometrie nebo mezeře) v sestavě přesného určení polohy z jednoho bodu | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — NÁLEZ proti publikované souřadnici ITRF2020 WTZR: předregistrované prahy (vyhlazený medián a p95 nejvýše 0,6 × surová hodnota; tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_HATCH.md) nebyly dosaženy, poměry 0,718 a 0,923; zbytková chyba v řádu metrů má povahu zkreslení (kódové zkreslení C1C, anténa, slapy, dlouhoperiodické vícecestné šíření), nikoli bílého šumu, který vyhlazování odstraňuje. MODELLED: statistiky filtru jsou kontrolovány vnitřně | hatch (HatchFilter), pvt (assemble_epoch_precise_smoothed, CarrierSmoother) | hatch::tests (průchod bez šumu; rozptyl bílého šumu 1/(2N-1); restarty); tests/hatch_wettzell_oracle.rs::hatch_finding_is_pinned (WTZR 2025-02-24 01-06 h, 600 epoch, N = 100: medián 3D chyby 1,553 -> 1,116 m, p95 3,473 -> 3,207 m) |
| Čtení pozorovacích souborů RINEX 4 | Hlavičky pozorování RINEX 4.0x (DOI, LICENSE OF USE, STATION INFORMATION, MERGED FILE; popisky se párují ve sloupcích 61-80 pro verzi 4 a novější) a záznamy epoch | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Shoda formátu na skutečném publikovaném souboru RINEX 4,00 (zpětně načtené hodnoty se rovnají vytištěným literálům souboru) a hlavičce odvozené ze specifikace; nebyl spuštěn žádný nezávislý čtecí program, proto MODELLED | rinex_obs (parse_obs) | tests/rinex4_obs_mao0.rs (první 4 epochy souboru IGS MGEX RINEX 4,00 MAO000USA_R_20231980000_01D_30S_MO, 58 družic, 7 systémů: záznamy hlavičky a hodnoty první epochy se rovnají publikovaným literálům); rinex_obs::tests::parses_a_rinex_4_header_with_its_new_records (syntetická hlavička 4,02 ze specifikace) |
| Poloha geostacionární družice BeiDou z vysílaných efemerid | BDS-SIS-ICD-B1I v3.0 §5.2.4.12 poloha geostacionární družice z vysílaných efemerid (soustava podobná inerciální, poté Rz(Ω̇e·tk)·Rx(−5°)), volitelná přes pole include_beidou_geo v NavParseOptions, takže výchozí čtečka GEO stále přeskakuje | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Předregistrováno (7aa264b, 110fef9) proti přesné dráze IGS MGEX včetně GEO; žádný takový produkt nebyl ze session, která jej vytvořila, dosažitelný, takže porovnání čeká a řádek je MODELLED (ověřeno pouze proti publikovaným nominálním slotům GEO) | rinex (RinexEphemeris::sv_position_ecef_bds_geo, NavParseOptions) | tests/bds_geo_broadcast_oracle.rs (skutečné záznamy C01-C04: geostacionární poloměr, délky 140.02/80.04/110.55/159.99 stupňů v publikovaných slotech, |šířka| 2,13 stupně se sklonem oproti 6,65 bez něj; předregistrované porovnání vysílané dráhy s přesným SP3 je podmíněno daty v KSHANA_BDS_GEO_SP3 a nebylo spuštěno); rinex::tests |
| Těsně vázané GNSS/INS s fází nosné a plovoucími nejednoznačnostmi | Chybový stavový EKF nad 15 stavy INS, dvoustavovými hodinami přijímače a jednou plovoucí nejednoznačností nosné na sledovanou družici; pseudovzdálenost, fáze nosné a volitelně rychlost změny vzdálenosti z konstelace Walker SGP4 (světelný čas a Sagnac), korekce Klobuchar a Saastamoinen/Niell aplikované ve smyčce na vlastní poloze filtru; detekce skoků časově diferencovanou nosnou s prahem pro každou družici rozšířeným o nejistotu rychlosti; opětovná inicializace nejednoznačností při skocích a při opětovném zachycení | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence: měření jsou syntetizována z modelů, které filtr používá (χ² NEES/NIS přes seedy, konvergence bez šumu, vložení skoku). MODELLED; nesrovnává se se skutečnými daty přijímače ani s filtrem třetí strany | fusion::carrier_tc (run_carrier_tc, CarrierTcCfg), fusion::trajectory (truth_epochs) | tests/fusion_carrier_tc.rs (jízda po trase ve tvaru 8: ustálené 3D RMS 0,025 m s nosnou oproti 0,470 m s kódem na shodných měřeních; 12 seedů střední NIS/dof 1,00 a ustálené NEES/dof 0,92; skok o 1 cyklus zjištěn ve své epoše bez falešných poplachů a s neporušeným řešením; vypnutí vysílaných korekcí zvýší chybu kódu z 0,51 m na 19,6 m (iono) a 8,0 m (tropo); běh bez šumu konverguje na 0,3 mm) |
| Balíčky GNSS/INS pro námořní, železniční a letecký provoz s volbou těsné vazby | Tři scénáře gnss-ins nad knihovnou trajektorií (plavidlo kličkující rychlostí 8 m/s s pětiminutovým výpadkem; vlak průsekem se dvěma družicemi a tunelem; letadlo, jehož výpadek zahrnuje 25stupňovou zatáčku v náklonu) a volitelná tabulka [tight] balíčku: pseudovzdálenosti z konstelace Walker SGP4 sloučené navigátorem s uzavřenou smyčkou, při nominálním stavu každá družice nad maskou a při zhoršení nejvyšší z nich několik | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní: ukazatele kvality každého balíčku proti jeho vlastní pravdě a srovnání volné/těsné vazby na shodných vstupech. MODELLED; srovnání s NaveGo z auditu nebylo spuštěno | fusion::pack (TightCfg, [tight]), scenarios gnss-ins-maritime / gnss-ins-rail / gnss-ins-aviation | tests/gnss_ins_packs.rs (každý balíček: fúze pod volnou INS po dobu výpadku pro oba senzory; železnice: těsná 5,3 m oproti volné 12,9 m u navigační třídy a 15,6 m oproti 18,8 m u taktické třídy po dobu výpadku, dostupnost 0,97 oproti 0,95; těsná tabulka ověřena); tests/gnss_ins_legacy_trajectory_pin.rs (volně vázaná výchozí varianta bit po bitu shodná) |
| Svázaný filtr PNT z pseudovzdáleností se stavem posunu a rozšířením do 3-D v balíčku fúze | Jeden složený Kalmanův filtr nad polohou, rychlostí, fází hodin a frekvencí, krmený pseudovzdálenostmi, které svazují polohu a hodiny (aktualizace ve Josephově tvaru nesoucí křížovou kovarianci); varianta s 1 stupněm volnosti rozšířená o stav konstantního posunu akcelerometru, kterou balíček fúze spouští pod [coupled]; a 3-D verze s 8 stavy s řádky směru k družici | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence: pravda simulovaná z vlastních modelů filtrů (χ² NEES přes seedy Monte Carlo, oddělený balíček na shodných senzorech). MODELLED | fusion::coupled (CoupledPntFilter, CoupledPntBiasFilter, CoupledPnt3d), fusion (run_coupled_suite), hybrid (CoupledCfg) | tests/fusion_coupled_filters.rs (3D filtr přes 60 seedů: střední NEES druhé poloviny 8,12 pro 8 stavů, součet χ² v poslední epoše uvnitř pásma 95 %; oprava hodin o 0,1 ns sníží 3D sigmu polohy z 5,58 m na 3,07 m; filtr zkreslení přes 60 seedů: součet χ²(5) v pásmu, zkreslení do 3 sigma v 59 z 60; fusion-pnt-coupled se zkreslenými akcelerometry: p95 polohy 18,7 m / 90,0 m a integrita 1,00 / 0,97 u vázané varianty oproti 430 m / 4060 m a 0,006 / 0,000 u oddělené); fusion::coupled::tests; tests/fusion_coupled_pack.rs (fusion a hybrid bez [coupled] bit po bitu shodné) |
| Knihovna trajektorií GNSS/INS a import pravdy z CSV | Volitelné pohybové profily pro balíček gnss-ins (přímka, trajektorie ve tvaru 8, městské stop-and-go, stoupání letadla a koordinovaná zatáčka, průzkumný dron), definované příkazy Eulerových rychlostí a zrychlení podél trati uzavřenými na pravdivý stav s kinematickým IMU (odstředivé, gravitační a Coriolisovy členy), a importovaná pravdivá data CSV převedená na IMU, které je reprodukuje; historická jízda beze změny, není-li profil zadán | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní: identity kinematiky tuhého tělesa, zpáteční průchod CSV a vlastní kovariance filtru. MODELLED (neporovnává se žádný skutečný záznam jízdy) | fusion::trajectory (TrajectoryCfg, Trajectory, kinematic_imu, parse_truth_csv), fusion::pack ([trajectory]) | fusion::trajectory::tests (koordinovaná zatáčka nemá boční sílu a má zatěžovací faktor 1/cos φ; import CSV reprodukuje letěný profil na 1e-3 m/s a 1 m); tests/gnss_ins_trajectory_library.rs (každý profil běží a fúze překonává volnou INS po dobu výpadku; každý letí svůj pojmenovaný pohyb; pozorovatelnost kurzu: sigma vybočení po 240 s 1,27 stupně při přímém letu oproti 0,039 stupně při trase ve tvaru 8 a 0,062 stupně při stop-and-go); tests/gnss_ins_legacy_trajectory_pin.rs (zděděný výsledek a hashe pravdy bit po bitu shodné) |
| NRHO 9:2 v CR3BP Země–Měsíc proti dráze, kterou letěl CAPSTONE | Kruhová omezená jižní téměř přímková halo dráha 9:2 kolem L2, kterou opravuje cr3bp::differential_correct_halo (rodina drah Gateway a CAPSTONE), porovnaná podle střední geometrie (perioda, poloměr periluna, poloměr apoluna) s dráhou, kterou CAPSTONE skutečně letěl. Měření toho, jak dobře člen CR3BP popisuje skutečnou dráhu; dráha CR3BP není dráhou modelu efemerid a neporovnává se epochu po epoše | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Změřeno proti rekonstruované efemeridě CAPSTONE z JPL Horizons (NAIF -1176, CAPSTONE_merged, ICRF se středem v Měsíci, 2023-03-01..31 po 10 min), zapsané bajt po bajtu (tests/fixtures/capstone_horizons/, NOTICE.md), předregistrované 4e868170 před jejím stažením, jako měření s prahy na střední geometrii. Nejde o validaci: CR3BP vynechává Slunce, excentricitu Měsíce a udržování dráhy, které CAPSTONE prováděl, takže prahy popisují, jak reprezentativní je modelová dráha, nikoli přesnost. Výsledky: 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 březen 2023, 4 periluny a 5 apolun: perioda 6,5004 d oproti 6,5699 d (1,07 %, práh 3 %), apoluna 71 182 oproti 71 215 km (0,05 %, práh 5 %), periluna 3 385 oproti 3 245 km (4,1 %, práh 20 %)); cr3bp::tests::reproduces_l2_southern_nrho_92_regime |
| Chyba polohy z geometrie: chyba RMS = sigma_UERE x DOP pro řešení enginu metodou nejmenších čtverců | dop_error_mc::run_geometry a check: Monte Carlo se seedem (N = 20 000 epoch na geometrii, sigma = 1,5 m, seed ChaCha8 36 + i) vlastního iterovaného řešení enginu metodou nejmenších čtverců (pvt::solve_spp, jednotkové váhy, řešeno z pravé polohy) na 8 geometriích z tests/fixtures/dop/dop_reference.csv, porovnávající rozptyly chyb východ, sever, nahoru a hodin, RMS H/V/P, korelaci východ–sever, střední chyby a podíl uvnitř 95 % horizontální elipsy se sigma^2 Q, kde Q je kovarianční faktor jádra orbit::dop (orbit::dop_cofactor, stejná aritmetika) na téže geometrii | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence proti uzavřenému tvaru: v lineárním gaussovském modelu je kovariance metody nejmenších čtverců sigma^2 (H^T H)^-1 (Kaplan a Hegarty (eds.), Understanding GPS: Principles and Applications, 2. vyd., Artech House, 2006, kap. 7). Metoda a tolerance poznámky k návrhu geometrie 0,36, oddíl 5,2, zafixované v předregistračním commitu před prvním během: každý rozptyl do 5 % (5 standardních chyb výběrového rozptylu při N = 20 000), každé RMS do 2,5 %, korelace východ-sever do 0,035 (5/sqrt(N)), každý průměr do 5 standardních chyb, podíl elipsy 95 % v rozmezí 0,95 +/- 0,0077 (5 binomických standardních chyb); negativní kontroly (PDOP zdvojnásobený; chyby rostoucí jako 1/sin(elevace) proti nevážené Q) musí selhat. JAK SE SKLÁDÁ: Q je kovarianční faktor jádra orbit::dop, VALIDATED proti gnss_lib_py 1.0.4 na týchž 8 geometriích v tests/dop_reference.rs (řádek „GNSS geometry / dilution of precision“); tento řádek přidává krok od těchto faktorů k metrům přes řešič enginu a nepřebírá stav onoho řádku. PROČ MODELLED: není zapojena žádná externí datová sada; shoda ukazuje, že odhadovač a šum realizují sigma × DOP podle učebnicového modelu, nikoli že chyba kteréhokoli přijímače se rovná UERE × DOP, a sigma_UERE je vstup | 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: všech 104 kontrol projde při prvním běhu po předregistraci e50c88d2, nejhorší rozptyl 3,2 %, RMS 1,6 %, korelace 0,012, průměr 2,2 standardní chyby, podíl elipsy 0,0039; negative_control_a_doubled_pdop_fails_every_geometry; negative_control_elevation_dependent_errors_fail_the_low_elevation_geometries: obě kontroly selžou, jak je požadováno; position_error_is_sigma_times_dop_on_masked_skies: dvě geometrie s maskovaným horizontem z poznámky k návrhu, obloha 10sat-mixed pod předvolbou městské ulice (4 družice, PDOP 16,6) a kontejnerového terminálu (9 družic, PDOP 2,5), všech 26 kontrol projde při prvním běhu po předregistraci 03999c11, tests/fixtures/dop/PREREGISTRATION-MASKED.md); tests/position_error_dop_ci.rs (první, samostatná kontrola na čtyřech ručně zvolených oblohách (otevřená, shluková, kaňon, poloviční obloha; sigma 1 m, seed 0x0D0B5EED) s intervaly spolehlivosti chí-kvadrát na 1e-6 celkem přes 20 kontrol: poměry 0,987 až 1,009, vlastní PDOP/GDOP řešiče se rovnají hodnotám jádra na 2.5e-12 a negativní kontroly pro chybu DOP 10 % a chyby 1/sin(elevace); spuštěno před předregistrací, takže je uvedeno, nikoli předregistrováno); dop_error_mc::tests; dop_error_ci::tests |
| Klasifikace důvěry s ohledem na geometrii: geometrie družic vedle skóre důvěry v přijímač a třída u každé srážky | receiver_trust::geometry: geometrie družic pro každou epochu (dobrá, zhoršená s důvody few-satellites/high-pdop/high-hdop/sky-blocked, nebo neznámá, když log neobsahuje GSV, NAV-SAT ani GSA) odvozená z hlášených elevací a azimutů přes orbit::dop nebo převzatá z GSA, se štítkem vždy hlášeným a nikdy nehodnoceným (good, fair, poor, unknown) a s HDOP, PDOP, VDOP, počtem družic a ztrátou signálu slovy; monitor geometrie skóre plavidla, který nesráží nic, dokud geometrie není špatná (poměr max(hdop/4, pdop/6, 5/n_used) nad 1), pak se zvyšuje až ke stropu 15 bodů při 1,5, který samotná geometrie nemůže stáhnout pod zhoršené pásmo (strop, konec rampy a spodní mez v [geometry]; žádný alarm); třída u každé srážky (geometrie, prostředí, nekonzistence) se ztrátou zachycení u družic pod 15 deg zařazenou jako geometrie, družicemi v dohledu, ale nesledovanými zařazenými jako prostředí, a srážkou za špatnou geometrii, jejíž uvedené HDOP je mimo max(1,0, 25 % odvozeného HDOP) od uvedené oblohy, zařazenou jako nekonzistence | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence: klasifikace je kontrolována proti pravidlům, která uvádí, a proti ručně odvozeným poměrům na syntetických úpravách zapsaného demonstračního záznamu a pojistky beze změny drží výstupy 0.35.0: žádné skóre se nemění, pokud není geometrie špatná; označení se hlásí vždy. PROČ MODELLED: prahy jsou zvoleny, nikoli fitovány (původ v geometry_model každého běhu; hodnoty IEC 61108-1 a GPS SPS tak, jak jsou citovány, je třeba ověřit proti textu norem) a neexistuje žádná externí označená datová sada přirozeného zhoršení geometrie oproti útokům, proti níž by se klasifikace dala ověřit. Odvozený DOP využívá jádro orbit::dop, VALIDATED proti gnss_lib_py, jehož stav tento řádek nepřebírá. Třída geometrie je tvrzení o obloze, nikoli zjištění, že k útoku nedošlo | 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: na syntetickém průjezdu fjordem ze scenarios/training/fjord-natural-degradation.toml se stejných 624 epoch srazí se zadaným [skyline] i bez něj; s ním se sky-blocked hlásí na 680 epochách (0 bez něj: náhradní postup mezery v azimutu nevidí nic v oboustranném fjordu), open_fraction je 0,758 a epochy třídy prostředí klesnou z 78 na 33, přičemž zbytek jsou ztráty družic, které zadaný horizont ponechává na volném prostranství; mimo událost horizont žádné skóre nemění); receiver_trust::geometry::tests (ručně odvozené poměry na prazích, hrany prahů, rampa a strop, spodní mez, hrany označení, přepsání [geometry], DOP na ověřeném jádru, držené a vypršelé oblohy, neznámé nehádané, ztráta signálu, tolerance špatné geometrie, sentinely bez řešení); tests/geometry_trust.rs (spravedlivě maskovaná obloha označená a nehodnocená, špatně maskovaná obloha, ztráta nízké elevace, pokles výkonu, padělaný HDOP, úplná ztráta signálu, odtažení při špatné geometrii, neznámá geometrie, přepsání relace, živé schéma); tests/geometry_trust_no_change.rs (obě ukázkové relace bajtově shodné s 0.35.0 po odstranění přidaných klíčů); tests/geometry_corpus_identity.rs (každý zapsaný korpus NMEA plavidla, také jako otevřená obloha pouze GPS, a výcvikové scénáře posádek: bajtově shodné s 0.35.0 kromě špatných epoch, které se liší pouze srážkou za geometrii) |
| Redukce městského kaňonu, sektorů a terénu na tabulku | skyline: městský kaňon v uzavřeném tvaru (řez atan((h - a) / d) pro d = (w/2) / abs(sin(az - s)), otevřené konce pro konečnou délku), ostře ohraničené sektory po směru hodinových ručiček s přechodem a body terénu redukované na tabulku se zakřivením zemského povrchu d^2/(2 * 4/3 R); obzor je jejich bodové maximum s libovolnou tabulkou | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní: uzavřené tvary jsou kontrolovány proti ručně vypočteným hodnotám (elevace horních hran zdí zadané ulice, podmínka otevřeného konce, pokles zakřivení zadaného bodu). Žádné vnější orákulum: poznámka k návrhu vymezuje tyto redukce jako MODELLED a ElevationMask v Orekitu bere tabulku, takže srovnání řádku „Azimuth-dependent skyline mask: visible set, azimuth and elevation, and DOP under the mask“ čte jejich 360bodové tabulky jako vstupy a nekontroluje je | 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) |
| Předvolby obzoru (městská ulice, přístav, fjord, kontejnerový terminál) | skyline::PRESETS: čtyři REPRESENTATIVE geometrie s rozměry uvedenými v návrhové poznámce a s jedním řádkem původu každá: city-street (kaňon, ulice 0 deg, 20 m mezi zdmi vysokými 30 m, anténa 1,5 m), harbour-approach (sektory: otevřeno k moři v rozsahu 180 deg, nábřežní budovy 8 deg v rozsahu 90 deg, vlnolam 3 deg), fjord (terén: stěny 600 m nad anténou ve vzdálenosti 1,5 km po obou stranách severojižního kanálu, uplatněn pokles způsobený zakřivením), container-terminal (sektory: stohy 12 deg nad pevninskou polovinou, výložníky jeřábů 35 deg a 25 deg nad dvěma úzkými sektory); lze přepsat pole po poli | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné: zvolené a uvedené rozměry, nikoli průzkum žádné ulice, přístavu, fjordu ani terminálu (poměr stran ulice leží v pásmu 0.5-2 podle Oke (1988); fjord je řádově jako západonorské fjordy; kontejnerové stohy používají výšku ISO 668 high-cube). Test kontroluje předvolby proti jejich vlastním uvedeným rozměrům, jde o kontrolu přepisu, kterou pravidlo ověřování nezapočítává | skyline (PRESETS, preset, preset_list) | skyline::tests (presets_carry_the_note_dimensions_and_provenance) |
| Funkce geometrie oblohy: viditelnost, DOP, kovariance, chybová elipsa, mrak Monte Carlo | geometry (sky_geometry, sky_monte_carlo, skyline_presets, skyline_profile, skyplot_svg; CLI kshana sky a kshana skyline, funkce Pythonu a WASM stejných názvů, MCP sky_geometry): z místa, času a předvoleb konstelací (nebo družic zadaných jako azimut/elevace či ECEF) družice viditelné a maskované obzorem, GDOP/PDOP/HDOP/VDOP/TDOP, jednotkový kofaktor (H^T H)^-1 a kovariance ve východ–sever–nahoru s jedněmi hodinami přijímače na systém nebo jedněmi společnými, horizontální chybová elipsa (poloosy k sigma sqrt(lambda), k = sqrt(-2 ln(1 - p)), orientace 0,5 atan2(2 Q_EN, Q_NN - Q_EE) od severu) a n chyb metodou nejmenších čtverců se seedem při nezávislých gaussovských chybách vzdálenosti s jejich empirickou kovariancí, RMS a 95 % oblastí zahrnutí. Kofaktorem je orbit::cofactor_from_los, jediné jádro za orbit::dop a orbit::dop_cov (dop je redukce dop_cov): žádná druhá implementace DOP |
ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnějším autoritativním zdrojem — Faktory DOP s jedněmi hodinami stojí na jádru ověřeném proti gnss_lib_py 1.0.4 (řádek „GNSS geometry / dilution of precision (DOP)“); vlastní kontroly tohoto řádku jsou vnitřní: sky_geometry reprodukuje orbit::dop a dop_cov na téže geometrii, elipsa reprodukuje analytický rozklad 2x2 na vlastní čísla, vstupy v ECEF a v azimutu/elevaci se shodují a RMS a 95 % uzavření oblaku se seedem se shodují s geometrií. Kovariance ENU s jedněmi hodinami na systém a elipsa jsou VALIDATED v řádku „Horizontal error ellipse and per-system cofactor from the geometry covariance“ (numpy, P2); zde zůstává MODELLED složení: šíření předvolby na reprezentativní oblohu, oblak Monte Carlo (ověřený proti geometrii, kterou vzorkuje, tedy kontrola vnitřní konzistence) a povrchy. Předvolby konstelací dávají reprezentativní oblohu, nikoli oblohu k určitému datu; gaussovský model chyb a UERE jsou zadané vstupy, nikoli změřená přesnost ani mez integrity | 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 (jádro s jedněmi hodinami proti gnss_lib_py) |
| Holdover hodin bez GNSS | Růst chyby při setrvání v uzavřeném tvaru + holdover do prahu; třídy kvantových hodin | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnějším autoritativním zdrojem — Vícekroková rekurze kovariance clock_state (křížová kontrola v téže kódové základně); základní jádro rozptylu při doběhu a inverze holdoveru je externě ověřeno proti scipy (viz „Clock-holdover coast-variance & threshold inversion“). Hodnoty holdoveru se šumovým pozadím po třídách zůstávají MODELLED | holdover | holdover::tests (proti vícekrokové rekurzi kovariance Kalmanova filtru; přesné white-FM; zpáteční průchod); jádro rozptylu při doběhu externě ověřeno v tests/gnss_denied_clock_holdover_reference.rs (proti scipy Van-Loan/brentq) |
| Karty změřených hodinových zařízení (predikce na zadržených datech) | clock_library: karta zařízení (bílý šum fáze, bílý, flicker a náhodná procházka FM plus lineární drift frekvence) fitovaná na jednu třetinu pojmenovaného změřeného záznamu hodin po zaznamenaném čisticím průchodu (odstraněny mezery, fázové odlehlé hodnoty, fázové skoky, shluky; zaznamenány skoky frekvence), vážená stupni volnosti typů šumu určenými z lag-1, a její predikovaná Allanova odchylka vyhodnocená na zadržených dvou třetinách; čtečky souborů hodin RINEX a IGS, souborů BIPM pro jednotlivé laboratoře a Circular T oddíl 1; převod karty na model šumu časování slotů, rozšířený Kalmanův model hodin a úrovně šumu monitoru spoofingu | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Změřené záznamy, utajené (held out): finální kombinované hodiny IGS po 30 s 11 družic GPS Block IIF za 2026-03-01 až 14 (okno, které žádný test neotevřel; IGS, otevřené s uvedením zdroje) a přijímač u-blox ZED-F9P z JammerTest 2024 v jeho nehodnocených stacionárních relacích (GPL-3.0-or-later). Externí srovnání D9 (předregistrováno 2ec76864, předpovězená / změřená Allanova odchylka každé karty v rozmezí [1/1.5, 1,5] při jejích fitovaných průměrovacích časech), nález (zůstává MODELLED): 10 z 11 karet GPS IIF je v rámci prahu; G27 je optimistická v dvouhodinovém měřítku (0,662 při 7680 s, nejhorší faktor 1,510), tedy periodická chyba v hodinovém měřítku, kterou karta s mocninným zákonem nenese. Karta TCXO přijímače je zablokována: mimo zaznamenaná vysílání zbývá v ostatních relacích datové sady 167 epoch proti požadovaným 3600. Uvedeno, nikoli naslepo (záznamy otevřené dřívějšími řádky): karta cesiových hodin 5071A je v rámci prahu (nejhorší 1,070 do 4096 s), karta OCXO je konzervativní a mimo něj (2,348 při 128 s; její šumové pozadí se během záznamu mění) a karta stroncia Norcia fitovaná na třech nejkratších publikovaných bodech je v něm ve dvou hodnocených bodech (1,291, 1,405). Pasivní vodíkové masery Galileo (není dosažitelný žádný zdroj finálních hodin Galileo bez přihlášení) a Deep Space Atomic Clock (jedna otevřená hodnota z kosmu) jsou zablokovány. D9 kolo 2, TCXO přijímače ZED-F9P jako třída modelu na 14 dnech 12 statických stanic Wroclaw (Zenodo 6488497, CC BY 4,0; předregistrováno fb475550), nález: s registrovaným postupem nešlo 11 z 12 stanic vyhodnotit (RAIM odmítl většinu epoch bez ionosféry) a BX14 selhala; zveřejněné opakování s opraveným postupem (předregistrováno c9cc0d49) projde u 1 z 11 stanic naslepo (BX12, 1,412; BX07 1,532 a BX13 1,542 těsně mimo), protože hodiny přijímače z jednobodových řešení z přerušovaných souborů po 30 s nejsou čistým záznamem oscilátoru | 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; předregistrováno 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; podmíněno daty) |
| Karty změřených hodin GPS Block IIF s členy na jednu oběžnou periodu (predikce na zadržených datech) | clock_library::card::DeviceCard::fit_phase_periodic: karta zařízení, která nese fázové členy jednou až čtyřikrát za oběh (perioda T/k, T = 43 082,05 s), fitované společně s kvadratickým členem metodou nejmenších čtverců na jedné třetině změřeného záznamu hodin družice, přičemž příspěvek každého členu k Allanově odchylce má uzavřený tvar 4 A^2 sin^4(pi tau / P) / tau^2 v predikované Allanově odchylce | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Změřené záznamy, utajené (held out): finální kombinované hodiny IGS po 30 s 11 družic GPS Block IIF za 2026-04-01 až 14 (okno, které žádný test neotevřel; IGS, otevřené s uvedením zdroje). Externí srovnání D9 (předregistrováno fb475550, předpovězená / změřená Allanova odchylka v rozmezí [1/1.5, 1,5] při každém fitovaném průměrovacím čase na každé družici), nález (zůstává MODELLED): 9 z 11 karet je v rámci prahu; G03 (1,947) a G25 (1,581) jsou optimistické mezi 60 s a 2000 s, protože jejich utajené záznamy jsou zašuměnější než jejich fitované třetiny (utajená část G25 nese 16 mezer a 29 odlehlých hodnot fáze), tedy změna hodin, nikoli chybějící periodický člen. Vypuštění periodických členů z předpovědi selže u všech 11 karet (1,77 až 4,96), takže předpověď nesou tyto členy | clock_library (card) | tests/clock_library_periodic_cards_oracle.rs (periodic_cards_reproduce_the_recorded_finding; předregistrováno fb475550); clock_library::card::tests (a_periodic_card_carries_the_sinusoid_a_power_law_card_cannot) |
| Odhad stavu palubních hodin | 3stavový (fáze/frekvence/drift) Kalmanův model hodin podle Van Loana, stabilizovaný podle Josepha | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnějším autoritativním zdrojem — filterpy 1.4.5 KalmanFilter (R. Labbe, MIT), s F přes scipy.linalg.expm a Q přes blokovou matici Van-Loan 1978 — nezávislá referenční implementace reprodukující celou trajektorii filtru kshana. Konzistence mezi implementacemi: fyzika hodin / kalibrace Allanovy odchylky nejsou externě ověřeny, takže zůstává MODELLED. Externí srovnání 0,30, nález (zůstává MODELLED): na finálních hodinách IGS po 30 s u 11 družic GPS Block IIF (2025-08-17 až 30), s Q fitovaným na ADEV první poloviny a filtrem hodnoceným na utajené druhé polovině je filtr konzistentní o jeden krok dopředu (0,906 až 0,971 epoch uvnitř svého pásma 95 %, práh 90 %), ale na hodinovém horizontu je příliš sebejistý u 9 z 11 hodin (0,486 až 0,829) a součty jeho inovací leží mimo [2,4, 3,6] u 5. Fitovaný šum bílé fáze je nulový na každé družici a chyba v hodinovém měřítku (periodické členy, flicker FM) není ve 3stavovém modelu. 0,30 kolo 2, rozšířený filtr (flicker FM a stavy jednou a dvakrát za oběh) na nových utajených hodinách IGS z 2025-09-01 až 14 (předregistrováno 4b1a841e), nález (zůstává MODELLED): kritéria konzistence o jeden krok a o jednu hodinu platí na všech 11 družicích (0,948 až 0,988 a 0,907 až 0,996), ale kritérium součtu inovací selže u G24 (0,964) a G30 (1,929) proti [2,4, 3,6]. D9 kolo 3, rozšířený filtr z kola 2, ladění a kritéria beze změny po zafixovaném detektoru podmiňování clock_library, na nových hodinách IGS z 2026-04-01 až 14 (předregistrováno fb475550), nález (zůstává MODELLED): (a) jeden krok 0,941 až 0,968 a (c) průměr trojnásobného NIS 2,641 až 3,549 platí na všech 11 družicích; (b) jedna hodina selže u G09 (0,894) a G26 (0,876) proti 0,90 | clock_state | clock_state::tests (analytické Van-Loanovo Q; NEES; kladnost PSD); tests/clock_state_reference.rs (celá trajektorie predikce a aktualizace — stav x a kovariance P 3×3 přes 1925 kroků / 4 sady parametrů proti filterpy 1.4.5; nejhorší |relΔ| 2.8e-14); tests/clock_state_igs_holdout_oracle.rs::three_state_filter_on_held_out_igs_clocks_finding (zafixuje nález); 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 kolo 3) |
| Rozpočet chyb přenosu času | Dvoucestný přenos/TWSTFT (Sagnac), společný pohled GNSS, PPP; rozkmit spoje→vzdálenost | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Velikost Sagnacova jevu ověřena proti autoritativní PUBLIKOVANÉ HODNOTĚ — N. Ashby, „Relativity in the GPS“, Living Reviews in Relativity 6:1 (2003), rov. 1,29: obeplutí rovníku směrem na východ nashromáždí 207,4 ns (2ωA_E/c²); kshana reprodukuje 207,386 ns. Nezávisle potvrzeno RTKLIB 2.4.3 geodist() (Takasu, BSD-2-Clause), který nese stejnou geometrii 2Aω/c². Složený rozpočet BIPM TWSTFT transpondér / common-view / PPP nemá žádné vnější orákulum, takže schopnost zůstává modelovaná | timetransfer, timetransfer_adv | timetransfer::tests (vzájemné zrušení; identita Sagnacova jevu ve dvou tvarech); tests/time_transfer_error_budgeting_reference.rs (Sagnac při obeplutí rovníku = 207,386 ns oproti publikovanému Ashbyho 207,4 ns na <0,05 ns; a geometrie Sagnac/geodist křížově ověřená proti RTKLIB 2.4.3 geodist() přeloženému ze zdrojového kódu v C) |
| Modulace navigačního signálu a analýza sledování kódu | PSD BPSK-R/BOC, spektrální separace κ, Gaborova šířka pásma, jitter DLL, vícecestné šíření | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Křížová / autokorelace Goldových kódů GPS C/A shodná PŘESNĚ (celá čísla ±65/−1/63) s nezávislým generováním kódu podle IS-GPS-200; tvar PSD BPSK-R(1)/BOC(1 1) proti nezávislému periodogramu ve scipy. Uzavřené tvary modulace/SSC/DLL (Betz 2001 / Kaplan & Hegarty) zůstávají analytické, takže řádek zůstává MODELLED — ale dílčí tvrzení o korelaci kódů je externě shodné. 0,30 kolo 2, proti vytištěným hodnotám Betz 2001 a Hein a kol. 2006 (předregistrováno 9f4f2ce8, půl vytištěné jednotky), nález (zůstává MODELLED): všech 45 spektrálních buněk Tabulky 1, korelační hodnoty na 1 GHz, údaje o interferenci MBOC a 2 ze 3 posunů na Obr. 17 se shodují; první postranní laloky na 24 MHz, posun BOC(8 4) na Obr. 17 a každé nejhorší zkreslení vícecestného šíření na Obr. 18-21 (11 až 15 % nízko) se neshodují. Kshana a nezávislé vyhodnocení předregistrovaného čtení v NumPy se shodují, takže rozdíl leží v tomto čtení nebo v nezmíněném detailu článku; příčina nevyřešena | navsignal | navsignal::tests (BPSK vlastní SSC = 2/3R_c; PSD s jednotkovou plochou; DLL); tests/nav_signal_modulation_code_tracking_reference.rs (křížová / autokorelace Goldových kódů GPS C/A přesná shoda celých čísel proti nezávislému generování kódu podle IS-GPS-200; PSD BPSK-R(1)/sine-BOC(1 1) proti nezávislému periodogramu ve scipy); 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, zafixováno) |
| Výkon kvantového inerciálního senzoru | Akcelerometr na bázi interferometru se studenými atomy z prvních principů (k_eff·T², QPN) | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Publikované číselné vektory z primárních článků o CAI (přenosová funkce Cheinet 2008; citlivost Peters/Freier): k_eff·T² shodné přesně, ASD výstřelového šumu jednostranné dno do ~2× od každého publikovaného přístroje (skutečná zařízení nesou technický šum nad kvantovým dnem). Rozmezí, nikoli shoda. 0,30 kolo 2 (předregistrováno fcb9ac64), nález (zůstává MODELLED): rotační šum pouze QPN proti změřeným bodům Gauguet a kol. 2009 Obr. 14 dává poměry 0,695 až 0,788 ve třech připuštěných bodech (0,751 v pracovním bodě) a předregistrovaný práh 30 % mine o 0,5 bodu; dno QPN leží 21 až 31 % pod změřeným šumem, jak lze od modelu bez šumu laseru a detekce očekávat. Složení gradiometru odpovídá linii modelu QPN Janvier a kol. 2022 (poměr 1,013 až 1,017, reference). Změřený test nedokáže rozlišit chybu složení sqrt(2); to umí jen linie Janvier s nestejným kontrastem | inertial::quantum_imu | quantum_imu::tests (k_eff; Mach-Zehnder T²; rozmezí dna Freier-2016); tests/quantum_inertial_sensor_reference.rs (přenosová funkce |H(ω)|, k_eff·T² a ASD výstřelového šumu proti publikovaným číselným vektorům Cheinet 2008 / Peters / Freier); tests/quantum_inertial_measured_qpn.rs (gauguet_finding_qpn_floor_sits_below_the_measured_noise, zafixováno; gradiometer_qpn_line_matches_janvier_model) |
| Nejednoznačnost proužků / dynamický rozsah kvantového inerciálního senzoru | Dynamický rozsah nejednoznačnosti proužků Mach–Zehnder: odečet proužků s periodou 2π určuje maximální jednoznačnou měrnou sílu a_max=π/(k_eff·T²) a jednoznačný rozsah v rozlišovacích buňkách a_max/σ_a=π/σ_Φ nezávisí na optickém škálovacím faktoru – zisk citlivosti úměrný T² stojí jednoznačný rozsah v přesné shodě (doba interrogace vyměňuje rozlišení za rozsah, přičemž počet buněk zůstává dán fázovým šumem odečtu) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence interferometrického modelu proužků: hrana půlproužku, 2π-periodická struktura aliasingu a zrušení škálového faktoru v poměru rozsahu a rozlišení jsou uzavřené algebraické identity kontrolované proti vlastním funkcím enginu pro fázi a citlivost Mach–Zehnder — kontroly vnitřní konzistence, NIKOLI externí datová sada, takže řádek zůstává InternalConsistency. MODELLED ideální třípulzní nejednoznačnost proužků; žádné meze pro aberaci vlnoplochy ani ztrátu kontrastu na jednoznačný rozsah | inertial::quantum_imu | quantum_imu::tests (a_max leží na hraně půlproužku ±π s měřítkem rozsahu 1/T²; obnova zabalené fáze je přesná uvnitř [−a_max,a_max] a mimo něj se aliasuje přesně o 2·a_max; jednoznačný dynamický rozsah a_max/σ_a=π/σ_Φ je shodný pro dva velmi odlišné škálové faktory vlnová délka/T; metody CaiAccelerometer se shodují s volnými funkcemi) |
| Odolnost kvantové inerciální dead-reckoning navigace | Složený rozpočet polohy z biasu, škálovacího faktoru, VRW a poklesu stability během holdover | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnějším autoritativním zdrojem — Nezávislá integrace SDE metodou Monte Carlo v numpy dvakrát integrovaného šumu bílého zrychlení (ověřuje analytický rozptyl VRW skutečně nezávislým algoritmem) + kotva publikované hodnoty Groves 2013 pro členy zkreslení / škálového faktoru; čísla zařízení CAI kvantifikují hardware partnera a zůstávají MODELLED | inertial::quantum_imu (QuantumNavBudget) | budget_tests (zkreslení proti integrátoru AccelModel; VRW proti analytickému integrálu); tests/quantum_inertial_dead_reckoning_reference.rs (VRW proti nezávislé dvojité integraci šumu bílého zrychlení v numpy metodou Monte Carlo, nejhorší odchylka 0,42% do ±3% přes 6 dob doběhu; zkreslení/škálový faktor proti uzavřené hodnotě Groves 2013; zpáteční průchod holdoveru) |
| Odolnost vůči rušení (jamming) bez GNSS | Geometrický rozpočet spoje J/S, protirušicí C/N₀, ztráta zachycení pro jednotlivé družice | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Rovnice bilance spoje C/N₀ proti rušení křížově zkontrolovaná nezávislým odvozením v numpy (sdílí tentýž uzavřený tvar → InternalConsistency) plus charakterizace degradace C/N₀ ze skutečného JammerTest-2024. 0,30 kolo 2, zablokováno (zůstává MODELLED): změřený pokles C/N0 z JammerTest 2024 proti předpovědi z bilance spoje (předregistrováno 6a66994b, do 3 dB) nebyl spuštěn, protože poloha a nasměrování antény F8.1 v Bleiku a podíl L1 na výkonu vícepásmové rampy 1.6.4 nejsou zdokumentovány v katalogu testů ani v oficiálním záznamu | jamming | jamming::tests (broadband_q_equals_the_spectral_separation_closed_form a cw_q_equals_the_spectral_separation_closed_form: tabulka Q, CW a úzkopásmové 1, širokopásmové a rozmítané 2, zafixované na uzavřené tvary navsignal; a_cw_jammer_is_more_damaging_than_broadband_noise_at_equal_js); tests/gnss_denied_jamming_resilience_reference.rs (FSPL/J-S/efektivní C-N₀ proti nezávislému odvození v numpy bilance spoje Kaplan & Hegarty §9,4; skutečné C/N₀ z JammerTest monotónně klesá přes práh 25 dB-Hz); tests/jamming_jammertest_cn0_oracle.rs (předregistrováno, zablokováno, nespuštěno) |
| Detekce spoofingu | Bezpečnostní ukazatel kvality sloučený pro každou epochu: χ² podporované hodinami, RAIM, AGC, SQM | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Parametry scénářů TEXBAT (Humphreys 2012) — charakterizace, nikoli zafixované vektory. Externí srovnání 0,30, nález (zůstává MODELLED): na JammerTest 2024 (Bleik; data GPL-3.0) monitory na úrovni pozorovatelných (chí-kvadrát podporovaný hodinami, RAIM, selhání řešení) nevyvolaly poplach do 10 s od žádného z 8 vyhodnotitelných publikovaných začátků spoofingu (kde bylo okno před začátkem čisté, první poplach přišel 10,2 až 39 s po publikovaném začátku slotu) a tři okna před začátkem nesla falešné poplachy monitoru hodin (81, 64 a 173 epoch). Prvním pozorovatelným účinkem byla ztráta dvoufrekvenčního sledování GPS, nikoli nekonzistence RAIM. Publikované začátky jsou začátky slotů plánu s přesností na minuty; že předcházejí záznamu RF, je výklad, nikoli měření. 0,30 kolo 2, proti oficiálnímu záznamu pořadatelů JammerTest 2024 (přesnost na sekundy; předregistrováno 6a66994b s Hadamardem kalibrovaným třístavovým monitorem hodin bez západky), nález (zůstává MODELLED): monitor vyvolá poplach do 10 s u 4 z 10 zaznamenaných začátků; u ostatních šesti je 18 až 211 s pozdě nebo vyvolá falešné poplachy hodin před začátkem (1 u 2.1.4, 85 u 2.3.15). D9 kolo 3 (karta přijímače z ostatních relací jednotky JammerTest, předregistrováno 2ec76864) zablokováno: 167 trénovacích epoch proti 3600. D9 kola 4 a 4b (úrovně šumu z karty třídy modelu u-blox ZED-F9P, Wroclaw 2021, předregistrováno fb475550; 4b zveřejněné opakování s opravenou extrakcí, c9cc0d49), nález (zůstává MODELLED): nulové falešné poplachy před začátkem u všech 10 zaznamenaných začátků a 6 z 10 do 10 s; 2.1.1, 2.3.5, 2.3.10 a 2.6.1 zůstávají pozdě (+211, +23, +18, +51 s), beze změny vlivem úrovně šumu hodin | spoof, spoof_detect, spoof_monitors | tests/spoof_texbat_validation.rs (charakterizace parametrů TEXBAT); tests/spoof_detection_jammertest_oracle.rs::monitors_against_the_published_onsets_reproduce_the_recorded_disagreement (zafixuje nález); 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) |
| Ochranná úroveň časování při spoofingu | Mez v uzavřeném tvaru pro nejhorší nedetekovanou časovou chybu = práh monitoru + σ setrvání oscilátoru během latence detekce CUSUM, uváděná jako pásmo prahu červeného šumu | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Skládá ověřené primitivy (allan/holdover Van-Loan, bezpečnostní mez); kalibrováno na scénáři 2.1.1 z JammerTest 2024 (~1,01 ms skutečného přitažení obsloužení času oproti ≤51 ns tvrzeným). Most přes ověřené části — sám o sobě není externím ověřením. Externí srovnání 0,30, nález (zůstává MODELLED): na scénářích spoofingu z JammerTest 2024 změřená nezjištěná chyba obsluhovaného času překračuje nominální TPL u 3 z 8 zjištěných začátků: 184,3 oproti 34,6 ns (2.1.4), 295,7 oproti 159,3 ns (2.3.5) a 143,0 oproti 69,0 ns (2.3.11); tři z pěti uvnitř jsou triviální (západkou držený falešný poplach před začátkem). Pravděpodobná příčina: člen doběhu z 60s kalibrace s nulovým šumem driftu nepokrývá kolísání frekvence TCXO přijímače během 15 až 39 s. Změřená chyba je vlastní jednobodový odhad hodin Kshana proti přímce fitované na jeho vlastní odhady před začátkem, takže ani shoda by nebyla plně nezávislá. 0,30 kolo 2, proti začátkům v oficiálním záznamu JammerTest 2024 a změřené časové chybě přijímače (předregistrováno 6a66994b), nález (zůstává MODELLED): u 4 z 10 zaznamenaných začátků nezjištěná chyba překračuje TPL stavu driftu (634,7 proti 458,5 ns u 2.1.1, 232,6 proti 16,2 ns u 2.3.5, 41,3 proti 6,0 ns u 2.3.10, 218,6 proti 47,4 ns u 2.6.3) | tpl | tpl::tests (orákula v uzavřeném tvaru + CUSUM); examples/tpl_jammertest.rs (kalibrace na skutečném spoofingu z JammerTest 2024); tests/tpl_jammertest_coverage_oracle.rs::tpl_against_measured_time_error_reproduces_the_recorded_disagreement (zafixuje nález); tests/tpl_jammertest_log_oracle.rs::drift_state_tpl_against_the_logged_onsets_reproduces_the_recorded_disagreement |
| Alternativní / doplňkové PNT | Porovnávání gravitačních map, navigace podle terénu (TERCOM/SITAN), magnetické anomálie | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Koeficienty IGRF-14; CRLB přizpůsobeného filtru z prvních principů. Pole v benchmarku gravitace ve skutečném poli je externě ověřeno (řádek „Gravity-anomaly synthesis from a spherical-harmonic model“), ale jeho navigační výsledek žádné vnější orákulum nemá | altpnt, mapmatch, gravimeter, igrf | tests/alternative_complementary_pnt_reference.rs (CRLB přiřazení k mapě; pole IGRF-14); mapmatch::tests; gravimeter::tests; igrf::tests; tests/gravity_map_real_field.rs (60minutový benchmark bez GPS na skutečném poli EGM2008 stupně 70, předregistrovaný v xval/icgem-egm2008/: přiřazeno 3106 m, takže práh < 500 m je NOT MET a je tvrzen jako nesplněný, zatímco desetinásobné snížení driftu 70,6 km je MET; plus Monte Carlo chyby mapy se seedem); altpnt::terrain::tests::emag2_format_grid_reproduces_the_synthetic_magnetic_channel a tests/emag2_real_grid.rs (čtečka EMAG2v3 podmíněná daty na skutečném výřezu; nad ní není tvrzen žádný navigační výsledek); tests/terrain_slam_rbpf.rs (společný odhad mapy, RBPF ve stylu FastSLAM, proti SITAN se známou mapou při 15 m korelované chybě mapy přes 20 seedů, předregistrováno v xval/terrain-slam-rbpf/: průměrný zisk 1,5% a lepší v 10 z 20, takže prahy 10% a 12 z 20 jsou NOT MET a jsou tvrzeny jako nesplněné; žádná újma na dokonalé mapě, MET) |
| Reprodukovatelnost a zajištění kvality softwaru | Deterministické, hashované podle scénáře, SBOM + meziplatformní zlaté brány | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Shoda SBOM s oficiálním schématem CycloneDX 1,5 JSON (+ platné identifikátory SPDX) — externí publikovaná norma, nula chyb ověření přes celý graf závislostí; část o determinismu ukazatelů kvality / bajtové reprodukovatelnosti zůstává zafixovanou kontrolou vlastní konzistence, takže řádek zůstává MODELLED | report, scenario; CI (golden/determinism/SBOM) | tests/golden.rs, tests/determinism.rs, tests/cross_platform_golden.rs; tests/reproducibility_software_assurance_reference.rs (vygenerovaný SBOM projde ověřením s nulou chyb proti oficiálnímu schématu CycloneDX 1,5 JSON přes celý dodávaný graf o 66 komponentách: výchozí + python + wasm features, vývojové závislosti vyloučeny) |
| Vyhodnocení detekce poruch RF pomocí strojového učení (13494) | Označkovaný syntetický korpus rušivých vlivů + testovací sada ROC/AUC/matice záměn/Pfa-Pmd nezávislá na detektoru; ochrana proti úniku dat, stratifikované dělení, zpráva o optimismu při posunu rozdělení (v režimu a mimo režim). Spustitelné z CLI/vazeb jako druh scénáře impairment-eval (scenarios/impairment-eval.toml) |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Meze AUC v uzavřeném tvaru (Mann–Whitney) + detektor s dokonalým orákulem; korpus je SYNTETICKÝ (opřený o parametry, nikoli o terénní data ani IQ) | impairment_eval | impairment_eval::tests (AUC dokonalé=1/shodné=0.5/shoda hodnot=0,125, ROC monotónní, fúzované>0,8, oddělení vrstev po třídách, ochrana proti úniku, reprodukovatelný korpus, posun rozdělení dat signalizuje optimismus); dominance_demonstrators (dosažitelné + reprodukovatelné + MODELLED, nikoli VALIDATED + mezera optimismu vnitřně konzistentní) |
| Studie mezery optimismu u detekce poruch RF pomocí strojového učení a prediktor mezery pouze z ID | Řízená syntetická studie mezery optimismu AUC mezi rozdělením v tréninku a mimo ně u publikovaných metod a naučených detektorů (logistická regrese / MLP s jednou skrytou vrstvou): trendy podle zákona škálování pro každou třídu (Spearmanovo ρ + sklon na 1−závažnost) a ridge prediktor jen z dat uvnitř rozdělení, který odhaduje mezeru pouze z diagnostik uvnitř rozdělení, hodnocený metodami vynechání jednoho detektoru a vynechání jedné třídy. Reprodukovatelné pomocí cargo run --release --example optimism_study |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Ručně odvozené statistiky proti uzavřeným tvarům (binormální AUC Φ(d'/√2), rozptyl DeLong, Spearman s vázanými pořadími, přesné obnovení OLS) + křížová validace leave-one-out proti základu predikce průměru. Korpus je SYNTETICKÝ (opřený o parametry, nikdy terénní data ani IQ) a mezera optimismu je posun závažnosti syntetické→syntetické, NIKOLI výsledek přenosu ze simulace do terénu | impairment_study, impairment_ml, eval_stats | impairment_study::tests (AUC orákula po třídách≈1, naučená mezera optimismu>0, tvar mřížky + bootstrapové CI obklopuje průměr + kladný trend škálování, rysy ID konečné, prediktor mezery překoná predikci průměru v OBOU křížových validacích leave-one-detector-out i leave-one-class-out + deterministický); impairment_ml::tests (logreg odděluje + deterministický + ztráta↓, MLP řeší XOR, které lineární model nezvládne + se seedem); eval_stats::tests (bootstrap/DeLong/Spearman/ridge proti uzavřeným tvarům) |
| Obchodní srovnání kvantového a klasického PNT a odolnost bez GNSS (13503) | Načtení změřené ADEV (NNLS), srovnávací tabulka (holdover časování/inerciální + přínos), obálka odolnosti v čase; upozornění na práh je neseno artefaktem. Spustitelné z CLI/vazeb jako druh scénáře quantum-trade (scenarios/quantum-trade.toml) |
ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Jádro proložení změřené ADEV→PSD (NNLS) je shodné se scipy.optimize.nnls (tests/scipy_reference.rs / tests/quantum_vs_classical_pnt_trade_reference.rs) — nezávislé externí jádro; ale ČÍSLA obchodní studie kvantifikují (nikdy neověřují) hodiny / CAI partnera, takže sama studie zůstává MODELLED, bez aury ověření | quantum_trade | quantum_trade::tests (obnova zpětným průchodem ADEV, nezápornost NNLS, upozornění na dno přítomné/nepřítomné, přínos>1, monotónní obálka + mez alt-PNT); dominance_demonstrators (změřená ADEV je řízena daty, nikoli předpokládaným dnem, předpokládaná třída označí dno + upozornění, chybně utvořená křivka odmítnuta, MODELLED, nikoli VALIDATED) |
| Prostředí kosmického počasí a hustota termosféry řízená aktivitou | Sluneční/geomagnetické indexy (definiční tabulka Kp↔ap), exosférická teplota podle Jacchii-1971 a hustota termosféry podle Jacchii 1971 (SAO Special Report 332: statické difuzní profily reprodukující její tabulku 7, s denními, geomagnetickými, půlročními, sezónně-zeměpisnými a héliovými variacemi) proti statické atmosféře USSA76. Spustitelné z CLI/vazeb jako druh scénáře space-weather (scenarios/space-weather.toml) |
ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Definiční tabulka Kp↔ap + uzavřený tvar exosférické teploty podle Jacchii-1971 (shoda do <1 K proti publikovaným kotvám, tests/space_weather_reference.rs); hustota je charakterizována proti pymsis NRLMSISE-00 (nezávislý model NRL): kolísání v slunečním cyklu na 800 km je 10.4x oproti 13.6x u NRLMSISE-00. Revize 0,30: kalibrovaný faktor aktivity prvního řádu byl nahrazen Jacchiou 1971 (výchozí hustota scénáře na 400 km 4.176e-12 -> 6.929e-12 kg/m3; reference_exospheric_temperature_k odstraněno, mean_exospheric_temperature_k přidáno). 0,30 kolo 2, změřené hustoty z akcelerometrů TOLEOS CHAMP/GRACE/GRACE-FO (ESA Swarm DISC; předregistrováno 20eed695), nález (zůstává MODELLED): průměry za oběh na 400 až 500 km jsou v rámci faktoru 2 při slunečním maximu mimo bouře (CHAMP 2001 521/521, GRACE-A 2002 120/120, GRACE-FO 2024 526/547), ale Jacchia 1971 je asi 1.7x příliš hustá při slunečním minimu 2008 (GRACE-A 412/544 v rámci faktoru 2), takže hustota není ověřena | space_weather | space_weather::tests (Kp↔ap přesně v bodech mřížky + zpáteční průchod + monotónní, průměr denního Ap, exosférická T proti publikovaným kotvám slunečního minima / průměru / maxima + přírůstku při bouři, hustota jednotková v referenci, kolísání v slunečním cyklu v pozorovaném pásmu 5–10×, reprodukovatelný scénář + MODELLED, nikoli VALIDATED + odmítnutí mimo rozsah); dominance_demonstrators (dosažitelné + reprodukovatelné + fyzikální T + MODELLED, nikoli VALIDATED); tests/space_weather_density_accelerometer_oracle.rs::jacchia71_finding_is_pinned |
| Okno startu a geometrie výstupu (analýza misí) | Dvoutělesový azimut(y) startu (sin Az = cos i / cos lat), minimální dosažitelná inklinace, kruhová rychlost, východní bonus rotace Země, Δv změny roviny typu dogleg a denní příležitosti a, pro danou epochu a řádky IERS finals2000A, rychlost místa kolem skutečného pólu (launch::site_rotation_speed_at). Spustitelné z CLI/vazeb jako druh scénáře launch-window (scenarios/launch-window.toml) |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Geometrie startu ve sférické trigonometrii v uzavřeném tvaru proti kotvám publikovaných řešených příkladů (Vallado, Fundamentals of Astrodynamics, 4. vyd., Algoritmus 37 azimut startu + kap. 6 změna roviny; tests/launch_window_ascent_geometry_reference.rs). Ty znovu používají týž uzavřený tvar, který kshana implementuje (shoda s publikovanou hodnotou / kontrola přepisu, InternalConsistency); MODELLED dvoutělesový model, bez modelu rychlostního trojúhelníku rotující Země / výstupu / ztrát odporem. Externí srovnání 0,30 s Orekitem 12,2 (Apache-2.0), nález (zůstává MODELLED): geometrie se shoduje v rámci zaokrouhlení (sklon zpětně načtený z azimutu vyhoření přes 158 případů, nejhorší 2.6e-15 rad; minimální sklon, kruhová rychlost a delta-v dogleg na 3e-16), ale rychlost místa vlivem rotace Země nesplňuje předregistrovanou relativní hodnotu 1e-6 na šířce 62,9 stupně (1.12e-6). Rozdíl roste jako tan(šířka), což odpovídá posunu pólu vlivem pohybu pólu asi 5.8e-7 rad v zemské soustavě Orekitu, který sférické ω·R·cos(šířka) vynechává. Tvrzení nebylo před během zúženo, takže řádek na základě tohoto srovnání nelze povýšit. 0,30 kolo 2 (předregistrováno 71bebf63): s epochou a řádky IERS se rychlost místa při skutečném pólu (pole scénáře site_rotation_speed_true_pole_m_s) shoduje s Orekitem v rámci 1e-6 na 24 místech přes čtyři délky (nejhorší 4.9e-8), ale nominální rychlost bez epochy, kterou scénář ve výchozím nastavení vydává jako bonus z rotace Země, stále mine o 1.12e-6, takže řádek zůstává MODELLED, dokud se nerozhodne o výchozím výstupu | launch | launch::tests (start přímo na východ dosáhne i=šířka, KSC→ISS = učebnicových 45°, polární = S/J, i<šířka nedosažitelné, rovníkový bonus 465 m/s, změna roviny 10° ≈ 1,34 km/s + 180° = 2v, počty denních příležitostí, reprodukovatelný scénář/MODELLED + cesta dogleg); dominance_demonstrators (dosažitelné + reprodukovatelné + KSC→ISS 45° + MODELLED, nikoli 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 |
| Koridor balistického návratu do atmosféry (Allen–Eggers) | Špičkové zpomalení (nezávislé na balistickém koeficientu), rychlost a výška při špičkovém g a rychlost špičkového ohřevu pro balistický vstup do exponenciální atmosféry. Spustitelné z CLI/vazeb jako druh scénáře reentry (scenarios/reentry.toml) |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Analytický vstup Allen–Eggers v uzavřeném tvaru, navíc křížově ověřený proti numerické integraci scipy 1,18 solve_ivp (DOP853) TÉŽE ODE vstupu s pouhým odporem (tests/ballistic_re_entry_corridor_reference.rs, 36 případů, nejhorší relativní a_max 2.9e-9) — kontrola numerického integrálu proti vlastnímu analytickému tvaru, takže stále InternalConsistency, NIKOLI vnější ověření. MODELLED balistický (bez vztlaku), bez aerotermálního modelu / TPS — výstup ohřevu je rychlost, nikoli tepelný tok. Externí srovnání 0,30, nález (zůstává MODELLED): proti rekonstrukci vstupu Stardust SRC (Desai a Qualls, NASA NTRS 20080008567) je špičkové zpomalení podle Allen–Eggers pro vytištěný inerciální vstupní stav (12,9 km/s, -8.2 stupně, H 7200 m) 61,8 g oproti nejlépe odhadnuté trajektorii 32,89 g, +88 % proti toleranci 15 %: řešení s konstantním úhlem dráhy a bez gravitace zhruba zdvojnásobí špičku mělkého vstupu rychlejšího než úniková rychlost. Stardust nenesl žádný akcelerometr, takže rekonstrukce je odhadem trajektorie. 0,30 kolo 2, zablokováno (zůstává MODELLED): integrované rovinné řešení hmotného bodu (reentry::simulate_planar_entry, US76, gravitace nepřímo úměrná čtverci, zakřivení) se shoduje s nejlépe odhadnutými trajektoriemi Stardust a Genesis do 15 % (+11,3 %, +5,6 %), ale tato maxima jsou výstupy simulací agentur, nikoli měření, takže jde pouze o křížovou kontrolu. Srovnání s akcelerometrem (předregistrováno a94a283d) je zablokováno kvůli čitelné kopii analýzy Hayabusa2 REMM (doi 10.57350/jesa.16) | reentry | reentry::tests (špičkové g nezávislé na balistickém koeficientu + fyzikální pásmo g, roste se strmějším γ / rychlejším vstupem, rychlost při špičkovém g = V_e·e^(−1/2) a špičkový ohřev = V_e·e^(−1/6) rychleji, výška při špičkovém g fyzikální + hlubší pro vyšší B, reprodukovatelný scénář/MODELLED + zamítnutá degenerovaná geometrie); dominance_demonstrators (dosažitelné + reprodukovatelné + zlomek V_e·e^(−1/2) + MODELLED, nikoli 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 (pouze křížová kontrola); tests/reentry_point_mass_accelerometer_oracle.rs (zablokováno, nespuštěno) |
| Adaptivní kódování a modulace DVB-S2 podél sestupného spoje přeletu na LEO | Es/N0 sestupného spoje podél každého přeletu jedné družice nad jednou stanicí (EIRP, ztráta volným prostorem, ztráta atmosférou podle zákona kosekantu, ostatní ztráty, G/T, Boltzmannova konstanta, symbolová rychlost), nejúčinnější MODCOD DVB-S2, který překoná svůj práh kvazibezchybného přenosu podle ETSI EN 302 307-1 V1.4.1 tabulka 13 plus implementační rezervu v každém kroku, objem dat ACM přeletu a základ s konstantním kódováním, který se uzavře na masce a při nejdelší vzdálenosti. Spustitelné jako druh scénáře acm-link. Ilustrativní vstupy; MODELLED. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence: spektrální účinnost vypočtená v uzavřeném tvaru z K_bch v Tabulce 5a a z délek rámců se shoduje s účinnostmi, které tiskne Tabulka 13 (kontrola přepisu prahové tabulky); části bilance spoje se shodují se svými uzavřenými tvary; výběr je monotónní v Es/N0 a respektuje rezervu; ACM přenese alespoň objem při konstantním kódování. Geometrie přeletu pochází z odděleného VALIDATED prediktoru zdánlivého přeletu. CO TO NENÍ: nebyl porovnán žádný externí nástroj ani změřený spoj; prahy jsou ideální hodnoty AWGN podle normy, nikoli hodnoty modemu; útlum deštěm, ztráta zaměření podél přeletu a piloty nejsou modelovány. | 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 |
| Plánování kontaktů více družic a více stanic s řešením konfliktů | Kandidátní kontakty z každého přeletu družice nad stanicí s jeho objemem dat ACM; konflikty, kde by jedna anténa obsluhovala dvě družice v rámci své doby přípravy nebo by jedna družice vysílala současně do dvou stanic; cíl doručení vážený prioritou omezený backlogem každé družice; plán líného marginálního hladového algoritmu, základ typu kdo dřív přijde a přesné větvení a ohraničování až pro 26 kandidátů, s uvedenou mezerou optimality hladového plánu. Spustitelné jako druh scénáře contact-schedule. Ilustrativní vstupy; MODELLED. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence: přesná metoda větví a mezí se shoduje s vyčerpávajícím výčtem na malých náhodných množinách, každý plán je zkontrolován jako přípustný proti pravidlům konfliktů a hladový algoritmus nikdy nepřekoná přesné optimum. CO TO NENÍ: nebyl porovnán žádný externí plánovač ani provozní plán; kontakty se berou celé (bez dělení), backlog je pevný na začátku okna, doba přeorientování nad pevnou obrátku a palubní úložiště nejsou modelovány. | 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 |
| Úsporné vymezení nákladů na pokrytí / ROI | Náklady na procento pokrytí + ROI pokrytí na euro nad enginem pro dimenzování konstelace; náklady na družici jsou rozpětí nízká/nominální/vysoká dodané volajícím (žádné vymyšlené ceny) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Aritmetika nákladů v uzavřeném tvaru proti ručně odvozeným hodnotám; ekonomické RÁMOVÁNÍ modelovaného údaje o pokrytí, nikoli nabídka ani ověřený nákladový model | frugal (over walker) | frugal::tests (ručně odvozená cena za pokrytí 48/96=0,5, poměr ROI 2,667, řazení rozmezí + ochrany proti nulovému pokrytí) |
| Dopad nezachycené detekce na integritu (HPL/VPL podle kontextu oproti mezi výstrahy) | Zobrazí nezachycené spoofingové/rušivé vychýlení na efektivní chybu → oblast Stanford (dostupné/nedostupné/MI/HMI) vůči HAL/VAL specifickým pro kontext (otevřená obloha oproti městu) | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnějším autoritativním zdrojem — Skládá externě ověřenou klasifikaci RAIM podle Stanfordu (raim::classify_stanford); samotné mapování nezachycené detekce na AL je modelované, nikoli certifikované rozdělení integrity | integrity_impact (over raim) | integrity_impact::tests (stejná nezachycená událost převrátí Available→MI→HMI, jak se zpřísňuje kontext; konzervativní PL→Unavailable; HMI po osách; ochrany vstupů) |
| Parametrický list modelu chyb CAI s citacemi (13503) | Rozpětí (nejlepší/nominální/konzervativní) výkonu interferometru se studenými atomy – nestabilita biasu, náhodná procházka rychlosti/úhlu, stabilita škálovacího faktoru, vzorkovací frekvence omezená dobou interrogace, dynamický rozsah nejednoznačnosti proužků – každé dohledatelné k citaci; napájí QuantumNavBudget bez modelování hardwaru | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Vnitřní konzistence: citované rozmezí VRW křížově zkontrolované proti fyzice CaiAccelerometer::accel_asd + surový dynamický rozsah vypočtený z meze nejednoznačnosti proužků; čísla jsou MODELLED rozmezí z rešerše literatury (needs_source_confirmation), žádné zařízení není ověřeno, žádná aura ověření | inertial::cai_params (over inertial::quantum_imu) | inertial::cai_params::tests (fyzikální VRW padá do citovaného rozmezí VRW na všech 3 úrovních; surový rozsah nejednoznačnosti proužků vypočtený z k_eff·T²; konzervativní rozpočet driftuje více než nejlepší; každé rozmezí má zdroj + příznak potvrzení; ochrany řazení rozmezí) |
| Srovnávací test shody integrity časování – klasifikátor epoch podle diagramu integrity Stanford | Klasifikace epoch TIB podle diagramu integrity Stanford (nominální / nedostupné / MI / HMI) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Nezávislá reimplementace pravidla čtyř oblastí v numpy (scripts/gen_tib_scorer_reference.py) na shodné množině vzorků; metoda citována ze Stanford–ESA diagramu integrity (Tossaint a kol., ION GNSS 2007) a RTCA DO-229 WAAS MOPS. NENÍ to orákulum přesnosti ExternalDataset — benchmark je odolný vůči přikrášlování. | src/benchmark/stanford.rs | src/benchmark/stanford.rs::tests (čtyři oblasti + zahrnující hranice + |chyba| + nedostupnost při PL>AL); tests/tib_scorer_reference.rs (počty klasifikace proti nezávislému numpy na pevné syntetické množině) |
| Srovnávací test shody integrity časování – hodnotitel pokrytí integrity | Hodnocení pokrytí integrity TIB (míry HMI/MI/dostupnosti + výrok o pokrytí převázáním) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Nezávislé přepočítání oblastí v numpy v tests/fixtures/tib/reference.json; pouze křížová kontrola mechaniky hodnotitele, žádné tvrzení o přesnosti. | src/benchmark/coverage.rs | src/benchmark/coverage.rs::tests (čistý/podhraničený/zcela nedostupný/prázdný); tests/tib_scorer_reference.rs (počty + míry + coverage_ok proti numpy na 1e-12) |
| Srovnávací test shody integrity časování – katalog poruch (parametrické generátory) | Nabídka poruch TIB (divergence domén, clock-slam, holdover-coast, statické/inkrementální/symetrické/asymetrické zpoždění, přehrání v rámci čerstvosti, selektivní podle cesty, kvorum k-z-N) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Reprezentativní parametrické generátory poruch (modelované); nezjistitelná množina (symetrické zpoždění, přehrání v rámci čerstvosti) je citována z Mizrahi RFC 7384 a Narula & Humphreys (IEEE JSTSP 2018). Žádné vnější orákulum — katalog poruch nečiní žádné tvrzení o měření. | src/benchmark/faults.rs | src/benchmark/faults.rs::tests (profily posunu, monotónní doběh, označení nezjistitelné množiny, konzistence max_offset, přesně dvě nezjistitelné třídy) |
| Srovnávací test shody integrity časování – výrok o pohlcení nedetekovatelného | Výrok TIB o pohlcení nedetekovatelného (symetrické/přehrání musí pohltit PL, nikdy nesmí být hlášeno jako detekované) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Kontrola vlastnosti, že enum Verdict strukturálně nemůže nahlásit nezjistitelnou poruchu jako zjištěnou (Mizrahi RFC 7384); pohlceno ⟺ PL ≥ posun. Žádné orákulum přesnosti. | src/benchmark/scorecard.rs | src/benchmark/scorecard.rs::tests (referenční PL pohlcuje; porušené PL nepohlcené a nikdy nezjištěné; verdikt pokrytí zjistitelných; vlastnost poctivosti, že pro nezjistitelný scénář není dosažitelný žádný verdikt pokrytí / detekce) |
| Sebepopis zprávy hybridního optického/RF spoje | Zpráva hybrid-optical-rf uvádí konfiguraci spoje, při které skutečně běžela (vlnová délka nosné, vysílací a přijímací apertura, vzdálenost, šířka pulzu, doba integrace, účinnosti a ztráty, rozřešené výchozí hodnoty), a nese blok jednotek, který udává jednotku a třídu původu každé veličiny, kterou je pravděpodobné, že článek citoval, včetně stop kovariance předání v metrech čtverečních | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné vnější orákulum a žádné není možné: jde o sebepopis, nikoli o měření. Je zaznamenán, protože jeho absence byla vadou -- P5 musel citovat vlnovou délku nosné a clonu vysílače z výchozích hodnot ve zdroji a z kontroly vnitřní konzistence usuzovat, že holé variance je ve čtverečních metrech. Úsudek byl správný, a právě proto na tom záleželo: nic by nezachytilo, kdyby byl chybný |
hybrid_integrity | hybrid_integrity::tests (vyřešená konfigurace se vrací pro výchozí hodnoty i přepsání, aniž by se vlnová délka převáděla přes metry tam a zpět; každý záznam jednotek nese jednotku i třídu původu; každé pole, které blok jednotek jmenuje, se skutečně vydává, takže nemůže dokumentovat neexistující pole) |
| Dostupnost hybridního optického/RF spoje na straně RF | Zpráva hybrid-optical-rf uvádí dostupnost RF spoje, složenou z veličin, které engine již počítá, nikoli z importované klimatologie, a skládání uvádí jako pojmenované pravidlo: A_rf = I_closure * I_track, kde I_closure je výrok o uzavření jednosměrného rozpočtu spoje CCSDS-401 / DSN-810-005 (linkbudget::link_budget, rezerva Eb/N0 >= 0) při vlastní vzdálenosti scénáře a I_track je výrok smyčky sledování (jamming::lock_status) o C/N0, které vrátil STEJNÝ rozpočet. Každý činitel nese třídu původu svého vstupu až do výstupu a činitele záměrně NEZAHRNUTÉ do součinu – geometrická viditelnost, odepření rušením a klimatologie výpadků RF – jsou pojmenovány s důvodem, nikoli tiše nastaveny na 1. Rozřešená RF větev je zopakována jako vlastní blok rf_link_configuration a spojité veličiny vedle indikátoru (rezerva spoje, rezerva C/N0, uzavřené tvary vzdáleností uzavření a sledování a využití vzdálenosti) jsou inverze vzdálenosti téhož rozpočtu. Zpráva v plném znění, na bloku i v položce jednotek, kam čtenář dojde, uvádí, že tento údaj je OMEZENÝ REZERVOU A GEOMETRIÍ a DETERMINISTICKÝ, zatímco optická dostupnost je OMEZENÁ POČASÍM A KLIMATOLOGIÍ a pravděpodobnostní, takže tyto dva údaje nelze nikdy citovat jako srovnatelnou dvojici procent | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné vnější orákulum a ExternalDataset je odmítnut. Dva vstupy jsou rezerva Eb/N0 a překročení prahu C/N0, obojí funkce MODELLED EIRP, ukazatele kvality a souhrnného rozdělení ztrát; neexistuje žádný změřený záznam dostupnosti optické/RF hybridní služby Země–Měsíc, proti němuž by se složený údaj dal ověřit. Existující kontroly jsou vnitřní a jsou tak označeny: složení je přepočteno z vlastních publikovaných rezerv zprávy, nikoli z vnitřností vysílače, a dosah uzavření spoje je ověřen opětovným spuštěním rovnice spoje PŘI něm a požadavkem, aby rezerva zmizela -- zpáteční inverze, nikoli nezávislá implementace. Poctivá mez údaje je zaznamenána přímo ve zprávě: je to deterministický indikátor 0/1, nikoli pravděpodobnost, protože nic v tomto enginu neměří rozdělení výpadků spoje RF v tomto pásmu a geometrii. Tento chybějící vstup je pojmenován v rf_availability.factors_not_included místo vymyšlení a jeho dodání je to, co by pravděpodobnostní dostupnost RF potřebovala | hybrid_integrity, linkbudget, jamming | hybrid_integrity::tests (dostupnost se rovná součinu dvou indikátorů přepočtených z vlastních rezerv zprávy a tyto rezervy jsou samy znovu složeny z vlastního EIRP zprávy, ztráty volným prostorem, souhrnné ztráty, ukazatele kvality, Boltzmannova členu, datové rychlosti a požadavku na 1e-9 dB; hodnota je naměřeně 0 nebo 1, zatímco optická dostupnost při témže běhu je naměřeně přísně mezi nimi; každý řádek faktoru nese třídu původu z uzavřené slovní zásoby field_schema; hlášený dosah uzavření spoje znovu spuštěný přes bilanci spoje vrací rezervu 0 na 1e-9 dB a je naměřeně nezávislý na dosahu, při kterém běh probíhal, napříč čtyřmi dekádami, zatímco využití dosahu se mění přesně poměrem dosahů; spoj -40 dBW hlásí dostupnost 0, LOST a využití nad 1 místo zlomku; překonaná poznámka „tento engine nepočítá žádný protějšek dostupnosti RF“ je ověřeně pryč a náhrada ověřeně jmenuje nové pole; chybně utvořený vstup RF je odmítnut, nikoli ořezán) |
| Srovnání měření vzdálenosti optickým a RF spojem za stejných podmínek | Zpráva hybrid-optical-rf vydává poměr optického a RF měření vzdálenosti s JEDNOU konfigurací, při níž byly obě větve vyhodnoceny, neseno ve stejném objektu: stejná jednosměrná dráha, stejná vzdálenost a stejná doba akumulace. Optická větev je fotonově omezené CRLB ToA enginu při jednosměrném počtu fotonů; RF větev je tepelný jitter sledování kódu DLL typu early-late enginu při C/N0, které vrací vlastní rozpočet spoje enginu pro tutéž jednosměrnou vzdálenost. Šířka pásma šumu smyčky je odvozena, nikoli zvolena: B_L = 1/(2*integration_s) staví RF větev přesně na optickou dobu akumulace a pokud ji volající přepíše tak, že se obě doby průměrování liší, poměr je REFUSED – null, s uvedeným nesouladem a oběma dobami – místo aby se uvedl při dvou provozních bodech. Žádný poměr se netvoří proti VOLENÉMU parametrickému rf_position_sigma_m scénáře a odmítnutí uvádí proč: tento vstup nenese žádnou konfiguraci. Zveřejněný dvoucestný optický hlavní údaj a přesný činitel, který jej převádí na jednosměrnou srovnávací větev, jsou vydány vedle poměru, takže zprávu nelze číst tak, že nese dvě nesouhlasné optické sigmy | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné vnější orákulum pro POMĚR a ExternalDataset je záměrně odmítnut. Podkladový řetězec RF jedno má -- tests/validate_p5_rf_ranging_precision.rs kontroluje linkbudget::link_budget a navsignal::dll_code_jitter_chips proti nezávislému fixture v Pythonu/NumPy a proti pevně zapsané řešené hodnotě Kaplan & Hegarty (2.814e-3 chip / 0,825 m při 45 dB-Hz) -- a optické CRLB má svůj vlastní řádek v uzavřeném tvaru. Uplatnit kteroukoli z těchto kotev pro tento řádek by byla vypůjčená validace, které mají invarianty matice zabránit: veličinou je zde POMĚR při konfiguraci s MODELLED EIRP, ukazatelem kvality, vysílacím výkonem a clonou a neexistuje žádné změřené srovnání optického a RF určování vzdálenosti v společném pracovním bodě, proti kterému by se dal ověřit. Vnitřně se kontroluje to, v čem se poměr může skutečně splést: že obě větve leží v jednom pracovním bodě. To se měří škálováním společné doby akumulace a požadavkem, aby se obě větve pohnuly podle téhož zákona odmocniny a poměr zůstal na místě, a vynucuje se to odmítnutím poměru, když se doby průměrování neshodují. Obě větve jsou meze tepelného / výstřelového šumu a obě vylučují zpoždění v prostředí, chybu hodin a nejednoznačnost, takže vyloučení je na každé straně shodné; zpráva to říká, místo aby to nechala dovozovat | hybrid_integrity, optical_linkbudget, linkbudget, navsignal | hybrid_integrity::tests (poměr se rovná dvěma vydaným větvím vydělen, na 1e-15 relativně, a jeho převrácená hodnota a decibelový tvar se shodují; dosah a časová sigma každé větve souvisejí přesně přes c; vydaná společná konfigurace je ověřeně rovna vlastnímu dosahu a době integrace scénáře a dosah větve RF je ověřeně roven dosahu optické větve; C/N0 větve RF je bit po bitu shodné s blokem dostupnosti, z jedné bilance spoje, nikoli z odvození znovu; vlastnost SROVNÁNÍ STEJNÉHO SE STEJNÝM je MEASURED, nikoli tvrzena -- čtyřnásobná společná doba akumulace sníží optickou větev na polovinu na 1e-12 a větev RF na 1e-7 a poměr se nepohne na 3.19e-9 relativně, což by větev, která tajně průměruje přes něco jiného, nedokázala; přepsání rf_dll_bandwidth_hz, které naruší společnou dobu průměrování, učiní poměr null s důvodem jmenujícím obě doby, zatímco obě větve se stále vydávají; jednosměrný běh učiní srovnávací větev bit po bitu shodnou s vydaným hlavním údajem s faktorem penalizace přesně 1 a dvousměrný běh reprodukuje penalizaci 0.5/sqrt(geometrická ztráta zpětné cesty) přepočtenou z vlastního geometric_loss_db zprávy na 1e-12) |
| Sebepopis zprávy o rozpočtu spoje | Zpráva o rozpočtu spoje uvádí každou absolutní konstantu, z níž byla její rezerva vypočtena – frekvenci nosné použitou pro ztrátu volným prostorem, EIRP, ukazatel kvality, souhrnnou ztrátu a Boltzmannův člen – plus požadované G/T, při kterém je rezerva nulová, konstantu spoje (EIRP - ztráty - požadované Eb/N0), která je jedinou kombinací, jakou může publikovaná tabulka rychlosti/zisku kdy určit, a, když volající uvede šumovou teplotu systému, zisk přijímací antény, který tento ukazatel kvality implikuje | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Žádné vnější orákulum: jde o sebepopis nad rovnicí již ověřenou proti publikované návrhové kontrolní tabulce (viz řádek jednosměrné bilance spoje). Je zaznamenán, protože jeho absence byla změřenou vadou -- reprodukce vydaného d1_rate_gain_beamwidth.csv vyžadovala zpětné dopočtení jedné efektivní konstanty na 0,0034 dB ze všech třiceti řádků a engine nyní tuto kombinaci jak pojmenovává, tak testem dokládá, že žádná vydaná tabulka by nikdy nemohla rozlišit její tři složky | linkbudget | linkbudget::tests (napříč třemi pásmy, čtyřmi dekádami dosahu a oběma verdikty uzavření spoje se rezerva a ztráta volným prostorem pod ní přepočtou ze samotné zprávy lépe než na 1e-9 dB; požadované G/T složené z členů rovnice se shoduje se stejnou veličinou získanou jako G/T minus rezerva a opětovné spuštění při něm vynuluje rezervu; tři bilance s velmi odlišným EIRP, ztrátou a prahem, ale shodnou konstantou spoje dávají shodný požadavek, zatímco 1 dB na konstantě jej posune přesně o 1 dB; rozdělení zisku chybí, pokud není uvedena šumová teplota, a nekladná je odmítnuta; každé pole, které blok jednotek jmenuje, se skutečně vydává) |
| Tabulka křížení měsíčního času pro každou třídu hodin | Jeden běh rozpočtu měsíčního času vydává řádek křížení hodiny a soustavy pro každou třídu hodin proti jedinému sdílenému členu soustavy, takže jedinou proměnnou srovnání jsou hodiny; každý řádek nese křížení získané dvěma způsoby – bisekcí z obecné mocninné křivky časové chyby a algebraickou inverzí z dominantního typu šumu řádku – s relativním rozdílem mezi nimi | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby při přepisu a v koeficientech, ale není to vnější orákulum — Dva různé výpočty téže veličiny v téže kódové základně, nikoli jeden přeformulovaný: bisekce na křivce mocninného zákona IEEE-1139 neví nic o typu šumu, zatímco uzavřený tvar invertuje dominantní typ algebraicky, takže chybně klasifikovaný typ šumu nebo špatný interval se projeví jako nikoli nepatrný relativní rozdíl. Čtyři hodnoty také reprodukují publikovanou tabulku článku na polovinu její poslední vytištěné číslice -- ale ta tabulka byla sama rekonstruována ze stejného uzavřeného tvaru, takže jde o kontrolu reprodukovatelnosti, nikoli o vnější orákulum, a člen rámce, vůči kterému se měří, je modelované rozdělení | lunar_time_budget | lunar_time_budget::tests a lunar_time_budget_scenario::tests (všechny čtyři třídy jsou přítomny v jednom běhu i v pořadí požadované podmnožiny; každý řádek souhlasí s vlastním uzavřeným tvarem s relativní přesností lepší než 1e-12; vynásobení chyby soustavy k násobí průsečík k-krát u hodin s flicker-FM a k^2-krát u hodin s white-FM, ověřeno pro k=2 a k=3, což obě třídy šumu odlišuje; každý řádek reprodukuje průsečík jednotlivých hodin, který rozpočet již uvedl; každý řádek obnoví jediný sdílený člen soustavy; neznámý název hodin je odmítnut) |
| Stopa záchytu v závislosti na výšce a šířce svazku | Dvouosý průchod stopou povrchového záchytu váženou vyzařovacím diagramem a omezenou výškou přes výšku vysílače a průměr paraboly, vydaný po jednom řádku pro provozní bod s šířkou svazku v polovičním výkonu, kterou každý průměr implikuje, a záchyt limbu uvedený jako PRÁH – pro každý řádek J/S limbu, jeho rezerva a vysílací výkon, který by jej uzavřel; pro každou mřížku nalezená křížení, nebo výslovné prohlášení, že limbu se nikde na mřížce nedosahuje, s nedostatkem | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Zahrnutí množin: poměr rušičky k signálu vstupuje jako jednotný posun v decibelech, takže zachycená množina při vyšším vysílacím výkonu obsahuje množinu při nižším a podíl může jen růst -- což Airyho útvar NEzaručuje u šířky svazku ani u výšky, kde se zachycená oblast rozpadá na prstence a podíl je skutečně nemonotónní. Žádná publikovaná tabulka neuvádí zachycený podíl disku pro lunární oběžný vysílač v závislosti na výšce a šířce svazku, takže tyto buňky nemá s čím externě porovnat; podkladový útvar je samostatně ověřen proti publikovaným Besselovým hodnotám a má vlastní řádek | antenna | antenna::tests a attack_surface::tests (mřížka je úplná a každý zachycený podíl leží v [0 1]; zachycený podíl je v každém uzlu neklesající ve vysílacím výkonu; v šířce svazku ani ve výšce NENÍ monotónní, což je zafixováno vlastním testem, aby se průchod později nedal vyhladit; uzel základu reprodukuje stávající zachycený podíl bit po bitu; vyhodnocení pouze na limbu je bitově shodné s posledním bodem úplného průchodu; lokalizovaný průsečík leží na prahu s přesností 1e-9 dB a je jím obklopen) |
| Reprodukovatelnost rozpočtu chyby měsíčního času | Scénář lunar-time-budget zveřejňuje své výstupy ve formě polí jako tabulku v dlouhém tvaru (index mřížky, doba průměrování, člen) vedle zprávy, takže sedm křivek x(tau) pro jednotlivé členy a celkový součet odmocnin ze součtu čtverců jsou výstupem enginu, nikoli něčím, co čtenář znovu sestavuje z popisu metody | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Pouze vnitřní konzistence: zveřejněný součet se kontroluje proti odmocnině součtu čtverců členů ve stejném souboru a vydaná křivka reprodukuje zveřejněný p3_time_budget_curve.csv ve všech 57 bodech. Obě kontroly sdílejí definice členů tohoto enginu, takže ani jedna není nezávislá. Člen hodin vychází z publikovaných specifikací hodin, ale ÚROVNĚ členů spoje, soustavy, relativistického a efemeridního dna jsou zdokumentované rozpočtové alokace bez vnějšího orákula | lunar_time_budget_scenario | lunar_time_budget_scenario::tests (všech 57 průměrovacích dob x 8 členů je přítomno, index mřížky probíhá od 0 do 56 včetně a nese vždy 8 řádků; řádek total se v každém tau rovná odmocnině součtu čtverců sedmi členů vedle něj; tabulka sleduje požadovanou mřížku, nikoli pevně zakódovanou; její vydání ponechává JSON zprávy bajt po bajtu shodný) |
| Časová laboratoř lunární stanice: holdover miniRAFS vůči LTC | Volitelný blok [time_lab] scénáře lunar-time-budget modeluje hodiny lunární referenční stanice (výchozí třída miniRAFS, nebo jakákoli pojmenovaná třída, nebo karta zařízení proložená uvedenými body stability) řízené na koordinovaný lunární čas a poté volně běžící nebo znovu řízené každých N sekund: křivka časové chyby x(t) jako odmocnina ze součtu čtverců členu mocninného zákona hodin, konstantního zbytku řízení (ILLUSTRATIVE), konstantního zbytku realizace LTC a volitelného členu rychlosti výšky stanice; čas po řízení do 1, 10 a 100 ns (nebo uvedených prahů) půlením intervalu vedle uzavřené inverze pro dominantní typ šumu a dominantní člen v každém uvedeném horizontu, vše s jednotkami | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Pouze vnitřní konzistence: půlením nalezený čas do prahu se kontroluje proti uzavřenému inverznímu tvaru dominantního typu šumu hodin a člen volně běžících hodin proti vlastnímu členu hodin v rozpočtu. Třídy hodin vycházejí z publikovaných jednodenních specifikací (vlastní řádky); rychlost LTC se zde znovu neodvozuje a má vlastní řádek VALIDATED (Lunar coordinate time); zbytek řízení je ILLUSTRATIVE, zbytek realizace je rozpočtová alokace a není zahrnut žádný tepelný model. Cíl na úrovni nanosekund popsaný v materiálech ICG WG-B Lunar PNT z června 2024 je citován jako zdrojové prohlášení, nikoli převzat jako tvrzení; nic zde není tvrzením o žádných skutečných hodinách stanice | lunar_time_lab (nad clock_specs, lunar_time_budget, lunar_time) | lunar_time_lab::tests (free_run_clock_term_is_the_budget_clock_term: při vypnutém řízení se člen hodin shoduje s členem hodin v rozpočtu bit po bitu pro všechny čtyři třídy; bisection_matches_the_closed_form s relativní přesností 1e-9 pro obě třídy šumu; 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: výchozí dokument, tabulka a shrnutí zůstávají beze změny a blok přidává jen vlastní objekt a jednotky; 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 od 1 s do 7e5 s, přičemž křivky PHM a RAFS se protínají mezi 7e5 a 8e5 s, což je zafixováno jako zveřejněná vlastnost modelů hodin s jediným typem šumu; every_time_lab_field_has_a_unit; unknown_time_lab_fields_and_clocks_are_refused) |
| Lunární geodetická VLBI | Zpoždění blízkého pole VLBI pro pozemní základnu pozorující lunární maják + parciální derivace | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Rovinná vlna delta_dor (stejná kódová základna) v limitě dalekého pole; parciální derivace konečnými diferencemi. 0,30 externí porovnání, zjištění (zůstává MODELLED): oproti ANISE 0,10 se zkonvergovanými světelnými časy přes DE440 (75 zpoždění k 2024-01-01 přes tři základny DSN, vygenerovaných pomocí xval/anise-lunar-od bez kódu Kshana) není žádné zpoždění v toleranci 1 ps. Největší rozdíl je 24 µs a pochází z analytického středu Měsíce (asi 200 km od DE440), z jediné okamžité geometrie bez iterace světelného času (3,6 µs) a ze zanedbaného pohybu pólu; parciální derivace majáku se liší až o 2.9e-3 relativně oproti 1e-6. Tvrzení v dokumentaci modulu, že aproximace soustavy jsou pod úrovní věrnosti modelu, na této úrovni neplatí. 0,30 kolo 2: cesta přes jádro (lunar_vlbi::KernelGeometry) je ověřena proti světelným časům NAIF SPICE ve vlastním řádku Lunar geodetic VLBI, kernel path; porovnání této cesty s ANISE (75/75 v rámci 1 ps, nejhorší 0,12 ps, tests/lunar_vlbi_anise_oracle.rs::kernel_delay_matches_the_anise_light_time_difference) je pouze křížová kontrola vyhodnocení jádra, protože řešení světelného času v tomto vybavení je vlastní tomuto projektu. Tento řádek (výchozí analytická cesta) zůstává MODELLED se zjištěním výše | lunar_vlbi | lunar_vlbi::tests (limita dalekého pole odpovídá delta_dor; korekce blízkého pole; parciální derivace FD); tests/lunar_vlbi_anise_oracle.rs::near_field_delay_disagrees_with_the_anise_light_time_difference |
| Earth-GNSS ve vzdálenosti Měsíce | Příjem Earth-GNSS ve vzdálenosti Měsíce: vrstva slabého signálu, kterou jmenuje tabulka 1 P7 a pro kterou engine neměl model. Pro každou družici a každou epochu počítá úhel mimo osu vůči nadiru vysílače, zda Země zakrývá přímou cestu, šikmou vzdálenost a její ztrátu ve volném prostoru, vysílací zisk v tomto úhlu, přijímaný výkon a poměr nosné k hustotě šumu; poté agreguje jen spoje překračující práh sledování a prochází celou otáčku konstelace, takže odpovědí je ROZDĚLENÍ, nikoli jeden snímek. Výsledek určují tři skutečnosti a zpráva uvádí každou z nich: Země ze vzdálenosti poloměru konstelace zabírá 13,90 deg, takže VRCHOL svazku je geometricky nedostupný pro jakýkoli paprsek mířící k Měsíci; zbývají okraj hlavního laloku a postranní laloky, režim, ve kterém LuGRE u Měsíce v 2025 pracovalo; a ztráta šířením na L1 je asi 208 dB, tedy o zhruba 25 dB víc, než platí pozemní uživatel. MEASURED na přibalené geometrii třídy GPS s 24 družicemi během 64 epoch jedné oběžné doby: dostupnost SIGNÁLU 0,375 s nejlepším spojem 30,93 dB-Hz a dostupnost URČENÍ POLOHY 0,000 - nejvýše dva současně sledovatelné spoje, nikdy ne čtyři, které poloha potřebuje. Rozlišení těchto dvou dostupností je smyslem věci a zpráva nedovolí je zaměňovat: Earth-GNSS ve vzdálenosti Měsíce je vrstva ČASOVACÍ třídy, nikoli třídy určování polohy, a předpoklad vrstvené odolnosti musí vzít dostupnost určení polohy. Podmíněnost je vydávána ze stejného důvodu - každá viditelná družice leží uvnitř kužele širokého několik stupňů, jak se jeví z Měsíce, takže přímky viditelnosti jsou svou konstrukcí téměř rovnoběžné. Spustitelné jako druh earth-gnss-lunar Přeformulováno podle D7: tvrzení ve vzdálenosti Měsíce je RELATIVNÍ poměr nosné k hustotě šumu mezi družicemi v jedné epoše, z naměřených dvourozměrných vysílacích diagramů (NAVCEN Block IIR/IIR-M), plus geometrická viditelnost; absolutní C/N0 se netvrdí (Parker a kol. uvádějí společnou ztrátu 7 až 12 dB). |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Uzavřené identity a vnitřní konzistence; ŽÁDNÉ vnější orákulum se netvrdí. Poloviční úhel limbu se kontroluje proti asin(R_earth/r_orbit) a geometrie proti němu; útlum ve volném prostoru, jádro DOP a propagace SGP4, které tento řádek skládá, jsou každé externě ověřeny ve vlastních řádcích a tento řádek jejich stav nepřebírá. PROČ MODELLED, a je to vysílací útvar: zisk v daném úhlu je rovnoměrně osvětlená kruhová apertura, Airyho útvar, zatímco skutečná anténa GPS L1 je dvanáctiprvkové šroubovicové pole s tvarovaným hlavním lalokem s maximem mimo osu, aby se vyrovnal výkon po disku Země, a s postranními laloky, které Airyho nejsou. Publikované měřené útvary existují a nejsou zde přibaleny, takže pořadí a řády veličin platí, zatímco dB kterékoli jednotlivé družice ne. PRVNÍ IMPLEMENTACE TOHOTO ŘÁDKU BYLA ŠPATNĚ ZPŮSOBEM, KTERÝ STOJÍ ZA ZAZNAMENÁNÍ: Airyho výraz platí jen v přední polokouli, jeho argument se mění jako sin(theta) a při theta blízko 180 stupňů se zalomí a vrátí PLNÝ ZISK V OSE za aperturou - takže dva nejsilnější spoje v první zprávě byly družice mířící antény pryč od Měsíce a byly to jediné dvě, které překročily práh. Za aperturou model nyní používá plochou spodní mez zadního laloku, uvedenou jako mez, nikoli vymyšlený tvar útvaru. Záměrně chybí, přičemž každé činí rozpočet OPTIMISTICKÝM: žádný ionosférický ani troposférický útlum na paprscích dotýkajících se limbu, žádná polarizační, zaměřovací ani implementační ztráta a kulová Země bez refrakčního rozšíření. Poloha Měsíce je VSTUP, nikoli vyhledání v efemeridách, protože testovanou veličinou je spoj a geometrie svazku. Povýšení tohoto řádku na ověřený vyžaduje měřený vysílací útvar a normální body LuGRE, proti nimž by se kontrolovalo; ani jedno není v repozitáři a ani jedno se zde nevymýšlí. 0,30 kolo 2, zjištění (zůstává MODELLED): cesta spoje s měřenými vstupy (skutečné polohy SP3, vysílací výkon podle bloku, tabelované vysílací a přijímací útvary, hystereze akvizice a sledování) byla porovnána s Montenbruck et al. 2023 Table 3 pro GENESIS při 6000 km (předregistrováno 5b414f0a): průměry se zenitovou anténou souhlasí v 5 z 6 případů do jednoho dB od citlivosti v článku; průměry s nadirovou anténou jsou o 1,0 až 2,4 družice vyšší, než je uvedeno, pravděpodobně proto, že článek použil azimutově závislé útvary postranních laloků GPS, které nejsou publikovány. Údaje tohoto řádku pro lunární vzdálenost stále používají Airyho náhradu. 0,30+ D7, zjištění (zůstává MODELLED): přeformulovaná veličina, ROZDÍL C/N0 mezi družicemi Block IIR/IIR-M sledovanými v jedné epoše, předpovězený pomocí měřených útvarů L1 NAVCEN podle SVN (dvourozměrných, v soustavě řízení vybočení) proti letovému C/N0 z LuGRE (předregistrováno 768cb62b: 99 % viditelných, RMS dvojic <= 3,0 dB, medián <= 2,0 dB, alespoň 50 záznamů a 30 dvojic) má příliš málo dat: 26 vyhovujících epoch přeletu a lunární oběžné dráhy obsahuje 15 sledovaných záznamů IIR/IIR-M (většinou se sledují IIF a III) a jednu dvojici. Všech 15 je předpovězeno jako viditelných a rezidua jediné dvojice je -0.06 dB; nic se netvrdí | earth_gnss_lunar | earth_gnss_lunar::tests (11 testů knihovny: poloviční úhel zemského limbu proti uzavřenému tvaru asin(R/r) s dalším tvrzením, že KAŽDÝ nezakrytý spoj leží mimo tento kužel, takže test zákrytu a úhel limbu si nemohou odporovat; predikát zákrytu ověřený na přivrácené straně, odvrácené straně a v případě, kdy těleso leží ZA vysílačem; ztráta šířením omezená na věrohodné pásmo lunárních vzdáleností na každém spoji; sledovatelná množina je podmnožinou geometricky viditelné množiny a je disjunktní se zakrytou; monotonie v obou směrech - větší přijímací zisk počet nikdy nesníží, přísnější práh jej nikdy nezvýší; žádný spoj nemá připsán větší než osový zisk; přijímač uvnitř Země je odmítnut; průchod prokazatelně SE MĚNÍ s epochou; a dostupnost signálu vs. určení polohy je prokazatelně odlišná, správně uspořádaná a konzistentní s řádky podle epoch); tests/earth_gnss_measured_montenbruck_oracle.rs::finding_genesis_nadir_counts_exceed_the_paper (zafixováno); tests/lugre_relative_cn0_visibility.rs::too_few_iir_records_at_lunar_distance_for_the_relative_cn0_bar (zafixované zjištění) |
| Určování lunární oběžné dráhy: Earth-GNSS proti pozemním radiometrickým měřením | Určování oběžné dráhy na téměř přímočaré halo dráze (nebo eliptické zmrazené dráze) ze dvou nezávislých typů dat: pseudovzdáleností Earth-GNSS přijímaných na palubě (pravidlo spoje z řádku Earth-GNSS ve vzdálenosti Měsíce, plus zákryt Měsícem) a pozemních dvoucestných vzdáleností a rychlostí změny vzdálenosti ze tří stanic Deep Space Network. Každé je jednokrokové dávkové řešení nejmenších čtverců kolem referenční dráhy s formální kovariancí; Monte Carlo se seedem rozdílu obou odhadů testuje, zda obě kovariance rozdíl vysvětlují (q = d' (P_G + P_R)^-1 d, chí-kvadrát se šesti stupni volnosti, když se modely shodují) a co s touto statistikou dělá nemodelované zrychlení. | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Nezávislý program ve scipy/numpy integruje tytéž variační rovnice (práh O1). S měřením lunární oběžné dráhy se nic neporovnává. Orákulum kontroluje numeriku uvedených vzorců, nikoli fyziku, takže řádek zůstává MODELLED. Omezený model tří těles: bez Slunce, bez lunárních harmonických, osa rotace Země podél normály dráhy, ILLUSTRATIVE vstupy přijímače a stanice. | lunar_infra::{orbit, gnss, od} | tests/lunar_infra_od_consistency.rs (práh O1: matice přechodu stavů řetězená přes tři dny a přes jednu periodu se rovná scipy DOP853 s relativní přesností 1e-6; práh C1: průměrné q a podíl v rámci 95 %; práh C2: výběr vůči formální stopě každého estimátoru; práh C3, NOT MET a zafixováno: při 3e-10 m/s2 nemodelovaného zrychlení je překročení v rámci 95 % rovno 0,0525, nikoli alespoň 0,5 - palubní odhad je znám jen na stovky metrů, takže asi deset metrů posunu se ukryje uvnitř jeho kovariance); lunar_infra::orbit::tests, lunar_infra::gnss::tests, lunar_infra::od::tests, lunar_infra::la::tests |
| Řešení nejednoznačností fáze nosné na Měsíci: povrch a orbiter | Jednoduše diferencovaná fáze nosné a kód Earth-GNSS mezi přijímači na lunární povrchové stanici a orbiteru, s rozdílem hodin v každé epoše vyloučeným profilováním, jednou nejednoznačností na souvislý průlet a nejdelším průletem jako kalibrem. Kovariance float nejednoznačností je Schurův doplněk; LAMBDA řeší celá čísla, bootstrapová míra je uvedena vedle míry úspěšnosti celočíselných nejmenších čtverců metodou Monte Carlo se seedem a sigma polohy float a fixed. Uvedeno tak, jak bylo zjištěno: při registrovaných 12 dBi není problém dvojitých diferencí tvořitelný (dodatek 1 přesunul výchozí hodnotu na 25 dBi poté, co byly viděny jen počty dostupnosti), a při 25 dBi celočíselné řešení NENÍ dosaženo - je mimo dosah (nejvýše několik procent), ačkoli float řešení se s obloukem zlepšuje. | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Nezávislé řešení týchž normálních rovnic v numpy z exportovaných řádků (Q3) a hrubým výčtem celých čísel (Q4). S žádným měřením fáze nosné GNSS ani lunární se neporovnává. MODELLED. | lunar_infra::phase; lambda | tests/lunar_infra_carrier_phase.rs (práh Q1: úspěšnost Monte Carlo alespoň o mez bootstrapu minus tři směrodatné chyby; Q2: žádný pokles s délkou oblouku nad tři směrodatné chyby; Q4: LAMBDA se rovná výčtu hrubou silou pro 200 realizací dimenze až pět; Q3: plovoucí návrh se rovná nezávislému řešení v numpy s přesností 1e-9 pro kovariance nejednoznačností a polohy a míra bootstrapu je při 1e-9 NOT MET, zafixováno: liší se relativně o 1.7e-6, protože normální rozdělení v LAMBDA je aproximace podle Abramowitze a Steguna) |
| Společný odhad lunární soustavy: povrchové stanice a orbitery | Fisherova informace sedmiparametrového datumu lunární soustavy z laserového měření vzdálenosti ze Země ke všem pěti reflektorům samotným a s přidanými vzdálenostmi orbiter–povrchová stanice: informační matice, hodnost, sigma Cramér–Rao, metrika degenerace modulu lunární identifikovatelnosti a náhodné sady stanic se seedem. Dráha se v lunárních osách považuje za známou (její chybu nese sigma vzdálenosti orbiteru). | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Nezávislá konečná diference dopředného modelu v numpy (F2). S reálnými lunárními řešeními soustavy se nic neporovnává. Faktor je podmíněn předpokládanou známou drahou a sigmou vzdálenosti 1 m. MODELLED. | lunar_infra::frame; lunar_datum; lunar_identifiability; lunar_llr_geometry | tests/lunar_infra_studies_3_5.rs (práh F1: stopa CRLB neroste a nejmenší vlastní číslo neklesá s odkazy z orbiterů, v příkladu i ve 20 náhodných sadách se seedem; práh F2: parciální derivace vzdálenosti se rovnají nezávislé konečné diferenci Rodriguesova dopředného modelu v numpy longdouble na 50 geometriích; práh F3: nejmenší vlastní číslo vzroste alespoň 2.0x, zjištěno asi 111x) |
| Preciznost vazby soustav ve vesmíru: společně umístěné GNSS, VLBI a laserová měření vzdálenosti | Preciznost Cramér–Rao posunů translace, měřítka a rotace mezi technikami v soustavách GNSS, VLBI a laserového měření vzdálenosti, když všechny tři nese jedna kosmická loď, s polohou kosmické lodi vyloučenou v každé epoše a devíti parametry rušivých lokálních vazeb nesoucími apriorní informaci, přes přesnost lokální vazby. Kovariance cestou odmocniny (normální rovnice ztrácejí číslice, když jsou techniky téměř dokonalé). | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Nezávislá skládaná soustava v numpy s neznámými polohami vyloučenými explicitními Schurovými doplňky (T3). S daty z GRASP, Genesis ani jiné mise se nic neporovnává. MODELLED. | lunar_infra::tie; fim::crlb_srif | tests/lunar_infra_studies_3_5.rs (práh T1: sigmy translace neklesají, když se lokální vazba uvolňuje; T2: při technikových sigmách zmenšených o 1e-6 je sigma translace každého páru do 1 % hodnoty sqrt(2) krát sigma lokální vazby, nalezeno do 3e-7; T3: informační matice se rovná nezávislé skládané sestavě v numpy s přesností 1e-9). První běh T2 s inverzí normálních rovnic selhal (1,3 % při vazbě 0,1 m, hodnoty pod dnem při 1 m); příčina byla numerická a kovariance byla před přehodnocením prahu převedena na odmocninovou cestu. |
| Citlivost na Loveova čísla a librace Měsíce | Fisherova informace h2, k2, l2 a fyzikálních amplitud librace z laserového měření vzdálenosti (radiální a horizontální slapový posun, rotace reflektoru), sledování orbiteru (zrychlení k2 stupně 2 integrované podél přímky viditelnosti, odstraněný trend), povrchového gravimetru (gravimetrický faktor 1 + h2 - 1,5 k2) a povrchových hodin (relativní rychlost (1 + k2 - h2) W2/c2, vázaná na lunární časové konstanty). Nominální hodnoty h2 a l2 jsou body linearizace; studie říká, co je na co citlivé, nikoli jaká jsou čísla. | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Nezávislé sestavení konečnými diferencemi v numpy (G2) a vyhodnocení v uzavřeném tvaru (G4). Citlivost k2 rodiny orbiterů je údaj horního konce (stav dráhy zde pohlcuje jen konstantu a trend). S žádným měřením lunárního slapu ani librace se neporovnává; k2 je citováno z Lemoine et al. 2014 jako nominální. MODELLED. | lunar_infra::geodesy; lunar_od::degree2_tide_accel; lunar_time | tests/lunar_infra_studies_3_5.rs (práh G1: analytické parciální derivace se rovnají centrální konečné diferenci každého dopředného modelu s přesností 1e-8; G2: informace 5x5 se rovná nezávislému sestavení v numpy s přesností 1e-6; G4: amplituda slapu hodin a její citlivosti na k2 a h2 se rovnají nezávislému vyhodnocení s přesností 1e-9; práh G3 NOT MET v části o stopě, zafixováno: přidání rodiny nikdy nesníží nejmenší vlastní číslo (28 z 28), ale stopa pseudoinverze vzrostla v 12 z 28 přidání, protože přidaná rodina zvýšila hodnost) |
| Zlepšení DOP lunárními povrchovými majáky | Faktor DOP rozšířený o majáky pro lunárního povrchového uživatele: řádky přímé viditelnosti viditelných družic a řádky určování vzdálenosti viditelných povrchových majáků jsou spojeny do jedné návrhové matice a vyhodnoceny přes sdílené jádro DOP a výsledné DOP je převedeno na realizovanou přesnost 1-sigma V METRECH přes ekvivalentní chybu určování vzdálenosti uživatele pro každý maják, sestavenou jako odmocnina ze součtu čtverců členů synchronizace hodin, vícecestného šíření a zaměření. Viditelnost majáku je geometrický horizont Měsíce bez atmosféry ve dvou výškách, který nemá refrakční rozšíření a je proto přesný, nikoli přibližný. Spustitelné jako druh scénáře lunar-beacon, který uvádí samotné družice, družice plus majáky a větší konstelaci jako konkurenční cestu ke stejné geometrii. MEASURED na přibalené zlaté geometrii (uživatel na -80 deg, tři zaměřené majáky, šestidružicový ilustrační LCNS při t=0, maska 5 deg): 5 viditelných družic dává PDOP 9,6941 a 3D 1-sigma 11,222 m; přidání majáků, které skutečně překročí horizont, dává PDOP 4,1160 a 4,765 m, faktor 2,355; 24družicová služba místo toho dává PDOP 2,4226 a 2,804 m, faktor 4,002. Zpráva vypisuje počet VIDITELNÝCH majáků, nikoli nakonfigurovaný, a na této geometrii překračuje horizont pouze JEDEN ze tří majáků: dva boční body leží asi 333 km od uživatele proti horizontu 86 km pro anténu ve výšce 2 m, takže čtenář nikdy nemusí předpokládat, že přispěly všechny tři |
ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Aritmetika DOP je jádro crate::orbit::dop, samostatně externě ověřené proti gnss_lib_py v tests/dop_reference.rs; tento řádek stav onoho řádku znovu nepřebírá. Horizont viditelnosti majáku je uzavřený tvar L01 a sigma = DOP x sigma_URE je standardní vztah GNSS (Kaplan a Hegarty, Understanding GPS/GNSS, section 7). V tomto řádku je samotné rozšíření kontrolováno proti nezávislé cestě DOP v repozitáři a zafixováno na potvrzený golden. PROČ MODELLED: návrh konstelace, rozmístění majáků, výšky antén a všechny tři úrovně rozpočtu chyb jsou ilustrativní vstupy, nikoli nasazený průzkum ani změřený spoj, takže uváděné metry jsou vlastností zvoleného scénáře, nikoli žádné nasazené služby. POZNÁMKA O PŮVODU: tato schopnost byla inzerována v README a ověřována dvěma validačními testy, a přesto neměla ŽÁDNÝ řádek matice ani druh scénáře, takže se k ní z běhu vůbec nedalo dostat. Byla tvrzena v prózě, chyběla v registru a v enginu byla nedosažitelná současně. Řádek a druh byly přidány společně. 0,30 kolo 2 (předregistrováno db0eb9ec), zablokováno (zůstává MODELLED): viditelnost ANISE 0.10.6 a DOP v numpy na geometrii řádku souhlasí (množiny viditelnosti přesně včetně 72 případů blízko horizontu a 48 případů blízko masky; DOP do 7.2e-13), ale uváděné metry jsou DOP krát ilustrativní 1,158 m odmocniny součtu čtverců chyby měření vzdálenosti bez orákula; vymezení, které by je vyloučilo, čeká na rozhodnutí vlastníka | lunar_beacon | lunar_beacon::tests (viditelnost horizontu proti uzavřenému tvaru L01; DOP rozšířený o maják proti holému; odmocnina součtu čtverců rozpočtu chyb; vztah DOP na metry); tests/validate_p2_beacon_before_after_table.rs (celá tabulka před/po zafixovaná na potvrzený golden s relativní přesností 1e-9); tests/validate_p2_beacon_before_after_independent_dop.rs (táž geometrie přes NEZÁVISLOU cestu DOP, takže rozšíření se nekontroluje proti jádru, které je vytvořilo); tests/validate_lunar_beacon_anise_visibility_dop.rs::beacon_visibility_and_augmented_dop_match_anise_and_numpy |
| Ochranná úroveň společného módu a celková obálka integrity | cmpl_horizontal omezuje k-sigma horizontální chybu polohy způsobenou slepou třídou společného módu tvorbou blind_position_covariance = SCovS^T a jejím promítnutím do ENU; integrity_envelope uvádí hpl_total = hpl_araim + cmpl. Rozdíl, kvůli kterému dvojice existuje: test REZIDUÍ RAIM/ARAIM je prokazatelně slepý k chybám v range(G), ale OCHRANNÁ ÚROVEŇ ARAIM není - její člen bez poruchy je omezuje již do URA poskytovatele plus nominální bias. CMPL je proto jen ÚBYTEK mezi poskytovateli, který URA/ISM jednoho poskytovatele neohraničuje, a součet je konzervativní mez z trojúhelníkové nerovnosti, nikoli RSS, platná jen tam, kde tento přebytek není již uvnitř URA. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Analytická algebra projektorů kontrolovaná sama proti sobě: kovariance omezená na range(G) musí dát kladné CMPL, kovariance omezená na prostor parity musí dát přibližně nulu a obálka musí sčítat dva příspěvky ortogonální v prostoru měření. Kovariance společného módu, geometrie konstelace a k jsou reprezentativní modelované vstupy, NE certifikovaný rozpočet, a netvrdí se, že mez z trojúhelníkové nerovnosti je těsná. POZNÁMKA O PŮVODU: cmpl_horizontal, blind_position_covariance a integrity_envelope jsou veřejné a dodávané a jejich jednotkové testy již citoval řádek o slepotě společného módu, ale samotné TVRZENÍ O OBÁLCE nemělo žádný řádek - takže jediná výhrada, která je drží poctivé, totiž že součet je mez z trojúhelníkové nerovnosti a nikoli RSS, nebyla v registru uvedena nikde. Řádek zaregistruje tvrzení i výhradu společně. | 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) |
| Pozorovatelnost absolutní polohy lunární stanice (defekt datumu) | Pozorovatelnost společného lunárního řešení z hlediska Fisherovy informace: bez zemských základen leží datum absolutní soustavy v nulovém prostoru HᵀWH (poloha stanice je nepozorovatelná); ≥3 základny obnoví plnou hodnost a omezí Cramérovu–Raovu chybu stanice, kterou estimátor dosahuje | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Analytická struktura defektu datumu — nepozorovatelný mód absolutní soustavy leží v nulovém prostoru Fisherovy informace (uzavřený tvar), práh hodnosti odpovídá publikovanému zdůvodnění návrhu se 3 stanicemi a estimátor dosahuje výsledné CRLB v Monte Carlo. Samotná lunární geometrie je reprezentativní síť (nikoli letová efemerida), takže řádek zůstává MODELLED; podkladový engine FIM/CRLB je samostatně kontrolován proti uzavřeným tvarům podle Kaye (1993). 0,30 kolo 2 (předregistrováno fab02df9), zablokováno (zůstává MODELLED): NumPy/SciPy přepočítají hodnost a defekt při uvedeném prahu 1e-9, podíl os stanic v nulovém prostoru (do 8.4e-10) a CRLB stanic (do 1.2e-10) na 17 potvrzených konfiguracích vygenerovaných Kshanou (P2). Nepovýšeno: tvrzení, že estimátor dosahuje meze (efektivita Monte Carlo asi 0,98), nemá orákulum a vymezení, které by je ponechalo jako MODELLED, čeká na rozhodnutí vlastníka | lunar_combination (lunar_observability) + fim | lunar_combination::tests (hodnostní defekt bez zemských základen; tři základny obnoví plnou hodnost - práh 3 stanic z informační hodnosti, nikoli z chyby řešení; CRLB stanic dosažená estimátorem s efektivitou 0,98; CRLB se s přibývajícími základnami monotónně zpřesňuje); tests/lunar_observability_numpy_oracle.rs::lunar_observability_matches_numpy_on_the_committed_jacobians |
| Generování rozprostíracích kódů LunaNet AFS (LSIS V1.0) | Kódy Augmented Forward Signal podle LSIS V1.0 (29. ledna 2025): primární kód AFS-Q o 10230 čipech generovaný konstrukcí pilotu L1C podle IS-GPS-800 s indexy z IS-GPS-800J (stejných 210 přiřazení, jaké tiskne příloha D normy LSIS), Goldovy kódy AFS-I o 2046 čipech generované z g1 = x^11 + x^2 + 1 a g2 = x^11 + x^8 + x^5 + x^2 + 1 se zpožděním G2 každého PRN převzatým ze souboru přílohy 3 normy, čtyři sekundární kódy, terciární kódy o 1500 čipech, přiřazení uzlů z prozatímní tabulky 11 a odstupňovaný pilotní kód. Obsah LSIS se za běhu čte z lokální cache ověřené pomocí SHA-256, naplněné z PDF hostovaného NASA, a nikdy se nedistribuuje dál | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, proto schopnost zůstává modelovaná — Reference: hodnoty, které LSIS V1.0 uvádí pro validaci (Tables C-1 to C-5, D-1 to D-6, E-1 to E-6), a jeho elektronické soubory kódů Annex 3 podle kritéria nulové neshody stanoveného před porovnáním. Kritérium je splněno s výjimkou jedné vytištěné buňky, která je vnitřně v rozporu s vlastním souborem Annex 3 normy, takže řádek zůstává MODELLED; je připravena poznámka o erratu. Tytéž čipy se rovnají také čipům LANS-AFS-SIM (řádek 'LunaNet AFS baseband rendering against an independent generator, given its channel state') | lunar_afs::codes, lunar_afs::lsis, lunar_afs::params (indexy IS-GPS-800J) | lunar_afs::codes::tests (registry maximální délky, vyváženost Legendre, zpětný převod zpoždění G2, skládání úrovní); tests/lunar_afs_codes_lsis_reference.rs::afs_codes_finding_one_misprinted_table_cell (bez cache LSIS: čtyři citovaná čísla zafixují zjištění; s ní: 2 937 232 čipů a bitů proti souborům LSIS Annex 3, vytištěných prvních/posledních 24 čipů, Legendreovy Tables D-1 a E-1 a inicializace G2 dávají přesně jednu odlišnou položku, buňku „last 24 chips“ pro PRN 147 v Table E-5, která duplikuje buňku PRN 151, zatímco soubor Annex 3 souhlasí s generátorem); striktní předregistrovaný test afs_codes_match_lsis_v1_tables_and_annex3_bit_exact je s touto mezerou ignorován |
| Dekódovatelnost LunaNet AFS v uzavřené smyčce nezávislým přijímačem (LSIS V1.0) | Záznam AFS z Kshana zachycený, sledovaný a dekódovaný nezávislým softwarovým přijímačem a porovnaný s vlastními pravdivými značkami záznamu. Dokládá to pouze shodu s normou a konzistenci značek; není to tvrzení o fyzice kanálu, šíření, přijímaném výkonu ani linkových rozpočtech, jejichž hodnoty v záznamu jsou zvolené vstupy | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, proto schopnost zůstává modelovaná — Knihovna: PocketSDR-AFS (T. Ebinuma podle PocketSDR 0,13 T. Takasuho, BSD-2-Clause, commit 5b23809f30d68518b7fad7a564fd0fac57cc497d, sestavení pro pásmo S, kopie s úrovní logu pouze pro tisk), podle kritérií stanovených před každým během. Třetí předregistrované porovnání plně splňuje své prahy dekódování a sledování C1 a C2, ale nikoli svou hlídku G0 tak, jak je napsána (dva běhy neupraveného přijímače se liší ve stejných čtyřech záznamech akvizice), a druhé selhalo o 5 porušení, takže řádek zůstává MODELLED. LANS-AFS-SIM a PocketSDR-AFS mají společného autora a počítají se jako jedna nezávislá implementace; kontroly vytištěných vektorů v řádku kódování rámců chrání před sdíleným nesprávným čtením | lunar_afs::waveform (záznam a pravdivostní štítky), xval/lunar-afs/run_pocketsdr.sh | tests/lunar_afs_decodability_pocketsdr_v3_oracle.rs::third_run_finding_c1_c2_hold_g0_is_receiver_nondeterminism (třetí předregistrace: 2 uzly, 4 sledované kanály, nejhorší chyba Dopplera 0,57 Hz, nejhorší chyba posunu kódu 0,008 čipu, všech 6 rámců dekódováno se správným TOI přes přechod 99 -> 0 a odpovídajícím podrámcem 2; G0 není splněna tak, jak je napsána, vlastní variace přijímače mezi běhy v jeho záznamech akvizice); tests/lunar_afs_decodability_pocketsdr_4bit_oracle.rs::decodability_finding_five_violations (druhé: 5 porušení); tests/lunar_afs_decodability_pocketsdr_oracle.rs::first_run_finding_no_acquisition_outside_the_receivers_4_bit_range (první: neplatné); striktní testy tří souborů jsou s jejich mezerami ignorovány |
| Shoda GPS L1 C/A mezi generátory | Rozprostírací kódy GPS L1 C/A (sdr::CaCode) a podrámce LNAV 1–3 (gps_lnav: kvantizace polí podle IS-GPS-200 s hodnotou pí podle specifikace, balení ve dvojkovém doplňku, slova TLM a HOW, parita podle tabulky 20-XIV s inverzí D29*/D30*, bity řešící paritu ve slovech 2 a 10) porovnané bit po bitu s gps-sdr-sim na jeho přibaleném brdc0010.22n (32 družic) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — gps-sdr-sim (MIT, commit 28ca29a6, spuštěn jako samostatný program přes potvrzené vybavení), předregistrováno f88f2969 s bitově přesným prahem na (A) čipy C/A, (B) každé vypočtené pole LNAV, (C) každý paritní bit. ZJIŠTĚNÍ: (A) 0 z 32 736 čipů se liší, (C) parita se liší u 0 z 1 920 slov, (B) 230 z 1 152 vypočtených polí se liší o jednu jednotku: eph2sbf v gps-sdr-sim zkracuje směrem k nule přetypováním v C tam, kde vysílané celé číslo vyžaduje zaokrouhlení (každá odlišná hodnota leží do 0,01 jednotky od zaokrouhleného celého čísla Kshany). Zůstává MODELLED: zaregistrovaným prahem byla konjunkce | gps_lnav, sdr | tests/gps_l1ca_gpssdrsim_cross_generator.rs::gps_sdr_sim_truncates_where_the_broadcast_integer_needs_rounding (zafixované zjištění); tests/gps_l1ca_gpssdrsim_cross_generator.rs::ca_codes_lnav_fields_and_parity_match_gps_sdr_sim_bit_exactly (striktní, ignorován s mezerou); gps_lnav::tests |
| Akvizice IQ GNSS na nezávisle generovaných vzorcích I/Q | iq::acq::acquire (FFT paralelní vyhledávání fáze kódu s prahem Marcumovy funkce Q pro kvadratický detektor) s replikou GpsL1Ca, na 20 ms vlastního 8bitového výstupu I/Q z gps-sdr-sim dekódovaného dekodérem vzorků iq::io (ci8, 2,6 MHz, 11 družic, bez šumu): každý PRN 1 až 32 prohledán ve dvou oknech po 10 ms, výsledek porovnán s fází kódu a Dopplerem, které gps-sdr-sim namodulovalo | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, proto schopnost zůstává modelovaná — gps-sdr-sim (MIT, commit 28ca29a6) vzorky I/Q a jeho vlastní stav kanálu, předregistrováno 7777da53: (B1) každé simulované PRN je zachyceno, (B2) žádné jiné PRN není zachyceno, (B3) fáze kódu do 0,5 čipu, (B4) Doppler do 125 Hz. ZJIŠTĚNÍ: B1, B3 a B4 platí v obou oknech (nejhorší 0,195 čipu, 72 Hz), ale B2 selhává: všech 21 PRN, které gps-sdr-sim nesimuloval, rovněž překračuje práh (statistika 151 až 206 proti 79,5; simulovaná PRN 1 300 a výše). Práh je nastaven pro gaussovský šum o změřeném výkonu vzorků; gps-sdr-sim žádný šum nepřidává, takže buňky nepřítomného PRN obsahují vzájemnou korelaci ostatních družic. Zůstává MODELLED: zaregistrovaným prahem byla konjunkce | 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 (zafixované zjištění); tests/iq_gpssdrsim_cross_generator.rs::acquisition_finds_gps_sdr_sim_satellites_in_its_samples (striktní, ignorován s mezerou) |
| Monitory IQ hodnocené v kampaních laboratorního přehrávání: detekce, nezachycení, falešné poplachy a uzavřené tvary míry falešných poplachů | iq::campaign::detect a spouštěč kampaní: volitelná tabulka [monitors] spouští monitory IQ na každé buňce v jediném průchodu spouštěče. Monitory výkonu a spektra vidí vzorky po každém řetězci vstupního stupně; monitory C/N0, SQM a zámku vidí aktualizace smyček každého sledovaného kanálu. Každý poplach se hodnotí proti uvedeným událostem: zachycen či nezachycen podle (události, druhu poplachu, kanálu), doba do detekce a falešné poplachy mimo události vztažené k jejich expozici. U každého testu je uvedena jeho míra falešných poplachů v uzavřeném tvaru: výkon na blok (přesný gama chvost), spektrální přebytek na blok (aproximace), špičatost (jednostranná gaussovská), pulzy (binomický strop), SQM na zprůměrovanou aktualizaci (2Q(k) = Q(1/2, k^2/2), nové) a ARL0 CUSUM pro C/N0 (Siegmund). Bez této tabulky zůstávají buňky, klíče a otisky beze změny. Nesyntetizuje se žádný průběh interference | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vlastní uzavřené tvary monitorů na vlastních scénách GPS L1 C/A z Kshany (šum a legitimní signály; události útlumu vlastních signálů družic) proti prahům předregistrovaným v docs/design/MONITORS-IN-CAMPAIGN.md (382ab2f4). ZJIŠTĚNÍ: M1, M2 a M4 splněny. M3 splněn v detekci (18 z 18 útlumů, P_md 0) a NOT MET v časové klauzuli: medián doby do detekce je 1,001 s proti 2 x ARL1 vzorků = 0,433 s. CUSUM vidí jeden odhad na okno 1 s, takže mez v počtu vzorků je pod jedním vzorkem. Pouze vnitřní konzistence: neověřuje se žádný skutečný přijímač ani zaznamenaná interference | 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 z 5900 bloků proti 99 % binomickému intervalu [40, 80] pro P_fa 0,01), m2_sqm_false_alarm_fraction_is_within_a_factor_of_2_of_2q_k (delta 0,0160, poměr 0,0131 proti 0,01), m4_cn0_false_alarms_stay_within_the_poisson_bound_of_arl0 (0 proti 0), the_monitors_table_parses_and_validates; m3_every_attenuation_is_detected_within_twice_the_arl1 (striktní, ignorován s mezerou); testy iq::campaign::detect; testy iq::monitor::stats (gaussian_two_sided_tail_matches_known_values); tests/iq_campaign.rs (zafixované otisky jsou bez tabulky nezměněny) |
| Detekční ROC monitorů IQ z hodnocené kampaně laboratorního přehrávání | iq::campaign::detect (windows, roc) a iq::campaign::report::rocs: každá buňka kampaně s monitory uchovává pro každý druh poplachu a kanál maximum vlastní testové statistiky monitoru přes každé uvedené okno události (pozitivní) a přes dlaždicově rozložená okna roc_window_s mimo události (negativní). Statistikami jsou odchylka výkonu bloku, přebytek PSD, špičatost z, |z| SQM zprůměrované metriky a CUSUM pro C/N0. Zpráva je sdružuje podle druhu do empirické ROC na úrovni oken s jejím AUC a pracovním bodem při nastaveném prahu, zapsané jako roc.json (kshana.campaign-roc/1) a sekce Detection ROC v report.html. Kampaň bez monitorů nezapisuje ani jedno | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Syntetické kampaně z vlastních scén GPS L1 C/A z Kshany (útlumy vlastních signálů družic) proti prahům předregistrovaným v docs/design/DETECTION-ROC.md (b47e358d). ZJIŠTĚNÍ: R2 splněn (úroveň náhody, když není co detekovat). R1 NOT MET: AUC cn0_drop 0,7855 proti 0,95, protože každé záporné okno po události dědí od detekce útlum CUSUM (všech 18 záporných po události dosahuje 81 nebo více; všech 18 záporných před událostí zůstává na 0). Pouze vnitřní konzistence: neověřuje se žádný skutečný přijímač ani zaznamenaná interference | 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 na uvedených událostech, které nic neutlumují); r1_the_cn0_drop_roc_separates_6_db_attenuations (striktní, ignorován s mezerou); testy iq::campaign::detect (the_roc_of_separated_and_of_identical_samples, windows_tile_the_time_outside_the_events) |
| Kalibrace modelů C/N0 a zámku otevřeného přijímače na výsledky kampaní IQ s uvedenou chybou predikce | iq::labfit (campaign, cn0, iqfit, iqreport) a [input] campaign na kshana iq labfit, Python kshana.iq_labfit a nástroj labfit v MCP (pouze složky kampaní uvnitř jeho pracovního adresáře): načte výstupní složku kshana iq campaign podle jejího DIGEST a seskupí hodnocené buňky do jednotek přizpůsobení (signál x návrh smyčky x řetězec vstupního stupně x typ rušiče, nikdy sdružené dohromady). Pro každou jednotku přizpůsobí naměřené C/N0 uvedenému J/S pomocí tvaru spektrální separace. Q_eff není z dat C/N0 identifikovatelné bez nezávislého měření výkonů rušiče a signálu, takže Q je uvedeno, nikdy nepřizpůsobeno (tabulka typů, q události, nebo u neznámého typu nejškodlivější uvedená hodnota, cw Q = 1). Přizpůsobovaným parametrem je identifikovatelný posun delta_eff = delta - 10 log10 Q, přičemž korelační pojistka hlásí degeneraci. Biny C/N0 se zámkem pod 90 % jsou cenzurovány a vypsány. Prahové J/S je dáno přímo i uzavřeným tvarem; model smyčky sledování a empirický model zámku jsou spřaženy přes model C/N0, s doběhy ztráty a opětovného zachycení zámku. Seedovaný klastrový bootstrap přes záznamy (1000 replikací) dává percentilové intervaly; 90 % predikční intervaly pocházejí z tahů reziduí; hold-outy typu vynechání jednoho záznamu jsou rozděleny na interpolační a extrapolační; předregistrovaná tabulka [validation] je zahašována a každý práh posouzen jako PASS/FAIL. Zpráva kshana.labfit-iq/1 jako JSON, CSV a generovaný Markdown, s blokem jednotek. Pouze syntetické (žádný záznam třetí strany, žádný průběh rušiče). Cesta labfit z logu přijímače je beze změny |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Syntetické obnovení parametrů na vlastních scénách GPS L1 C/A z Kshany se známým profilem C/N0 vnuceným podle vzorce z oddílu 3,1, sledované a hodnocené pomocí kshana iq campaign, proti prahům předregistrovaným v docs/design/LABFIT-FROM-IQ.md (oddíl 5,1, změněno 2026-10-12 v b7117bf, oddíl 13). Estimátor C/N0 kampaní (M2M4) byl stanoven v 5b13e3c2, odeslán před prvním vyhodnocením prahu (potvrzen společně s kódem fitu, nikoli samostatně), po jednom zveřejněném diagnostickém běhu sledování. ZJIŠTĚNÍ u kampaně prahu s 18 událostmi: (c) PASS; (a') NOT MET, chyba delta_eff -1.097 dB proti 0,5 dB (stále -0.89 dB u binů od 38 dB-Hz výše); (b') NOT MET, 0 z 50 kampaní pokrývá pravdu (chyba -1.189 +/- 0,093 dB, interval asi 0,3 dB); (d) NOT MET, uzavřený tvar 2,20 dB pod přímým J/S při ztrátě, přibližně fitovaná doba setrvání poklesu krát rychlost náběhu (2,09 dB); původní klauzule Q v (a) a (b) jsou NOT MET, protože Q není identifikovatelné. NÁVAZNÝ KROK (prahy předregistrovány v 1e532f84, docs/design/evidence/labfit-followup/RESULTS.md): na kampani se schodovitým J/S je delta_eff obnovena do +0,185 dB (S1 MET: chyba náběhu je zpoždění estimátoru); (d) tak, jak je napsáno, je na ní splněno modelem sledovací smyčky (0,45 dB), ale ne empirickým (6,42 dB), takže S2 je NOT MET; na nové kampani s náběhem je (d) s fitovanými dobami setrvání poklesu zvýšenými o rychlost náběhu každé události do 1 dB pro oba modely (R1 MET) a (a') a (d) tak, jak jsou napsány, opět selhávají (-1.25 dB; 2,32 a 9,47 dB). Kontroluje se metoda, nikoli žádný přijímač: ze syntetických dat nemůže být VALIDATED | 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 (pokrytí PI90 0,891 přes 558 binů, 0,900 přes 10 událostí času do ztráty při každém modelu zámku), the_report_carries_its_inputs_censoring_validation_and_labels (vstupy, cenzura, hash [validation] a verdikty, audit bloku jednotek), 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 a bar_b_prime_ci_subset (striktní, ignorovány s mezerou); bar_b_prime_full_set_of_50_campaigns (ignorován, spouští se před vydáním); testy iq::labfit::cn0 (přesná degenerace Q-delta, obnovení delta při uvedeném Q, uzavřená inverze prahu); testy iq::labfit::iqfit (podmínky modelu zámku přesně reprodukují model C/N0); tests/iq_labfit_followup.rs (návazný krok zaregistrovaný v 1e532f84: s1_delta_eff_on_the_stepped_campaign MET, s2_d_as_written_on_the_stepped_campaign potvrzující zaznamenané NOT MET, r1_dwell_corrected_d_on_the_fresh_ramp_campaign MET, ve verzi release) |
| Kódování GPS LNAV dekódované nezávislou knihovnou přijímače | Podrámce LNAV 1–3 z Kshana (gps_lnav::encode_subframes) pro 32 efemerid brdc0010.22n předaných funkcím decode_word a decode_frame z RTKLIB: parita každého slova, dekódování podrámců s konzistentním vydáním dat a každý dekódovaný parametr proti celému číslu z Kshana a proti vstupní hodnotě | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — RTKLIB v2.4.2-p13 (BSD-2-Clause, commit 71db0ffa) decode_word/decode_frame jako samostatný program, předregistrováno ca5f0142: R1 parita a dekódování, R2 dekódovaná hodnota rovná celému číslu Kshany krát měřítko IS-GPS-200 s relativní přesností 2^-52, R3 do půl kvanta od vstupu. ZJIŠTĚNÍ: R1 960 z 960 slov a 96 z 96 podrámců; R3 každý parametr, týden a referenční časy přesně; R2 selhává u 41 hodnot (af1, delta-n, IDOT) o 1 až 4 jednotky na posledním místě, protože P2_43 v RTKLIB je desetinné číslo 1.136868377216160E-13, relativně 2.6e-16 od 2^-43; dělení konstantou RTKLIB vrací celé číslo Kshany ve všech případech. Zůstává MODELLED: zaregistrovaný práh R2 byl pro vlastní konstantu orákula příliš těsný | gps_lnav | tests/gps_lnav_rtklib_decode_oracle.rs::rtklib_recovers_every_integer_and_differs_only_by_its_decimal_two_to_the_minus_43 (zafixované zjištění); tests/gps_lnav_rtklib_decode_oracle.rs::kshana_lnav_subframes_decode_in_rtklib_to_the_broadcast_parameters (striktní, ignorován s mezerou) |
| Kódování navigační zprávy GPS LNAV | Podrámce LNAV 1–3 podle IS-GPS-200 (gps_lnav::encode_subframes: kvantizace každého parametru hodin a dráhy zaokrouhlením na nejbližší při měřítkách a hodnotě pí podle specifikace, balení ve dvojkovém doplňku, slova TLM a HOW, parita podle tabulky 20-XIV s inverzí D29*/D30*, bity řešící paritu ve slovech 2 a 10), tedy zpráva, kterou vysílá generátor signálu GPS L1 C/A | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, proto schopnost zůstává modelovaná — RTKLIB v2.4.2-p13 (BSD-2-Clause, commit 71db0ffa) readrnx zpracovávající denní vysílaný soubor IGS BRDC00IGS_R_20250610000_01D_MN.rnx a decode_word/decode_frame dekódující slova Kshany, spuštěno jako samostatný program; předregistrováno d4d9eb9d před stažením souboru, práh přesné shody celých čísel. Mutace: zkracování místo zaokrouhlování dává 235 selhání. Dřívější porovnání téhož kodéru jsou zaznamenána jako zjištění: proti gps-sdr-sim, který zkracuje (230 polí), a proti škálovaným hodnotám RTKLIB, jehož desetinná konstanta 2^-43 nesplnila práh jednoho ulp (41 hodnot). Dodatečné ověření integrátorem (zůstává MODELLED): porovnání souhlasí a mutace nastavení parity jej rovněž zbarví červeně, ale předregistrace d4d9eb9d dorazila na veřejnou větev v 20:02:29 UTC, dvě sekundy po commitu výsledku 1783f904 (20:02:27 UTC), který již obsahuje výstup RTKLIB pro tento soubor, takže pořadí „zaregistrováno před stažením souboru“ nelze prokázat; rozhodla by nová registrace odeslaná před stažením dosud neviděného vysílaného souboru | gps_lnav | tests/gps_lnav_rtklib_integer_oracle.rs::kshana_lnav_integers_decode_in_rtklib_from_an_unseen_broadcast_file (32 družic vysílaného souboru IGS z 2. března 2025: 960 z 960 slov projde paritou RTKLIB, 96 z 96 podrámců se dekóduje, 608 z 608 dekódovaných vysílaných celých čísel se rovná číslům Kshany, každý vstup do půl kvanta, týden a časy přesně); gps_lnav::tests |
| Akvizice a odhad C/N0 na skutečných lunárních IQ datech | Paralelní vyhledávání fáze kódu (acquisition::pcps_acquire: přenosné FFT, koherentní skládání, nekoherentní akumulace, práh chí-kvadrát pro pravděpodobnost falešného poplachu v celém vyhledávání), zjemnění, otevřenosmyčková promptní korelace s Dopplerem kódu a estimátor C/N0 M2M4, spuštěné na dávkách 4bitových IQ LuGRE L1 načtených přes realdata::ion_sdr | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — GNSS-SDR 0.0.19 (GPL-3.0, samostatný program, zafixovaná konfigurace) na devíti nepovrchových dávkách L1 a SUROVÉM C/N0 letového přijímače (LuGRE Mission Data, Zenodo 16411687, CC BY 4,0), předregistrováno 768cb62b. ZJIŠTĚNÍ: čtečka Kshany dekóduje všech 288 porovnávaných úseků shodně s nezávislým převodníkem; GNSS-SDR prohlašuje 266 z 288 hledání za pozitivní a Kshana souhlasí ve všech 266 rozhodnutích, ale jen 250 je lokalizováno na buňku GNSS-SDR (A2 selhává); větev C/N0 je prázdná, protože žádná letová SUROVÁ epocha neleží do 30 s od žádné dávky (nejbližší 141 s). Většina pozitiv jsou artefakty: holé úrovně ve dvojkovém doplňku nesou průměr -0.5 v I i Q, čáru na nulové frekvenci 32 dB nad šumem v binu 1 kHz, kterou zachytí oba přijímače. Dvě dávky (OP5, OP12) byly vyloučeny omylem: čtení jejich metadat s odstraněnými číslicemi bylo považováno za rozpor s jejich hlavičkami; skutečnou příčinou bylo, že čtečka nedokázala číst vzorek širší než slovo (od té doby opraveno). Zůstává MODELLED | acquisition, portable_math, realdata::ion_sdr, realdata::lugre | tests/lugre_acquisition_gnss_sdr_oracle.rs::finding_dc_artefacts_and_no_contemporaneous_flight_cn0 (zafixované zjištění, podmíněné daty); tests/lugre_acquisition_gnss_sdr_oracle.rs::acquisition_and_relative_cn0_on_lugre_iq_match_gnss_sdr_and_the_flight_receiver (striktní, ignorován s mezerou); acquisition::tests; realdata::ion_sdr::tests; realdata::lugre::tests |
| Akvizice na skutečných lunárních IQ datech proti Dopplerovi predikovanému z dráhy (rozhodnutí podle výkonu vzorků) | acquisition::pcps_acquire s rozhodnutím podle výkonu vzorků na devíti dávkách LuGRE L1 mimo povrch s úrovněmi mid-rise; rozdíly Dopplera mezi zachycenými družicemi porovnané s rozdíly predikovanými z finálních drah ESA a z trajektorie Blue Ghost rekonstruované firmou Firefly | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Predikovaný Doppler z finálních drah ESA/ESOC a rekonstruované trajektorie NAIF CLPS (xval/lugre-predicted-doppler/predict.py, nezávislé na Kshaně), předregistrováno 0d1839d2. ZJIŠTĚNÍ: všech 288 hledání překračuje práh na šumu (statistiky výkonu vzorků asi 430 až 520 proti 346,3), takže P1 platí triviálně a P3 platí (274 z 288 předpovězeno jako viditelných), zatímco P2 selhává u 4033 z 4036 dvojic. Pásmově omezený vstupní stupeň zvyšuje šum každé buňky asi 1,46krát (zafixováno: úroveň šumu 292 proti bílému šumu 200 u OP2 PRN 1), což statistika výkonu vzorků nevidí. Zůstává MODELLED | acquisition, realdata::ion_sdr | tests/lugre_acquisition_predicted_doppler_oracle.rs::noise_alone_crosses_the_sample_power_threshold_on_lugre_iq (zafixované zjištění, podmíněné daty); tests/lugre_acquisition_predicted_doppler_oracle.rs::acquired_doppler_differences_on_lugre_iq_match_the_orbit_prediction (striktní, ignorován s mezerou) |
| Akvizice na skutečných lunárních IQ datech hodnocená podle Dopplera predikovaného z dráhy | acquisition::pcps_acquire s rozhodnutím podle průměrování buněk (vrchol nad průměrnou buňkou mřížky, odolné vůči pásmově omezenému šumu) na devíti dávkách LuGRE L1 mimo povrch s úrovněmi mid-rise; rozdíly Dopplera mezi zachycenými družicemi porovnané s rozdíly predikovanými z finálních drah ESA a z trajektorie Blue Ghost rekonstruované firmou Firefly | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Predikovaný Doppler z finálních drah ESA/ESOC a rekonstruované trajektorie NAIF CLPS (xval/lugre-predicted-doppler/predict.py, nezávislé na Kshaně), předregistrováno a81a9a4e. ZJIŠTĚNÍ: P1 a P3 platí (4 dávky, 12 z 12 akvizic předpovězeno jako viditelných), ale P2 selhává u 8 z 8 dvojic. Dvě nejsilnější dvojice odpovídají předpovědi velikostí s obráceným znaménkem (OP2 PRN 18/24: +7670,0 Hz změřeno, -7693.9 předpovězeno; OP17 PRN 11/30: +11155,0, -11114.4), takže zaregistrované pořadí I v dolním půlbajtu je konjugací dávek; šest detekcí těsně nad prahem neodpovídá žádnému znaménku. Rozptyl Dopplera zpřesnění (30 až 50 Hz mezi dvěma běhy) registrace rovněž podcenila. Zůstává MODELLED | acquisition, realdata::ion_sdr | tests/lugre_acquisition_cell_average_doppler_oracle.rs::strong_pairs_match_the_prediction_only_with_the_doppler_sign_reversed (zafixované zjištění, podmíněné daty); tests/lugre_acquisition_cell_average_doppler_oracle.rs::cell_average_acquisitions_on_lugre_iq_match_the_orbit_predicted_doppler (striktní, ignorován s mezerou) |
| Akvizice na lunárních IQ datech ze skutečného provozu, držených stranou, proti Dopplerovi predikovanému z dráhy | acquisition::pcps_acquire (rozhodnutí podle průměrování buněk, pravděpodobnost falešného poplachu 1e-7) s refine_doppler_coherent na dávkách LuGRE L1 zaznamenaných na lunárním povrchu (I v horní tetrádě, úrovně mid-rise); rozdíly Dopplera mezi zachycenými družicemi proti rozdílům predikovaným z finálních drah ESA a z kernelu místa přistání Firefly | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Predikovaný Doppler z finálních drah ESA/ESOC a jádra místa přistání Firefly NAIF CLPS (xval/lugre-predicted-doppler/predict_surface.py, nezávislé na Kshaně), předregistrováno 2108e6ff na dávkách, které nebyly nikdy předtím otevřeny. ZJIŠTĚNÍ: neprázdnost selhává; žádná dávka neobsahuje dvě akvizice. OP40 vyloučena (metadata pojmenovávají chybějící soubor); OP38, OP73, OP77_0, OP77_1 nezachytí nic a nevykazují falešný poplach při 1e-7 (nejvyšší statistiky 325 až 356 proti 385,9); OP74 a OP76 zachytí PRN 31 a OP78_0 a OP78_1 PRN 12, každá samostatně, všechna předpovězena jako viditelná. Zůstává MODELLED. Zveřejněné odchylky: zaregistrovaný práh Dopplera 10 Hz stojí na syntetickém Monte Carlo koherentního zpřesnění, nikoli na rozptylu již viděných dávek, který integrátor požadoval; OP40 byla vyloučena před během, protože její metadata pojmenovávají soubor vzorků, který datová sada nedodává | acquisition, realdata::ion_sdr, realdata::lugre | tests/lugre_surface_acquisition_doppler_oracle.rs::each_surface_acquisition_is_a_single_predicted_visible_satellite (zafixované zjištění, podmíněné daty); tests/lugre_surface_acquisition_doppler_oracle.rs::surface_acquisitions_match_the_orbit_predicted_doppler (striktní, ignorován s mezerou) |
| Měsíční diferenční PNT | Diferenciální referenční stanice třídy NovaMoon: zrušení společného módu + reziduum rostoucí se základnou + ochranné úrovně DGNSS | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Identita diferenčního rušení chyb + opětovné použití aparátu SBAS PL podle DO-229E; řešení jednoduchých diferencí + WLS je navíc křížově kontrolováno proti lsq()/matinv() v RTKLIB (Takasu, BSD-2-Clause, kompilované C) — nezávislý kód řešiče, ale táž algebra rozdílů LOS prvního řádu, takže stále InternalConsistency | lunar_dpnt | lunar_dpnt::tests (společný mód hodin se přesně ruší; reziduum roste se základnou; znovu používá SBAS PL; počet družic je dodržen do limitu konstruktoru 24, takže větší konstelace nemůže tiše vrátit menší); tests/lunar_differential_pnt_reference.rs (reziduum jednoduchých diferencí + řešení polohy WLS vs. lsq() z RTKLIB zkompilované ze zdrojového kódu C) |
| Export pro lunární interoperabilitu | Export lunární soustavy + času + efemerid ve shodě s LunaNet/IOAG (CCSDS OEM + KIF) s konformitou při zpětném převodu | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — lunární export OEM z kshana znovu zpracovaný nezávislou knihovnou třetí strany oem (R. J. Anderson): tokeny soustavy/času a stav v každé epoše souhlasí s přesností zápisu (1 mm / 1e-9 km/s) a export s vynechaným TIME_SYSTEM je odmítnut — strukturní okružní test výměny; fyzikální sémantika lunární soustavy a času je ověřena jejich vlastními řádky, proto zůstává MODELLED. 0,30 externí porovnání, zjištění (zůstává MODELLED): druhá nezávislá čtečka, parser CCSDS OEM z Orekit 12,2 (Apache-2.0, striktní výchozí nastavení), odmítne oba lunární soubory, protože neimplementuje časové soustavy LTC a TCL (dekóduje OEM EME2000/UTC z tohoto crate a lunární soubory dekóduje po nahrazení TIME_SYSTEM hodnotou TDB); oem 0.4.5 je dekóduje v rámci zapsané přesnosti jen tak, že se vrací od nepodporované časové soustavy. Výměna těchto lunárních souborů s běžnými čtečkami CCSDS není prokázána |
lunar_interop | lunar_interop::tests (OEM nese lunární REF_FRAME/TIME_SYSTEM; metadata času projdou okružním testem; obálka KIF); tests/lunar_interoperability_export_reference.rs (lunární OEM vydaný kshana znovu zpracovaný nezávislou knihovnou oem v Pythonu: tokeny REF_FRAME/TIME_SYSTEM/CENTER + stav v každé epoše s přesností formátu; poškozený export je odmítnut); tests/lunar_interop_oem_oracle.rs::recorded_two_reader_outcome_is_for_todays_export |
| Bodování ve shodě s rámci odolnosti PNT | Dílčí skóre po jednotlivých dimenzích nad vlastními sedmi kategoriemi odolnosti Kshana (nikoli pojmy DHS), funkcemi RDRR z RethinkPNT a kritérii Yang, každé označené jako modelované se svým hnacím faktorem; předběžná úroveň RPCF s bránou omezené degradace. Sebehodnocení odvozené ze simulace, nikdy certifikace. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Ručně odvozené vzorce pro jednotlivé metriky: inverzní Simpsonova diverzita, vážený průměr kompozitu, ohraničené/neohraničené doby časové osy, žebříček úrovní nejslabšího článku | resilience::arch, resilience::score, resilience::diversity, resilience::timeline | resilience::score::tests (monotonie, meze kompozitu, strop úrovně, modelovaný původ); resilience::diversity::tests (inverzní Simpson, společný mód, SPOF) |
| Studie nestability rozhodnutí podle skóre odolnosti | Kvantifikuje, jak jediné složené skóre / úroveň RPCF přeuspořádává architektury při obhajitelném simplexu vah a souboru hrozeb (míra přeskoku top-1, rozptyl Kendallova tau, míra přeskoku úrovně, rozsahy pořadí); analýzy deklarovaného vs. změřeného a kolapsu diverzity. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Identity pořadových statistik v uzavřeném tvaru (tau v [-1,1] s ručně vypočtenými hodnotami; deterministický Dirichlet se seedem) a sestrojení stabilních/nestabilních svědků | resilience::stats, resilience::study, resilience::panel | resilience::stats::tests (ruční příklad Kendallova tau, Dirichletův simplex, míra překlopení); resilience::study::tests (kontrola stability, svědek nestability, deklarované vs. změřené, kolaps diverzity) |
| Reprezentativnost demonstrace a mezery k letu | Registr poctivosti pro každý výsledek, který kvalifikuje výstup demonstrace: jeho vnější kotvy, modelované předpoklady, mezery k letu a reprezentativní pásmo TRL, s vynucenými invarianty (ověřeno vyžaduje vnější kotvu; modelované vyžaduje mezeru a nemůže tvrdit víc než TRL 4). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Invarianty v uzavřeném tvaru odpovídající disciplíně compliance „reprezentativnost zdůvodněna + identifikovány mezery k letu“; navázáno na hranici mezi stavem verifikace a druhem orákula | representativeness | representativeness::tests (validated-needs-external-anchor, modelled-needs-gap, modelled-TRL-ceiling, malformed-band, pole JSON) |
| Důkazy pro srovnání kvantového a klasického řešení (společný tvar) | Jediný reprodukovatelný objekt TradeEvidence (pevný rámec: scénář+seed+engine; společné hodnoty kvantového a klasického řešení pro každý ukazatel kvality s přínosem se správnou polaritou, volitelný 95% IS, označení ověřeno/modelováno) nesoucí záznam o reprezentativnosti, takže každá kvantová PNT vertikála hlásí srovnání stejným poctivým způsobem. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Identity přínosu/vítěze v uzavřeném tvaru + věrný obal stávajícího quantum_trade::TradeResult; poctivost navázána na registr reprezentativnosti a štítky verifikace | qtrade | qtrade::tests (polarita přínosu vyšší/nižší je lepší, věrně obaluje skutečný TradeResult, nepoctivý důkaz je odmítnut, ověřená FoM potřebuje externí kotvu, deterministický JSON) |
| Knihovna chybových modelů kvantových zařízení | Karty zařízení (optické/z uvězněných iontů/rtuťové iontové + klasické hodiny převzaté z holdover/clock_state; interferometr se studenými atomy; klasické + provázané/jednofotonové linky přenosu času), každá nese záznam o reprezentativnosti; provázaná linka přidává model přesnosti časování omezené šumem počtu fotonů (~jitter/sqrt(R*tau), penalizace temných impulzů, systematická podlaha). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Znovu použité koeficienty hodin/CAI (holdover/clock_state, publikované hodnoty) + identity šumu výstřelu a ztrát v uzavřeném tvaru pro spoj s provázáním | quantum_devices | quantum_devices::tests (karty hodin poctivé + seřazené; preciznost provázání ~1/sqrt(tau); detekovaná četnost -10x/10dB; temné počty zhoršují; meze systematického dna; karta modelovaná + platná) |
| Důvěryhodné kvantové časování (přenos času + zabezpečené šíření + anomálie) | Kompletní řetězec přenosu času, kvantový vs. klasický (výběh hodin + přesnost linky v kvadratuře), převzatá ochranná úroveň času, ukazatel bezpečnosti proti útoku zpožděním/přehráním (1-P_md) a pravděpodobnost detekce anomálie hodin + latence CUSUM, vydané jako poctivé TradeEvidence se záznamem o reprezentativnosti. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Rozpočet kvadratur v uzavřeném tvaru nad znovu použitými ověřenými jádry (ADEV vs. Stable32/NIST; mez TPL; detekce analytic_pd/pmd); poctivost navázána na registr reprezentativnosti | timetransfer_chain | timetransfer_chain::tests (preciznost se s integrací zlepšuje; kvantová varianta může vyhrát I prohrát; PL konečná-kladná; FoM bezpečnosti v [0 1] a roste se zpožděním útoku; Pd anomálie monotónní; obchodní srovnání is_honest) |
| Kvantová navigace bez GNSS | Kvantová (interferometr se studenými atomy) vs. klasická inerciální navigace navigační třídy při výpadku GNSS: růst chyby polohy, holdover do prahu polohy a srovnání kvantového a klasického řešení jako poctivé TradeEvidence; poctivá poznámka o pozorovatelnosti (bias je bez fixu nepozorovatelný, takže chyba roste). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Znovu použité inerciální rozpočty křížově kontrolované proti nezávislé dvojí integraci téže ODR dead-reckoningu v Octave (jiný runtime, sdílený model → ReferenceImpl) plus publikovaný krátkodobý šum Freier-2016 jako jednostranná kotva; kompozit kvantové vs. klasické zůstává MODELLED | quantum_nav_od | quantum_nav_od::tests (kvantová varianta porazí klasickou při dlouhém výpadku; výhoda závisí na výpadku; obchodní srovnání is_honest); tests/gnss_free_quantum_navigation_reference.rs (růst polohy při dead-reckoningu vs. nezávislá dvojí integrace v Octave + publikovaná kotva šumu Freier-2016) |
| Detekce poruch/anomálií pro kvantové systémy PNT | Označený katalog kvantových poruch (skok frekvence/drift/ztráta zámku hodin; skok biasu/výpadek senzoru), ROC AUC detekční statistiky s bootstrapovým IS a minimální detekovatelná porucha při pevné míře falešných poplachů; monitor podporovaný kvantovými hodinami detekuje menší poruchy než klasický, vydáno jako poctivé TradeEvidence. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Gaussovská AUC v uzavřeném tvaru = Phi(mu/(sigma*sqrt2)) křížově kontrolovaná proti externě ověřenému eval_stats::bootstrap_auc_ci (vs. scikit-learn) + analytické prahy detekce | quantum_faults | quantum_faults::tests (analytické známé hodnoty AUC; empirická bootstrapová AUC obklopuje uzavřený tvar; kvantová varianta detekuje menší poruchy / vyšší AUC; výhoda mizí u obrovských poruch; katalog o 5 třídách; obchodní srovnání is_honest) |
| Pasivní geolokace zdroje signálu metodou TDOA/FDOA | Lokalizace zdroje signálu (rušičky/spoofera nebo příležitostného zdroje pro reverzní PNT) z rozdílů dob příchodu napříč sítí přijímačů – průsečík hyperboloidů τᵢ=(Rᵢ−R₀)/c řešený Gaussovou–Newtonovou metodou nejmenších čtverců – a po přidání rozdílů frekvencí příchodu (rozdílů rychlostí změny vzdálenosti) s pohybujícími se přijímači společné určení polohy a rychlosti; s dolní Cramérovou–Raovou mezí kovariance polohy z geometrie měření | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vlastní konzistence estimátoru a geometrie: okružní testy dopředně→zpětně, identita Fisher/CRLB J·CRLB=I, monotonie GDOP a estimátor dosahující vlastní Cramérovy–Raovy meze při šumu Monte Carlo — kontroly vnitřní konzistence, NE externí datová sada, takže řádek zůstává InternalConsistency. MODELLED pasivní geolokace — model přímé viditelnosti bodového zdroje; bez členů vícecestného šíření / NLOS, chyby hodin přijímače ani atmosférické refrakce. 0,30 kolo 2, proti Ho a Chan 1993 a Ho a Xu 2004 (předregistrováno f89018b8, 1 % každé vytištěné hodnoty), zjištění (zůstává MODELLED): mez TDOA omezená na povrch reprodukuje 40 N geometrických faktorů (-0.11 %, -0.02 %) a maximální TDOA; společná mez TDOA+FDOA reprodukuje Fig. 6 (+0,06 %, -0.17 %) a ve zdroji, který pojmenovává kód samotných autorů pro Fig. 7 (dodatek napsaný poté, co byl výsledek vidět, zveřejněno), Fig. 7 (+0,11 %, -0.02 %); rovná se publikovanému kódu meze autorů (ve stylu BSD, spuštěnému v GNU Octave) s přesností 3e-12; řešič maximální věrohodnosti vážený kovariancí dosahuje vytištěné meze (+0,3 až +0,4 %). Faktory pro Ottawu, které článek tiskne z Monte Carlo (251, 7,1), se liší o +1,3 % a +4,4 %, mimo práh 1 % | geolocation | geolocation::tests (TDOA bez šumu dopředně→zpětně s přesností 1e-6 m; J·CRLB=I se symetrickou kladně definitní kovariancí; stopa rozptylu polohy CRLB neroste, když se přidá přijímač; společné TDOA+FDOA obnoví polohu+rychlost pohybujícího se zdroje; <4 přijímače jsou odmítnuty); tests/geolocation_reference.rs (okružní testy přes čtyři geometrie se 3D-rozmanitou sítí; estimátor Gauss–Newton dosahuje své Cramérovy–Raovy meze — empirická kovariance chyby sleduje analytickou mez přes 4000 pokusů Monte Carlo); 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 a finding_ho_xu_fig7_printed_source_is_not_the_plotted_one, zafixováno) |
| Konvektivní zahřívání v bodě stagnace při vstupu (Sutton–Graves) na vstupu se 3 stupni volnosti | Konvektivní tepelný tok v bodě stagnace q = k sqrt(rho/R_n) V^3 s konstantami Sutton–Graves pro zemský vzduch a atmosféru Marsu (NASA TR R-376, 1971), jeho špička a integrované tepelné zatížení podél vstupu se 3 stupni volnosti, balistického nebo nosného při konstantním náklonu, na Zemi nebo na Marsu. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence: vztah a konstanty tak, jak jsou vytištěny v NASA TR R-376, kontrola konvergence půlením kroku a očekávané pořadí maxim ohřevu a zpomalení. CO NENÍ: nebyla porovnána žádná publikovaná hodnota ohřevu (práce o Stardust uvádějí návrhový limit a odhad konvektivního plus radiačního ohřevu asi 1200 W/cm2, kterému konvektivní vztah nemůže odpovídat); žádný radiační ohřev, žádná korekce teploty stěny ani katalytičnosti, žádná odezva tepelné ochrany. | 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 (zaznamenává 746 W/cm2 pro Stardust bez prahu) |
| Radiometrie elektrooptického zobrazovače, MTF, relativní odezva hrany a NIIRS podle GIQE 4 | Rozpočet poměru signálu k šumu nadirového zobrazovače (lambertovská zář scény, kamerová rovnice, šum počtu fotonů, temný, čtecí a kvantizační), systémová MTF na Nyquistově frekvenci jako součin difrakce neclonicí apertury, apertury detektoru, lineárního rozmazání a gaussovského jitteru, odezva hrany a relativní odezva hrany integrované z této MTF, Q = lambda F / p a NIIRS podle GIQE verze 4 bez kompenzace MTF. Spustitelné jako druh scénáře eo-radiometry. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Uzavřené tvary: difrakční MTF v polovině mezní frekvence, jednopixelová hrana náběhu čistě detektorové apertury (RER 1), hrana normálního rozdělení gaussovského rozmazání (RER = erf(0.5/(sigma sqrt 2))), škálování šumu výstřelu a koeficienty GIQE 4 tak, jak jsou publikovány (Leachtenauer et al., Applied Optics 36(32), 1997). CO NENÍ: nebyl porovnán žádný externí snímač, změřená MTF ani hodnocený snímek; GIQE je empirická regrese s vlastní chybou; žádné rozptýlené světlo, atmosférická MTF, kompenzace MTF ani 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 |
| Ztráty gravitační, odporové, řídicí a protitlakové při výstupu nosné rakety | Rovinný gravitační výstup vícestupňového nosiče nad neotáčející se kulovou Zemí přes standardní atmosféru USA 1976 (hustota a tlak), s kopem sklonu, tahem sníženým protitlakem v trysce, vyhořením stupňů přesně na hranicích kroků a ztrátami gravitační, odporovou, řídicí a protitlakovou integrovanými vedle stavu. Spustitelné jako druh scénáře ascent-losses. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence: přesná identita rychlost při vyhoření = součet Isp g0 ln(m0/mf) minus čtyři integrované ztráty (reziduum pod 1e-6 m/s), Ciolkovského rovnice na svislém vakuovém hoření, kde je jedinou ztrátou gravitace, a tlaky US76 u hladiny moře a na tropopauze. CO NENÍ: nebyly porovnány ztráty žádného publikovaného nosiče; žádná rotace Země, volný let, škrcení ani navádění nad rámec kicku; konstantní C_D; nejde o optimalizátor trajektorie. | 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 |
| Dvoucestná rovnice TWSTFT, rozpočet nejistoty a stabilita linky s flicker šumem a denní nereciprocitou | Dvoucestná rovnice TWSTFT řešená pro T_A - T_B se zpožděními vysílání a příjmu stanic, asymetrií ionosféry nahoru/dolů v pásmu Ku, rozdílem zpoždění transpondéru a členy Sagnac, proti jejímu přesnému přímému modelu; kvadraturní rozpočet nejistoty s TDEV linky jako členem typu A; dvoucestná řada s bílým a flicker fázovým šumem (Kasdin–Walter), denní nereciprocitou a konstantním residuem reciprocity; a rychlost, reziduální RMS, TDEV a ADEV dodaných řad hodin stanic ve formátu Circular T, MJD-CSV nebo IGS RINEX. Spustitelné jako druh scénáře time-transfer-budget. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence: dopředný model a řešená rovnice souhlasí s přesností 1e-15 s, člen Sagnac se rovná nezávislému tvaru smyčky BIPM 2A omega/c^2 v modulu, ionosférický člen je 40,3 TEC (1/f_up^2 - 1/f_down^2)/c a šumové procesy vykazují očekávané tvary TDEV. CO NENÍ: nebylo porovnáno žádné skutečné měření TWSTFT ani kalibrační zpráva; uvedená zpoždění a nejistoty jsou vstupy, nikoli změřené; stability dodaných řad se uvádějí, nejsou ověřeny. | twstft_budget (counter_readings, solve_offset, combined_uncertainty, flicker_phase, two_way_series, series_stability); time_transfer_budget (TimeTransferBudgetScenario, read_series) | twstft_budget::tests (obousměrná rovnice přesně obnoví offset; člen Sagnac se rovná uzavřenému tvaru smyčky BIPM; ionosférický člen sleduje rozdělení frekvencí a troposféra se ruší; flicker fáze má plochou TDEV; denní reziduum zvedá TDEV poblíž půl dne; reciproční bias posouvá offset, nikoli TDEV; stabilita řady odstraňuje rychlost); time_transfer_budget::tests |
| Numerika optické atmosféry na šikmé dráze: Rytovův rozptyl, scintilace, pravděpodobnost úniku gamma-gamma, průměrování přes aperturu, optická tloušťka oblaků a čistého vzduchu | Hufnagelovo–Valleyovo Cn2 integrované podél šikmé dráhy pro Rytovův rozptyl pro rovinnou a kulovou vlnu (uplink a downlink), index scintilace podle Andrewse–Phillipse a parametry gamma-gamma, pravděpodobnost úniku gamma-gamma a rezerva proti úniku, faktor průměrování přes aperturu při slabé turbulenci, optická tloušťka oblaku sloupce kapalné vody a optická tloušťka čistého vzduchu z Kimovy dohlednosti plus Rayleighova rozptylu, které nahrazují paušální atmosférickou ztrátu rozpočtu optické linky, je-li atmosféra zadána. Spustitelné uvnitř druhu scénáře optical-atmosphere. |
ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, proto schopnost zůstává modelovaná — Numerika je porovnána s nezávislým programem (xval/optical-atmosphere/oracle.py, mpmath 1.4.1 na 30 číslic, kvadratura tanh-sinh na původní výškové proměnné a hustoty gamma-gamma s Besselovou funkcí K), který s Kshanou nesdílí žádný kód, podle prahů stanovených dříve, než existovala jakákoli implementace (xval/optical-atmosphere/PREREGISTRATION.md). PROČ MODELLED: toto orákulum vyhodnocuje tytéž publikované vzorce, takže kontroluje implementaci uvedených vzorců, nikoli atmosféru; nepoužívá se žádný validační příklad ITU-R ani žádný změřený záznam scintilace či extinkce na šikmé dráze (hodnoty ITU jsou otevřeným licenčním rozhodnutím a jsou vyňaty z repozitáře). Úroveň profilu Cn2, dohlednost, výškové škály aerosolu a molekul, délka dráhy pro průměrování apertury a párování momentů použité k aplikaci průměrování apertury na parametry gamma-gamma jsou uvedené vstupy nebo konvence. Řádek zdroje v modulu zaznamenává, že jeden široce kopírovaný přehled uvádí druhý exponent scintilace jako 7/6, kde Andrews a Phillips uvádějí 5/6; implementován je tvar 5/6 | 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 (předregistrované prahy A1-A3 proti nezávislému orákulu mpmath: 216 mřížkových bodů Rytov, nejhorší relativní chyba 3.4e-7 proti prahu 1e-6, scintilace nejhůře 4.5e-16, faktor apertury nejhůře 5.7e-16, 96 pravděpodobností úniku gamma-gamma nejhůře 1.3e-12 v log10, optická hloubka oblačnosti a čistého vzduchu nejhůře 6.6e-16); tests/optical_atmosphere_no_moved_output.rs (práh A5: rozpočet spoje se souhrnnou ztrátou a stávající výstupy dostupnosti lokalit jsou bitově shodné se základním commitem přes 1 000 sad parametrů) |
| Dostupnost optických pozemních stanovišť řízená počasím a diverzita stanovišť korelovaná se vzdáleností | Dostupnost optické linky proti uvedené rezervě linky z lognormálního klimatu kapalné vody v oblacích (množství podle ITU-R P.840, extinkce v geometrické optice) a nezávislého úniku turbulencí gamma-gamma, rezerva linky potřebná pro cílové dostupnosti a strop, který žádná rezerva nepřekoná, lognormální doby výpadků, scénáře „co kdyby“ pro zlepšující techniky a jednofaktorová gaussovská copula dostupnosti sítě, jejíž párová korelace je exp(-vzdálenost/korelační délka). Spustitelné jako druh scénáře optical-atmosphere. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence: limity v uzavřeném tvaru a monotonie modelu diverzity, uzavřený tvar stropu oblačnosti a identity lognormálních výpadků. ŽÁDNÉ externí orákulum se netvrdí a žádné nebylo porovnáno: nepoužívá se žádný změřený záznam dostupnosti optické pozemní stanice ani přímé viditelnosti bez oblačnosti. PROČ MODELLED: klima oblačnosti (pravděpodobnost oblačnosti, medián a rozptyl sloupce kapalné vody, doby trvání výpadků), nezávislost oblačnosti a turbulence, tvar gaussovské kopule, korelační délka a každý zisk techniky jsou předpoklady; přibalené scénáře uvádějí ILLUSTRATIVE klimata, nikoli datovou sadu. Povýšení tohoto řádku vyžaduje citovaný změřený záznam dostupnosti a práh zaregistrovaný před porovnáním | optical_weather; optical_sitediv; optical_techniques; optical_atmosphere_scenario | tests/optical_atmosphere_identities.rs (práh A4: rho = 0 se rovná nezávislému sjednocení a rho = 1 nejlepší jednotlivé lokalitě s přesností 1e-12 a nulové porušení monotonie v počtu lokalit i v korelaci; první běh tohoto prahu selhal o 3e-9, protože používané normální rozdělení byla forma Abramowitz-Stegun s 1.5e-7, vada implementace nahrazená rozdělením přes neúplnou funkci gamma při nezměněném prahu); optical_weather::tests a optical_sitediv::tests (monotónní rezerva, strop oblačnosti jako uzavřený tvar, identity doby výpadku, inverze hledání rezervy) |
| Kontinuita časování a měření vzdálenosti při optických výpadcích | Rozdělení dob výpadků optického stanoviště spřažené s rozptylem výběhu v uzavřeném tvaru z modelu holdoveru hodin: chyba časování a měření vzdálenosti při uvedených kvantilech výpadků, holdover do prahu časování, podíl výpadků a doby výpadků uvnitř něj a dostupnost časování A + U E[min(D, T_h)]/E[D], pro třídy klasických a kvantových hodin. Spustitelné uvnitř druhu scénáře optical-atmosphere. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence s modulem holdover, bit po bitu; ŽÁDNÉ externí orákulum se netvrdí. Třídové PSD jsou syntetizované dlouhodobé podlahy pro velké tau, které modul holdover již nese, takže údaje dědí jeho uvedenou výhradu, že holdover k těsnému prahu je určen předpokládanou podlahou červeného šumu, nikoli citovanou Allanovou odchylkou. Doby výpadků jsou lognormální model s uvedenými parametry, nikoli změřený záznam setrvání oblačnosti | optical_outage_holdover (couple, clock_psds); holdover (coast_phase_sigma, holdover_seconds, phase_to_range_m) | tests/optical_atmosphere_identities.rs (práh A6: časová chyba na výpadek se rovná holdover::coast_phase_sigma a chyba vzdálenosti se rovná phase_to_range_m bit po bitu přes 9 hodin, 3 průměrné doby trvání, 3 rozptyly a 4 kvantily); optical_outage_holdover::tests |
| Rezerva optické linky v čase: jedna seedovaná realizace počasí stanoviště | Dobrovolná tabulka [timeseries] (trvání, krok, seed) způsobí, že druh optical-atmosphere zapisuje navíc pro každé stanoviště jednu seedovanou realizaci uvedeného modelu stanoviště v čase: epizody oblačnosti (jasné úseky exponenciální, oblačné výpadky lognormální s uvedeným průměrem a rozptylem, podíl času v oblačnosti nastavený na uvedenou pravděpodobnost oblačnosti), jeden lognormální sloupec kapalné vody na epizodu oblačnosti, jeden vzorek scintilace gamma-gamma na krok a z nich rezervu linky, úniky způsobené oblačností a scintilací a příznak spojení nahoře, s realizovanou dostupností, podílem oblačnosti, počtem výpadků a nejdelším výpadkem. Bez této tabulky je výsledkem dokument 0,37. Tahy procházejí přenosnými cestami rozdělení a matematiky, takže nativní běh a wasm32 dávají stejné bajty. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Pouze vnitřní konzistence; ŽÁDNÉ externí orákulum se netvrdí a žádné pro realizaci počasí neexistuje. Kontroly porovnávají jedno vylosování se statistickým výstupem téhož modelu, takže úspěšná kontrola říká, že generátor vzorkuje uvedená rozdělení (dostupnost a podíl oblačnosti vylosování leží uvnitř předregistrovaných tolerancí uvedených hodnot), nikoli že se tak chová jakákoli skutečná lokalita. Řada je jedna realizace, nikoli klima: její dostupnost se od uvedené liší o výběrovou chybu vylosování a scintilace v různých krocích jsou nezávislé, což je uvedené zjednodušení procesu, který se dekoreluje v milisekundách. Vstupy počasí zůstávají předpoklady scénáře. | optical_timeseries (site_series, SiteModel, SeriesSpec, Series); optical_atmosphere_scenario (TimeseriesSpec) | tests/optical_atmosphere_timeseries.rs (prahy T1-T6 z xval/optical-atmosphere/PREREGISTRATION-timeseries.md, stanovené před prvním během: stejný seed dává stejné bajty a jiný seed jiné bajty; žádný klíč bez tabulky; za 8760 h při 600 s, seedy 37 a 38, realizovaná dostupnost každé ze tří výchozích lokalit do 6 bodů od uvedené (nejhůře 3,3) a realizovaný podíl oblačnosti do 5 bodů od uvedené pravděpodobnosti (nejhůře 2,1); rezerva se rovná rozpočtu minus dva úniky a up se rovná rezervě nezáporné v každém kroku; v modulu žádné nepřenositelné matematické volání; příliš dlouhé běhy a chybné kroky odmítnuty) |
| Čtečka souborů Orbit Data File TRK-2-18 a model rampovaného 2cestného Dopplera na Marsu | Čtečka souborů DSN Orbit Data File (TRK-2-18): skupiny záznamů po 36 bajtech (štítek souboru, identifikátor, orbitální data, rampy jednotlivých stanic, posuny hodin, souhrn, konec souboru) a v každém záznamu orbitálních dat časová značka od 1950, zpoždění downlinku a uplinku, pozorovaná veličina, stanice, typ dat, pásma, platnost, kanál, kosmická loď, 46bitová referenční frekvence a čas komprese; časy začátku a konce ramp, rychlosti a počáteční frekvence. Nad ní model rampovaného 2cestného Dopplera v pásmu X (integrované rampy uplinku, doba oběhu světla tam a zpět se Shapirovým členem a troposférou, stanice DSN přes řetězec CIO podle IAU 2006/2000A a EOP IERS, čas stanice) a dávkové určování oběžné dráhy družice na orbitě Marsu (pole GMM-3, třetí tělesa, SRP, odpor). | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, proto schopnost zůstává modelovaná — Štítek PDS3, který proces úpravy navigačních dat DSN vytvořil se souborem (NASA PDS Geosciences Node, MRO-M-RSS-1-MAGR-V1.0), kontrolovaný proti prahům předregistrovaným v xval/mro-odf/PREREGISTRATION.md před existencí čtečky. MODELLED, protože jeden zaregistrovaný práh (řádky tabulky na konci souboru, 121 v souboru proti 120 ve štítku) nebyl splněn; štítek je tam vnitřně nekonzistentní. Fáze 2 (xval/mro-od/PREREGISTRATION.md, dodatky A1 a A2 před vyhodnoceným výsledkem): Doppler předpovězený z rekonstrukce navigačního týmu MRO (mro_psp5, NAIF) odpovídá pozorovanému rampovanému 2-cestnému Doppleru s přesností 12,5 mHz na průletech nepoužitých při vývoji, práh splněn; zaregistrované určování oběžné dráhy na vyhodnocovaném oblouku selhalo (normální matice není pozitivně definitní) a nevytvořilo žádnou dráhu, takže prahy pro dráhu nebyly splněny. Běh 2 (xval/mro-od/PREREGISTRATION-RUN2.md, tlumený estimátor, týž oblouk a prahy, dodatek k hodnocení R2-A1 zveřejněný v docs/revisions) zkonvergoval: odhadnutá dráha je do 0,36 km RMS (0,53 km maximum) od rekonstrukce, prahy splněny, ale RMS Dopplera po fitu je 48,6 mHz proti prahu 30 mHz, nesplněno, takže řádek zůstává MODELLED. CO NENÍ: žádná odhadnutá dráha nesplnila všechny zaregistrované prahy; ionosféra, sluneční plazma a většina offsetu antény (radiální offset 1,5 m je fitován na vývojovém průletu) nejsou modelovány. | 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 (skutečný MRO ODF, 2007-304/305, proti svému štítku PDS: počet záznamů, pozice skupin, stanice, časy začátku a konce a typy dat souhlasí; počet řádků tabulky na konci souboru se mýlí o jedna, nekonzistence štítku, zafixováno jako zjištění); odf::tests (okružní test ručně sestaveného záznamu, epocha 1950); tests/mro_odf_short_arc_od_oracle.rs (podmíněné daty, vstupy zafixované pomocí SHA-256, měsíční CI se skutečnými daty povinná: Doppler předpovězený z navigační rekonstrukce MRO mro_psp5 na vyhodnocovaných průletech DSS 63 a DSS 14, 12,5 mHz RMS, práh 30 mHz, splněn; zaregistrované určování oběžné dráhy nevytvořilo žádnou dráhu, zafixováno jako zjištění; běh 2 s tlumeným estimátorem, registrovaný samostatně: dráha 0,36 km RMS a 0,53 km maximum proti mro_psp5, splněno, Doppler po fitu 48,6 mHz proti 30 mHz, nesplněno, zafixováno jako zjištění; čtečka SPK type 1 proti CSPICE, 5e-7 m); mars_od::tests |
| Odhad orientace multiplikativním EKF z gyroskopu a hvězdného sledovače | Multiplikativní EKF podle Leffertse, Markleyho a Shustera: stavy chyby orientace v soustavě tělesa a biasu gyroskopu, propagace s úhlovou rychlostí z gyroskopu zmenšenou o odhad biasu a s Farrenkopfovým diskrétním procesním šumem (náhodná procházka úhlu a rychlosti), aktualizace hvězdným sledovačem s reziduem 2 vec(q^-1 q_st) v Josephově tvaru a multiplikativní reset; diskrétní Farrenkopfův simulátor gyroskopu a hvězdného sledovače. Druh aocs může uzavřít regulační smyčku na svém odhadu. |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence: normalizovaná druhá mocnina chyby odhadu filtru proti pravdě simulované ze stejných modelů senzorů přes seedy Monte Carlo a konvergence odhadů orientace a biasu. CO NENÍ: nebyl porovnán žádný externí estimátor ani letová data (Basilisk 2.9.1 nemá modul MEKF); modely senzorů jsou učebnicové, bez nesouososti, váhového faktoru a vlivů zorného pole hvězdného senzoru. | aocs_mekf (Mekf, GyroSim, attitude_error, spd_solve6); aocs_kind (estimator) | aocs_mekf::tests::mekf_is_consistent_over_monte_carlo_seeds (40 seedů, průměrné NEES o šesti stupních volnosti za druhou polovinu v rozmezí 4,5 až 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 |
| Pracovní cyklus apertury mezi navigací a komunikací | Jeden běh přijme plán kontaktů (seznam oken aos_s/los_s, z nichž každé žádá o aperturu pro navigaci nebo komunikaci – stejná slovní zásoba oken, jakou vydává passes::predict_passes, převedená pomocí aperture_duty::windows_from_passes), počet apertur a výslovnou politiku arbitráže a vrátí navigační pracovní cyklus, komunikační pracovní cyklus, cyklus nečinnosti a výpadek v jednotlivých relacích. Politika je vstup s dokumentovanou výchozí hodnotou (navigation-priority; také communications-priority a nepreemptivní first-come-first-served) a zpráva nese vyřešenou politiku, její úplnou definici a definice pracovního cyklu a výpadku, protože údaj o pracovním cyklu uvedený bez pravidla arbitráže není reprodukovatelný. Rozvrh je přesné rozmítání intervalů přes hranice oken, takže okno, které končí přesně tam, kde začíná další, nikdy nesoupeří, a aperturní sekundy navigace, komunikace i nečinnosti se v tomto jediném rozmítání akumulují nezávisle. Spustitelné jako druh scénáře aperture-duty-cycle |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence ze tří veličin vypočtených různými výrazy ve stejném průchodu a následně požadovaných, aby se uzavřely. Navigační aperturní sekundy, komunikační aperturní sekundy a nečinné aperturní sekundy se akumulují odděleně — nečinné z (apertury − |obslouženo|) na elementární interval, nikdy jako zbytek — a jejich součet je ověřován proti apertury × horizon_s, což chybně vymezená hranice, dvakrát započtený interval nebo vynechaný interval okamžitě poruší; doby obsloužení jednotlivých relací se samostatně vyžaduje, aby se zpětně sečetly na dva součty služeb. Strukturní vlastnosti plánovače se měří, nikoli předpokládají: obsloužený čas je ověřován jako neklesající v počtu apertur přes 200 pseudonáhodných plánů pro všechny tři politiky (u nepreemptivní politiky to není samozřejmé, protože další apertura mění, kdo co drží při každé pozdější hranici), a aritmetika hranic je zafixována na dvojici dotýkající se/s překryvem jedné sekundy, kde by se chyba o jedničku jinak skryla. Most prediktoru průletů je kontrolován proti výstupu passes::predict_passes: s jednou aperturou a bez konkurující služby se navigační aperturní sekundy rovnají součtu dob průletů samotného prediktoru. Žádné externí orákulum se netvrdí a žádné neexistuje: schopnost nahrazuje ruční aritmetiku, nikoli se proti ní kontroluje, přibalený kontaktní plán je ilustrativní, nikoli letový, a žádný provozní plánovač nepublikuje dvojici plán-plus-odpověď s uvedeným pravidlem arbitráže — vytížení vypočtené podle neuvedené politiky není srovnatelné s vytížením vypočteným podle uvedené a závislost na politice je změřena (navigační vytížení 100/150 vs 50/150 na identickém plánu). Čas přesunu a přepnutí, objem dat, stav vyrovnávací paměti, energie a uzavření spoje jsou ve štítku zprávy vyloučeny, nikoli tiše modelovány |
aperture_duty | aperture_duty::tests (okno, které končí přesně ve chvíli, kdy začíná další, nesoupeří, a jeho posun o jednu sekundu dříve stojí přesně jednu sekundu — pojistka proti chybě o jedničku; překrývající se okna nad počet apertur uvedou relaci s nižším pořadím do výpadku, se zafixovaným intervalem soupeření; politika arbitráže rozhoduje, která služba aperturu drží, přičemž čísla všech tří politik jsou zafixována na jednom plánu; first-come-first-served nepreemptuje relaci, která již aperturu drží; relace, která na začátku v arbitráži prohraje, získá aperturu, když se uvolní; tři vytížení účtují každou dostupnou aperturní sekundu přes 3 politiky × 4 počty apertur; přidání apertury nikdy nezvýší výpadek žádné relace, změřeno přes 200 pseudonáhodných plánů × 3 politiky × každý počet apertur; dostatek apertur pro každou relaci nenechá žádný výpadek; horizont reportování ořízne plán a stanoví jmenovatele vytížení; předpovězený seznam průletů se stane kontaktním plánem bez druhého typu okna; čísla vytížení přibaleného plánu jsou výstupy enginu pro jednu a dvě apertury; zpráva uvádí politiku, která čísla vytvořila; každý uvedený údaj nese jednotku a třídu původu; scénář je reprodukovatelný a prohlašuje se za MODELLED; scénář odmítne plán, který nedokáže naplánovat); api::tests::aperture_duty_cycle_kind_round_trips_through_the_dispatch |
| Rušení RF při lunární povrchové navigaci (J/S pro jednotlivé družice) | Lunární poměr rušení k signálu, efektivní C/N₀ a ztráta zámku pro selenografického uživatele na povrchu při rušičce na lunárním povrchu (nebo zvýšené), nad ilustrativní veřejně zdrojovou konstelací třídy Moonlight/LCNS. Skládá otevřený řetězec rušení (j_over_s_db, effective_cn0_dbhz, rx_antenna_gain_db, lock_status, q_factor, nominal_cn0_dbhz, free_space_path_loss_db) s otevřenou geometrií lunární oblohy (lunar_service::LunarConstellation + topocentric, lunar::selenographic_to_mcmf); nic z geometrie ani radiometrie se neodvozuje znovu. Na rozdíl od zemského druhu jamming není signálová větev pevný přijímaný výkon: izotropní přijímaný výkon každé družice je její vlastní EIRP v rozpočtu linky − FSPL(šikmá vzdálenost), takže J/S se mění družici od družice s lunární vzdáleností a elevací. Vydává JEDEN ŘÁDEK NA KAŽDÝ VIDITELNÝ SPOJ (epocha, družice) jako JSON i jako artefakt *.table.csv, s oběma přijímanými výkony, jejichž rozdílem je J/S, vytištěnými vedle; souhrnné ukazatele kvality leží vedle této tabulky, nikdy místo ní. Spustitelné jako druh scénáře lunar-jamming |
ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Křížová kontrola složení proti nezávislé cestě kódu v repozitáři: každé J/S na spoj je znovu odvozeno jako rozdíl dvou rozpočtů spoje vypočtených pomocí linkbudget::received_signal_power_dbw, jehož útlum ve volném prostoru je jediný výraz 20·log10(4πRf/c), nikoli tříčlenný součet, který používá jamming::free_space_path_loss_db — oba souhlasí na < 1e-9 dB v každém řádku (změřený nejhorší případ 7.11e-14 dB, tj. zaokrouhlení v plovoucí řádové čárce). Podkladový řetězec interference, který skládá, je samostatně externě ukotven v tests/gnss_denied_jamming_resilience_reference.rs (nezávislé odvození J/S a efektivního C/N₀ v numpy/scipy zafixované na Kaplan & Hegarty §9,4, plus změřené C/N₀ JammerTest 2024, Zenodo 10.5281/zenodo.15910563); lunární geometrie, kterou skládá, je geometrie lunar_service/lunar s vlastními orákuly. Zde kontrolované identity v uzavřeném tvaru: poloviční odstup rušičky přidá do každého řádku přesně 20·log10(2) dB; J/S je přesně invariantní vůči osovému zisku uživatelské antény, zatímco C/N₀ se pohne přesně o tento zisk; elevační maska nezmění žádný přežívající řádek bit po bitu. Samotný řádek zůstává ReferenceImpl/modelovaný: neexistuje žádná změřená lunární rušicí kampaň, proti které by se dalo ověřovat, a konstelace je ilustrativní geometrie třídy Moonlight/LCNS z veřejných zdrojů, nikoli letová efemerida | lunar_jamming (skládá jamming, lunar_service, lunar) | lunar_jamming::tests (17 testů knihovny: 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 |
| Lunární kontura odepření s pásmem nejistoty z naměřeného rozptylu C/N₀ | Zpráva lunar-jamming už nestaví svou konturu odepření na jediném skaláru. Vydává úplné naměřené rozdělení C/N₀ požadovaného signálu přes tabulku pro jednotlivé družice – n, min, p05, p25, medián, p75, p95, max, průměr, výběrová směrodatná odchylka a vlastní asymetrie výběru (p95 − medián) − (medián − p05) – vedle řádků pro jednotlivé spoje, které zůstávají beze změny. Kontura je pak uvedena při každé z těchto pořádkových statistik podle OBOU kritérií odepření, která engine zná, nikdy jednoho místo druhého: stávající kritérium poměru výkonů (J/S = 30 dB, stejný práh, jaký používají attack_surface a tracking_loop, a kritérium za sloupcem denial vydané tabulky lunárního rušení linek), a kritérium ztráty zámku (efektivní C/N₀ klesající na tracking_threshold_dbhz), což je kritérium, jímž je hodnocen vlastní sloupec links[].status této zprávy. Každý bod kontury je dán na obou osách roviny odepření – EIRP rušičky potřebné při vzdálenosti scénáře a vzdálenost odepření při EIRP scénáře – takže pásmo je interval na týchž osách, na nichž se kreslí graf kontury. Okraje pásma JSOU contour(p05) a contour(p95): stejné zobrazení v uzavřeném tvaru aplikované na vlastní kvantily výběru, nikoli sigma přizpůsobená výběru a nikoli medián ± k·stdev, a zpráva to uvádí v řetězci band_definition vedle čísel. stdev se vydává kvůli kontinuitě a nic ho nepoužívá. Kvantil, jehož C/N₀ je už na prahu sledování nebo pod ním, nemá žádné konečné odepírající J/S; tyto sloupce se vydávají jako null s započteným důvodem, nikoli jako nekonečno nebo omezený poloměr |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Vnitřní konzistence proti vlastním dopředným funkcím enginu, což je vše, co tato schopnost může poctivě tvrdit. Každý bod obrysu je inverze v uzavřeném tvaru a každá inverze se kontroluje tak, že se její odpověď protlačí zpět DOPŘEDNOU funkcí, kterou byly vyhodnoceny vlastní řádky zprávy: sloupec J/S přes jamming::effective_cn0_dbhz (která musí vrátit tracking_threshold_dbhz s přesností < 1e-9 dB-Hz), sloupec odstupu přes jamming::free_space_path_loss_db a jamming::j_over_s_db (totéž J/S s přesností < 1e-9 dB), sloupec EIRP přes jamming::j_over_s_db při vlastním odstupu scénáře. Obrys se dále kontroluje, zda je HRANICÍ množiny odepření, a nikoli bodem uvnitř ní — lock_status ztrácí zámek na ostré nerovnosti, takže se měří, že verdikt přeskočí z DEGRADED na LOST napříč 1e-4 dB J/S na obou stranách obrysu, což by obrys posunutý o epsilon nesplnil. Nejsilnější kontrola je na spoj, nikoli na kvantil: použití téhož zobrazení na vlastní C/N₀ každého řádku přesně reprodukuje sloupec stavu — 0 neshod na 38 z 38 řádků v zdokumentovaném pracovním bodě (kind = lunar-jamming, každý vstup výchozí kromě jammer.range_m = 25 000 m), kde 26 řádků je LOST a 12 není. Monotonie se měří, nikoli předpokládá: 20 001 vzorků přes [tracking_threshold + 1e-3, 80] dB-Hz, 0 porušení ostře klesajícího odstupu a ostře rostoucího požadovaného výkonu, takže kvantilové uspořádání pásma je prokázáno, nikoli tvrzeno. ExternalDataset je odmítnut a s ním i ověřený: neexistuje žádná změřená lunární rušicí kampaň, s níž by se dal porovnat poloměr odepření, konstelace je ilustrativní geometrie třídy Moonlight/LCNS z veřejných zdrojů, nikoli letová efemerida, a vstupy obrysu (EIRP, výkon rušičky, zisky antén, teplota šumu) jsou reprezentativní řády. ReferenceImpl byl rovněž zvažován a odmítnut — inverze a dopředný výraz jsou TÁŽ algebra čtená ve dvou směrech, takže okružní test zachytí chyby přepisu a znamének, ale není nezávislou implementací; nazvat jej křížovou kontrolou by byl tah vypůjčené nezávislosti, kterému mají invarianty matice zabránit. Co pásmo přináší, se měří a cituje, nikoli tvrdí: v tomto pracovním bodě je obrys s jediným skalárem 27,402916 km a staví 25 km na stranu odepření pro všech 38 řádků, zatímco pásmo 21,256108 .. 29,921360 km obsahuje pracovní bod a proto hlásí rozdělení, které tabulka skutečně ukazuje. Obě kritéria se rovněž měří jako nesouhlasná — pásmo poměru výkonů (38,186527 .. 53,691675 km) 25 km vůbec neobsahuje — proto se tisknou obě | lunar_jamming (denial_js_db, range_for_free_space_path_loss_m, Cn0Distribution, DenialContourPoint, ContourBand, DenialContour; inverze jamming::effective_cn0_dbhz, jamming::j_over_s_db a jamming::free_space_path_loss_db) | lunar_jamming::tests (10 testů knihovny: 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) |
| Detekční síla monitoru integrity napříč modalitami | Zpráva hybrid-optical-rf uvádí, co monitor chí-kvadrát napříč modalitami skutečně dokáže ZACHYTIT, a nejen že projde případem bez poruchy: minimální detekovatelný bias na každou monitorovanou osu (východ, sever, nahoru, hodiny) při uvedených pravděpodobnostech falešného poplachu a nezachycené události ve scénáři, křivka detekční síly na obou stranách, násobek biasu bez šumu, při němž realizovaná statistika poprvé překročí práh, a doba do detekce pro rampu biasu při uvedené rychlosti. Poruchy se také vkládají přes skutečný monitor a statistika, kterou vrátí, se uvádí vedle analytické predikce | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Dvě vnitřní orákula, žádná externí datová sada. (1) Okružní test v uzavřeném tvaru: minimální detekovatelný bias vzniká inverzí chvostu necentrálního chí-kvadrát na necentralitě (raim::pbias) a ověřuje se tak, že se výsledná necentralita vloží zpět přes raim::noncentral_chi2_cdf při vlastním prahu monitoru, což musí vrátit P_md. (2) Injekce vs analýza: bias se zapíše do odhadu RF jedné osy a cross_raim::run_cross_raim se spustí znovu, takže statistika porovnávaná s analytickou necentralitou je ta, kterou monitor vypočetl, nikoli nové odvození. Monte Carlo samotné statistiky se seedem je v testech uvedeno jako třetí kontrola; ve zprávě záměrně NENÍ, protože výběrový odhad by byl pomalejší a nereprodukovatelný bit po bitu. ExternalDataset je odmítnut: veličinou je detekční síla TOHOTO monitoru při alokaci sigma TOHOTO scénáře a velikosti sigma, kterými se MDB škáluje, jsou reprezentativní modelované vstupy, nikoli měření. ReferenceImpl byl rovněž zvažován a odmítnut — Monte Carlo vzorkuje touž statistiku, kterou popisuje analýza, takže zachytí chyby přepisu a koeficientů, ale není nezávislou implementací monitoru. 0,30 kolo 2 (předregistrováno 0135a9e4), zablokováno (zůstává MODELLED): SciPy 1.18.1 chi2/ncx2/brentq reprodukují práh zprávy (do 5.4e-12), MDB na osu, křivku síly, násobek průsečíku a čas do detekce rampy (do 5.3e-10) na pěti konfiguracích; statistiky vložených poruch nemají nezávislé orákulum a velikosti sigma jsou modelované vstupy, takže vymezení čeká na rozhodnutí vlastníka | hybrid_integrity | hybrid_integrity::tests (křivka detekční síly vede od míry falešných poplachů při nulové poruše k 1 − P_md při minimálním detekovatelném biasu; minimální detekovatelný bias vložený zpět přes noncentral_chi2_cdf při prahu, který monitor sám použil, vrací P_md s přesností 1e-9, na každé ose i přes veřejnou pomocnou funkci; bias skutečně vložený do odhadu RF posune vlastní statistiku monitoru přesně o ručně vypočtené b²/(σ_rf² + σ_opt²); bias bez šumu je zachycen nad √(T/λ*)×MDB a nezachycen pod ním, s injektovaným žebříčkem obklopujícím tento průsečík; detekční síla je monotónní ve velikosti poruchy a identická na všech čtyřech osách v násobcích MDB; seedovaný 200,000-vzorkový Monte Carlo statistiky monitoru reprodukuje analytickou sílu do 4σ ve čtyřech bodech křivky; časové MDB je zafixováno nad časovým mezním poplachem, což je změřená slabina, nikoli vlastnost; kvantil Wilson-Hilferty se měří jako nesouhlasný s přesným prahem monitoru asi o ~4%, což zaznamenává, proč nebyl použit; údaj o rampě je přesně MDB/rate a škáluje se nepřímo s rychlostí a nekladná rychlost hlásí null, nikoli nulu); tests/hybrid_fault_power_scipy_oracle.rs (report_detection_power_matches_scipy_chi2_and_ncx2; report_detection_power_matches_scipy_with_comparable_sigmas) |
| Opětovný růst kovariance po předání vůči mezi pro výstrahu | Zpráva hybrid-optical-rf zpřístupňuje model procesního šumu filtru a uvádí, jak dlouho zůstává řešení po předání uvnitř meze pro výstrahu: pro oba směry předání nese kovarianci po jednotlivých osách, kterou po sobě předání zanechalo, šíří ji dopředu při uvedeném procesním šumu typu náhodná procházka a hlásí okamžik, kdy 1σ přepočtená koeficientem pokrytí dosáhne horizontální, vertikální a časové meze pro výstrahu, která mez zabere první, časovou konstantu zdvojnásobení rozptylu a vzorkovaný profil doběhu, který překročení uzavírá do intervalu. Spektrální hustoty výkonu procesního šumu, koeficient pokrytí a meze pro výstrahu jsou vesměs vstupy s dokumentovanými výchozími hodnotami | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Žádné externí orákulum. Průsečík je řešení růstu rozptylu náhodné procházky v uzavřeném tvaru a testy jej přepočítávají nezávisle z hodnot, které zpráva sama zveřejňuje, nikoli z vnitřností emitoru. Počáteční kovariance je zafixována bit po bitu na stopu, kterou již uvedl stávající blok předání, takže výběh nemůže šířit kovarianci, kterou nikdo jiný neviděl. PSD procesního šumu jsou MODELLED reprezentativní vstupy a časy průsečíku se s nimi škálují přímo, což test škálování uvádí jako změřenou vlastnost, nikoli tvrzení. ExternalDataset je záměrně odmítnut: čas výběhu je přímá funkce dvou modelovaných PSD a mezních hodnot poplachu, které jsou samy reprezentativní, a neexistuje žádný změřený lunární optický/RF výběh při předání, s nímž by se dalo porovnat. Externí orákulum by zde potřebovalo publikovanou křivku růstu kovariance po předání nebo přesnosti holdover pro srovnatelný přijímač s uvedeným modelem procesního šumu, kontrolovanou na toleranci | hybrid_integrity | hybrid_integrity::tests (výběh začíná přesně od stopy kovariance, kterou uvádí blok předání, v obou směrech, takže přehrávaná diagonála se nemůže odchýlit od uvedeného předání; uvedený čas průsečíku se přepočítává z vlastní sigmy předání zprávy, PSD procesního šumu a faktoru pokrytí a mez leží těsně před ním uvnitř mezní hodnoty poplachu a těsně po něm vně; čas výběhu se škáluje přesně nepřímo s PSD procesního šumu a zkracuje se, když se mezní hodnota poplachu zpřísní; výběh s nulovým PSD hlásí null, nikoli nulový čas, protože nikdy neznamená něco jiného než okamžitě; emitovaný profil přechází přesně jednou a obklopuje uvedený průsečík; dvojnásobná doba rozptylu a čas průsečíku mezní hodnoty poplachu jsou zafixovány odděleně, přičemž se liší o osm řádů po těsné optické fázi a v rámci jednoho řádu po volné RF fázi; opuštění optické modality přinese více času výběhu než opuštění RF, přesně o rozdíl kovariancí dělený horizontální rychlostí růstu; a random_walk_time_to_limit rozlišuje už-vně, přechází-v-t a nikdy-nepřejde) |
| Mimoosový diagram antény v exportu lunární geometrie | Export geometrie po jednotlivých družicích nese pro každou dvojici (epocha, družice) úhel mimo osu NA DRUŽICI a vysílací zisk směrem k místu ze skutečného diagramu rovnoměrně osvětlené kruhové apertury (Airy) a uvádí počet družic v paprsku podle tohoto diagramu VEDLE počtu družic v paprsku podle symetrické aproximace zisku k šířce svazku (θ_3dB[deg] = √(31000/G_lin)), přičemž rozdíl se vydává jako explicitní korekce v počtu spojů, v družicích na epochu a jako nejhorší jednotlivá epocha. Vydávají se obě implikované účinnosti apertury u aproximace (0,641 proti pravidlu 70·λ/D stupňů, s nímž se uvádí, 0,920 proti rovnoměrné kruhové apertuře), takže účinnost, kterou mlčky předpokládá, je uvedena a nikoli dovozována. Ve výchozím stavu vypnuto: blok se objeví jen tehdy, když jsou zadány exportní místo i apertura | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Smíšené, a oddělené, nikoli sloučené. VZOR pod tím je externě ověřen a má vlastní řádek (fixture scipy.special.j1 na < 0,05 dB v tests/validate_p1_orbital_footprint.rs, plus zde publikovaná Airyho úsečka poloviny výkonu x = 1,61634 nalezená půlením, nikoli předpokládaná). GEOMETRIE je kontrolována proti trigonometrii trojúhelníku v uzavřeném tvaru napsané jiným výrazem než zkoušený skalární součin. OBSAŽENÍ skutečného svazku přibližným kuželem je odvozená algebra (28.019/√η vs 29,479 stupňů na λ/D), takže korekce může být nekladná pouze pro η ≤ 0,9035. Ale samotné POČTY ve svazku nemají externí orákulum: žádná publikovaná tabulka neuvádí, kolik družic pláště třídy Moonlight/LCNS drží jihopolární lokalitu uvnitř svazku poloviny výkonu dané antény, a konstelace je ilustrativní aproximace z veřejných zdrojů, nikoli letová efemerida. Změřený rozdíl v zdokumentovaném pracovním bodě — 0 spojů ve svazku podle skutečného útvaru proti 28 podle aproximace, −2,33 družice na epochu, nejhorší epocha 3, na 76 vyhodnocených spojích — je proto MODELLED zjištění o aproximaci, zafixované jako regresní literál (nejbližší řádek leží 0,069° od kteréhokoli okraje svazku, o čtyři řády nad jakoukoli neshodou na posledním místě), nikoli externě ověřené číslo pokrytí. Označit řádek ExternalDataset na základě vlastní externí kotvy útvaru by bylo vypůjčené ověření, tedy tah, kterému mají invarianty matice zabránit. 0,30 kolo 2 (předregistrováno d9755d28), zablokováno (zůstává MODELLED): geometrie SPICE a Besselovy funkce SciPy reprodukují úhel mimo osu (nejhůře 3.0e-5 stupňů), zisk podle Airyho a příznaky ve svazku na 6 336 řádcích stavů letových orbiterů a zdokumentovaného pracovního bodu; ale na letové geometrii se příznaky dělí podle identity družice (nejbližší spoj je 1,66 stupňů od okraje svazku), viditelnost 5 stupňů se kontroluje jako příznak, nikoli číselná elevace, příznak symetrické aproximace aplikuje pravidlo 31000/G na ověřený úhel bez ověření samotného pravidla a odvozené účinnosti nemají orákulum; vymezení čeká na rozhodnutí vlastníka | lunar_service, antenna | antenna::tests a lunar_service::tests (průsečík poloviny výkonu nalezený půlením na útvaru odpovídá publikovanému Airyho x = 1,61634 a dává přesnou šířku 1,02899·λ/D, přičemž zaznamenává, že konvenční koeficient 1,02 leží na −2,955 dB, nikoli −3,010 dB; útvar je ostře klesající přes 400 bodů od osy po první nulu; algebra odvozené účinnosti prochází okružním testem s přesností 1e-12 a reprodukuje 0,641 / 0,920; úhel mimo osu odpovídá tan θ = R·sin γ/(r − R·cos γ) ve 20 bodech a obě limity s přesností 1e-12; přibližný kužel obsahuje skutečný svazek řádek po řádku; souhrnné počty se rovnají příznakům jednotlivých řádků, které shrnují, a korekce se rovná jejich rozdílu; verdikt každého řádku lze přepočítat z vydané zprávy samotné; každé vydané číselné a booleovské pole má jednotku a třídu původu; nemožná apertura nevydá žádný blok; bez nakonfigurované antény si export ponechá přesně svých šest dosavadních klíčů, 0 listů změněno a 0 odstraněno); 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) |
| Ztráta zachycení ve sledovací smyčce a vtažení spoofingu při interferenci | Ztráta zachycení vypočtená z dynamiky smyčky namísto poměru výkonů: tepelný jitter 1σ nosné (Costas) a kódu (nekoherentní early/late) proti C/N₀ se ztrátou kvadrováním, proti uvedeným pravidlům 3σ_PLL + θ_e ≤ 45° a 3σ_DLL + zpoždění rampy ≤ d/2 chipu; prahy C/N₀ pro pád a opětovné zachycení s pojmenovanou rozhodující smyčkou a hysterezí ODVOZENOU z širší šířky pásma vtažení, nikoli prohlášenou; deklarovaný čas do ztráty zachycení z dvouprahového detektoru zachycení s potvrzovacími prodlevami, uváděný odděleně od fyzikálního času úniku fáze (střední doba mezi proklouznutími cyklů podle Viterbiho, v log₁₀ s, protože se rozpíná přes stovky dekád); největší rychlost posunu kódu a Dopplerovu rychlost nosné, které smyčky oběti dokážou sledovat; a POLOMĚR POPŘENÍ (denial radius), který dynamika smyčky implikuje, uváděný vedle stávajícího poloměru z poměru výkonů, s jejich znaménkovým rozdílem jako samostatně pojmenovaným polem. Spustitelné jako druh scénáře tracking-loop |
ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Vlastní korelátor sdr enginu (sdr::correlate / synth_if / CaCode) krokovaný na syntetickém IF se seedem při kalibrovaném C/N₀ — samostatná cesta kódu dospívající ke stejným číslům numerickou korelací vzorkovaného IQ, nikoli algebraickým výrazem pro jitter, takže jde o jinou cestu a nikoli o přeformulování — plus standardní tabelované hodnoty modifikované Besselovy funkce I₀ pro člen proklouznutí cyklu. Teorie smyček podle Kaplan & Hegarty kap. 8 a Viterbi/Gardner pro dobu do proklouznutí. Řádek zůstává ReferenceImpl/MODELLED: křížová kontrola žije ve stejné kódové základně a kontrola bessel_i0 ověřuje jednu speciální funkci, nikoli model sledování, takže povýšit řádek na tomto základě by bylo samoúčelné označování. ExternalDataset by vyžadoval zaznamenanou datovou sadu surového IF s pravdivým C/N₀ a anotovaným okamžikem ztráty zámku (třída TEXBAT/OAKBAT); v tomto stromu žádná není a ani s IQ tyto sady nezveřejňují pravdu o stavu smyčky v každé epoše, takže deklarovaný čas ztráty zámku by šlo ověřit jen proti detektoru zámku nějakého jiného přijímače, což je modelovaná volba, nikoli orákulum. Šířky pásma smyček, integrační doba, rozestup korelátorů, poměr zatažení, doby setrvání, výkon rušičky a zisky antén jsou reprezentativní údaje pásma, nikoli datasheet. 0,30 kolo 2, GNSS-SDR 0.0.19 (GPL-3.0, spuštěn jako program) na nezávisle vygenerovaném IF (předregistrováno 6ef7698c, dodatky k metodě měření zveřejněny), zjištění (zůstává MODELLED): jitter uzavřené smyčky PLL a DLL souhlasí do 8 % při 35 až 45 dB-Hz, dynamické zatížení 10 Hz/s do 1 % a zpoždění rampy kódu prvního řádu do 2 %; při 30 dB-Hz je jitter PLL o 21 % vyšší a jitter DLL o 32 % nižší, změřené prahy pravidla 15 stupňů leží o 1,5 dB nad enginem a smyčka druhého řádu proklouzává o 0,5 až 2 dekády častěji než mez doby do proklouznutí prvního řádu. 0,30 revize: doba proklouznutí Costas nyní používá SNR smyčky rho/4 (proklouznutí o půl cyklu); výchozí jitter_table log10_mean_time_to_cycle_slip_s klesá z 11,58 na 2,10 při prahu 25,47 dB-Hz | tracking_loop (skládá sdr, jamming) | tracking_loop::tests (jitter diskriminátoru Costas v otevřené smyčce proti sdr::correlate krokovanému na syntetickém IF se seedem, 3 sdružené realizace šumu × 900 epoch, shoda do 0,63% v rozsahu 35-45 dB-Hz, přičemž se vyžaduje, aby člen ztráty kvadrováním vyhovoval alespoň 3× lépe než tvar bez ztráty kvadrováním všude, kde je rozlišitelný; saturace diskriminátoru atan kolem ~32 dB-Hz je ověřena, nikoli jen uvedena, takže mez platnosti je zafixována; σ uzavřené smyčky proti krokované smyčce Costas v sdr přes 4000 epoch do 3,7%; zpoždění rampy DLL prvního řádu proti krokovanému DLL v sdr do 0,17%; bessel_i0 proti tabelovanému I₀ do 7.4e-8; šířka hystereze musí padnout do [5·log₁₀ r, 10·log₁₀ r] napříč 4 poměry × 2 integračními dobami × 3 šířkami pásma); api::tests::tracking_loop_kind_round_trips_through_the_dispatch; tests/tracking_loop_gnss_sdr_oracle.rs::finding_is_pinned |
| Kovariance souřadnic bodu na povrchu Měsíce z plánu zpoždění VLBI, vedená odděleně od kovariance pozemské stanice | Třetí volba datumu, all-stations-fixed, která drží všechny pozemské stanice a odhaduje samotné souřadnice MAJÁKU vázané k Měsíci, tedy konfigurace, pro niž se nejistota bodu na lunárním povrchu skutečně uvádí, protože souřadnice pozemských stanic jsou vstupem modelu zpoždění, nikoli jeho neznámou. Existuje proto, že kovariance na úrovni stanice a kovariance bodu na povrchu jsou RŮZNÉ VELIČINY oddělené poměrem ramene ρ/B a dosud nic nebránilo tomu, aby se jedna uváděla místo druhé. Vydávaný blok beacon_link nese ρ, nejdelší základnu, rameno, tvar ekvipartiční vazby pro bod na povrchu c·σ_τ·(ρ/B)·√(g/N), vypočtenou sigmu majáku pro každou souřadnici a jejich poměr; poměr je null, nikoli zavádějící, kdykoli maják není odhadován nebo je matice s deficitem hodnosti. B se bere jako NEJDELŠÍ přítomná základna, tedy nejpříznivější, takže poměr může být jen podhodnocen. Spustitelné jako datum = "all-stations-fixed" s estimate_beacon = true, což je odmítnuto zprávou jmenující chybějící vstup, pokud maják není odhadován |
ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není vnější autoritou — Identity v uzavřeném tvaru, bez externího orákula, které by bylo tvrzeno nebo dostupné. Rameno páky se kontroluje proti ρ/B a dva tvary ekvipartice proti sobě s přesností 1e-15 — algebraické identity, takže zachytí chybu zapojení a nic jiného, a jsou tak označeny. Podstatný výsledek je MEASURED, nikoli tvrzen: zpoždění z pevné základny omezuje SMĚR majáku, takže složka přímé viditelnosti se dostává do informační matice jen přes člen vzdálenosti blízkého pole, a test čte výslednou anizotropii z vydaného spektra místo jejího odvozování. AM-HM činí √(p/trace(M)) tvrdou dolní mezí, takže spoj s izotropní ekviparticí může jedině PODCEŇOVAT a poměr vypočteného k ekvipartici je přesně anizotropie, kterou zahodil. MEASURED na dvojici podobné Goldstone/Canberra, jejíž tětiva je 10726,748 km: přes 112 vzorkovaných dnů 36 nepřipouští vůbec žádnou vzájemně viditelnou epochu při masce 10°, nejvíce kdy vzájemně viditelných je 17 z plánu o 49 vzorcích a ve 73 použitelných dnech se tříkomponentní poměr pohybuje od 113,9× po čtyři řády více, medián 1513×, zatímco omezení na dva příčné směry, jimiž přímá viditelnost nehladoví, dává 3,94× až 25,8×, medián 7,8×. CO TENTO ŘÁDEK NETVRDÍ: žádný z těchto údajů jako vlastnost skutečné kampaně. Ustavuje, že veličina v bodě na povrchu je nyní VYPOČTENA, nikoli předpokládána, a že ji nelze tiše zaměnit s veličinou na úrovni stanice. Zůstává ReferenceImpl/MODELLED: neexistuje žádná publikovaná kovariance povrchového bodu lunárního VLBI, proti níž by se dalo ověřovat, stanice a místo majáku jsou ilustrativní, nikoli zaměřené, a efemerida, hodiny, troposféra a parametry orientace Země jsou drženy POEVNĚ, takže jde o Cramérovu–Raovu mez pro zredukovanou množinu parametrů a sama o sobě je optimistická. Táž veličina na cestě přes jádro (maják na Měsíci z DE440) je ověřena ve vlastním řádku „…, kernel path“; na této analytické cestě je nejmenší sigma majáku o 3,9 % pod orákulem SPICE onoho řádku, proto tento řádek zůstává MODELLED | lunar_vlbi_fim (skládá lunar_vlbi, fim, cio, lunar_frame, frames) | lunar_vlbi_fim::tests (7 testů knihovny: každý zápis datumu prochází okružním testem přes parse/as_str a neznámý je odmítnut; držení všech stanic bez majáku je odmítnuto s chybou jmenující estimate_beacon; rameno páky je ověřeno jako ROVNO ρ/B a ekvipartice majáku jako ROVNA ekvipartici stanice krát ono, obojí s přesností 1e-15, s dalším tvrzením, že rameno páky přesahuje 10, takže oba rozpočty nelze na této geometrii zaměnit; publikovaná základna přípravku je zafixována na 10726,748 km a jeho plán o 49 vzorcích je ověřen, že dává ostře méně než 49 vzájemně viditelných pozorování; spektrum majáku na jedné základně je změřeno tak, že pokrývá alespoň pět dekád, a výsledný poměr je ověřen nad 1 podle AM-HM a ve skutečnosti nad 100; uspořádání stanice-plus-maják je ověřeno jako hodnostně deficientní s OBĚMA vypočtenými poli null, zatímco modelovaný srovnávač stále hlásí. Plus pojistka na samotném přípravku: klíč nejvyšší úrovně vložený za pole tabulek se místo toho stane daty stanice, takže místo vložení je ověřeno a zpracovaný scénář zkontrolován, že klíč nese — režimem selhání je běh, který tiše používá jinou konfiguraci, než jakou test jmenuje) |
| Lunární diferenciální PNT: rozpočet reziduí korekčního spoje | Tři členy, které diferenciální korekce nabere mezi epochou, v níž je vypočtena, a epochou, v níž je použita, každý dosud ponechaný jako nemodelovaná rezerva: chyba zaměření referenční stanice (korelovaná napříč družicemi, nezávislá na základně, přenos polohy ~1:1 a prokazatelně nezesilovaná DOP), stárnutí korekce (zmrazený vektor chyby dráhy znovu promítnutý na zorný směr, na který vlastní propagátor enginu umístí družici o jednu latenci později, plus drift hodin c·σ_y(τ)·τ z kalibrovaného mocninného zákona) a rovnoměrná kvantizace spoje v přesném plném rozsahu ±(orbit_err + clock_err) s rozptylem step²/12. Uváděno v oblasti vzdáleností i polohy, vedle stávajícího rezidua a ochranné úrovně, nikdy místo nich, s křivkou latence vedle jediného čísla | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Identity v uzavřeném tvaru a vlastní konzistence: rozptyl rovnoměrného kvantizátoru step²/12, přesné šíření kovariance (GᵀG)⁻¹GᵀRG(GᵀG)⁻¹ degenerující na σ·PDOP pro stejné σ, přenos 1:1 členu zaměření jako důsledek û_user ≈ û_ref a uzavření kvadratury při vypnutí členů. Křížová kontrola PDOP proti orbit::dop sdílí normální matici [−û, 1], takže jde o kontrolu konzistence a je tak označena, nikoli nezávislé orákulum. Žádný ExternalDataset není dostupný ani tvrzen: žádná lunární povrchová stanice nemá publikovanou zaměřenou přesnost, žádný lunární diferenciální korekční spoj nemá publikovanou latenci ani formát zprávy a výsledek kvantizace je uzavřený tvar, nikoli měření. RTKLIB — již externí orákulum kódu pro jádro jednoduchých diferencí a vážených nejmenších čtverců — by šlo pohánět záměrně špatně zaměřenou základnou, aby se potvrdil přenos zaměření 1:1, ale to je nezávislý kód nad toutéž algebrou přímé viditelnosti prvního řádu. ŘÁDY VELIKOSTI JSOU MODELLED: výchozí zaměření je vlastní alokace realizace lunární soustavy tohoto crate, nikoli změřená stanice, latence a počet bitů jsou ILLUSTRATIVE vstupy a růst samotného VEKTORU chyby vysílané efemeridy není modelován vůbec — uvedeno v emitovaném řetězci zákona stárnutí, protože je to člen, který nejspíše převáží na skutečném spoji | lunar_dpnt | lunar_dpnt::tests (čistě aditivní pojistka, jejíž rozdíl množiny klíčů je přesně {correction_link, units} a každá dosavadní hodnota je bitově shodná s literály zachycenými před změnou; chyba zaměření se NEDEKORELUJE se základnou, zatímco orbitální člen ano, a přežívá nulovou základnu, kde je orbitální člen přesně nulový — strukturní kontrola, která zachytí zapojení členu na špatné místo; chyba stanice 1 m se přenáší 1:1 a je prokázáno, že není zesílena DOP; nulová latence reprodukuje nezestárlé reziduum bit po bitu a reziduum je monotónní v latenci, přičemž vydaná křivka se rovná přímým během; krok kvantizace se přesně půlí s každým bitem a σ² = step²/12 a plná škála sleduje vložené velikosti; každý člen vypínaný postupně obnoví další dva v kvadratuře; stejné σ na družici se šíří přesně na σ·PDOP a toto PDOP souhlasí s orbit::dop; každé vydané pole nese jednotku a třídu původu, zkontrolováno oběma směry) |
| Mapa pokrytí a přesnosti lunární referenční stanice | Monte Carlo průchod lunárním modelem diferenciálního PNT přes jihopolární mřížku uživatelů a den epoch (druh lunar-station-coverage): pro diferenciální referenční stanici na známém jihopolárním místě, pro každý bod i pro celou oblast, percentilová korigovaná a nekorigovaná chyba polohy (3D, horizontální, vertikální), dostupnost s důvodem pro každou nedostupnou epochu (user_lt4, station_missing_sat), pokrytí vůči prahu stanovenému před během, ochranné úrovně DO-229E, poloměr pokrytí pro každý azimutový sektor a rozpočet korekčního spoje na stanici a v nejhorším bodě. Nejde o tvrzení o výkonu žádného skutečného systému; bez příslušnosti k žádné agentuře a bez jejího schválení |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Aritmetika přepočítaná nezávislým skriptem numpy na exportovaných případech (scripts/gen_lunar_station_ref.py, numpy 2.5.4; předregistrováno v tests/fixtures/lunar_station/PREREGISTRATION.md, potvrzeno samostatně v 9caedf97 před prvním během): na 20 případech se zapnutými všemi členy chyb jsou množiny viditelnosti a stav shodné, surové chyby vzdálenosti souhlasí do 1.4e-14 m, vektory a velikosti chyb polohy do 1.4e-9 m proti prahu 1e-6 m a p95 každého bodu se bit po bitu rovná numpy.percentile; korekce stanice NESPLNILY svůj práh 1e-9 m (nejhůře 3.73e-9 m, 15 z 20 případů), a s nimi korigované chyby vzdálenosti: kontrolováno v aritmetice o 60 číslicích, obě strany jsou v rámci zaokrouhlení dvojité přesnosti od přesné hodnoty, člen zaměření je rozdíl dvou vzdáleností 1e7 m, jejichž jednotka posledního místa je 1.86e-9 m; zaznamenáno, nikoli doladěno. Druh se přesně redukuje na druh lunar-differential-pnt při jednom bodu, jedné epoše a jednom pokusu. Model chyb, model dekorelace a každý práh jsou vlastní tomuto projektu nebo ILLUSTRATIVE; nic zde není tvrzením o žádném skutečném systému | lunar_station (nad lunar_dpnt, lunar_service) | tests/lunar_station_coverage_reference.rs (one_point_one_epoch_one_trial_reduces_to_lunar_differential_pnt: do 1e-12 m se šumem přijímače i bez něj; zero_baseline_floor_is_zero_in_every_trial: 0 do 1e-9 m; survey_floor_matches_the_survey_transfer_prediction: p95 v pásmu 5 % stanoveném před během; 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 (předregistrovaný přepočet v numpy, zaznamenaný se svým nesplněním); lunar_service::tests::south_polar_ring_grid_is_the_published_comparison_grid; tests/lunar_differential_pnt_reference.rs a registr a křížoplatformní golden soubory beze změny (aditivita); tests/field_units_global.rs (každé vydané pole popsáno, bez výjimky) |
| Lunární terénní masky horizontu ze zadaného profilu nebo z polárního DEM | Masky horizontu závislé na azimutu pro jednotlivá místa u druhu lunar-station-coverage (referenční stanice a každý bod uživatele) a u mřížky moonlight-service-volume a jejího exportního místa pro jednotlivé družice (každý exportní řádek získává clears_terrain), ve formátu tabulky obzoru 0,36 (skyline::Skyline, lineární v azimutu s přechodem při 360 stupních; zadaný profil a horizont z DEM na jednom místě se kombinují jako bodové maximum): zadaný [terrain] station_horizon nebo user_horizon označený svým zdrojem, a/nebo horizont sledovaný paprskem po jihopolárním stereografickém DEM (rozvržení polární mřížky LRO LOLA, čtené z deskriptoru, který určuje její velikost a SHA-256, nebo dlaždice realdata::lola_dem v zeměpisné šířce a délce s [terrain] dem_tile_path, vypsaná se svým SHA-256) po velkých kružnicích lunární koule s přesnou křivostí, z uvedené výšky stožáru, při uvedeném azimutovém kroku a dosahu. Družice se na místě počítá, když překoná plochou masku mask_deg i horizont v jejím azimutu (lunar_service::topocentric); epocha, kterou horizont v bodě omezí na méně než čtyři družice, kde plochá maska dává čtyři, se počítá jako důvod nedostupnosti terrain_masked. Dodaný DEM je výřez produktu LDEM_75S_240M z LOLA, který je volným dílem (public domain), převzorkovaný blokovým průměrem 5 x 5 na 1200 m (data/lunar-dem/NOTICE.md). Pokud chybí, každé místo si ponechává plochou masku a každý dokument je bajt po bajtu totožný | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Povrchy v uzavřeném tvaru (InternalConsistency): sklon holé koule, kráter v plošině na kouli s pozorovatelem uprostřed i mimo střed a analytický kužel proti vlastní rasterizaci. Na skutečném výřezu souhlasí nezávislý ray-cast v numpy (scripts/gen_lunar_terrain_ref.py, numpy 2.5.3; předregistrováno v tests/fixtures/lunar_terrain/PREREGISTRATION.md, potvrzeno samostatně v edbb9b02 dříve, než skript existoval) na pěti lokalitách: výšky lokalit do 1.0e-11 m a všech 1800 elevací horizontu do 5.5e-10 stupňů proti prahům 1e-6, počty useknutých paprsků přesně; to kontroluje aritmetiku, nikoli terén. Nebyl reprodukován žádný publikovaný polární údaj o horizontu ani osvětlení: přibalený výřez 1200 m vyhlazuje podkilometrový reliéf, který publikované studie osvětlení rozlišují, takže horizonty z DEM jsou MODELLED přímá viditelnost nad převzorkovaným skutečným DEM, nikoli ověřený horizont. Místo stanice a konstelace zůstávají ILLUSTRATIVE; nic zde není tvrzením o žádném skutečném systému | lunar_terrain (nad skyline, lunar_service::topocentric_basis); lunar_station; lunar_service (coverage_masked, masked_visible) | lunar_terrain::tests (bare_sphere_horizon_is_the_dip: ray march reprodukuje -acos(R / (R + a)) s přesností 1e-3 stupňů v každém azimutu; a_cone_on_a_lat_lon_tile_matches_the_analytic_cone: tentýž kužel navzorkovaný na dlaždici šířka/délka 0,005 stupně souhlasí s analytickým kuželem do 0,25 stupně; a_lat_lon_tile_is_none_outside_and_wraps_longitude; crater_in_plateau_matches_the_closed_form: kráter s plochým dnem na kouli, pozorovatel ve středu a 4 km a 7 km od něj, proti uzavřené elevaci okraje atan2((R + H) cos s - (R + a), (R + H) sin s) se s ze sférické rovnice přechodu okraje, do 0,01 stupně v každém azimutu; rasterised_cone_matches_the_analytic_cone: kužel rasterizovaný na polární stereografickou mřížku 200 m a čtený přes vzorkovač mřížky souhlasí s analytickým kuželem do 0,25 stupně; 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, pro oba druhy; a_horizon_only_removes_satellites_and_a_wall_removes_everything: user_lt4 si ponechá svůj plochý počet a epochy, které horizont stojí, jsou terrain_masked (samotná dostupnost může vzrůst, protože horizont může skrýt družici, kterou stanice nevidí), a horizont 89 stupňů u stanice nenechá nic dostupného; bad_terrain_sections_are_refused; the_vendored_crop_loads_and_is_oriented_as_the_source: dna kráterů Shackleton a Haworth nízko, masiv Malapert vysoko, zrcadlový obraz ne; 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: dlaždice převzorkovaná z přibaleného výřezu dává stanici horizont výřezu s přesností 0,22 stupně (mez 0,5 stupně, stanovená před během), s ozvěnou dlaždice a jednotkami, a dem_path s dem_tile_path odmítnuto; the_export_site_is_masked_by_the_terrain: každý řádek exportu překonává terén přesně tehdy, když je viditelný a v azimutu lokality alespoň na horizontu lokality, geometrie se nehýbe, CSV získá sloupec jen s terénem; the_horizon_matches_the_preregistered_numpy_ray_cast); tests/prediction_frozen.rs a registr a křížoplatformní golden soubory beze změny (aditivita) |
| Členy vícecestného šíření a hardwaru přijímače lunární referenční stanice | Volitelná sekce [receiver] u lunar-station-coverage (LRS-02): sigma vícecestného šíření závislá na elevaci sigma(el) = a + b exp(-el / el0) u uživatele i u stanice (funkční tvar RTCA DO-229 pro letadla, jeho výchozí a = 0,13 m, b = 0,53 m, el0 = 10 stupňů; na Měsíci je každá hodnota ILLUSTRATIVE), bílé u uživatele a Gaussův-Markovův proces prvního řádu přes epochy u stanice (rho = exp(-dt / tau)); tepelný šum kódu DLL early-minus-late sigma = L_c sqrt(B_L d / (2 C/N0) (1 + 2 / ((2 - d) T C/N0))); biasy mezi kanály pro každý kanál konstantní během pokusu, u uživatele i u stanice. Členy stanice vstupují do jejích korekcí, členy uživatele do surových a korigovaných měření, každý na vlastním seedovaném proudu. Pokud chybí, každý dokument zůstává beze změny | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Uzavřené tvary a statistiky vlastních výběrů modelu (InternalConsistency): vzorec DLL proti ruční výpočtu, tvar DO-229, nulová základna rozdílu dvou přijímačů, korelace lag-1 Gaussova–Markovova procesu. Neexistuje žádné měření lunárního vícecestného šíření ani přijímače, s nímž by se dalo porovnat; hodnoty jsou ILLUSTRATIVE a nic zde není tvrzením o žádném skutečném přijímači | lunar_receiver; lunar_station | lunar_receiver::tests (multipath_is_the_do229_form; dll_noise_matches_a_hand_computation: 0,825279 m při 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: výběrová sigma sqrt(2) a v rozmezí 6 %; station_multipath_is_gauss_markov: korelace lag-1 exp(-dt / tau) do 0,01, jednotkový rozptyl do 2 %; inter_channel_biases_are_constant_over_a_trial); tests/prediction_frozen.rs a golden soubory beze změny (aditivita) |
| Růst chyby efemerid lunární referenční stanice po dobu latence korekce | Volitelný vstup orbit_err_growth_m_per_s u lunar-station-coverage (LRS-03): korekce použitá latency_s po svém výpočtu mine růst g latency_s vysílané chyby dráhy, g izotropní s 3D rychlostí RMS, losované pro každou družici a pokus na vlastním seedovaném proudu (rychlost 1-sigma tau / sqrt(3)), nad rámec přeprojekce zmrazené chyby na zorný směr. Pokud chybí, každý dokument zůstává beze změny. Dodatek K5 k porovnání publikovaných tvrzení, předregistrovaný samostatně, spouští K5 při 0,001, 0,01 a 0,1 m/s (ILLUSTRATIVE) | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Sigma růstového členu v uzavřeném tvaru a kontrola šíření prvního řádu (InternalConsistency). Dodatek K5 (tests/fixtures/lunar_station_published/ADDENDUM-LRS03.md, předregistrován samostatně v 59d88248): K5 selhává při každé rychlosti, korigované p95 3-D 369,8 m, 2315 m a 22797 m proti prahu 1,5 m (292,96 m zaznamenáno bez růstu), jak bylo uvedeno před během. Žádný veřejný zdroj neuvádí rychlost lunárního růstu: 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: chyba spoje se zapnutým růstem minus bez růstu má výběrovou sigmu rate tau / sqrt(3) do 6 % přes 1600 realizací; linear_growth_is_the_first_order_propagated_error: chyba rychlosti dv šířená dvoutělesovým integrátorem ze stromu ze scénářové dráhy posune polohu o dv tau s přesností 1 % při 60 s a 600 s); tests/lunar_station_published_oracle.rs::k5_growth_addendum_run (ignorován, zaznamenaný dodatek) |
| Režimy řešení referenční stanice na Měsíci: výšové omezení, tři družice, okno statického uživatele | Volitelná sekce [solution] druhu lunar-station-coverage (LRS-06): řádek výškového pseudoměření up . dx = e_h se stanovenou 1-sigma, vážený proti řádkům vzdáleností; minimum tří družic je povoleno jen s ním; a vážené řešení metodou nejmenších čtverců přes posledních window_epochs epoch se sdílenou statickou polohou a jedněmi hodinami na epochu (odpověď filtru pro statickou polohu bez procesního šumu nad týmiž daty; chyby jednotlivých epoch se považují za nezávislé). Pokud sekce chybí, zůstává řešení snímku i každý dokument beze změny. Dodatek k porovnání s publikovanými tvrzeními, jehož styl řešení odpovídá zdrojům, předregistrovaný samostatně | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není vnějším orákulem — Redukce snapshotu a případy řešiče v uzavřeném tvaru (InternalConsistency). Dodatek (tests/fixtures/lunar_station_published/ADDENDUM-LRS06.md, předregistrován samostatně v 001ca100) s omezením výšky 1 m, třemi družicemi a oknem o 6 epochách (ILLUSTRATIVE nastavení; zdroje uvádějí filtr, omezení výšky a tři družice, ale ne jejich nastavení): K1 až K5 selhávají a K6 je splněn, 1 z 6 jako v zaznamenaném běhu; korigovaná chyba p95 3-D pro R300 klesá z 280,6 m na 2,11 m (horizontální 0,90 m, nehodnoceno) a pokrytí zůstává 0. Předpoklad nezávislosti okna mu nahrává. Není to tvrzení o žádném skutečném systému | lunar_solution; lunar_station (solution_figures) | lunar_solution::tests (one_epoch_without_height_is_the_snapshot_solve: rovná se lunar_dpnt::position_error_vector_from_range_errors s přesností 1e-8 m, volný řádek výšky nic nemění, těsný zafixuje chybu výšky; 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: každý údaj s relativní přesností 1e-6; height_aiding_and_a_window_do_what_they_say); tests/lunar_station_published_oracle.rs::solution_style_addendum_run (ignorován, zaznamenaný dodatek) |
| Přesnost a pokrytí referenční stanice na Měsíci proti publikovaným tvrzením | Druh lunar-station-coverage spuštěný za veřejných předpokladů publikovaného materiálu o lunární diferenční referenční stanici (čtyři navigační družice na zmrazených eliptických drahách s periodou 24 h, SISE 10 m (95 %), kódový šum 0,30 m, latence korekcí 1 s a 600 s, zaměření stanice s přesností pod decimetr, publikované příkladové místo stanice, jihopolární kružnice o poloměru 300 km a 600 km) a vyhodnocený proti číselným tvrzením zdrojů podle šesti jednostranných prahů předregistrovaných před během: pokrytí celého jižního pólu při p95 pod metr (K1, K2), opravené p95 pod metr a na úrovni decimetrů (K3, K4), pod metr zachované při latenci 600 s (K5) a přesnost zachovaná od základny 10 km do 500 km (K6) | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost skládá modelované části, proto schopnost zůstává modelovaná — Reference: numerická tvrzení pěti veřejných zdrojů zaregistrovaných s URL, datem získání, SHA-256 a licencí v tests/fixtures/lunar_station/SOURCES.md (arXiv:2602.08432v3; snímky IOAG Cislunar PNT Workshop 2025 a 2026; UNOOSA ICG WG-B Lunar PNT, červen 2024), přepsaná s odkazy na stránky v tests/fixtures/lunar_station_published/CLAIMS.md. Prahy, případy a vstupy byly předregistrovány v tests/fixtures/lunar_station_published/PREREGISTRATION.md (revize 2, 05bf9a19, potvrzeno samostatně před během). 0,36 první běh, zjištění (zůstává MODELLED): 1 z 6 prahů je splněn. Pokrytí je 0,00 na obou kružnicích proti >= 0,95 a korigovaná chyba p95 3-D je 280,6 m (300 km) a 293,0 m při latenci 600 s proti <= 1,5 m. Decimetrový práh (K4) nemohl být splněn při šumu kódu 0,30 m ze zdrojů, což odráží rozpor mezi zdroji, nikoli výsledek modelu. K6 je splněn (poměr 1,39 proti <= 1,5), ale jako poměr dvou údajů dominovaných geometrií není důkazem o dekorelaci ani v jednom směru. Příčina: elementy družic nejsou veřejné a na ILLUSTRATIVE elementech ve stromu sdílejí uživatel a stanice čtyři družice nad 5 stupni jen v 8,2 % (300 km) a 6,3 % (600 km) epoch, při téměř singulární geometrii (nekorigované p95 3,8 km proti < 10 m ze zdrojů). Simulace zdrojů používaly filtr, omezení výšky a tři družice ve společné viditelnosti, což druh snapshot nemodeluje. Porovnání proto publikované „pod metr na celém jižním pólu“ ani nepotvrzuje, ani nevyvrací. Ukazuje, že výsledek tohoto modelu závisí na drahách, které nejsou publikovány. Není to tvrzení o žádném skutečném systému; není spojeno s žádnou agenturou ani jí schváleno | lunar_station (nad lunar_dpnt, lunar_service) | tests/lunar_station_published_oracle.rs::recorded_finding_one_of_six_bars_passes (zaznamenané hodnoty proti registrovaným prahům); tests/lunar_station_published_oracle.rs::published_claims_comparison_run (ignorován, asi 7 s v režimu release: znovu spustí šest registrovaných případů a ověří zaznamenané hodnoty) |
| ARAIM s hypotézami současných poruch více družic | araim_reference::add_v42_subset_plan: pravidlo ADD v4.2 pro určení podmnožin (P_THRES, FC_THRES, monitorované podmnožiny od nejméně odebraných) zobecněné z dvojic na současné kombinace až max_order událostí družic a konstelací, s přesnou apriorní pravděpodobností P_no fault prod q_e; add_v42_protection_levels_to_order nad ním spouští cestu ochranných úrovní ADD v4.2 (řád 2 je přesně stávající cesta). raim::araim_subset_raim (nepovinné zapnutí): pokročilý RAIM nad touto množinou hypotéz, kde každá monitorovaná podmnožina je jeden režim (p_fault, T, b, sigma) v součtu rizika integrity, nepozorovatelné podmnožiny jsou přesunuty do nemonitorovaného rizika, rozpočet je škálován přidělením nemonitorovaného rizika podle ADD a při detekci poruchy je hlášena podmnožina s největším normalizovaným oddělením. Apriorní pravděpodobnosti vyžadující hlubší podmnožiny než max_order se odmítají, nikdy neořezávají | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní konzistence (InternalConsistency): redukce řádu 2 na cestu ADD v4.2 ověřenou nástrojem MAAST, nezávislé nové odvození apriorních pravděpodobností a sestrojená porucha dvou družic. Nad rámec dvojic nebyl proveden žádný běh MAAST ani RTKLIB, takže hlubší množiny hypotéz a ochranné úrovně subset RAIM nejsou externě ověřeny. araim_subset_raim sdílí zjednodušení araim_dual_raim (jedno sigma pro integritu i přesnost, jedny hodiny, prosté normální rozdělení v chvostu): není v souladu s ADD | 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, nemonitorované riziko v rámci P_THRES, monitorovaná podmnožina vyřazující tři či více družic a více než deset monitorovaných apriorních pravděpodobností nezávisle odvozených jako P_no fault q^k až do 1e-12; a_two_satellite_fault_is_found_as_a_pair: žádný poplach bez poruchy a vychýlení 30 m na dvou družicích detekováno, přičemž podmnožinou s největší normalizovanou separací je dvojice); tests/araim_reference_vectors.rs a tests/integrity_araim_stanford_oracle.rs beze změny (cesta řádu 2 je ta, která byla ověřena nástrojem MAAST) |
| RAIM vedle ukazatelů kvality holdoveru hodin | Volitelná sekce [integrity] druhu clock (clock_integrity::run): ze stanoveného místa a předvoleb konstelace (geometry::sky_geometry), v každé epoše integrity, dokud časová osa GNSS není odepřena, snímkový RAIM (raim::snapshot_raim: paritní test chí-kvadrát, ochranné úrovně podle sklonu) na družicích nad maskou se seedovanými Gaussovými rezidui stanovené sigmy a volitelným stanoveným biasem; samostatný blok integrity_fom s verdikty po epochách, ochrannými úrovněmi a dostupností. Odepřené epochy se hlásí jako nedostupné, nikdy se neextrapolují; ukazatele kvality holdoveru zůstávají beze změny a bez sekce je výstup bajt po bajtu shodný | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní konzistence (InternalConsistency): ochranné úrovně jsou ty z snapshot_raim, který je ve vlastním řádku ověřen proti RTKLIB, přepočtené na téže geometrii; chování bez poruchy a se vloženou poruchou. Obloha je reprezentativní přednastavená geometrie (nikoli datovaný almanach), rezidua jsou syntetická a sigma, výstražné limity i pravděpodobnosti jsou uvedené vstupy; nic z toho není tvrzením o dostupnosti skutečného přijímače | 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: hodnoty holdoveru beze změny, 111 odepřených epoch nedostupných bez ochranné úrovně, odmítnuto pro runs > 1; protection_levels_are_the_snapshot_raims_on_the_same_sky: HPL a VPL každé vzorkované epochy se přesně rovnají snapshot_raim s nulovým rezidiem na téže přednastavené obloze a běh bez poruchy nevyvolá žádný poplach; a_stated_bias_is_detected_while_it_lasts: vychýlení 60 m spustí poplach přesně v těch 10 epochách, které pokrývá; every_integrity_field_has_a_unit); clock_integrity::tests; referenční hodnoty hodin (goldens) beze změny |
| Prostorová, zašuměná, vícerodinná pozorovatelnost cislunárního oblouku podle délky | Práh pozorovatelnosti cislunárního oblouku podle délky v PROSTOROVÉM šestistavovém CR3BP namísto rovinného čtyřstavového, napříč rodinami DRO, halo kolem L2 a téměř přímočarého halo kolem L2, kde měřicí šum vstupuje do Gramiánu a hlásí se DVĚ kritéria, protože neexistuje žádné jediné poctivé: publikované kritérium hodnosti, které je prokazatelně invariantní vůči homoskedastické měřicí sigmě (vybělení násobí matici pozorovatelnosti skalárem, takže relativní spektrum singulárních hodnot, a tedy hodnost, defekt i podmíněnost zůstávají beze změny), a kritérium odhadnutelnosti — první oblouk, při němž formální 1σ nejistota polohy počátečního stavu hlavní družice klesne pod stanovenou mez — které je tím, jež se se šumem mění. Každý práh nese závorku mřížky epoch, v níž leží; nedosažené kritérium je null s důvodem. Rovinný režim zůstává výchozí a rodiny mimo rovinu se v něm odmítají, nikoli zplošťují do stavu, který je nedokáže reprezentovat | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Nezávislá hodnost řádkově odstupňovaného tvaru Gaussovou eliminací s částečným výběrem pivotu potvrzuje každý verdikt o šestistavové hodnosti — jde o jiný algoritmus, který nesdílí žádný kód s testovanou cestou přes vlastní čísla/SVD. Matice přechodu stavu CR3BP o rozměru 6×6, kterou tento výpočet skládá, má vlastní orákulum ReferenceImpl proti variační integraci v SciPy a počáteční podmínky halo/NRHO pocházejí z korektoru, který reprodukuje publikovanou jižní oběžnou dráhu Gateway kolem L2 o rezonanci 9:2. Stávající větev filtru informační odmocniny (square-root-information filter) se výslovně NEPOČÍTÁ jako potvrzení: spotřebovává tytéž jakobiány a redukuje se na tutéž normálovou matici, takže jde o kontrolu konzistence mezi dvěma numerickými stroji, což uvádí i emitovaný štítek rozšíření. NEMÁ vnější ukotvení, a proto je ExternalDataset odmítnut, nikoli převzat z řádku pro STM: samotné prahové délky oblouku závisejí na MODELLED návrhu konstelace, na mřížce epoch a — měřitelně, až 40× — na toleranci singulárních hodnot. Publikovaných rovinných 2,09 h se reprodukuje přesně při rel_tol = 1e-6 a samo závisí na toleranci (10,25 h při 1e-4, 0,42 h při 1e-8), což je vlastnost kritéria, nikoli oběžné dráhy. Žádný veřejný soubor dat nepublikuje práh pozorovatelnosti podle délky oblouku pro zvolenou cislunární konstelaci. MEASURED VÝSLEDEK: prostorový šestistavový práh je 22,17 h pro L2 NRHO a 40,42 h pro L2 halo a PRO rodinu rovinných DRO, na které byl publikovaný nárok odvozen, NEEXISTUJE — hodnost 4 ze 6 s defektem datumu 2 a dvěma přesně nulovými vlastními čísly, strukturální defekt, který žádná délka oblouku neodstraní | cislunar_observability, observability_gramian, intersat_range, cislunar_srif | cislunar_observability::tests a observability_gramian::tests (výchozí dokument zafixovaný bit po bitu pomocí FNV-1a jeho JSON, shrnutí a SVG, přičemž se ověřuje, že explicitní výchozí hodnoty nemají žádný účinek, a osm klíčů rozšíření se ověřuje jako NEPŘÍTOMNÝCH, aby nebylo možné záznam přegenerovat na srovnání sama se sebou; aditivní blok units vyloučený ze zmrazení tím, že je odstraněn a znovu zahashován proti konstantě zafixované před jeho vznikem, což dokazuje, nikoli předpokládá, že se nic z vydaného nezměnilo; invariance hodnosti vůči homoskedastickému sigma ověřena při σ = 0, 0,1, 1, 10, 100 m; σ_pos ověřeno, že se škáluje přesně lineárně se σ s relativní přesností 1e-6; nulový prostor DRO ověřen jako přesně souřadnicové osy z a ż se dvěma oddělenými příčinami — řádek vzdálenosti mezi koplanárními kosmickými loděmi má û_z = 0 a mimorovinný blok CR3BP se přesně odpojuje při z = 0; prostorové jakobiány proti centrálním konečným diferencím a proti nezávislé 3D observabli rychlosti změny vzdálenosti v tomto crate; mimorovinné rodiny odmítnuty v rovinném režimu) |
| Chyba predikce orientace Země v operativním stylu, změřená predikovaná proti finální | Fit biasu a rychlosti metodou nejmenších čtverců přes klouzavé okno plus hlavní periodické členy — roční, půlroční a dva hlavní zonální slapy pro UT1; Chandlerův, roční a půlroční pro pól — extrapolovaný s posledním reziduem v okně přenášeným dopředu: třída, kterou používá IERS Bulletin A, namísto prediktoru persistence, na němž stál publikovaný horizont. Hodnoceno jediným poctivým způsobem: předpověď pro T+h sestavená z rychlých řádků Bulletinu A v čase T nebo dříve, změřená proti POZDĚJI VYDANÉMU finálnímu Bulletinu B v čase T+h, přičemž persistence je vedle toho hodnocena na identické množině epoch proti identickým finálním hodnotám. Cílová epocha bez publikované finální hodnoty se vyřadí, nikoli znovu hodnotí proti rychlému sloupci; periodický člen, který okno nedokáže omezit, se hlásí jako zamítnutý spolu s počtem cyklů, které skutečně pokrývá; neúplné okno se odmítá, nikoli tiše zkracuje | ReferenceImpl | zkontrolováno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není externě autoritativní — Tři nezávislé cesty, žádná z nich není publikovaným údajem o přesnosti predikce. (1) Analytický signál se známými koeficienty — jediný způsob, jak procvičit periodický aparát, protože žádná dostupná řada není dost dlouhá, aby připustila roční člen. (2) Učebnicové řešení metodou nejmenších čtverců v uzavřeném tvaru, jiná algebra než testované maticové řešení, na skutečných řádcích. (3) Skutečné archivované predikční řádky Bulletinu A, které publikuje reálný produkt z roku 2026, porovnané pro každý předstih jako statistika SHODY a výslovně ne jako chyba: 0,256 ms při 1 dni, 0,695 ms při 2 dnech, 1,252 ms při 3 dnech, narůstající na 3,885 ms při 9 dnech. Jde tedy o TŘÍDU Bulletinu A, blízkou při krátkém předstihu, nikoli o Bulletin A. Rezidua predikce proti finálním hodnotám jsou skutečné naměřené veličiny nad skutečnými řádky IERS, ale jejich velikost se kontroluje jen proti SMĚRU srovnání, nikdy proti publikovanému údaji o přesnosti od IERS — čtení skutečného produktu je původ dat, nikoli orákulum. MEASURED: v den 1 dává provozní prediktor chybu v soustavě Měsíce 3,78 m proti 11,39 m u perzistence (3,01×), v den 2 10,23 m proti 21,72 m (2,12×), v den 3 20,33 m proti 30,57 m (1,50×) — a po třech dnech je HORŠÍ (0,87× při 5 dnech, 0,43× při 10), což zpráva uvádí, místo aby ukazovala jen horizonty, které jí lichotí. NEREPRODUKOVÁNO: autoregresní filtr reziduí a tabelovaná redukce zonálních slapů, 365denní provozní okno je s dostupnými daty nedosažitelné a v tomto repozitáři NEEXISTUJE žádná archivovaná dřívější verze řady — tabulka archivovaných verzí proto neuvádí žádné řádky, místo aby hodnotila syntetizovanou. 0,30 externí srovnání, zjištění (zůstává MODELLED): při hodnocení proti týmž finálním hodnotám na 178 archivovaných vydáních Bulletinu A s výchozím 15denním oknem crate je MAE UT1 prediktoru 2.4x až 12.6x větší než u Bulletinu A při 1 až 10 dnech (práh 1.5x) a 5,32 ms při 10 dnech, mimo rozsah 0,36 až 3,13 ms z 2nd EOP PCC; pól je 1.5x až 1.85x větší než u Bulletinu A (v rámci 1.5x jen při 6 a 7 dnech); 19 z 21 předregistrovaných podmínek selhává. Oprava k cestě (3): řádky produktu z roku 2026, se kterými bylo porovnáváno, nesou příznak IERS I (naměřeno), nikoli P, takže tyto hodnoty shody jsou proti naměřeným rychlým hodnotám, nikoli proti predikcím Bulletinu A. 0,30 kolo 2, prediktor metodou nejmenších čtverců s autoregresí a analyticky odstraněnými zonálními slapy, proti 178 archivovaným vydáním Bulletinu A při prahu z kola 1 (předregistrováno c93605b4), zjištění (zůstává MODELLED): platí 12 z 21 podmínek; MAE UT1 je 1,73 až 2.11x větší než u Bulletinu A při 2 až 10 dnech (práh 1.5x), zatímco pól je v rámci 1.27x při každém předstihu. 0,30 revize: protože je offline vstup nyní klasifikován podle příznaku IERS, jsou hodnoty shody cesty (3) proti skutečným predikcím Bulletinu A (0.256/0.695/1.252/3.885 ms při 1/2/3/9 dnech proti rychlým řádkům -> 0.133/0.421/0.839/2.786 ms) | frame_eop, realtime_frame_eop | frame_eop::tests, realtime_frame_eop::tests a tests/operational_eop_predictor_reference.rs (obnovení koeficientů analytického signálu s přesností 1e-9 při 365denním okně; fit vychýlení plus rychlost rovný směrnici a úseku obyčejných nejmenších čtverců v uzavřeném tvaru s přesností 1e-12 na skutečných řádcích; DVA detektory pohledu do budoucnosti, které zničí rychlé sloupce UT1 a pólu každého řádku po epoše vydání — přičemž finální hodnoty Bulletinu B nechají nedotčené — a vyžadují bitově shodný výstup, ověřeno mutací tak, že 10 testů zčervená, když se bariéra fitu povolí přesně o jeden den; nezávisle znovu sestavený seznam epoch; blok Bulletinu B cíle vymazaný a epocha vyřazená z tabulky; přijetí členů ověřeno při oknech 6, 15, 150 a 365 dní; monotónní počty řádků; a zmrazený záznam výchozí zprávy z doby před změnou ověřený pole po poli bez tolerance, který navíc ověřuje, že záznam neobsahuje nové klíče, takže jej nelze potichu přegenerovat na srovnání sama se sebou); 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 (volitelné rozšíření EopSeries::with_ls_ar_prediction za poslední řádek: odpovědi uvnitř tabulky bitově shodné, předpovězené řádky rovné ls_ar_predict, argumenty soustavy za tabulkou sledují předpověď místo ořezání; vnitřní konzistence) |
| Datum lunární soustavy z pozorovací kampaně | Sedmiparametrové Helmertovo datum odvozené ze SIMULOVANÉ POZOROVACÍ KAMPANĚ namísto obnovy ze vložené transformace. Pozemní stanice pozorují zdrojovaný katalog majáků na povrchu Měsíce podle explicitního rozvrhu; parciální derivace zpoždění lunárního VLBI se akumulují do Fisherovy informační matice souřadnic majáků a prostřednictvím Helmertova návrhu A = [I₃ | [p]ₓ | p] se převádějí na H = AᵀM_bA, takže hlášená přesnost datumu je funkcí pozorovacího programu — přesně lineární v sigmě zpoždění a monotónní v oblouku přes librace, kterou zpráva MĚŘÍ. Defekt datumu je předmětem, nikoli poznámkou pod čarou: hodnost, defekt, číslo podmíněnosti, spektrum, nepozorovatelné směry v sedmiparametrové bázi, nejslabší směr i při plné hodnosti a podíl každého parametru na něm se vydávají při každém běhu a každý parametr, který kampaň neomezuje, je publikován jako NULL se stavem. Korelace chyb majáků je MEASURED, nikoli předpokládána — přesně nulová při pevných stanicích a vytištěná i s cenou, když se stanice odhadují. Spustitelné jako druh scénáře lunar-frame-campaign |
ReferenceImpl | zkontrolováno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není externě autoritativní — Identity v uzavřeném tvaru a nezávislá cesta uvnitř repozitáře, bez nároku na externí orákulum. Helmertův návrh — jediná nová derivace v modulu — je znovu odvozen centrální konečnou diferencí lunar_frame_realise::apply_helmert, tedy cestou, která s analytickým tvarem nesdílí žádný výraz. Akumulace, kterou skládá, patří lunar-vlbi-fim, jehož jakobián je tam odvozen konečnými diferencemi proti lunar_vlbi::vlbi_delay_s a jehož jádro lineární algebry je samostatně externě ukotveno proti numpy v tests/fim_observability_reference.rs — tento řádek si nepůjčuje ani jeden z těchto statusů. Fyzikální orákulum je strukturální, nikoli numerické: parciální derivace zpoždění majáku je blízkopolní ROZDÍL dvou téměř rovnoběžných jednotkových vektorů, takže nejhůře určený směr translace MUSÍ být směr k Zemi v soustavě pevné vůči tělesu, a test ověřuje vypočtenou odpověď proti samostatně změřenému směru. MEASURED: sigma translace odvozené z kampaně 6,3975 m proti chybě obnovení 0,3125 m ve scénáři se vloženou transformací (o 20,5× přesnější), zatímco rotace a měřítko jdou OPAČNĚ, o 2,32× a 13,5× hůře — vložená cesta předpokládá jedno izotropní sigma, a proto rozprostírá svou chybu rovnoměrně na sedm parametrů, což zpožďovací observabli neodpovídá. Hodnost 7/7, ale podmíněnost 3.8e5, přičemž jeden směr je z 99,57 % čistá translace směrem k Zemi a čtyřicetkrát horší než kterýkoli jiný. CO TENTO ŘÁDEK NETVRDÍ: že údaj z kampaně je správný v absolutním smyslu. Prokazuje, že údaj se nyní ODVOZUJE z rozvrhu, geometrie a modelu chyb, a nikoli z podstrčené odpovědi. Zůstává ReferenceImpl/MODELLED: neexistuje žádná publikovaná dvojice kampaň plus kovariance datumu pro lunární VLBI, síť stanic a sigma zpoždění jsou ILLUSTRATIVE vstupy (katalog majáků je opatřen zdrojem, kampaň nikoli), pozorování se považují za nezávislá, zatímco troposféra a hodiny skutečné relace jsou mezi blízkými skeny korelované, a efemeridy, hodiny, troposféra a parametry orientace Země jsou drženy PEVNĚ. 0,30 externí srovnání, zjištění (zůstává MODELLED): s každým řádkem jakobiánu majáku znovu sestaveným ze světelných časů NAIF SPICE (DE440, ITRF93, MOON_ME; předregistrováno 50863551) se rozvrh, Helmertova hodnost, sigma datumu (v rámci 4.7e-3), podmíněnost, nejslabší směr (0,07 deg), vyšetření librací a pořadí oblouků shodují na šesti scénářích v rámci předregistrovaných 1 % / 0,2 / 0,05 deg. NumPy na uloženém jakobiánu enginu se shoduje na 3e-14 tam, kde jsou stanice pevné. S odhadovanými stanicemi se liší o 6.8e-6 proti předregistrovaným 1e-9, jejichž předpoklad o čísle podmíněnosti byl chybný (Helmertova podmíněnost 2.1e8; nezávislé cesty NumPy se rozcházejí o 3e-6; příspěvek záložní pseudoinverze enginu 1e-9 není vyloučen), takže řádek na základě této předregistrace nepostupuje výše. 0,36 nová registrace s prahem škálovaným podmíněností (předregistrováno b887eb05; t = max(1e-12, 10 kappa 2^-53) z podmíněnosti společné informace a její Helmertovy redukce), zjištění (zůstává MODELLED, NOT MET): krok 0 záložní pseudoinverzi pro mezeru 6.8e-6 VYLUČUJE (žádná matice před Helmertovou maticí se nevrací k záloze v šesti původních scénářích, nejtěsnější rezerva činí faktor 2,6), větev SPICE stále platí na všech šesti a NumPy se shoduje v rámci prahu na šesti z osmi scénářů (výchozí, dva oblouky, 3x sigma zpoždění, kolineární defekt a nový běh se stanicemi pevnými dne 2026-12-01; nejhůře 0,13 jeho prahu). Selhává na stations_estimated (sigma datumu až 6.8e-6, podmíněnost 9.1e-6, norma po zahození nezávislosti 3.5e-6, proti t = 5.9e-7) a v novém datu nemá jihopolární maják žádné pozorování, takže informace o majácích má nedostatečnou hodnost (záložní pseudoinverze před Helmertovou maticí v obou nových scénářích) a nezměněné orákulum NumPy nemůže vyhodnotit stations_estimated_fresh (singulární matice). Výsledky: docs/design/evidence/mr05-lunar-datum-cond/RESULTS.md | lunar_frame_campaign (skládá lunar_vlbi, lunar_vlbi_fim, fim, lunar, lunar_frame_realise, frames, cio, lunar_frame) | lunar_frame_campaign::tests (21 testů knihovny: Helmertův návrh proti centrální konečné diferenci lunar_frame_realise::apply_helmert — modulu, PRO který je datum určen, který neprovádí žádnou derivaci, a proto fixuje konvenci znaménka [p]ₓ — všech 84 položek návrhu se shoduje na < 1e-6; čistá translace sítě přečtená zpět jako čistá translace s únikem < 1e-6 do ostatních šesti parametrů; sigma datumu přesně lineární ve sigma zpoždění až do 1e-8 při 3násobné změně u všech sedmi parametrů; 16 h oblouk naměřen horší a 48 h oblouk naměřen lepší než 24 h, přičemž emitované vyšetření librací je řazeno stejným směrem; nejhorší osa translace ověřena jako SKUTEČNĚ dominantní osa samostatně změřeného směru k Zemi v soustavě pevné vůči tělesu a horší než ostatní o > 5×, fyzikální orákulum, o kterém se řešiči nic neřeklo; tři kolineární majáky vytvářející defekt, u něhož je každé sigma datumu NULL a nulové směry jsou emitovány v sedmiparametrové bázi; offblock_fraction a korelace mezi majáky přesně 0,0 při pevných stanicích a obě > 0 při odhadovaných; údaje o vložené transformaci v srovnávacím bloku ukázány jako rovné nezávislému běhu onoho scénáře do 1e-14 relativně, nikoli přepsané; pojistka, že se nikde v dokumentu neobjevuje vložený/obnovený datum; emise realizace lunární soustavy zafixovaná bajt po bajtu pomocí FNV-1a-64 nad json‖summary‖svg pro tři tvary vstupu, s otiskem pořízeným před zahájením práce); tests/lunar_vlbi_campaign_spice_oracle.rs::lunar_frame_campaign_finding_stations_estimated_p2_precision (podmíněně spouštěn; přísný lunar_frame_campaign_matches_spice_geometry_and_numpy zůstává ignorován); tests/lunar_frame_campaign_mpmath_oracle.rs::lunar_frame_campaign_datum_matches_mpmath_extended_precision (zjištění; rozhodnutí zakladatele 2026-10-02, varianta A: tento řádek zůstává MODELLED a nepůjčuje si status samostatného řádku; proti 50místnému orákulu mpmath, předregistrováno 804662d5, jsou sigma datumu enginu s odhadovanými stanicemi v rámci své apriorní meze zpětné chyby, 9.7e-6 vedle na 2024-01-01, a práh 1e-9 byl pod hodnotou, kterou dosáhne jakákoli cesta s dvojitou přesností, přičemž nejlepší, projekce NumPy QR, je 5.5e-9 vedle; důkaz podporuje samostatný řádek '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 (zafixováno); tests/lunar_frame_campaign_cond_bar_oracle.rs::finding_p2_condition_scaled_bar_not_met_on_the_estimated_scenarios (zafixováno) |
| Potvrzení prahu délky cislunárního oblouku nezávislým odhadovačem | Dávkový odhadovač metodou nejmenších čtverců, který OBNOVUJE počáteční stav hlavní družice ze simulovaných mezidružicových měření přes rostoucí prefixy téže mřížky epoch, jakou používá tabulka hodnosti proti oblouku, přičemž parciální derivace měření jsou brány jako centrální konečné diference složeného dopředného modelu. Nespotřebovává nic z aparátu, jímž byl práh změřen — žádný analytický řádek jakobiánu, žádnou variační matici přechodu stavu, žádný rozklad na singulární hodnoty ani vlastní čísla, žádnou toleranci hodnosti, žádný filtr druhé odmocniny informační matice — a sdílí jen dynamiku, počáteční podmínky, skalární pozorovatelnou veličinu a mřížku epoch, každé z nich pojmenované ve vydaném dokumentu. Dvě kritéria, obě proměřená: obnova bez šumu (analogie hodnosti) a odhadnutelnost metodou Monte Carlo (analogie odhadnutelnosti, měřená proti známé pravdě, nikoli predikovaná z kovariance). Spustitelné jako druh scénáře cislunar-arc-recovery |
ReferenceImpl | zkontrolováno proti samostatné implementaci v téže kódové základně — nezávislé na testované jednotce, ale není externě autoritativní — Samostatný estimátor v této kódové základně na jiném algoritmu a disjunktní cestě kódu: nelineární vážený Gauss-Newton s parciálními derivacemi konečnými diferencemi, jehož verdikt se čte jako naměřená chyba obnovy stavu v km a mm/s. Nemá nic společného s cestou Gramiánu přes hodnost a kovarianci a oddělení je VYNUCOVÁNO pojistkou nad zdrojovým textem, nikoli pouze tvrzeno. MEASURED na publikované rovinné mřížce DRO: kritérium ODHADOVATELNOSTI je CORROBORATED — naměřená hranice Monte Carlo je 5,739130 h proti formální 5,739130 h (poměr 1,0000) a naměřené RMS reprodukuje formální 1σ přes 21 délek oblouku s geometrickým průměrem poměru 0,9804. Kritérium HODNOSTI NENÍ potvrzeno jako hranice obnovitelnosti: estimátor obnovuje od 0,782609 h oproti 2,086957 h u Gramiánu, poměr 0,375, a při 1,826087 h — poslední předponě, kterou čtení hodnosti hodnotí 3 ze 4 — obnovuje na 1.96e-5 apriorního posunu. Hranice obnovy se nepohnula přes tři dekády své vlastní meze, zatímco práh hodnosti se přes čtyři dekády rel_tol rozpíná od „nikdy“ po 0,782609 h, a obě se přesně shodují při rel_tol = 1e-8. Tento rozsah byl nejprve zaznamenán jako sahající k 0,260870 h; tento údaj byl ARTEFAKT, vzniklý čtením hodnosti, které napočítalo 4 směry z 2 měřicích řádků pod šumovou podlahou f64, a je zde opraven, nikoli ponechán. Čtení hodnosti je nyní omezeno Sylvestrovou nerovností s emitovaným důvodem a opravený rozsah saturuje přesně u oblouku, kde nezávislý estimátor obnovuje, což křížovou validaci tohoto řádku posiluje, nikoli oslabuje: publikovaných 1e-6 je konzervativní KONVENCE singulárních hodnot, nikoli tvrzení o obnovitelnosti. Stejný vzorec prostorově: NRHO 9,290323 h proti 21,677419 h, halo 22,978723 h proti 39,829787 h, přičemž odhadovatelnost se v obou případech shoduje přesně. Rovinný šestistavový DRO neobnovuje na žádném oblouku, čímž nezávisle reprodukuje strukturální defekt datumu této rodiny z estimátoru, kterému o něm nikdo nic neřekl. NEMÁ vnější ukotvení — dynamika a počáteční podmínky jsou sdíleny s testovanou analýzou a žádný veřejný soubor dat takový práh nepublikuje — proto je ExternalDataset odmítnut | cislunar_arc_recovery, batch_ls | cislunar_arc_recovery::tests a tests/cislunar_arc_recovery_reference.rs (obě hranice a jejich poměry zafixované na publikované mřížce; naměřená křivka chyby porovnaná s formální kovariancí řádek po řádku s mezí faktoru dvě pro každý řádek a mezí geometrického průměru; NEGATIVNÍ KONTROLA — rovinný šestistavový DRO — ověřuje, že kritérium MŮŽE selhat a že neregularizovaný estimátor diverguje za 1e6 km, místo aby vracel věrohodnou malou chybu; invariance vůči parametrizaci ověřena na každé předponě s relativní přesností 1e-3; pojistka nad zdrojovým textem, která odstraní komentáře, řetězcové literály a testovací modul a poté selže při jakékoli zmínce o jakobiánu, STM, hodnosti SVD či aparátu SRIF, ověřeno mutací vložením zakázaného volání; kontrola jen pro testy, že konečné diference se rovnají analytickým řádkům, takže linearizace je známá jako správná, zatímco analytická cesta v estimátoru zůstává nepřítomná; determinismus ověřen bajt po bajtu; vydaný dokument cislunar-observability zafixovaný množinou klíčů, kanonickým otiskem a řádkem shrnutí) |
| Lunární servisní objem ze skutečné, získané geometrie konstelace | Přijímá tabelovanou efemeridu se středem v Měsíci (vyhodnocení jádra SPK/BSP) nebo publikovanou definici konstelace za ephemeris_path, spouští proti ní totožné prohledání pokrytí / DOP / ochranné úrovně a vydává z ní plynoucí požadavek na σ_URE VEDLE nezměněných ilustrativních keplerovských a perturbovaných výsledků, přičemž rozdíl je samostatnou pojmenovanou veličinou. Každý údaj nese třídu původu, která odlišuje odvozené z jádra od odvozeného z publikovaných elementů a od vypočteného z modelu, takže je nelze v následné citaci nikdy zaměnit |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — GEOMETRIE je externí a opatřena hashem: tři fixtury, jejichž čísla pocházejí jen z dokumentů získaných s URL, datem získání a SHA-256, regenerovatelné uloženými generátory, které ověří hash zdroje a při neshodě PŘERUŠÍ běh, místo aby číslo emitovaly — referenční konstelace interoperability LANS (NASA NTRS 20250009447, SHA-256 d1b916be…), případové studie LNCSS (NAVIGATION 70(4) navi.613, CC BY, SHA-256 4e294687…) a skutečná efemerida létajících kosmických lodí LRO, Danuri, Chandrayaan-2 a CAPSTONE vyhodnocená z rekonstruovaných jader JPL přes Horizons. Veřejně NEEXISTUJE žádné jádro lunární navigační konstelace — Moonlight/LCNS, LCRNS a LNSS nelétají a NAIF pro ně nic nepublikuje — a žádné nebylo vymyšleno. ODVOZENÝ požadavek na σ_URE NEMÁ žádné externí orákulum (nikdo nepublikuje přesnost určování vzdálenosti, kterou lunární HPL 50 m nad tímto objemem služby vyžaduje), a proto je kontrolován proti vlastní algebraické identitě a nezávisle tím, že se celé vyšetření spustí znovu při vypočteném požadavku a potvrdí se, že tam dostupnost přeskočí. InternalConsistency je ten poctivý druh: VSTUPNÍ data jsou externí a opatřená hashem, ale veličina, o niž v tomto řádku jde, je ověřena jen sama proti sobě. MEASURED: publikovaný návrh s 8 družicemi potřebuje σ_URE 2,9044 m při pokrytí 100 % oproti 0,3591 m při 37,85 % u ilustrativní konstelace — 8,09násobná revize publikovaného čísla podle programového pravidla R4. Kvalitativní závěr přežívá (třída LNIS 30 m stále neuzavře jihopolární HPL 50 m), ale nedostatek byl osminásobně nadhodnocen. Demo LANS s 5 družicemi dává NULA vzorků ochranné úrovně — pět družic nemůže dát šest viditelných, které množina hypotéz jedné poruchy potřebuje — a pole požadavku je NEPŘÍTOMNÉ, nikoli vymyšlené; totéž platí pro čtyři skutečné kosmické lodě při pokrytí 0 %. 0,30 externí srovnání, zjištění (zůstává MODELLED): proti statistikám případových studií LNCSS z navi.613 v 346 bodech mřížky 4 z 12 statistik dostupnosti leží mimo předregistrované 2 procentní body (případ A: -4.0, +22,5 a -3.6 pp; případ B: -12.1 pp). Pravděpodobné příčiny: prvky čtené ve špatné soustavě, dvoutělesový Kepler během 15 dnů oproti neuvedenému silovému modelu v článku a mřížka nereprodukovatelná z textu. Polovinu PDOP nebylo možné vyhodnotit (LANS netiskne žádnou číselnou statistiku); srovnávací test je uložen jako ignorovaný. 0,30 kolo 2, zjištění (zůstává MODELLED): proti orákulu Orekit 12,2 / Hipparchus 3,1, které počítá celou zprávu (propagace Orekit, viditelnost a DOP z DOPComputer, ochranné úrovně MHSS složené v Hipparchus, požadavek řešený pro každý vzorek; předregistrováno d3ce97b2) na všech pěti získaných geometriích a dvou mřížkách, se 155 ze 160 hodnot shoduje v rámci předregistrovaných prahů (2 pp, 5 %, 1 %), včetně požadavku na sigma_URE pro LNCSS A a C (3,879072208 m na obou stranách pro případ A) a nepřítomného požadavku pro LANS a orbitery. LNCSS B na husté mřížce selhává na statistikách nejhoršího vzorku (sigma_required 0,000923 proti 0,001511 m, hpl_max 1.63e6 proti 0.99e6 m), kde téměř singulární geometrie (PDOP asi 1e6) zesilují shodu polohy na úrovni metrů; jeho požadavek p95 se shoduje (1,6343 proti 1,6357 m). Požadavek nejhoršího vzorku je na degenerované geometrii špatně podmíněný. Proti navi.613: 4 z 12 stále mimo 2 pp (zafixováno) | lunar_ephemeris, lunar_service | lunar_ephemeris::tests (parsování formátu a soustavy; Lagrangeova interpolace přesná v uzlech a na lineární dráze mimo uzel; prvky ICRF procházejí redukcí IAU 2015 a jsou bajtově shodné s explicitním použitím icrf_to_iau_moon; převody pravá↔střední anomálie sedí při průchodu tam a zpět proti přímému řešení Keplera; poškozené soubory odmítnuty s uvedením důvodu). lunar_service::tests (s nenastaveným ephemeris_path jsou množina klíčů zprávy a její SHA-256 zafixovány; řádek Keplerovských prvků se rovná samostatnému Keplerovskému běhu pole po poli; identita σ_required · HPL_max / σ_URE = AL, poté KOMPLETNÍ opětovný běh při vypočteném požadavku dosahující 100 % dostupnosti ochranné úrovně a opětovný běh o 1 % nad ním, který jí nedosáhne; každé emitované číselné pole obou nových bloků procházeno z vyprodukovaného JSON kvůli jednotce a třídě původu; uložené fixtury shodné se zdrojovými tabulkami družici po družici; horizont za koncem tabulky odmítnut); 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 |
| Jednotka a původ deklarované pro každou hlášenou veličinu | Strojově čitelné schéma udávající jednotku, třídu původu a definici každého číselného pole každé zprávy scénáře, plus jediná globální brána, která spouští každý registrovaný druh scénáře a selže, pokud vydanému číselnému poli chybí kterýkoli z nich. Slovník původu je uzavřený a každá třída nese úroveň důkazů, přičemž dvě třídy jsou záměrně mapovány na inherits-scenario-label a depends-on-input, nikoli že by jim byla přiřazena úroveň, kterou třída neurčuje |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Samotný emitovaný dokument: každý číselný list musí odpovídat položce ve vlastním bloku jednotek tohoto dokumentu. Neexistuje žádný externí registr jednotek, proti kterému by šlo zkontrolovat DEKLAROVANOU jednotku, takže deklarovaná jednotka je zkontrolované tvrzení, nikoli ověřené — brána ověřuje ÚPLNOST a SPRÁVNOU STAVBU, nikoli pravdivost, a označení „ověřeno proti nezávislé vnější referenci“ by bylo nesprávné, protože nic externího nepotvrzuje, že m je správná jednotka pro pole pojmenované _m. Nezávislá křížová kontrola podle přípony názvu byla provedena nad 1 434 poli popsanými V TÉ DOBĚ: z 691 polí s příponou nesoucí jednotku 40 nesouhlasí s deklarovanou jednotkou a všech 40 je vysvětleno (přípony za sekundu, minima, apertura-sekundy, newtonmetry proti příponě vypadající jako nanometr), takže se neobjevila žádná chybná jednotka. Tato křížová kontrola od té doby nebyla znovu spuštěna a pokrytí ji překročilo — údaj je ponechán tak, jak byl skutečně změřen, a není přepsán na současný celkový počet. V době této změny (0.27.0) se pokrytí posunulo ze 7 z 56 druhů na 60 z 61 a z 389 z 1354 polí na 1 742 z 1 744 (docs/field-units-schema.json, který kontrola zastarání udržuje aktuální). ŽÁDNÝ druh nezůstává nepokrytý (strop 0, FUT-28, 0,36): posledním byl sweep-nd, jehož dva sloupce jsou klíčovány volajícím, takže jejich jednotky jsou data; nyní jsou popsány jako mixed - see note a jednotka každé pozice se čte z vlastní tabulky jednotek PROCHÁZENÉHO balíčku do key_units a metric_units (nebo se převezme z deklarované unit osy, která se musí shodovat s jednotkou balíčku, pokud existují obě; null, pokud neexistuje žádná, uvedeno místo hádání). cislunar-observability byl ten před ním a vypadl ze seznamu, když jeho vydaný dokument získal blok jednotek: pojistka aditivity, která označovala units za zakázaný klíč, nyní PROKAZUJE, že přidání je aditivní — odstraňte blok zpět a dokument se stále zahashuje na dvě konstanty zmrazené před jeho vznikem, takže vydaná hodnota, která by se pod přidáním pohnula, stále selže. Práce také odhalila dvanáct vad jednotek nebo dokumentace ve stávajícím kódu, které byly nahlášeny, nikoli opraveny podle R1 |
field_schema | tests/field_units_global.rs (spuštěno všech 61 registrovaných druhů, vždy jeden tvar dokumentu: každý číselný list musí odpovídat položce ve vlastním bloku jednotek tohoto dokumentu; poškozená položka se počítá jako chybějící pro KAŽDÝ druh, vyňatý či nikoli, takže zástupný text nekoupí žádné pokrytí; seznam výjimek nesmí překročit svůj zafixovaný strop, uvedený druh, který se ukáže jako plně pokrytý, brány SELŽE, takže seznam nelze nafukovat, a registrovaný druh chybějící v tabulce běhu selže, takže se nový balíček nemůže proklouznout nezkoumaný — což se stalo a zachytilo oba druhy přidané po zahájení této práce; jednosměrná západka na nedodělky popsané, ale nedefinované; a kontrola zastarání uloženého dokumentu schématu); field_schema::tests |
| Geodézie referenční stanice na Měsíci: přidaný retroreflektor a maják VLBI proti pětipolovému datumu | Volitelné vstupy extra_reflectors a extra_beacons ve scénáři lunar-llr-datum přidávají blok station_geodesy: Helmertovu informaci pěti polí z archivovaného výřezu lunárního laserového měření vzdáleností plus informaci, kterou na sedmiparametrové datum vnáší přidaný retroreflektor (měřený v archivovaných epochách normálních bodů, v nichž je měřicí stanice nad svým horizontem, každý s archivovanou váhou onoho normálního bodu) a přidaný maják VLBI (pozorovaný sítí a rozvrhem lunar-frame-campaign při pevných pozemních stanicích, přes parciální derivace zpoždění lunar-vlbi-fim) na stanovených místech; datum je znovu vyřešeno, s 1-sigma každého Helmertova parametru před a po, jejich poměrem, normami před a po a extrémními vlastními čísly Fisherova rozdílu. Pokud chybí nebo je prázdné, zpráva zůstává beze změny | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Pouze vnitřní konzistence: každé přidané místo je samostatný bod a laserové měření vzdálenosti nebo zpoždění VLBI z pevné stanice se dotýká jednoho bodu, takže jeho informace A_p^T M_p A_p je pozitivně semidefinitní a přičítá se; test proti tomu kontroluje rozdíl Fisherovy informace i každý rozptyl. Výsledek pro pět polí je stávající řádek se skutečnými daty a je beze změny. Přidaný reflektor znovu používá epochy naplánované pro pět stávajících polí, což je ILLUSTRATIVE rozvrh, a síť, rozvrh a sigma zpoždění přidaného majáku jsou ILLUSTRATIVE vstupy kampaně lunar-frame-campaign; místo je ILLUSTRATIVE jihopolární poloha. Jihopolární místo vidí Zemi nízko nad obzorem nebo vůbec, což vyjadřují stávající testy elevačního úhlu; žádné z míst není měřeno nepřetržitě. Hodnoty jsou Cramérovy–Raovy meze pro zredukovanou sadu parametrů, nikoli vyřešený datum a nikoli tvrzení o jakékoli skutečné stanici | lunar_llr (nad lunar_frame_campaign::beacon_information, schedule_for a solve_datum_information, lunar_vlbi_fim) | tests/lunar_station_geodesy.rs (empty_or_absent_extra_lists_are_bit_identical: prázdné seznamy a základní příklad dávají výchozí zprávu i shrnutí bajt po bajtu; an_added_site_never_increases_any_variance: nejmenší vlastní číslo H_after - H_before je nezáporné s přesností 1e-9 největšího, každý poměr sigma po/před je nejvýše jedna a obě přidaná místa jsou pozorována; 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 a scenarios/lunar-station-geodesy-with-station.toml (stejný archivovaný rozvrh a stejný blok kampaně VLBI) |
| Integrita brány — zelená, která znamená, co říká | Tři strukturální ochrany nad samotným ověřovacím procesem, z nichž každá uzavírá třídu vad, které se dostaly do kanonické brány jako občasná nebo falešná červená. (1) Každá sestavená cesta k dočasnému souboru ve zdrojích Rustu musí nést složku jedinečnou pro každé volání; id procesu se odmítá, protože cargo spouští knihovní testy jako paralelní vlákna JEDNOHO procesu a pid mají všechna společné. (2) Každý pin bajt po bajtu nebo hashe musí vedle sebe nebo v hlavičce svého modulu deklarovat, co pokrývá a co záměrně vylučuje — aby při průřezové změně bylo na první pohled vidět, které piny jsou v rozsahu a které se tiše staly detektory změn v celém repozitáři. (3) Zelenou lze tvrdit jen z ÚPLNÉ sady: scripts/gate.sh spouští cargo test --all, zachytí skutečný návratový kód bez roury v cestě a zapíše potvrzenku s uvedením commitu, počtu integračních binárek, počtu testů a doby trvání; kontrola před pushem odmítne push, jehož commit nejmenuje žádná platná potvrzenka, na čistém stromě. Opakovatelnost se vzorkuje samostatně skriptem scripts/check-repeatability.sh, který spustí knihovní sadu N-krát a selže, pokud se množina prošlých testů liší. |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Uzavřený tvar: každá pojistka se spouští nad pevným známým chybným úryvkem, který musí zareagovat, a pevným známým správným úryvkem, který musí zůstat tichý, oba jsou doslovné konstanty, které detektor nemůže ovlivnit. Oba známé chybné úryvky jsou vady F22 a F25 v původní podobě. Jde o VNITŘNÍ orákulum a řádek je tomu odpovídajícím způsobem MODELLED: dokazuje, že pojistky odlišují vadu od její opravy, nikoli že třídy, které popisují, jsou vyčerpávající. Jejich uvedená slepá místa — sdílený stav, který není cestou, zafixovaná hodnota uložená v krátké pojmenované konstantě, vzácný souběh, který tři běhy nevzorkují, a stvrzenka, kterou může padělat každý, kdo umí zapsat soubor — jsou rozepsána v dokumentaci modulu tests/source_guards.rs a v záhlaví každého skriptu, místo aby se na ně přicházelo až později. | scripts/gate.sh, scripts/check-gate-receipt.sh, scripts/check-repeatability.sh, scripts/install-gate-hook.sh | tests/source_guards.rs (9 testů: obě pojistky nad celým zdrojovým stromem a mutační fixtury, které hodnotí každou pojistku v obou směrech — vzor F22 nahlášen na obou kolidujících cestách, dodaná oprava s atomickou posloupností přijata, poloviční oprava nahlášena přesně na cestě, která ztratila svou jedinečnou složku, přijat popisovač dočasného souboru a zděděný jedinečný adresář, odmítnut nástěnný čas; nedeklarovaná zafixovaná hodnota nahlášena, deklarovaná přijata, rozsah bez výjimky odmítnut, deklarace v dokumentačním komentáři nadřazeného testu přijata a ukázáno, že nepřeteče do dalšího testu; a každý zápis zafixované hodnoty — hex, desítkový, řetězec digestu, délka v bajtech, pojmenovaný počet bajtů, golden soubor — je zaznamenán, zatímco konstanty algoritmů, seedy generátoru náhodných čísel a drobné kontroly mohutnosti nikoli) |
| Složená PL časování — přečkání holdoveru se semínkem P0 | PL(τ)=max(TPL_handover,HPL(τ)); zdola polospojitá PL(0+)≥PL(0−); K(IR/2) klouzavé maximum; exponenty fáze τ/τ³/τ⁵ | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Testy vlastností (monotonie, žádný pokles při předání) + lint exponentů proti holdover::coast_phase_variance | src/integrity/composed_pl.rs | integrity::composed_pl::tests (monotónnost, podlaha P0, K(IR/2), exponenty, dolní polospojitost) |
| Složená PL časování — obálka LIL téměř jistě (nemožnost + konzistence) | Žádný konečný holdover v nejhorším případě (Brownovo supremum diverguje); HPL s přidělením IR konzistentní s obálkou Hartmanovou-Wintnerovou pro IR→0 | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Identita obálky v uzavřeném tvaru téměř jistě √(2Dt·lnln t) + kontrola dominance HPL; šev nemožnosti Baweja arXiv:2606,24210 | src/integrity/lil_envelope.rs | integrity::lil_envelope::tests (divergence, práh, dominance zpřísnění IR) |
| Nadhraniční mez integrity pro heterogenní bias dohledatelnosti UTC(k) | Nadhraniční mez biasu pro každý zdroj b = (U/k_cov)·Phi^-1(1-tail/2) + stárnutí, která nafukuje publikovanou rozšířenou nejistotu typu B na přidělený chvost integrity; navazuje na tpl_scalar jako bias_s | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Nezávislá reprodukce uzavřeného tvaru nadhraničení (overbound) v numpy a stdlib-statistics (InternalConsistency). Řada BIPM Circular-T [UTC-UTC(USNO)] je pouze CITOVANÝ vstup — je to TÁŽ řada, která je již ověřená pro řádek pokrytí holdoveru R4, a NENÍ zde znovu ověřována; reprodukce jejích hodnot nedokazuje nic o R2. Hluboký chvost integrity je modelovaný (vypočtený z modelu). 0,30 externí srovnání, zjištění (zůstává MODELLED): na souborech BIPM UTC-UTC(k) pro jednotlivé laboratoře (102 laboratoří, 105 024 řádků s publikovanými nejistotami) je nadhraničení b = 2,576 u v chvostu 1e-2 překročeno u 50,8 % řádků (Clopper-Pearson 95 %: 50,4 až 51,1 %) a o více než 1 % u 101 ze 102 laboratoří. Publikované u je nejistota určení UTC-UTC(k) ze strany BIPM, nikoli mez offsetu, který běžně dosahuje mnohonásobku u; nadhraničení v uvedené podobě neomezuje skutečné vychýlení návaznosti UTC(k). 0,30 kolo 2, nadhraničení realizovaných offsetů UTC-UTC(k) natrénované na datech BIPM Circular T z let 2015-2022 a testované na datech z let 2023-2026 (předregistrováno ca0921a4, souhrnné překročení nejvýše 1e-2), zjištění (zůstává MODELLED): souhrnné překročení je 0,0333 (694 z 20 826 řádků přes 82 laboratoří; 0,0127 bez 430 řádků, které podle pravidla nemají žádnou mez). D9 kolo 3, souhrnná hierarchická mez stárnutí (utck_bound), předregistrováno fb475550 a prospektivně hodnoceno na vydáních Circular T od 465: dosud nespuštěno (vydání 465 bylo zveřejněno 2026-10-12 s přibližně 285 testovacími hodnotami; předregistrované pravidlo 1000 hodnot vyžaduje vydání zhruba do 468 a běh potřebuje archivované soubory jednotlivých laboratoří ze dne 2026-09-30, protože BIPM od té doby přepsal 87 ze 113) | 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 (podmíněno daty: s hlášením se přeskočí, pokud řada BIPM chybí); tests/hetero_budget_utc_k_realised_overbound_oracle.rs::realised_offset_overbound_finding; tests/utck_bound_prospective_oracle.rs (D9 kolo 3, prospektivní, dosud nespuštěno: Circular T 465 vyšel 2026-10-12 a předregistrované pravidlo 1000 hodnot vyžaduje vydání zhruba do 468) |
| Korelovaná kovariance mezi biasy dohledatelnosti (přidělení nebezpečné při společném módu) | Křížová kovariance biasů N×N s mimodiagonálními prvky rho·b_i·b_j pro zdroje sdílející realizátora UTC(k); DOKÁZÁNO correlated_fused_bias >= independent_fused_bias (naivní nezávislé přidělení podhodnocuje sloučený bias -> optimistické -> nebezpečné) | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Nezávislá reprodukce kroskovariance v numpy a nerovnosti korelovaného vs. nezávislého fúzovaného vychýlení (InternalConsistency). Reprezentativní sada zdrojů; modelovaný scénář. | 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 |
| Statistika konzistence společného módu (porucha sdílené reference slepá vůči separaci) | Skórová statistika (1^T Omega^-1 r)^2/(1^T Omega^-1 1) ~ chi^2_1 pro posun společného módu, který separace řešení (kontrasty ortogonální k 1) nevidí; posun společného módu ji zvětšuje, zatímco párové separace zůstávají ploché | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Nezávislá reprodukce statistiky v numpy + test vlastnosti, že ji vstřik společného módu zvyšuje (InternalConsistency). Modelovaný scénář. 0,30 kolo 2 (předregistrováno f9aa360d), zablokováno (zůstává MODELLED): numpy 2.3.5 LAPACK gesv reprodukuje hodnotu statistiky na 261 uložených případech (v rámci 3.5e-15 při dobré podmíněnosti, 1.2e-9 při podmíněnosti až 6.1e7); nulové rozdělení chí-kvadrát(1) je citovaná věta a ploché párové separace identita, u nichž není co porovnat s výstupem enginu, takže vymezení čeká na rozhodnutí vlastníka | 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 |
| Klasifikace nulového prostoru lunárního datumu (aditivita hodnosti LLR + zvednutí defektu librací) | Klasifikace problému datumu vnitřního měření vzdálenosti: jediné pozorování vzdálenosti přispívá hodností 1 (6rozměrný nulový prostor); dvojice počátek-X a měřítko je téměř nulová a fyzikální librace DE440 sníží defekt na nulu, zatímco dvojice zůstává téměř degenerovaná | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Geometrická struktura reprodukovaná enginem plus identita Schurova doplňku 2x2 v uzavřeném tvaru; konzistentní ve STRUKTUŘE se Sosnica et al. 2025 (arXiv:2510,15484), jehož uváděné velikosti zde NEJSOU reprodukovány. Klasifikace je strukturální; velikosti korelací/CRLB při skutečné geometrii jsou MODELLED (souřadnice a orientace reflektorů jsou drženy pevně). 0,30 externí srovnání, zjištění (zůstává MODELLED): proti Sosnica et al. 2025 je rozsahová Fisherova korelace počátek–měřítko (-0.993 / -0.988) v rámci 0,05 publikovaných -0.97, ale na vlastní pětireflektorové geometrii článku je korelace 7parametrického Helmertova modelu s rovnými vahami -0.78 (publikovaná hodnota se opírá o chyby jednotlivých reflektorů, které článek netiskne) a CRLB počátku (0,6 až 1,2 mm při šumu vzdálenosti 3 mm) je o 96 až 98 % pod 3,07 cm z článku při toleranci 20 %. Velikosti nereprodukovány | 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 |
| Informace o lunárním datumu z více technik (LLR + lunární VLBI + vzdálenost orbiteru) | Řádky jakobiánu datumu pro měření vzdálenosti LLR od Země k odražeči, diferenciální zpoždění dvou stanic lunárního VLBI a vzdálenost orbiteru k majáku nad 7parametrickým datumem, sloučené do jedné konzistentně předpodmíněné Fisherovy informace; dokládá, že tracking mimo radiálu (orbiter / hloubkově různorodý) prolamuje degeneraci mezi počátkem X a měřítkem, zatímco příčné VLBI pomáhá jen nepřímo | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Křížové kontroly analytických parciálních derivací každé techniky proti konečným diferencím (vnitřní); SMĚR zlepšení je geometrický fakt. Polohy majáků, rozvrhy a šum jsou MODELLED/reprezentativní (viz tests/fixtures/llr_geometry/NOTICE.md). | lunar_datum, lunar_identifiability | lunar_datum::tests (analytické parciální derivace LLR/VLBI/orbiteru proti konečným diferencím); lunar_identifiability::tests (adding_an_offradial_technique_collapses_the_origin_scale_degeneracy; transverse-vs-radial via crlb_diag) |
| Geometrický substrát lunárního datumu LLR (reflektory v hlavních osách, pozemní stanice, analytické parciální derivace vzdálenosti) | Pět odražečových polí na přivrácené straně v metrech v tělesové soustavě PA a pozemní stanice LLR v geodetických souřadnicích; umístění odražečů z tělesové do inerciální soustavy přes orientaci PA z DE440; analytické parciální derivace vzdálenosti Země–odražeč podle 4parametrického datumu; a Fisherova matice pouze z LLR, vykazující degeneraci lunocentrum-X a měřítko, která motivuje analýzu se 7 parametry | ExternalDataset | dílčí tvrzení je externě zkontrolováno, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Výpočet je zkontrolován vnitřně: každá analytická parciální derivace proti konečné diferenci a případ nulového datumu proti nominální vzdálenosti. KATALOG je zkontrolován externě a nezávisle - souřadnice hlavních os DE440 (Park et al. 2021, tests/fixtures/llr_geometry/de440_retroreflectors_pa.csv) jsou křížově zkontrolovány proti tabulce 6 memoranda o povrchových souřadnicích DE430 (tests/fixtures/lunar_llr/de430_retroreflectors_pa.csv, strojově extrahováno z PDF ověřeného pomocí SHA-256 skriptem tests/fixtures/lunar_llr/generate_de430_retroreflectors_pa.py) a shodují se na 1,12 m, zatímco realizace téhož pětice polí v soustavě střední Země se liší o 672 až 871 m. STRUKTURA DEGENERACE je zkontrolována proti publikovanému výsledku: Sosnica et al. 2025, 'Definition and Realization of the International Lunar Reference Frame', arXiv:2510,15484, který pro lunární soustavu hlavních os uvádí korelační koeficient lunocentrum-X ku měřítku r = -0.97 a že LLR kvůli této korelaci nedosahuje skutečného těžiště Měsíce s přesností lepší než 12 cm. Tento modul obnovuje stejnou strukturu (|corr(t_x, scale)| mezi 0,9 a 0,9999, defekt datumu <= 1) z návrhu Fisherovy informace jen z LLR. Potvrzení je napříč efemeridami, nikoli průchod tam a zpět: článek kombinuje INPOP21a, DE430 a EPM2021, zatímco tento modul je poháněn librací DE440. Co NENÍ reprodukováno, je velikost - korelace zde je asi -0.988 oproti jejich -0.97 a 4parametrické CRLB je submilimetrové oproti jejich dosaženému minimu 12 cm, protože orientace a souřadnice reflektorů jsou zde drženy pevně a tam odhadovány. Pouze geometrie a struktura degenerace; žádné tvrzení o přesnosti vyřešeného datumu. 0,30 externí srovnání: části tohoto modulu s měřenou vzdáleností (reflectors(), stations_itrf(), umístění PA z DE440 a barycentrický světelný čas llr_bcrs_one_way_m) jsou ověřeny ve vlastním řádku, model měřené vzdálenosti LLR, proti 192 normálním bodům ILRS (RMS 2,81 m proti 10 m). Tento řádek zůstává MODELLED, protože měřené srovnání nezkouší zbytek jeho tvrzení. Katalog geodetických stanic stations() zaokrouhluje APOLLO na 0,001 deg; s geocentrickým světelným časem dává 22,7 m na týchž bodech (test reflector_ranges_against_ilrs_normal_points; 96 m při dřívější prvkové interpolaci orientace). Analytické parciální derivace vzdálenosti a Fisherova informace jen z LLR se počítají přes llr_range_m a reflector_inertial s analytickou řadou Měsíce (ephem::moon_position, asi 0,3 deg od GCRS) a bez světelného času | 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 |
| Degenerace vzdálenosti vůči offsetu hodin při jednosměrném lunárním měření vzdálenosti a návrhový zákon geometrické diverzity | Degenerace radiální vzdálenosti vůči offsetu hodin přijímače na uzel je přesná při 1 m na 3,336 ns (jedna ku c). Schurova doplňková marginála {scale, offset} (coupled_marginal_fisher) ukazuje, že v geometricky diverzní síti dvoucestné měření vzdálenosti zvedá marginálu zhruba o stejný činitel jako stejný počet dodatečných jednosměrných dat, zatímco v idealizovaném režimu jediného uzlu je dvoucestný zdvih o řády větší. Z toho plynoucí návrhový zákon: geometrická diverzita, nikoli dvoucestné měření vzdálenosti jako takové, je to, co při jednosměrném měření vzdálenosti odděluje měřítko lunární soustavy od offsetu časové škály; dvoucestná nebo externí časová vazba je nutná jen v režimu nízké diverzity nebo jediného uživatele. | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Schurův doplněk marginální Fisherovy informace spřažené informační matice, v lineární algebře v uzavřeném tvaru, zkontrolovaný proti dvěma limitním režimům, které předpovídá. Ekvivalence 1 m s 3,336 ns je definice metru pomocí c a není empirickým výsledkem. Pozorovací sítě jsou reprezentativní modelovaná geometrie, takže zákon návrhu je tvrzením o geometrii, která mu je předložena, a neobsahuje žádné tvrzení o žádné provozované lunární síti. | 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) |
| Reprezentativní nabídka vícetechnikových měření a aditivní Fisherovo kombinační pravidlo | MeasurementBlock drží jednu kandidátní měřicí kampaň jako příspěvek Fisherovy informace 7x7 plus skalární relativní náklady; block_from_rows jej sestaví ze surových řádků Jakobiánu datumu, takže každý blok je předpodmíněn stejně přes lunar_identifiability::assemble_multi_info; combine sčítá informaci vybrané podmnožiny, což je správné pravidlo, protože Fisherova informace je aditivní napříč nezávislými měřeními; representative_lunar_menu dodává deterministickou nabídku čtyř bloků (LLR, příčný limbový maják VLBI, orbiter na přivrácené straně a orbiter na odvrácené straně). Optimalizátor návrhu s rozpočtovým omezením, který tuto nabídku spotřebovává, není součástí tohoto crate. | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Aditivita Fisherovy informace napříč nezávislými měřeními je vlastnost v uzavřeném tvaru, zde zkontrolovaná proti nezávisle napsanému součtu po prvcích a proti invarianci vůči pořadí a monotonii, které z ní plynou. POZNÁMKA K DŮKAZŮM: kombinátor dříve neměl vůbec žádný test a jediný test v modulu sčítal dvě informační matice přímo, místo aby ho volal, takže by rozbitý kombinátor nechal modul zelený; test nyní prochází přes combine a při jeho mutaci selže. Všechny polohy majáků, geometrie orbiteru, přesnosti jednotlivých technik a relativní náklady jsou reprezentativní volby, nikoli hodnoty mise (viz tests/fixtures/llr_geometry/NOTICE.md), takže každá metrika degenerace a údaj CRLB získaný přes tuto nabídku dědí modelovaný status lunar_identifiability::decompose. | lunar_techniques | lunar_techniques::tests (combine_is_additive_order_independent_and_empty_is_zero - prázdný výběr dává nulovou matici, jediný výběr je identita, dvojice se rovná nezávisle napsanému součtu po prvcích a výsledek je invariantní vůči pořadí výběru; adding_a_block_never_reduces_the_degeneracy_metric - monotonie při přidané informaci; radial_diversity_beats_transverse_for_breaking_the_degeneracy - blok orbiteru na odvrácené straně zvyšuje metriku degenerace více než příčný blok VLBI) |
| Tolerance konzistence napříč poskytovateli pro uživatele s více poskytovateli | consistency_tolerance: obrací rozpočet polohy uživatele na požadavek shody Helmerta mezi poskytovateli pro každý parametr (počátek/měřítko/rotace) při referenčním rameni páky, volitelně nafouknutý CRLB realizace jediného poskytovatele P1 | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Mez trojúhelníkové nerovnosti v nejhorším případě pro působení Helmertova bodového jakobiánu (uzavřený tvar) | lunar_interop_budget | lunar_interop_budget::tests (monotonie v rozpočtu; redukce rozpočtu RSS při CRLB na poskytovatele; vypracovaná tolerance rotace při lunárním rameni páky; určující člen = rotace) |
| Rozpočet chyb lunární interoperability více poskytovatelů a návrhový zákon soustava vs. efemerida | interop_budget: rozdělení na redukovatelné (společné navázání soustavy) a neredukovatelné (dynamika) podle konvencí PerProvider / CommonFrameTie / CommonEphemeris, s metrikou návrhového zákona neredukovatelného podílu (~0,69 na skutečných DE440/INPOP/EPM: samotný společný štítek soustavy ponechává dominantní dno) | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Agregace RMS ověřených rozdělení po dvojicích podle každé konvence (uzavřený tvar) | lunar_interop_budget | lunar_interop_budget::tests (CommonEphemeris vynuluje rozpočet; CommonFrameTie < PerProvider; irreducible_fraction > 0,5 na skutečných rozděleních; pořadí konvencí) |
| Byzantská mez detekce/identifikace z blokového sparku na autonomní lunární síti s uzly (T3) | byzantine_bound instanciuje kódovací mez / mez řídké pozorovatelnosti pro bezpečný odhad stavu na geometrii sítě s uzly: byzantský peer vkládá libovolnou lineární kombinaci měření, kterých se účastní, a síť DETEKUJE každou koalici ≤ f = block_spark − 1 peerů a jednoznačně IDENTIFIKUJE každou koalici ≤ ⌊(block_spark − 1)/2⌋, kde block_spark je nejmenší koalice peerů, jejíž naskládané efektivní signatury P⊥·B_T mají sloupcově deficitní hodnost. Detekovatelnost peera je PLNÁ SLOUPCOVÁ HODNOST P⊥·B_j (nenulový, ale hodnostně deficitní blok je nenulový útok, který dopadne do range(G) a nezanechá žádné rezíduum), nikoli pouze P⊥·B_j ≠ 0 | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Geometrická instance blokové meze spark / secure-state-estimation (Fawzi–Tabuada–Diggavi 2014; Shoukry–Tabuada 2016; blokový spark Donoho–Elad 2003; Candès–Tao 2005) — NEJDE o konsenzuální práh 3f+1 Lamport–Shostak–Pease ('Byzantine' pojmenovává pouze MODEL libovolné/spolčené poruchy). Konkrétní počet tolerovaných poruch je modelovaná vlastnost reprezentativní geometrie sítě, zkontrolovaná na vnitřní soulad ručně sestrojenými analytickými případy a vzorci pro počty | lunar_faultobs | lunar_faultobs::tests — byzantine_c3_rank_deficient_but_nonzero_is_undetectable (nenulový, ale hodnostně deficitní blok ⇒ block_spark 1, f_detect 0; nezávislé sloupce ⇒ block_spark 2, f_detect 1), byzantine_real_network_uniform_bias_is_clock_offset (partner vlastnící všechna měření uzlu = chyba offsetu hodin ∈ range(G), nedetekovatelná, s jasnou spektrální mezerou Gramovy matice), byzantine_redundant_net_identifies_at_least_one (šest nezávislých partnerů s jediným měřením ⇒ block_spark 7, f_identify 3), byzantine_analytic_spark_identity_projector + byzantine_detect_identify_relations (ruční případy P⊥ = I zafixují f_detect = block_spark − 1, f_identify = ⌊(block_spark − 1)/2⌋) |
| Dolní mez časového gauge pro autonomní holdover u sebereferenční lunární konstelace (T4) | holdover_floor stanoví, že v souboru autonomních uzlů propojených pouze měřeními mezi uzly je společná rychlost hodin (δα_j += 1 ∀j) volným parametrem časové stupnice souboru ležícím v N(GᵀWG): žádné další měření vzdálenosti mezi uzly ji nemůže pozorovat (rate_in_gauge = true, temporal_gauge_dim = 2 se společným posunem). To je skutečná dolní mez holdoveru, časový protějšek polohového gauge tuhé soustavy. Přidání jedné vnější vazby na absolutní rychlost (přímý spoj na referenci mimo síť) vyhodí společnou rychlost z nulového prostoru (rate_in_gauge = false, temporal_gauge_dim = 1), čímž se dokazuje, že dolní mez je skutečný gauge, nikoli artefakt modelu oscilátoru | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Argument volného parametru ensemble-time (Percival 1978; Lewandowski & Thomas 1991) použitý na reprezentativní reálnou síť DE440 po uzlech: nulový test relativního rezidua analytického generátoru společné rychlosti proti GᵀWG, kde kontrast s rozbitou shodou odlišuje skutečný gauge od artefaktu modelu oscilátoru. Reprezentativní modelovaná geometrie, nikoli certifikovaný časový rozpočet | lunar_faultobs | lunar_faultobs::tests — holdover_floor_self_ref_and_anchored (samoreferenční síť: společná rychlost leží v N(GᵀWG), temporal_gauge_dim 2; po jednom externím řádku vazby rychlosti: rychlost vypuzena z gauge, temporal_gauge_dim 1 se zachovaným společným offsetem) |
| Rozdělení poskytovatelů na společnou/diferenciální část, sjednocení jedné hodnostní deficience a sklon mezery v ochraně (T5 / §0 / g7) | Tři stránky jediného rozkladu ℝ^{state_dim} = N(GᵀWG) ⊕ range(GᵀWG) s 8rozměrným gauge datum⊕časová stupnice jako N(G) a state_dim − 8 = 32 pozorovatelnými směry jako range(G): (T5) provider_mismatch_split klasifikuje společný bias více poskytovatelů (∈ range(G)) jako NEDETEKOVATELNÝ, vyžadující vnější vazbu, a diferenciální bias (∉ range(G)) jako samomonitorovaný / DETEKOVATELNÝ; (§0) sjednocení spočívá v tom, že TENTÝŽ slepý podprostor range(G) řídí nedetekovatelnou třídu poruch, takže gauge datumu N(G) a podprostor slepý vůči poruchám range(G) jsou jedna geometrie, nikoli dvě; (g7) slope vrací Brownův sklon mezery v ochraně ‖Π_obs Δx̂‖ / ‖P⊥b‖_W → ∞ pro poruchu b ∈ range(G) (odhad poškozen s nulovou paritou) a konečný pro detekovatelnou poruchu | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Algebra paritního projektoru / pseudoinverze v uzavřeném tvaru na reprezentativní reálné síti DE440 po uzlech: rozdělení na společnou/diferenciální složku, sjednocení N(G) ⊕ range(G) a sklon mezery ochrany podle Browna (1992) všechno plyne z anihilace vzdálenosti P⊥·G = 0. Reprezentativní modelovaná geometrie, nikoli certifikovaná ochranná úroveň | lunar_faultobs | lunar_faultobs::tests — provider_mismatch_split_common_undetectable_differential_detectable (společné vychýlení nedetekovatelné, diferenciální detekovatelné), slope_infinity_in_range_finite_detectable (g7: sklon ∞ pro b ∈ range(G), konečný pro b ∉ range(G)), pernode_rank_is_state_dim_minus_eight (§0: rank(GᵀWG) = state_dim − 8, 8rozměrný gauge je celý nulový prostor se spektrální mezerou >1e6) |
| Telekomunikační synchronizační masky ITU-T s PASS/FAIL a rezervou | Přepsané meze ITU-T G.8272 (07/2025) PRTC-A/B, G.8272.1 (2024) Amd. 1 (07/2025) ePRTC v zachyceném stavu a holdover ePRTC-A (včetně obálky časové chyby z tabulky 3), G.8273.2 (2023) Amd. 2 (11/2025) třídy T-BC/T-TSC A–D a G.8271.1 (2022) Amd. 3 (05/2025) referenční bod C, každý otevřený nebo uzavřený interval tak, jak jej tabulka uvádí, s vynecháním každé položky „for further study“; verdikt a rezerva v rozhodujícím bodě pro každou kontrolu a čas do překročení každého rozpočtu. Spustitelné jako druh scénáře telecom-timing |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Přepis jmenovaných doporučení (volně ke stažení z itu.int), každý limit nese svou tabulku či článek a je uveden s každou nepotvrzenou nebo neimplementovanou položkou v docs/TELECOM-TIMING.md; identity spojitosti v bodech zlomu, které tabulky implikují, jsou zkontrolovány v testech. Přepis norem s kontrolami vnitřní konzistence, nikoli test shody a nikoli externí validace. 0,30 kolo 2 (předregistrováno 970003ee), zablokováno (zůstává MODELLED): deset hodnot masek a třináct hodnot holdoveru ePRTC-A, které doporučení tisknou jako vypracovaná čísla (G.8272 obr. 1-2, G.8272.1 Amd.1 čl. 8.2.1 a obr. V.1-V.3, G.8271.1 Amd.3 obr. 7-2 až 7-4), je reprodukováno v rámci poloviny tištěné jednotky, většinou jde o konstanty tabulek nebo body zlomu; G.8271.1 obr. 7-2 označuje 200 ns při 1,3 s proti vlastní tabulce 7-1 (197,5 ns). Limity tříd A-D podle G.8273.2 nemají žádnou tištěnou vypracovanou hodnotu a popisky bodů zlomu uzamčeného ePRTC podle G.8272.1 (na plných konstrukčních čarách) byly vyloučeny předregistrovaným výběrovým pravidlem, takže zůstávají přepisy | telecom_timing (MASKS, eprtc_a_holdover_limit_ns, check_curve, check_mask) | telecom_timing::tests (mask_boundaries_follow_the_tables_exactly — otevřené i uzavřené konce, mezera τ = 400 s v G.8271.1 tabulce 7-3, spojitost v každém bodě zlomu, který tabulky implikují; 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) |
| Masky generování wanderu pro frekvenční synchronizaci ITU-T (G.811, G.812, G.8262, G.8262.1) | Sedm masek generování wanderu MTIE a TDEV při konstantní teplotě pro druh telecom-timing: G.811 (09/1997) PRC (autonomní), G.812 (06/2004) typy I, II a III, G.8262 (10/2024) EEC možnosti 1 a 2 a G.8262.1 (11/2025) eEEC (zachycený režim), včetně částí s mocninným zákonem, které tabulky zapisují (8 τ^0.5 a podobně), každý interval otevřený nebo uzavřený tak, jak je vytištěn, měřený přes filtr 10 Hz, který články uvádějí (bráno jako použité před vzorkováním); referenční scénář scenarios/telecom-synce-eec.toml staví volně běžící OCXO proti třem maskám EEC. Neimplementováno: příspěvky při proměnné teplotě, holdover, přechodové jevy, jitter a přesnost frekvence podle G.811 |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Přepis jmenovaných doporučení (staženo z itu.int dne 2026-10-13), každý řádek znovu přečten proti textu, přičemž spojitost v bodech zlomu, kterou tištěné koeficienty implikují, je v testech omezena (například 40 · 10^0,4 = 100,48 ns proti plató 100 ns v G.812 tabulce 4). Přepis norem s kontrolami vnitřní konzistence, nikoli test shody a nikoli externí validace. G.812 (06/2004) je uvedena jako nahrazená předpublikovaným vydáním 08/2026 a G.811 má Amd. 1 (04/2016); ani jedno nebylo možné přečíst, takže ani jedno není zkontrolováno. Scénář volně běžícího OCXO nadhodnocuje příspěvek oscilátoru při pozorovacích intervalech dlouhých vůči časové konstantě smyčky; o hodinách žádného zařízení neříká nic | 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) |
| Formáty záznamů hodin (hodiny RINEX, ASCII TimeLab, TAPR TICC) načtené do normalizované fázové řady | clock_log::read_input: jedna vrstva parseru, která mění soubor hodin RINEX (záznamy AS/AR jedněch pojmenovaných hodin, verze 2 a 3,00 až 3,04), záznam fáze nebo frekvence ve stylu ASCII TimeLab nebo záznam časových značek či intervalů TAPR TICC na jednotnou fázovou mřížku s uvedeným tau0, z hlavičky, nebo s mediánem rozestupu, přičemž se počítá každá mezera, údaj mimo mřížku i duplicita, s politikou mezer odmítnout, nejdelší souvislý úsek, nebo lineární; zapojeno dobrovolně do řady telecom-timing ([series.clock_log], s přidáním bloku clock_log) a do druhu clock ([clock_log], s přidáním bloku measured s ADEV, TDEV a MTIE, SHA-256 tabulky a SHA-256 fáze; runs = 1). Bez tabulky jsou oba druhy bajt po bajtu totožné |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Předregistrováno v tests/fixtures/clock_log/PREREGISTRATION.md (uloženo samostatně, 159334f2, dříve než existovala fixtura); zaznamenáno v RESULTS.md. Tři syntetické logy s pevným seedem, jeden pro každý formát (mezera tří epoch u TICC, druhé hodiny RINEX, které se mají ignorovat), načtené zpět nezávislým čtečem napsaným podle docs/CLOCK-LOG-FORMATS.md týmž autorem: počty bodů mřížky, mezer a doplnění se rovnají a největší rozdíl fáze je 0 s (práh 1e-13 s). allantools 2024,6 oadev, tdev a mtie na této fázi se shodují v rámci relativních 2.5e-14 (práh 1e-10) při každém faktoru průměrování, který vyhodnocuje; MTIE přes celý záznam, které engine uvádí, nevyhodnocuje, takže tento jeden bod na log nemá hodnotu orákula a práh v podobě, v jaké je formulován, tam není splněn. MODELLED: syntetické logy a orákulum čtečky sdílí autora; skutečné soubory hodin TimeLab, TICC a RINEX z přístrojů nebyly porovnány | clock_log (read_input, MeasuredPhaseReport, MEASURED_UNITS, TELECOM_LOG_UNITS); telecom_timing (SeriesInput::clock_log); api (druh clock [clock_log]) | clock_log::tests (ručně psané logy pro každý formát: záhlaví, oddělovače, jednotky, integrace frekvence, kanály a režimy TICC, mezery a politiky, odmítnutí); tests/clock_log_allantools.rs (předregistrované srovnání: 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) |
| Formáty záznamů hodin linuxptp (ptp4l, phc2sys, ts2phc) a chrony (tracking, statistics) načtené do normalizované fázové řady | clock_log::read_input s formáty ptp4l, phc2sys, ts2phc, chrony-tracking a chrony-statistics: zaznamenaný offset řádku serva linuxptp (ns, vlastní časová značka řádku v hranatých závorkách, údaje před prvním hlášením s2 ze serva vynechány a započítány) nebo záznamu chrony tracking či statistics (s, podle pozice sloupce, datum a čas UTC) se stává jednotnou fázovou mřížkou přes tytéž politiky mezer jako ostatní formáty; volič zdroje (clock) pojmenuje jedno z několika rozhraní, hodin nebo adres; záznamy vstupují do řady telecom-timing, druhu clock a druhu holdover-test |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Fixtury napsané pro Kshana podle veřejných řádkových rozvržení démonů, s vymyšlenými hodnotami (NOTICE.md ve složce fixtur); nebyl přečten žádný log ze skutečné instalace a žádné orákulum neporovnává parsování s jiným čtečem, takže rozvržení lišící se mezi verzemi démonů může být stále odmítnuto nebo špatně přečteno. Estimátory napájené fázovou řadou jsou ty, které byly v řádcích výše ověřeny proti allantools | 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) na fixturách v tests/fixtures/clock_log/linuxptp_chrony/ |
| Test holdoveru vyhodnocený ze záznamu časové chyby dodaného operátorem | Druh holdover-test: záznam časové chyby (záznam hodin linuxptp, chrony, TICC, TimeLab nebo RINEX, nebo dvojice time_s,time_error_ns) se rozdělí ve dvou časech, které operátor uvede pro odebrání a obnovení GNSS, na krok základní linie, holdoveru a zotavení; základní linie se měří proti maskám ITU-T psaným pro zachycené hodiny a holdover proti těm psaným pro holdover nebo autonomní hodiny, obálce holdoveru ePRTC-A a rozpočtům časové chyby; holdover uvádí frekvenční offset podle nejmenších čtverců, který systém držel, a zotavení uvádí, zda a kdy |TE| vešla do uvedeného pásma a zůstala v něm po uvedenou prodlevu, s maximem a největším skokem. Každá mez je ta, kterou druh telecom-timing přepisuje; oba časy jsou prohlášením operátora a neověřují se |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Ruční výpočet na záznamech sestavených ze vzorců, jejichž sklon, skok, extrém a doba zotavení jsou známé před během (testy je uvádějí), a masky, obálka a rozpočty řádků telecom-timing výše. Nebylo hodnoceno žádné laboratorní měření skutečného holdoveru a nebylo porovnáváno žádné externí orákulum, takže tento druh nečiní žádné tvrzení o žádných hodinách ani systému; než by mohl být povýšen jakýkoli údaj pro třídu hodin, je zapotřebí partner z časové laboratoře | 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) |
| Dostupnost signálů GNSS v prostoru služby pro kosmické prostředky (Space Service Volume) a za ním, porovnaná s brožurou ICG SSV | Průchody dostupností druhu gnss-ssv: pro každou konstelaci (GPS, GLONASS, Galileo, BDS, QZSS, NavIC) i kombinovaně podíl dvojic (uživatel, epocha) s alespoň jedním a alespoň čtyřmi signály a nejdelší výpadek, pro uživatele na kouli (globální skořepina brožury o 2 562 bodech, 14 dní po 1 minutě) nebo na trajektorii (GEO, HEO, lunární přechod), z keplerovských drah z přílohy C brožury, konstantní minimální vyzářený výkon uvnitř referenčního úhlu mimo osu, zastínění Zemí koulí plus 50 km a práh C/N0; antény uživatelů z tabulky B10 brožury |
ExternalDataset | dílčí tvrzení je externě zkontrolováno, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Příručka ICG Space Service Volume (UN OOSA ST/SPACE/75, 2018), sama simulace, porovnaná podle předregistrace uložené před během (xval/gnss-ssv/PREREGISTRATION.md; výsledky v xval/gnss-ssv/RESULTS.md, zafixované v tests/ssv_booklet_results.rs, včetně nezdarů). Běh 1 podle předregistrovaného čtení: konstanty minimálního vyzářeného výkonu a lunární práh se shodují (S0, S6 splněny); prahy horního a dolního SSV, RF prahu, GEO a HEO jsou NOT MET, téměř všechny kvůli GLONASS, pro který příručka uvádí 20 a 28 stupňů v tabulkách B2 a B6 a 26 a 34 stupňů v tabulce 4,2. Diagnostická varianta s úhly z tabulky 4,2 se shoduje v každé buňce horního SSV, dolního SSV a šesti misí GEO (nenahrazuje běh 1; buňky RF, HEO a lunární stále selhávají). Naměřené vzory panelu GPS L1 parametrická náhrada nereprodukuje (RMS 6 až 9 dB proti prahu 3 dB). Shoda ukazuje, že uvedená metoda příručky je reprodukována, nikoli že se signály GNSS chovají takto | 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) |
Vlivy ionosféry, plazmasféry a atmosféry na paprsky podél limbu na signály GNSS za mezním zákrytem a návrh přijímače pro slabé signály v druhu gnss-ssv |
Chapmanova ionosféra, plazmasféra typu Gallagher a neutrální atmosféra (ohyb podle refraktivity, absorpce kyslíkem, defokusace) integrované podél přímého paprsku mezi vysílačem a uživatelem: šikmý celkový elektronový obsah, jeho plazmasférická část, nadbytečné zpoždění, tečná výška a ztráta na spojích v těsné blízkosti limbu; a návrh přijímače pro slabé signály (koherentní a nekoherentní integrace, mez datového bitu, podpora, hledání Dopplera), který stanoví práh C/N0 z modelů akvizice a sledovací smyčky | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Uzavřené tvary a publikované velikosti v testech (vrchol Chapmanovy vrstvy a lom povrchového limbu, několik TECU plazmasféry na paprsku GPS–GEO); návrh přijímače znovu používá modely akvizice a sledovací smyčky a jejich testy. Nejsou s ním porovnána žádná měřená data limb sounding ani příjmu slabého signálu | 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) |
| Palubní navigační filtr GNSS pro kosmické lodě na vysoké oběžné dráze a při lunárním přechodu | Režim [navigation] druhu gnss-ssv: devítistavový rozšířený Kalmanův filtr (poloha, rychlost, bias a drift hodin přijímače, měřítko tlaku slunečního záření) na pseudovzdálenostech, jejichž dostupnost, šum a C/N0 pocházejí ze stejné geometrie spojů jako průchody; pravda je integrována s J2, třetími tělesy Slunce a Měsíc a tlakem záření se stínem, filtr modeluje J2 a třetí tělesa a odhaduje tlak záření; uvádí chyby polohy a rychlosti uvnitř drah GNSS i nad nimi, nejdelší mezeru v měření a střední NEES |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Simulovaná pravda proti vlastnímu odhadu filtru (střední normalizovaná kvadratická chyba odhadu konzistentního filtru je pro polohu asi 3) a determinismus pro pevný seed. Nejsou porovnána žádná letová ani zaznamenaná data GNSS z vysokých drah; Slunce a Měsíc jsou málo přesné kruhové náhrady | 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) |
| Relativní navigace formace více kosmických lodí na vysoce eliptické dráze z GNSS | Režim [formation] druhu gnss-ssv: hlavní loď a pomocné lodě provozují každá absolutní filtr; poloha pomocné lodi vůči hlavní se odhaduje odečtením absolutních odhadů a relativním filtrem na jednoduchých diferencích pseudovzdáleností signálů, které sledují obě lodě, přičemž relativní dynamika je rozdílem dvou nelineárních trajektorií |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Táž simulovaná pravda jako u absolutního filtru: chyba relativního filtru proti skutečnému relativnímu stavu a kontrola, že si vede alespoň tak dobře jako odečtení dvou nezávislých absolutních určení polohy. Nejsou porovnána žádná letová data formací | 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) |
Rozpočet chyb navigace a času řetězce fází mise od startu po vstup do atmosféry (mission-thread) |
Druh mission-thread: dokument fází, z nichž každá je jedním z osmi registrovaných druhů, spouštěných postupně, přičemž kovariance 6x6, hodiny a soustava se předávají podle stanoveného pravidla (carry; inflate, šum bílého zrychlení po stanovenou mezeru na modelu přímočarého pohybu; reacquire, dead reckoning a pak spodní mez zdroje, nikdy pod ni, nikdy reset); převody soustav GCRF, MCI a MCMF a převody časových stupnic přes TT, každý jako samostatný řádek rozpočtu, se stavem Měsíce z volitelného výřezu jádra DE440 a analytickou řadou jako stanovenou záložní možností; rezerva vůči stanovenému požadavku, nejslabší článek, události a obrázek časové osy. Každé číslo je stanovený vstup nebo model vstupu |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Ruční výpočty v testech (růst kovariance po přímce, průměrná siderická rotace, sekulární lunární rychlost hodin) a pouze pro stav Měsíce zapsané výřezy jádra DE440 proti připnutým hodnotám JPL Horizons (nejhorší 2,6 m a 7e-6 m/s). S řetězcem se neporovnávají žádná data mise; jeho fáze jsou samostatné řádky. Dokument je uvedený řetězec s ILLUSTRATIVE vstupy, pouze z veřejných zdrojů a bez podpory agentury | 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 (the report's units block) |
Start a výstup na parkovací dráhu se získáním signálu GNSS a jeho výpadky (launch-ascent) |
Fáze launch-ascent: kovariance polohy a rychlosti při konstantní rychlosti se šumem bílého zrychlení (třída dead reckoning), určení polohy GNSS o stanovené přesnosti použité po době získání signálu a mimo stanovené výpadky, hodiny s předpětím a driftem disciplinované týmiž určeními polohy a stav vložení na parkovací dráhu |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Ustálený stav Riccatiho rovnice a ruční výpočet predikce v testech. Nic zde nemodeluje nosnou raketu ani přijímač; každé číslo je uvedený vstup | 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 |
Relativní navigace k dokovací obálce na nízké oběžné dráze Země po úsecích senzorů (leo-rendezvous) |
Fáze leo-rendezvous: relativní stav v osách LVLH cíle s uzavřeným tvarem přechodu Clohessy-Wiltshire, kalman kovariance 6x6 se šumem bílého zrychlení a aktualizacemi polohy, jejichž rozptyl je rozptylem senzoru při aktuální vzdálenosti, po úsecích stanoveného senzoru (ILLUSTRATIVE optická kamera, lidar a rádiové určování vzdálenosti); dokovací okno je doba od okamžiku, kdy relativní sigma zůstává uvnitř záchytné obálky, do konce fáze. Absolutní kovariance chaseru se předává beze změny a řádek to uvádí |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Jednoosý ruční výpočet predikce a aktualizace v testu; přechod Clohessyho–Wiltshirea je ten, který cw_dynamics kontroluje proti nezávislé numerické integraci. Senzory jsou ILLUSTRATIVE a neporovnává se žádné skutečné setkání | 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-lunární injekce a cislunární přelet: propagovaný střední stav a kovariance s aktualizacemi ze sledování (tli-and-cruise) |
Fáze tli-and-cruise: střední stav propagátorem Cowell z enginu (Země jako hmotný bod a J2, Slunce a Měsíc jako třetí tělesa, Měsíc z jádra DE440 vlákna, kde pokrývá úsek, a Slunce z analytické řady); kovariance přes matici přechodu stavu z dopředných diferencí této propagace (nominální běh a šest rušených běhů na úsek) se šumem bílého zrychlení; velikost a chyba nasměrování manévru TLI; určení polohy gnss-ssv, jejichž dostupnost a PDOP pocházejí z rozmítání prostoru služby kosmického uživatele podél oskulační dráhy nahrazující oblouk; sledování vzdálenosti a rychlosti změny vzdálenosti podél geocentrického směru, škálované vytížením pozemní sítě, s aktualizací v Josephově tvaru |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Liouvilleova věta (determinant matice přechodu stavu konzervativní části je jedna) a jemnější diference v testech; střední stav se porovnává s veřejnou trajektorií v řádku níže, kterou nesplňuje. Chyba zážehu, aktualizace a kovariance se s ničím neporovnávají | 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 |
Kovariance na rozhraní vstupu, pravděpodobnost koridoru, maximální zpomalení a stopa přistání (entry) |
Fáze entry: návratový volný let z tli-and-cruise bez manévru, končící na rozhraní vstupu; úhel dráhy letu a jeho sigma z úplné kovariance konečnědiferenčním gradientem; pravděpodobnost, že úhel leží uvnitř stanoveného koridoru; maximální zpomalení při nominálním úhlu a na obou okrajích koridoru z rovinného balistického vstupu hmotného bodu z enginu (s detekcí odrazu) vedle uzavřeného tvaru Allen-Eggers; stopa přistání ze stanovené citlivosti na vzdálenost po dráze a z kovariance rozhraní napříč rovinou dráhy. Nemodeluje se vztlak, naváděcí systém ani ohřev |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Ruční výpočty v testech (sigma úhlu je sigma kolmé rychlosti dělená rychlostí; gaussovská hmota v koridoru). Rovinný vstup je vlastní vstup enginu a forma Allen–Eggers je srovnání v uzavřeném tvaru; neporovnává se žádný uskutečněný vstup | 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 |
Pokrytí pozemní sítí a vytížení sledování pro fázi vlákna ([ground_network] z mission-thread) |
Překryv pozemní sítě: stanice s minimální elevací, viditelnost vozidla na stanovené geometrii (stav vstupu letěný jako dvoutělesový s J2, poloha Měsíce pro přelet nebo stanovené vytížení), předávání mezi stanicemi, z nichž každé ztrácí stanovený čas, a výsledné vytížení předané rychlosti aktualizací sledování ze Země dané fáze; nejdelší interval bez stanice ve výhledu je řádek rozpočtu | InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Kontroly geometrie zenitu a antipodu a očekávaná viditelnost vzdáleného cíle v testech. Nemodeluje se žádná skutečná síť, anténa ani rozvrh | 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 |
Relativní navigace k dokování na lunární oběžné dráze (lunar-orbit-rendezvous) |
Druh a fáze lunar-orbit-rendezvous: společný dávkový odhad Gauss-Newton dvou vozidel přes oblouk (jedenadvacet parametrů: oba stavy a trvalé chyby polohy signálu ve vesmíru, společné i nezávislé), rostoucí o čtvrtinu, polovinu a celý oblouk s půlením kroku, z absolutního určení polohy na vozidlo (mez sledování kódu pilotního signálu AFS, ILLUSTRATIVE sada relé) a vzdálenosti křížového spoje, v lunárním silovém modelu cratu; střední normalizovaná kvadratická chyba odhadu, kontrola Clohessy-Wiltshire na kruhové dráze a předávaná kovariance 6x6 |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Vnitřní konzistence podle předregistrace (xval/mission-thread-lunar/PREREGISTRATION.md, výsledky a historie odhadovače v RESULTS.md): střední NEES relativního stavu je 5,85 až 5,93 oproti pásmu 5,2 až 6,8 ve čtyřech konfiguracích, MET u čtvrtého návrhu odhadovače poté, co tři návrhy se sekvenčním filtrem práh nesplnily; skutečnost a odhadovač sdílejí jeden model sil, takže to nic neříká o chybě modelu. Propagátor, který sdílí, se porovnává s LRO a CAPSTONE v řádku níže | 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 |
Rozpočet rozptylu přistání na lunárním polárním místě (lunar-descent) |
Druh a fáze lunar-descent: pětistavový inerciální model chyb po osách (poloha, rychlost, bias akcelerometru, náklon, bias gyroskopu) při motorickém sestupu, podporovaný určeními polohy AFS (samostatnými nebo diferenčními, s případem hodin podporovaných třemi relé), určením polohy vůči terénu (porovnávač terrain-nav z enginu na syntetickém reliéfu, nebo mez Cramér-Rao na DEM z LOLA s pravidlem apertury) a lunárním časem, s Monte Carlo elipsou dosedu |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Inerciální drift v uzavřeném tvaru, vlastní výsledky znovu použitých druhů a kalibrace 3sigma elipsy (podíl uvnitř odpovídá očekávání) v testech. Neporovnává se žádné uskutečněné ani zkoušené přistání | 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 |
Dostupnost určování polohy a času na povrchu podle místa a roční doby na lunárních pólech (lunar-surface) |
Druh a fáze lunar-surface: dostupnost relé a PDOP, viditelnost Země a Slunce a disciplinované povrchové hodiny pro každé místo a roční dobu, s terénním obzorem z moonlight-service-volume; běh pro jedno místo se rovná dostupnosti a PDOP tohoto druhu až na bit |
ReferenceImpl | kontroluje se proti samostatné implementaci v téže kódové základně, nezávislé na testované jednotce, ale není vnějším autoritativním zdrojem — Přesná rovnost s existujícím druhem pro jedno místo a kontroly monotonie v testech. Sada relé je ILLUSTRATIVE a neporovnává se žádné měření na povrchu | 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 |
Motorický výstup z lunárního polárního místa na dráhu vložení (lunar-ascent) |
Druh a fáze lunar-ascent: pětistavový inerciální model chyb po osách běžící přes motorický výstup se specifickou silou podél trajektorie, podporovaný určeními polohy AFS a lunárním časem, uvádějící kovarianci polohy a rychlosti při vložení přenášenou na dráhu a rozptyl vypnutí motoru (uváděný, nepřenášený) |
InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Inerciální drift v uzavřeném tvaru a kontroly monotonie v testech. Neporovnává se žádný uskutečněný výstup | 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 |
| Propagace lunárním silovým modelem proti veřejným rekonstruovaným trajektoriím lunárních orbiterů a cislunárních těles | Propagátor, který sdílejí lunární druhy (GRAIL GL0660B stupně a řádu 150, Země a Slunce jako třetí tělesa, relativita, lunární orientace DE440), porovnaný s veřejnými trajektoriemi JPL Horizons pro LRO (24 h, vzorky po 10 minutách) a CAPSTONE (jeden oběh 6,5 dne, vzorky po hodině) podle prahů zafixovaných v odevzdaném souboru před během | ExternalDataset | dílčí tvrzení je zkontrolováno externě, ale celá schopnost skládá dohromady modelované části, takže schopnost zůstává vypočtena z modelu — efemeridy kosmických lodí JPL Horizons pro LRO a CAPSTONE proti prahům předregistrovaným v xval/mission-thread-lunar/PREREGISTRATION.md (dodatky 1 až 6). LRO: MET, největší 3D rozdíl 33 m a radiální RMS 2,4 m oproti 500 m a 60 m. CAPSTONE: NOT MET, rozdíl koncové polohy 136,8 km oproti 25 km a rozdíl perigea 28,4 km oproti 10 km, příčiny nebyly izolovány. Řádek je vypočten z modelu, protože práh CAPSTONE je nesplněn a srovnání testuje sdílený propagátor, nikoli žádný filtr, signál ani rozpočet | lunar_od (LunarForceModel); precise_od; mission_thread_lunar_oracles (example) | 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 |
Propagace středního stavu v cislunárním prostoru proti veřejné trajektorii Artemis I (tli-and-cruise) |
Propagace středního stavu fáze tli-and-cruise (Cowell, Země jako hmotný bod a J2, Slunce a Měsíc jako třetí tělesa, Měsíc z výřezu DE440) porovnaná s veřejnou trajektorií Artemis I z JPL Horizons přes 72 h oblouk volného letu od 2022-11-16 18:00 TDB, v epochách po 12 hodinách, podle prahů zafixovaných v odevzdaném souboru před během |
ExternalDataset | dílčí tvrzení je zkontrolováno externě, ale celá schopnost skládá dohromady modelované části, takže schopnost zůstává vypočtena z modelu — JPL Horizons cíl -1023 (navigační trajektorie NASA po TLI podle skutečného letu) proti prahům předregistrovaným v xval/mission-thread/PREREGISTRATION.md (dodatek 1 mění pouze požadovaný rozsah). NOT MET a prosazeno jako nesplněné: největší rozdíl polohy 45,3 km oproti 5 km a rozdíl rychlosti 0,249 m/s při 72 h oproti 0,05 m/s. Diagnostika napsaná po verdiktu umisťuje nesplnění do pěti impulsních změn rychlosti 0,09 až 0,22 m/s v referenci (předregistrované čtení, že okno neobsahovalo žádný zážeh, bylo chybné); během ostatních 67 hodin model reprodukuje další hodinový stav s mediánem 0,38 m. Testuje pouze střední stav jednoho volného oblouku: žádnou kovarianci, filtr, aktualizaci ani jinou fázi | mission_thread::earth::tli_cruise; propagator; mission_thread_oracle (example) | 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 |
| Členy chyby interferometru se studenými atomy: fázový šum Ramanova laseru, zkreslení zakřivením vlnoplochy a řešení nejednoznačnosti proužků | inertial::cai_error_terms (knihovní funkce, dosud nedosažitelné z druhu scénáře): váhová funkce Ramanovy fáze třípulzního interferometru se čtvercovými pulzy (Cheinet a spol. 2008, rov. 8) s uzavřeným tvarem pro bílou fázi (pi/2)^2 S_phi0/tau_R a numerickou cestou pro libovolné spektrum; frekvenční šum laseru, který zpoždění zpětného odrazu nevyruší (Le Gouet a spol. 2007, rov. 9 až 11); zkreslení vlnoplochy čistým rozostřením sigma_v^2/R tepelného oblaku a jeho snížení poloměrem detekce; pravděpodobnost chybného indexu proužku erfc(pi/(sqrt(2) s)) pro podporu klasickým akcelerometrem a pro dvě interrogační doby a její inverze | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Každý uzavřený tvar proti nezávislé numerické cestě v testech (kvadratura přesné přenosové funkce a zpožďovacího filtru ve frekvenční oblasti, Monte Carlo přes atomy pro vychýlení vlnoplochy, Monte Carlo přes výstřely pro index proužků) a jeho limitní případy. Jedna publikovaná vypracovaná hodnota: Cheinet et al. 2008 (arXiv:physics/0510197, Sec. IV) uvádějí, že při tau_R = 20 us je pro 1 mrad na výstřel třeba bílý Ramanův fázový šum pod -111 dB rad^2/Hz; samotný bílý člen dává 0,99 mrad (článek odvozuje úroveň svou rovnicí 17, flicker plus bílý). Vnitřní konzistence a jedna vypracovaná hodnota, nikoli externí validace; aberace vyšších řádů a šum jakéhokoli konkrétního laseru nejsou modelovány | 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) |
| Předvolby holdoveru oscilátorů z veřejných datasheetů | Čtyři předvolby: OCXO (Microchip OX-208), rubidium (Microchip 8040C), cesium (Microchip 5071A, vysoce výkonná trubice) a CSAC (Microchip SA.45s), každá nese maxima Allanovy odchylky, stárnutí a mez teploty ze svého datasheetu; nezáporné proložení šumu frekvence bílý + flicker + náhodná procházka metodou nejmenších čtverců, škálované tak, aby obalilo každý bod datasheetu, flickerová podlaha nikdy pod hodnotou pro nejdelší τ, lineární stárnutí a sinusový člen teploty, syntetizované jako seedovaný holdover po ztrátě GNSS | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Čtyři jmenované datasheety Microchip (čísla dokumentů a URL v každém presetu a v docs/TELECOM-TIMING.md) pro vstupní hodnoty; uzavřená rampa stárnutí a vlastnost obálky fitu jako vnitřní kontroly. Jak se hodnoty stávají modelem šumu — fit, pravidlo podlahy, 30denní měsíc, lineární čtení teploty — je modelářská volba; žádný preset není měřením nějakého kusu. 0,30 kolo 2, jednostranné prahy proti měřeným kusům (předregistrováno a01c491c), zjištění (zůstává MODELLED): stanice IGS THU2 Symmetricom 8040C v konečných hodinách ESA MGEX má Allanovu odchylku 0,35 až 0,87 presetu rubidia, ale chybu holdoveru 1,07 až 1,60 jeho hodnoty; záznam 5071A leží mimo preset cesia do 1000 s (bílý fázový šum měření, 30x při 1 s) a v holdoveru (1,15 až 8,74); nejhorší produkční SA.45s z roku 2011 je 1.26x preset CSAC při 1 s; OX-208 nemá žádný měřený záznam (zablokováno) | 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 — diskrétní rampa stárnutí v rámci 0,1 % z (1/2)·D·t² za den; 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) |
| Sekundy, než volně běžící hodiny opustí ochranný interval časově indexovaného slotu, a kadence korekcí, která je v něm udrží | Druh slot-timing: předpovězená chyba E(t) = k·√(σ₀² + σ_x²(t)) + (|y₀| + |c_T·ΔT|)·t + ½|D|t² invertovaná pro překročení, zbývající čas, interval resynchronizace po odečtení latence korekce a počet korekcí za den, každý člen rozepsaný s pojmenovaným dominantním; hodiny ze šesti výchozích hodnot ClockClass (TCXO, OCXO a RAFS přidány, každá s odkazem na jeden datasheet), předvolby telekomunikačního časování, vložený datasheet nebo naměřený záznam; překročení za nejdelším průměrovacím časem zdroje označené jako extrapolované |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Uzavřené tvary pro každý člen samostatně a nezávislé hledání kořene holdover::holdover_seconds; údaje z datasheetů jsou jmenované dokumenty (docs/SLOT-TIMING.md). Výchozí hodnota třídy se opírá o předpokládanou podlahu červeného šumu a zdroj z datasheetu je obálka maxim, takže ani jedno není měřením žádného kusu | 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 hodin družic GPS Block IIF, 14 dní konečných hodin IGS: 8 v rámci prahu 1,5, G25 a G30 optimistické až asi o 2x, zafixováno); tests/slot_timing_ocxo_holdout.rs (měřený OCXO: predikce na utajených datech nikdy není optimistická, 0,59 až 0,70 naměřeného překročení; na vzorku v rámci 0,98 až 1,17; bez členu frekvence určení polohy je predikce na vzorku optimistická při každém prahu); slot_timing::tests (fix_frequency_uncertainty_alone_is_linear_in_time; reduces_to_the_holdover_inversion — každá třída proti holdover::holdover_seconds s přesností 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) |
| Ochranná úroveň času pro přijímač na oběžné dráze při spoofingu (podvržení signálu) GNSS | orbital_timing::orbital_timing, dostupné jako sekce o spoofingu (podvržení signálu) druhu slot-timing: rychlost a perioda pohybu po kruhové dráze, nejdelší doba, po kterou může pozemní spoofer družici během jednoho přeletu zasáhnout, práh monitoru podporovaného hodinami a latence detekce CUSUM, podmíněná ochranná úroveň (práh plus doběh po dobu latence), posun, který spoofer s uvedenou maximální rychlostí náběhu nashromáždí, než družice opustí svou stopu nebo než proběhne nezávislá kontrola, a zda je každá kontrola při kontaktu se zemí či přes crosslink nezávislá na jednom pozemním spooferu |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Redukce na stávající ochrannou úroveň časování a uzavřené tvary viditelnosti pro kruhovou dráhu a kulovou Zemi. Podmíněno detekcí, jeden pozemní spoofer při uvedené rychlosti rampy, přelet nad hlavou na nerotující Zemi; neověřeno na podvrženém přijímači na oběžné dráze | orbital_timing (orbital_timing, visibility_half_angle_rad, max_pass_s, crosslink_neighbour_is_outside_footprint) | orbital_timing::tests (reduces_to_the_terrestrial_tpl — přesně tpl::timing_protection_level_ns, když hodiny nemají flicker, bílou fázi ani člen náhodné procházky; 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) |
| Spektrální vodopád pásma L s J/S a efektivním C/N0 pro každé pásmo při skriptované časové ose rušičů | Druh spectrum: mřížka frekvence a času výkonové spektrální hustoty v pásmu L (tepelný šum k T_sys s T_sys = T_ant + 290 K (F - 1), signály při minimálních přijímaných výkonech podle specifikace rozhraní a rušiče s nepřetržitou vlnou, úzkopásmové, chirp a rušiče s přizpůsobeným šumem s časy zapnutí a vypnutí), každá buňka zprůměrovaná přes svůj pás a řádek (chirpy přesně přes celé i částečné rozmitání, rušiče podle střídy), efektivní C/N0 pro každé pásmo = [1/(C/N0) + sum (J/S) kappa]^-1 pro každý řádek, J/S pro každé pásmo, J/S v pásmu a vodopád ve formátu SVG se sloupci C/N0. Zpráva obsahuje křížovou kontrolu proti řetězci druhu jamming na týchž vstupech spoje |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Redukce na rovnici anti-jam a rozpočet spoje stávajícího druhu jamming (týž kód, volaný se stejnými vstupy) a uzavřený tvar šumové podlahy k T0 F. Signálová spektra pod tím jsou ověřený řádek výše; výkony rušiček, časová osa a šířky pásma vstupních částí jsou vstupy scénáře, spektra jsou spojitá (žádné čáry rozprostíracího kódu) a na rušičku nepůsobí žádné automatické řízení zisku, blanking ani anténní diagram. V repozitáři není žádné měřené spektrum s rušením, proti kterému by šlo složený model zkontrolovat. Tabulka Q druhu jamming (CW a úzkopásmový 1, širokopásmový a rozmítaný 2 od 0,36: učebnicové hodnoty zafixované na uzavřené tvary navsignal) se shoduje s hodnotou CW tohoto modelu a liší se od toho, co odvozuje pro šum přizpůsobený C/A (1,5) a pro plochý šum od nuly k nule bez normalizace v pásmu (2,2); zpráva uvádí obě |
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 rovné jamming::j_over_s_db a efektivní C/N0 rovné jamming::effective_cn0_dbhz s Q = 1/(R_c kappa) na 1e-9 dB a kotva 32,105 dB z vlastního testu druhu jamming; 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) |
| Uran a Neptun z tabulky Standish 1, Pluto a rychlosti planet | Polohy Uranu a Neptunu z tabulky Standish 1 (výchozí v rozmezí 1800 n. l. až 2050 n. l.), Pluta z řádku tabulky 1 z roku 1992, který aktuální stránka JPL už neuvádí, a heliocentrická rychlost každé planety: dvoutělesová derivace se středním pohybem, který elementy implikují, plus stáčení elipsy podle rychlostí změny perihelu, sklonu a uzlu | ExternalDataset | dílčí tvrzení je externě zkontrolováno, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Změřeno proti JPL Horizons DE441 (tytéž uložené fixtury), ale neověřeno: uvedené hodnoty z tabulky 1 pro Uran a Neptun jsou proti heliocentrickým polohám DE441 překročeny až 2,0 a 5,2 násobně (Neptun proti barycentrickým polohám splňuje, což naznačuje, že fit nebyl heliocentrický), stránka neuvádí žádnou chybu pro Pluto a pro rychlosti neexistuje žádná publikovaná mez. Tabulky 2a/2b splňují své vlastní hodnoty pro Uran a Neptun a jsou pokryty ověřeným řádkem | 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: zafixováno na 2,04 a 5,16 násobku nominální chyby délky, pod šestinásobkem; pluto_from_the_1992_row_is_measured_not_validated: v rámci 39 úhlových vteřin a 1.14e9 m; standish_velocities_track_horizons_to_one_percent: nejhůře 3.7e-3 rychlosti); ephem::tests (standish_velocity_is_the_derivative_of_the_position; pluto_has_no_table2_row_and_no_stated_error) |
| Polohy Měsíce a sedmi velkých měsíců (Phobos, Deimos, galileovské měsíce, Titan) | Geocentrický Měsíc z řady Montenbrucka a Gilla (jejíž člen -1.3972 deg za století jej už vztahuje k ekvinokciu J2000) a planetocentrické polohy a rychlosti měsíců Phobos, Deimos, Io, Europa, Ganymed a Callisto ze středních elementů JPL Solar System Dynamics v Laplaceově rovině každého měsíce, s rychlostí střední délky převzatou z rychlosti synchronní rotace podle IAU (tabulka uvádí periodu na příliš málo míst, než aby udržela fázi), a měsíce Titan z rotačního modelu IAU (měsíc na záporné tělesově pevné ose x ve střední vzdálenosti), protože uvedený řádek Laplaceovy roviny pro Titan nereprodukuje Horizons ani v jeho vlastní epoše | ExternalDataset | dílčí tvrzení je externě zkontrolováno, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Změřeno proti družicovým efemeridám JPL Horizons (DE441, MAR099, JUP365, SAT441) uloženým v tests/fixtures/solar_system/horizons_satellites_icrf.csv s dotazem a datem získání; pro střední prvky ani pro umístění podle modelu rotace neexistuje žádná publikovaná přesnost, takže zafixované prahy zachytí regrese a neověřují. Střední prvky vynechávají rezonanční a sluneční poruchy a sekulární zrychlení Phobosu není modelováno | 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: nejhorší úhlová chyba viděná z planety v letech 2000 až 2040, Phobos 5,65 deg, Deimos 0,38, Io 0,40, Europa 1,63, Ganymede 0,22, Callisto 0,27, Titan 3,31; geocentric_moon_tracks_horizons: 0,046 deg); ephem::tests (moons_sit_at_their_mean_distance_and_move_at_their_mean_speed); ephem_provider::tests (earth_and_moon_balance_about_their_barycentre) |
| Fyzikální konstanty každého tělesa sluneční soustavy a zpráva o celé soustavě | Body získává Merkur, Venuši, Jupiter, Saturn, Uran, Neptun, Pluto, Phobos, Deimos, Io, Europu, Ganymed, Callisto a Titan (gravitační parametr, referenční poloměr, J2 tam, kde je publikováno, s poloměrem, ke kterému se vztahuje, pól a nultý poledník podle IAU), vyhledání podle názvu a záznam BodyFacts (kód NAIF, třída, rodič, rovníkový a střední poloměr); druh solar-system je hlásí pro všech osmnáct těles spolu s polohami, světelnými časy a drahou po dobu jednoho oběhu, každé těleso označené VALIDATED nebo MODELLED |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Přepis publikovaných konstant, každá citována tam, kde je definována: gravitační parametry ze záznamů těles JPL Horizons a z tabulky fyzikálních parametrů družic JPL, poloměry z tabulek fyzikálních parametrů JPL (IAU WGCCRE 2015), póly a nultý poledník podle IAU Working Group on Cartographic Coordinates and Rotational Elements (střední hodnoty, bez členů rychlosti T a periodických členů), J2 podle Smith et al. 2012, Iess et al. 2018 a 2019 a Jacobson 2009 a 2014. Zkontrolováno na vnitřní konzistenci (perioda rotace Jupiteru proti rychlosti Systému III, každé J2 proti svému referenčnímu poloměru), nikoli proti externímu orákulu. 0,30 kolo 2: hodnoty GM byly převzaty z gm_de440 a prvky Phobosu a Deimosu z pck00011, takže 0 z 84 konstant čtrnácti přidaných těles se nyní liší od NAIF (dříve 12), což je kontrola přepisu a nepočítá se. 0,36: orientace IAU pevná vůči tělesu a GM čtrnácti přidaných těles jsou vyčleněny do vlastního řádku VALIDATED („IAU body orientation and gravitational parameter of the fourteen added solar-system bodies“); tento řádek si ponechává zbytek. J2 a střední poloměr jsou citovány, nikoli ověřeny; polohy ve zprávě se opírají o vlastní řádky; a prime_meridian_deg ve zprávě pro Zemi, Měsíc a Mars zůstává na konvenčních konstantách (až 6.6e-3, 2.8e-2 a 9.6e-4 rad od IAU_<BODY>). 0,30 revize: GM Phobosu 7.087e5 -> 7.087546066894452e5, Deimosu 9.62e4 -> 9.615569648120313e4, Uranu 5.7939506103e15 -> 5.793951256527211e15, Neptunu 6.83509997e15 -> 6.835103145462294e15, Pluta 8.69326e11 -> 8.696138177608748e11 m³/s²; rovníkový poloměr Phobosu 13,1 -> 13,0 km; prime_meridian_deg nyní zahrnuje kvadratické a periodické členy | 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 |
| Určování polohy kolem libovolného tělesa sluneční soustavy s lokální konstelací a spojem do hlubokého vesmíru ze Země | Druh body-pnt: orbiter nebo přistávací modul na povrchu tělesa zvoleného jménem navigují pomocí jednosměrných pseudovzdáleností z navigační konstelace Walker kolem tělesa (dvoutělesové dráhy se sekulárním driftem J2 tělesa, neznámé hodiny uživatele) a volitelné dvoucestné vzdálenosti ze Země bez hodin, přičemž směr a vzdálenost Země se berou z analytické efemeridy v každé epoše; zorné přímky blokované koulí tělesa a výšková maska na povrchu; v každé epoše GDOP a PDOP jen z konstelace (orbit::dop), formální polohová nejistota s řádkem Země a bez něj a seedované fixy Gauss-Newton (batch_ls::gauss_newton) pro oba případy, se světelným časem a oběhem tam a zpět mezi tělesem a Zemí |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Uzavřené tvary a vnitřní soulad: třetí Keplerův zákon pro periodu relé, poloměr dráhy a poloměr povrchu držené po celý běh, přidání měření nikdy nezvýší formální nejistotu a zasazené chyby souhlasí s kovariancí. Dráhy relé ignorují třetí tělesa (gravitační působení Jupiteru na relé kolem Europy není modelováno), šum je gaussovský na uvedených úrovních a model měření je okamžitý, takže to není ověřeno proti navigačním datům žádné mise | 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: odmocnina ze středního kvadrátu každé chyby určení polohy dělená jejím vlastním formálním sigma v [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) |
| Mapy pokrytí a faktoru DOP (zhoršení přesnosti) pro libovolné vícekonstelační návrhy ve velkém měřítku kolem libovolného centrálního tělesa | Druh constellation-design nad rámec dvou ukotvených případů: explicitní a vícevrstvé návrhy, několik konstelací v jednom běhu s jedněmi hodinami přijímače na konstelaci, Země, Měsíc a Mars z konstant těles, předvolba BeiDou (modelována fáze střední oběžné dráhy a průsečík nakloněné geosynchronní dráhy na 118 deg E), družice v dohledu, GDOP, PDOP, HDOP, VDOP a dostupnost pro každou buňku, podvzorkované pozemní stopy a předfiltr viditelnosti podle šířky subsatelitního bodu, který spočítá návrh s 5 000 družicemi na mřížce 10 deg za zlomek sekundy |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní konzistence: skenování elevace hrubou silou, ručně vypočtené redukce a redukce orbit::dop a uzavřená geometrie Walkera a geosynchronní dráhy. Dvoutělesové dráhy s volitelným sekulárním J2, kulové těleso s místní svislicí podél poloměru, pouze geometrická viditelnost (žádný výkon signálu, zdraví družic, terén ani porucha od třetího tělesa) a relativní fáze mezi systémy převzatá z různých referenčních epoch, takže nejde o snímek žádného data. 0,30 přezkum, zjištění (zůstává MODELLED): presety splňují publikované jednostranné podlahy dostupnosti DOP (BeiDou OS Performance Standard 3,0, Galileo OS SDD) na 100 %, ale i při zdvojeném PDOP enginu v pracovní kopii je stále splňují (nejhorší bod 99,36 %), takže podlahy nedokážou odhalit ani 100 % chybu veličiny, kterou tento řádek počítá; jejich zpřísnění po běhu by bylo dodatečnou tolerancí. Povýšení vyžaduje oboustranné srovnání hodnot DOP na totožné geometrii s předem stanovenou tolerancí. 0,30 kolo 2 (tests/coverage_dop_full_oracle.rs, předregistrováno add671d6), zjištění (zůstává MODELLED): polohy, elevace, azimut a pozemní stopy z Orekit 12,2 s GDOP/PDOP/HDOP/VDOP z gnss_lib_py 1.0.4 (společné hodiny) a inverzí numpy (jedny hodiny na konstelaci) se shodují ve všech prazích u Galileo, GPS, BeiDou, Galileo+GPS (jedny hodiny každá) a návrhu Země s 1584 družicemi (DOP v rámci 2e-14 relativně, totožné určení polohy, dostupnost a počty viditelných). U návrhů pro Měsíc a Mars se prvky, polohy, viditelnost a stopy shodují, ale DOP překračuje předem stanovený relativní práh 1e-9 v buňkách, jejichž největší PDOP je 1434 nebo více (až 8e-6), a 4 buňky se liší o jednu epochu určení polohy na numericky singulární geometrii (pivot enginu 1e-10 proti hodnosti numpy), takže řádek není ověřen. 0,30 revize: referenční hodiny TDOP/GDOP jsou nyní konstelace s nejnižším číslem v dohledu (constellation-multi-gnss-coverage globální max GDOP 2,2236 -> 2,1205, průměr 1,122 -> 1,131) a počty viditelných pro jednotlivé konstelace se sčítají jako celá čísla | constellation (coverage, ConstellationDesignScenario, beidou_slots, body_by_name) | constellation::tests (prefilter_matches_brute_force_exactly — každá mapa a čítač se rovná skenu s přímým testem elevace; five_thousand_satellites_on_a_coarse_grid — 5 000 družic, vypíše dobu běhu a ponechané párové testy; 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 (pouze kontrola regrese); tests/coverage_dop_full_oracle.rs::finding_is_pinned; tests/coverage_dop_gnss_lib_py_oracle.rs (regrese) |
| Řetězená mise napříč druhy scénářů na jedné sdílené časové ose | Fáze druhu campaign: každá fáze spouští jeden či více scénářů stávajících druhů přes run_toml, čte jejich výstupy do pojmenovaných kanálů (časová chyba hodin a ochranný pás, střední efektivní poměr nosné k hustotě šumu a práh sledování, svislá ochranná úroveň a mez poplachu, chyba polohy, sledované družice, příznaky poplachu) podle předvoleb pro jednotlivé druhy nebo explicitních cest k výsledkům, umísťuje je na začátek fáze a drží je na společné mřížce, s hranicemi fází a událostmi; stav se předává přes carry (kanál pokračuje od koncové hodnoty předchozí fáze), handoff (číslo z předchozí fáze zapsané do dalšího scénáře) a end_at (fáze končí v čase, který vypočítal nějaký běh, například v čase detekce monitoru spoofingu); hash kampaně a digest přes výsledek každého člena |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Identity složení proti samostatným během týchž druhů: jednofázová kampaň reprodukuje samostatný výstup bit po bitu, přenesený offset se rovná poslednímu vzorku předchozího běhu a fáze ukončená end_at má za délku přesně dobu detekce daného běhu. Aditivní přenos přes hranici fází a zadržení nultého řádu jsou modelářské volby a každá fáze je tak dobrá jako druh, který ji spustil; žádná zřetězená mise nebyla zkontrolována proti měřené | 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 — výsledek členu bajtově shodný se samostatným během a každá zarovnaná hodnota rovná samostatné řadě; 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) |
| Parametrické průchody a seedované soubory Monte Carlo nad libovolným druhem scénáře | Sekce sweep druhu campaign (jeden až tři klíče s tečkou libovolného druhu, na hodnotách os obecného průchodu, volitelně se souborem v každém uzlu) a monte_carlo: realizace k běží se seedem base_seed + k; každá metrika uvádí průměr, směrodatnou odchylku, percentily 5./50./95. podle nejbližší pozice a percentilový bootstrapový interval spolehlivosti 95 % pro průměr s pevným seedem (inertial::metric_stat); jednotky metrik se čtou z vlastního bloku jednotek prošetřovaného druhu |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Uzavřený tvar náhodné procházky fáze při bílém frekvenčním šumu, rozptyl q_wf tau (NIST Technical Note 1337), pro statistický aparát a bajtová shoda se samostatnými běhy pro seedování. Kontroluje aritmetiku souboru realizací na vlastním modelu hodin enginu, nikoli externí soubor dat | 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 seedů hodin s bílým frekvenčním šumem při doběhu tau = 3010 s: skutečná střední hodnota 0 uvnitř uvedeného intervalu, poloviční šířka intervalu v rámci 25 % z 1,96 sigma/sqrt(n) a výběrový rozptyl uvnitř oboustranného 99% intervalu chí-kvadrát pro sigma = sqrt(q_wf tau) = 16,459 ns; kalibrační soubor (CAP-10, předregistrováno ea451cb5, docs/CALIBRATION-ENSEMBLES.md, tests/calibration_ensembles.rs): přes 200 nezávislých souborů interval pokrývá skutečnou střední hodnotu v 192 případech (uvnitř 99% oblasti [181, 197] rozdělení Binomial(200, 0,95)) a kontrola chí-kvadrát projde v 196, zatímco tolerance percentilů z jednoho seedu (p05 a p95 v rámci 0,3 sigma) projde jen v 183 z 200, NOT MET proti předregistrovaným 190, kontrola citlivá na seed, zaznamenaná místo uvolnění; a_one_node_sweep_and_a_one_member_composition_read_the_standalone_number) |
| Několik scénářů za společných podmínek se souhrnným přehledem | Sekce compose druhu campaign: pojmenované sdílené hodnoty (například výkon a poloha jednoho rušiče) zapsané do každého člena pod klíče, ke kterým je vážou, každý člen spuštěný a pro každou metriku nejmenší, největší a střední hodnota napříč členy s uvedením jmenovaného člena; jednotky metrik se musí u všech členů shodovat |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Identita složení proti samostatnému běhu. Aritmetika sdílených podmínek je účetnictví; fyzika je fyzikou členských druhů, každý s vlastním řádkem | campaign (run_compose) | tests/campaign_composition_reference.rs (a_one_node_sweep_and_a_one_member_composition_read_the_standalone_number — jednočlenné složení čte samostatné číslo a digest výsledku) |
| Omezená optimalizace jedné metriky přes parametry kampaně | Sekce optimize druhu campaign (CAP-32): jeden až tři klíče scénáře s tečkou omezené na [lo, hi] v lineárním nebo logaritmickém měřítku, jedna metrika čtená podle cesty k výsledku, cíl minimize, maximize nebo target; metoda grid (hodnoty os průchodu) nebo deterministický simplex Nelder-Mead v normalizovaných souřadnicích s projekcí na box a standardními koeficienty; chybějící nebo nekonečná metrika se hodnotí jako nejhorší a zůstává ve stopě; při runs > 1 je metrikou průměr přes společné seedy; každé vyhodnocení je skutečným během pojmenovaného druhu, uvedeným ve stopě (trace) a započteným do digestu reprodukovatelnosti |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Pouze vnitřní: přesný uzavřený tvar -20 log10(range) rovnice spoje, nezávislá mřížka hrubou silou nad týmž druhem a Rosenbrockova funkce. 1-D práh kola 1 je NOT MET (předregistrovaný rámec vylučoval řešení 3 dB; optimalizátor se zastavil na mezi), zaznamenáno v docs/design/evidence/cap32-optimize/RESULTS.md a znovu nehodnoceno. Optimum je lokální vůči rámci a počátku; žádné tvrzení o globálním optimu | campaign::optimize (run_optimize, nelder_mead) | tests/campaign_optimize_reference.rs (předregistrováno fbe6c8b3 a po nesplnění protokolu v kole 1 441f31bc: p2_prime_interior_target_range_matches_the_closed_form — 1-D řešení cíle v rámci 6.1e-15 od r* = r0 10^((m(r0) - 3)/20) v 96 vyhodnoceních; p3_prime_contour_target_grid_and_nelder_mead a p3_grid_matches_brute_force_and_nelder_mead_does_at_least_as_well — nejlepší bod mřížkové metody bitově shodný s nezávislou smyčkou hrubou silou 41 x 41 nad run_toml, Nelder-Mead alespoň tak dobrý v 177 a 161 vyhodnoceních; 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, který zafixuje zaznamenaný nezdar kola 1); campaign::optimize::tests (nelder_mead_meets_the_preregistered_rosenbrock_bar: f* = 1.7e-20 v 234 vyhodnoceních; a_non_finite_score_is_never_the_best; the_grid_mapping_is_the_sweeps) |
| Návrhy signálů pro určování polohy, navigaci a čas na nízké oběžné dráze Země: sledování kódu, akvizice, kompatibilita s GNSS a pásmový kompromis pro libovolný systém | Druh leo-signal: parametrizované návrhy signálů (pásmo, vysílací šířka pásma, přidělení ITU; akviziční, datové a pilotní složky s BPSK(n), BOC(m,n), MBOC nebo plochými spektry, podíly výkonu, subnosné FDMA, délky kódů a datové rychlosti) z veřejných předvolbových souborů zkompilovaných do programu (Xona Pulsar, Iridium STL, signál příležitosti Starlink, CentiSpace, obecný návrh v pásmu C a obecné návrhy UHF/L/S/C/široké C, každý s adresou URL zdroje a nepublikovanými hodnotami označenými REPRESENTATIVE) nebo zapsaných přímo; pro každý signál výkonová spektrální hustota s omezeným pásmem, podíly výkonu v pásmu, Gaborova šířka pásma, kódový jitter proti C/N0 a rozestupu a přesnost určování vzdálenosti, akviziční prostor prohledávání, pravděpodobnost detekce se čtvercovým detektorem a střední doba sériové a kódově paralelní akvizice, koeficient spektrální separace do a z GPS L1 C/A, Galileo E1, GPS L5, Galileo E5a, E5b a AltBOC se zhoršením C/N0 a tolerance J/S vůči CW, širokopásmovému a přizpůsobenému rušení z řetězce SSC druhu spectrum; pásmový kompromis ionosférického zpoždění, ztráty ve volném prostoru, přesnosti určování vzdálenosti při stejném C/N0 a stejném EIRP a odolnosti vůči rušení; a kvalitativní kontroly tvaru návrhu proti popsanému měření |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Ověřené uzavřené tvary dvou řádků výše, identita falešného poplachu čtvercového detektoru P_d(snr = 0) = P_fa a Holmesův střední čas akvizice a redukce na vlastní řetězec SSC druhu spectrum (týž kód Jammer::ssc). Samotné návrhy jsou vstupy: presety označené REPRESENTATIVE nebo WORKSHOP nejsou publikované specifikace, spektra enhanced Feher QPSK, code shift keying a OFDM jsou aproximována a kontroly tvaru porovnávají tvary, nikoli kalibrované úrovně. | 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 (každý přibalený scénář nezávislý na systému běží bez dat workshopu, ionosférické poměry pásmové výměny se rovnají (f_ref/f)^2 a její rozdíly ve volném prostoru 20 log10(f/f_ref), jitter při referenčním C/N0 leží mezi svou Gaborovou mezí a tvarem pro neomezené pásmo, kontroly tvaru E5 ve scénáři s parametry workshopu jsou konzistentní, když je ten soubor přítomen, a žádný zdrojový soubor tento soubor nekompiluje) |
| Vícepásmový spektrální vodopád (UHF, L, S, C) s navrženými signály a rušiči pro každé pásmo | Druh spectrum rozšířený za pásmo L: pásma zadaná jako předvolba návrhu signálu (vykreslená se všemi složkami, omezená na vysílací šířku pásma, C/N0 a J/S vztažené ke sledované složce) nebo jako vlastní nosná a modulace; další panely vodopádu přes libovolný rozsah frekvencí na téže časové ose a barevné škále; širokopásmový (barrage) rušič vedle CW, úzkopásmového, chirpu a přizpůsobeného šumu; J/S a efektivní C/N0 pro každé pásmo z nezměněného řetězce koeficientu spektrální separace |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Redukce na stávající řetězec spectrum a rovnici anti-jam druhu jamming (jednosložkové pásmo dává stejná čísla jako před rozšířením) a signálová spektra ověřených řádků. Výkony rušiček, časová osa, šířky pásma vstupních částí a navržené signály jsou vstupy a navržený signál je zkrácen na svém vysílacím pásmu (žádné vyzařování mimo pásmo). | 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 (vícepásmový vodopád běží se čtyřmi panely, rušičky UHF, L5, S a C vždy odepřou jen své vlastní pásmo a běh s prostým pásmem se rozšířením nemění); leo_signal::tests::to_spectrum_band_is_consistent_with_the_design; spectrum::tests (agrees_with_the_jamming_kind_chain) |
| Přelet LEO-PNT a jeho bilance spoje pro každé pásmo proti družicím GNSS na MEO v dohledu | Druh leo-pass: družice z navrženého přeletu, elementů, TLE přes SGP4 nebo konstelace Walker z constellation-design; pro každé pásmo a epochu úhly pohledu, vzdálenost, rychlost změny vzdálenosti a zrychlení vzdálenosti v uzavřeném tvaru (při každém běhu kontrolované proti centrálním diferencím a hlášené), ztráta ve volném prostoru, EIRP s isoflux, gaussovskou nebo plochou charakteristikou, patch, hemisférickou nebo izotropní uživatelskou anténou, plynný útlum podle ITU-R P.676-10 Annex 2, déšť a scintilace podle P.618, ztráta průnikem do budovy podle P.2109, polarizační nepřizpůsobení, šumová teplota systému, C/N0, Doppler a Dopplerova rychlost změny a prvořádové zpoždění z šikmého TEC podle Klobuchara nebo svislého TEC, škálované Chapmanovým podílem pod družicí; dvojice bez vlivu ionosféry se kódovým šumem ve vrcholu přeletu; nosné Galileo nebo GPS z přijímaných výkonů podle jejich interface dokumentů přes tentýž přijímač |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Uzavřené tvary a vnitřní soulad: identity rychlosti změny vzdálenosti a zrychlení vzdálenosti proti numerickým derivacím, izofluxní zisk rušící nárůst vzdálenosti, učebnicové limity ztráty polarizací, kvalitativní pozorování LEO oproti GNSS (zvonovitý přelet v řádu minut s vrcholem o několik dB nad plochými nosnými GNSS 44-51 dB-Hz). EIRP a diagramy jsou publikované přijaté výkony přepočtené na EIRP nebo reprezentativní volby, plynný člen je překonaná zjednodušená metoda P.676-10 a nic se neporovnává s měřeným C/N0 LEO | 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: pod 0,01 Hz a 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 |
| Pojmenované předvolby systémů LEO-PNT s uvedenými zdroji a systémově agnostický engine | leo_link::presets: obecná vícepásmová (UHF, L, S, C), obecné pásmo C, Xona Pulsar X1/X5, Iridium STL, Starlink jako signál příležitosti pouze s Dopplerem, CentiSpace a volitelná předvolba Celeste IOD, každá s uvedeným zdrojem označeným PUBLIC (s URL), REPRESENTATIVE nebo WORKSHOP, přičemž seminární je v souboru volitelné předvolby Celeste IOD, zkompilovaný jen tehdy, když soubor existuje; každé pásmo a dráhu lze ve scénáři přepsat a scénář nemusí uvádět žádnou předvolbu | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Přepis citovaných veřejných údajů a kontrola konzistence: EIRP nastavené z publikovaného minimálního přijatého výkonu předpovídá publikované maximum v rámci 0,5 dB s plochým diagramem. To je kontrola rozpětí vzdálenosti, nikoli validace antény jakékoli družice; reprezentativní presety nečiní žádné tvrzení o skutečném systému | 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: v rámci 0,5 dB od -139.1 a -136.2 dBW); leo_link::presets::iridium::tests; leo_pass::tests (a_fully_custom_band_needs_no_preset) |
| Nízkoenergetické určování polohy: doba do prvního fixu a energie na fix v závislosti na střídě | leo_link::energy a sekce [iot] druhu leo-pass: koherentní integrace omezená Dopplerovou rychlostí změny, nekoherentní součty se čtvercovým detektorem až k detekčnímu prahu, prohledávání Dopplerových binů přes obálku statického uživatele dráhy (studený start) nebo podporované okno (teplý start), paralelní nebo sériové prohledávání kódu, čas navigační zprávy při studeném startu, energie na fix a výdrž baterie napříč intervaly fixů, pro každé pásmo LEO a signál GNSS |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní konzistence uvedeného návrhového modelu: každý výkon, práh a volba hledání je vstup a model ignoruje nejednoznačnost bitové hrany, nezachycenou událost a opětovnou akvizici. Neporovnáno s měřeným přijímačem | 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) |
| Aktualizace navigační zprávy LEO uprostřed přeletu s kontrolou kontinuity při přepnutí | Analýza midpass-update druhu leo-navmsg: nejvyšší přelet nad uživatelem v prohledávaném rozpětí, zprávy v globálním rozvrhu s dobami použití vystředěnými ve svých fitovacích oknech a při každém přepnutí 3D skok polohy, skok hodin, skok pseudovzdálenosti uživatele, největší skok přes libovolnou viditelnou zornou přímku (uzavřený tvar přes nadirový kužel), chyba vzdálenosti před a po a PASS/FAIL proti prahu |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní konzistence (identita skoku a kuželová mez proti vzorkování hrubou silou). Práh je vstup; není zafixován žádný publikovaný požadavek na kontinuitu LEO | leo_navmsg (LeoNavmsgScenario::midpass, worst_case_jump, elevation, geodetic_to_ecef) | leo_navmsg::tests::a_mid_pass_update_is_continuous (skok vzdálenosti při každém přepnutí se rovná změně chyby vzdálenosti a opravený 300 s fit aktualizovaný každých 150 s projde prahem 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 (uzavřený tvar ohraničuje hustý vzorek kuželu) |
| Zdokumentované binární kódování navigační zprávy LEO s rozpočtem kvantizační chyby | leo_navmsg::codec: vlastní rámec Kshana (preambule, verze, model, délka, náklad, CRC-24Q) pro čtyři modely efemerid, polynom hodin, SVID, issue of data, pásmo, zdraví, sadu Klobuchar, koeficienty NeQuick-G a parametry UTC, každé pole s uvedenou šířkou a krokem (field_table), kvantizace s odmítnutím mimo rozsah a rozpočet největší změny polohy a hodin, kterou způsobí změna každého pole o půl kroku v okně platnosti | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Identity průchodu tam a zpět a samotný rozpočet. Formát je vlastní formát Kshana, vzorovaný podle publikovaných složek zprávy a sady polí Galileo ICD; není to bitové rozložení Celeste ani jiného systému (žádné není veřejné), takže neexistuje žádné externí rozložení, proti kterému by šlo validovat | 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 (každý model v rámci 2 mm od přesné zprávy po dekódování, opětovné kódování bitově shodné, překlopený bit odmítnut kontrolou CRC); leo_navmsg::tests::every_field_of_the_budget_stays_under_a_millimetre |
| Exporty navigačních zpráv LEO ve stylu RINEX-4 a CSV | leo_navmsg::text: blok ve stylu RINEX-4 (hlavička záznamu > EPH, řádek družice a epochy se třemi členy hodin, řádky broadcast dráhy D19.12) s písmenem systému L a typy záznamů KP16, KRAC, LU22 a APOL, v každé hlavičce označený jako rozšíření Kshana, které není součástí RINEX 4,02, a tabulka CSV s výchozím schématem sloupců a schématy předvoleb, každé s importérem | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Průchody tam a zpět a kalendářní aritmetika. RINEX 4,02 nedefinuje žádné navigační záznamy LEO (IGS RINEX 4,02), takže rozvržení je zdokumentované rozšíření, přičemž arXiv 2401,17767 je citováno jako předchozí stav techniky; neexistuje žádný externí čtecí nástroj, proti kterému by šlo kontrolovat | 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 (každý model v rámci 0,1 mm po textovém bloku, CSV přesně) |
| Polynom ECEF ATOMIC bez hodin a syntetické srovnání modelů LEO pro pět výšek | varianta EcefPoly z leo_navmsg::elements::EphemerisModel: polynom ECEF pro každou osu bez členů hodin, relativistický člen z -2 r.v/c^2, hodnocený proti řízeným hodinám. Také analýza srovnání modelů (liu_comparison nad LIU2025_TABLE), která fituje 22parametrový model v pěti výškách z článku na 20minutových obloucích dráhy integrované Kshana a vytiskne výsledek vedle publikovaného SISRE | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — ATOMIC skutečnosti o modelu z InsideGNSS (polynom 6. řádu, platnost asi jedna minuta, obnovení po 30 s, hodiny řízené, chyba hodin 24 cm). Jsou to popisné skutečnosti bez publikovaných čísel k porovnání. Tabulka pěti výšek uvádí SISRE podle Liu et al. 2025 (8,88, 6,21, 2,87, 2,11 a 0,75 cm při 320, 475, 786, 966 a 1336 km na 20minutovém oblouku) vedle fitu Kshana na vlastní integrované dráze (4,25, 2,87, 2,20, 1,25 a 0,51 cm; poměry 0,46 až 0,77), nezafixováno, protože článek fitoval skutečné přesné dráhy a pravdy se liší. Samotný 22parametrový model a fit jsou ověřeny proti skutečným drahám v řádku Liu et al. 2025 22-parameter LEO ephemeris model and its fit on real precise orbits. 0,30 revize: hodnoty v tabulce se posunuly s fitem podle konvence článku (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 |
| Určování polohy z Dopplera LEO, jednodružicové i vícedružicové, se stavy driftu hodin a rychlosti | Dávkové určování polohy metodou Gauss-Newton z rychlosti změny vzdálenosti s analytickými parciálními derivacemi (d rho_dot / d r = -(I - u u^T)(v_s - v_u)/rho, d/dv = -u, d/d drift = 1), volitelně s konstantní rychlostí uživatele, výškovým pseudoměřením pro pozemního uživatele a tlumenými kroky; formální kovariance v pravdě; průměty podél dráhy, napříč dráhou a svisle; přesnost jednoho přeletu v závislosti na příčném posunu uživatele; čas nejbližšího přiblížení. Režim doppler druhu leo-pvt přidává chybu v závislosti na délce okna a režim signálů příležitosti pouze s Dopplerem (předvolba starlink-sop) |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní konzistence: obnova bez šumu, kinematická identita rho_ddot = (|v|^2 - rho_dot^2 + d.a)/rho derivovaná numericky, nulový Doppler v nejbližším přiblížení, zrcadlové řešení jednoho přeletu a zasazené chyby proti formální kovarianci. Údaj o Starlinku od Kozhaya, Saroufima a Kassase (NAVIGATION 72(1), 2025: asi 2 m za 20 s se třemi družicemi) je pouze srovnání: modelovaný přijímač, s dokonalou efemeridou a veškerou chybou v sigma Dopplera 30 Hz, je za stejné okno několikrát méně přesný a přijímač a měřicí frekvence z článku nejsou reprodukovány | 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: na 1 mm a drift na 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: vážené RMS rezidua v [0,8, 1,2] a chyba pod čtyřmi formálními sigma); 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 (předregistrovaná náhrada proti publikovaným percentilům datové sady 3 z „Unveiling Starlink for PNT“, doi:10.33012/navi.685: se 3 družicemi (maska 47 deg), bez podpory výšky a při 30 Hz je 3D chyba p90 92,2 m při 20 s a 870 m při 8 s oproti publikovaným 2 m a 10 m, takže oba prahy dvojnásobku jsou NOT MET, na vysoké straně, a jsou ověřeny jako nesplněné; docs/design/evidence/cap11-starlink-doppler-proxy/) |
| Společné určování polohy z pseudovzdáleností GNSS a LEO s mezisystémovými biasy a modely chyb pro každý signál | Fixy váženými nejmenšími čtverci metodou Gauss-Newton přes libovolnou směs systémů, jedny hodiny přijímače na systém (mezisystémový bias odhadovaný s polohou) nebo známý broadcast offset na referenční časové stupnici; sigmy jednotlivých měření dodává volající, ve výchozím stavu je to tepelný šum smyčky DLL (delay-lock loop) enginu (navsignal::dll_code_jitter_chips) při C/N0 dané elevací, spojený s chybou vzdálenosti signálu ve vesmíru; nevážené DOP (GDOP, PDOP, HDOP, VDOP, TDOP) v lokální geodetické soustavě, formální sigmy východ-sever-nahoru a sigmy biasů; společný režim leo-pvt porovnává fixy jen z GNSS, jen z LEO a fúzované a vynáší DOP proti počtu přidaných družic LEO |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Ručně odvozený DOP čtyř družic (jedna družice v zenitu a tři na obzoru po 120 deg, jejichž normálová matice se invertuje ručně), strukturální identita, že systém s vlastními hodinami a jednou družicí nepřidává žádnou geometrii, obnova polohy, hodin a vychýlení bez šumu a zasazené chyby proti kovarianci. Pouze vnitřní kontroly; neporovnáno s výstupem přijímače. 0,30 externí srovnání, zjištění (zůstává MODELLED): na multi-GNSS dni IGS (ABMF 2018-05-13, GPS a Galileo C1C, broadcast efemeridy, Klobuchar) se mezisystémové vychýlení shoduje s RTKLIB v2.4.2-p13 rnx2rtkp (medián rozdílu -0.11 ns po opravě skupinového zpoždění broadcast 0,30, -0.35 ns před; práh 1 ns), ale jen 93,6 % z 280 epoch (93,2 % před opravou) leží do 3 m od souřadnice ITRF2020 proti předregistrovaným 95 %. Samotný RTKLIB na týchž datech dosahuje 88,2 %, takže práh leží za možnostmi jednofrekvenčního broadcast určování polohy na této stanici a v tento den, nikoli v rozporu řešičů; srovnávací test je uložen jako ignorovaný. 0,30 kolo 2, přísnější vstupy při nezměněném prahu 3 m / 95 % / 1 ns, zjištění (zůstává MODELLED): s bezionosférickou dvojicí Galileo E1/E5a (předregistrováno 6927e039) leží do 3 m 79,9 % epoch (RTKLIB 67,9 %); s přesnými drahami CODE MGEX, hodinami, offsety antén družic a kódovými vychýleními (předregistrováno 7d8c3597) 94,2 % (RTKLIB 94,1 %) a mezisystémové vychýlení se od RTKLIB liší o -1.03 ns, protože režim single v RTKLIB ignoruje offsety antén družic (+0,04 ns, když je vynechají oba) | 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) na 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 |
| Konvergence přesného určování polohy bodu (PPP) pouze s GNSS a s doplněním o LEO | Rozšířený Kalmanův filtr float PPP na kódu a fázi bez vlivu ionosféry: statické souřadnice, bílé hodiny přijímače, jeden mezisystémový bias na každý další systém, zenitové mokré zpoždění jako náhodná procházka mapované 1/sin(elevace), float nejednoznačnost pro každý oblouk družice přidaná při východu a odstraněná při západu a chyba přesné dráhy a hodin společná kódu a fázi družice, zpracovaná jako jedna korelovaná dvouřádková aktualizace v Josephově stabilizovaném tvaru; měření simulovaná ze stejného modelu; doba konvergence (chyby pod prahy až do konce běhu), křivky chyb a poloha NEES zprůměrovaná přes běh pro samotné GNSS a každý případ LEO, spouštěno jako druh leo-ppp |
ExternalDataset | dílčí tvrzení je externě zkontrolováno, ale celá schopnost skládá modelované části, takže schopnost zůstává modelovaná — Test chí-kvadrát NEES je kontrola vnitřní konzistence (pravda a filtr sdílejí model). Trend je porovnán s 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 zkráceno na 7,0, 3,2, 2,1 a 1,3 min při 60, 96, 192 a 288 družicích LEO. Přibalený scénář dává 7,4, 4,8, 3,2, 2,7 a 2,3 min s vlastními reprezentativními slupkami 1000 km, 60 deg, šumem a stanicemi; konstelace, šum a definice konvergence z článku nejsou reprodukovány, takže jde o MODELLED konzistenci trendu (monotónní zkracování, největší konstelace pod třetinou času jen s GNSS), nikoli o validaci | leo_fusion::ppp (run, PppScenario, LI_2019) | leo_fusion::ppp::tests (the_filter_is_consistent_over_monte_carlo_seeds: 24 seedů, průměr NEES zprůměrovaný přes běh v [2,4, 3,6] a alespoň 75 % epoch uvnitř oboustranného 95% pásma chí-kvadrát; měřeno se 150 seedy, průměr 2,84 jen GNSS a 2,87 s 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) |
| Přenos času na UTC podporovaný LEO v závislosti na C/N0 a oscilátoru přijímače | Měření hodin z každé družice LEO v dohledu ve známé poloze, kombinovaná inverzním rozptylem z modelu šumu pseudovzdálenosti, filtrovaná dvoustavovým (fáze, frekvence) Kalmanovým filtrem, jehož procesním šumem je bílý a náhodně se potulující frekvenční šum třídy oscilátoru (slot_timing::ClockNoise, clock_state::ClockClass; rozptyl doběhu z holdover::coast_phase_variance), seedované pravé hodiny ze stejných úrovní a výraz IS-GPS-200 oddíl 20.3.3.5.2.4 pro systémový čas na UTC s nejistotou broadcast offsetu přidanou jako bias pro každý běh; režim timing druhu leo-pvt vynáší oscilátory a odchylky C/N0 |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní konzistence: publikovaný výraz pro offset vyhodnocený ručně, normalizovaná chyba přes 40 seedů a podlaha daná nejistotou offsetu. Údaj NIST pro časovací přijímače Iridium s miniaturními atomovými hodinami (pod 40 ns od UTC(NIST) za 40 dní) je pouze srovnání; přibalený scénář Iridium dává 10 až 11 ns RMS při nominálním výkonu s jeho reprezentativní chybou vzdálenosti 5 m. Flicker frekvenční šum a ionosférické zpoždění nejsou simulovány | 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) |
| Pojmenované systémy LEO PNT jako volitelné datové předvolby, každá s uvedeným zdrojem | Systémově agnostické vstupy: každý systém tvoří slupky Walker, explicitní elementy nebo předvolba GNSS, signál (nosná, čipová rychlost, šířka pásma, přijímaný výkon nebo rozsah C/N0), SISRE, sigma Dopplera a model hodin; předvolby doplňují jen to, co scénář vynechá, po jednom souboru se zdroji označenými PUBLIC (s URL), WORKSHOP nebo ODVOZENÝ a nepublikovanými hodnotami uvedenými jako reprezentativní: Xona Pulsar X1/X5, Iridium STL, signály příležitosti Starlink, CentiSpace, reprezentativní systém v pásmu C, model efemerid ATOMIC bez hodin a jedna předvolba odvozená ze semináře ve volitelném souboru předvolby Celeste IOD, která se vynechá odstraněním tohoto souboru a jeho scénářů | InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Přepis citovaných veřejných hodnot, zkontrolovaný na strukturu (každý veřejný zdroj má URL, vzory Walker se dělí beze zbytku, C/N0 z přijatého výkonu nad kT při 290 K), nikoli proti externímu orákulu. Reprezentativní hodnoty jsou pojmenovány v každém presetu a jsou ilustrativní | 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: skeny zdrojového textu v src, scenarios a 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) |
| Jeden systém LEO-PNT od začátku do konce: návrh signálu, bilance spoje přeletu, navigační zpráva a fúzované určování polohy, výstup každé fáze předán další | Druh leo-pnt-chain: návrh leo-signal (veřejná předvolba nebo zapsaný přímo) určuje střed, šířku pásma, čipovou rychlost a rozdělení EIRP pásma leo-pass; přelet dává C/N0 sledované složky a kódový jitter s omezeným pásmem pro každou epochu; přímka C/N0 podle nejmenších čtverců v sin(elevace), SISRE zprávy leo-navmsg (fitované na dráze družice přeletu, plus uvedený člen určování oběžné dráhy v odmocnině součtu čtverců) a nosná a čipová rychlost návrhu jdou do každého systému LEO společného fixu leo-pvt a volitelně do případů LEO v leo-ppp; každé předání je hlášeno se svou hodnotou a jednotkou |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Vnitřní soulad předání: každá předaná hodnota se rovná vlastnímu výstupu předchozí fáze a změna vstupu předchozí fáze pohne každým navazujícím údajem, který na ní závisí. Fáze si ponechávají vlastní štítky; řetězec nepřidává žádnou fyziku ani žádné externí orákulum | 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: silnější EIRP, delší interval fitu a větší člen určování oběžné dráhy každý pohne předanou hodnotou i fúzovaným určením polohy; 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) |
| Detekce spoofingu (podvržení signálu) podle konzistence Dopplera LEO a geometrie přeletu | Sekce [spoofer] druhu leo-pass: spoofer padělá, samokonzistentně ve vzdálenosti a rychlosti změny vzdálenosti, signály viděné z tvrzené polohy, která po nástupu skočí nebo je odtlačena od skutečné (pro každé pásmo LEO a pro signál GNSS na MEO); přijímač předpovídá každou rychlost změny vzdálenosti z broadcast dráhy a nezávislé apriorní polohy a rychlosti a testuje naměřené rychlosti změny vzdálenosti zobecněnou statistikou chí-kvadrát nejmenších čtverců přes okno epoch (drift hodin je rušivý parametr nebo má apriorní hodnotu), na kanálech GNSS, kanálech LEO a na všech kanálech, s tepelným šumem smyčky FLL (frequency-lock loop) z C/N0 (Kaplan & Hegarty 2006, oddíl 5.6.2); pravděpodobnost detekce z necentrálního rozdělení chí-kvadrát při uvedené pravděpodobnosti falešného poplachu, detekce se vyhlásí při uvedené pravděpodobnosti nezachycené události |
InternalConsistency | zkontrolováno proti vlastní uzavřené / analytické identitě — zachytí chyby přepisu a koeficientů, ale není to externí orákulum — Uzavřené tvary a identity, nikoli externí měření: gradient rychlosti změny vzdálenosti proti centrální diferenci, statistika v informačním tvaru proti hustému kovariančnímu tvaru, čistý drift hodin dávající nulu, tlak vysvětlený aprioritou dávající nejvýše |dx|^2/sigma_p^2, statistika kvadratická ve skoku. Žádný údaj o detekci není porovnán s měřeným útokem; spoofer je idealizovaný (žádný výkon, úhel příchodu ani signatura korelačního vrcholu) | 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) |
| Detekce spoofingu (podvržení signálu) podle mezipásmové konzistence vícepásmového signálu LEO | Pro každou družici LEO a dvojici určovacích pásem sekce [spoofer] tvoří kombinaci pseudovzdáleností bez geometrie, odstraní ionosférický model přijímače a testuje její krok z epochy na epochu proti kódovému šumu obou pásem a uvedené tolerované nemodelované ionosférické rychlosti (oboustranně gaussovsky, přesná pravděpodobnost detekce); spoofer, který padělá některá pásma a jiná ne, nebo každé pásmo bez ionosféry, je viděn při svém nástupu; ten, který padělá každé pásmo a simuluje ionosféru, vidět není, což výsledek uvádí |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Identity: skok na začátku u spoofera bez vlivu ionosféry se rovná modelovanému rozdílu ionosférického zpoždění dané dvojice, práh je oboustranný normální kvantil krát směrodatná odchylka skoku plus mez rychlosti změny. Ionosférický model přijímače je model enginu, takže autentické reziduum je ze své konstrukce ve střední hodnotě nulové; žádné externí orákulum | 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) |
| Sondování ionosféry: šikmé TEC z dvoupásmového zpoždění přeletu LEO | Pro každou dvojici pásem družice leo-pass zpráva uvádí šikmý celkový obsah elektronů, který kombinace kódů bez geometrie obnoví ve vrcholu přeletu, (P2 - P1) f1^2 f2^2 / (40,3 (f1^2 - f2^2)), a jeho 1 sigma z tepelného kódového šumu obou pásem, takže libovolný vícepásmový návrh LEO-PNT lze porovnávat jako ionosférický sondér |
InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Identita disperze prvního řádu, přesná ze své konstrukce vůči vlastnímu zpoždění prvního řádu v enginu (jehož škálování 1/f^2 je proti IS-GPS-200 VALIDATED ve vlastním řádku); preciznost určuje pouze tepelný šum kódu, bez vícecestného šíření a mezifrekvenčních biasů. 0,30 kolo 2, změřeno (předregistrováno 5e795f93), zjištění (zůstává MODELLED): globální ionosférická mapa CODE CODG1330.18I proti kódům ABMF C1C/C2W s biasy CODE dává 33 z 36 průměrů oblouků v rozmezí 3 TECU (nejhorší +6,84 TECU na večerním oblouku; RMS na epochu 3,95 TECU), při prahu každý oblouk; není ověřeno proti nezávislé vnější referenci | 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: rovná se šikmému TEC přeletu ve vrcholu s přesností 1e-9 a jeho sigma se rovná RSS šumu kódu přes 40,3 (1/f1^2 - 1/f2^2)); tests/geometry_free_tec_gim_oracle.rs::geometry_free_finding_is_pinned |
| Námořní skóre důvěry: agregace důkazů z monitorů do skóre 0–100 a jeho tří pásem | Každý monitor převede své důkazy na poměr statistiky k prahu; skóre je 100 minus součet přes monitory váhy krát omezená lineární rampa poměru (0 až 0,5, 1 při 1,5), omezené na 0 až 100 a zaokrouhlené na 0,1, s pásmy při 90 a 55; každá epocha uvádí monitory, které odečetly, a jejich body. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Implementace proti specifikaci, NIKOLI externí orákulum: nezávislá reimplementace v Pythonu (scripts/maritime_score_cleanroom.py), kterou napsal čtenář, jenž měl k dispozici jen docs/RECEIVER-TRUST.md a docs/MARITIME-TRUST.md a nikoli zdrojový kód v Rustu, souhlasí s score_from_ratios na 600 vektorech poměrů (skóre, pásmo, body a pořadí srážek, rozdíl 0), poté co byla dokumentace doplněna tam, kde ji první čtenář shledal mlčenlivou nebo nekonzistentní (pořadí při shodě, zaokrouhlování, poměr monitoru typu splněno–nesplněno, dva příklady, jejichž čísla neodpovídala vzorci). To ukazuje, že dokumentace je dostatečná a že kód dělá, co říká. CO NENÍ OVĚŘENO, a proč řádek zůstává MODELLED: samotné pravidlo (váhy, náběh, hranice pásem, podržení důkazu) je vlastní pravidlo tohoto projektu, předregistrované, ale bez externího zdroje, a nic zde neukazuje, že skóre 80 nebo 40 znamená to, co by navigátor chtěl, aby znamenalo při skutečné interferenci; žádný údaj tohoto druhu se neuvádí. Prahy monitorů jsou rovněž vlastní prahy tohoto projektu (řádek A kontroluje jen jejich aritmetiku). | 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 (monotónní v každé statistice, přidání monitoru nikdy nezvýší skóre, zdravé statistiky zůstávají na 100) |
| Oblast zdroje rušení: přípustná oblast zdroje z hlášení polohy letadel a lodí | Přípustná oblast, kde se může nacházet zdroj zhoršených navigačních hlášení, z hlášení polohy ADS-B (NIC/NACp) nebo AIS: rádiová přímá viditelnost na poloměru 4/3 Země z výšky hlášení a rozsahu výšek antény zdroje, omezený efektivní dosah pro neznámý výkon, dotčené jednotky přitahující posterior k svému dosahu a nedotčené jednotky s přímou viditelností působící proti, seskupené do relací v čase a prostoru. Výstupem jsou oblasti nejvyšší hustoty na stanovených úrovních spolehlivosti, těžiště posterioru s momentovou elipsou, začátek, konec a trvání relace, dotčená plocha a počet odlišných letadel nad minimem pro zveřejnění, denní profil a hodiny za den. Bez terénu; jeden zdroj na relaci; věrohodnost je podmíněna modelem. Volitelná fúze s určením polohy TDOA z geolocation. | InternalConsistency | kontroluje se proti vlastní uzavřené / analytické identitě, což zachytí chyby přepisu a koeficientů, ale není to vnější orákulum — Zatím žádná vnější. Pouze syntetické přímo-inverzní okružní zkoušky z generátoru, který sdílí model odhadovače, takže kontrolují kód a kalibraci uvedených úrovní za tímto modelem a nic o skutečných vysílačích. Vnější kontrola proti zveřejněným místům vysílačů Jammertest 2025 byla předregistrována (docs/emitter-region/PREREGISTRATION.md, schválena vlastníkem před jakýmkoli hodnoceným během) a provedena jednou (docs/emitter-region/RESULTS.md): ADS-B NOT ASSESSABLE (2 plánované relace, méně než registrované minimum 4) a AIS NOT ASSESSABLE (žádná zveřejněná relace), takže se netestoval žádný práh a řádek zůstává MODELLED | interference_map::emitter (estimate, sessions, build_units, profile, GaussianFix::from_tdoa), interference_map::emitter_out (locate), kshana interference-map locate |
jednotkové testy interference_map::emitter (okružní zkouška projekce, obrázek horizontu, syntetické přímé a inverzní okružní zkoušky: známý vysílač leží uvnitř uvedené oblasti přibližně uvedenou rychlostí, okrajové případy, shlukování relací, profil, soukromí a formulace); případy locate v tests/interference_map_cli.rs |
| Události SIEM telemetrie důvěry: Log Event Extended Format (LEEF) přes syslog | Události změny pásma (nebo na epochu) jako užitečný obsah Log Event Extended Format 2,0 v obálce RFC 5424 přes UDP nebo TCP, s dokumentovaným mapováním polí. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – CO JE OVĚŘENO: vlastní testy tohoto crate na přesné řetězce dokumentovaného mapování polí LEEF a pole obálky RFC 5424; neexistuje žádný udržovaný open-source parser LEEF (hledání v indexu balíčků Pythonu žádný nenašlo), takže formát je ověřen proti vlastní specifikaci, kterou četl týž autor, nikoli proti externímu orákulu. CO NENÍ OVĚŘENO: zda datové části LEEF přijme parser některého dodavatele nebo SIEM; pravidla pro escapování nad rámec dokumentovaných; chování skutečného kolektoru syslog. | telemetry (syslog: leef, rfc5424, SyslogSink; time) | telemetry::syslog::tests (přesné řetězce LEEF, escapování, závažnost, obálka RFC 5424, časové limity doručení a opětovné připojení); tests/telemetry_cli.rs |
| Prahy interference v důvěře v přijímač kalibrované na datové sadě JammerTest 2024 | receiver_trust::calibration::run_dataset: předregistrovaná kalibrace monitorů poklesu C/N0, AGC a indikátoru rušení na veřejné datové sadě JammerTest 2024 (Zenodo 15911589, GPL-3.0-or-later, stahovaná za běhu, nikdy nedodávaná): pro každou složku 1 s časová osa z mon_rf.csv a rinex.csv, monitory spuštěné jednou, každá epocha po kalibraci označená jako čistá nebo rušení podle attack_log složky (posunuto z CEST do UTC, ochranný interval 60 s), každý práh prohledán po pevné mřížce, vybrán nejmenší práh se souhrnnou pravděpodobností falešného poplachu na čistých epochách nejvýše 0,01 a počty při vynechání jedné složky (leave-one-folder-out) na zadržených datech; křížová kontrola čtečky UBX. Výběr se dodává pouze jako dobrovolný profil [monitors] profile = "jammertest-2024-calibrated" (cn0_drop_db 1,5, agc_k_sigma 3,5, jam_ind_threshold 29); výchozí pravidlo a každý výstup bez něj zůstávají beze změny | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost se skládá z modelovaných částí, takže zůstává modelovaná – Zveřejněné záznamy událostí datové sady (okna attack_log) jako pravda o událostech, podle předregistrace xval/jammertest-trust/PREREGISTRATION.md (zapsané samostatně, 0fa012b, před během nástroje). První a jediný běh (xval/jammertest-trust/RESULTS.md): 14 z 24 složek vyhodnotitelných (7 s rušením), 3 502 čistých a 9 560 epoch s rušením. Pravděpodobnost falešného poplachu na odložených čistých datech: cn0_drop_db 0,0231 (81/3502) proti prahu 0,02, FAIL; agc_k_sigma 0,0003, splněno; jam_ind_threshold 0,0094, splněno; sjednocení všech tří: falešné poplachy 0,0328, detekce 0,807 proti 0,05 a 0,50, splněno. Podle registrovaného pravidla je řádek MODELLED (jeden práh nesplněn). Úzký záběr: jeden typ přijímače (u-blox ZED-F9P), jedna událost, plánované jednominutové sloty jako pravda (detekce je dolní mez; čistý znamená mimo zaznamenaná okna); kalibrováno na záznamech CSV a čtečka UBX dává na dvou složkách více falešných poplachů. Pásma skóre důvěry pro námořní provoz nejsou kalibrována | 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 (ignorováno, podmíněno daty přes KSHANA_JAMMERTEST_DIR: zaznamenaný výběr, počty na odložených datech, výsledky prahů a verdikt); receiver_trust::calibration::tests (časová razítka, párování oken a posun časového pásma, štítky, ochranná pásma, vyloučení, výběr); receiver_trust::monitors::tests::threshold_profile_is_opt_in |
| Hodnocení Jammertestu: záznam přijímače hodnocený po každém plánovaném testu (latence detekce, zmeškané poplachy, falešné poplachy, doba zotavení) proti publikovanému plánu testů | jammertest::{plan, score, dataset} (kshana jammertest import|score): katalog testů NPRA a plán vysílání (MIT, stahováno se zafixovaným SHA-256, nikdy nedodáváno) čtené jako plánovaná pravda se zachovanými identifikátory katalogu; běh receiver-trust hodnocený po jednotlivých testech (první poplach minus plánovaný začátek, detekováno/pozdě/zmeškáno vůči toleranci, doba do prvního úseku bez poplachu, poplachy mimo každý slot a jeho ochranný interval), s podepsaným balíčkem důkazů, který nese výsledkovou kartu. Rozvrh jsou plánované sloty, nikoli zaznamenané časy vysílání | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost se skládá z modelovaných částí, takže zůstává modelovaná – Počty slotů plánu pro jednotlivé zkušební oblasti (76, 77 a 45 slotů, z nichž 61, 63 a 32 vysílá) byly spočteny nezávisle skriptem nad týmž JSON; okna attack_log datové sady z roku 2024 jako pravda o událostech, podle předregistrace xval/jammertest-score/PREREGISTRATION.md (zapsané samostatně, c2e6d3b, před během hodnoticího nástroje). První a jediný běh (xval/jammertest-score/RESULTS.md): registrované pravidlo minima dat SELHALO (4 hodnotitelná okna s rušením ze 4 z 12 složek UBX proti minimu 10 oken ze 2 složek: 5 složek vyřazeno pravidlem základu, 3 záznamy UBX nesou jen čas GPS v rámci týdne), takže prahy B1 až B4 nelze posoudit; nic nebylo uvolněno ani znovu spuštěno. v2 (xval/jammertest-score/PREREGISTRATION-v2.md, zapsané samostatně, jen zacházení s daty: záznamy jen s časem GPS zařazené podle data, 12 složek jen s CSV, relace s pohyblivou platformou pro pohybující se rovery; stejné prahy a pravidlo minima dat): 14 z 24 složek ponecháno, ale jen 7 hodnotitelných oken s rušením, pravidlo minima dat opět selhalo, žádný práh nelze posoudit (RESULTS-v2.md). Plánovaná pravda: plánovaný slot není záznam o skutečném vysílání, nezachycená událost může být test, který se nikdy nekonal, latence se počítá od plánovaného začátku a čistý znamená mimo plánované sloty. Detekce monitory v oblasti měření nic neříká o spooferu s nízkým výkonem. Jeden typ přijímače (u-blox ZED-F9P). Datová sada NMEA od SimulaMet z roku 2025 se nepoužívá (bez uvedené licence, přístup vázaný na předplatné) | 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 (podmíněno daty přes KSHANA_JAMMERTEST_PLAN_DIR: počty slotů podle zkušební oblasti plánu z roku 2025, identifikátory katalogu, obousměrný převod TOML); tests/jammertest_score.rs (syntetický záznam se známým poklesem: detekováno, nezachyceno, nevyhodnotitelné, běh s falešným poplachem, podepsaný balíček nesoucí výsledkovou kartu); jammertest::plan::tests; tests/jammertest_score_2024.rs (podmíněno daty přes KSHANA_JAMMERTEST_DIR: zaznamenaný běh) |
| Mapování compliance na veřejné rámce | compliance (kshana compliance-report): mapování výstupů Kshany na články veřejných rámců pouze podle čísla, vyplněné z uvedených běhů; výsledek se započítává ke schopnosti jen tehdy, když nese důkaz, který mapování jmenuje, prázdná množina nedokládá nic a formulace je „podporuje důkazy pro (supports evidence for)“; zpráva není zjištěním, že je jakýkoli rámec splněn, a není hodnocením ani schválením nikým. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Odkazy ověřeny proti indexu nadpisů citovaných veřejných dokumentů, vytaženému skriptem a přečtenému 2026-10-10 (tests/compliance_references.rs). CO JE OVĚŘENO: 49 citovaných odkazů na články, oddíly, odstavce nebo nadpisy v citovaném dokumentu existuje a 7 citovaných adres URL se k zaznamenanému datu podařilo otevřít (2 druhou cestou); negativní kontroly selhávají. CO NENÍ OVĚŘENO: zda je správná jakákoli parafráze, mapování nebo mezera; články EN 16803 (placené, pouze text katalogu); pozdější revize; index není nezávislá implementace. | 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 |
| Námořní integrace: zásuvný modul Signal K, proud brány a panel skóre pro OpenCPN, referenční sestavení | Skóre důvěry, pásmo, důvody, stav brány a poloha hlášená přijímačem zveřejněné pod navigation.gnss.kshana na serveru Signal K s upozorněním typu varování, alarm a normální (integrations/signalk); hradlovaný proud NMEA, s polohou označenou za neplatnou, dokud je důvěra zhroucena, a větou PKSHT na cyklus, poskytovaný do OpenCPN přes TCP samotnou branou nebo malým relé, a nativní panel skóre OpenCPN, který čte větu PKSHT (integrations/opencpn); a jednotky systemd a kontejner, které bránu provozují (deploy/reference-build). Kde tyto integrace zobrazují výstup, nesou poradní prohlášení: Software pouze poradního charakteru, nikoli typově schválené navigační zařízení (IEC 61108, IEC 61162): za navigaci plavidla zůstává odpovědný provozovatel. | IntegrationRun | vyzkoušeno proti skutečné hostitelské aplikaci; integrační běh není nezávislým orákulem – CO JE OVĚŘENO, řečeno úzce: že tyto integrace fungují proti skutečnému softwaru, pro který jsou napsány. DŮKAZY jsou uloženy v integrations/signalk/evidence/README.md (s jeho soubory JSON) a integrations/opencpn/evidence/README.md (s jeho snímky obrazovky a záznamy), každé se skriptem, který je reprodukuje. (1) Signal K: zásuvný modul načtený do připnutého balíčku npm signalk-server 2.33.0, v soukromém jmenném prostoru sítě jen pro loopback, napájený syntetickými daty. Vlastní rozhraní REST a WebSocket serveru ukázala zveřejněné cesty, metadata skóre a oznámení, které prošlo stavy nepřítomné, varování, alarm, normální (po podržení) a znovu varování, když data přestala přicházet. Při skutečném běhu kshana spouštěného zásuvným modulem nad NMEA, kterou server sám přijal, oznámení přešlo na varování a poté na alarm a hlášená poloha byla zveřejněna; vlastní navigation.position serveru zapsal jeho poskytovatel NMEA, nikdy zásuvný modul. Znovu spuštěno proti živému schématu JSON 1,2. (2) OpenCPN: zásuvný modul sestavený proti hlavičce rozhraní API zásuvných modulů OpenCPN a wxWidgets 3.2.4, načtený do balíčku Ubuntu 24,04 s OpenCPN 5.8.4 pod virtuální obrazovkou; OpenCPN jej načetl, provedl jeho inicializaci a předal mu věty PKSHT hradlovaného proudu a panel zčervenal v nedůvěryhodném pásmu. V jednom čistém běhu se vlastní poloha lodi v OpenCPN přestala aktualizovat a jeho indikátor zaměření poklesl, když hradlo označilo zaměření za neplatné. Druhý běh napájený přímo z naslouchače TCP hradla ukázal doručení zásuvnému modulu, ale ne čisté srovnání před a po. (3) Testy přenosu přehrají zaznamenaný výřez hradlovaného proudu přes skutečný soket TCP a zkontrolují, co spotřebitel přijme (bajty beze změny, platné kontrolní součty na každé větě včetně přepsaných, shoda GGA a RMC, jedna PKSHT na cyklus s polem hradla tam, kde je zaměření neplatné), a skript typu end-to-end kontroluje, že spotřebitel naslouchače hradla přijme přesně ty bajty, které totéž hradlo zapisuje na standardní výstup. (4) Parsery PKSHT (JavaScript a C++) běží nad větami zaznamenanými z výstupu kshana a odmítají chybný kontrolní součet, verzi nebo skóre mimo rozsah 0 až 100. (5) Jednotky systemd se kontrolují příkazem systemd-analyze verify (systemd 255, binární soubory nahrazeny zástupnými) a pojistkami proti shellu v ExecStart, politice restartu a klíčům sandboxu; zacházení s argumenty ve vstupním bodu kontejneru se kontroluje se zástupným binárním souborem. CO NENÍ OVĚŘENO: pro žádnou hodnotu, kterou tyto integrace ukazují, neexistuje externí orákulum. Samotné hodnoty důvěry jsou řádky výše a integrační běh ukazuje jen to, že je potrubí přenáší; proto je tento řádek MODELLED a nikoli VALIDATED (docs/VALIDATION.md). Nebylo použito žádné skutečné plavidlo, přijímač, dlouhý běh, jiná verze kteréhokoli hostitele, jiný operační systém ani jiné desktopové prostředí; všechna data jsou syntetický text a nic zde není měření. Zvukové a vizuální zacházení s oznámením skutečným klientem Signal K, tlačítko panelu nástrojů OpenCPN, předvolby a zastaralý stav a balení pro správce zásuvných modulů OpenCPN nebyly vyzkoušeny. Klíče sandboxu systemd byly zkontrolovány jen syntakticky, nikoli spuštěny pod živým systemd, a sestavení obrazu kontejneru a jeho kontrola zdraví zde nemají zapsaný žádný důkaz. Neuvádí se žádný údaj o detekci ani falešných poplaších. Software pouze poradního charakteru, nikoli typově schválené navigační zařízení (IEC 61108, IEC 61162): za navigaci plavidla zůstává odpovědný provozovatel. | receiver_trust (live: the gate, its TCP listener, PKSHT); mimo crate: integrations/signalk (JavaScript), integrations/opencpn (relay v JavaScriptu, nativní zásuvný modul v C++), deploy/reference-build (jednotky systemd, kontejner) | tests/receiver_trust_live_cli.rs (hradlo a jeho naslouchač TCP, strana Rustu); integrations/signalk/test/adapter.test.js, integrations/signalk/test/model.test.js a integrations/signalk/test/plugin.test.js (24 testů Node na zaznamenaném syntetickém výstupu); integrations/opencpn/test/relay.test.mjs (5 testů Node); integrations/opencpn/test/e2e-live.mjs (skutečný binární soubor ke spotřebiteli TCP, spouštěno ručně a v CI); integrations/opencpn/plugin/test/pksht_test.cpp a integrations/opencpn/plugin/test/trust_state_test.cpp (kontroly v C++ pro parser PKSHT a stav panelu); deploy/reference-build/check-units.sh a deploy/reference-build/test-entrypoint.sh |
| Sledování BOC(1 1): škálování DLL a řešení nejednoznačnosti bump-jump (dobrovolné) | Pole boc v iq::track::LoopConfig (dobrovolné, ve výchozím stavu None): tři diskriminátory DLL přeškálované tak, aby četly chybu kódu v chipech s jednotkovým sklonem na hlavním vrcholu sinusového BOC(1 1), a monitor bump-jump na velmi předbíhajících a velmi zpožďujících korelátorech v jedné poloperiodě subnosné (0,5 chipu), který skočí s NCO kódu k hlavnímu vrcholu, když čítač nahoru/dolů dosáhne N (8 ve výchozím stavu). Bez této volby je každý výstup beze změny. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Vnitřní konzistence proti vloženému skutečnému stavu a uzavřeným tvarům, podle prahů předregistrovaných v 6b68f6cc (docs/design/evidence/boc-bump-jump/). Datový signál BeiDou B1C (PRN 19, 5 MS/s) generovaný pomocí iq::scene: s vypnutou volbou zůstává start na postranním vrcholu falešně zachycen na předpovězených ±(0,5 + d/4) chipu (změřeno ±0,549); se zapnutou jeden skok směrem k hlavnímu vrcholu v 0,08 s a RMS v pozdním okně 0,0008 chipu při 45 dB-Hz a 0,0048 chipu při 35 dB-Hz; žádný skok z hlavního vrcholu při 35, 40 a 45 dB-Hz po dobu 4 s; škálovaný sklon EMLP 0,94 až 0,99 na vzorkovaném signálu (neškálovaný 3,6 až 3,8). Samotný detektor bump-jump, na trojicích korelátoru s přesnou kovarianční maticí šumu BOC(1 1), neudělal žádný falešný skok v 100 000 aktualizacích při 25 až 45 dB-Hz a detekoval 1000 z 1000 startů na postranním vrcholu při 35 dB-Hz. NOT MET (zjištění F1): předregistrovaná jednotková testovací mřížka pro škálování zahrnuje posuny mimo lineární rozsah diskriminátorů, kde škálované hodnoty minou posun až o 48 %. CO NENÍ OVĚŘENO: terénní IQ, front-endy s omezeným pásmem, složené repliky MBOC/QMBOC a jakýkoli externí přijímač. | 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); jednotkové testy iq::track::boc (b4_unit_grid_misses_are_the_recorded_ones: předregistrovaný práh jednotkového testu B4 ponechán tak, jak je napsán, jeho zaznamenané nezdary uplatněny jako zjištění F1) |
| Kanál ionosférické scintilace IQ (model Cornell) proti naměřené scintilaci GPS L1 s 50 Hz | iq::channel::scint, scintilační model Cornell (Riceova intenzita, spektrum Butterworth druhého řádu, fáze arg z) poháněný S4 a dobou dekorelace intenzity naměřeného okna, porovnávaný na tom, co generuje nad rámec těchto dvou vstupů; realdata::scint50 čte naměřený záznam, odstraní z něj trend a provede porovnání. | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost se skládá z modelovaných částí, takže zůstává modelovaná – Naměřená data podle prahů předregistrovaných v b6ccb499 (xval/scint-malindi/): záznam Zenodo 16941224 (INGV, Malindi, 18. března 2023, GPS PRN 26, intenzita a fáze nosné 50 Hz, CC BY 4,0, kontrolní součet SHA-256 ověřen). 22 kvalifikovaných oken po 60 s (N1 splněno). MET: rozdělení intenzity (Kolmogorovův–Smirnovův D 0,0415, práh 0,05) a fázová scintilace vázaná na S4 (medián změřené/modelové sigma-phi 0,779, práh 2/3 až 3/2). NOT MET (zjištění F1): podíl hlubokých úniků v modelu je 2,38krát větší než změřený (práh 0,5 až 2) a jeho průměrný únik je 3,51krát delší (práh 2/3 až 3/2). Zjištění F2: registrované zpracování čte zalomenou fázi modelu, což odhalila vnitřní kontrola; B3 zopakované dodatečně s rozbalenou fází dává 0,804. CO NENÍ OVĚŘENO: jiné noci, stanice, zeměpisné šířky nebo signály; šum přijímače v modelu. Řádek zůstává 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, registrovaný verdikt uplatněn tak, jak je zaznamenán, zjištění F1; finding_model_fades_are_deeper_and_longer_than_measured; posthoc_b3_with_the_model_phase_unwrapped, pouze hlášeno; podmíněno daty, stahováno pomocí scripts/fetch_scint_malindi.sh); jednotkové testy realdata::scint50 (model_data_through_the_harness_shows_the_wrapped_phase_finding, zjištění F2) |
| Volba CFAR s průměrováním buněk v akvizici IQ | iq::acq::ca_cfar a ca_cfar_cells (dobrovolné): buňka akviziční mřížky se porovnává s průměrem referenčních buněk své Dopplerovy řady (ochranné a krokové zpoždění, zalomené kolem periody) při faktoru alpha stanoveném z uzavřeného tvaru pravděpodobnosti falešného poplachu CA-CFAR pro M nekoherentních bloků (ca_cfar_pfa, ca_cfar_alpha). Detektor výkonu vzorku zůstává výchozí a každý stávající výstup je beze změny. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Uzavřený tvar, podle prahů předregistrovaných v 3724aefa (docs/design/evidence/acq-cfar/). Pravděpodobnost falešného poplachu CA-CFAR pro buňky Gamma(M) proti Monte Carlo přesného modelu: 18 z 18 případů v rozmezí 3 binomických sigma. Na každé buňce vyhledávání iq::acq (GPS L1 C/A, 2,5 MS/s, po 210 000 buňkách) při návrhových 1 %: 0,977 % a 0,969 % na gaussovském šumu a 1,006 % a 0,999 % na šumu kvantovaném na 2 bity (M = 1 a 4; práh plus minus 20 %); rozhodnutí se při změně měřítka vstupu nemění. NOT MET (zjištění F1): na bezšumovém 2bitovém signálu je detekce i její buňka správná, ale 1,28 % buněk mimo vrchol v řádku vrcholu (práh 1 %) překračuje práh, na deterministických postranních lalocích korelace kódu. CO NENÍ OVĚŘENO: jiné varianty CFAR, dvourozměrná okna, front-endy s omezeným pásmem, terénní data. | 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, registrovaný verdikt uplatněn tak, jak je zaznamenán, zjištění F1, zafixováno testem finding_noise_free_sidelobes_exceed_the_cfar_rate); jednotkový test iq::acq ca_cfar_closed_form_reduces_to_the_textbook_case_and_inverts |
| Model spektra: pásma GLONASS, BeiDou a Galileo E6 (volitelně) | spectrum::default_band určuje, výhradně podle jména (MORE_BAND_NAMES), GLONASS L1OF a L2OF na každém kanálu FDMA K = -7 až 6 (BPSK, 0,511 Mchip/s), BeiDou B1I (BPSK(2)), B1C (MBOC(6,1,1/11)), B2a a B3I (BPSK(10)) a Galileo E6 (BPSK(5)), s nosnými a minimálními přijímanými výkony podle jejich dokumentů popisu rozhraní; výchozí sada pásem a všechny stávající výstupy se nemění. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Zveřejněné řídicí dokumenty rozhraní a uzavřené tvary, podle prahů předregistrovaných v 5806f28b (docs/design/evidence/spectrum-bands/): GLONASS ICD Edition 5,1, BDS-SIS-ICD B1I 3,0, B1C 1,0, B2a 1,0 a B3I 1,0, Galileo OS SIS ICD Issue 2,1. MET: každá nosná, čipová rychlost a přijatý výkon tak, jak jsou přepsány (28 kanálů GLONASS), první nuly BPSK na čipové rychlosti, složený signál B1C rovný MBOC(6,1,1/11), jak uvádí výkonová tabulka jeho ICD, identita cesty C/N0 a bajtově shodné spektrální scénáře. NOT MET: práh jednotkové plochy, který byl tak, jak je napsán, nedosažitelný (zjištění F1; plochy se rovnají uzavřenému tvaru podílu v pásmu), a shoda po jednotlivých binech vln B1I a B1C vrstvy IQ s obálkou modelu (1,26 a 1,56 dB proti 0,5 dB, zjištění F2; GLONASS 0,07 dB), protože kódy Gold a Weil mají nerovnoměrná čárová spektra; po zprůměrování v pásmu se hlavní laloky shodují do 0,25 dB. CO NENÍ OVĚŘENO: zaznamenané IQ, jiné signály, interference uvnitř systému. | 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, zjištění F1, zafixováno testem finding_s2_areas_are_the_closed_form_in_band_fraction; s3_iq_layer_verdict_is_the_recorded_one, zjištění F2, zafixováno testem finding_s3_per_bin_errors_follow_the_code_line_spectrum; posthoc_s3_band_averaged_shape, pouze hlášeno) |
| Terciární kódy LunaNet AFS a vrstva zpráv (SB1 BCH, CRC-24Q, prokládač) oproti LSIS-AFS V1.0 | iq::signals::lunanet::afs_q_tertiary_bits, afs_q_tiered; iq::lunanet_afs: synchronizační vzor, kodér SB1 BCH(51 8) a dekodér s 256 hypotézami, CRC-24Q, blokový prokládač 60 x 98, kontrola proudu symbolů (kshana lunanet-afs-check) a generátor testovacího proudu se zástupnými podrámci. Kódování LDPC s rychlostí 1/2 u podrámců 2 až 4 není implementováno (jeho matice jsou v samostatné příloze). | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost se skládá z modelovaných částí, takže zůstává modelovaná – LSIS-AFS V1.0 (jako výše): Legendreova posloupnost délky 1499 (tabulka E-1, shodná) a terciární první a poslední 24 chipy (tabulky E-2 až E-6: 419 z 420 sloupců shodných; dokument uvádí tytéž poslední 24 chipy, A14850, pro PRN 147 i PRN 151 a generátor reprodukuje chipy PRN 151, takže záznam PRN 147 je nejspíše tisková chyba; práh 420 z 420 je NOT MET a nezdar je zafixován); pracovní příklad kódu SB1 z obrázku 8 (jeden příklad: 0x045 se kóduje na 0x229F61DBB84A0); CRC-24Q proti katalogové kontrolní hodnotě 0xCDE703 pro ASCII 123456789; vlastní aritmetika rámců dokumentu. Prahy předregistrovány v b3ba5d5. Jeden zaznamenaný nezdar a jeden pracovní příklad pro vrstvu zpráv, takže řádek zůstává MODELLED. CO NENÍ OVĚŘENO: LDPC a slova CRC uvnitř podrámců 2 až 4, obsah zpráv a jakýkoli zaznamenaný proud | 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 |
| Balíčky norem: scénáře hodnocené podle prahů stanovených před během | standards_pack (kshana standards-pack): testovací profily rámce DHS Resilient PNT pro úrovně 1 až 4, úrovně přesnosti a vyhodnocení integrity podle IMO MSC.1/Circ.1575 a balíčky ICAO Doc 9849 Appendix F pro monitorování, posouzení a zmírnění: každý test spouští přibalený druh scénáře a porovnává pole výsledku s prahy uvedenými v balíčku, a testy, které potřebují záznam přijímače, jsou uvedeny jako NEEDS INPUT a nehodnotí se. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Pro výsledky scénářů žádné externí: každý test balíčku spouští druh scénáře MODELLED. Prahy jsou profilem, který stanovil autor balíčku (rámec DHS žádné hodnoty neuvádí; limity přesnosti IMO jsou tabulka C-1 dokumentu MSC.1/Circ.1575, přečtená celá; balíček ICAO se řídí vlastní prezentací ICAO o plánu zmírňování RFI, protože Doc 9849 je placená publikace a nebyl čten), zapsané před jakýmkoli hodnoceným během v souborech PREREGISTRATION.md ve stylu xval pod standards/. Práh MET říká, že modelovaný scénář splnil stanovený práh, nic o produktu | standards_pack; compliance (standards-pack facts in compliance-report) | tests/standards_packs.rs (pinned_outcomes: stav každého testu, včetně nezdarů L4-T1 a čtyř testů přesnosti IMO); standards_pack::tests |
| Laboratorní balíček důkazů z okruhu tam a zpět (scénář, zkušební podmínky, záznam přijímače, skóre) | evidence::roundtrip (kshana evidence round-trip) a export záznamu přijímače kshana.test-conditions/1 z kshana bench-export: podepsaný balíček, který zaznamenává hash scénáře, hash uvedených podmínek, hash záznamu a skóre vůči uvedeným událostem, a odmítá podmínky, které se neshodují s hodnoticími událostmi, nebo záznam, jehož hash není uvedený hash. Žádný signál se nezapisuje, nepřehrává ani neplánuje. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Žádné externí: balíček propojuje hashe a skóre záznamu přijímače MODELLED, ověřené na syntetických datech (exportovaná NMEA přibaleného scénáře zacházená jako záznam přijímače). Neuvádí se žádný laboratorní běh | 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) |
| Sledovací engine IQ oproti GNSS-SDR 0.0.19 na nezávislých záznamech | Úplný sledovací engine vrstvy IQ (iq::track prostřednictvím kshana iq track: předání z akvizice, korelátory, NCO, smyčka PLL Costas druhého řádu 15 Hz, smyčka DLL s obálkou EML prvního řádu 2 Hz podporovaná nosnou, indikátor zachycení a odhadovače C/N0) na GPS L1 C/A při 30 až 45 dB-Hz. | ExternalDataset | dílčí tvrzení je ověřeno externě, ale celá schopnost se skládá z modelovaných částí, takže zůstává modelovaná – GNSS-SDR 0.0.19 (GPL-3.0-or-later, balíček Ubuntu 24,04, spouštěný jako samostatný program; zapsána jen odvozená čísla) sleduje tytéž záznamy numpy (nezávislé na enginu), obojí změřeno proti analytické pravdě. Prahy předregistrovány v 48edd4a5, upraveny před jakýmkoli testovacím záznamem v 1e4288c4 (10 Hz FLL jen během náběhu u obou přijímačů, poté co registrovaná kalibrace selhala na chybném předání v GNSS-SDR, zjištění F3). MET při 30, 35, 40 a 45 dB-Hz: jitter nosné do 4,3 %, jitter kódu do 4,6 % a střední hodnota a rozptyl Dopplera v rozmezí hodnot GNSS-SDR. NOT MET: C/N0 z NWPR v enginu vychází o 2,3 až 7,1 dB níže než SNV v GNSS-SDR (zjištění F4, známý limit NWPR; jeho M2M4 je do 0,06 dB od pravdy); indikátory zachycení fáze se liší z definice (F5); při 30 dB-Hz GNSS-SDR dvakrát proklouzl a engine ne (F6). Vlastní předání GNSS-SDR se zachytilo na špatnou frekvenci ve 3 z 30 kalibračních běhů. CO NENÍ OVĚŘENO: jiné signály, odstranění datových bitů, opětovné zachycení, terénní záznamy. Řádek zůstává 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), na číslech odvozených skriptem tests/fixtures/iq_track_gnss_sdr_oracle/make_fixture.py |
| Zisky antény CRPA v druhu jamming oproti nezávislému přepočtu v numpy | Volitelná sekce [crpa] druhu jamming: paprsek pro každý kanál směrem ke každé družici (potlačení s rušičem jako nulou, nebo MVDR na sigma^2 I + P_j a_j a_j^H), který škáluje šum každého spoje hodnotou ||w||^2 a rušič hodnotou |w^H a_j|^2 před stávající rovnicí C/N0 pro ochranu proti rušení. | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně – nezávislé na testované jednotce, ale nikoli externě autoritativní – Nezávislý přepočet v numpy (xval/crpa-jamming/oracle.py, bez sdíleného kódu: vektory řízení v numpy, numpy.linalg.solve a inv) každého článku geometrie ukázky rušení se čtvercovým polem o 4 prvcích, při obou váhováních. Prahy předregistrovány v 08d83b4d. MET: A1 (všech 150 výsledků scénářů bajtově shodných bez oddílu, po opravě: první sestavení přidalo jednotky crpa do tabulky jednotek každého běhu s rušením), A2 (jeden prvek se rovná žádnému poli s přesností 1e-12 dB), A3 na šumovém zisku pole a efektivním C/N0 (912 váhování spojů do 1e-9 dB, nejhorší 2.1e-14 dB) a na nule jammeru při řízení nul (pod -200 dB na obou stranách), A4 (MVDR do 0,1 dB od řízení nul při JNR 80 dB). NOT MET: A3 na zisku MVDR vůči jammeru, 194 z 456 spojů nad 1e-9 dB na 0,36 přenosné matematiky (202 na matematice hostitele; docs/revisions/STUDIO15-batch4-rebaseline.md) (nejhorší 1.7e-6 dB) na rezidua -100 až -188 dB, kde zrušení v float64 omezuje obě implementace (inv a solve z numpy se spolu neshodují na 169 spojích, nejhorší 7.9e-7 dB); efektivní C/N0, které z nich vychází, tím není dotčeno. CO NENÍ OVĚŘENO: vzájemná vazba, nesoulad prvků, širokopásmové zpracování, více jammerů, jakýkoli anténní hardware. Přepočet týchž rovnic, nikoli externí orákulum; řádek zůstává 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), proti xval/crpa-jamming/expected.json ze xval/crpa-jamming/oracle.py |
| Terénní zastínění rušiče v druhu jamming oproti nezávislému přepočtu v numpy na skutečné dlaždici SRTM | Volitelná sekce [terrain] druhu jamming: profil terénu po ortodromě mezi rušičem a přijímačem na dlaždici SRTM .hgt s vyboulením Země podle k-faktoru, dominantní ostrá hrana (největší Fresnelovo-Kirchhoffovo nu) a ztráta jednou ostrou hranou podle ITU-R P.526-15 oddíl 4,1, odečtená od výkonu rušiče na vstupu přijímače. | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně – nezávislé na testované jednotce, ale nikoli externě autoritativní – Nezávislý přepočet v numpy (xval/jamming-terrain/oracle.py, bez sdíleného kódu: vlastní čtení .hgt, bilineární interpolace, převod tam a zpět WGS 84, profil, vyboulení, nu a J(nu)) deseti umístění jammeru kolem přijímače v Badwater Basin na zapsané skutečné dlaždici SRTM tests/fixtures/terrain/N36W117_sub6.hgt. Prahy a umístění předregistrovány v 92cd2bfd. Vše MET: aditivita (všech 150 výsledků scénářů bajtově shodných bez oddílu); body profilu a překážka každého umístění shodné a nu a útlum v rozmezí 1.6e-10 (práh 1e-9); útlum nikdy nevzroste, když jammer stoupá z 2 na 4902 m; útlum snižuje každé J/S přesně o sebe sama a o nic jiného; J(nu) do 1e-12 dB od orákula. Zjištění: umístění za pohořími Black a Funeral Mountains ztrácejí 44 až 48 dB; dvě umístění na dně údolí ztrácejí 8 a 15 dB jen vyboulením Země při výškách antén 2 m, což je mezní případ modelu s jedinou ostrou hranou. CO NENÍ OVĚŘENO: jakékoli měřené šíření, difrakce na více hranách, odraz od země, překážky v terénu, vlastní chyba digitálního modelu terénu. Přepočet téhož modelu, nikoli externí orákulum; řádek zůstává 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), proti xval/jamming-terrain/expected.json ze xval/jamming-terrain/oracle.py |
| Hystereze akvizice a kvantizér předního stupně v druhu jamming oproti nezávislým přepočtům | Volitelná sekce [acquisition] druhu jamming (družice je získána při hodnotě na akvizičním prahu nebo nad ním po prodlevě opětovné akvizice a držena, dokud je na sledovacím prahu nebo nad ním) a sekce [front_end] (údaj AGC 10 log10(1 + J/N) a ztráta Gaussova vstupního kvantizéru ADC odečtené z každého spoje, označené jako neplatné pro negaussovské rušiče). | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně – nezávislé na testované jednotce, ale nikoli externě autoritativní – Nezávislý přepočet v Pythonu každého příznaku zachycení (xval/jamming-acq-agc/hysteresis.py) z efektivního C/N0 enginu na epochu, nezávislé Monte Carlo v numpy ztráty kvantizéru (xval/jamming-acq-agc/quantiser_mc.py, vlastní hledání optimálního kroku, 2^22 vzorků) a smyčka AGC vrstvy IQ. Prahy předregistrovány v 70c72fcc, s doplňkovou sadou běhů se seedem 37793290. MET: aditivita (všech 150 výsledků scénářů bajtově shodných bez oddílů); každý příznak shodný na doplňkových bězích (1824 spojů, z nich 732 vykazuje hysterezi); monotónnost v prahu; ztráta kvantizéru do 0,0007 dB od Monte Carlo při 1 až 4 bitech (práh 0,02 dB); údaj AGC do 0,012 dB od smyčky AGC (práh 0,05 dB). NOT MET: registrované běhy s hysterezí (jamming-demo při 10 až 30 dBW) byly nevypovídající, protože všechny spoje byly ztraceny, a jejich H2 a H4 jsou splněny jen triviálně. Zjištění: při rušení nemodulovanou nosnou (CW) ztrácí 1bitový ADC asi o 5 dB více než gaussovská hodnota, kterou engine používá, a je označen jako neplatný. CO NENÍ OVĚŘENO: samotné vyhledávání zachycení, dynamika AGC v čase, jakýkoli hardware přijímače. Přepočty téhož modelu, nikoli externí orákulum; řádek zůstává 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), proti xval/jamming-acq-agc/expected_hysteresis.json, expected_hysteresis_s1.json a expected_quantiser.json |
| Omezené navázání FLL pod výchozí podlahou předání z FLL do PLL výchozího návrhu (volitelně) | volitelné carrier.fll_pull_in_max_s v iq::track (pole fll_pull_in_max_s v iq::track::LoopConfig): při fll_assist = pull-in předá FLL řízení PLL po pevné době navázání bez ohledu na PLI, s odpovídající dobou návratu, dokud PLI poprvé nedosáhne fll_off_pli. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Vnitřní konzistence proti vloženému skutečnému stavu: syntetický zdroj GPS L1 C/A bez datových bitů (PRN 13, 1500 Hz, 4,1 MHz, 8 s, deset seedů šumu), jehož fáze nosné je známa, podle prahů předregistrovaných v 58789af0 (docs/design/evidence/fll-handover-floor/). MET: kontrola (výchozí nastavení bez omezení nikdy nepředá řízení v 9 z 10 seedů při 33 dB-Hz); aditivita (výchozí hash a stávající testy sledování beze změny); náběh předání s chybou 100 Hz při 45 dB-Hz. NOT MET: s omezením 1,0 s předání a udržení v každém běhu (16 z 20 při 33 dB-Hz, 8 z 20 při 31 dB-Hz; ostatní se střídají mezi vynucenými předáními a návratem FLL) a fázový jitter do 25 % samotné PLL (10,8 proti 6,1 stupňům při 33 dB-Hz). CO NENÍ OVĚŘENO: datové bity, jiné signály a vzorkovací frekvence, terénní záznamy. Výchozí nastavení se nemění; řádek zůstává 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), na tests/fixtures/fll_handover_floor/results.csv |
| Čtečka řešení RTKLIB .pos pro receiver-trust | Čte soubor řešení RTKLIB (kalendářní čas nebo čas GPS týden/TOW, zeměpisná šířka/délka nebo poloha ECEF, použité družice) do časové osy receiver-trust (receiver_trust::machines::rtklib). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Žádné externí: nebyl přečten žádný soubor vytvořený RTKLIB a uspořádání sloupců je z příručky RTKLIB. Ověřeno jen na vlastnoručně napsaných souborech; převod ECEF znovu používá frames::ecef_to_geodetic, které má vlastní řádky | receiver_trust::machines::rtklib (read_rtklib_pos); receiver_trust::LogFormat::RtklibPos | receiver_trust::machines::rtklib::tests (epochy lat/lon, týden/TOW a ECEF, dms odmítnuto, nepřátelský vstup); tests/receiver_trust_machines.rs::rtklib_pos_runs_as_a_receiver_log; integrations/gnss_lib_py/test_bridge.py |
| Logy NovAtel OEM7 ASCII a binární (BESTPOS, RANGE, RXSTATUS) pro receiver-trust | Čte BESTPOS (poloha), RANGE (C/No podle signálu) a RXSTATUS (příznak rušení přijímače jako vlastní hlášení epochy) z logů OEM7 ASCII i binárních, s kontrolou CRC, jen pro čtení (receiver_trust::machines::novatel). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Žádné externí jako práh splnění. Uspořádání polí a CRC vycházejí z veřejné dokumentace OEM7 (docs.novatel.com); rutina CRC byla jednou ověřena proti CRC, které dokumentace uvádí pro vlastní příklad BESTPOSA (citováno, nikoli přepsáno). Testovací vstupy jsou vlastnoručně napsané; nebyl přečten žádný záznam ze skutečného přijímače | receiver_trust::machines::novatel (read_novatel, novatel_crc32); receiver_trust::LogFormat::Novatel | receiver_trust::machines::novatel::tests (zafixované CRC, záznamy ASCII a binární, chybné CRC přeskočeno, nepřátelský vstup); tests/receiver_trust_machines.rs::novatel_jammer_flag_reaches_the_receiver_self_report |
| Čtečka poměru nosné k šumu RTCM 3 MSM4 a MSM7 pro receiver-trust | Čte C/N0 každé signálové buňky zpráv RTCM 3 MSM4 a MSM7 (GPS, GLONASS, Galileo, SBAS, QZSS, BeiDou, NavIC) z proudu rámců, s kontrolou CRC-24Q (receiver_trust::machines::rtcm3). Rozložení z tabulek pyrtcm s licencí BSD, nikoli z textu normy RTCM. | ReferenceImpl | ověřeno proti samostatné implementaci v téže kódové základně – nezávislé na testované jednotce, ale nikoli externě autoritativní – ReferenceImpl v jednorázové kontrole, nikoli v testu sady: dekodér pyrtcm 1.2.0 čte tytéž vlastnoručně napsané rámce na stejné C/N0 a čas epochy. Sdílí zdroj svých tabulek s tímto čtecím modulem, takže kontroluje práci s bity, nikoli uspořádání. Nebyl přečten žádný záznam ze skutečného přijímače ani referenční stanice | receiver_trust::machines::rtcm3 (read_rtcm3, crc24q); receiver_trust::LogFormat::Rtcm3 | receiver_trust::machines::rtcm3::tests (katalogová kontrolní hodnota CRC-24Q, C/N0 z MSM4/MSM7 a slučování epoch, čas GLONASS a mapování identifikátorů SBAS, chybné CRC a jiné zprávy) |
| Adaptér monitoru GNSS-SDR pro receiver-trust | Čte zprávy GNSS-SDR Monitor (Gnss_Synchro) a PVT-monitoru, předávané jako řádky JSON s názvy polí z proto, do C/N0 po kanálech, určení polohy, použitých družic, HDOP a oblohy (receiver_trust::machines::gnss_sdr; integrations/gnss-sdr/relay.py). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Žádné externí: názvy polí pocházejí z dokumentace GNSS-SDR; čtecí modul ani relay.py nebyly spuštěny proti živému GNSS-SDR ani skutečnému záznamu | receiver_trust::machines::gnss_sdr (read_gnss_sdr_monitor); receiver_trust::LogFormat::GnssSdr | receiver_trust::machines::gnss_sdr::tests; integrations/gnss-sdr/example.jsonl |
| Načítání logů IMU, vstup směru z gyra a Allanův fit parametrů hybridních senzorů | Čte CSV IMU (zdokumentované sloupce, nebo rozložení EuRoC); integruje rychlost stáčení do směru, který čte monitor směru a kurzu ([log.imu]); a z klidového logu přes překrývající se Allanovu odchylku (imu-fit) fituje parametry šumu akcelerometru a gyra pro hybridní a fúzní scénáře. | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Žádné externí: proložení se ověřuje na syntetických záznamech bílého šumu se známými koeficienty, směr (heading) na záznamech s konstantní rychlostí stáčení. Žádný skutečný záznam IMU nebyl prokládán a q_aa se neprokládá | receiver_trust::machines::imu, imu_fit; surface::imu_fit; scenario [log.imu] | receiver_trust::machines::imu::tests; receiver_trust::machines::imu_fit::tests (známé koeficienty bílého šumu obnoveny do 10 %, odmítnutí, TOML se zpracuje jako AccelCfg); tests/receiver_trust_machines.rs (shoda a neshoda směru, vložená nosná, imu_fit) |
| Exportér objevování MQTT a stavu Home Assistant pro telemetrii důvěry | Stavový dokument JSON a zprávy objevování MQTT Home Assistant pro proud důvěry, vypisované jako text na každém rozhraní a publikované přes MQTT 3.1.1 QoS 0 příkazovým řádkem (telemetry::mqtt; trust-telemetry --mqtt-tcp, --print-mqtt, format mqtt). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Žádné externí: pakety četl naslouchač na loopbacku napsaný pro test, nikoli skutečný broker, a Home Assistant nebyl spuštěn | telemetry::mqtt (discovery, state_json, connect_packet, publish_packet, MqttSink); surface::TelemetryFormat::Mqtt | telemetry::mqtt::tests (bajty paketů, broker na loopbacku, nedostupný broker započten); tests/receiver_trust_machines.rs::trust_telemetry_mqtt_text_has_discovery_then_state |
| Balíček receiver-trust pro ROS 2 a most gnss_lib_py | Most bez ROS, který zapisuje zprávy o určení polohy a družicích jako NMEA a hodnotí je přes vazbu pro Python (integrations/ros2/kshana_trust), a most z gnss_lib_py NavData do receiver-trust přes formát rtklib-pos (integrations/gnss_lib_py). | InternalConsistency | ověřeno proti vlastní uzavřené / analytické identitě – zachytí chyby přepisu a koeficientů, ale není externím orákulem – Žádné externí: uzel ROS nebyl spuštěn na živém grafu ROS 2 a názvy polí ublox_ubx_msgs nebyly ověřeny proti běžícímu ovladači. Pro test mostu byl spuštěn gnss_lib_py (MIT) | 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: formát, který zapisuje most gnss_lib_py, vedený přes receiver-trust); testy mostů v Pythonu jsou integrations/ros2/kshana_trust/test/test_bridge.py (most s atrapou enginu), integrations/ros2/kshana_trust/test/test_engine_integration.py (skutečné kolo (wheel) ohodnotí stálé zaměření jako nominální a skok o 1,1 km jako nedůvěryhodný) a integrations/gnss_lib_py/test_bridge.py (skutečný gnss_lib_py 1.1.0 a kolo (wheel)), spouštěné pomocí pytest, nikoli pomocí cargo |
221 schopností označeno MODELLED.