Tłumaczenie maszynowe, niezweryfikowane przez osobę, dla której polski jest językiem ojczystym. Wzorcem jest wersja angielska.

Walidacja i dowodyEdytuj na GitHubieŹródło: docs/CAPABILITY.md

Mapa możliwości — co Kshana robi, robi częściowo i czego nie robi

Kshana jest silnikiem dowodów wydajności i odporności PNT (pozycjonowanie, nawigacja i czas), a nie pełnym zestawem narzędzi dla systemów kosmicznych. Przoduje w synchronizacji czasu i holdover, swojej najlepiej zwalidowanej dziedzinie (zob. POSITIONING.md). Ta strona jest uczciwą mapą zakresu: dla każdego obszaru możliwości, który może sprawdzać recenzent zamówienia lub badań, podaje status, co faktycznie istnieje w kodzie, czego brakuje i gdzie obszar leży w planie rozwoju. Status ma jedną z wartości:

  • pełne — zaimplementowane od początku do końca i zwalidowane do poziomu podanego w wierszu;
  • częściowe — prawdziwy, ale ograniczony model (zakres wyraźnie ograniczony poniżej);
  • brak — niemodelowane (dziś poza zakresem).

Te trzy są jedynymi wartościami kolumny statusu. Oceniają dojrzałość możliwości, co jest inną osią niż ocena VALIDATED / MODELLED / PARTNER w VERIFICATION-MATRIX.md — ta ocenia pochodzenie dowodów, wiersz po wierszu, i jest sprawdzana maszynowo z src/verification.rs.

Nic tu nie jest życzeniowe: „częściowe” nigdy nie znaczy „prawie gotowe”, znaczy „tyle i nic więcej”. Zob. także VALIDATION.md, INTEGRITY.md, QUANTUM-MODELS.md oraz rejestr zamknięcia przesadnych twierdzeń CLAIMS-VS-REALITY.md (każde historyczne przesadne twierdzenie, sposób jego rozwiązania i zabezpieczenie CI (ciągła integracja), które utrzymuje je rozwiązanym).

Podstawowe PNT (gdzie Kshana faktycznie gra)#

