Fuzja pozycjonowania, nawigacji i czasu z MEO i LEO
Trzy rodzaje scenariuszy dają pozycjonowanie, nawigację i czas (PNT) z satelitami na niskiej orbicie okołoziemskiej (LEO) samymi lub połączonymi z globalnymi systemami nawigacji satelitarnej (GNSS) na średniej orbicie okołoziemskiej (MEO): leo-pvt (pozycja, prędkość i czas), leo-ppp (precyzyjne pozycjonowanie punktowe) oraz ntn-positioning (sieć nieziemska 5G). Źródło: src/leo_fusion/.
Silnik jest niezależny od systemu. Każda konstelacja to powłoki Walkera, jawne elementy orbitalne albo gotowe ustawienie GNSS rodzaju constellation-design; każdy sygnał to nośna, tempo chipów i obwiednia stosunku nośnej do gęstości szumu (C/N0); każdy budżet błędów to jawne jedno sigma. Nazwane systemy to opcjonalne gotowe ustawienia, po jednym pliku, a każda możliwość, test i dołączony scenariusz działają bez któregokolwiek z nich.
Systemy i gotowe ustawienia#
Scenariusz wymienia swoje systemy jako tabele [[system]]. Ten kompletny scenariusz łączy bazową konstelację GPS z ogólną warstwą LEO i działa tak, jak jest zapisany (kshana <file>.toml; silnik 0.40.0 daje medianę rozmycia dokładności pozycji 2,43 dla samego GPS i 1,17 po fuzji oraz błąd 3D średniokwadratowy 2,06 m i 0,47 m):
kind = "leo-pvt"
mode = "joint"
seed = 3
duration_s = 600.0
step_s = 60.0
[user]
lat_deg = 40.42
lon_deg = -3.70
height_m = 650.0
[[system]]
name = "GPS"
preset = "gps-baseline"
cn0_dbhz = [38.0, 48.0]
sisre_m = 0.6
[[system]]
name = "Any LEO layer"
carrier_hz = 1.5e9 # any band
chip_rate_hz = 10.23e6 # omit with doppler_only = true for a signal of opportunity
cn0_dbhz = [45.0, 55.0] # at the elevation mask and at the zenith
sisre_m = 0.3 # signal-in-space range error of orbit and clock, one sigma
clock = "estimated" # its own receiver clock (inter-system bias solved) or "known"
isb_ns = 40.0 # true inter-system bias used to simulate its pseudoranges
[[system.shell]]
total = 240
planes = 12
phasing = 1
altitude_km = 1000.0
inclination_deg = 60.0
preset = "gps-baseline" (Global Positioning System, GPS; lub galileo, beidou-meo, glonass) przyjmuje opublikowaną konstelację GNSS; leo_preset = "..." uzupełnia z gotowego ustawienia LEO wszystko, czego tabela nie określa. C/N0 rośnie liniowo z sinusem elewacji od maski do zenitu (wybór modelowania: rzeczywista obwiednia przejścia zależy od charakterystyki anteny nadawczej). Jedno-sigma pseudoodległości to szum termiczny pętli synchronizacji opóźnienia (DLL) silnika (navsignal::dll_code_jitter_chips) przy tym C/N0, połączony z błędem odległości w sygnale w przestrzeni (SISRE), chyba że sigma_pr_m je ustala; jedno-sigma prędkości zmiany odległości to długość fali razy sigma_doppler_hz. Ponieważ sigma jest wejściem, osobny model sygnału może je dostarczać, a kod pozycjonowania nie musi wiedzieć, skąd pochodzi.
| Ustawienie predefiniowane | Co niesie | Źródła |
|---|---|---|
xona-pulsar |
X1 przy 1593,3225 MHz, 1,023 Mchip/s, moc odbierana od −148,2 do −139,1 dBW; X5 przy 1190,51625 MHz, 10,23 Mchip/s, od −144,9 do −136,2 dBW; 258 satelitów w 18 płaszczyznach na 1080 km, 53 i 97 stopni | PUBLIC: arXiv:2509,19551. Reprezentatywne: podział między dwa nachylenia, fazowanie, błąd odległości |
iridium-stl |
Iridium Satellite Time and Location (STL): 66 satelitów, sześć prawie biegunowych płaszczyzn na 780 km i 86,4 stopnia; impulsy przy 1616 do 1626 MHz, kluczowanie fazy czterostanowe (QPSK) przy 25 000 symboli/s; moc odbierana od 300 do 2400 razy minimum GPS | PUBLIC: Resilient Navigation and Timing Foundation (RNTF), National Institute of Standards and Technology (NIST), konstelacja. WYLICZONE: moc w dBW. Reprezentatywne: nośna w środku pasma, błąd odległości |
starlink-sop |
Tylko Doppler: 11,325 GHz, radiolatarnia z multipleksowaniem z ortogonalnym podziałem częstotliwości (OFDM) 240 MHz, C/N0 do 57,07 dB-Hz, błąd Dopplera 30 Hz; pierwsza powłoka 1584 satelitów na 550 km i 53 stopniach | PUBLIC: Kozhaya, Saroufim i Kassas 2025, Federal Communications Commission (FCC) 21-48. Reprezentatywne: fazowanie, C/N0 przy horyzoncie |
centispace |
Kluczowanie fazy dwustanowe (BPSK) przy 2,046 Mchip/s w pobliżu L1 i L5; wyznaczanie orbity z dokładnością centymetrową | PUBLIC: wstępna ocena, GPS Solutions. Reprezentatywne: nośne, moc, cała konstelacja operacyjna |
generic-c-band |
System pasma C w przydziale służby nawigacji radiowej przez satelity (RNSS) od 5010 do 5030 MHz, dla systemów, których parametry nie są publiczne | PUBLIC: przydział z Regulaminu Radiokomunikacyjnego Międzynarodowego Związku Telekomunikacyjnego (ITU). Wszystko inne reprezentatywne |
atomic-zero-clock |
Model efemeryd i zegara: wielomian efemeryd szóstego rzędu, odświeżanie co 30 s, zegar sterowany do czasu GNSS; SISRE 0,26 m | PUBLIC: InsideGNSS. WYLICZONE: SISRE. Łączy się z dowolną konstelacją przez ephemeris_preset |
celeste-iod |
Demonstracja na orbicie (IOD) Celeste Europejskiej Agencji Kosmicznej (ESA), jedna konfiguracja parametryzowanego projektu sygnału | orbita PUBLIC (ESA, streszczenie Institute of Navigation (ION) 16907); parametry sygnału WORKSHOP, przedstawione na warsztatach LEO-PNT programu ESA Navigation Innovation and Support Programme (NAVISP), 2026 |
Każda liczba pochodząca z warsztatów znajduje się w module fusion w src/celeste_iod.rs, używanym przez scenarios/celeste-iod-fused-pvt.toml (tests/workshop_preset_isolation.rs wymusza, gdzie mogą się pojawiać). Jak to ustawienie jest wyłączane: każda liczba silnika pochodząca z warsztatów mieści się w jednym pliku, src/celeste_iod.rs, który build.rs kompiluje tylko wtedy, gdy istnieje, oraz w scenariuszach dostępnych tylko w repozytorium scenarios/*celeste-iod*.toml. Usunięcie tego pliku i tych scenariuszy wyłącza gotowe ustawienie bez zmian w kodzie źródłowym; każdy inny test, każda wyrocznia i każdy scenariusz działają bez niego, a liczba plików scenariuszy w README nadal liczy pliki wyłączone.
leo-pvt#
Jeden rodzaj, cztery tryby (mode = "doppler" | "joint" | "polar" | "timing").
Doppler. Odbiornik mierzący Doppler f_D przy długości fali λ obserwuje prędkość zmiany odległości ρ̇ = −λ f_D = u·(v_s − v_u) + ḋ, gdzie u to linia widzenia, a ḋ to dryf zegara odbiornika. Wsadowe dopasowanie Gaussa-Newtona wyznacza pozycję, dryf i opcjonalnie stałą prędkość, z analitycznymi pochodnymi cząstkowymi ∂ρ̇/∂r = −(I − u uᵀ)(v_s − v_u)/ρ: informację o pozycji niesie tylko prędkość satelity w poprzek linii widzenia, więc o geometrii decyduje to, jak linie widzenia obracają się w oknie. Raport podaje błąd w zależności od długości okna, obwiednię Dopplera, tempa zmiany Dopplera i zrywu każdego systemu oraz tabelę dla pojedynczego przejścia. Jedno przejście lokalizuje użytkownika wzdłuż toru (chwila zerowego Dopplera) i w poprzek (stromość krzywej Dopplera); błąd poprzeczny rośnie bez ograniczeń, gdy przejście zbliża się do zenitu, a lustrzane odbicie względem śladu na powierzchni pasuje prawie równie dobrze (rozdziela je tylko obrót Ziemi). W tym trybie działa system tylko z Dopplerem (doppler_only = true, gotowe ustawienie starlink-sop).
Łączny. W każdej epoce ważona metoda najmniejszych kwadratów na pseudoodległościach samych systemów GNSS, samych systemów LEO i wszystkich razem, z jednym zegarem odbiornika na system (szacowany jest błąd międzysystemowy, ISB) lub ze znanym przesunięciem rozgłaszanym w odniesieniu do skali czasu. Podaje geometryczny, pozycyjny, poziomy, pionowy i czasowy współczynnik rozmycia dokładności (GDOP, PDOP, HDOP, VDOP, TDOP), błędy, oszacowane błędy systematyczne oraz DOP w zależności od liczby satelitów LEO dodanych do geometrii GNSS.
Polarny. Satelity w zasięgu, mediana DOP i dostępność w zależności od szerokości geograficznej dla GNSS na MEO, LEO i obu razem.
Czasowy. W znanej pozycji każda pseudoodległość LEO jest pomiarem zegara. Odbiornik uruchamia dwustanowy (faza, częstotliwość) filtr Kalmana, którego szum procesu to biały szum częstotliwości i szum częstotliwości typu błądzenie losowe klasy oscylatora (modele slot-timing i zegara), utrzymuje czas między przejściami i przelicza czas systemowy na czas koordynowany (UTC) wyrażeniem z IS-GPS-200 Δt_UTC = Δt_LS + A0 + A1 (t_E − t_ot + 604800 (WN − WN_t)); niepewność rozgłaszanego przesunięcia jest błędem systematycznym dla przebiegu.
leo-ppp#
Rozszerzony filtr Kalmana (EKF) precyzyjnego pozycjonowania punktowego (PPP) z liczbami rzeczywistymi, na kodzie i fazie wolnych od jonosfery: współrzędne statyczne, biały zegar odbiornika, jeden błąd międzysystemowy na każdy dodatkowy system, zenitalne opóźnienie wilgotne typu błądzenie losowe oraz rzeczywistoliczbowa niejednoznaczność dla każdego łuku satelity. Błąd precyzyjnej orbity i zegara jest wspólny dla kodu i fazy satelity, więc każdy satelita to jedna skorelowana aktualizacja o dwóch wierszach, w postaci stabilizowanej metodą Josepha, która utrzymuje dodatnią określoność kowariancji przez tysiące milimetrowych aktualizacji fazy. Pomiary są symulowane z tego samego modelu, więc znormalizowany kwadrat błędu estymacji (NEES) pozycji musi podlegać rozkładowi chi-kwadrat z trzema stopniami swobody; test sprawdza to na ziarnach Monte Carlo. Zbieżność to pierwsza epoka, po której błędy poziomy i pionowy pozostają poniżej progów (10 cm) do końca przebiegu.
Satelita LEO przecina niebo w około dziesięć minut, a satelita MEO przesuwa się o kilka stopni, więc łuki LEO oddzielają niejednoznaczności od pozycji znacznie szybciej.
ntn-positioning#
Łącze w dół sieci nieziemskiej (NTN) 5G w paśmie S służby satelitarnej ruchomej (MSS), pasmo n256 organizacji 3rd Generation Partnership Project (3GPP) (2170 do 2200 MHz). Granica Cramér-Rao (CRB) dla czasu przybycia wynosi c / (2π β sqrt(2 (C/N0) T)), gdzie β to średniokwadratowa (Gabora) szerokość pasma (B/√12 dla płaskiego widma OFDM), a dla częstotliwości tonu sqrt(3 / (2π² (C/N0) T³)). Rodzaj porównuje kanały (domyślnie kanał New Radio 5 MHz i kanał wąskopasmowy 200 kHz) przez rozwiązania z czasu przybycia w łączu w dół z nieznanym zegarem odbiornika oraz rozwiązanie z jednym satelitą z Dopplera podczas przejścia.
Dołączone scenariusze#
| Scenariusz | Rodzaj, tryb | Co pokazuje (z ziarnem, deterministycznie) |
|---|---|---|
leo-doppler-positioning |
leo-pvt, doppler |
warstwa Xona Pulsar X1 (258 satelitów), szum Dopplera 1 Hz: błąd 3D 7,5 m po dziesięciu minutach (26 satelitów); na pojedynczym przejściu jedno-sigma poprzeczne do toru wynosi 303 m, gdy przejście jest prawie nad głową (25 km od toru), wobec 43 m przy 250 km od toru |
starlink-sop-doppler-positioning |
leo-pvt, doppler |
sygnały okazji tylko z Dopplerem, błąd Dopplera 30 Hz przy 10 Hz: formalne poziome jedno-sigma około 10 m po 20 s z 12 satelitami i 6 m po 60 s |
meo-leo-fused-pvt |
leo-pvt, joint |
mediana PDOP dla GPS i Galileo 1,47 i średniokwadratowy (RMS) błąd 3D 1,06 m; sam Xona X5 1,73 i 0,49 m; po fuzji 1,06 i 0,41 m; błąd systematyczny LEO 40 ns (11,99 m) oszacowany jako 12,06 m |
leo-ppp-convergence |
leo-ppp |
Zbieżność 7,4 min (tylko GNSS na MEO), 4,8, 3,2, 2,7 i 2,3 min przy 60, 96, 192 i 288 satelitach LEO |
ntn-5g-positioning |
ntn-positioning |
Granica odległości od 0,26 do 1,03 m dla 4,5 MHz i od 6,5 do 26 m dla 180 kHz; rozwiązania w pobliżu 2 m wobec 26 m |
polar-arctic-leo-coverage |
leo-pvt, polar |
VDOP dla GPS i Galileo 1,20 na równiku, 1,51 przy 89,9 stopnia; z Iridium 1,14 na biegunie |
leo-timing-utc |
leo-pvt, timing |
Transfer czasu Iridium przez 6 godzin w Boulder: od 9,9 do 11,4 ns RMS przy nominalnym C/N0 dla czterech klas oscylatorów, od 15,1 do 25,0 ns przy stosunku niższym o 30 dB |
celeste-iod-fused-pvt (opcjonalnie) |
leo-pvt, joint |
GNSS uzupełniony o dwa satelity IOD w odniesieniu do skali czasu (tylko w repozytorium, wyłączone razem z gotowym ustawieniem) |
Te rodzaje działają też wewnątrz innych scenariuszy: leo-pvt jest członkiem przeglądu leo-focus-fused-pnt-sisre oraz kampanii leo-vertical-autonomous-vehicle, leo-vertical-polar-arctic, leo-vertical-critical-infrastructure-timing i leo-vertical-5g-network-timing; leo-ppp przeglądu leo-focus-ppp-altitude; ntn-positioning przeglądu leo-focus-ntn-bandwidth; a leo-pvt i leo-ppp to etapy rozwiązania połączonego i PPP rodzaju leo-pnt-chain. Ich wyniki są na LEO-PNT.md.
Opublikowane wartości i etykiety#
| Wartość | Źródło | Kshana | Etykieta |
|---|---|---|---|
| Doppler Iridium do ±36 kHz | RNTF | 35,9 kHz, maksimum z doby przejść, w granicach 5% | VALIDATED (tests/leo_doppler_reference.rs) |
| maksymalny Doppler Xona Pulsar X1 od 32 do 34 kHz | arXiv:2509,19551 | 33,6 kHz z jednego satelity każdej opublikowanej powłoki (1080 km, 53 i 97 stopni), wewnątrz przedziału bez poszerzenia; sama powłoka 53 stopni osiąga szczyt 31,8 kHz, ponieważ obrót Ziemi spowalnia orbitę postępową względem podłoża | VALIDATED (ten sam test) |
| zryw Xona Pulsar X1 ±1,26 Hz/s² | arXiv:2509,19551 | około 1,0 Hz/s² na przejściu nad głową | podane, niezwalidowane |
| zbieżność PPP 9,6 → 7,0, 3,2, 2,1, 1,3 min przy 60/96/192/288 LEO | Li et al., Journal of Geodesy 93:749 (2019), doi 10.1007/s00190-018-1195-2 | 7,4 → 4,8, 3,2, 2,7, 2,3 min, monotonicznie | MODELLED spójność trendu (konstelacje, szum i stacje nie są odtwarzane) |
| Starlink około 2 m w 20 s z trzema satelitami | Kozhaya, Saroufim i Kassas 2025 | formalne poziome jedno-sigma około 10 m po 20 s z 12 satelitami, z doskonałymi efemerydami i każdym błędem ujętym w sigma Dopplera 30 Hz przy 10 Hz | MODELLED porównanie (odbiornik i tempo pomiarów nie są odtwarzane) |
| synchronizacja czasu Iridium poniżej 40 ns od UTC(NIST) | NIST | około 10 ns RMS, obliczone z modelu | MODELLED porównanie |
Wszystko inne jest MODELLED, z uzasadnieniem w macierzy weryfikacji (docs/VERIFICATION-MATRIX.md): DOP sprawdzono na ręcznie wyprowadzonym przypadku czterech satelitów, rozwiązania względem ich kowariancji, model Dopplera względem tożsamości przyspieszenia odległości, filtr PPP względem pasma chi-kwadrat NEES, a granice względem kwadratury.
Ograniczenia, podane wprost#
- Orbity dwóch ciał z wiekowym dryfem od J2, drugiej harmonicznej zonalnej Ziemi; bez błędu dopasowania efemeryd rozgłaszanych poza jedno-sigma SISRE, bez charakterystyki anteny satelity.
- Brak opóźnienia jonosferycznego i troposferycznego w
leo-pvt(filtr PPP niesie stan opóźnienia wilgotnego; jego kombinacja wolna od jonosfery usuwa jonosferę pierwszego rzędu), brak scyntylacji, wielodrogowości, poślizgów cyklu i rozwiązywania niejednoznaczności całkowitoliczbowych. - Dokładność NTN jest granicą, a nie osiągniętym wynikiem.
- Wartości gotowych ustawień oznaczone jako reprezentatywne są ilustracyjne i nie opisują projektu żadnego operatora.