Miejsce Kshana
Kshana jest otwartym, odtwarzalnym silnikiem dowodów odporności PNT (pozycjonowania, nawigacji i czasu). Opisujesz scenariusz: czujniki lub zegary, przerwę w GNSS (globalnym systemie nawigacji satelitarnej), atak zagłuszający lub spoofing, budżet. Silnik mówi, jak dobrze wytrzymują czas i pozycja, ocenione względem operacyjnych wskaźników jakości (FoM). Każda możliwość stojąca za tymi wartościami jest oznaczona w sprawdzanej maszynowo macierzy jako VALIDATED (sprawdzona względem niezależnej zewnętrznej wyroczni), MODELLED (wewnętrznie spójna, niesprawdzona zewnętrznie) lub PARTNER (za którą odpowiada partner sprzętowy). Ta strona mówi, gdzie silnik jest najmocniejszy, do czego służy i czym nie jest.
Gdzie jest najmocniejszy: synchronizacja czasu i holdover dla infrastruktury krytycznej#
Najlepiej sprawdzoną częścią silnika jest synchronizacja czasu. Sieci telekomunikacyjne, sieci energetyczne i rynki finansowe biorą czas z GNSS i każde musi dobrać holdover: jak długo lokalny zegar może pracować swobodnie po utracie GNSS, zanim jego błąd czasu przekroczy budżet.
- Co jest VALIDATED. Estymatory stabilności częstotliwości, z których zbudowana jest odpowiedź o holdover: odchylenie Allana (ADEV), zmodyfikowane odchylenie Allana (MDEV), odchylenie czasu (TDEV), maksymalny błąd przedziału czasu (MTIE) i estymator Theo1 o rozszerzonym zakresie, są sprawdzone względem odchyleń referencyjnych Stable32, niezależnej biblioteki
allantoolsi rzeczywistego zmierzonego zegara cezowego. Obliczenie wariancji wybiegu holdover i jego odwrócenie do czasu holdover są sprawdzone względem SciPy. Zob.VERIFICATION-MATRIX.md, gdzie jest każdy wiersz, jego test i wyrocznia. - Co pozostaje MODELLED. Poziomy szumu dla poszczególnych klas zegarów (na przykład długoterminowy poziom danej klasy oscylatorów) decydują o odpowiedzi dla stabilnego zegara i są to wartości reprezentatywne, a nie pomiary Twojego urządzenia. Podaj zmierzone poziomy dla liczby, której zamierzasz bronić.
- Jednostki telekomunikacyjne. Rodzaj scenariusza
telecom-timingraportuje MTIE i TDEV, sprawdza je względem masek Sektora Normalizacji Telekomunikacji Międzynarodowej Unii Telekomunikacyjnej (ITU-T): G.8272 dla głównego zegara odniesienia czasu (PRTC), G.8272.1 dla rozszerzonego PRTC (ePRTC), G.8273.2 dla telekomunikacyjnego zegara granicznego (T-BC) i G.8271.1 dla granic sieci w punkcie odniesienia C, oraz raportuje, jak długo holdover mieści się w każdym budżecie błędu czasu. Zob.TELECOM-TIMING.md.
Co go wyróżnia#
Różnicą nie są fizyka ani standardy: propagacja Simplified General Perturbations 4 (SGP4), odchylenie Allana, układy odniesienia i rozmycie dokładności są dostępne, bezpłatne i poprawne w innych bibliotekach, a Kshana sprawdza się względem kilku z nich. Różnicą jest dyscyplina dowodowa:
- Otwarty. Silnik jest na licencji GNU Affero General Public License (AGPL), więc każdy może go przeczytać i uruchomić ponownie. Licencja komercyjna istnieje dla zamkniętej integracji.
- Odtwarzalny. Wynik jest określony przez
scenario + seed + engine version, bit po bicie, a przebieg można udostępnić jako odnośnik do placu zabaw w przeglądarce. - Z oznaczonym pochodzeniem. Każdy parametr czujnika jest powiązany z opublikowanym źródłem (
PROVENANCE.md), a każda możliwość nosi swój poziom VALIDATED / MODELLED / PARTNER. Strażnik ciągłej integracji (CI) odrzuca wiersz VALIDATED bez niezależnej zewnętrznej wyroczni, więc wewnętrzna autokontrola nie może być przedstawiona jako walidacja.
Nie znaleźliśmy innego otwartego narzędzia, które łączy to wszystko w holdover, integralności, wybiegu inercyjnym i czujnikach kwantowych, ale wyszukiwanie, które niczego nie znajduje, nie dowodzi, że nic nie istnieje; nie twierdzimy, że jesteśmy jedyni.
Kwantowy: neutralna metoda kompromisu, wyniki oznaczone MODELLED#
Kshana porównuje zegary i czujniki inercyjne kwantowe i klasyczne w tym samym scenariuszu tym samym kodem: każde urządzenie jest modelem błędu, a silnik nie wie, które jest „kwantowe”. Traktuj ją jako neutralną metodę kompromisu między rozwiązaniami kwantowymi a klasycznymi, której wyniki są oznaczone MODELLED. Większość wejść to opublikowane współczynniki Allana i budżetu szumu; akcelerometr z interferometrem z zimnymi atomami ma warstwę z pierwszych zasad, która wyprowadza jego współczynnik szumu. Zmierzone dane odchylenia Allana od partnera można wprowadzić przez rodzaj quantum-trade, co jest drogą do awansowania wartości konkretnego urządzenia. Zob. QUANTUM.md i QUANTUM-MODELS.md.
Księżyc, cislunar i daleki kosmos: utrzymywane, nie jako główny kierunek#
Zestaw księżycowy i cislunarny (monitorowanie integralności księżycowej, rdzeń trzech ciał Ziemia–Księżyc, księżycowe skale czasu, analiza objętości usługi) i silnik radiometrycznej nawigacji w dalekim kosmosie są możliwościami utrzymywanymi. Większość ich wierszy to MODELLED, a nawigację księżycową obsługują już wyspecjalizowane narzędzia, więc są oferowane jako możliwości tego samego silnika, każda z własnym poziomem, a nie jako główny kierunek.
Reszta silnika#
Ten sam silnik, z tymi samymi poziomami, obejmuje także:
- PNT na niskiej orbicie okołoziemskiej (LEO), od końca do końca. Projekt sygnału (
leo-signal), przejście i budżet łącza dla każdego pasma (leo-pass), rozgłaszany komunikat nawigacyjny (leo-navmsg), połączone pozycjonowanie z orbit średnich i niskich (leo-pvt), zbieżność precyzyjnego pozycjonowania punktowego (PPP) z uzupełnieniem LEO (leo-ppp), pozycjonowanie z sieci pozaziemskiej 5G (ntn-positioning) orazleo-pnt-chain, który przekazuje wyjście każdego etapu do następnego dla jednego systemu. - Widmo. Wodospad widmowej gęstości mocy w paśmie L (oraz UHF (ultra wysokiej częstotliwości), S i C) pod skryptową osią czasu zagłuszarki, ze stosunkiem zagłuszarki do sygnału i efektywną gęstością nośnej do szumu w każdym paśmie (
spectrum) oraz wejście i wyjście nagrań Signal Metadata Format (SigMF). - Układ słoneczny i dowolne ciało centralne. Położenia i stałe fizyczne planet i dużych księżyców (
solar-system), pozycjonowanie wokół dowolnego z tych ciał (body-pnt) oraz projekt konstelacji Walkera i konstelacji o opublikowanych slotach z mapami pokrycia i rozmycia dokładności wokół dowolnego z nich (constellation-design). - Kampanie. Istniejące rodzaje połączone łańcuchowo na jednej wspólnej osi czasu, przeglądane po parametrze, uruchamiane jako zasiane zespoły Monte Carlo lub uruchamiane obok siebie we wspólnych warunkach (
campaign). - Wyjścia. Każdy przebieg zapisuje dokument wyniku, wykres i raport w HTML (HyperText Markup Language) i JSON (JavaScript Object Notation);
--animatezapisuje animację SVG (Scalable Vector Graphics), HTML lub sekwencję klatek;--exportzapisuje efemerydy CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON lub STK (Systems Tool Kit) dla rodzajów, które umieszczają obiekty na Ziemi, oraz SigMF dlaspectrum.
Większość tych wierszy to MODELLED; macierz weryfikacji wymienia nieliczne, które są VALIDATED (na przykład zalecenia Międzynarodowej Unii Telekomunikacyjnej dotyczące deszczu i scyntylacji, algorytm rozgłaszanych efemeryd Galileo, kontrola ramki CRC-24Q (24-bitowa cykliczna kontrola nadmiarowa) i solver planetarnego czasu światła).
Czym Kshana nie jest#
- To nie jest symulator sygnału radiowego (RF) ani stanowisko hardware-in-the-loop (HIL). Kshana nie steruje żadnym sprzętem radiowym i niczego nie nadaje. Większość jej działania odbywa się na poziomie modeli błędów i budżetów łączy, zanim kupi się sprzęt lub czas laboratorium. Na poziomie sygnału jest wyłącznie programowa: warstwa GNSS IQ (
iq) zapisuje pliki próbek IQ (synfazowych i kwadraturowych) w paśmie podstawowym z prawidłowymi sygnałami GNSS dla odbiorników programowych i uruchamia na nich własny odbiornik programowy; sekcja[iq]rodzajuspectrum(od 0.29.0) zapisuje migawkę SigMF (Signal Metadata Format) swojego modelu analitycznego, która obejmuje skonfigurowane zagłuszarki (zagłuszarki szumopodobne przedział po przedziale, tony i chirpy jako przebiegi); aspoof_capturesumuje w pamięci sygnał autentyczny i replikę spooferową, aby sprawdzić przechwycenie pętli, bez zapisywania go. Testowanie odbiornika sprzętowego względem rzeczywistego bodźca RF jest zadaniem symulatora RF. - Nie zastępuje MATLAB/Simulink, STK ani Orekit. Działa obok nich. Czyta i zapisuje formaty wymiany, których używają: komunikaty efemeryd orbitalnych CCSDS (Consultative Committee for Space Data Systems), precyzyjne orbity SP3 (Standard Product 3), RINEX (Receiver Independent Exchange Format); zapisuje CZML, KML, GeoJSON i efemerydy STK dla ich przeglądarek, a jej numeryczny model sił jest sprawdzany krzyżowo względem Orekit, a nie oferowany w jego miejsce.
- Nie jest silnikiem przetwarzania fazy nośnej GNSS ani usługą pozycjonowania (zob. niżej).
- Nie jest organem certyfikującym. Etykieta VALIDATED oznacza, że możliwość zgadza się z zewnętrzną wyrocznią; nie jest certyfikacją żadnego produktu ani operatora.
Czym Kshana jest, a czym nie jest, obok silnika przetwarzania GNSS#
Kshana nie jest silnikiem przetwarzania fazy nośnej GNSS i żaden rodzaj scenariusza nie jest usługą pozycjonowania. Ma jednak jedną nogę w dziedzinie pomiarów, jako kod biblioteczny, na którym opiera się badanie wydajności i który jest sprawdzany względem niezależnych wzorców. Pozycjonowanie kinematyczne w czasie rzeczywistym (RTK) na krótkiej bazie z całkowitoliczbowym ustalaniem LAMBDA (least-squares ambiguity decorrelation adjustment) działa na rzeczywistych dwuczęstotliwościowych obserwacjach RINEX, tak samo jak statyczny filtr precyzyjnego pozycjonowania punktowego (PPP) z wartościami zmiennoprzecinkowymi, z końcowymi orbitami i zegarami IGS, a zegar odbiornika, który ten filtr estymuje, jest rozwiązaniem czasu względem końcowego zegara stacji IGS. Każdy z tych trzech jest wierszem VALIDATED macierzy weryfikacji, względem danych stacji IGS, które tam wskazano, i każdy działa na statycznych, krótkich oknach obserwacji, a nie jako usługa strumieniowa z rozwiązywaniem niejednoznaczności na długich bazach, wygładzaniem nośnej czy ruchomym łazikiem kinematycznym. Rodzaj leo-ppp uruchamia filtr PPP z wartościami zmiennoprzecinkowymi na kodzie i fazie nośnej, ale na pomiarach, które sam symuluje, aby zbadać czas zbieżności z uzupełnieniem LEO i bez niego; nie przetwarza pliku obserwacji. Rodzaj pvt (położenie, prędkość i czas) rozwiązuje położenie odbiornika z rzeczywistych pseudoodległości kodowych RINEX oraz efemeryd rozgłaszanych, sprawdzone względem zmierzonej współrzędnej International GNSS Service (IGS) (stacja ABMF, 2018-05-13) do 5,7 m RMS 3-D (pierwiastek ze średniej kwadratowej) / 1,1 m w poziomie. Ale produktem jest badanie wydajności, a nie usługa pozycjonowania, a poniższe ujęcie ma oszczędzić przyszłemu użytkownikowi rozczarowania złym narzędziem.
| Kshana | Silnik przetwarzania GNSS (RTKLIB, otwartoźródłowa biblioteka pozycjonowania kinematycznego w czasie rzeczywistym; gLAB, zestaw narzędzi laboratoryjnych GNSS grupy gAGE z Politechniki Katalońskiej) | |
|---|---|---|
| Dane wejściowe | scenariusz: modele błędów czujników, okna przerw, geometria; albo, dla pvt, rzeczywisty plik obserwacji RINEX plus rozgłaszana nawigacja |
rzeczywiste obserwacje GNSS (RINEX), efemerydy, poprawki |
| Wynik | wskaźniki jakości wydajności: holdover, błąd czasu i pozycji, dostępność, granice integralności i bezpieczeństwa; plus pozycja z kodowego pozycjonowania jednopunktowego (SPP) z rodzaju pvt |
rozwiązanie pozycji, prędkości i czasu (SPP, PPP, RTK) |
| Pytanie, na które odpowiada | „jak dobra byłaby ta architektura i gdzie się załamuje?” | „gdzie jestem teraz, mając te pomiary?” |
| Czujniki kwantowe / optyczne | modelowane jako modele błędów (zegary optyczne, inercyjna jednostka pomiarowa (IMU) z zimnymi atomami, optyczny transfer czasu), wyniki oznaczone MODELLED | niemodelowane |
| Przetwarzanie rzeczywistych obserwacji | kodowe SPP z rzeczywistych obserwacji RINEX (pvt, z dokładnością rzędu metra); RTK na krótkiej bazie z LAMBDA i statyczne PPP z wartościami zmiennoprzecinkowymi na rzeczywistej fazie nośnej, jako kod biblioteczny sprawdzany względem stacji IGS (VALIDATED, statyczne i krótkie okna, nie usługa strumieniowa); plus geometria / rozmycie dokładności (DOP) / dostępność |
główna kompetencja, aż po PPP/RTK z fazą nośną |
| Instalacja | zero: działa w karcie przeglądarki (WebAssembly) | natywna kompilacja / toolchain |
Uzupełniające, a nie konkurencyjne: RTKLIB i gLAB#
RTKLIB i gLAB to dojrzałe, szeroko używane zestawy do przetwarzania GNSS. Biorą rzeczywiste pomiary i dają rozwiązanie pozycji (SPP/PPP/RTK; gLAB jest też znakomitym narzędziem dydaktycznym z silnym dorobkiem w Europejskiej Agencji Kosmicznej (ESA) i w Europejskim Systemie Wspomagania Satelitarnego (EGNOS)). Kshana nie zastępuje ich i nie próbuje tego robić. Jej ścieżka obserwacji jest wąska: kodowe pozycjonowanie jednopunktowe (pvt) oraz, jako sprawdzany kod biblioteczny, RTK na krótkiej bazie z całkowitoliczbowym ustalaniem LAMBDA i statyczny filtr PPP z wartościami zmiennoprzecinkowymi na rzeczywistych obserwacjach dwuczęstotliwościowych, każdy VALIDATED względem danych stacji IGS (filtr PPP także względem przebiegu RTKLIB na tych samych wejściach). Nie ma wygładzania nośnej, przetwarzania kinematycznego ani strumieniowego, ani rozwiązywania niejednoznaczności na długich bazach, a pvt nie estymuje troposfery ani jonosfery: stosuje modele troposfery Saastamoinena/Niella i kombinację bezjonosferyczną L1/L2, a nie rozwiązuje ich jako stanów.
Potok jest uzupełniający:
- RTKLIB / gLAB odpowiadają na pytanie „gdzie jestem, według tych sygnałów?”
- Kshana odpowiada na pytanie „jak długo utrzymuję dobrą odpowiedź, gdy te sygnały znikają, i ile daje mi lepszy zegar lub czujnik inercyjny, klasyczny albo kwantowy?”
Naturalny przebieg pracy używa silnika przetwarzania dla odcinka, w którym GNSS jest dostępny, a Kshana do zbadania zachowania holdover i przestrzeni kompromisów czujników wokół niego. Jeśli potrzebujesz usługi pozycjonowania z fazą nośną (kinematyczne PPP lub RTK, długie bazy, sieciowe rozwiązywanie niejednoznaczności), użyj RTKLIB lub gLAB; jeśli potrzebujesz odtwarzalnych, oznaczonych dowodów dotyczących odporności i holdover, do tego Kshana została zbudowana.
Warstwa w przeglądarce bez instalacji#
Większość narzędzi symulacyjnych w tej dziedzinie (RTKLIB, gLAB, General Mission Analysis Tool (GMAT), Orekit, STK) wymaga natywnej instalacji lub licencji i nauki przed pierwszym wynikiem. Kshana kompiluje się do WebAssembly i działa w całości w przeglądarce: plac zabaw wczytuje gotowy scenariusz, uruchamia rzeczywisty silnik po stronie klienta (nic nie jest wysyłane) i pokazuje wynik w kilka sekund. Prowadzone suwaki i scenariusze jednym kliknięciem sprawiają, że pierwszy użyteczny wynik nie wymaga TOML (Tom's Obvious Minimal Language, format plików scenariuszy) ani toolchainu.
Ta warstwa bez instalacji jest świadomą decyzją:
- Zasięg: recenzent, student lub specjalista ds. zamówień może wypróbować rzeczywisty silnik z odnośnika, na dowolnym urządzeniu, bez żadnej konfiguracji.
- Odtwarzalność: ten sam silnik, który działa w przeglądarce, jest biblioteką publikowaną na crates.io, w Python Package Index (PyPI) i w npm; wynik jest odtwarzalny z
scenario + seed + engine version, a przebieg można udostępnić jako adres URL (adres internetowy). - Uczciwość: samodzielne uruchomienie silnika, otwarcie, jest najmocniejszą odpowiedzią na „zaufaj tym liczbom”: warstwa w przeglądarce jest powierzchnią audytu.
Warstwa w przeglądarce nie czyni Kshana zamiennikiem komputerowego zestawu do przetwarzania; sprawia, że pytanie o badanie kompromisów wydajności staje się przystępne dla osób, które nigdy nie zainstalowałyby takiego zestawu.
Zobacz też#
CAPABILITY.md: mapa zakresu wiersz po wierszu (pełny zakres solverapvti jego residua są w wierszu przetwarzanie GNSS / PNT).VALIDATION.md: co jest sprawdzone, z dowodami.TELECOM-TIMING.md: rodzaj synchronizacji telekomunikacyjnej i jego maski.GLOSSARY.md: definicje użytych tu pojęć prostym językiem.web/README.md: plac zabaw w przeglądarce.