Możliwość Status Co istnieje Czego brakuje Plan rozwoju
Wyznaczanie i propagacja orbity częściowe Pozbawiony zależności SGP4/SDP4 (SGP4: Simplified General Perturbations 4; SDP4: Simplified Deep-space Perturbations 4), sprawdzony do 4,12 mm względem wszystkich 666 wektorów AIAA (American Institute of Aeronautics and Astronautics) 2006-6753 (pozycja i prędkość, ta druga do 1 mm/s); analityczny keplerowski + wiekowy J2; prędkość inercjalna udostępniona i dostępna od początku do końca przez uruchamialny scenariusz ephemeris (src/ephemeris.rs, osiągalny z CLI/Pythona/WASM/MCP (CLI: interfejs wiersza poleceń; WASM: WebAssembly; MCP: Model Context Protocol)) — w każdym kroku podaje stan TEME (true equator, mean equinox) i GCRS (Geocentric Celestial Reference System) (pozycja + prędkość), pozycję ITRF/ECEF (ITRF: International Terrestrial Reference Frame; ECEF: Earth-centred, Earth-fixed), ślad podsatelitarny WGS-84 (WGS: World Geodetic System) (szer./dł./wys.) oraz azymut/elewację/odległość stacji + prędkość zmiany odległości/Doppler (promieniowa prędkość zmiany odległości zgadza się z prawdziwą pochodną pozycji, wolną od szumu JD (JD: data juliańska), do 6e-9 m/s) — oraz przez eksport efemeryd z prędkościami OEM (Orbit Ephemeris Message) w CCSDS (Consultative Committee for Space Data Systems) (--export-oem). Numeryczny propagator (Cowella) (src/propagator.rs) całkuje konfigurowalny model sił grawitacji zonalnej — pełne zonalne pole Ziemi do stopnia 6 (forces::zonal_accel, opublikowane EGM-96 (EGM: Earth Gravitational Model) J2..J6) — z wyborem adaptacyjnego integratora: podwajanie kroku RK4 (Runge–Kutta czwartego rzędu) lub para zagnieżdżona Dormanda–Prince’a RK5(4) (integrate_dopri / propagate_dopri, tańsze 7-krotne wartościowanie zagnieżdżonego oszacowania błędu, które przechodzi tę samą bramkę Keplera i zgadza się ze ścieżką RK4 do <1 m na orbicie J2..J6) — przypięty do prawdy analitycznej mocniejszej niż numeryczne porównanie z innym narzędziem: orbita bez zaburzeń odtwarza dokładne rozwiązanie Keplera w zmiennych uniwersalnych z dokładnością poniżej metra w ciągu 24 h (ostrzejsza bramka niż „względem wzorca < 10 m” z kamienia milowego), energia i moment pędu zachowują się do ~1e-9 względnie, regresja węzła J2 zgadza się z zamkniętym tempem wiekowym do teorii pierwszego rzędu, przyspieszenie zonalne jest sprawdzone jako dokładny gradient własnego potencjału (i redukuje się do zamkniętej postaci J2 sprawdzonej na 666 wektorach), a solve_kepler_checked zwraca Err zamiast błędnej odpowiedzi, gdy Newton nie zbiega (np. w pobliżu perygeum, e = 0,999). Grawitacja trzeciego ciała zależna od epoki (Słońce i Księżyc) jest podłączona do zmiennego w czasie integratora (ForceModel::third_body / accel_at, z niskoprecyzyjnymi efemerydami Słońca i Księżyca Montenbrucka i Gilla z src/ephem.rs — bez potrzeby jądra DE/SPK (DE: Development Ephemeris; SPK: jądro efemeryd planetarnych)): każde wartościowanie RHS (prawa strona) próbkuje położenia zaburzających ciał w przesuniętej epoce epoch_jd_tt + t/86400, więc Słońce i Księżyc poruszają się po swoich orbitach w trakcie całkowania. Zaburzenie jest sprawdzone jako dokładny gradient swojego potencjału zaburzającego, znika w geocentrum i ma podręcznikowe wielkości dla LEO (niska orbita okołoziemska) (~5e-7 m/s² Słońce, ~1.1e-6 m/s² Księżyc); efemerydy Słońca trafiają w ręcznie wyprowadzone punkty zakotwiczenia J2000 (odległość peryhelium, deklinacja przesilenia ~−23°, ruch ~1°/dobę), a efemerydy Księżyca w swoją kopertę perygeum/apogeum, średnią odległość ~384 400 km, granicę nachylenia ≤ 5,3° i powrót kierunku po miesiącu syderycznym; a podłączenie do całkowania jest wykazane co do bitu (składnik RHS równa się third_body_accel w próbkowanym położeniu przy t = 0 i t = 1 dobie), przy czym przesunięcie epoki o ćwierć roku daje inną trajektorię. Ciśnienie promieniowania słonecznego (SRP) działa na tym samym zależnym od epoki RHS (forces::srp_accel / ForceModel::solar_radiation): model kuli armatniej ν·P☉·cᵣ·(A/m)·(AU/d)²·d̂ ze współczynnikiem zaćmienia umbra+penumbra forces::conical_shadow (gładkie ν ∈ [0 1], sprawdzone, że zwęża się przez monotoniczną półcień sięgającą poza walec cienia), sprawdzone względem podręcznikowego ciśnienia 1 AU (AU: jednostka astronomiczna) (≈ 4.54e-6 N/m²), wielkości ~1.36e-7 m/s² dla LEO odpychającej od Słońca, spadku z odwrotnością kwadratu (podwojenie odległości od Słońca zmniejsza ją czterokrotnie), dokładnie zerowego przyspieszenia w walcu cienia oraz propagowanego przemieszczenia, które skaluje się ~liniowo z A/m. Opór atmosferyczny jest pierwszym składnikiem zależnym od prędkości (forces::drag_accel / ForceModel::drag + nowy accel_rv / RHS przekazujący prędkość): opór kwadratowy −½·ρ(h)·(C_D·A/m)·|v_rel|·v_rel względem współobracającej się atmosfery v_rel = v − ωₑ ẑ × r, gdzie ρ to odcinkowo wykładnicza forces::atmospheric_density według Vallado — sprawdzony kotwicą 1,225 kg/m³ na poziomie morza, ściśle monotonicznym spadkiem na LEO z fizyczną skalą wysokości ~58 km, wielkością oporu ~2e-6 m/s² przeciwną do prędkości względnej oraz sygnaturą dyssypacji (orbita 300 km traci monotonicznie energię właściwą, a jej półoś wielka zmniejsza się o ograniczone ~km/dobę, podczas gdy orbita próżniowa zachowuje energię). Poprawka relatywistyczna postnewtonowska (Schwarzschilda) jest drugim składnikiem zależnym od prędkości (forces::relativistic_accel / ForceModel::relativity): postać IERS (International Earth Rotation and Reference Systems Service) β = γ = 1 a = (μ/c²r³)·{[4μ/r − v²]·r + 4(r·v)·v}, główny czynnik relatywistycznego przesuwania perygeum — sprawdzona względem swojej zamkniętej wartości kołowej 3μ²/(c²r³)·r̂ (promieniowa, na zewnątrz), podręcznikowego stosunku LEO ≈1.9e-9 do dwóch ciał, ręcznie uproszczonej postaci z prędkością promieniową oraz sygnatury zachowawczej (zaburza orbitę, ale utrzymuje półoś wielką poniżej metra na dobę, strukturalne przeciwieństwo oporu). Składnik Lense’a–Thirringa unoszenia układu inercjalnego (forces::lense_thirring_accel / ForceModel::lense_thirring, IERS 2010 §10) jest poprawką grawitomagnetyczną poza Schwarzschilda — opcjonalny, o ~1–2 rzędy wielkości mniejszy od niego na LEO, sprawdzony, że znika bez obrotu Ziemi i leży poniżej wielkości Schwarzschilda. Wyznaczanie orbity (OD, src/orbit_determination.rs) zamyka pętlę od obserwacji z powrotem do stanu: korektor wsadowy Gaussa–Newtona (src/batch_ls.rs) sprowadza kandydata [r, v] na najlepsze dopasowanie odległości ze stacji naziemnych propagowanych przez łuk (poniżej metra / mm·s⁻¹ z odległości bez szumu; ~2 m z resztą po dopasowaniu na poziomie szumu 5 m — sygnaturą spójnego dopasowania najmniejszych kwadratów), z sekwencyjnym wariantem rekurencyjnym na filtrze unscented Domyślny model sił Cowella zawiera tylko pole zonalne: wysokostopniowe pole tesseralne EGM2008 (Earth Gravitational Model 2008) (src/gravity_sh.rs, stopień/rząd 70, z ładowarką from_gfc plików ICGEM (International Centre for Global Earth Models)) jest składane wyłącznie w precyzyjnym silniku dopasowania efemeryd (src/precise_od.rs; zob. AGENCY-ORBIT-VALIDATION.md); gęstość oporu to statyczny odcinkowo wykładniczy model Vallado (niezależny od aktywności słonecznej), a nie NRLMSISE-00 (Naval Research Laboratory Mass Spectrometer and Incoherent Scatter Radar Extended atmosphere model; klauzula gęstości termosfery < 5 %); SRP to model kuli armatniej z geometrycznym cieniem stożkowym umbra+penumbra (bez pociemnienia brzegowego tarczy Słońca, bez cienia spłaszczonej Ziemi, bez kształtu i orientacji satelity); relatywistyka obejmuje składniki Schwarzschilda i Lense’a–Thirringa (unoszenie układu inercjalnego), oba opcjonalne, ale bez strojenia parametrów PPN (PPN: parametrised post-Newtonian); trzecie ciało i SRP używają niskoprecyzyjnych efemeryd (~0,005° Słońce, ~0,3° Księżyc), a nie dokładności jąder DE/SPK. Zachowawcze poziomy modelu sił (dwa ciała → J2–J6 → Słońce/Księżyc → SRP) są VALIDATED względem Orekit 12,2 (najgorzej 0,08 m w ciągu 24 h, tests/numerical_cowell_propagator_reference.rs), a wsadowe i sekwencyjne wyznaczanie orbity jest VALIDATED względem estymatorów Orekit 12,2 (tests/batch_sequential_orbit_determination_reference.rs); poziom oporu oraz bezwzględna wierność wejściowych efemeryd i gęstości pozostają MODELLED; nie ma porównania z GMAT (General Mission Analysis Tool) grawitacja tesseralna w domyślnym modelu Cowella + opór NRLMSISE-00 + pociemnienie brzegowe tarczy Słońca + efemerydy klasy DE + walidacja krzyżowa z GMAT + pomiary prędkości zmiany odległości i kątów w OD oraz analityczna STM (macierz przejścia stanu): P2+
Systemy czasu częściowe src/timescales.rs: API dat juliańskich (data cywilna↔JD, MJD (zmodyfikowana data juliańska)), UTC↔TAI (UTC: uniwersalny czas koordynowany; TAI: międzynarodowy czas atomowy) przez pełną tabelę sekund przestępnych IERS (10→37 s, 1972→2017), TAI→TT (TT: czas ziemski), UT1 (czas uniwersalny 1, czas obrotu Ziemi) przez DUT1 (czas obrotu Ziemi minus uniwersalny czas koordynowany) oraz kąt obrotu Ziemi IAU-2000 (IAU: Międzynarodowa Unia Astronomiczna) (ERA sprawdzony co do bitu względem wektora SOFA (Standards of Fundamental Astronomy) eraEra00). Przybliżenie DUT1≈0 jest wyraźnie udokumentowane w miejscu wywołania gstime w ścieżce SGP4 (błąd GMST (greenwichowski średni czas gwiazdowy) ≤ ~13″, dobrze mieszczący się w błędzie własnego modelu SGP4), a scenariusz ephemeris przyjmuje jawne pokrętła dut1_s/xp_arcsec/yp_arcsec lub wstawiony rzeczywisty szereg IERS finals2000A (eop_finals2000a / kshana --eop <file>, interpolowany przez ten sam EopSeries, którego używa precise_od), dzięki czemu ślad na powierzchni jest redukowany przez rzeczywisty UT1 i ruch bieguna IERS, a nie tylko nominalne skalary Ścieżki orbit okołoziemskich nadal używają jednoczęściowej JD typu f64 (rozdzielczość ~50 µs w pobliżu 2020 — to ona, a nie algorytm, jest dolną granicą w kontroli krzyżowej różnicami skończonymi); istnieje dwuczęściowa JD (timescales::TwoPartJd, używana w ścieżkach radiometrycznych, CCSDS-TDM, symulatora segmentu naziemnego i Układu Słonecznego oraz src/jd2.rs Jd2) i jest przeprowadzona przez SGP4 (Sgp4::propagate_at(Jd2)), predykcję przejść, geometrię i konstelacje Walkera (sprawdzone względem SOFA, tests/jd2_sofa_time_oracle.rs), a także przez obrót Ziemi na ścieżce orbity (jd2::gmst82, cio::gcrs_to_itrs_matrix_jd2, orbit::Propagator::position_in_frame_jd2, opcjonalne two_part_jd scenariusza efemeryd; VALIDATED względem ERFA, tests/jd2_earth_rotation_erfa_oracle.rs), z bezstratnymi konwersjami między Jd2 a TwoPartJd; domyślne ścieżki orbit okołoziemskich zachowują datę jednoczęściową f64, chyba że ustawiono two_part_jd, a epoka modelu sił Cowella celowo pozostaje jednoczęściowa f64 (jego analityczny błąd Słońca i Księżyca przytłacza zaokrąglenie 40 µs); UTC z gumową sekundą sprzed 1972 (1960–1971) jest modelowane na ścieżce dwuczęściowej (jd2, timescales::tai_minus_utc_on_date, VALIDATED względem ERFA, tests/jd2_pre1972_sofa_oracle.rs), ale jednoczęściowe f64 timescales::tai_minus_utc nadal obcina do 10 s przed 1972; predyktor orientacji Ziemi oparty na najmniejszych kwadratach i autoregresji (src/eop_ls_ar.rs, porównany z Biuletynem A IERS jako ustalenie) może teraz przedłużyć szereg EOP poza jego ostatni wiersz (EopSeries::with_ls_ar_prediction, opcjonalne; tests/eop_prediction_beyond_table.rs), więc argumenty układów poza tabelą podążają za prognozą zamiast być obcinane; domyślny szereg nadal obcina, a żaden klucz scenariusza nie włącza jeszcze predykcji zrobione (fundament); dwuczęściowa JD przez obrót Ziemi na ścieżce orbity: zrobione (opcjonalnie w scenariuszu efemeryd) ; predykcja EOP poza tabelą: zrobione (biblioteka, opcjonalnie); UTC sprzed 1972 na ścieżce dwuczęściowej: zrobione
Układy odniesienia pełne src/frames.rs: TEME↔ECEF oparte na GMST, geodezyjne WGS-84↔ECEF (dokładne + iteracyjna odwrotność, z precyzją maszynową na wszystkich wysokościach) i geodezyjny obserwator stacji naziemnej (azymut/elewacja/odległość); precesja IAU 2006 (src/precession.rs: kąty Fukushimy–Williamsa (γ̄, φ̄, ψ̄, ε̄_A) + macierz biasu i precesji GCRS↔średnia epoki); nutacja IAU 2000A/2000B + pełny łańcuch TEME→GCRS (src/nutation.rs: pełny szereg IAU 2000A — 678 wyrazów lunisolarnych + 687 planetarnych, nutation_iau2000a / nutation_matrix_2000a, tabela wygenerowana maszynowo z wzorca nut00a ERFA (Essential Routines for Fundamental Astronomy) przez tools/gen_nut00a.py — obok 77-wyrazowego szeregu 2000B, argumentów Delaunaya, macierzy nutacji SOFA iauNumat, równania równonocy i teme_to_gcrs(r, v, jd_tt) przez TEME→TOD→MOD→GCRS (prawdziwa epoki, średnia epoki) — oba szeregi sprawdzone co do bitu względem wektorów wzorcowych SOFA/ERFA nut00a/nut00b, Δψ/Δε do 1e-13 rad); ruch bieguna IERS PEF→ITRF (pseudo-Earth-fixed do ziemskiego) (teme_to_itrf / polar_motion_matrix, SOFA iauPom00, x_p/y_p podawane przez wywołującego — efekt rzędu dziesiątek metrów na promieniu orbity); redukcja IAU 2006/2000A oparta na CIO (CIO: Celestial Intermediate Origin) (src/cio.rs: wolny od równonocy łańcuch GCRS↔CIRS↔ITRS (CIRS: Celestial Intermediate Reference System; ITRS: International Terrestrial Reference System) — CIP (Celestial Intermediate Pole) X,Y z macierzy NPB (nutacja-precesja-bias) 2006/2000A, 66-wyrazowy szereg lokalizatora CIO s, gcrs_to_cirs_matrix, kąt obrotu Ziemi i pełne gcrs_to_itrs_matrix — sprawdzone co do bitu względem wektorów SOFA eraXys06a/eraC2ixys/eraEra00). Przekształcenia od początku do końca są teraz przypięte do opublikowanego, miarodajnego przykładu roboczego, a nie tylko do samospójności: względem stanu Vallado AIAA 2006-6753 (2004-04-06, z jego IERS EOP (parametry orientacji Ziemi); tests/frame_reference_vectors.rs) TEME→PEF zgadza się do 0,1 mm, TEME→ITRF do 0,6 mm, pełne CIO GCRS→ITRS do 4 mm, a ECEF→geodezyjne odtwarza szerokość/długość/wysokość z Przykładu 3-3 Vallado do ostatniej opublikowanej cyfry. Cały łańcuch jest dostępny dla użytkownika przez scenariusz ephemeris (pozycja ITRF/ECEF + ślad podsatelitarny WGS-84 w każdym kroku) Domyślny łańcuch TEME→GCRS używa 2000B (~1 mas, poniżej własnego uproszczenia obrotu układu prędkości); ścieżka < 0,1 mas na pełnym 2000A jest dostępna przez nutation_matrix_2000a, a rygorystyczna redukcja CIO (X, Y, s) przez src/cio.rs. Dawna ścieżka TEME używa GMST IAU-1982 (konwencja SGP4). Niezależna numeryczna kontrola krzyżowa ANISE/SPICE (ANISE: Attitude, Navigation, Instrument, Spacecraft, Ephemeris — czysto rustowy zestaw narzędzi geometrii planetarnej; SPICE: Spacecraft, Planet, Instrument, C-matrix, Events) jest dostarczona (xval/anise-frames/: gcrs_to_itrs_matrix wobec GCRF→ITRF93 z ANISE (GCRF: Geocentric Celestial Reference Frame; ITRF93: International Terrestrial Reference Frame 1993) w ośmiu epokach 2020–2023, ≤ 0,86 m na powierzchni, ≤ 3,6 m na orbicie GNSS (globalny system nawigacji satelitarnej)); jest to samodzielna biblioteka poza domyślnymi bramkami CI. precession_matrix i teme_to_gcrs_matrix są też sprawdzane bezpośrednio względem ERFA w 40 epokach 1950–2100, a łańcuch CIO przyjmuje przesunięcia bieguna niebieskiego IERS dX, dY (cio::gcrs_to_cirs_matrix_with_offsets; tests/frames_erfa_vector_oracle.rs); domyślne ścieżki nadal pomijają dX, dY. Macierz weryfikacji ocenia ten wiersz jako VALIDATED (wektory SOFA/ERFA + Vallado) TEME↔ECEF + geodezyjne: zrobione (zweryfikowane względem Vallado); inercjalne TEME→GCRS: zrobione (2000B + pełne 2000A); ITRF z ruchem bieguna: zrobione (zweryfikowane względem Vallado); CIO GCRS→ITRS: zrobione (zweryfikowane względem Vallado)
Czas i częstotliwość częściowe Dokładny dwustanowy zegar Kalmana z van-Loan-Q (NIST (National Institute of Standards and Technology) SP (Special Publication) 1065) z aktualizacją kowariancji stabilizowaną metodą Josepha (dodatnio półokreśloną przy skrajnych stosunkach Q/R, sprawdzaną rozkładem Choleskiego w CI) i monitorem zdrowia spójności filtra (src/filter_health.rs): ocena NIS/NEES (NIS: znormalizowany kwadrat innowacji; NEES: znormalizowany kwadrat błędu estymacji) metodą Monte Carlo względem pasm ufności χ², udostępniana jako filter_health w wyniku JSON (JavaScript Object Notation) i zielona/bursztynowa karta na placu zabaw, z testem przeglądu niedopasowania Q/R dowodzącym, że monitor przełącza się na niespójny, gdy strojenie jest nieprawidłowe (Bar-Shalom §5,4); nakładające się estymatory ADEV (odchylenie Allana), MDEV (zmodyfikowane odchylenie Allana), TDEV (odchylenie czasu), HDEV (odchylenie Hadamarda) + przedziały ufności oparte na χ² z efektywnymi stopniami swobody zależnymi od typu szumu (postaci zamknięte z Tabeli 5 NIST SP 1065 dla WPM/FPM/WFM/FFM/RWFM (WPM: biały szum fazy; FPM: szum fazy migotania; WFM: biały szum częstotliwości; FFM: szum częstotliwości migotania; RWFM: błądzenie losowe częstotliwości), zestaw używany przez Stable32; wyeksportowana krzywa ADEV rozpoznaje typ potęgowy zapisu po nachyleniu MDEV i dołącza pasmo 95% dla każdego τ — src/allan.rs), sprawdzone numerycznie względem odchyleń wzorcowych Stable32 dla kanonicznego zbioru NBS14 do 1e-4 (tests/allan_reference.rs), a edf skontrolowane krzyżowo zespołem Monte Carlo białego FM (FM: modulacja częstotliwości); uczciwy wskaźnik jakości holdover ograniczony siatką; zespoły zegarów; model dwukierunkowego transferu czasu ze znoszeniem wzajemnych opóźnień + niewzajemną dolną granicą różnicy opóźnień w postaci błądzenia losowego FM (src/timetransfer.rs, zgłaszana sygnatura Allana); kalkulator holdover zegara przy odmowie GNSS (src/holdover.rs) udostępniający zamkniętą postać van-Loana wzrostu błędu dryfu σ_x²(t) = q_wf·t + q_rw·t³/3 + q_drift·t⁵/20 jako skierowaną do użytkownika odwrotność holdover do progu (jak długo zegar dryfuje swobodnie, zanim jego błąd czasu przekroczy budżet), z reprezentatywnymi klasami zegarów kwantowych (sieć optyczna/uwięziony jon/jon rtęci) — obliczone z modelu, nie sprawdzone zewnętrznie: skontrolowane krzyżowo wielokrokową rekurencją kowariancji clock_state i uczciwie stwierdzone, że dla bardzo stabilnego zegara holdover do ciasnego progu jest wyznaczony przez przyjętą dolną granicę szumu czerwonego dla długiego tau, a nie przez przytoczone ADEV (do wiarygodnej liczby użyj zmierzonych dolnych granic). Warunkowy poziom ochrony czasu (src/tpl.rs) opiera się na tej samej maszynerii holdover dla przypadku spoofingu: granica niewykrytego błędu czasu przy niezależnej kontroli krzyżowej — dolna granica monitora k-σ plus wariancja dryfu van-Loana w opóźnieniu detekcji plus czas do alarmu CUSUM (suma skumulowana) — skalibrowana na rzeczywistym zarejestrowanym spoofie (JammerTest 2024, Zenodo 15911589) i odtwarzalna przez cargo run --example tpl_jammertest. Składanie obliczone z modelu, warunkowe względem detekcji: nie ma skończonej granicy bezwarunkowej (dostatecznie wolna rampa omija pojedynczy monitor wspomagany zegarem). Maksymalny błąd interwału czasu (MTIE) i TDEV są VALIDATED względem allantools (tests/mtie_reference.rs, tests/mdev_tdev_reference.rs), a odwrotność wariancji dryfu holdover jest VALIDATED względem SciPy (tests/gnss_denied_clock_holdover_reference.rs); rodzaj telecom-timing stosuje je do masek ITU-T (International Telecommunication Union Telecommunication Standardization Sector) G.8272 / G.8272.1 / G.8273.2 / G.8271.1 — zob. TELECOM-TIMING.md pełne edf algorytmu Greenhalla (proste postaci zamknięte mają ograniczone obciążenie, ale są grubsze niż dokładne BasicSum) oraz identyfikacja mieszanin wielu typów szumu dokładne edf + identyfikacja szumu mieszanego: P2
Przetwarzanie GNSS / PNT częściowe Symulacja pseudoodległości w dziedzinie pomiarów (rodzaj gnss-sim, src/gnss_sim.rs): dla każdego widocznego satelity syntezuje ρ = geometric range + c·δt_rx − c·δt_sv + I + T + noise + multipath oraz Doppler L1, z jonosferą jednoczęstotliwościową Klobuchara (IS-GPS-200 (IS: Interface Specification; GPS: Global Positioning System) §20.3.3.5.2.5) i troposferą zenitalną Saastamoinena (Davis 1985) rzutowaną funkcją odwzorowania Niella (1996) — każdy model sprawdzony testem jednostkowym względem obliczenia ręcznego — następnie przekazuje reszty do migawkowego RAIM (autonomiczny monitoring integralności odbiornika) dla HPL/VPL w każdej epoce (HPL: poziomy poziom ochrony; VPL: pionowy poziom ochrony) i wysyła tablicę gnss_measurements[] (pseudoodległość, Doppler, C/N₀, poprawki jonosferyczne/troposferyczne na SV (statek kosmiczny, czyli satelita)). Ponadto DOP/dostępność (DOP: współczynnik rozmycia dokładności) i RAIM rozdzielania rozwiązań z orbit; wczytywanie RINEX (Receiver Independent Exchange Format) 3 NAV wielu GNSS (GPS/Galileo/QZSS/BeiDou (QZSS: japoński Quasi-Zenith Satellite System) przez IS-GPS-200, wektor stanu GLONASS (rosyjski Global Navigation Satellite System)) przetwarzane → pozycja ECEF i odchyłka zegara SV, używalne jako pierwszorzędne źródło Propagator ORAZ jako wstawiony blok konstelacji rinex (scenarios/orbit-rinex.toml); wczytywanie obserwacji RINEX 3 (układ obserwacji 4,00 ma się parsować, ale żaden plik 4,00 nie był sprawdzany; pliki nawigacyjne RINEX 4 są odrzucane z nazwy zamiast błędnie dekodowane); solwer pozycjonowania punktowego (rodzaj pvt, src/pvt.rs), który zamienia rzeczywiste pseudoodległości kodowe RINEX + efemerydy rozgłaszane na pozycję odbiornika iterowaną ważoną metodą najmniejszych kwadratów — poprawka Sagnaca/obrotu Ziemi, rozgłaszany zegar satelity z −TGD, kombinacja bezjonosferyczna dwuczęstotliwościowa L1/L2 (lub jednoczęstotliwościowy Klobuchar), troposfera Saastamoinena/Niella, ważenie elewacją, DOP i migawkowy RAIM — sprawdzony na rzeczywistych danych IGS (International GNSS Service) (stacja ABMF, Gwadelupa, 2018-05-13) do 5,7 m RMS (wartość skuteczna) 3-D / 1,1 m poziomo względem zmierzonej współrzędnej stacji (tests/pvt_abmf.rs, scenarios/pvt-abmf.toml); oraz odczyt/zapis precyzyjnych orbit SP3 (Standard Product 3, format precyzyjnych orbit) Silnik pozycjonowania kodowego oraz, od 0,36, przetwarzanie fazy nośnej na rzeczywistych obserwacjach: solwer pvt oblicza rzeczywistą pozycję z rzeczywistych pomiarów kodowych (pozycjonowanie punktowe, z dokładnością metrową, z dwuczęstotliwościową kombinacją bezjonosferyczną); rtk_real::run_rtk wykonuje RTK na krótkiej bazie na rzeczywistym dwuczęstotliwościowym kodzie i fazie GPS (podwójne różnice, zmiennoprzecinkowy filtr Kalmana, ustalanie całkowitoliczbowej niejednoznaczności LAMBDA z testem ilorazu, src/lambda.rs), a statyczny zmiennoprzecinkowy filtr PPP działa na rzeczywistym kodzie i fazie z końcowymi orbitami i zegarami IGS. Oba są VALIDATED względem opublikowanych współrzędnych ITRF2020 stacji IGS (WTZR/WTZZ, tests/rtk_real_wettzell_oracle.rs, tests/ppp_real_wettzell_oracle.rs, progi wstępnie zarejestrowane); nadal brakuje rozwiązywania niejednoznaczności całkowitoliczbowych w PPP, kinematycznego lub sieciowego RTK i działania w czasie rzeczywistym. Wygładzanie nośnej Hatcha jest przypiętym ustaleniem MODELLED (jego wstępnie zarejestrowane progi nie zostały osiągnięte). Rodzaj leo-ppp uruchamia zmiennoprzecinkowy filtr PPP na pomiarach, które sam symuluje, do badań zbieżności; pakiet gnss-sim w przód pozostaje symulatorem od prawdy; BeiDou-GEO (GEO: orbita geostacjonarna) wyłączone rozwiązywanie niejednoznaczności w PPP, kinematyczne lub sieciowe RTK, działanie w czasie rzeczywistym: użyj RTKLIB/gLAB (RTKLIB: otwartoźródłowa biblioteka pozycjonowania kinematycznego w czasie rzeczywistym)
Fuzja czujników / nawigacja zliczeniowa INS (inercyjny system nawigacji) pełne 3-osiowa biblioteka bezkardanowa (src/inertial/{attitude,mechanization,imu_errors}.rs): orientacja kwaternionowa z kompensacją coning/sculling, pełna mechanizacja NED (północ-wschód-dół) (prędkość obrotowa Ziemi + prędkość transportu, grawitacja Somigliany WGS-84) oraz deterministyczny model błędów IMU (jednostka pomiarów inercyjnych) (modelowane współczynnik skali, niewspółosiowość, czułość na g, kwantyzacja, rampa prędkości). Nawigator bezkardanowy jest teraz podłączony do uruchamialnego pakietu luźno sprzężonego GNSS/INS ze wskaźnikiem jakości (src/fusion/pack.rs, kind = "gnss-ins"): trójosiowa mechanizacja jest dyscyplinowana przez 15-stanowy EKF stanu błędu (rozszerzony filtr Kalmana) (src/fusion/{gnss_ins_ekf,closed_loop}.rs, sprzężenie zwrotne pozycji/prędkości/orientacji/biasu), gdy GNSS jest dostępny, a następnie dryfuje przez przerwę — zastępując reset do prawdy rzeczywistą fuzją i raportując scalony błąd poziomy względem dryfu swobodnego INS w pętli otwartej. Osobny dawny pakiet inertial nadal uruchamia budżet 1-DOF (DOF: stopień swobody) skalarny z resetem do prawdy. Zaimplementowana jest też aktualizacja ściśle sprzężona na pseudoodległościach (update_tightly_coupled / fuse_tightly_coupled): tworzy innowację w dziedzinie odległości (jakobian linii widzenia względem δp) i nadal koryguje przy mniej niż czterech satelitach, gdy luźno sprzężone rozwiązanie PVT (pozycja, prędkość i czas) nie istnieje. Pełny 17-stanowy ściśle sprzężony UKF GNSS/INS (filtr Kalmana typu unscented) (src/fusion/tightly_coupled17.rs) niesie pozycję, prędkość, błąd orientacji, biasy akcelerometrów i żyroskopów oraz zegar odbiornika (bias + dryf), z nawigacją zliczeniową kwantowego CAI (CAI: interferometr zimnych atomów) — szum procesu błądzenia losowego prędkości jest wyprowadzonym q_va akcelerometru zimnoatomowego — dryfującym przez 120-sekundową przerwę w granicach kilkuset metrów (wobec kilometrów dla swobodnego INS klasy nawigacyjnej). Ten 17-stanowy UKF jest teraz udostępniony jako uruchamialny scenariusz (src/fusion/hybrid_ukf.rs, kind = "hybrid-ukf", osiągalny z CLI/Pythona/WASM/MCP): 15 stanów błędu INS jest rozszerzonych o korektę biasu akcelerometru wyprowadzoną z CAI (interferometr zimnych atomów ustala dolną granicę błądzenia losowego prędkości q_va) i 2-stanowy zegar fazy i częstotliwości, którego szum procesu pochodzi z silnika zegara z parametrami q (clock_state::q_from_allan, profil Allana → q_wf/q_rw), napędzany ujętym w nawiasy modelem błędów CAI, więc przebieg demonstruje hybrydyzację krótkoterminową klasycznego IMU z długoterminową kwantową. Jego wskaźnikiem jakości jest samospójność filtra — zbiorcze NEES + biel innowacji (NIS) w zespole Monte Carlo względem pasm χ² 95% (dopasowany filtr mieści się w pasmach; źle nastrojony filtr jest oznaczany, co jest obiektywnie sprawdzalną bramką). Jest to stwierdzenie o SPÓJNOŚCI WEWNĘTRZNEJ przy modelowanym szumie, a NIE gwarancja dokładności w świecie rzeczywistym — wejścia CAI/zegara są ujęte w nawiasy lub modelowane, sprzęt CAI należy do partnera i nic tu nie implikuje TRL (poziom gotowości technologicznej) >3, dziedzictwa lotniczego ani zewnętrznej walidacji. Deterministyczny model błędów IMU jest konfigurowalny dla każdego czujnika z pliku scenariusza TOML (Tom's Obvious Minimal Language) gnss-ins ([imu_*.error_model]: współczynnik skali, niewspółosiowość, czułość na g, kwantyzacja, rampa prędkości), a przy pominięciu domyślnie jest czystym źródłem stałego biasu Ścisłe sprzężenie jest wyłącznie na pseudoodległościach (faza nośnej jest w planie rozwoju); scenariusz hybrid-ukf używa jednej poziomej trajektorii o stałej prędkości, na której stany błędu orientacji i biasów IMU są tylko słabo obserwowalne, więc spójność NEES jest oceniana na podzbiorze możliwym do estymacji (pozycja, prędkość, zegar = 8 stanów) — pełna obserwowalność 17 stanów wymaga trajektorii z manewrami (plan rozwoju); luźno sprzężona para bias akcelerometru/przechył jest słabo rozdzielna, więc kalibracja poszczególnych biasów nie jest deklarowana; model błędów IMU pomija rektyfikację drgań i dryf gradientu temperatury; 17-stanowy UKF i ścieżki ściśle sprzężone są samozwalidowane (analityczne całkowanie przy stałej prędkości, zbieżność wspomagania GNSS, odzyskiwanie biasu, granica 120-sekundowej przerwy ograniczona przez CAI oraz wyrocznia spójności χ² NEES/NIS) — sama mechanizacja bezkardanowa jest VALIDATED względem NaveGo v1.4 (tests/classical_strapdown_ins_reference.rs: orientacja identyczna co do bitu, prędkość/pozycja w granicach nazwanych granic analitycznych), ale nie przeprowadzono walidacji krzyżowej na poziomie filtra (NaveGo ani zbioru danych pojazdu KF-GINS) ścisłe sprzężenie z fazą nośnej, pełna obserwowalność 17 stanów na trajektorii z manewrami, biblioteka trajektorii, walidacja krzyżowa na poziomie filtra z NaveGo/KF-GINS: P2
Integralność / RAIM / ARAIM (zaawansowany autonomiczny monitoring integralności odbiornika) częściowe Rzeczywisty migawkowy RAIM w src/raim.rs: rozwiązanie najmniejszych kwadratów + detekcja uszkodzeń przez resztę χ² (dokładny próg z niezależnego od zależności niepełnego χ² gamma) oraz HPL/VPL oparte na nachyleniu (pbias z niecentralnego χ² dla skonfigurowanych P_fa/P_md); RAIM rozdzielania rozwiązań (MHSS) z detekcją i identyfikacją uszkodzeń; budżet ryzyka integralności ARAIM (P_HMI) (araim_raim), który rozwiązuje najmniejsze HPL/VPL, których zsumowane P_HMI = Σ_k p_fault,k·Q((PL−T_k)/σ_k) spełnia jawny przydział ryzyka integralności, tryb uszkodzenia całej konstelacji w układzie dwu-/wielokonstelacyjnym (araim_dual_raim, EU (Unia Europejska) ARAIM TN (nota techniczna) / DO-316; P_const = 0 ⇒ co do bitu araim_raim), jawny komunikat wsparcia integralności (IntegritySupportMessage: σ_URA/σ_URE/b_nom/P_sat/P_const, z wartościami referencyjnymi GPS+Galileo WG-C (WG: grupa robocza)), a także diagram integralności Stanforda(-ESA, Europejska Agencja Kosmiczna) (rodzaj scenariusza integrity i samodzielny renderer stanford_svg czterech stref + granicy PL=error). Udokumentowane od początku do końca w ARAIM_REFERENCE.md. Ponadto samospójność filtra wskaźnika jakości scenariusza (granica k-σ) RAIM jest dostępny przez rodzaj scenariusza integrity oraz (0,36, opcjonalnie) obok wskaźnika jakości zegara/holdover jako osobny blok integrity_fom ([integrity]: migawkowy RAIM na ustawieniu wstępnym nieba ze wskazanego stanowiska, niedostępny przy odmowie GNSS; MODELLED), nigdy nie wliczany do wskaźnika jakości holdover, który nadal raportuje samospójność; migawkowy RAIM niesie jednosatelitarne FDE (detekcja i wykluczanie uszkodzeń, raim::snapshot_raim_fde, VALIDATED względem RTKLIB raim_fde w tests/integrity_snapshot_raim_rtklib_oracle.rs); rozdzielanie rozwiązań ARAIM ADD v4.2 z wieloma hipotezami i wyznaczaniem podzbiorów wielosatelitarnych jest w src/araim_reference.rs (VALIDATED względem Stanford MAAST, tests/integrity_araim_stanford_oracle.rs), ale budżet raim::araim_raim o jednakowej sigma nadal obejmuje tylko uszkodzenia pojedynczego SV i całej konstelacji i nie spełnia wymagań ADD (0,36, opcjonalnie: jednoczesne uszkodzenia podzbiorów wielu SV przez regułę podzbiorów ADD v4.2 uogólnioną poza pary, araim_subset_raim, add_v42_protection_levels_to_order; MODELLED, bez przebiegu MAAST poza parami), a wykluczanie wielu SV nie jest modelowane; a araim_dual_raim jest podłączony do uruchamiacza scenariuszy TOML przez flagę araim_dual (scenarios/araim-gps-galileo.toml), ze ścieżką dostępności w każdej epoce araim_dual_constellation_availability; rdzenie migawkowy/MHSS/ARAIM są ćwiczone na rzeczywistej geometrii precyzyjnych orbit IGS (SP3) (tests/igs_real_data.rs) i na rzeczywistych TLE GPS+Galileo z Celestrak (tests/araim_dual_real_data.rs, każdy satelita propagowany do jednej wspólnej epoki UTC — najnowszej epoki TLE (zestaw elementów dwuwierszowych) w zestawie, 2026-06-07T07:21:04 — dla użytkownika na nachyleniu 45° i wysokości 400 km w ciągu 24 h: dostępność przy VAL (pionowy limit alarmowy) 12 m / HAL (poziomy limit alarmowy) 10 m wynosi 0,993 dla samego GPS, 1,000 dla połączonych GPS+Galileo i 0,990 w dwutrybowym trybie odpornym na uszkodzenia konstelacji; wartość publikowana tu wcześniej, 0,21→0,67 z trybem odpornym „ograniczonym”, pochodziła z propagowania każdego satelity od jego własnej epoki TLE — nieba, które nigdy nie istniało — i jest wycofana); wcześniejsze porównanie „EU-ARAIM-TN Table A-3” jest wycofane (brak publicznego źródła), a odtworzenie publicznych wpisów maksymalnego URA z EU-US WG-C ARAIM Milestone 3 (Tabele 5 do 7, wiersze Depleted i Baseline) jest podejmowane w xval/araim-m3/ przy podanych odstępstwach (MODELLED, zob. INTEGRITY.md); bez certyfikacji DO-229/ARAIM ARAIM z wieloma uszkodzeniami (ADD v4.2): zrobione; podzbiory wielu SV w raim + zgodność gLAB w dziedzinie odbiornika + podłączenie do wskaźnika jakości: P2 (zob. INTEGRITY.md)
Modelowanie zagrożeń spoofingu / zagłuszania częściowe Stochastyczny detektor spoofingu czasu (rodzaj spoof, src/spoof.rs + src/detection.rs): cztery kształty wstrzyknięcia (rampa liniowa, skok skokowy, meaconing, odtwarzanie) wobec monitora wspomaganego zegarem z dwustronnym testem energii χ²₁ / Neymana–Pearsona, z progiem detekcji ustawionym z docelowego budżetu fałszywych alarmów P_fa oraz prawdopodobieństwem niewykrycia P_md podawanym zarówno w postaci zamkniętej, jak i metodą Monte Carlo (oba zgadzają się do kilku ×1/√N) — wskaźnikiem jakości bezpieczeństwa jest 1 − P_md. Ponadto model zagłuszania oparty na budżecie łącza (rodzaj jamming, src/jamming.rs): stosunek zagłuszacza do sygnału z geometrii (tłumienie propagacji w wolnej przestrzeni + zysk anteny odbiorczej dla każdego kierunku), standardowe równanie efektywnego C/N₀ przy odporności na zagłuszanie (zysk przetwarzania z rozpraszania widma + współczynnik rozdzielenia widmowego Q; Kaplan i Hegarty §9,4), utrata synchronizacji dla każdego satelity przy konfigurowalnym progu śledzenia oraz wskaźnik jakości availability_under_jamming dla konstelacji Walkera. Ponadto wielowarstwowy zestaw monitorów spoofingu RF/pomiarowych (RF: częstotliwość radiowa) (src/spoof_monitors.rs): test parzystości spójności RAIM wielu satelitów (parity_raim_test, ważona reszta SOS (suma kwadratów) wobec progu χ²(m−4) — i poprawnie sygnalizuje, że obciążenie wspólne jest dla RAIM niewidoczne), monitor AGC (automatyczna regulacja wzmocnienia) (AgcMonitor, nadwyżka mocy odbieranej nad oczekiwaną dolną granicą), monitor jakości sygnału / SQM (monitorowanie jakości sygnału) (SqmMonitor, brak równowagi korelatorów Early/Late) oraz łącznik fuzji warstw (fuse_spoof_layers). Składają się one na zintegrowany CombinedSpoofDetector, którego evaluate przyjmuje jedną epokę obserwabli (geometria + reszty, moc AGC, odczepy Early/Late) i przepuszcza wszystkie trzy warstwy przez ważoną fuzję w jednym wywołaniu, zwracając diagnostykę dla każdej warstwy; jest udostępniony jako uruchamialny scenariusz spoof-detect (src/spoof_detect.rs, dostępny z CLI / Pythona / placu zabaw, JSON + SVG (Scalable Vector Graphics)) i scharakteryzowany względem opublikowanych parametrów scenariuszy TEXBAT (Texas Spoofing Test Battery) (Humphreys i in., ION (Institute of Navigation) GNSS 2012; tests/spoof_texbat_validation.rs) — odtwarzając udokumentowany wzorzec wykrywalności, w tym wyniki negatywne: ds2 z nadmierną mocą wychwycony przez AGC + SQM, ds3 o dopasowanej mocy przez sam SQM, ds4 z przesunięciem pozycji przez RAIM, a ds7 o dopasowanej mocy i wyrównanej fazie nośnej pozostawiony (poprawnie) detektorowi wspomaganemu zegarem Rodzaj jamming jest budżetem łącza — nie ma wielodrogowości ani dynamiki AGC w czasie. Od 0,36 przyjmuje cztery opcjonalne sekcje: [crpa], adaptacyjną wiązkę anten dla każdego kanału (zerowanie lub MVDR z src/crpa.rs, sprawdzone względem niezależnego przeliczenia w numpy; MODELLED), oraz [terrain], pojedynczą stratę dyfrakcji na krawędzi noża na ścieżce zagłuszacza nad kafelkiem SRTM (src/jamming_terrain.rs, ITU-R P.526-15 §4,1, sprawdzoną względem niezależnego przeliczenia w numpy na rzeczywistym kafelku; MODELLED, tylko jedna krawędź noża), [acquisition], histerezę akwizycji względem śledzenia, oraz [front_end], ustalony odczyt AGC i stratę kwantyzatora przetwornika ADC dla wejścia gaussowskiego (src/jamming_rx.rs; oznaczone jako nieważne dla zagłuszaczy niegaussowskich; MODELLED). Wielodrogowość zwierciadlana, zaniki lądowo-ruchome i AGC istnieją w warstwie IQ (src/iq/channel/multipath.rs, src/iq/channel/land_mobile.rs, src/iq/frontend/agc.rs) i nie są podłączone do rodzaju jamming; tabela rozdzielenia widmowego Q zawiera podręcznikowe wartości dla każdego typu (CW i wąskopasmowe 1, szerokopasmowe i przemiatane 2 od 0,36), przypięte do współczynników wyprowadzonych z gęstości widmowych mocy (PSD) w navsignal (zob. wiersz sygnału nawigacyjnego). Detektor spoofingu wspomagany zegarem jest jednozegarowy; monitory RF/pomiarowe są teraz zintegrowane (CombinedSpoofDetector) i scharakteryzowane względem opublikowanych parametrów scenariuszy TEXBAT (Humphreys i in.); pozostałością jest walidacja względem surowych wektorów — próbek IQ (in-phase/quadrature) TEXBAT (które wymagają toru wejściowego akwizycji/śledzenia SDR (radio programowalne), jakiego kshana nie ma, będąc symulatorem, a nie odbiornikiem) lub licencjonowanego scenariusza Spirent — udokumentowana praca następcza wspomagany zegarem + zintegrowana spójność RAIM wielu SV + AGC + SQM detektor łączony + charakterystyka parametrów TEXBAT: zrobione; walidacja na surowych wektorach (TEXBAT IQ / licencjonowany Spirent): praca następcza
Modulacja sygnału nawigacyjnego i wydajność śledzenia kodu częściowe src/navsignal.rs: poziom sygnału między budżetem łącza a dziedziną pomiarów. Gęstości widmowe mocy o jednostkowym polu dla BPSK-R(n) (binarna kluczowanie fazy, chipy prostokątne) i sine-BOC(m,n) (binarna nośna z przesunięciem) (sprawdzone w CI co do jednostkowego pola, do zamkniętej postaci własnego współczynnika rozdzielenia widmowego (SSC) BPSK κ = 2/(3R_c) oraz do podziału widma BOC — zero przy nośnej, szczyty przy ±f_s); współczynnik rozdzielenia widmowego κ = ∫ G_s(f)G_i(f) df, który teraz wyprowadza Q odporności na zagłuszanie używane przez jamming z rzeczywistych widm sygnału i zagłuszacza (Q = 1/(R_c·κ)) zamiast reprezentatywnej stałej (odniesienie szerokopasmowe jest kontrolowane krzyżowo w CI); szerokość pasma RMS (Gabora) (BOC > BPSK — miara informacji o odległości / Cramér–Rao); szum termiczny koherentnej pętli DLL (pętla synchronizacji opóźnienia) wczesny–późny w śledzeniu kodu (Kaplan i Hegarty §8 — ~poniżej metra dla C/A przy 45 dB-Hz, monotoniczny względem C/N₀); oraz obwiednia błędu wielodrogowości (koherentny EML (wczesny minus późny), wyznaczona przez znalezienie zera dyskryminatora złożonego — potwierdzone tłumienie wąskiego korelatora). Warstwa kompromisów projektowych kodów dalmierczych (CodeFamily) dodaje listek boczny okresowej autokorelacji ciągów m/Golda (1/L dla ciągu m) i trójwartościową granicę korelacji wzajemnej Golda t(n)/L — odtwarzając opublikowaną korelację wzajemną Golda GPS C/A −23,9 dB (zewnętrzna kotwica) i liczbę ciągów m φ(2ⁿ−1)/n — oraz odwrócenie długość kodu↔jednoznaczny zasięg; gwarancje Golda uczciwie zwracają None, gdy nie istnieje para preferowana (n mod 4 = 0), zamiast podawać granicę, która nie obowiązuje. Od 0.31.0 osobna warstwa IQ (src/iq/, polecenia kshana iq; projekt w design/GNSS-IQ-PLAN.md) dodaje łańcuch odbiornika programowego: akwizycję FFT (szybka transformata Fouriera), wielokanałowy bank śledzenia DLL/PLL/FLL (pętle synchronizacji opóźnienia, fazy i częstotliwości), filtrację toru wejściowego i kwantyzację od 1 do 14 bitów oraz strumieniowanie zarejestrowanych zbiorów danych. Niezależny odbiornik programowy odtwarza wstrzykniętą prawdę swoich scen, a kody GPS L1 C/A i bity LNAV (dawny komunikat nawigacyjny) są zgodne co do bitu z gps-sdr-sim. Nadal brakuje: dyskryminatory pętli zakładają idealny trójkąt korelacji BPSK, więc nie ma rozwiązywania niejednoznaczności śledzenia BOC; modele kanału i pętli są MODELLED, sprawdzone względem postaci zamkniętych i wstrzykniętej prawdy, nie względem zmierzonego terenowego IQ; tylko pętle skalarne (bez śledzenia wektorowego). Projekt sprzętowy anten i ładunku RF (charakterystyki promieniowania, tor wejściowy) jest celowo poza zakresem — to rola partnera od ładunku. niejednoznaczność BOC + walidacja warstwy IQ na terenowym IQ: P2+
Fizyka kwantowych czujników PNT częściowe Większość czujników to opublikowane współczynniki Allana / budżetu szumu (CSAC, optyczne), plus oparty na pierwszych zasadach akcelerometr z interferometrem zimnych atomów (CAI) w src/inertial/quantum_imu.rs: trójimpulsowa faza Macha–Zehndera Φ = k_eff·a·T², kwantowy szum projekcji (śrutowy) σ_Φ = 1/(C√N), wyprowadzone PSD błądzenia losowego prędkości q_va, które zużywa stos inercyjny, zanik kontrastu, funkcja przenoszenia drgań |H(ω)| + wariancja białego PSD, a teraz także systematyki Coriolisa/obrotu (coriolis_phase, równoważny bias 2Ω×v) i przesunięcia świetlnego AC-Starka (AC: prąd zmienny) (ac_stark_phase, kasowanie symetryczne) + przegląd dryfu czasu cyklu (cai_drift_sweep) oraz złożony budżet błędu kwantowo-inercyjnej nawigacji zliczeniowej (QuantumNavBudget), który składa biały szum błądzenia losowego prędkości CAI z resztkowym biasem (½·b·t², skontrolowanym krzyżowo niezależnym integratorem Eulera AccelModel), błędem współczynnika skali i opcjonalnym długoterminowym pogorszeniem stabilności (odrębnym od dekoherencji w każdym strzale) w jedną wartość dryfu pozycji w czasie holdover plus inercyjne holdover do progu — bliźniak nawigacji zliczeniowej dla holdover zegara. Modelowana dolna granica kwantowa jest ujęta w nawiasy (nie dopasowana do parzystości) względem 96 nm/s²/√Hz mobilnego grawimetru Freiera i in. 2016 (arXiv:1512,05660) — leży poniżej i w granicach ~2 rzędów wielkości od niej. Udokumentowane w QUANTUM.md Systematyki frontu falowego i wskazywania wiązki niemodelowane; granica niejednoznaczności prążków Macha–Zehndera jest modelowana (max_unambiguous_accel, dynamic_range_cells w src/inertial/quantum_imu.rs), ale rozwiązywanie niejednoznaczności nie; dokładne budżety testów lotnych CARIOQA-PMP (CARIOQA: Cold Atom Rubidium Interferometer in Orbit for Quantum Accelerometry) / Boeing-AOSense (wymagają opublikowanych PSD platformy + SNR (stosunek sygnału do szumu) dla każdego strzału) oraz ustawienie wstępne placu zabaw w JS (JavaScript) pozostają do wykonania systematyki frontu falowego + odtworzenie testu lotnego: P2+ (QUANTUM-MODELS.md)
Projekt konstelacji częściowe Syntetyczny Walker (zarówno analityczny keplerowski, jak i ze średnimi elementami SGP4, ten drugi propagowany przez rdzeń sprawdzony do 4,12 mm — src/walker.rs) + widoczność i DOP rzeczywistych TLE wielu konstelacji (GPS+Galileo do 100%), sprawdzone względem rzeczywistej migawki Celestrak gps-ops (tests/igs_real_data.rs); przegląd projektowy PDOP (współczynnik rozmycia dokładności pozycji) po siatce {planes × sats × inclination} oraz wskaźniki jakości ułamka pokrycia / czasu rewizyty; uruchamialny rodzaj constellation-design (wzory Walker delta i star w konwencji i: T/P/F, jawne listy elementów, projekty wielopowłokowe i opublikowane ustawienia wstępne, wokół Ziemi, Księżyca, Marsa lub dowolnego innego skatalogowanego ciała), którego geometria Walkera oraz opublikowane sloty GPS, Galileo i GLONASS są VALIDATED względem opublikowanych tabel, a globalny punkt odniesienia GPS dla rozmycia dokładności jest VALIDATED względem standardu wydajności usługi pozycjonowania standardowego GPS, podczas gdy mapy pokrycia dla dowolnych projektów pozostają MODELLED; optymalizator projektu bez gradientu (optimize_walker_design), który przeszukuje siatkę pod kątem najlepszego projektu przy wybranym celu (MinSatellitesForCoverage / MaxCoverage / MinWorstPdop), sprawdzony, że zwraca zwycięzcę przeszukiwania wyczerpującego; oraz analityczna geometria pasów pokrycia (coverage_half_angle_rad, street_half_width_rad; postaci zamknięte Ridera/Beste, zweryfikowane ręcznie — GPS przy masce 5°: λ ≈ 71,2°, półszerokość pasa 4 satelitów ≈ 62,8°) Istnieje wyidealizowane wymiarowanie minimalnej liczby satelitów w pasach pokrycia (walker::StreetsCoverageDesign); dokładna co do szwu korekta Ridera na granicy płaszczyzn przeciwbieżnych nie jest zaimplementowana; plac zabaw rysuje wolny od zależności widok orbit 3-D (web/studio/lib/orbit3d.mjs), a eksport CZML (Cesium Language), --export czml, wczytuje geometrię do globu CesiumJS; jądro DOP jest VALIDATED względem gnss_lib_py (tests/dop_reference.rs), a pełny potok widoczności wielu konstelacji jest kontrolowany krzyżowo od początku do końca względem Orekit 12,2 + gnss_lib_py (tests/coverage_dop_full_oracle.rs): projekty dla Ziemi zgadzają się na każdym progu, ale projekty dla Księżyca i Marsa nie osiągają progu DOP przy numerycznie osobliwej geometrii, więc wiersz pozostaje MODELLED; geodezyjne a geocentryczne „w górę” w układzie DOP wymiarowanie pasów pokrycia + widok orbit 3-D + kontrola krzyżowa dla Ziemi od początku do końca: zrobione; dokładna co do szwu korekta Ridera + źle uwarunkowany DOP poza Ziemią: P2
Weryfikacja i walidacja częściowe Kontrole z zewnętrzną wyrocznią w całym silniku (SGP4 wobec 666 wektorów AIAA, rodzina Allana wobec Stable32 i allantools, układy wobec SOFA/ERFA, model sił i wyznaczanie orbity wobec Orekit, ARAIM wobec przykładu roboczego WG-C i więcej; bieżąca liczba jest w generowanym nagłówku VERIFICATION-MATRIX.md); deterministyczne kontrole Allana; maszynowo sprawdzana macierz weryfikacji (src/verification.rs) — odsyłacz wymaganie→moduł→test→wyrocznia→status, którego niezmienniki uczciwości są testowane jednostkowo: wiersz może być oznaczony jako sprawdzony względem wzorca tylko wtedy, gdy ma niezależną zewnętrzną wyrocznię (NIST/AIAA/SOFA/IGS/opublikowana wartość), więc wewnętrzna kontrola samospójności nie może udawać walidacji; generuje Markdown/CSV (CSV: wartości rozdzielane przecinkami) dla odsyłacza weryfikacji ECSS-E-ST-10-02 (ECSS: European Cooperation for Space Standardization) i zapisuje cztery luki sprzętowe i PA (PA: zapewnienie produktu) należące do partnera jako takie Zespoły kalibracyjne obejmują dotąd trzy kontrole z jednym ziarnem (CALIBRATION-ENSEMBLES.md, wstępnie zarejestrowane: przedział bootstrap Monte Carlo pokrywa na 96 % z 200 ziaren; jedna tolerancja percentyla jest wrażliwa na ziarno, NOT MET przy 91,5 %); pozostałe wiersze są nadal kalibrowane na pojedynczych ziarnach. Macierz wymusza klasyfikację wierszy, a CI sprawdza teraz także, że każdy test, plik i element w bibliotece, który wiersz przytacza, istnieje (tests/verification_rows_name_a_test_that_exists.rs, tests/verification_rows_cite_evidence_that_exists.rs) oraz że opublikowane wartości nadal się odtwarzają (tests/published_figures_still_reproduce.rs); nie ocenia samej wyroczni, którą nadal czyta recenzent zespoły kalibracyjne: P1
LEO-PNT (pozycjonowanie, nawigacja i czas z niskiej orbity okołoziemskiej) częściowe Siedem rodzajów, niezależnych od systemu, z nazwanymi publicznymi ustawieniami wstępnymi: leo-signal (projekty sygnałów w dowolnym paśmie i strukturze: składowe BPSK, BOC, MBOC (multipleksowany BOC) lub płaskie typu OFDM (ortogonalne multipleksowanie z podziałem częstotliwości), śledzenie kodu, akwizycja, kompatybilność z GNSS, kompromisy pasma), leo-pass (zaprojektowane przejście, z elementów, TLE lub Walkera z budżetem łącza dla każdego pasma: deszcz ITU-R (Międzynarodowa Unia Telekomunikacyjna, sektor radiokomunikacji), scyntylacje i tłumienie przy wnikaniu do budynków, jonosfera, antena, Doppler, względem widocznych satelitów GNSS na MEO (średnia orbita okołoziemska)), leo-navmsg (efemerydy i zegar rozgłaszane na keplerowskiej bazie Galileo ICD (dokument kontroli interfejsu) lub wybieralnych modelach LEO, dopasowane i zakodowane z kontrolą ramki CRC-24Q (24-bitowa cykliczna kontrola nadmiarowa)), leo-pvt (scalone pozycjonowanie MEO + LEO z pseudoodległości i Dopplera dla dowolnych konstelacji), leo-ppp (zbieżność PPP z wspomaganiem LEO i bez, na symulowanych pomiarach), ntn-positioning (granice pozycjonowania 5G NTN, sieci nienaziemnej, z szerokości pasma sygnału) oraz leo-pnt-chain (jeden system od początku do końca, wynik każdego etapu przekazywany następnemu). Elementy VALIDATED: człony łącza ITU-R względem tabel i przykładów walidacyjnych Zaleceń, maksymalny Doppler względem opublikowanej tabeli, algorytm użytkownika Galileo względem RTKLIB do 1 mm, CRC-24Q, wagi SISRE (błąd zasięgu sygnału w przestrzeni) Brak danych terenowych ani zarejestrowanych sygnałów; wartości pozycjonowania, PPP, NTN i czasu są MODELLED (postaci zamknięte, spójność filtra, porównania z opublikowanymi trendami); ustawienia wstępne pochodzą ze źródeł publicznych lub są wyprowadzone, a nie z danych operatora walidacja na rzeczywistych zarejestrowanych sygnałach: P3
Widmo / środowisko RF częściowe Rodzaj spectrum (src/spectrum.rs): pasmo L GNSS (oraz projekty wielopasmowe w UHF (ultrawysoka częstotliwość), pasmach S i C) jako jedna gęstość widmowa mocy, częstotliwość w poprzek i czas w dół, pod skryptową osią czasu zagłuszacza (zagłuszacze fali ciągłej, wąskopasmowe, czirp i dopasowane szerokopasmowe), z J/S (stosunek zagłuszacza do sygnału) i efektywnym C/N₀ (stosunek nośnej do gęstości szumu) dla każdego pasma; nagrania SigMF na wejściu i wyjściu oraz estymaty widmowe Welcha próbek zespolonych. Zamknięte postaci widm sygnałów i współczynników rozdzielenia widmowego są VALIDATED; wodospad jest MODELLED Sygnały GLONASS, BeiDou i Galileo E6 niemodelowane; brak toru wejściowego odbiornika i walidacji na zarejestrowanym IQ (in-phase/quadrature) porównanie z zarejestrowanymi sygnałami: P3
Zaufanie do dziennika odbiornika (statek i ogólnie) częściowe src/receiver_trust/: monitory nad własnym dziennikiem odbiornika (stosunek nośnej do gęstości szumu, spójność pozycji, prędkości i kursu, czas) ze zdarzeniami i predykcjami podanymi przed przebiegiem; na platformie statku wskaźnik 0-100 z uzasadnieniami; tryb na żywo na strumieniu ze zdaniem $PKSHT i opcjonalną bramką. MODELLED; wyłącznie doradczo, nie jest to sprzęt nawigacyjny z zatwierdzeniem typu Progi są podanymi wartościami domyślnymi, nie zmierzonymi względem odbiorników w eksploatacji; dziennik ocenia tylko ten dziennik; brak wejścia i wyjścia radiowego; nie jest to sprzęt nawigacyjny z zatwierdzeniem typu docs/RECEIVER-TRUST.md, docs/MARITIME-TRUST.md
Pakiety dowodowe i telemetria zaufania częściowe src/evidence/: podpisany pakiet okna dziennika, jego konfiguracji i wyniku silnika, połączony łańcuchem skrótów, weryfikowalny offline, z opcjonalnym tokenem znacznika czasu RFC 3161. src/telemetry/: strumień zaufania jako metryki Prometheus, zdarzenia syslog (CEF lub LEEF) i opcjonalnie OpenTelemetry, z przykładowym pulpitem Grafana Pakiet jest zapisem technicznym, a nie opinią prawną, i nie mówi, co spowodowało zdarzenie; podpis urzędu znacznika czasu nie jest weryfikowany; telemetria przesyła wyłącznie telemetrię docs/EVIDENCE-PACKS.md, docs/TRUST-TELEMETRY.md
Strumienie do szkolenia załóg i mapy zakłóceń częściowe src/nmea_synth/: syntetyczny most NMEA ze skryptowanymi zdarzeniami zagłuszania, odciągania (drag-off), spoofingu czasu i odtwarzania oraz dziennikiem instruktora (wyłącznie tekst). src/interference_map/: zbiorcze mapy pogorszonej nawigacji na podstawie otwarcie licencjonowanych raportów statków powietrznych i okrętów oraz narażenie trasy, z plików lokalnych Strumienie są danymi szkoleniowymi, nigdy dla bieżących systemów nawigacyjnych statku; mapy są zbiorcze, nie są prognozą i zależą od podanych raportów docs/NMEA-TRAINING.md, docs/INTERFERENCE-MAP.md
Eksport dla test bench częściowe src/interop/testbench.rs: ruch pojazdu i zdarzenia scenariusza gnss-ins, jamming lub gnss-sim jako CSV ruchu, NMEA, tekst punktów trasy i pliki zdarzeń dla laboratoryjnego symulatora GNSS Żaden sygnał nie jest zapisywany; nie deklaruje się wydajności symulatora ani odbiornika; pliki są sprawdzane po odczytaniu zwrotnym przez czytniki ruchu jednego otwartoźródłowego symulatora (gps-sdr-sim), ale fizyka własnej trajektorii prawdy scenariusza nie jest sprawdzana zewnętrznie docs/TEST-BENCH.md
Weryfikacja Galileo OSNMA częściowe src/osnma/ i kshana osnma verify: odczytuje strony Galileo I/NAV lub strumień UBX i zgłasza dla każdego satelity i epoki, czy dane nawigacyjne są uwierzytelnione (podpisany klucz z korzeniem Merkle, łańcuch TESLA, kody MAC), z powodem niepowodzenia kontroli i opcjonalnym niezależnym czasem odniesienia dla świeżości; także osnma_verify w Pythonie i WebAssembly Uwierzytelnia dane względem kluczy podanych przez użytkownika; nie deklaruje wydajności antyspoofingowej i nie jest usługą integralności nawigacji ani sprzętem z zatwierdzeniem typu; sprawdzone na wektorach syntetycznych, oficjalne wektory testowe ICD są zewnętrznym pobraniem docs/OSNMA.md
Mapowanie compliance do publicznych ram częściowe src/compliance/ i kshana compliance-report: wyniki Kshana odwzorowane na sześć publicznych ram i norm odporności ze źródłami i luką w każdym wierszu; przebieg się liczy tylko wtedy, gdy jego wynik zawiera pola, które zapisuje jego rodzaj Odwzorowanie jest oceną; raport mówi, na co zestaw przebiegów dostarcza dowodów, nigdy że ramy są spełnione lub produkt zatwierdzony; EN 16803 jest przytaczana wyłącznie z tekstu katalogu docs/compliance/README.md
Integracje morskie częściowe Wtyczka Signal K, OpenCPN przez NMEA w trybie bramki po TCP oraz kompilacja referencyjna dla małego komputera obok odbiornika (integrations/, deploy/) Testowane na zarejestrowanym wyniku syntetycznym; wtyczka nie jest opublikowana w npm; wyłącznie doradczo, nie jest to sprzęt nawigacyjny z zatwierdzeniem typu docs/MARINE-INTEGRATIONS.md

Szersze dziedziny systemów kosmicznych (dziś poza zakresem)#

Kilka z nich to brak; inne są teraz modelami pierwszego rzędu partial (rodzaje analizy misji / środowiska dodane w serii v0.17.0) — wymienione, aby zakres był jednoznaczny, a nie sugerowany milczeniem. Kshana jest symulatorem PNT, a nie GMAT/STK/Orekit (STK: Systems Tool Kit); te sąsiednie modele są celowo pierwszego rzędu i MODELLED, nigdy nie są sprawdzonymi narzędziami lotniczymi.

Możliwość Status Uwaga / plan rozwoju
Projektowanie misji / optymalizacja trajektorii częściowe src/maneuver.rs: impulsowe węzły ΔV z propagacją kowariancji 6×6 (układy błędu wykonania ECI/LVLH (ECI: inercjalny związany z Ziemią; LVLH: lokalna pionowa, lokalna pozioma)), całkowanie ciągu skończonego sprawdzone względem zamkniętego równania Ciołkowskiego do < 0,01 %, solwer Lamberta jednego obrotu Izzo-2015 + dokładny propagator Keplera w zmiennych uniwersalnych (wyniki Lamberta odtworzone względem prawdy dwóch ciał) oraz przegląd porkchop (start × przylot) C3 / V∞ przylotu wypisany jako siatka konturów JSON, której minimum jest sprawdzone względem analitycznej dolnej granicy Hohmanna. Brak optymalizatora trajektorii; solwer Lamberta wielu obrotów (maneuver::lambert_multirev, do trzech obrotów, obie gałęzie) jest VALIDATED względem pykep 3.0.1 (tests/lambert_multirev_oracle.rs); porkchop działa na syntetycznym modelu współpłaszczyznowym kołowym lub, z maneuver::porkchop_kernel, na DE440 SPK (VALIDATED względem stanów SPICE + Lamberta pykep, tests/porkchop_de440_oracle.rs); maneuver::optimise_transfer_kernel znajduje ciągłe optimum daty (minimalne C3 lub minimalne V∞ przylotu, Typ I lub II) na DE440, VALIDATED względem niezależnego optymalizatora SPICE + pykep + SciPy (tests/transfer_optimiser_oracle.rs); względem opublikowanych minimów Ziemia–Mars NASA/TM-2010-216764 2026 zgadza się z wartościami Typu II i chybia minimalne C3 Typu I o −5,18 % (zapisane). Sam GMAT nie został uruchomiony; pykep jest wyrocznią biblioteczną. Szew planetarnych efemeryd dla głębokiego kosmosu (src/ephem_provider.rs) i kontrola krzyżowa DE440 (Development Ephemeris 440) (xval/anise-mars-od, 137 m na 1-dniowym łuku Marsa) już istnieją — zob. wiersz PNT dla głębokiego kosmosu / międzyplanetarnego. Warstwa symulacji wydajności ponad GMAT/Orekit, a nie ich zamiennik. P3
AOCS (system kontroli orientacji i orbity) / GNC (naprowadzanie, nawigacja i sterowanie) / orientacja częściowe Rodzaj attitude-budget (src/attitude_budget.rs): najgorszy przypadek momentu gradientu grawitacji 1.5·(μ/R³)·ΔI + budżet błędu celowania RSS (pierwiastek z sumy kwadratów) z członów 1σ dla każdego składnika — skalarny budżet celowania i zakłóceń sprzed sprzętu, MODELLED. Dynamika orientacji bryły sztywnej bez momentów z stanem kwaternionowym (src/attitude_dynamics.rs: równania Eulera + kinematyka kwaternionów, RK4) jest VALIDATED względem piasty statku kosmicznego Basilisk 2.9.1 (tests/attitude_dynamics_basilisk_oracle.rs, kwaternion w granicach 1e-9 w ciągu 1e4 s), a szczyt momentu gradientu grawitacji względem GravityGradientEffector Basilisk (tests/attitude_gg_torque_basilisk_oracle.rs); wyznaczanie orientacji metodą Wahby jest w src/wahba.rs. Rodzaj aocs (src/aocs.rs, src/aocs_kind.rs, AOCS.md): inercjalny manewr obrotu ze zrównoważonymi kołami reakcyjnymi ze sprzężeniem MRP, momenty kół o minimalnej normie z ograniczeniami silników; pętla zamknięta jest VALIDATED względem Basilisk 2.9.1 na trzech wstępnie zarejestrowanych przypadkach do błędu zaokrąglenia. MEKF z żyroskopu i śledzika gwiazd (src/aocs_mekf.rs) może zamknąć pętlę na swojej estymacie (MODELLED, spójność filtra). Brak naprowadzania na śledzenie, sprzężenia całkującego, zarządzania pędem, magnetorkerów, silników, tarcia kół ani ograniczeń prędkości; brak środowiska momentów zewnętrznych w dynamice orientacji; nie jest to sterownik lotny. P3
Układy odniesienia → związane z Ziemią pełne Zrobione — TEME→ECEF/ITRF, ruch bieguna i łańcuch GCRS→ITRS oparty na CIO są zaimplementowane i VALIDATED (co do bitu względem SOFA/ERFA; 4 mm od początku do końca względem Vallado). Zob. wiersz Układy odniesienia powyżej
Łączność i budżety łączy częściowe src/linkbudget.rs: budżet łącza Friisa dla głębokiego kosmosu (moc nadajnika · zyski anten · szum → C/N₀ · Eb/N₀ · zapas) zasilający ścieżkę radiometryczną/GSE (GSE: sprzęt wsparcia naziemnego), a także optyczne i RF łącza transferu czasu (src/timetransfer*.rs) oraz uruchamialny rodzaj link-budget — jednokierunkowe równanie łącza CCSDS-401/DSN-810-005 (DSN: Deep Space Network) C/N₀ = EIRP − FSPL − L_other + G/T − k z wejściami EIRP (równoważna moc promieniowana izotropowo) / G-T i wyborem pasma S/X/Ka (MODELLED inżynierski budżet łącza, a nie skalibrowana karta katalogowa terminala). Brak planowania dostępu, brak kodowania adaptacyjnego. P2
Segment naziemny i operacje częściowe rodzaj passes (src/passes.rs): predykcja przelotów nad stacją naziemną (wschód/zachód) — AOS/TCA/LOS (AOS: nawiązanie sygnału; TCA: czas największego zbliżenia; LOS: utrata sygnału), maksymalna elewacja, czas trwania każdego przelotu i łączny czas dostępu w zadanym horyzoncie, z zestawu elementów SGP4 w układzie związanym z Ziemią IAU 2006/2000A, z refrakcją ITU-R P.834-9 i czasem światła — VALIDATED względem Orekit 13.1.8 dla stacji na poziomie morza (60 przypadków / 1210 przelotów, tests/pass_predictor_on_path_orekit_oracle.rs); geometryczne passes::predict_passes jest VALIDATED względem detektora elewacji Orekit 12,2 (22 scenariuszy / 129 przelotów, tests/ground_station_pass_prediction_reference.rs); brak optymalizatora harmonogramu i rozwiązywania konfliktów. P3
Telemetria / TT&C / CCSDS częściowe własny format wejścia TOML i wyjścia JSON; eksport i import CCSDS OEM (Orbit Ephemeris Message) (502.0-B KVN (notacja klucz-wartość), GMAT/Orekit/STK) przez uruchamialny rodzaj oem-interop (most przebiegu w obie strony src/oem.rs parse_oem; zgodna ze standardem wymiana dla pojedynczego obiektu jest VALIDATED względem niezależnego parsera oem 0.4.5); parsowanie i emisja CCSDS-TDM (503) Tracking-Data-Message (src/ccsds_tdm.rs, format wymiany danych radiometrycznych dla głębokiego kosmosu); oraz rodzaj space-packet (src/space_packet.rs): kodowanie i dekodowanie głównego nagłówka pakietu kosmicznego CCSDS 133.0-B z bitowo dokładnym przebiegiem w obie strony. Moduł zapisu CCSDS OMM (Orbit Mean-Elements Message, 502.0-B-2, część rodziny ODM) (src/omm.rs) publikuje średnie elementy SGP4 w KVN, a napisany w czystym Ruście czytnik jąder NAIF SPICE (src/naif_kernel.rs: kontener DAF, SPK typu 2, binarny PCK typu 2) obsługuje ephem_provider::KernelEphemeris. Inne typy komunikatów CCSDS (OPM, OCM, AEM (AEM: Attitude Ephemeris Message)) oraz zapis SPICE pozostają pozycją planu rozwoju (P2)
Interoperacyjność i standardy (RINEX/SP3/SPICE/CCSDS) częściowe RINEX 3 wielosystemowy NAV (multi-GNSS) — GPS, Galileo, QZSS, BeiDou MEO/IGSO (IS-GPS-200) oraz GLONASS (PZ-90 (PZ: Parametry Zemli, rosyjski układ geodezyjny) wektor stanu, RK4) — wczytywane, propagowane i uruchamialne jako jedna mieszana konstelacja; parser OBSERVATION RINEX 3 (pseudoodległość/faza nośnej/Doppler/SNR według kodu obserwacji, z flagami LLI/SSI (LLI: wskaźnik utraty śledzenia; SSI: wskaźnik siły sygnału); 4,00 powinien się parsować, nie testowano); przebieg odczyt ↔ zapis w obie strony dla precyzyjnych efemeryd SP3-c/d (parsowanie i eksport dla Ginan/RTKLIB/gLAB) oraz propagator Lagrange’a 10. rzędu (11 punktów) (Propagator::Sp3Precise); eksport SP3 jest dostępny z poziomu CLI (kshana <orbit.toml> --export-sp3 out.sp3 lub export_sp3 = true) i sprawdzony przebiegiem w obie strony względem rzeczywistej konstelacji GPS do <0,5 m w ciągu 24 h (tests/sp3_export_roundtrip.rs); moduł zapisu efemeryd CCSDS OEM 2,0 — eksport stanu TEME z prędkością dla narzędzi dynamiki lotu — jest teraz dostępny z poziomu CLI (kshana <orbit.toml> --export-oem out.oem lub export_oem = true) i sprawdzony w obie strony względem stanu propagatora (tests/sp3_export_roundtrip.rs). Parser obserwacji RINEX zasila teraz rozwiązanie pozycji z pojedynczego punktu (pvt, sprawdzone na rzeczywistych danych IGS — zob. wiersz GNSS / PNT). Ponadto parsowanie i emisja CCSDS-TDM (503) komunikatu danych śledzenia (src/ccsds_tdm.rs). Eksporty geometrii dla przeglądarek i narzędzi analizy misji: CZML, KML (Keyhole Markup Language), GeoJSON i efemerydy STK (--export, src/interop/), każdy parsowany z powrotem przez walidator napisany na podstawie specyfikacji formatu (tests/interop_formats.rs), import trasy GeoJSON (--import-route), nagrania SigMF (Signal Metadata Format) na wejściu i wyjściu dla rodzaju spectrum oraz tekst w stylu RINEX-4 / CSV dla komunikatu nawigacyjnego LEO (INTEROP.md, STANDARDS.md). Brak BeiDou-GEO, brak rozwiązywania niejednoznaczności całkowitoliczbowych w PPP i kinematycznego RTK (istnieją statyczne PPP z rozwiązaniem float i RTK na krótkich liniach bazowych na danych rzeczywistych, zob. wiersz GNSS / PNT), brak modułu zapisu SPICE i brak OPM/AEM (czytnik OEM istnieje w rodzaju oem-interop, moduł zapisu OMM w src/omm.rs, a czytnik SPICE SPK/PCK w src/naif_kernel.rs) — P2 „włączanie sąsiednich dziedzin przez standardowe formaty”
Pogoda kosmiczna / środowisko (jonosfera/atmosfera/promieniowanie) częściowe rodzaj space-weather (src/space_weather.rs): wskaźniki słoneczne i geomagnetyczne (Kp↔ap tabela 28-stopniowa IAGA (International Association of Geomagnetism and Aeronomy), dzienny Ap, wyśrodkowane 81-dniowe F10.7a), temperatura egzosferyczna Jacchia-71 oraz sprzężenie gęstości termosfery sterowane aktywnością nad statyczną atmosferą — MODELLED pierwszego rzędu, NIE model gęstości bezwzględnej NRLMSISE. Jonosfera: model nadawany Klobuchara (VALIDATED względem RTKLIB) oraz czytnik map TEC (całkowitej zawartości elektronów) w formacie IONEX (IONosphere map EXchange format) (src/ionex.rs, testowany jednostkowo). Rzeczywista globalna mapa jonosfery CODE (CODG1330.18I) jest zmierzonym wzorcem dla wiersza geometry-free slant-TEC (tests/geometry_free_tec_gim_oracle.rs), ale ten test ocenia mapę we własnym generatorze danych testowych, więc sam czytnik src/ionex.rs nie został jeszcze porównany z rzeczywistym produktem; brak modelu jonosfery opartego na fizyce lub sterowanego pogodą kosmiczną; P2+
Nawigacja z mapą grawitacyjną / alt-PNT częściowe src/gravimeter.rs: zimnoatomowy model pomiaru grawimetru, którego próg szumu białego wynika z ASD akcelerometru CAI (σ = ASD/√τ), niskostopniowe w pełni znormalizowane pole anomalii grawitacyjnych w harmonikach sferycznych (sprawdzone względem zamkniętych wzorów funkcji Legendre’a i ręcznie wyprowadzonej anomalii jednego członu) oraz syntetyczne mascony, a także filtr cząsteczkowy dopasowujący do mapy grawitacyjnej (złożony z mapmatch + particle_filter), który odtwarza tor bez GPS na podstawie ciągu anomalii, przez które przelatuje. 60-minutowy benchmark bez GPS (run_gps_denied_gravity_nav, scenarios/gps-denied-gravity-nav.toml) obejmuje przelot ~700 km / jednogodzinną przerwę, w której rozwiązanie inercyjne dryfuje do ≈ 70 km, a hierarchiczny, od zgrubnego do dokładnego algorytm dopasowania z deterministycznym szumem białym grawimetru o zadanym ziarnie odtwarza go do ≈ 145 m (< 500 m) — stabilnie dla różnych realizacji szumu i, co wykazano, z ograniczeniem wynikającym z doprecyzowania (pojedyncza zgrubna siatka zatrzymuje się przy ~2 km). Ponadto pełny model głównego pola geomagnetycznego IGRF-14 (IGRF: International Geomagnetic Reference Field) (src/igrf.rs: pole IAGA w harmonikach sferycznych znormalizowanych wg Schmidta do stopnia/rzędu 13, 2025,0 + zmiana wiekowa, współczynniki wygenerowane maszynowo z oficjalnego igrf14coeffs.txt; sprawdzone względem zamkniętego wzoru nachylonego dipola, różnicy skończonej potencjału skalarnego oraz znanego bieguna i natężenia geomagnetycznego) — pole magnetyczne, które platforma może dopasowywać do mapy w nawigacji po anomaliach magnetycznych. Ponadto nawigacja wg ukształtowania terenu (TERCOM/SITAN (TERCOM: dopasowanie konturu terenu; SITAN: Sandia Inertial Terrain-Aided Navigation)) oraz połączony nawigator grawitacja + magnetyzm + teren (src/altpnt/terrain.rs): napisany od podstaw parser .hgt cyfrowego modelu terenu (DEM) SRTM (Shuttle Radar Topography Mission) (16-bitowe liczby ze znakiem, big-endian, wierszami, pierwszy wiersz od północy, wartość pusta -32768; sprawdzony względem specyfikacji sterownika GDAL (Geospatial Data Abstraction Library) SRTMHGT (Shuttle Radar Topography Mission height-file format) oraz wzorca w postaci zamkniętego wzoru dwuliniowego punktu środkowego), model wysokościomierza radarowego/barometrycznego i algorytm dopasowania run_terrain_nav, który odtwarza tor bez GPS z profilu wysokości terenu względem DEM, oraz run_combined_altpnt, który łączy trzy skalarne kanały pola w każdym punkcie trasy (Δg mGal · |B| nT anomalia skorupowa · wysokość m), dzięki czemu łączny rozkład a posteriori jest ostrzejszy (niższy CRLB (dolna granica Craméra–Rao)) niż w jakimkolwiek pojedynczym polu — ograniczony do < 500 m w trakcie 60-minutowej przerwy i, w wartości oczekiwanej, nie gorszy niż najlepszy pojedynczy kanał. Ponadto sekwencyjna (rekurencyjna) nawigacja wg ukształtowania terenu — SITAN jako filtr działający w trybie ciągłym (src/altpnt/sequential.rs, run_sequential_trn): ten sam model pomiaru wysokościomierza względem DEM uruchamiany epoka po epoce w silniku SIR (sampling importance resampling) particle_filter (predykcja przez przyrost INS + szum procesu → przeważenie według dopasowania terenu → ponowne próbkowanie przy degeneracji), tak że zmienny w czasie dryf INS jest śledzony wzdłuż toru, podczas gdy dopasowanie wsadowe odtwarza tylko jedno stałe przesunięcie — estymata rekurencyjna pozostaje ograniczona i ponownie zbiega (końcowo ≈ 70 m), podczas gdy rozwiązanie bez wspomagania rozbiega się bez ograniczenia do ≈ 5 km, a błąd w każdej epoce zależy od wyrazistości terenu i jest nadzorowany monitorem efektywnej liczebności próby. Uczciwy zakres: mapa jest znana i stała — rekurencyjna lokalizacja względem zapisanego DEM (połowa lokalizacyjna terenowego SLAM (jednoczesna lokalizacja i mapowanie)); łączna estymacja mapy to osobny RBPF poniżej. Wszystkie cztery są teraz podłączone do silnika scenariuszy kind= (gravity-map, terrain-nav, combined-altpnt, terrain-slam) z wykresem dryfu SVG (scenarios/terrain-nav.toml, scenarios/combined-altpnt.toml, scenarios/terrain-slam.toml). 0,36 (WP-10): nawigator gravity-map przyjmuje opcjonalne rzeczywiste pole odniesienia ([reference]: dołączony EGM2008 do stopnia 70 albo plik ICGEM .gfc), którego synteza anomalii zgadza się z ICGEM Calculation Service do około 1e-8 mGal (VALIDATED, xval/icgem-egm2008/); na tym polu stopnia 70 60-minutowy benchmark kończy się wynikiem 3106 m, więc próg < 500 m jest NOT MET (ustalone z góry i przewidziane: stopień 70 jest zbyt gładki). Opcjonalny Monte Carlo błędu mapy ([map_error_mc], scenarios/gravity-map-error-mc.toml) pokazuje, że syntetyczny wynik 144 m zakłada dokładną mapę (1 z 20 realizacji w granicach 500 m przy skorelowanym błędzie 2 mGal; eksploracyjne). combined-altpnt przyjmuje opcjonalną siatkę magnetyczną skorupy EMAG2v3 ([magnetic_grid]; EMAG2 jest pobierany, nie dołączany, i nie twierdzi się żadnego wyniku nawigacyjnego na nim). terrain-nav pozostaje z założenia tylko na DEM: jest to jednokanałowy algorytm dopasowania TERCOM/SITAN, a dopasowanie magnetyczne znajduje się w combined-altpnt, który łączy teren z kanałami magnetycznym i grawitacyjnym; kanał magnetyczny w terrain-nav by go powielał, więc pozycja audytu „EMAG2 do terrain-nav” jest pokryta przez podłączenie combined-altpnt (RM-16). Kontrole na rzeczywistym SRTM działają w CI na dwóch zatwierdzonych wycinkach w pełnej rozdzielczości (zgodnych węzeł po węźle z GDAL 3.8.4, xval/srtm-ungate/). Łączna estymacja mapy istnieje (run_sequential_trn_on_map, RBPF w stylu FastSLAM): w jednym przelocie daje 1,5 % zysku względem SITAN ze znaną mapą na mapie z błędami, nie osiągając ustalonego z góry progu 10 % (xval/terrain-slam-rbpf/). Nadal brakuje: modelu grawitacyjnego wysokiego stopnia w przebiegu nawigacyjnym (wymaga nowej wstępnej rejestracji), wyniku nawigacji magnetycznej na rzeczywistej siatce oraz przypadku SLAM z ponownym odwiedzeniem miejsca (zamknięcie pętli). P3
Wejście w atmosferę / EDL (wejście, zniżanie i lądowanie), analiza startu, EO/ładunek użyteczny (EO: obserwacja Ziemi) częściowe Geometria MODELLED pierwszego rzędu w trzech uruchamialnych rodzajach: reentry (src/reentry.rs, balistyczny korytarz Allena-Eggersa — maksymalne opóźnienie, prędkości maksymalnego przeciążenia i maksymalnego nagrzewania, wysokość maksymalnego przeciążenia), launch-window (src/launch.rs, dwuciałowy azymut startu sin Az = cos i/cos lat, Δv zmiany płaszczyzny, premia z obrotu miejsca startu, dzienne okazje), oraz eo-coverage (src/eo_payload.rs, geometria pasa obserwacji / GSD (rozmiar piksela na gruncie) / dostępu / powrotu EO oparta na trójkącie przestrzennym SMAD (Space Mission Analysis and Design)). Brak symulacji EDL/aerotermicznej 6-DoF, brak optymalizatora trajektorii, brak radiometrii czujnika/MTF (MTF: funkcja przenoszenia modulacji). P3
Księżycowa / cislunarna nawigacja PNT (LunaNet) częściowe src/lunar.rs: silnik księżycowego ARAIM wykorzystujący ten sam rdzeń MHSS co po stronie Ziemi z parametrami LunaNet LNIS (LunaNet Interoperability Specification) (σ_URE ≈ 30 m, P_sat ≈ 1e-4), redukcja układów cislunarnych MCI↔MCMF (MCI: inercjalny związany z Księżycem; MCMF: związany z Księżycem i jego obrotem) (mci_to_mcmf / mcmf_to_mci, uproszczony model obrotu średniego z prędkością gwiazdową) oraz selenograficzne szerokość/długość/wysokość (mcmf_to_selenographic), a także przelot poziomu ochrony na biegunie południowym (south_pole_hpl_pass), który ilościowo opisuje lukę integralności — przy dokładności zasięgu 30 m HPL jest skończony, ale przekracza próg alarmowy 50 m dla operacji na powierzchni. src/cr3bp.rs dodaje CR3BP (ograniczony kołowy problem trzech ciał) Ziemia–Księżyc (dynamika w układzie wirującym + propagator RK4 + stała Jacobiego + pięć punktów Lagrange’a, sprawdzone względem opublikowanych wartości L1/L2/L3 i dokładnych L4/L5) — rdzeń trzech ciał, którego potrzebuje rzeczywista NRHO (prawie prostoliniowa orbita halo) — oraz macierz przejścia stanu + korektor różnicowy z pojedynczym strzałem (cr3bp_jacobian, propagate_state_stm, differential_correct_halo), który wytwarza naprawdę okresowe orbity halo/NRHO wokół L2: STM jest sprawdzona względem różnic skończonych, skorygowane orbity halo zamykają się na sobie z dokładnością maszynową (z zachowaniem stałej Jacobiego), a zasianie opublikowanym stanem w apoluny odtwarza południową NRHO L2 9:2 (orbita Gateway) z okresem ≈ 6,57 d i perilune ≈ 3 250 km — zgodnie z opublikowanymi ≈ 6,56 d / ≈ 3 370 km | Skorygowane różnicowo warunki początkowe (IC) NRHO są już podłączone, ale zdenormalizowana selenocentryczna transformacja (MCI/MCMF) skorygowanej orbity oraz kontynuacja rodziny są nadal pracami następnymi; główna oś bezwładności księżycowej orientacji DE440 z rzeczywistą libracją fizyczną istnieje (src/lunar_orientation.rs, z PCK moon_pa_de440, sprawdzona względem SPICE pxform w tests/lunar_pa_orientation_spice_oracle.rs), ale starsza ścieżka lunar::mci_to_mcmf nadal używa obrotu średniego bez libracji i bez precesji bieguna; NRHO jest rozwiązaniem CR3BP (kołowym, bez Słońca), nie jest sprawdzona względem rzeczywistych efemeryd LANS/Gateway (LANS: Lunar Augmented Navigation Service); uruchamialny rodzaj scenariusza lunar-integrity (scenarios/lunanet-araim.toml) udostępnia przelot nad biegunem południowym z poziomu CLI | transformacja selenocentryczna + kontynuacja rodziny + interfejs SPICE/LunaNet: P3
Nawigacja PNT w głębokim kosmosie / międzyplanetarna (Mars, radiometryczna) częściowe Wydane v0.17.0. Silnik nawigacji radiometrycznej: iteracyjny czas światła + opóźnienie Shapiro, dwu-/jedno-/trójdrożny Doppler i zasięg (Moyer, dwa odcinki), spójny obrót transpondera, zasięg regeneracyjny/PN (PN: pseudoszumowy) (CCSDS 414), Δ-DOR (CCSDS 506), media: plazma słoneczna/troposfera/jonosfera (src/radiometric.rs); parsowanie i emisja CCSDS-TDM (503) (src/ccsds_tdm.rs); SRIF o zredukowanej dynamice (filtr informacyjny w postaci pierwiastkowej) z empirycznymi przyspieszeniami RTN (radialnym, poprzecznym, normalnym) + 3-stanowym zegarem pokładowym + oporem Marsa (src/deepspace_od.rs, clock_state.rs, mars_atmos.rs), osiągający OD na LMO (LMO: niska orbita Marsa) ≈ 0,2 m w syntetycznej pętli zamkniętej; fuzja jednodrożnego i dwudrożnego; rdzeń dynamiki wielu ciał (src/body.rs, Mars GMM-3 (GMM: Goddard Mars Model), układ IAU Mars src/mars_frame.rs, złącze EphemerisProvider src/ephem_provider.rs, dwuczęściowa JD + TT↔TDB (TDB: barycentryczny czas dynamiczny)); oraz scenariusz przekaźnikowego PNT mars-pnt (konstelacja areostacjonarna MARCONI, src/mars_pnt.rs) + kompleksowy symulator parametrów GSE (src/gse_sim.rs). Sprawdzone w symulacji (kowariancja/FoM w pętli zamkniętej); dynamika centralna względem Słońca porównana z JPL (Jet Propulsion Laboratory) DE440 (137 m @ łuk 1-dniowy, xval/anise-mars-od). Brakuje: sprawdzenia na rzeczywistych danych śledzenia DSN/ESTRACK (ESTRACK: Europejska sieć śledzenia kosmicznego); grawitacji Marsa w jego własnym układzie (pole GMM-3 d/o 120 wczytuje się z tabeli PDS SHADR, from_shadr, VALIDATED względem pyshtools, i podłącza się przez Body::with_gravity_field, ale jest obliczane w układzie IAU, a nie we własnym układzie Konopliva z 2006); efemeryd klasy DE w rdzeniu (zależne od jąder w xval). P3
Układ Słoneczny i PNT wokół dowolnego ciała częściowe rodzaj solar-system: położenia, prędkości i stałe fizyczne Słońca, planet, Plutona, Księżyca i siedmiu dużych księżyców w jednej epoce, z czasem światła między ciałami; położenia planet (elementy Standisha z JPL) i czas światła są VALIDATED względem JPL Horizons (tests/solar_system_horizons_reference.rs), a księżyce, Pluton i tabela planet zewnętrznych pozostają MODELLED. rodzaj body-pnt: orbiter lub lądownik wokół dowolnego skatalogowanego ciała (Mars, Księżyc, Europa, Ganimedes, Tytan i pozostałe) nawigujący na podstawie jednodrożnych pseudoodległości z lokalnej konstelacji Walkera oraz opcjonalnego dwudrożnego zasięgu z Ziemi — MODELLED. Brak jądra efemeryd planetarnych w rdzeniu (elementy analityczne), orbity przekaźnikowe body-pnt używają tylko J2 (pełne pola Marsa GMM-3 d/o 120 i Księżyca GRAIL GL0660B d/o 660 wczytują się z tabel PDS SHADR i podłączają się do Body dla propagatora, src/gravity_pds.rs). P3
Kampanie / kompozycja misji częściowe rodzaj campaign (src/campaign.rs): istniejące rodzaje połączone w łańcuch na jednej wspólnej osi czasu (na przykład jamming, potem spoofing, potem holdover z bezwładnościowym INS, potem alarm integralności, potem odzyskanie), przeglądy parametrów i zespoły Monte Carlo z ziarnem dla dowolnego rodzaju oraz kilka scenariuszy w wspólnych warunkach ze zbiorczym podsumowaniem; każda liczba jest odczytana z rzeczywistego przebiegu rodzaju składowego. Tożsamości kompozycji są testowane (tests/campaign_composition_reference.rs: kampania jednofazowa odtwarza samodzielny przebieg bajt w bajt); MODELLED. Sekcja [optimize] (siatka albo ograniczony Nelder–Mead po jednym do trzech kluczy, jedna metryka, minimalizacja, maksymalizacja lub osiągnięcie celu) spełnia swoje ustalone z góry progi w postaci wzoru zamkniętego i siłowego (tests/campaign_optimize_reference.rs); MODELLED, wyszukiwanie lokalne bez twierdzenia o optimum globalnym, bez metody gradientowej ani bayesowskiej. P3
Raporty, animacje i wyniki częściowe Każdy przebieg zapisuje result.json, wykres i raport (report.html, report.json), których etykiety są odczytywane z macierzy weryfikacji i których zapisane polecenie odtwarza wynik bajt w bajt (tests/advanced_report_cli.rs); --animate (svg, html lub klatki) renderuje szereg czasowy jako animację (src/animation.rs, ANIMATION.md); --export zapisuje formaty wymiany z wiersza o interoperacyjności. Są to renderingi przebiegu, a nie dowody dotyczące fizyki.

Ekosystem i gotowość (śledzone uczciwie, nie jest to możliwość kodu)#

Obszar Status Uwaga
Wiązania językowe i pakowanie częściowe Rust + Python (abi3) + WASM w trzech rejestrach. Typowane interfejsy (0,36, CAP-34): Python RunOutput z akcesorami NumPy (array, columns, series) i otypowanymi stubami ScenarioKind / ErrorKind / KindMeta; JavaScript run_typed (typowany obiekt RunOutput) i scenario_kinds, z tym samym słownictwem w deklaracjach TypeScript. Dokumenty wyników pozostają JSON-em dla każdego rodzaju, typowanym tylko przez wspólną kopertę (units, wersje)
Edukacja / UX wdrożeniowy (doświadczenie użytkownika) częściowe Plac zabaw w przeglądarce z wydanym trybem prowadzonym: dostosowane do scenariusza suwaki prowadzone (web/studio/lib/guided.mjs, do sześciu pokręteł na scenariusz) i interaktywna wycieczka prowadzona (web/studio/lib/tour.mjs, do powtórzenia z poziomu placu zabaw). Każdy przebieg otrzymuje też zdanie o znaczeniu w prostym języku i swoje kluczowe wartości, odczytane z dokumentu wyniku (web/studio/lib/meaning.mjs, z szablonami dla poszczególnych rodzajów w meaning-kinds.mjs; rodzaj bez szablonu ma pierwszą wartość nagłówkową podaną wprost). Brakuje: objaśnień prowadzonych dla poszczególnych wartości poza tym zdaniem (obejmuje je GLOSSARY.md w prostym języku)
Społeczność / zarządzanie częściowe Szkielet zarządzania jest obecny — GOVERNANCE.md (model życzliwego opiekuna + techniczny próg + granica otwarte/zamknięte), CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, szablony zgłoszeń i PR (PR: pull request), FUNDING.yml, dependabot. Jeden założyciel; aktywna społeczność zewnętrzna (współautorzy, cytowania) zależy od ludzi i czasu i nadal się buduje (działania informacyjne czekają na przegląd)
Finansowanie i gotowość do zamówień brak TRL ~3; brak jeszcze cytowań/kontraktów agencji (zob. notatki strategiczne)

Zaktualizowano 2026-10-29 dla silnika 0.40.0 (92 rodzajów scenariuszy, z kshana kinds --json; nowe w 0.40.0: mission-thread, lunar-orbit-rendezvous, lunar-descent, lunar-surface i lunar-ascent). 2026-10-22: silnik 0.39.0, 87 rodzajów, brak nowego rodzaju. 2026-10-19: silnik 0.38.0, 87 rodzajów (nowe w 0.38.0: holdover-test, gnss-ssv i lunar-infrastructure). 2026-10-18: 84 rodzaje (nowy w 0,37: optical-atmosphere). 2026-10-16: 83 rodzajów (nowe w 0,36: acm-link, aocs, ascent-losses, contact-schedule, entry-heating, eo-radiometry, lunar-station-coverage i time-transfer-budget). 2026-10-10: silnik 0.35.0, 75 rodzajów, bez nowego rodzaju. 2026-10-09 i 2026-10-08: poprzednie wersje. 2026-10-04: wiersz Nav-signal odnotowuje warstwę IQ 0.31.0. 2026-09-29: dodano wiersze LEO-PNT, spektrum, układu Słonecznego / PNT wokół dowolnego ciała, kampanii i wyników. Wcześniej: wyrównano z macierzą 27 wierszy możliwości z wielkiego audytu z 2026-06-02; wiersz nawigacji PNT w głębokim kosmosie / na Marsie dodano w v0.17.0. Dodatki kwantowego PNT (holdover zegara bez GNSS src/holdover.rs, złożony budżet nawigacji zliczeniowej kwantowo-inercjalnej QuantumNavBudget, kompromis projektowy kodów dalmierczych CodeFamily, maszynowo sprawdzana macierz weryfikacji src/verification.rs) wprowadzono do wierszy Timing, Quantum-PNT-sensor, Nav-signal i V&V — każdy oznaczony jako sprawdzony względem wzorca lub obliczony z modelu, zależnie od faktycznego wzorca.

Dodatki demonstratora FutureNAV (obliczone z modelu, sprawdzone wewnętrznie krzyżowo — nie zewnętrznie sprawdzone): (1) Stanowisko testowe do oceny wykrywania zakłóceń RF metodami uczenia maszynowego src/impairment_eval.rs — oznaczony syntetyczny (oparty na parametrach, nie na IQ) korpus zakłóceń + niezależny od detektora zestaw ROC/AUC/macierz pomyłek/Pfa-Pmd (ROC: charakterystyka pracy odbiornika; AUC: pole pod krzywą) z zabezpieczeniem przed wyciekiem i podziałem warstwowym; dołączone detektory to przejrzyste punkty odniesienia z opublikowanych metod, a nie SOTA (state of the art), a wysokie AUC pokazuje tu działanie potoku, nie wydajność w terenie. (2) Silnik porównania PNT kwantowego z klasycznym src/quantum_trade.rs — wczytywanie zmierzonego ADEV (dopasowanie NNLS (nieujemne najmniejsze kwadraty) σ_y²(τ)=q_wf/τ + q_rw·τ/3 + q_drift·τ³/20, sprawdzone w obie strony względem q_from_allan), tabela korzyści z holdover czasu/inercyjnego, która niesie zastrzeżenie o założeniu progu na artefakcie, oraz obwiednia odporności bez GNSS w funkcji czasu; ilościowo opisuje korzyść kwantową partnera, nigdy nie sprawdza urządzenia. Oba przejrzane adwersarialnie (złapano i naprawiono błąd bazy dryfu τ²→τ³ oraz fałszywe twierdzenie o odporności „ograniczonej bezterminowo”). 911 testów biblioteki w chwili tego dodatku, fmt+clippy bez uwag.

Dodatek wymiany / formatu standardowego (src/interchange.rs): Kshana Interchange Format (KIF) — neutralna, wersjonowana, samoopisująca się Envelope, która opakowuje dowolny artefakt (scenariusz, wynik, studium kompromisów) rozpoznawalnym znacznikiem format, jedynym źródłem prawdy SCHEMA_VERSION (wersja schematu, dawniej kopiowana jako literał w 15 miejscach, jest teraz w jednej stałej, do której odwołuje się cały crate), wytwarzającą engine_version oraz jawnym, testowanym kontraktem zgodności (compatibility(): ta sama wersja główna / równa lub starsza wersja podrzędna jest odczytywalna przy zasadzie pól addytywnych; nowsza wersja podrzędna lub inna wersja główna jest odrzucana na granicy przez Envelope::parse, zamiast być po cichu błędnie sparsowana). Przebieg w obie strony (wrap→to_json→parse→payload_as::<T>()) dla dowolnego ładunku Deserialize; celowo bez znaczników czasu, by zachować bitową odtwarzalność Kshana. Udokumentowany w SCHEMA.md, aby format był cytowalny, a nie tylko emitowany — pozycjonowanie „standardu w oczekiwaniu” w modelu open-core. 923 testów biblioteki w chwili tego dodatku, fmt+clippy bez uwag.

Dodatki FutureNAV do budowy przewagi (obliczone z modelu, sprawdzone wewnętrznie krzyżowo — nie zewnętrznie sprawdzone): (1) Warstwa oszczędnego kosztu na pokrycie / ROI (zwrot z inwestycji) src/frugal.rs — warstwa ujęcia korzyści nad silnikiem doboru wielkości konstelacji (walker), która podaje koszt na punkt procentowy pokrycia oraz ROI w postaci pokrycia na euro względem punktu odniesienia; koszt na satelitę jest dostarczanym przez wywołującego, opatrzonym źródłem przedziałem niski/nominalny/wysoki (bez zmyślonych cen punktowych), więc wyniki są zakresami, a nie pozornymi punktami; obliczone z modelu ujęcie ekonomiczne obliczonej z modelu wartości pokrycia, a nie wycena. (2) Odwzorowanie wpływu niewykrytych zdarzeń na integralność src/integrity_impact.rs — odwzorowuje niewykryte przesunięcie położenia wywołane spoofingiem lub zagłuszaniem na jego efektywny błąd → region Stanforda (dostępny / system niedostępny / wprowadzający w błąd / niebezpiecznie wprowadzający w błąd) względem progów alarmowych właściwych dla kontekstu (otwarte niebo a miasto, HAL a VAL), składając zewnętrznie zakotwiczone RAIM classify_stanford; most niewykryte zdarzenie → próg alarmowy jest obliczony z modelu, a nie jest certyfikowaną alokacją integralności. Oba są odwzorowane w maszynowo sprawdzanej macierzy weryfikacji (src/verification.rs, niezmiennik Validated⇒ExternalDataset zachowany; bieżąca liczba wierszy to wygenerowany nagłówek VERIFICATION-MATRIX.md). Walidacja krzyżowa / zabezpieczenie przed wyciekiem / podział warstwowy po parametrach dla zestawu do oceny AI były już wydane w src/impairment_eval.rs (stratified_split, Split::has_leakage). 951 testów biblioteki w chwili tego dodatku, fmt+clippy bez uwag.

Dodatki FutureNAV do badania luki optymizmu (obliczone z modelu, sprawdzone wewnętrznie krzyżowo względem wzorów zamkniętych — nie zewnętrznie sprawdzone, nie jest to twierdzenie o przejściu z symulacji do terenu): kontrolowane syntetyczne badanie luki optymizmu AUC między rozkładem własnym a spoza rozkładu dla detektorów zakłóceń RF. (1) Uczone detektory src/impairment_ml.rs — stała mapa cech + standaryzator dopasowany na zbiorze uczącym, bazowa regresja logistyczna (deterministyczny spadek gradientu na pełnej partii) oraz jednowarstwowy MLP (perceptron wielowarstwowy; propagacja wsteczna SGD (stochastyczny spadek gradientu) z ziarnem) za tą samą cechą ImpairmentDetector, której używają punkty odniesienia z opublikowanych metod. (2) Statystyki wyprowadzone ręcznie src/eval_stats.rs — przedziały ufności (CI) bootstrap percentylowy, wariancja i CI AUC wg DeLonga, ρ Spearmana oraz regresja grzbietowa, każda sprawdzona względem wzoru zamkniętego (dwunormalne AUC Φ(d′/√2), ręcznie obliczona wariancja DeLonga, podręcznikowe ρ z rangami wiązanymi, dokładne odtworzenie OLS (zwykła metoda najmniejszych kwadratów)). (3) Samo badanie src/impairment_study.rs — AUC dla każdej klasy, trend prawa skalowania dla każdego (detector,class) (luka a 1−dotkliwość) oraz predyktor luki oparty na regresji grzbietowej tylko z rozkładu własnego, który szacuje lukę optymizmu wyłącznie z diagnostyki w rozkładzie własnym, oceniany metodą pominięcia jednego detektora i pominięcia jednej klasy względem punktu odniesienia przewidującego średnią. Artefakt jednym poleceniem przez cargo run --release --example optimism_study. Każda liczba jest AUC dla etykiet pochodzących z modelu na syntetycznym korpusie opartym na parametrach; luka jest przesunięciem dotkliwości syntetyczne→syntetyczne, nigdy wynikiem detekcji w terenie. Odwzorowane w maszynowo sprawdzanej macierzy weryfikacji (src/verification.rs, niezmiennik Validated⇒ExternalDataset zachowany).