Mapa schopností: co Kshana dělá, co dělá částečně a co nedělá
Kshana je engine důkazů o výkonu a odolnosti PNT (určování polohy, navigace a času), nikoli úplná sada nástrojů pro vesmírné systémy. Vede časováním a holdoverem, svou nejlépe ověřenou oblastí (viz POSITIONING.md). Tato stránka je upřímná mapa rozsahu: pro každou oblast schopností, kterou může recenzent nákupu nebo výzkumu kontrolovat, uvádí stav, co v kódu skutečně existuje, co chybí a kde to stojí v plánu. Stav je jeden z:
- úplná: implementována od začátku do konce a ověřena na úrovni uvedené v řádku;
- částečná: skutečný, ale omezený model (rozsah je výslovně vymezen níže);
- žádná: nemodelováno (dnes mimo rozsah).
Tyto tři jsou jediné hodnoty, které sloupec stavu nabývá. Hodnotí zralost schopnosti, což je jiná osa než stupeň VALIDATED / MODELLED / PARTNER v VERIFICATION-MATRIX.md; ten hodnotí původ důkazů, řádek po řádku, a je strojově kontrolován z src/verification.rs.
Nic zde není ctižádostivé: „částečná“ nikdy neznamená „skoro hotovo“, znamená „tolik a nic víc“. Viz také VALIDATION.md, INTEGRITY.md, QUANTUM-MODELS.md a registr uzavření nadsazených tvrzení CLAIMS-VS-REALITY.md (každé historické nadsazené tvrzení, jak bylo vyřešeno, a ochrana CI (průběžná integrace), která ho udržuje vyřešené).
Jádro PNT (kde Kshana skutečně hraje)#
| Schopnost | Stav | Co existuje | Co chybí | Plán |
|---|---|---|---|---|
| Určování oběžné dráhy a propagace | částečná | Bezzávislostní SGP4/SDP4 (SGP4: Simplified General Perturbations 4; SDP4: Simplified Deep-space Perturbations 4), ověřený na 4,12 mm proti všem 666 vektorům AIAA (American Institute of Aeronautics and Astronautics) 2006-6753 (poloha i rychlost, ta na 1 mm/s); analytický keplerovský + sekulární J2; setrvačná rychlost zpřístupněná a vyvedená od začátku do konce přes spustitelný scénář ephemeris (src/ephemeris.rs, dosažitelný z CLI/Python/WASM/MCP (CLI: rozhraní příkazového řádku; WASM: WebAssembly; MCP: Model Context Protocol)): v každém kroku vydává stav TEME (true equator, mean equinox) i GCRS (Geocentric Celestial Reference System) (poloha + rychlost), polohu ITRF/ECEF (ITRF: International Terrestrial Reference Frame; ECEF: Earth-centred, Earth-fixed), pozemní stopu pod družicí ve WGS-84 (WGS: World Geodetic System) (šířka/délka/výška) a azimut/elevaci/vzdálenost stanice + změnu vzdálenosti/Doppler (radiální změna vzdálenosti odpovídá skutečné derivaci polohy bez šumu JD (JD: juliánské datum) na 6e-9 m/s) a přes export efemerid OEM (Orbit Ephemeris Message) CCSDS (Consultative Committee for Space Data Systems) nesoucí rychlost (--export-oem). Numerický (Cowellův) propagátor (src/propagator.rs) integruje konfigurovatelný silový model zonálního gravitačního pole: plné zonální pole Země do stupně 6 (forces::zonal_accel, publikované EGM-96 (EGM: Earth Gravitational Model) J2..J6) s volbou adaptivního integrátoru: zdvojení kroku RK4 (Runge–Kutta čtvrtého řádu) nebo vnořená dvojice Dormand–Prince RK5(4) (integrate_dopri / propagate_dopri, levnější vnořený odhad chyby o 7 vyhodnoceních, který projde toutéž Keplerovou bránou a shoduje se s cestou RK4 na <1 m na dráze J2..J6), ověřený proti analytické pravdě silnější než numerický křížový nástroj: neporušená dráha reprodukuje přesné řešení Keplerovy úlohy v univerzálních proměnných na méně než metr za 24 h (přísnější brána než „proti referenci < 10 m“ u milníku), energie + moment hybnosti se zachovávají na ~1e-9 relativně, nodální regrese J2 odpovídá uzavřené sekulární rychlosti podle teorie prvního řádu, zonální zrychlení je ověřeno jako přesný gradient vlastního potenciálu (a redukuje se na uzavřený tvar J2 ověřený na 666 vektorech) a solve_kepler_checked vrací Err místo chybné odpovědi, když Newtonova metoda nekonverguje (např. poblíž perigea při e = 0,999). Gravitace třetího tělesa (Slunce a Měsíc) řízená epochou je zapojena do časově proměnného integrátoru (ForceModel::third_body / accel_at, s nízkopřesnými efemeridami Slunce a Měsíce src/ephem.rs podle Montenbrucka a Gilla; není třeba jádro DE/SPK (DE: Development Ephemeris; SPK: planetary ephemeris kernel)): každé vyhodnocení pravé strany (RHS, right-hand side) vzorkuje polohy rušících těles v posunuté epoše epoch_jd_tt + t/86400, takže se Slunce/Měsíc během integrace pohybují po svých drahách. Porucha je ověřena jako přesný gradient svého rušivého potenciálu, ve středu Země mizí a má učebnicové velikosti pro LEO (nízkou oběžnou dráhu Země) (~5e-7 m/s² Slunce, ~1.1e-6 m/s² Měsíc); efemerida Slunce trefuje ručně odvozené kotvy J2000 (vzdálenost v perihéliu, ~−23° deklinace při slunovratu, ~1°/den pohybu) a efemerida Měsíce svou obálku perigea/apogea, střední vzdálenost ~384 400 km, mez sklonu ≤ 5,3° a návrat směru po siderickém měsíci; a zapojení integrace je prokázáno bitově přesně (člen RHS se rovná third_body_accel ve vzorkované poloze v t = 0 a t = 1 den) s čtvrtletním posunem epochy, který dává jinou trajektorii. Tlak slunečního záření (SRP) jede na téže RHS řízené epochou (forces::srp_accel / ForceModel::solar_radiation): model dělové koule ν·P☉·cᵣ·(A/m)·(AU/d)²·d̂ s činitelem zatmění forces::conical_shadow umbra+penumbra (hladké ν ∈ [0 1], ověřeno, že se zužuje monotónní penumbrou sahající za umbrální válec), ověřený proti učebnicovému tlaku při 1 AU (AU: astronomická jednotka) (≈ 4.54e-6 N/m²), velikosti ~1.36e-7 m/s² na LEO tlačící od Slunce, poklesu s převrácenou druhou mocninou (zdvojnásobení vzdálenosti od Slunce ho sníží na čtvrtinu), přesně nulovému zrychlení v umbrálním válci a propagovanému posunu, který se škáluje ~lineárně s A/m. Atmosférický odpor je první člen závislý na rychlosti (forces::drag_accel / ForceModel::drag + nová accel_rv / RHS předávající rychlost): kvadratický odpor −½·ρ(h)·(C_D·A/m)·|v_rel|·v_rel proti spolu rotující atmosféře v_rel = v − ωₑ ẑ × r, přičemž ρ je po částech exponenciální forces::atmospheric_density podle Vallada, ověřený kotvou 1,225 kg/m³ u hladiny moře, přísně monotónním úbytkem na LEO s fyzikální výškovou škálou ~58 km, velikostí odporu ~2e-6 m/s² působícího proti relativní rychlosti a disipačním podpisem (dráha ve 300 km ztrácí měrnou energii monotónně a její hlavní poloosa klesá o omezených ~km/den, zatímco dráha ve vakuu energii zachovává). Postnewtonovská (Schwarzschildova) relativistická korekce je druhý člen závislý na rychlosti (forces::relativistic_accel / ForceModel::relativity): tvar IERS (International Earth Rotation and Reference Systems Service) β = γ = 1 a = (μ/c²r³)·{[4μ/r − v²]·r + 4(r·v)·v}, hlavní hnací člen relativistického posunu perigea, ověřený proti své uzavřené kruhové hodnotě 3μ²/(c²r³)·r̂ (radiální, ven), svému učebnicovému poměru ≈1.9e-9 k dvoutělesové na LEO, ručně zjednodušenému tvaru s radiální rychlostí a konzervativnímu podpisu (dráhu ruší, ale hlavní poloosu drží pod metrem/den, strukturálně opak odporu). Člen Lense–Thirring pro strhávání rámce (forces::lense_thirring_accel / ForceModel::lense_thirring, IERS 2010 §10) je gravitomagnetická korekce nad Schwarzschildův rámec: volitelný, na LEO o ~1–2 řádů pod ním, ověřený tak, že mizí bez rotace Země a leží pod velikostí Schwarzschildova členu. Určování oběžné dráhy (OD, src/orbit_determination.rs) uzavírá smyčku od pozorování zpět ke stavu: dávkový Gauss–Newtonův korektor (src/batch_ls.rs) dotahuje kandidátní [r, v] na nejlepší shodu se vzdálenostmi pozemních stanic propagovanými přes oblouk (pod metr / mm·s⁻¹ z bezšumových vzdáleností; ~2 m s reziduem po fitu na úrovni šumu 5 m, což je podpis konzistentního fitu nejmenších čtverců), s sekvenční rekurzivní variantou na filtru typu unscented |
Výchozí silový model Cowell nese pouze zonální pole: vysokostupňové tesserální pole EGM2008 (Earth Gravitational Model 2008) (src/gravity_sh.rs, stupeň/řád 70, se zavaděčem from_gfc pro soubory ICGEM (International Centre for Global Earth Models)) se skládá pouze do přesného enginu fitování efemerid (src/precise_od.rs; viz AGENCY-ORBIT-VALIDATION.md); hustota odporu je statická po částech exponenciální podle Vallada (nezávislá na sluneční aktivitě), nikoli NRLMSISE-00 (Naval Research Laboratory Mass Spectrometer and Incoherent Scatter Radar Extended atmosphere model; klauzule o hustotě termosféry < 5 %); SRP je model dělové koule s geometrickým kuželovým stínem umbra+penumbra (bez slunečního okrajového ztmavení, bez stínu zploštělé Země, bez tvaru/polohy družice); relativita pokrývá členy Schwarzschild a Lense–Thirring (strhávání rámce), oba volitelné, ale bez ladění parametrů PPN (PPN: parametrizovaný postnewtonovský); třetí těleso/SRP používají nízkopřesné efemeridy (~0,005° Slunce, ~0,3° Měsíc), nikoli přesnost jádra DE/SPK. Konzervativní úrovně silového modelu (dvoutělesová → J2–J6 → Slunce/Měsíc → SRP) jsou VALIDATED proti Orekit 12,2 (nejhorší 0,08 m za 24 h, tests/numerical_cowell_propagator_reference.rs) a dávkové/sekvenční určování oběžné dráhy je VALIDATED proti estimátorům Orekit 12,2 (tests/batch_sequential_orbit_determination_reference.rs); úroveň odporu a absolutní věrnost vstupu efemerid/hustoty zůstávají MODELLED; neexistuje křížová kontrola s GMAT (General Mission Analysis Tool) |
tesserální gravitace ve výchozím modelu Cowell + odpor NRLMSISE-00 + sluneční okrajové ztmavení + efemeridy třídy DE + křížová validace s GMAT + měření změny vzdálenosti/úhlu pro OD a analytická STM (matice přechodu stavu): P2+ |
| Časové systémy | částečná | src/timescales.rs: API juliánského data (civilní↔JD, MJD (modifikované juliánské datum)), UTC↔TAI (UTC: koordinovaný světový čas; TAI: mezinárodní atomový čas) podle úplné tabulky přestupných sekund IERS (10→37 s, 1972→2017), TAI→TT (TT: pozemský čas), UT1 (světový čas 1, čas rotace Země) přes DUT1 (čas rotace Země minus koordinovaný světový čas) a úhel rotace Země podle IAU-2000 (IAU: Mezinárodní astronomická unie) (ERA ověřen bit po bitu proti vektoru SOFA (Standards of Fundamental Astronomy) eraEra00). Aproximace DUT1≈0 na cestě SGP4 je výslovně zdokumentována v místě volání gstime (chyba GMST (Greenwichský střední hvězdný čas) ≤ ~13″, hluboko pod vlastní chybou modelu SGP4) a scénář ephemeris přijímá explicitní parametry dut1_s/xp_arcsec/yp_arcsec nebo vloženou skutečnou řadu IERS finals2000A (eop_finals2000a / kshana --eop <file>, interpolovanou stejným EopSeries, který používá precise_od), takže se pozemní stopa redukuje přes skutečný IERS UT1 / pohyb pólu, nikoli jen přes nominální skaláry |
Cesty pro dráhy kolem Země stále používají JD s jediným f64 (rozlišení ~50 µs kolem 2020; právě to, a ne algoritmus, je dolní mez pro křížovou kontrolu konečnými diferencemi); dvoudílné JD existuje (timescales::TwoPartJd, používá je radiometrická cesta, CCSDS-TDM, simulátor pozemního segmentu a cesty sluneční soustavy a také src/jd2.rs Jd2) a je protaženo přes SGP4 (Sgp4::propagate_at(Jd2)), predikci přeletů, geometrii a návrhy Walker (ověřeno proti SOFA, tests/jd2_sofa_time_oracle.rs) i přes rotaci Země na cestě dráhy (jd2::gmst82, cio::gcrs_to_itrs_matrix_jd2, orbit::Propagator::position_in_frame_jd2, volitelné two_part_jd ve scénáři efemerid; VALIDATED proti ERFA, tests/jd2_earth_rotation_erfa_oracle.rs), s bezeztrátovými převody mezi Jd2 a TwoPartJd; výchozí cesty pro dráhy kolem Země ponechávají datum s jediným f64, pokud není nastaveno two_part_jd, a epocha silového modelu Cowell zůstává záměrně s jediným f64 (její analytická chyba Slunce/Měsíce zcela převyšuje zaokrouhlení 40 µs); UTC s gumovou sekundou před 1972 (1960–1971) je na dvoudílné cestě modelováno (jd2, timescales::tai_minus_utc_on_date, VALIDATED proti ERFA, tests/jd2_pre1972_sofa_oracle.rs), ale timescales::tai_minus_utc s jediným f64 stále před 1972 ořezává na 10 s; prediktor orientace Země metodou nejmenších čtverců + autoregrese (src/eop_ls_ar.rs, porovnaný s IERS Bulletin A jako zjištění) nyní může rozšířit řadu EOP za její poslední řádek (EopSeries::with_ls_ar_prediction, volitelné; tests/eop_prediction_beyond_table.rs), takže argumenty rámce za tabulkou sledují předpověď místo ořezání; výchozí řada stále ořezává a žádný klíč scénáře predikci zatím nezapíná |
hotovo (základ); dvoudílné JD přes rotaci Země na cestě dráhy: hotovo (volitelně ve scénáři efemerid); predikce EOP za tabulkou: hotovo (knihovna, volitelně); UTC před 1972 na dvoudílné cestě: hotovo |
| Referenční soustavy | úplná | src/frames.rs: TEME↔ECEF založené na GMST, geodetické WGS-84↔ECEF (přesné + iterativní inverze, strojová přesnost ve všech výškách) a geodetický pozorovatel pozemní stanice (azimut/elevace/vzdálenost); precese IAU 2006 (src/precession.rs: Fukushima–Williamsovy úhly (γ̄, φ̄, ψ̄, ε̄_A) + matice zkreslení-precese GCRS↔střední rovnodennost data); nutace IAU 2000A/2000B + úplný řetězec TEME→GCRS (src/nutation.rs: úplná řada IAU 2000A, 678 lunisolárních + 687 planetárních členů, nutation_iau2000a / nutation_matrix_2000a, tabulka strojově vygenerovaná z reference ERFA (Essential Routines for Fundamental Astronomy) nut00a pomocí tools/gen_nut00a.py, vedle 77členné řady 2000B, Delaunayových argumentů, nutační matice SOFA iauNumat, rovnice rovnodennosti a teme_to_gcrs(r, v, jd_tt) přes TEME→TOD→MOD→GCRS (pravá rovnodennost data, střední rovnodennost data); obě řady ověřeny bit po bitu proti referenčním vektorům SOFA/ERFA nut00a/nut00b, Δψ/Δε na 1e-13 rad); pohyb pólu IERS PEF→ITRF (pseudo-pevná vůči Zemi na pozemní) (teme_to_itrf / polar_motion_matrix, SOFA iauPom00, x_p/y_p dodané volajícím; účinek desítek metrů na oběžném poloměru); redukce IAU 2006/2000A založená na CIO (CIO: Celestial Intermediate Origin) (src/cio.rs: řetězec GCRS↔CIRS↔ITRS bez rovnodennosti (CIRS: Celestial Intermediate Reference System; ITRS: International Terrestrial Reference System), CIP (Celestial Intermediate Pole) X,Y z matice NPB (nutace-precese-zkreslení) 2006/2000A, 66členná řada lokátoru CIO s, gcrs_to_cirs_matrix, úhel rotace Země a úplná gcrs_to_itrs_matrix; ověřeno bit po bitu proti vektorům SOFA eraXys06a/eraC2ixys/eraEra00). Transformace od začátku do konce jsou nyní pevně svázány s publikovaným autoritativním vzorovým příkladem, nikoli jen s vnitřní konzistencí: proti stavu Vallado AIAA 2006-6753 (2004-04-06, s jeho IERS EOP (parametry orientace Země); tests/frame_reference_vectors.rs) TEME→PEF souhlasí na 0,1 mm, TEME→ITRF na 0,6 mm, úplné CIO GCRS→ITRS na 4 mm a ECEF→geodetické reprodukuje šířku/délku/výšku Vallado Example 3-3 na poslední publikovanou číslici. Celý řetězec je dosažitelný uživatelem přes scénář ephemeris (poloha ITRF/ECEF + pozemní stopa pod družicí ve WGS-84 v každém kroku) |
Výchozí řetězec TEME→GCRS používá 2000B (~1 mas, pod úrovní vlastního zjednodušení rotace soustavy rychlosti); cesta < 0,1 mas s plnou 2000A je dostupná přes nutation_matrix_2000a a přesná redukce CIO (X, Y, s) je dostupná přes src/cio.rs. Starší cesta TEME používá GMST podle IAU-1982 (konvence SGP4). Nezávislá numerická křížová kontrola ANISE/SPICE (ANISE: Attitude, Navigation, Instrument, Spacecraft, Ephemeris — čistě rustový nástroj pro planetární geometrii; SPICE: Spacecraft, Planet, Instrument, C-matrix, Events) je dodána (xval/anise-frames/: gcrs_to_itrs_matrix vs GCRF→ITRF93 z ANISE (GCRF: Geocentric Celestial Reference Frame; ITRF93: International Terrestrial Reference Frame 1993) v osmi epochách 2020–2023, ≤ 0,86 m na zemi, ≤ 3,6 m na oběžné dráze GNSS (globální družicový navigační systém)); jde o samostatný crate mimo výchozí brány CI. precession_matrix a teme_to_gcrs_matrix jsou rovněž zkontrolovány přímo proti ERFA v 40 epochách 1950–2100 a řetězec CIO přebírá posuny nebeského pólu IERS dX, dY (cio::gcrs_to_cirs_matrix_with_offsets; tests/frames_erfa_vector_oracle.rs); výchozí cesty dX, dY stále zanedbávají. Verifikační matice hodnotí tento řádek jako VALIDATED (vektory SOFA/ERFA + Vallado) |
TEME↔ECEF + geodetické: hotovo (ověřeno Valladem); setrvačné TEME→GCRS: hotovo (2000B + úplná 2000A); ITRF s pohybem pólu: hotovo (ověřeno Valladem); CIO GCRS→ITRS: hotovo (ověřeno Valladem) |
| Časování a frekvence | částečná | Přesné dvoustavové Kalmanovy hodiny s van-Loanovou maticí Q (NIST (National Institute of Standards and Technology) SP (Special Publication) 1065) s Josephovou stabilizovanou aktualizací kovariance (pozitivně semidefinitní i při extrémních poměrech Q/R, kontrolováno Choleského rozkladem v CI) a monitorem zdraví konzistence filtru (src/filter_health.rs): posouzení NIS/NEES (NIS: normalizovaný čtverec inovace; NEES: normalizovaný čtverec chyby odhadu) metodou Monte Carlo proti pásmům spolehlivosti χ², zobrazené jako filter_health ve výsledném JSON (JavaScript Object Notation) a jako zelená/oranžová karta v hřišti, s testem průchodu nesouladem Q/R dokazujícím, že monitor přepne na nekonzistentní, když je ladění chybné (Bar-Shalom §5,4); překrývající se estimátory ADEV (Allanova odchylka), MDEV (modifikovaná Allanova odchylka), TDEV (časová odchylka), HDEV (Hadamardova odchylka) + intervaly spolehlivosti založené na χ² s efektivními stupni volnosti specifickými pro typ šumu (uzavřené tvary NIST SP 1065 Tabulka 5 pro WPM/FPM/WFM/FFM/RWFM (WPM: bílá fázová modulace; FPM: flicker fázová modulace; WFM: bílá frekvenční modulace; FFM: flicker frekvenční modulace; RWFM: frekvenční modulace náhodnou procházkou), sada, kterou používá Stable32; exportovaná křivka ADEV určí typ mocninného zákona záznamu ze sklonu MDEV a ke každému τ připojí pásmo 95 % — src/allan.rs), numericky ověřené proti referenčním odchylkám Stable32 pro kanonický datový soubor NBS14 na 1e-4 (tests/allan_reference.rs) a edf křížově zkontrolované souborem bílé FM (FM: frekvenční modulace) metodou Monte Carlo; poctivé holdover FoM (ukazatel kvality) omezené mřížkou; soubory hodin; model obousměrného přenosu času s rušením vzájemných zpoždění + nevzájemnou mezí diferenčního zpoždění s náhodnou procházkou FM (src/timetransfer.rs, hlásí se Allanův podpis); kalkulačka holdoveru hodin bez GNSS (src/holdover.rs) zpřístupňující uzavřený van-Loanův růst chyby při setrvání σ_x²(t) = q_wf·t + q_rw·t³/3 + q_drift·t⁵/20 jako uživatelskou inverzi holdover do prahu (jak dlouho hodiny běží volně, než jejich časová chyba překročí rozpočet), s reprezentativními třídami kvantových hodin (optická mříž/uvězněné ionty/ionty rtuti): vypočteno z modelu, nikoli externě ověřeno, křížově zkontrolováno vícekrokovou rekurzí kovariance clock_state a poctivě uvedeno, že u velmi stabilních hodin je holdover k přísnému prahu určen předpokládanou dlouhou τ červenou šumovou mezí, nikoli citovanou ADEV (pro obhajitelné číslo použijte naměřené meze). Podmíněná časová ochranná úroveň (src/tpl.rs) staví na stejném aparátu holdoveru pro případ spoofingu: mez nezachycené časové chyby při nezávislé křížové kontrole, tedy podlaha monitoru k-σ plus van-Loanův rozptyl při setrvání po dobu latence detekce plus doba do poplachu CUSUM (kumulativní součet), kalibrovaná na skutečném zaznamenaném spoofu (JammerTest 2024, Zenodo 15911589) a reprodukovatelná přes cargo run --example tpl_jammertest. Modelové složení, podmíněné detekcí: neexistuje konečná nepodmíněná mez (dostatečně pomalá rampa unikne jednomu monitoru podporovanému hodinami). Maximální chyba časového intervalu (MTIE) a TDEV jsou VALIDATED proti allantools (tests/mtie_reference.rs, tests/mdev_tdev_reference.rs) a inverze rozptylu při setrvání v holdoveru je VALIDATED proti SciPy (tests/gnss_denied_clock_holdover_reference.rs); druh telecom-timing je aplikuje na masky ITU-T (Telekomunikační standardizační sektor Mezinárodní telekomunikační unie) G.8272 / G.8272.1 / G.8273.2 / G.8271.1; viz TELECOM-TIMING.md |
úplné edf algoritmu Greenhall (jednoduché uzavřené tvary mají omezené vychýlení, ale jsou hrubší než přesné BasicSum) a identifikace směsi více typů šumu | přesné edf + identifikace směsného šumu: P2 |
| Zpracování GNSS / PNT | částečná | Simulace pseudovzdáleností v oblasti měření (druh gnss-sim, src/gnss_sim.rs): pro každou viditelnou družici syntetizuje ρ = geometric range + c·δt_rx − c·δt_sv + I + T + noise + multipath a Doppler na L1 s jednofrekvenční ionosférou Klobuchar (IS-GPS-200 (IS: Interface Specification; GPS: Global Positioning System) §20.3.3.5.2.5) a zenitovou troposférou Saastamoinen (Davis 1985) promítnutými mapovací funkcí Niell (1996), každý model ověřený jednotkovým testem proti ručnímu výpočtu; reziduály pak předá snapshot RAIM (autonomní monitorování integrity přijímačem) pro HPL/VPL v každé epoše (HPL: horizontální ochranná úroveň; VPL: vertikální ochranná úroveň) a vydá pole gnss_measurements[] (pseudovzdálenost, Doppler, C/N₀, korekce iono/tropo pro každou SV (kosmickou družici)). Dále DOP/dostupnost (DOP: faktor zhoršení přesnosti) a RAIM se separací řešení z drah; příjem navigačních dat RINEX (Receiver Independent Exchange Format) 3 z více GNSS (GPS/Galileo/QZSS/BeiDou (QZSS: japonský Quasi-Zenith Satellite System) přes IS-GPS-200, stavový vektor GLONASS (ruský Global Navigation Satellite System)) zpracovaný na polohu ECEF družice a odchylku hodin, použitelný jako plnohodnotný zdroj Propagator A jako vložený blok konstelace rinex (scenarios/orbit-rinex.toml); příjem pozorování RINEX 3 (očekává se, že rozložení pozorování 4,00 se zpracuje, ale žádný soubor 4,00 nebyl vyzkoušen; navigační soubory RINEX 4 jsou odmítány podle názvu, místo aby byly chybně dekódovány); řešič určování polohy z jednoho bodu (druh pvt, src/pvt.rs), který mění skutečné kódové pseudovzdálenosti RINEX + broadcast efemeridy na polohu přijímače iterovanou váženou metodou nejmenších čtverců: korekce Sagnac/rotace Země, broadcast hodiny družice s −TGD, dvoufrekvenční kombinace L1/L2 bez ionosféry (nebo jednofrekvenční Klobuchar), troposféra Saastamoinen/Niell, váhy podle elevace, DOP a snapshot RAIM, ověřený na skutečných datech IGS (International GNSS Service) (stanice ABMF, Guadeloupe, 2018-05-13) na 5,7 m 3D RMS (střední kvadratická hodnota) / 1,1 m horizontálně proti zaměřené souřadnici stanice (tests/pvt_abmf.rs, scenarios/pvt-abmf.toml); a čtení/zápis přesných drah SP3 (Standard Product 3, formát přesných drah) |
Kódový polohovací engine a od 0,36 také zpracování fáze nosné na skutečných pozorováních: řešič pvt počítá skutečnou polohu ze skutečných kódových měření (určování polohy z jednoho bodu, úroveň metrů, s dvoufrekvenční kombinací bez ionosféry); rtk_real::run_rtk provádí RTK na krátké základně na skutečném dvoufrekvenčním kódu a fázi GPS (dvojité diference, plovoucí Kalmanův filtr, řešení celočíselných nejednoznačností LAMBDA s poměrovým testem, src/lambda.rs) a statický plovoucí filtr PPP běží na skutečném kódu a fázi s konečnými drahami a hodinami IGS. Obojí je VALIDATED proti publikovaným souřadnicím ITRF2020 stanic IGS (WTZR/WTZZ, tests/rtk_real_wettzell_oracle.rs, tests/ppp_real_wettzell_oracle.rs, prahy předregistrovány); chybí řešení celočíselných nejednoznačností PPP, kinematické nebo síťové RTK a provoz v reálném čase. Hatchovo vyhlazování nosnou je pevně stanovené zjištění MODELLED (jeho předregistrované prahy byly nesplněny). Druh leo-ppp spouští plovoucí filtr PPP na měřeních, která simuluje, pro studie konvergence; dopředný balíček gnss-sim zůstává simulátorem z pravdy; BeiDou-GEO (GEO: geostacionární dráha) je vyloučen |
Fixace nejednoznačností PPP, kinematické nebo síťové RTK, provoz v reálném čase: použijte RTKLIB/gLAB (RTKLIB: open-source knihovna pro kinematické určování polohy v reálném čase) |
| Fúze senzorů / dead-reckoning INS (inerciální navigační systém) | úplná | 3osá strapdown knihovna (src/inertial/{attitude,mechanization,imu_errors}.rs): kvaternionová orientace s kompenzací coning/sculling, úplná mechanizace NED (sever–východ–dolů) (rychlost rotace Země + transportní rychlost, gravitace WGS-84 podle Somiglianovy formule) a deterministický model chyb IMU (inerciální měřicí jednotky) (měřítkový faktor, nesouosost, citlivost na g, kvantizace, rampa rychlosti modelované). Strapdown navigátor je nyní zapojen do spustitelného volně vázaného balíčku GNSS/INS s ukazatelem kvality (src/fusion/pack.rs, kind = "gnss-ins"): tříosá mechanizace je řízena chybově stavovým EKF s 15 stavy (rozšířený Kalmanův filtr) (src/fusion/{gnss_ins_ekf,closed_loop}.rs, zpětná vazba polohy/rychlosti/orientace/biasu), dokud je GNSS k dispozici, a poté dojíždí výpadek — nahrazuje reset na pravdu skutečnou fúzí a uvádí fúzovanou horizontální chybu oproti dojezdu volného INS s otevřenou smyčkou. Samostatný starší balíček inertial stále provádí rozpočet se skalárem s 1 stupněm volnosti (DOF: stupeň volnosti) a resetem na pravdu. Implementována je rovněž těsně vázaná aktualizace pseudovzdálenosti (update_tightly_coupled / fuse_tightly_coupled): tvoří inovaci v oblasti vzdálenosti (jakobián přímé viditelnosti vůči δp) a dál koriguje i s méně než čtyřmi družicemi, kde volně vázané určení PVT (polohy, rychlosti a času) neexistuje. Úplný těsně vázaný UKF GNSS/INS se 17 stavy (unscented Kalmanův filtr) (src/fusion/tightly_coupled17.rs) nese polohu, rychlost, chybu orientace, biasy akcelerometrů a gyroskopů a hodiny přijímače (bias + drift), s kvantovým dojezdem CAI (CAI: interferometr studených atomů) — procesní šum náhodné procházky rychlosti je odvozené q_va akcelerometru se studenými atomy — dojíždí 120sekundový výpadek omezený na několik set metrů (oproti kilometrům u volného INS navigační třídy). Tento UKF se 17 stavy je nyní zpřístupněn jako spustitelný scénář (src/fusion/hybrid_ukf.rs, kind = "hybrid-ukf", dosažitelný z CLI/Pythonu/WASM/MCP): 15 chybových stavů INS je rozšířeno o korekci biasu akcelerometru odvozenou z CAI (interferometr studených atomů stanovuje spodní mez náhodné procházky rychlosti q_va) a 2stavové hodiny s fází a frekvencí, jejichž procesní šum pochází z enginu hodin s q-parametry (clock_state::q_from_allan, Allanův profil → q_wf/q_rw), poháněný vymezeným modelem chyb CAI, takže běh předvádí hybridizaci krátkodobého klasického IMU a dlouhodobého kvantového. Jeho ukazatelem kvality je vnitřní soulad filtru — souhrnné NEES + bělost inovace (NIS) přes soubor Monte Carlo vůči jejich 95% pásmům χ² (odpovídající filtr leží uvnitř pásem; špatně naladěný filtr je označen, objektivně ověřitelná brána). Jde o tvrzení o VNITŘNÍM SOULADU za modelovaného šumu, NIKOLI o záruku přesnosti v reálném světě — vstupy CAI/hodin jsou vymezené/modelované, hardware CAI vlastní partner a nic zde nenaznačuje TRL (úroveň technologické připravenosti)>3, letovou historii ani vnější validaci. Deterministický model chyb IMU je nastavitelný pro každý senzor ze souboru scénáře gnss-ins TOML (Tom's Obvious Minimal Language) ([imu_*.error_model]: měřítkový faktor, nesouosost, citlivost na g, kvantizace, rampa rychlosti) a při vynechání je výchozí čistý zdroj s konstantním biasem |
Těsná vazba je pouze na pseudovzdálenostech (fáze nosné je v plánu); scénář hybrid-ukf používá jedinou trajektorii s konstantní rychlostí v rovině, na níž jsou chybové stavy orientace a biasu IMU pozorovatelné jen slabě, takže konzistence NEES se posuzuje na odhadnutelné podmnožině (poloha, rychlost, hodiny = 8 stavů); plná pozorovatelnost všech 17 vyžaduje manévrující trajektorii (v plánu); dvojice bias akcelerometru/náklon u volné vazby je slabě oddělitelná, takže kalibrace po jednotlivých biasech se netvrdí; model chyb IMU vynechává rektifikaci vibrací a drift z teplotního gradientu; 17stavový UKF a těsně spřažené cesty jsou ověřeny sami sebou (analytická integrace konstantní rychlosti, konvergence podpory GNSS, obnovení biasu, mez 120s výpadku omezená CAI a orákulum konzistence NEES/NIS χ²); samotná mechanizace strapdown je VALIDATED proti NaveGo v1.4 (tests/classical_strapdown_ins_reference.rs: orientace bit po bitu shodná, rychlost/poloha v pojmenovaných analytických mezích), ale nebyla provedena žádná křížová validace na úrovni filtru (NaveGo ani datová sada vozidla KF-GINS) |
těsná vazba s fází nosné, plná pozorovatelnost všech 17 při manévrující trajektorii, knihovna trajektorií, křížová validace filtru s NaveGo/KF-GINS: P2 |
| Integrita / RAIM / ARAIM (pokročilé autonomní monitorování integrity přijímačem) | částečná | Skutečný snapshot RAIM v src/raim.rs: řešení nejmenších čtverců + detekce poruchy reziduálním χ² (přesný práh z χ² s neúplnou gamma funkcí bez závislostí) a HPL/VPL založené na sklonu (pbias z necentrálního χ² pro nastavené P_fa/P_md); RAIM se separací řešení (MHSS) s detekcí/identifikací poruchy; rozpočet integritního rizika ARAIM (P_HMI) (araim_raim), který řeší nejmenší HPL/VPL, jejichž sečtené P_HMI = Σ_k p_fault,k·Q((PL−T_k)/σ_k) splní explicitní alokaci integritního rizika, dvou-/vícekonstelační režim poruchy celé konstelace (araim_dual_raim, EU (Evropská unie) ARAIM TN (technická poznámka) / DO-316; P_const = 0 ⇒ bit po bitu araim_raim), explicitní zpráva o podpoře integrity (IntegritySupportMessage: σ_URA/σ_URE/b_nom/P_sat/P_const, s referenčními hodnotami WG-C (WG: pracovní skupina) GPS+Galileo), a také integritní diagram Stanford(-ESA, Evropská kosmická agentura) (druh scénáře integrity a samostatný vykreslovač stanford_svg čtyř zón + hranice PL=error). Zdokumentováno od začátku do konce v ARAIM_REFERENCE.md. Plus vlastní konzistence filtru ukazatele kvality scénáře (mez k-σ) |
RAIM je dosažitelný přes druh scénáře integrity a (0,36, volitelně) vedle FoM hodin/holdoveru jako samostatný blok integrity_fom ([integrity]: snapshot RAIM na předvolené obloze ze zadaného stanoviště, nedostupný, dokud je GNSS odepřeno; MODELLED), nikdy nesloučený do holdover FoM, který stále uvádí vlastní konzistenci; snapshot RAIM nese jednosatelitní FDE (detekce a vyloučení poruchy, raim::snapshot_raim_fde, VALIDATED proti RTKLIB raim_fde v tests/integrity_snapshot_raim_rtklib_oracle.rs); vícehypotézová separace řešení ARAIM ADD v4.2 s určením vícesatelitních podmnožin je v src/araim_reference.rs (VALIDATED proti Stanford MAAST, tests/integrity_araim_stanford_oracle.rs), ale rozpočet raim::araim_raim s jednotným sigma stále pokrývá jen poruchy jedné SV a celé konstelace a neodpovídá ADD (0,36, volitelně: souběžné poruchy více podmnožin SV pravidlem podmnožin ADD v4.2 zobecněným za dvojice, araim_subset_raim, add_v42_protection_levels_to_order; MODELLED, bez běhu MAAST za dvojicemi) a vyloučení více SV není modelováno; a araim_dual_raim je zapojen do běhu scénářů TOML příznakem araim_dual (scenarios/araim-gps-galileo.toml) s cestou dostupnosti v každé epoše araim_dual_constellation_availability; jádra snapshot/MHSS/ARAIM jsou prověřena na skutečné geometrii přesných drah IGS (SP3) (tests/igs_real_data.rs) a na skutečných TLE Celestrak GPS+Galileo (tests/araim_dual_real_data.rs, každá družice propagována do jedné společné epochy UTC, tedy do nejnovější epochy TLE (sady dvouřádkových prvků) v sadě, 2026-06-07T07:21:04, pro uživatele na sklonu 45° ve výšce 400 km po dobu 24 h: dostupnost při VAL (vertikální mez výstrahy) 12 m / HAL (horizontální mez výstrahy) 10 m je 0,993 pouze s GPS, 1,000 se sloučenými GPS+Galileo a 0,990 v dvojitém režimu odolném vůči poruše konstelace; údaj dříve zde publikovaný, 0,21→0,67 s robustním režimem „omezený“, pocházel z propagace každé družice z její vlastní epochy TLE, tedy z oblohy, která nikdy neexistovala, a je stažen); dřívější porovnání „EU-ARAIM-TN Table A-3“ je staženo (bez veřejného zdroje) a reprodukce veřejných položek maximálního URA EU-US WG-C ARAIM Milestone 3 (Tabulky 5 až 7, řádky Depleted a Baseline) je pokusně provedena v xval/araim-m3/ za uvedených odchylek (MODELLED, viz INTEGRITY.md); bez certifikace DO-229/ARAIM |
víceporuchový ARAIM (ADD v4.2): hotovo; podmnožiny s více SV v raim + parita gLAB v oblasti přijímače + zapojení FoM: P2 (viz INTEGRITY.md) |
| Modelování hrozeb spoofingu a rušení (jamming) | částečná | Stochastický detektor časového spoofingu (druh spoof, src/spoof.rs + src/detection.rs): čtyři tvary injekce (lineární rampa, skokový posun, meaconing, replay) proti monitoru podporovanému hodinami s oboustranným energetickým testem χ²₁ / testem Neymana–Pearsona, s detekčním prahem nastaveným z cílového rozpočtu falešných poplachů P_fa a pravděpodobností nezachycení P_md uváděnou jak v uzavřeném tvaru, tak metodou Monte Carlo (obě se shodují na několik ×1/√N) — ukazatelem kvality zabezpečení je 1 − P_md. Plus model rušení (jamming) podle rozpočtu spoje (druh jamming, src/jamming.rs): poměr rušení k signálu z geometrie (ztráta šířením ve volném prostoru + zisk přijímací antény podle směru), standardní rovnice efektivního C/N₀ proti rušení (zisk zpracování při rozprostření + faktor spektrálního oddělení Q; Kaplan & Hegarty §9,4), ztráta zachycení pro jednotlivé družice při nastavitelném prahu sledování a ukazatel kvality availability_under_jamming nad konstelací Walker. Plus vícevrstvá sada monitorů spoofingu v RF/měření (RF: rádiová frekvence) (src/spoof_monitors.rs): vícedružicový test parity konzistence RAIM (parity_raim_test, vážený reziduální SOS (součet čtverců) vs práh χ²(m−4) — a správně označí, že společný posun je pro RAIM neviditelný), monitor AGC (automatické řízení zisku) (AgcMonitor, přebytek přijímaného výkonu nad očekávaným dnem), monitor kvality signálu / SQM (monitorování kvality signálu) (SqmMonitor, nevyváženost korelátorů Early/Late) a slučovač vrstev (fuse_spoof_layers). Ty se skládají do integrovaného CombinedSpoofDetector, jehož evaluate přijímá jednu epochu pozorovatelných veličin (geometrie + rezidua, výkon AGC, odbočky Early/Late) a v jediném volání provede všechny tři vrstvy váženou fúzí a vrátí diagnostiku pro jednotlivé vrstvy; je zpřístupněn jako spustitelný scénář spoof-detect (src/spoof_detect.rs, dosažitelný z CLI / Pythonu / playgroundu, JSON + SVG (Scalable Vector Graphics)) a charakterizován podle zveřejněných parametrů scénářů TEXBAT (Texas Spoofing Test Battery) (Humphreys a kol., ION (Institute of Navigation) GNSS 2012; tests/spoof_texbat_validation.rs) — reprodukuje zdokumentovaný vzorec detekovatelnosti včetně negativních výsledků: přehlušený ds2 zachycen AGC + SQM, ds3 se shodným výkonem samotným SQM, ds4 s posunem polohy monitorem RAIM a ds7 se shodným výkonem a zarovnanou fází nosné ponechán (správně) detektoru podporovanému hodinami |
Druh jamming je rozpočet spoje — nemá vícecestné šíření ani dynamiku AGC v čase. Od 0,36 přijímá čtyři volitelné sekce: [crpa], adaptivní anténní svazek pro každý kanál (potlačení směru nebo MVDR z src/crpa.rs, zkontrolováno proti nezávislému přepočtu v numpy; MODELLED), a [terrain], ztrátu jediné ostré hrany difrakcí na dráze rušiče přes dlaždici SRTM (src/jamming_terrain.rs, ITU-R P.526-15 §4,1, zkontrolováno proti nezávislému přepočtu v numpy na skutečné dlaždici; MODELLED, pouze jedna ostrá hrana), [acquisition], hysterezi mezi záchytem a sledováním, a [front_end], ustálenou hodnotu AGC a kvantizační ztrátu ADC pro gaussovský vstup (src/jamming_rx.rs; označeno jako neplatné pro negaussovské rušiče; MODELLED). Zrcadlové vícecestné šíření, únik v pozemní mobilní komunikaci a AGC existují ve vrstvě IQ (src/iq/channel/multipath.rs, src/iq/channel/land_mobile.rs, src/iq/frontend/agc.rs) a nejsou zapojeny do druhu jamming; tabulka spektrálního oddělení Q obsahuje učebnicové hodnoty pro jednotlivé typy (CW a úzkopásmové 1, širokopásmové a rozmítané 2 od 0,36), připnuté ke koeficientům odvozeným ze spektrálních hustot výkonu (PSD) v navsignal (viz řádek signálu navigace). Detektor spoofingu podporovaný hodinami je jednohodinový; monitory RF/měření jsou nyní integrovány (CombinedSpoofDetector) a charakterizovány podle zveřejněných parametrů scénářů TEXBAT (Humphreys a kol.); zbývá validace proti surovým vektorům — vzorkům IQ (v-fázi/kvadratura) TEXBAT (které vyžadují akviziční/sledovací přední část SDR (softwarově definované rádio), již kshana nemá, protože je simulátor, nikoli přijímač) nebo licencovanému scénáři Spirent — zdokumentované pokračování |
podporovaný hodinami + integrovaný kombinovaný detektor z konzistence RAIM s více SV + AGC + SQM + charakterizace podle parametrů TEXBAT: hotovo; validace na surových vektorech (TEXBAT IQ / licencovaný Spirent): pokračování |
| Modulace navigačního signálu a výkon sledování kódu | částečná | src/navsignal.rs: úroveň signálu mezi rozpočtem spoje a doménou měření. Jednotkově plošné spektrální hustoty výkonu pro BPSK-R(n) (binární fázová modulace, obdélníkové chipy) a sine-BOC(m,n) (binární offsetová nosná) (v CI ověřeno na jednotkovou plochu, na uzavřený tvar vlastního koeficientu spektrálního oddělení (SSC) pro BPSK κ = 2/(3R_c) a na spektrální rozdělení BOC — nula na nosné, vrcholy při ±f_s); koeficient spektrálního oddělení κ = ∫ G_s(f)G_i(f) df, který nyní odvozuje faktor Q proti rušení používaný v jamming ze skutečných spekter signálu a rušiče (Q = 1/(R_c·κ)) místo reprezentativní konstanty (širokopásmová reference je křížově kontrolována v CI); efektivní (Gaborova) šířka pásma (BOC > BPSK — míra informace o určování vzdálenosti / Cramérova–Raova míra); tepelný šum (jitter) sledování kódu koherentní early–late smyčkou DLL (smyčka zavěšená na zpoždění) (Kaplan & Hegarty §8 — ~pod metr pro C/A při 45 dB-Hz, monotónní v C/N₀); a obálka chyby vícecestného šíření (koherentní EML (early-minus-late), nalezená určením nuly složeného diskriminátoru — potlačení úzkým korelátorem ověřeno). Vrstva návrhových kompromisů kódů určování vzdálenosti (CodeFamily) přidává postranní laloky periodické autokorelace m-posloupnosti/Gold (1/L pro m-posloupnost) a trojhodnotovou mez křížové korelace Gold t(n)/L — reprodukuje zveřejněnou křížovou korelaci Gold pro GPS C/A −23,9 dB (vnější kotva) a počet m-posloupností φ(2ⁿ−1)/n — plus inverzi mezi délkou kódu a jednoznačným dosahem; záruky Gold upřímně vracejí None, kde neexistuje preferovaný pár (n mod 4 = 0), místo aby uváděly mez, která neplatí. |
Od 0.31.0 samostatná vrstva IQ (src/iq/, příkazy kshana iq; návrh v design/GNSS-IQ-PLAN.md) přidává řetězec softwarového přijímače: akvizici FFT (rychlá Fourierova transformace), vícekanálovou sadu sledování DLL/PLL/FLL (smyčky zavěšené na zpoždění, fázi a frekvenci), filtrování přední části a kvantizaci na 1 až 14 bitů a streamování zaznamenaných datových sad. Nezávislý softwarový přijímač obnovuje vložená pravdivá data svých scén a kódy GPS L1 C/A a bity LNAV (starší navigační zpráva) se shodují bit po bitu s gps-sdr-sim. Stále chybí: diskriminátory smyček předpokládají ideální korelační trojúhelník BPSK, takže neexistuje řešení nejednoznačnosti sledování BOC; modely kanálu a smyček jsou MODELLED, zkontrolované proti uzavřeným tvarům a vloženým pravdivým datům, nikoli proti naměřeným polním datům IQ; pouze skalární smyčky (žádné vektorové sledování). Návrh hardwaru antény/RF užitečného zatížení (vyzařovací diagramy, přední část) je záměrně mimo rozsah — role partnera pro užitečné zatížení. |
nejednoznačnost BOC + validace vrstvy IQ na polních datech IQ: P2+ |
| Fyzika kvantových senzorů PNT | částečná | Většina senzorů jsou zveřejněné koeficienty Allan/rozpočtu šumu (CSAC, optické), plus akcelerometr s interferometrem studených atomů (CAI) z prvních principů v src/inertial/quantum_imu.rs: třípulzní fáze Mach–Zehnder Φ = k_eff·a·T², kvantový projekční (výstřelový) šum σ_Φ = 1/(C√N), odvozená PSD náhodné procházky rychlosti q_va, kterou spotřebovává inerciální zásobník, pokles kontrastu, přenosová funkce vibrací |H(ω)| + rozptyl bílé PSD a nyní systematické chyby Coriolisovy/rotační (coriolis_phase, ekvivalentní bias 2Ω×v) a světelného posuvu AC-Stark (AC: střídavý proud) (ac_stark_phase, symetrické zrušení) + průchod driftu podle doby cyklu (cai_drift_sweep) a složený rozpočet chyb kvantově inerciálního dojezdu (QuantumNavBudget), který spojuje bílošumovou náhodnou procházku rychlosti CAI se zbytkovým biasem (½·b·t², zkontrolováno proti nezávislému eulerovskému integrátoru AccelModel), chybou měřítkového faktoru a volitelnou dlouhodobou degradací stability (odlišnou od dekoherence jednotlivých výstřelů) do jediné hodnoty driftu polohy při holdover plus inerciálního holdoveru do prahu — dojezdového protějšku holdoveru hodin. Modelovaná kvantová spodní mez je vymezena (nikoli shodná) vůči 96 nm/s²/√Hz mobilního gravimetru Freier a kol. 2016 (arXiv:1512,05660) — leží pod ním a do ~2 řádů od něj. Zdokumentováno v QUANTUM.md |
Systematické chyby vlnoplochy/zaměření svazku nejsou modelovány; mez nejednoznačnosti proužků Mach–Zehnder je modelována (max_unambiguous_accel, dynamic_range_cells v src/inertial/quantum_imu.rs), ale řešení nejednoznačnosti ne; přesné rozpočty letových zkoušek CARIOQA-PMP (CARIOQA: Cold Atom Rubidium Interferometer in Orbit for Quantum Accelerometry) / Boeing-AOSense (vyžadují zveřejněné PSD platformy + SNR (poměr signálu k šumu) na jeden výstřel) a předvolba playgroundu v JS (JavaScript) zůstávají nevyřešeny |
systematické chyby vlnoplochy + reprodukce letové zkoušky: P2+ (QUANTUM-MODELS.md) |
| Návrh konstelace | částečná | Syntetický Walker (jak analytický keplerovský, tak se středními elementy SGP4, druhý propagovaný přes jádro ověřené na 4,12 mm — src/walker.rs) + viditelnost a DOP z reálných TLE pro více konstelací (GPS+Galileo do 100%), ověřené proti skutečnému snímku Celestrak gps-ops (tests/igs_real_data.rs); průchod návrhů PDOP (zhoršení přesnosti polohy) přes mřížku {planes × sats × inclination} a ukazatele kvality podíl pokrytí / doba návratu; spustitelný druh constellation-design (vzory Walker delta a star v konvenci i: T/P/F, explicitní seznamy elementů, vícevrstvé návrhy a zveřejněné předvolby, kolem Země, Měsíce, Marsu nebo jakéhokoli jiného katalogizovaného tělesa), jehož geometrie Walker a zveřejněné sloty GPS, Galileo a GLONASS jsou VALIDATED proti zveřejněným tabulkám a jehož globální základní faktor DOP pro GPS je VALIDATED proti výkonnostnímu standardu služby GPS Standard Positioning Service, zatímco mapy pokrytí pro libovolné návrhy zůstávají MODELLED; optimalizátor návrhu bez gradientu (optimize_walker_design), který prohledává mřížku a hledá nejlepší návrh podle zvoleného cíle (MinSatellitesForCoverage / MaxCoverage / MinWorstPdop), ověřený tak, že vrací vítěze hrubé síly; a analytická geometrie streets-of-coverage (coverage_half_angle_rad, street_half_width_rad; uzavřené tvary Rider/Beste, ručně ověřeno — GPS při masce 5°: λ ≈ 71,2°, poloviční šířka ulice pro 4 družice ≈ 62,8°) |
Existuje idealizované dimenzování streets-of-coverage s minimem družic (walker::StreetsCoverageDesign); přesná korekce Rider na styku protiběžných rovin není implementována; playground kreslí bezzávislostní 3D pohled na dráhy (web/studio/lib/orbit3d.mjs) a export CZML (Cesium Language) --export czml načte geometrii do globu CesiumJS; jádro DOP je VALIDATED proti gnss_lib_py (tests/dop_reference.rs) a úplný řetězec viditelnosti pro více konstelací je křížově zkontrolován od začátku do konce proti Orekit 12,2 + gnss_lib_py (tests/coverage_dop_full_oracle.rs): návrhy pro Zemi se shodují na každém prahu, ale návrhy pro Měsíc a Mars práh DOP nesplní na numericky singulární geometrii, takže řádek zůstává MODELLED; geodetické vs geocentrické „nahoru“ v soustavě DOP |
dimenzování streets-of-coverage + 3D pohled na dráhy + křížová kontrola pro Zemi od začátku do konce: hotovo; přesná korekce Rider + špatně podmíněný DOP mimo Zemi: P2 |
| Verifikace a validace | částečná | Kontroly proti vnějším orákulům napříč enginem (SGP4 vs 666 vektorů AIAA, rodina Allan vs Stable32 a allantools, soustavy vs SOFA/ERFA, silový model a určování oběžné dráhy vs Orekit, ARAIM vs vzorový příklad WG-C a další; aktuální počet je ve vygenerované hlavičce VERIFICATION-MATRIX.md); deterministické kontroly Allan; strojově kontrolovaná verifikační matice (src/verification.rs) — křížový odkaz požadavek→modul→test→orákulum→stav, jehož invarianty poctivosti jsou testovány jednotkovými testy: řádek smí být označen jako ověřený jen tehdy, nese-li nezávislé vnější orákulum (NIST/AIAA/SOFA/IGS/zveřejněná hodnota), takže vnitřní kontrola vlastního souladu se nemůže vydávat za validaci; vykresluje se do Markdownu/CSV (CSV: hodnoty oddělené čárkou) pro verifikační křížový odkaz ECSS-E-ST-10-02 (ECSS: European Cooperation for Space Standardization) a zaznamenává čtyři mezery hardwaru/PA (PA: zajištění produktu) ve vlastnictví partnera jako takové |
Kalibrační soubory zatím pokrývají tři kontroly s jedním seedem (CALIBRATION-ENSEMBLES.md, předregistrováno: bootstrapový interval Monte Carlo pokrývá na 96 % z 200 seedů; jedna percentilová tolerance je křehká vůči seedu, NOT MET při 91,5 %); ostatní řádky jsou stále kalibrovány na jednotlivých seedech. Matice vynucuje klasifikaci řádků a CI nyní rovněž kontroluje, že každý test, soubor a položka v crate, které řádek cituje, existují (tests/verification_rows_name_a_test_that_exists.rs, tests/verification_rows_cite_evidence_that_exists.rs) a že zveřejněné hodnoty se stále reprodukují (tests/published_figures_still_reproduce.rs); nehodnotí samotné orákulum, které recenzent stále čte |
kalibrační soubory: P1 |
| LEO-PNT (určování polohy, navigace a času z nízké oběžné dráhy Země) | částečná | Sedm druhů, nezávislých na systému, s pojmenovanými veřejnými předvolbami: leo-signal (návrhy signálů libovolného pásma a struktury: složky BPSK, BOC, MBOC (multiplexované BOC) nebo ploché složky podobné OFDM (ortogonální frekvenční multiplex), sledování kódu, akvizice, kompatibilita s GNSS, kompromis pásem), leo-pass (navržený průlet, průlet z elementů, TLE nebo Walker s rozpočtem spoje pro jednotlivá pásma: déšť, scintilace a ztráta průnikem do budov podle ITU-R (Radiokomunikační sektor Mezinárodní telekomunikační unie), ionosféra, anténa, Doppler, vůči družicím GNSS na MEO (střední oběžná dráha Země) v dohledu), leo-navmsg (broadcast efemeridy a hodiny na keplerovském základu Galileo ICD (specifikace rozhraní) nebo volitelných modelech LEO, proložené a zakódované s kontrolou rámce CRC-24Q (24bitová cyklická redundantní kontrola)), leo-pvt (sloučené určování polohy z pseudovzdáleností a Dopplera MEO + LEO přes libovolné konstelace), leo-ppp (konvergence PPP s rozšířením LEO i bez něj, na simulovaných měřeních), ntn-positioning (meze určování polohy 5G NTN, neterestrických sítí, ze šířky pásma signálu) a leo-pnt-chain (jeden systém od začátku do konce, výstup každé fáze předán další). VALIDATED části: členy spoje ITU-R proti tabulkám a validačním příkladům doporučení, maximální Doppler proti zveřejněné tabulce, uživatelský algoritmus Galileo proti RTKLIB na 1 mm, CRC-24Q, váhy SISRE (chyba vzdálenosti signálem ve vesmíru) |
Žádná polní data ani zaznamenané signály; hodnoty určování polohy, PPP, NTN a časování jsou MODELLED (uzavřené tvary, soulad filtru, srovnání se zveřejněnými trendy); předvolby jsou z veřejných zdrojů nebo odvozené, nikoli provozní data | validace na skutečných zaznamenaných signálech: P3 |
| Spektrum / RF prostředí | částečná | Druh spectrum (src/spectrum.rs): pásmo L GNSS (a vícepásmové návrhy UHF (velmi vysoké frekvence), S a C) jako jedna spektrální hustota výkonu, frekvence napříč a čas dolů, pod skriptovanou časovou osou rušičů (rušiče s nepřetržitou vlnou, úzkopásmové, chirp a přizpůsobené širokopásmové), s J/S (poměr rušení k signálu) a efektivním C/N₀ (poměr nosné k hustotě šumu) pro jednotlivá pásma; záznamy SigMF na vstupu i výstupu a Welchovy spektrální odhady komplexních vzorků. Uzavřené tvary spekter signálů a koeficienty spektrálního oddělení jsou VALIDATED; vodopád (waterfall) je MODELLED |
Signály GLONASS, BeiDou a Galileo E6 nejsou modelovány; žádná přední část přijímače ani validace na zaznamenaných datech IQ (v-fázi/kvadratura) | porovnání se zaznamenanými signály: P3 |
| Důvěra v log přijímače (plavidlo a obecně) | částečná | src/receiver_trust/: monitory nad vlastním logem přijímače (poměr nosné k hustotě šumu, konzistence polohy, rychlosti a kurzu, čas) s událostmi a předpověďmi stanovenými před během; na platformě plavidla skóre 0–100 s důvody; živý režim na proudu s větou $PKSHT a volitelnou bránou. MODELLED; pouze poradní charakter, nejde o typově schválené navigační zařízení |
Prahové hodnoty jsou uvedené výchozí hodnoty, nikoli měřené na provozovaných přijímačích; skóre se vztahuje jen na daný log; žádný vstup ani výstup v rádiové frekvenci; nejde o typově schválené navigační zařízení | docs/RECEIVER-TRUST.md, docs/MARITIME-TRUST.md |
| Balíčky důkazů a telemetrie důvěry | částečná | src/evidence/: podepsaný, hashem zřetězený balíček okna logu, jeho konfigurace a výsledku enginu, ověřitelný offline, s volitelným tokenem časového razítka RFC 3161. src/telemetry/: proud důvěry jako metriky Prometheus, události syslog (CEF nebo LEEF) a volitelně OpenTelemetry, s ukázkovým panelem Grafana |
Balíček je technický záznam, nikoli právní posudek, a neříká, co událost způsobilo; podpis autority časových razítek se neověřuje; telemetrie přenáší pouze telemetrii | docs/EVIDENCE-PACKS.md, docs/TRUST-TELEMETRY.md |
| Proudy pro výcvik posádek a mapy interference | částečná | src/nmea_synth/: syntetické NMEA z můstku se skriptovanými událostmi rušení (jamming), odtažení, časového spoofingu a replay a s logem instruktora (pouze text). src/interference_map/: souhrnné mapy zhoršené navigace z otevřeně licencovaných hlášení letadel a lodí a expozice trasy, z lokálních souborů |
Proudy jsou výcviková data, nikdy ne pro živé navigační systémy plavidla; mapy jsou souhrnné, nikoli předpověď, a závisejí na poskytnutých hlášeních | docs/NMEA-TRAINING.md, docs/INTERFERENCE-MAP.md |
| Export pro testovací bench | částečná | src/interop/testbench.rs: pohyb vozidla a události scénáře gnss-ins, jamming nebo gnss-sim jako pohybové CSV, NMEA, text tras (waypoint) a soubory událostí pro laboratorní simulátor GNSS |
Nezapisuje se žádný signál; netvrdí se žádný výkon simulátoru ani přijímače; soubory jsou zkontrolovány tak, jak je zpětně načtou čtečky pohybu jednoho open-source simulátoru (gps-sdr-sim), ale fyzika vlastní pravdivé trajektorie scénáře není vnějším způsobem ověřena | docs/TEST-BENCH.md |
| Ověřování Galileo OSNMA | částečná | src/osnma/ a kshana osnma verify: čte stránky Galileo I/NAV nebo proud UBX a pro každou družici a epochu hlásí, zda jsou navigační data ověřena (podepsaný klíč s kořenem Merkle, řetězec TESLA, MAC), s důvodem, proč kontrola selhala, a volitelným nezávislým referenčním časem pro aktuálnost; také osnma_verify v Pythonu a WebAssembly |
Ověřuje data vůči klíčům, které dodá uživatel; netvrdí výkon proti spoofingu a není službou integrity navigace ani typově schváleným zařízením; zkontrolováno na syntetických vektorech, oficiální testovací vektory ICD se stahují zvlášť | docs/OSNMA.md |
| Mapování na veřejné rámce (compliance) | částečná | src/compliance/ a kshana compliance-report: výstupy Kshana mapované na šest veřejných rámců a norem odolnosti se zdroji a mezerou na každém řádku; běh se počítá, jen když jeho výsledek nese pole, která jeho druh zapisuje |
Mapování je úsudek; zpráva říká, pro co sada běhů podporuje důkazy, nikdy že rámec je splněn nebo že produkt je schválen; EN 16803 je citována jen z textu katalogu | docs/compliance/README.md |
| Námořní integrace | částečná | Plugin Signal K, OpenCPN přes NMEA v režimu brány po TCP a referenční sestavení pro malý počítač vedle přijímače (integrations/, deploy/) |
Testováno na zaznamenaném syntetickém výstupu; plugin není zveřejněn v npm; pouze poradní charakter, nejde o typově schválené navigační zařízení | docs/MARINE-INTEGRATIONS.md |
Širší domény kosmických systémů (dnes mimo rozsah)#
Několik z nich je žádných; jiné jsou nyní modely partial prvního řádu (druhy pro analýzu mise / prostředí přidané v řadě v0.17.0) — uvedeny, aby rozsah byl jednoznačný a nebyl naznačen mlčením. Kshana je simulátor PNT, nikoli GMAT/STK/Orekit (STK: Systems Tool Kit); tyto sousední modely jsou záměrně prvního řádu a MODELLED, nikdy ne ověřené letové nástroje.
| Schopnost | Stav | Poznámka / plán |
|---|---|---|
| Návrh mise / optimalizace trajektorie | částečná | src/maneuver.rs: impulzní uzly ΔV s propagací kovariance 6×6 (soustavy chyb provedení ECI/LVLH (ECI: inerciální se středem v Zemi; LVLH: lokální vertikála, lokální horizontála)), integrace konečného zážehu ověřená proti uzavřené Ciolkovského rovnici na < 0,01 %, řešič Lambertovy úlohy Izzo-2015 pro jednu otáčku + přesný keplerovský propagátor s univerzální proměnnou (výstupy Lambertovy úlohy zpětně ověřené proti dvoutělesové pravdě) a průchod porkchop (start × přílet) C3 / příletové V∞ vydaný jako JSON mřížka vrstevnic, jejíž minimum je zkontrolováno proti analytické Hohmannově spodní mezi. Žádný optimalizátor trajektorie; řešič Lambertovy úlohy pro více otáček (maneuver::lambert_multirev, až tři otáčky, obě větve) je VALIDATED proti pykep 3.0.1 (tests/lambert_multirev_oracle.rs); porkchop běží na syntetickém koplanárně kruhovém modelu nebo, s maneuver::porkchop_kernel, na DE440 SPK (VALIDATED proti stavům SPICE + Lambertovu řešiči z pykep, tests/porkchop_de440_oracle.rs); maneuver::optimise_transfer_kernel nalézá spojité datové optimum (minimální C3 nebo minimální příletové V∞, typ I nebo II) na DE440, VALIDATED proti nezávislému optimalizátoru SPICE + pykep + SciPy (tests/transfer_optimiser_oracle.rs); proti zveřejněným minimům Země–Mars podle NASA/TM-2010-216764 pro 2026 odpovídá hodnotám typu II a minimální C3 typu I míjí o −5,18 % (zaznamenáno). GMAT samotný nebyl spuštěn; pykep je knihovní orákulum. Nyní existuje rozhraní planetárních efemerid pro hluboký vesmír (src/ephem_provider.rs) a křížová kontrola DE440 (Development Ephemeris 440) (xval/anise-mars-od, 137 m @ 1denní oblouk Marsu) — viz řádek PNT pro hluboký vesmír / meziplanetární. Vrstva simulace výkonu nad GMAT/Orekit, nikoli náhrada. P3 |
| AOCS (systém řízení orientace a dráhy) / GNC (navádění, navigace a řízení) / orientace | částečná | Druh attitude-budget (src/attitude_budget.rs): gravitačně gradientní moment v nejhorším případě 1.5·(μ/R³)·ΔI + rozpočet chyby zaměření RSS (odmocnina ze součtu čtverců) přes členy 1σ jednotlivých přispěvatelů — skalární rozpočet zaměření/poruch před hardwarem, MODELLED. Bezmomentová dynamika orientace tuhého tělesa s kvaternionovým stavem (src/attitude_dynamics.rs: Eulerovy rovnice + kinematika kvaternionů, RK4) je VALIDATED proti hubu kosmické lodi Basilisk 2.9.1 (tests/attitude_dynamics_basilisk_oracle.rs, kvaternion do 1e-9 během 1e4 s) a špička gravitačně gradientního momentu proti GravityGradientEffector z Basilisku (tests/attitude_gg_torque_basilisk_oracle.rs); určování orientace podle Wahby je v src/wahba.rs. Druh aocs (src/aocs.rs, src/aocs_kind.rs, AOCS.md): setrvačné zaměření s otočením s vyváženými reakčními koly pod zpětnou vazbou MRP, momenty kol s minimální normou s limity motorů; uzavřená smyčka je VALIDATED proti Basilisku 2.9.1 na třech předregistrovaných případech až na zaokrouhlení. MEKF z gyroskopu a hvězdného senzoru (src/aocs_mekf.rs) může uzavřít smyčku na svém odhadu (MODELLED, soulad filtru). Žádné navádění ke sledování, integrální zpětná vazba, řízení momentu hybnosti, magnetické cívky, trysky, tření kol ani omezení otáček; v dynamice orientace není žádné vnější momentové prostředí; není to letový regulátor. P3 |
| Referenční soustavy → pevné vůči Zemi | úplná | Hotovo — TEME→ECEF/ITRF, polární pohyb a řetězec GCRS→ITRS založený na CIO jsou implementovány a VALIDATED (bit po bitu vs SOFA/ERFA; 4 mm od začátku do konce vs Vallado). Viz řádek Referenční soustavy výše |
| Komunikace a rozpočty spojů | částečná | src/linkbudget.rs: Friisův rozpočet spoje pro hluboký vesmír (výkon vysílače · zisky antén · šum → C/N₀ · Eb/N₀ · rezerva) napájející radiometrickou cestu/GSE (GSE: pozemní podpůrné zařízení), plus optické/RF spoje pro přenos času (src/timetransfer*.rs) a spustitelný druh link-budget — jednosměrná rovnice spoje CCSDS-401/DSN-810-005 (DSN: Deep Space Network) C/N₀ = EIRP − FSPL − L_other + G/T − k se vstupy EIRP (ekvivalentní izotropně vyzářený výkon) / G-T a volbou pásma S/X/Ka (inženýrský rozpočet spoje, MODELLED, nikoli kalibrovaný datasheet terminálu). Žádné plánování přístupu, žádné adaptivní kódování. P2 |
| Pozemní segment a provoz | částečná | Druh passes (src/passes.rs): predikce přeletů nad pozemní stanicí (východ/západ) — AOS/TCA/LOS (AOS: zachycení signálu; TCA: čas největšího přiblížení; LOS: ztráta signálu), maximální elevace, trvání každého přeletu a celkový přístup za zvolený horizont ze sady elementů SGP4 v zemské pevné soustavě IAU 2006/2000A s refrakcí podle ITU-R P.834-9 a se světelným časem — VALIDATED proti Orekitu 13.1.8 na stanicích na úrovni moře (60 případů / 1210 přeletů, tests/pass_predictor_on_path_orekit_oracle.rs); geometrická funkce passes::predict_passes je VALIDATED proti detektoru elevace v Orekitu 12,2 (22 scénářů / 129 přeletů, tests/ground_station_pass_prediction_reference.rs); bez optimalizátoru plánování a bez řešení konfliktů. P3 |
| Telemetrie / TT&C / CCSDS | částečná | vlastní formát TOML na vstupu / JSON na výstupu; export i import CCSDS OEM (Orbit Ephemeris Message) (502.0-B KVN (zápis klíč–hodnota), GMAT/Orekit/STK) přes spustitelný druh oem-interop (most pro zpětný převod src/oem.rs parse_oem; výměna jednoho objektu podle normy je VALIDATED proti nezávislému parseru oem 0.4.5); parsování a generování zprávy Tracking-Data-Message CCSDS-TDM (503) (src/ccsds_tdm.rs, výměnný formát radiometrických dat pro hluboký vesmír); a druh space-packet (src/space_packet.rs): kódování a dekódování primární hlavičky Space Packet CCSDS 133.0-B s bitově přesným zpětným převodem. Zapisovač CCSDS OMM (Orbit Mean-Elements Message, 502.0-B-2, součást rodiny ODM) (src/omm.rs) publikuje střední elementy SGP4 ve formátu KVN a čistě rustová čtečka jader NAIF SPICE (src/naif_kernel.rs: kontejner DAF, SPK typu 2, binární PCK typu 2) stojí za ephem_provider::KernelEphemeris. Další typy zpráv CCSDS (OPM, OCM, AEM (AEM: Attitude Ephemeris Message)) a zápis SPICE zůstávají položkou plánu (P2) |
| Interoperabilita a standardy (RINEX/SP3/SPICE/CCSDS) | částečná | Navigační data NAV RINEX 3 pro více systémů GNSS — GPS, Galileo, QZSS, BeiDou MEO/IGSO (IS-GPS-200) a GLONASS (stavový vektor PZ-90 (PZ: Parametry Zemli, ruské geodetické datum) s RK4) — načtená, propagovaná a spustitelná jako jedna smíšená konstelace; parser OBSERVATION RINEX 3 (pseudovzdálenost/nosná/Doppler/SNR podle kódu pozorování, s příznaky LLI/SSI (LLI: indikátor ztráty zachycení; SSI: indikátor síly signálu); u 4,00 se očekává, že se naparsuje, netestováno); zpětný převod čtení ↔ zápis přesných efemerid SP3-c/d (parsování + export pro Ginan/RTKLIB/gLAB) a propagátor Lagrangeovou interpolací 10. řádu (11 bodů) (Propagator::Sp3Precise); export SP3 je dostupný z CLI (kshana <orbit.toml> --export-sp3 out.sp3, nebo export_sp3 = true) a zpětným převodem ověřený proti skutečné konstelaci GPS na < 0,5 m za 24 h (tests/sp3_export_roundtrip.rs); zapisovač efemerid CCSDS OEM 2,0 — export stavu TEME s rychlostí pro nástroje letové dynamiky — nyní dostupný z CLI (kshana <orbit.toml> --export-oem out.oem, nebo export_oem = true) a zpětným převodem prověřený proti stavu propagátoru (tests/sp3_export_roundtrip.rs). Parser pozorování RINEX nyní napájí řešení určení polohy z jednoho bodu (pvt, ověřené na skutečných datech IGS — viz řádek GNSS / PNT). K tomu CCSDS-TDM (503), parsování a generování zprávy s trackingovými daty (src/ccsds_tdm.rs). Geometrické exporty pro prohlížeče a nástroje analýzy misí: CZML, KML (Keyhole Markup Language), GeoJSON a efemeridy STK (--export, src/interop/), každý načtený zpět validátorem napsaným podle specifikace formátu (tests/interop_formats.rs), import trasy GeoJSON (--import-route), nahrávky SigMF (Signal Metadata Format) na vstupu i výstupu pro druh spectrum a text ve stylu RINEX-4 / CSV pro navigační zprávu LEO (INTEROP.md, STANDARDS.md). Zatím žádný BeiDou-GEO, žádné řešení celočíselných nejednoznačností PPP ani kinematické RTK (statické PPP s plovoucím řešením a RTK na krátké základně na skutečných datech existují, viz řádek GNSS / PNT), žádný zapisovač SPICE a žádné OPM/AEM (čtečka OEM existuje přes druh oem-interop, zapisovač OMM v src/omm.rs a čtečka SPICE SPK/PCK v src/naif_kernel.rs) — P2 „připojit sousední domény přes standardní formáty“ |
| Kosmické počasí / prostředí (ionosféra/atmosféra/radiace) | částečná | Druh space-weather (src/space_weather.rs): sluneční a geomagnetické indexy (tabulka Kp↔ap o 28 stupních podle IAGA (International Association of Geomagnetism and Aeronomy), denní Ap, centrovaný 81denní F10.7a), exosférická teplota podle Jacchia-71 a vazba hustoty termosféry řízená aktivitou nad statickou atmosférou — MODELLED prvního řádu, NE absolutní model hustoty NRLMSISE. Ionosféra: broadcastový model Klobuchar (VALIDATED proti RTKLIB) a čtečka map TEC (celkový obsah elektronů) ve formátu IONEX (IONosphere map EXchange format) (src/ionex.rs, s testy jednotek). Skutečná globální ionosférická mapa CODE (CODG1330.18I) je měřené orákulum řádku geometricky volného šikmého TEC (tests/geometry_free_tec_gim_oracle.rs), ale tento test vyhodnocuje mapu ve vlastním generátoru testovacích dat, takže samotná čtečka src/ionex.rs zatím není křížově ověřena proti skutečnému produktu; žádný fyzikální ani kosmickým počasím řízený model ionosféry; P2+ |
| Navigace podle gravitačních map / alt-PNT | částečná | src/gravimeter.rs: model měření studeno-atomového gravimetru, jehož bílý šumový práh je odvozen z ASD akcelerometru CAI (σ = ASD/√τ), plně normované sférickoharmonické pole gravitačních anomálií nízkého stupně (ověřené proti uzavřeným tvarům Legendrových funkcí a ručně odvozené jednočlenné anomálii) plus syntetické masskony a částicový filtr pro párování gravitačních map (skládající mapmatch + particle_filter), který z posloupnosti anomálií, jimiž letí, obnoví trajektorii bez GPS. 60minutový benchmark bez GPS (run_gps_denied_gravity_nav, scenarios/gps-denied-gravity-nav.toml) letí asi 700 km / jednohodinový výpadek, při kterém inerciální řešení driftuje na ≈ 70 km, a hierarchický hrubý-až-jemný párovač s deterministickým seedovaným bílým šumem gravimetru ji obnoví na ≈ 145 m (< 500 m) — stabilně napříč realizacemi šumu a prokazatelně omezený zjemněním (jediná hrubá mřížka uvízne na ~2 km). K tomu úplný model hlavního geomagnetického pole IGRF-14 (IGRF: International Geomagnetic Reference Field) (src/igrf.rs: sférickoharmonické pole IAGA v Schmidtově normalizaci do stupně/řádu 13, 2025,0 + sekulární variace, koeficienty strojově vygenerované z oficiálního igrf14coeffs.txt; ověřené proti uzavřenému tvaru nakloněného dipólu, konečné diferenci skalárního potenciálu a známému geomagnetickému pólu a síle) — magnetické pole, které může platforma párovat pro navigaci podle magnetických anomálií. K tomu terénní navigace (TERCOM/SITAN (TERCOM: párování terénních vrstevnic; SITAN: Sandia Inertial Terrain-Aided Navigation)) a kombinovaný navigátor gravitace + magnetismus + terén (src/altpnt/terrain.rs): ručně napsaný parser digitálního modelu terénu (DEM) SRTM (Shuttle Radar Topography Mission) .hgt (16bitové se znaménkem, big-endian, po řádcích, severní řádek první, prázdná hodnota -32768; ověřený proti specifikaci ovladače GDAL (Geospatial Data Abstraction Library) SRTMHGT (Shuttle Radar Topography Mission height-file format) a uzavřenému bilineárnímu orákulu středu), model radarového/barometrického výškoměru a párovač run_terrain_nav, který z profilu výšky terénu proti DEM obnoví trajektorii bez GPS, a run_combined_altpnt, který pro každý bod trasy slučuje tři skalární kanály pole (Δg mGal · |B| nT korová anomálie · výška m), takže společné posteriorní rozdělení je ostřejší (nižší CRLB (Cramérova–Raova dolní mez)) než kterékoli jediné pole — omezené < 500 m během 60minutového výpadku a v očekávání ne horší než nejlepší jediný kanál. K tomu sekvenční (rekurzivní) terénní navigace — SITAN jako běžící filtr (src/altpnt/sequential.rs, run_sequential_trn): týž model měření výškoměr–DEM spouštěný epochu po epoše v jádře particle_filter SIR (sampling importance resampling) (predikce přírůstkem INS + procesním šumem → přeznačení vah podle shody s terénem → převýběr při degeneraci), takže časově proměnný drift INS je podél trasy sledován, zatímco dávkový párovač obnoví jen jediný konstantní posun — rekurzivní odhad zůstává omezený a znovu konverguje (konečně ≈ 70 m), zatímco neaidované řešení neomezeně diverguje na ≈ 5 km, přičemž chyba v každé epoše sleduje výraznost terénu a hlídá ji monitor efektivní velikosti vzorku. Poctivý rozsah: mapa je známá a pevná — rekurzivní lokalizace vůči uloženému DEM (lokalizační polovina terénního SLAM (simultánní lokalizace a mapování)); společný odhad mapy je samostatný RBPF níže. Všechny čtyři jsou nyní zapojeny do enginu scénářů kind= (gravity-map, terrain-nav, combined-altpnt, terrain-slam) s grafem driftu ve formátu SVG (scenarios/terrain-nav.toml, scenarios/combined-altpnt.toml, scenarios/terrain-slam.toml). 0,36 (WP-10): navigátor gravity-map přijímá volitelné skutečné referenční pole ([reference]: přibalený EGM2008 do stupně 70 nebo soubor ICGEM .gfc), jehož syntéza anomálií souhlasí s výpočetní službou ICGEM na zhruba 1e-8 mGal (VALIDATED, xval/icgem-egm2008/); na tomto poli stupně 70 skončí 60minutový benchmark na 3106 m, takže práh < 500 m je NOT MET (předregistrováno a předpovězeno: stupeň 70 je příliš hladký). Volitelný Monte Carlo chyby mapy ([map_error_mc], scenarios/gravity-map-error-mc.toml) ukazuje, že syntetická oprava 144 m předpokládá přesnou mapu (1 z 20 realizací do 500 m při korelované chybě 2 mGal; průzkumné). combined-altpnt přijímá volitelnou korovou magnetickou mřížku EMAG2v3 ([magnetic_grid]; EMAG2 se stahuje, není vendorovaný, a nad ním se netvrdí žádný navigační výsledek). terrain-nav zůstává záměrně jen s DEM: je to jednokanálový párovač TERCOM/SITAN a magnetické párování žije v combined-altpnt, které slučuje terén s magnetickým a gravitačním kanálem; magnetický kanál v terrain-nav by jej duplikoval, takže položka auditu „EMAG2 do terrain-nav“ je pokryta zapojením combined-altpnt (RM-16). Kontroly se skutečným SRTM běží v CI na dvou začleněných výřezech v plném rozlišení (uzel po uzlu shodné s GDAL 3.8.4, xval/srtm-ungate/). Společný odhad mapy existuje (run_sequential_trn_on_map, RBPF ve stylu FastSLAM): při jediném průchodu získá na chybné mapě 1,5 % oproti SITAN se známou mapou, čímž nesplní svůj předregistrovaný práh 10 % (xval/terrain-slam-rbpf/). Stále chybí: vysokostupňový gravitační model v navigačním běhu (vyžaduje novou předregistraci), navigační výsledek na skutečné magnetické mřížce a případ SLAM s návratem na již navštívené místo (uzavření smyčky). P3 |
| Návrat do atmosféry / EDL (vstup, sestup a přistání), analýza startu, EO/užitečné zatížení (EO: pozorování Země) | částečná | MODELLED geometrie prvního řádu ve třech spustitelných druzích: reentry (src/reentry.rs, balistický koridor podle Allena–Eggerse — maximální zpomalení, rychlosti při maximálním přetížení a maximálním ohřevu, výška maximálního přetížení), launch-window (src/launch.rs, dvoutělesový azimut startu sin Az = cos i/cos lat, Δv změny roviny, bonus rotace stanoviště, denní příležitosti) a eo-coverage (src/eo_payload.rs, geometrie záběru / GSD (rozlišení na zemi) / přístupu / opakované návštěvy EO podle prostorového trojúhelníku SMAD (Space Mission Analysis and Design)). Žádná simulace EDL/aerotermiky se 6 stupni volnosti, žádný optimalizátor trajektorie, žádná radiometrie senzoru ani MTF (MTF: modulační přenosová funkce). P3 |
| Lunární / cislunární PNT (LunaNet) | částečná | src/lunar.rs: lunární engine ARAIM znovu používající pozemní jádro MHSS s parametry LunaNet LNIS (LunaNet Interoperability Specification) (σ_URE ≈ 30 m, P_sat ≈ 1e-4), redukce cislunární soustavy MCI↔MCMF (MCI: Měsícem centrovaná inerciální; MCMF: Měsícem centrovaná, s Měsícem pevně spojená) (mci_to_mcmf / mcmf_to_mci, zjednodušený model střední rotace siderickou rychlostí) a selenografická šířka/délka/výška (mcmf_to_selenographic) a průchod ochranné úrovně u jižního pólu (south_pole_hpl_pass), který kvantifikuje mezeru v integritě — při měření vzdálenosti s 30 m je HPL konečná, ale přesahuje mezní hodnotu výstrahy 50 m pro operace na povrchu. src/cr3bp.rs přidává CR3BP Země–Měsíc (omezený kruhový problém tří těles) (dynamika v rotující soustavě + propagátor RK4 + Jacobiho konstanta + pět Lagrangeových bodů, ověřené proti publikovaným hodnotám L1/L2/L3 a přesným L4/L5) — jádro tří těles, které skutečná NRHO (téměř přímková halo dráha) potřebuje — a diferenciální korektor s maticí přechodu stavu a jednoduchou střelbou (cr3bp_jacobian, propagate_state_stm, differential_correct_halo), který vytváří skutečně periodické halo/NRHO dráhy kolem L2: matice přechodu stavu je ověřena proti konečným diferencím, opravená halo se uzavírají sama na sebe na strojovou přesnost (zachovávají Jacobiho konstantu) a zasazení publikovaného stavu v apolunu reprodukuje jižní NRHO 9:2 kolem L2 (dráhu Gateway) s periodou ≈ 6,57 d a periluním ≈ 3 250 km — v souladu s publikovanými ≈ 6,56 d / ≈ 3 370 km | Diferenciálně opravené počáteční podmínky NRHO jsou nyní zapojeny, ale odnormalizovaná selenocentrická (MCI/MCMF) transformace opravené dráhy a pokračování rodiny jsou stále navazující kroky; hlavní osy lunární orientace DE440 se skutečnou fyzickou librací existují (src/lunar_orientation.rs, z PCK moon_pa_de440, ověřeno proti SPICE pxform v tests/lunar_pa_orientation_spice_oracle.rs), ale starší cesta lunar::mci_to_mcmf stále používá střední rotaci bez librace a precesního pólu; NRHO je řešení CR3BP (kruhové, bez Slunce), nikoli ověřené proti skutečné efemeridě LANS/Gateway (LANS: Lunar Augmented Navigation Service); spustitelný druh scénáře lunar-integrity (scenarios/lunanet-araim.toml) zpřístupňuje průchod u jižního pólu z CLI | selenocentrická transformace + pokračování rodiny + rozhraní SPICE/LunaNet: P3 |
| PNT v hlubokém vesmíru / meziplanetární (Mars, radiometrické) | částečná | Dodáno ve verzi v0.17.0. Radiometrický navigační engine: iterativní světelný čas + Shapirovo zpoždění, dvoucestný/jednocestný/třícestný Doppler a vzdálenost (Moyerova dvouramenná), koherentní obrat transpondéru, regenerativní/PN (PN: pseudošum) měření vzdálenosti (CCSDS 414), Δ-DOR (CCSDS 506), solární plazma/troposféra/ionosféra (src/radiometric.rs); CCSDS-TDM (503) parsování a generování (src/ccsds_tdm.rs); redukovaně dynamický SRIF (odmocninový informační filtr) s empirickými zrychleními RTN (radiální, příčné, normálové) + 3stavovými palubními hodinami + odporem Marsu (src/deepspace_od.rs, clock_state.rs, mars_atmos.rs), který v syntetické uzavřené smyčce dosahuje OD pro Mars-LMO (LMO: nízká oběžná dráha Marsu) ≈ 0,2 m; fúze jednocestných a dvoucestných dat; vícetělesové dynamické jádro (src/body.rs, Mars GMM-3 (GMM: Goddard Mars Model), soustava Marsu IAU src/mars_frame.rs, rozhraní EphemerisProvider src/ephem_provider.rs, dvoudílné JD + TT↔TDB (TDB: barycentrický dynamický čas)); a scénář přenosu PNT mars-pnt (areostacionární konstelace MARCONI, src/mars_pnt.rs) + kompletní simulátor výkonu GSE (src/gse_sim.rs). Ověřeno simulací (kovariance / FoM uzavřené smyčky); dynamika se Sluncem ve středu zkřížově kontrolována proti JPL (Jet Propulsion Laboratory) DE440 (137 m při oblouku 1 den, xval/anise-mars-od). Chybí: validace na skutečných trackingových datech DSN/ESTRACK (ESTRACK: European Space Tracking network); gravitace Marsu v jeho nativní soustavě (pole GMM-3 s d/o 120 se načítá z tabulky PDS SHADR, from_shadr, VALIDATED proti pyshtools, a připojuje se přes Body::with_gravity_field, ale vyhodnocuje se v IAU, nikoli ve vlastní soustavě Konopliv-2006); efemeridy v jádře na úrovni DE (v xval podmíněné jádrem). P3 |
| Sluneční soustava a PNT kolem libovolného tělesa | částečná | Druh solar-system: polohy, rychlosti a fyzikální konstanty Slunce, planet, Pluta, Měsíce a sedmi velkých měsíců v jedné epoše, se světelným časem mezi tělesy; polohy planet (elementy JPL Standish) a světelný čas jsou VALIDATED proti JPL Horizons (tests/solar_system_horizons_reference.rs), měsíce, Pluto a tabulka vnějších planet zůstávají MODELLED. Druh body-pnt: orbiter nebo lander kolem libovolného katalogizovaného tělesa (Mars, Měsíc, Europa, Ganymed, Titan a další) navigující podle jednocestných pseudovzdáleností z místní konstelace Walker plus volitelné dvoucestné měření vzdálenosti od Země — MODELLED. Žádné jádro planetárních efemerid v core (analytické elementy), relayové dráhy body-pnt používají jen J2 (plná pole Marsu GMM-3 d/o 120 a Měsíce GRAIL GL0660B d/o 660 se načítají z tabulek PDS SHADR a připojují se k Body pro propagátor, src/gravity_pds.rs). P3 |
| Kampaně / skládání misí | částečná | Druh campaign (src/campaign.rs): existující druhy zřetězené na jedné společné časové ose (například rušení, poté spoofing, poté holdover s inerciální setrvačností, poté alarm integrity, poté zotavení), průchody parametrů a seedované soubory Monte Carlo nad libovolným druhem a několik scénářů za společných podmínek se souhrnným shrnutím; každé číslo je čteno ze skutečného běhu členského druhu. Identity skládání jsou testovány (tests/campaign_composition_reference.rs: jednofázová kampaň reprodukuje samostatný běh bajt po bajtu); MODELLED. Sekce [optimize] (mřížka nebo omezený Nelder–Mead přes jeden až tři klíče, jedna metrika, minimalizace, maximalizace nebo zásah cíle) splňuje své předregistrované prahy v uzavřeném tvaru a hrubou silou (tests/campaign_optimize_reference.rs); MODELLED, lokální hledání bez tvrzení o globálním optimu a bez gradientní či bayesovské metody. P3 |
| Zprávy, animace a výstupy | částečná | Každý běh zapíše result.json, graf a zprávu (report.html, report.json), jejichž popisky se čtou z verifikační matice a jejichž zaznamenaný příkaz reprodukuje výsledek bajt po bajtu (tests/advanced_report_cli.rs); --animate (svg, html nebo snímky) vykreslí časovou řadu jako animaci (src/animation.rs, ANIMATION.md); --export zapisuje výměnné formáty z řádku o interoperabilitě. Jde o vykreslení běhu, nikoli o důkaz o fyzice. |
Ekosystém a připravenost (sledováno poctivě, nejde o schopnost kódu)#
| Oblast | Stav | Poznámka |
|---|---|---|
| Jazykové vazby a balíčkování | částečná | Rust + Python (abi3) + WASM ve třech registrech. Typované rozhraní (0,36, CAP-34): Python RunOutput s přístupovými metodami NumPy (array, columns, series) a typovanými stuby ScenarioKind / ErrorKind / KindMeta; JavaScript run_typed (typovaný objekt RunOutput) a scenario_kinds, se stejnou slovní zásobou v deklaracích TypeScriptu. Dokumenty výsledků zůstávají JSON podle druhu, typované jen sdílenou obálkou (units, verze) |
| Vzdělávání / uživatelský zážitek při zapojení (UX) | částečná | Prohlížečové hřiště s dodaným řízeným režimem: posuvníky řízeného režimu přizpůsobené scénáři (web/studio/lib/guided.mjs, až šest ovladačů na scénář) a interaktivní řízená prohlídka (web/studio/lib/tour.mjs, znovu spustitelná z hřiště). Každý běh také dostane větu o významu v prostém jazyce a své klíčové hodnoty, čtené z dokumentu výsledku (web/studio/lib/meaning.mjs, se šablonami pro jednotlivé druhy v meaning-kinds.mjs; druh bez šablony dostane svou první hlavní hodnotu popsanou prostě). Chybí: vysvětlení jednotlivých hodnot nad rámec této věty (pokrývá je srozumitelný GLOSSARY.md) |
| Komunita / správa | částečná | Správcovská kostra je na místě — GOVERNANCE.md (model shovívavého správce + technický práh + hranice mezi otevřeným a uzavřeným), CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, šablony pro issue/PR (PR: pull request), FUNDING.yml, dependabot. Jediný zakladatel; aktivní externí komunita (přispěvatelé, citace) závisí na lidech a čase a stále vzniká (oslovování čeká na kontrolu) |
| Financování a připravenost na zakázky | žádné | TRL ~3; zatím žádné citace ani zakázky agentur (viz poznámky ke strategii) |
Aktualizováno 2026-10-29 pro engine 0.40.0 (92 druhů scénářů, z kshana kinds --json; nově ve verzi 0.40.0: mission-thread, lunar-orbit-rendezvous, lunar-descent, lunar-surface a lunar-ascent). 2026-10-22: engine 0.39.0, 87 druhů, žádný nový druh. 2026-10-19: engine 0.38.0, 87 druhů (nově ve verzi 0.38.0: holdover-test, gnss-ssv a lunar-infrastructure). 2026-10-18: 84 druhů (nově ve verzi 0,37: optical-atmosphere). 2026-10-16: 83 druhů (nově ve verzi 0,36: acm-link, aocs, ascent-losses, contact-schedule, entry-heating, eo-radiometry, lunar-station-coverage a time-transfer-budget). 2026-10-10: engine 0.35.0, 75 druhů, žádný nový druh. 2026-10-09 a 2026-10-08: předchozí revize. 2026-10-04: řádek Nav-signal uvádí vrstvu IQ 0.31.0. 2026-09-29: přidány řádky LEO-PNT, spektrum, PNT sluneční soustavy / kolem libovolného tělesa, kampaně a výstupy. Dříve: sladěno s auditním přehledem z 2026-06-02 s maticí schopností o 27 řádcích; řádek PNT v hlubokém vesmíru / Mars přidán ve verzi v0.17.0. Kvantové přírůstky PNT (holdover hodin bez GNSS src/holdover.rs, složený rozpočet kvantově-inerciální dead-reckoningu QuantumNavBudget, kompromisní návrh pro zaměřovací kódy CodeFamily, strojově kontrolovaná verifikační matice src/verification.rs) jsou zapracovány do řádků Timing, Quantum-PNT-sensor, Nav-signal a V&V — každý označený jako ověřený nebo modelovaný podle svého skutečného orákula.
Přírůstky demonstrátoru FutureNAV (modelované, vnitřně křížově kontrolované — nikoli externě ověřené): (1) Testovací prostředí pro vyhodnocení detekce rušení RF strojovým učením src/impairment_eval.rs — označený syntetický (opřený o parametry, nikoli IQ) korpus rušení + harness ROC/AUC/matice záměn/Pfa-Pmd nezávislý na detektoru (ROC: provozní charakteristika přijímače; AUC: plocha pod křivkou) s ochranou proti úniku dat a stratifikovaným dělením; přibalené detektory jsou transparentní základní linie publikovaných metod, nikoli SOTA (state of the art), a vysoké AUC zde dokládá potrubí, nikoli výkon v terénu. (2) Engine kompromisu kvantového a klasického PNT src/quantum_trade.rs — import měřené ADEV (fit NNLS (nezáporné nejmenší čtverce) pro σ_y²(τ)=q_wf/τ + q_rw·τ/3 + q_drift·τ³/20, zpětným převodem prověřený proti q_from_allan), tabulka přínosu timing/inerciálního holdoveru, která nese upozornění na předpoklad dna přímo v artefaktu, a obálka odolnosti bez GNSS v čase; kvantifikuje kvantový přínos partnera, nikdy neověřuje zařízení. Obojí adversariálně posouzeno (chyba báze driftu τ²→τ³ a nepravdivé tvrzení odolnosti „omezeno donekonečna“ byly zachyceny a opraveny). 911 testů knihovny v době tohoto přírůstku, fmt+clippy čisté.
Přírůstek interchange / standardního formátu (src/interchange.rs): Kshana Interchange Format (KIF) — neutrální, verzovaná, samopopisná Envelope, která obaluje libovolný artefakt (scénář, výsledek, studii kompromisů) rozpoznatelnou značkou format, jediným zdrojem pravdy SCHEMA_VERSION (verze schématu, dříve zkopírovaná jako literál na 15 místech, je nyní vlastněna jedinou konstantou, na kterou odkazuje celý crate), vytvářejícím engine_version a explicitní, testovanou smlouvou o kompatibilitě (compatibility(): stejná hlavní verze / stejná nebo starší vedlejší verze je čitelná podle disciplíny aditivních polí; novější vedlejší verze nebo odlišná hlavní verze je na hranici odmítnuta funkcí Envelope::parse místo tichého chybného naparsování). Zpětně převoditelné (wrap→to_json→parse→payload_as::<T>()) pro libovolný payload Deserialize; záměrně bez časových značek, aby se zachovala bitová reprodukovatelnost Kshany. Zdokumentováno v SCHEMA.md, takže formát je citovatelný, nejen vysílaný — pozice „standardu na cestě“ otevřeného jádra. 923 testů knihovny v době tohoto přírůstku, fmt+clippy čisté.
Přírůstky dominančního sestavení FutureNAV (modelované, vnitřně křížově kontrolované — nikoli externě ověřené): (1) Úsporná vrstva nákladů na pokrytí / ROI (návratnost investice) src/frugal.rs — vrstva rámující přínos nad enginem dimenzování konstelace (walker), která vykazuje náklady na procentní bod pokrytí a ROI pokrytí na euro oproti základu; náklady na družici jsou rozmezí nízká/nominální/vysoká dodané volajícím a podložené zdrojem (žádné vymyšlené bodové ceny), takže výstupy jsou rozsahy, nikoli zdánlivé body; modelované ekonomické zarámování modelovaného čísla pokrytí, nikoli nabídka. (2) Mapování dopadu nezachycené detekce na integritu src/integrity_impact.rs — mapuje nezjištěný posun polohy vyvolaný spoofingem nebo rušením na jeho efektivní chybu → oblast Stanford (dostupné / systém nedostupný / zavádějící / nebezpečně zavádějící) vůči mezním hodnotám výstrahy specifickým pro kontext (otevřená obloha vs město, HAL vs VAL), přičemž skládá externě zakotvený RAIM classify_stanford; most nezachycená detekce→mezní hodnota výstrahy je modelovaný, nikoli certifikovaný příděl integrity. Obojí je mapováno do strojově kontrolované verifikační matice (src/verification.rs, invariant Validated⇒ExternalDataset zůstává neporušen; aktuální počet řádků je ve vygenerované hlavičce VERIFICATION-MATRIX.md). Křížová validace / ochrana proti úniku dat / dělení stratifikované podle parametrů pro harness vyhodnocení AI už bylo dodáno v src/impairment_eval.rs (stratified_split, Split::has_leakage). 951 testů knihovny v době tohoto přírůstku, fmt+clippy čisté.
Přírůstky studie mezery optimismu FutureNAV (modelované, vnitřně křížově kontrolované proti uzavřeným tvarům — nikoli externě ověřené, nikoli tvrzení o přenosu ze simulace do terénu): řízená syntetická studie mezery optimismu AUC mezi rozdělením v trénování a mimo něj u detektorů rušení RF. (1) Naučené detektory src/impairment_ml.rs — pevné mapování příznaků + standardizátor naučený na trénovacích datech, základní logistická regrese (deterministický gradientní sestup po celých dávkách) a MLP s jednou skrytou vrstvou (vícevrstvý perceptron; seedovaná zpětná propagace SGD (stochastický gradientní sestup)) za stejným rozhraním ImpairmentDetector, jaké používají základní linie publikovaných metod. (2) Ručně odvozené statistiky src/eval_stats.rs — percentilové bootstrapové intervaly spolehlivosti (CI), rozptyl/CI AUC podle DeLonga, Spearmanovo ρ a hřebenová regrese, každé ověřené proti uzavřenému tvaru (binormální AUC Φ(d′/√2), ručně vypočtený rozptyl DeLong, učebnicové ρ se shodnými pořadími, přesná obnova OLS (metoda nejmenších čtverců)). (3) Samotná studie src/impairment_study.rs — AUC po třídách, trend škálovacího zákona pro každé (detector,class) (mezera vs 1−závažnost) a hřebenový prediktor mezery jen z dat v rozdělení, který odhaduje mezeru optimismu pouze z diagnostik v rozdělení a je hodnocen metodou vynechání jednoho detektoru a vynechání jedné třídy proti základní linii předpovídající průměr. Artefakt jedním příkazem přes cargo run --release --example optimism_study. Každé číslo je AUC nad štítky odvozenými z modelu na syntetickém korpusu opřeném o parametry; mezera je posun závažnosti syntetické→syntetické, nikdy výsledek detekce v terénu. Mapováno do strojově kontrolované verifikační matice (src/verification.rs, invariant Validated⇒ExternalDataset zůstává neporušen).