LEO-pass en linkbudget (leo-pass)
LEO-PNT is positiebepaling, navigatie en tijdsynchronisatie (PNT) vanaf satellieten in een lage baan om de aarde (LEO). Het soort leo-pass simuleert een of meer LEO-satellietpasses boven een gebruiker en berekent het linkbudget band voor band, naast de GNSS-satellieten (global navigation satellite system) in een middelhoge baan om de aarde (MEO) die in zicht zijn. De engine is systeemonafhankelijk: elke constellatie, elk signaalontwerp en elke band, rechtstreeks in een scenario opgeschreven. Benoemde systemen zijn optionele voorinstellingen, elk in een eigen bestand met zijn bron.
- Code:
src/leo_pass.rs(het soort) ensrc/leo_link/(openbare bouwstenen die andere modules kunnen aanroepen). - Scenario's:
leo-pass-vs-gnss-cn0,leo-indoor-uhf,leo-iot-energy,leo-pass-xona-pulsar,leo-pass-iridium,leo-resilience-spoof-doppler,leo-focus-science-iono-soundingen het optioneleleo-pass-celeste-iod-multiband(resultaten in Meegeleverde scenario's). Het soort is ook lid van de campagnesleo-resilience-spoof-monitors,leo-focus-iot-eirp,leo-focus-indoor-uhfen van elk scenarioleo-vertical-*, en de passfase van het soortleo-pnt-chain. - Overzicht van elk LEO-PNT-soort en -scenario: LEO-PNT.md.
- Onafhankelijke referenties:
tests/leo_link_reference.rs, testgegevens intests/fixtures/leo_link/met hun bron-URL's.
Wat één run berekent#
Voor elke LEO-satelliet, band en epoch:
| Term | Model | Label |
|---|---|---|
| Elevatie, azimut, afstand | WGS-84 (World Geodetic System 1984) gebruiker, satelliet in een inertiaalstelsel dat op het moment van de epoch samenvalt met het aardvaste stelsel | berekend |
Afstandssnelheid ρ̇ = d·Δv/ρ, afstandsversnelling ρ̈ = (|Δv|² − ρ̇² + d·Δa)/ρ |
gesloten vorm; elke run controleert beide aan centrale verschillen van de gepropageerde afstand en rapporteert het grootste verschil | gesloten vorm |
Doppler −f·ρ̇/c, Dopplersnelheid −f·ρ̈/c |
eerste orde, per band | gesloten vorm |
| Vrije-ruimteverlies | Friis, 20·log10(4πRf/c) |
VALIDATED |
| EIRP van de satelliet (equivalent isotropically radiated power) en patroon | isoflux tot een randelevatie, gaussiaanse hoofdlob −12(η/θ₃)² dB, of vlak |
MODELLED |
| Gebruikersantenne | patch G_z + 10·q·log10(sin el) dBic, halfbolvormig of isotroop |
MODELLED |
| Gasdemping | Vereenvoudigde uitdrukkingen uit ITU-R (International Telecommunication Union, Radiocommunication Sector) P.676-10 bijlage 2 (vervangen door P.676-13, waarvan de engine de getabelleerde coëfficiënten niet bevat) | MODELLED |
| Regendemping | Coëfficiënten van ITU-R P.838-3 en de procedure van P.618-14 § 2.2.1.1, uit een regenintensiteit R0.01 en een regenhoogte | VALIDATED |
| Troposferische scintillatie | ITU-R P.618-14 § 2.4.1; onder 4 GHz een extrapolatie, in het rapport gemarkeerd | VALIDATED (4–55 GHz) |
| Gebouwpenetratieverlies (gebruiker binnen) | ITU-R P.2109-2, traditioneel of thermisch efficiënt, op de elevatie van het pad bij de gevel | VALIDATED |
| Polarisatieverschil | polarisatieverliesfactor uit axiale verhoudingen en draaizin, gemiddeld over de oriëntatie van de ellips | gesloten vorm |
| Systeemruistemperatuur | antennevloer + hemelemissie van het absorberende pad (275 K) + kosmische 2,7 K + ontvanger 290(10^(NF/10) − 1) |
MODELLED |
| C/N0 (draaggolf-ruisdichtheid) | EIRP + G_sat − L_fs − L_gas − L_rain − L_scint − L_BEL − L_pol + G_user − 10·log10(kT) − L_impl |
MODELLED |
| Ionosferische groepsvertraging | 40.3·STEC/f², STEC (slant total electron content) uit het Klobuchar-model of een verticale total electron content (TEC), geschaald met het deel van een Chapman-laag onder de satelliet |
schaling VALIDATED, TEC MODELLED |
Per bandpaar: de ionosfeervrije coëfficiënten, de ruisversterking √(a₁² + a₂²) en de thermische coderuis van elke band en van de combinatie op de piek van de pass. De MEO-GNSS-vergelijking gebruikt dezelfde gebruikersantenne en ontvanger, met per signaal het minimale ontvangstvermogen uit het interfacedocument (Galileo Open Service Signal-in-Space Interface Control Document, OS SIS ICD, Issue 2,1 Tabel 12; GPS uit IS-GPS-200 en IS-GPS-705), plus een vermelde overmaat, geschaald met de afstand. De optionele sectie [iot] (Internet of Things) geeft de tijd tot de eerste positiebepaling, de energie per positiebepaling en de batterijduur tegenover de duty cycle voor een vermeld vermogensbudget van de ontvanger (MODELLED, elke aanname is een invoer en staat in het rapport).
Satellieten#
orbit = "pass"(standaard): een cirkelvormige baan die zo is geplaatst dat de gebruiker één pass ziet met een gekozen maximale elevatie op een gekozen tijdstip, oplopend of aflopend, oost of west van de gebruiker; de inclinatie kan zonsynchroon zijn.orbit = "elements": expliciete Kepler-elementen.orbit = "tle": een two-line element set (TLE) via de Simplified General Perturbations 4-propagator (SGP4) van de engine.[[leo_constellation]]: een Walker-constellatie, opgebouwd door de codeconstellation-design(haarConstellationCfgof de shells van de voorinstelling); de hoogste passes in het venster worden gerapporteerd.
Banden en signaalontwerpen#
Banden: system = "<preset>" met een optionele deelverzameling bands, en items [[satellite.band]] die een band toevoegen of een willekeurig veld van een voorinstellingsband overschrijven. system = "none" met alleen items [[satellite.band]] gebruikt helemaal geen voorinstelling.
Een band kan ook een ontwerp leo-signal noemen (signal = "xona-x5", elk ontwerp onder data/leo-signals/, of een ontwerp dat het soort leo-pnt-chain aanlevert; zie LEO-SIGNAL.md). De band neemt dan de middenfrequentie van het ontwerp over (tenzij frequency_mhz is opgegeven), de zendbandbreedte en de chipsnelheid van de gevolgde component, verdeelt haar EIRP over de componenten van het ontwerp naar hun vermogensaandeel, en rapporteert op elke epoch de C/N0 van de gevolgde component en haar bandbegrensde early-late-codevolgjitter (Betz en Kolodziejski 2009, de formule van het soort leo-signal) als de afstandsmeetfout.
Voorinstellingen#
Elke voorinstelling markeert haar getallen als PUBLIC (met URL), REPRESENTATIVE (een gedocumenteerde ontwerpkeuze, nooit een bewering over een echt systeem) of WORKSHOP.
| Voorinstelling | Bron | Banden | Baan |
|---|---|---|---|
generic-leo (standaard) |
REPRESENTATIVE; L-, S- en C-draaggolven uit openbare documenten | UHF 450 MHz (representatief), L 1191,795 MHz (centrum van Galileo E5), S 2492,028 MHz (NavIC S, de S-banddraaggolf van Navigation with Indian Constellation), C 5020 MHz (centrum van de toewijzing van 5010–5030 MHz voor RNSS (radionavigatiesatellietdienst)), elk 0 dBW | 550 km zonsynchroon, Walker 240/12/1 |
generic-c-band |
REPRESENTATIVE, voor C-bandsystemen waarvan de parameters niet openbaar zijn (bijvoorbeeld TrustPoint) | C 5020 MHz, BPSK(10) (binary phase-shift keying met 10 × 1,023 Mchip/s), isoflux | 550 km, 53° |
xona-pulsar |
PUBLIC, arXiv 2509,19551 tabellen 1–2 | X1 1593,3225 MHz, X5 1190,51625 MHz; EIRP uit het gepubliceerde minimale ontvangstvermogen bij 10° | 1080 km, 53° (192) en 97° (66) |
iridium-stl |
PUBLIC, Resilient Navigation and Timing Foundation (RNTF) en de gepubliceerde baan | Satellite Time and Location (STL) op 1621 MHz (midden van 1616–1626 MHz); EIRP uit "300 maal GPS" | 781 km, 86,4°, 66 in 6 banen |
starlink-soop |
PUBLIC-signaalcijfers (NAVIGATION 72(1)), REPRESENTATIVE baan en EIRP | Ku-baken van 240 MHz, alleen Doppler | 550 km, 53° |
centispace |
PUBLIC-signaalstructuur (PMC10301026), REPRESENTATIVE baan en EIRP | BPSK 2,046 Mchip/s nabij L1 en L5 | 1000 km, 55° |
celeste-iod (optioneel) |
WORKSHOP-signaalparameters, PUBLIC baan | zeven banden van configuratie #1 | 510 km zonsynchroon |
De voorinstelling Celeste IOD (in-orbit demonstration) is optioneel. De signaalparameters ervan zijn gepresenteerd op de LEO-PNT-workshop van het Navigation Innovation and Support Programme (NAVISP) van het Europees Ruimteagentschap (ESA), 2026, en hebben nog geen openbare bron; ze staan in de module link van src/celeste_iod.rs, gebruikt door scenarios/leo-pass-celeste-iod-multiband.toml. Hoe de voorinstelling wordt achtergehouden: elk van de workshop afgeleid getal van de engine staat in één bestand, src/celeste_iod.rs, dat build.rs alleen meecompileert als het bestaat, en in de scenario's scenarios/*celeste-iod*.toml die alleen in de repository staan. Door dat bestand en die scenario's te verwijderen wordt de voorinstelling achtergehouden zonder bronwijziging; elke andere test, onafhankelijke referentie en elk ander scenario draait zonder haar, en het aantal scenariobestanden in de README telt de achtergehouden bestanden nog steeds mee. Haar EIRP en bundel zijn gekalibreerd op een C/N0-verloop dat op de workshop is getoond, zodat dat scenario het verloop per constructie reproduceert.
Het "zero-clock"-polynoom van ATOMIC als broadcast-efemeridemodel is een voorinstelling voor navigatieberichten en maakt geen deel uit van dit soort.
De waarneming LEO tegenover GNSS#
scenarios/leo-pass-vs-gnss-cn0.toml reproduceert kwalitatief wat LEO-PNT-demonstraties laten zien: de LEO-C/N0 stijgt en daalt in een belvormig verloop dat 590 s boven het masker blijft en piekt op 56,8 dB-Hz, 8,9 dB boven de mediaan van de vlakke MEO-GNSS-draaggolven (Galileo E1, 40,5 tot 52,0 dB-Hz, mediaan 47,8 dB-Hz). De marge komt van de afstand, niet van een sterkere zender: op de piek van de pass staat de satelliet 569 km weg, ongeveer 40 keer dichter dan een Galileo-satelliet in het zenit (23.222 km), wat 32 dB minder vrije-ruimteverlies is; de generieke voorinstelling straalt 0 dBW (1 W) uit.
Meegeleverde scenario's#
Elke rij is één run van kshana scenarios/<name>.toml (engine 0.40.0):
| Scenario | Opzet | Resultaat van één run |
|---|---|---|
leo-pass-vs-gnss-cn0 |
generic-leo L-band, 550 km, pass van 80° boven München |
L-piek 56,8 dB-Hz, mediaan 42,2 dB-Hz; Galileo E1-mediaan 47,8 dB-Hz |
leo-pass-xona-pulsar |
xona-pulsar, een ontworpen pass van 70° en vier satellieten in hellende shells, maritieme gebruiker |
X1-piek 65,6 dB-Hz en X5 68,9 dB-Hz op de ontworpen pass; grootste X1-Doppler 31,4 kHz |
leo-pass-iridium |
iridium-stl, pass van 65°, gebruiker in de lucht |
STL-piek 80,5 dB-Hz, 34,3 dB boven de GPS L1-mediaan; grootste Doppler 35,4 kHz |
leo-indoor-uhf |
generic-leo, gebruiker binnenshuis in Rome (traditioneel gebouw) |
piek UHF 34,1, L 24,2, S 16,5, C 8,5 dB-Hz; Galileo E1-mediaan 22,4 dB-Hz |
leo-iot-energy |
generic-leo UHF en L met de sectie [iot] |
warme start 0,90 s en 18,0 mJ op elk signaal; koude start UHF 19,0 s (381 mJ), L 47,0 s (939 mJ), GPS L1 38,1 s (762 mJ) |
leo-focus-science-iono-sounding |
generic-leo, vier banden, pass van 70° boven Tromsø |
zie Ionosfeerbepaling |
leo-resilience-spoof-doppler |
16 satellieten van een generieke laag op 1080 km, L en C, een sprong van 30 m | zie Spoofingmonitors |
kshana scenarios/<name>.toml --animate html --export all schrijft ook de interactieve speler (.animation.html, de epochs van de pass) en de efemeridebestanden CZML (de Cesium Language), KML (Keyhole Markup Language), GeoJSON en STK (Systems Tool Kit) van de passgeometrie (ANIMATION.md, INTEROP.md).
Ionosfeerbepaling#
Elk bandpaar geeft ook de schuine TEC die zijn geometrievrije codecombinatie op de piek van de pass terugvindt, STEC = (P₂ − P₁)·f₁²f₂² / (40.3·(f₁² − f₂²)), en de 1-sigma van die schatting uit de coderuis van de twee banden op de piek (geometry_free_stec_tecu, geometry_free_stec_sigma_tecu). De schatting is per constructie gelijk aan de schuine TEC van het model: de combinatie is exact in de eerste orde. De sigma bepaalt of een bandplan een betere of slechtere sounder is: scenarios/leo-focus-science-iono-sounding.toml (vier banden boven Tromsø) vindt uit elk paar 18,85 TEC-eenheden terug, met een 1-sigma van 0,017 TEC-eenheden voor UHF met L en 2,9 voor S met C. Alleen thermische coderuis; geen multipath of interfrequentiebias. MODELLED.
Spoofingmonitors ([spoofer])#
De optionele sectie [spoofer] vervalst de signalen die een ontvanger op een geclaimde positie zou zien. Vanaf onset_s springt de geclaimde positie met offset_m en beweegt daarna horizontaal met push_rate_m_s naar push_azimuth_deg; de vervalste afstand en afstandssnelheid zijn precies die van de geclaimde positie, op de LEO-banden die in bands worden genoemd (standaard alle) en op het MEO-GNSS-signaal tenzij gnss = false. simulate_iono bepaalt of de vervalste pseudoafstanden de ionosferische vertraging bevatten (die van een zender op de grond niet).
De ontvanger draait twee monitors (src/leo_link/spoof.rs), elk met een vermelde kans op een vals alarm per epoch (p_fa, standaard 1e-5), en meldt detectie op de eerste epoch waarop haar detectiekans 1 − p_md bereikt (standaard 0,999). Detectiekansen zijn exact voor de vermelde gaussiaanse ruis, berekend op het ruisvrije gemiddelde residu; er wordt geen ruis getrokken.
| Monitor | Statistiek | Wat hij ziet |
|---|---|---|
| Doppler- en passgeometrieconsistentie | gemeten afstandssnelheden tegenover die voorspeld uit de banen en een onafhankelijke a-priori-positie en -snelheid (prior_sigma_m, prior_velocity_sigma_m_s); een gegeneraliseerde kleinste-kwadraten-chikwadraat over een venster van window_s (standaard één stap), waarbij de klokdrift een hinderparameter is (of gegeven drift_sigma_m_s); ruis van de frequentievergrendelingslus uit C/N0 (Kaplan & Hegarty 2006, § 5.6.2), op de GNSS-kanalen, de LEO-kanalen en alle kanalen |
een positiefout δx verschuift een afstandssnelheid met g·δx, g = −(Δv − ρ̇u)/ρ: de dwarssnelheid van een LEO-satelliet gedeeld door zijn afstand is ongeveer 25 keer die van een MEO-satelliet, zodat dezelfde fout in de LEO-Doppler ongeveer 25 keer groter is |
| Consistentie tussen banden | de stap van epoch tot epoch van de geometrievrije pseudoafstandscombinatie van elk LEO-bandpaar, met het ionosfeermodel van de ontvanger eruit gehaald, tegenover √(2(σ₁² + σ₂²)) coderuis en een getolereerde ongemodelleerde ionosferische veranderingssnelheid (iono_rate_bound_m_s) |
een spoofer die sommige banden wel en andere niet vervalst, of elke band zonder de ionosfeer, bij zijn start; geen spoofer die elke band vervalst en de ionosfeer simuleert |
scenarios/leo-resilience-spoof-doppler.toml: een sprong van 30 m op een opgemeten locatie in Frankfurt verandert de GNSS-afstandssnelheden met ongeveer 4 mm/s en de LEO-snelheden met ongeveer 10 cm/s (mediane gradiënten 1.4e-4 en 3.5e-3 per seconde). De test met alleen GNSS detecteert dit nooit (grootste niet-centraliteit 0,06); de test op alle kanalen detecteert het 105 s na de start. scenarios/leo-resilience-spoof-monitors.toml draait vier spoofers tegen beide monitors.
Beperkingen, in elk resultaat vermeld: de spoofer is een geïdealiseerde, zelfconsistente positieduw die zijn eigen pad compenseert (geen signatuur in vermogen, aankomsthoek of correlatiepiek); de a-priori-positie is onafhankelijk van de gespoofde positiebepalingen; het ionosfeermodel van de ontvanger is dat van de engine, zodat het authentieke residu tussen banden gemiddeld nul is. MODELLED (twee rijen in VERIFICATION-MATRIX.md).
Validatie#
| Onafhankelijke referentie | Test | Resultaat |
|---|---|---|
| ITU-R P.838-3 tabel 5, 115 frequenties | p838_coefficients_reproduce_table5_to_its_printed_digits |
elke coëfficiënt binnen 0,6 van zijn laatst gedrukte cijfer (slechtst waargenomen 0,51) |
| Validatievoorbeelden van ITU-R Study Group 3 (CG-3M3J-13-ValEx-Rev8.3.0), P.618-14 regen | p618_rain_attenuation_matches_the_itu_validation_examples |
56 gevallen binnen 1e-4 dB (waargenomen 5e-6 dB) |
| Dezelfde voorbeelden, P.618-14 scintillatie | p618_scintillation_matches_the_itu_validation_examples |
42 gevallen binnen 1e-5 dB |
| Werkmap Clutter en BEL van ITU-R Study Group 3, P.2109 | p2109_building_entry_loss_matches_the_itu_workbook |
568 waarden binnen 0,001 dB |
IS-GPS-200 groepsvertragingsverhouding γ = (77/60)² |
first_order_iono_reproduces_the_is_gps_200_group_delay_ratio |
tot 1e-12; versterking L1/L2 en L1/L5 2,978 en 2,588 |
| Friis-vorm kilometer–megahertz | free_space_loss_is_the_friis_kilometre_megahertz_form |
tot 1e-4 dB |
| arXiv 2509,19551 tabel 1 (Pulsar in-orbit validation (IOV), full operational capability (FOC) polair, FOC hellend, GPS) | doppler_envelope_reproduces_the_pulsar_paper_table_1 |
20 snelheden en Dopplermaxima binnen 0,05 % |
De onafhankelijke referenties voor regen en scintillatie nemen de regenhoogte en de natte refractiviteit over zoals de validatievoorbeelden ze geven: de engine bevat noch de kaart van ITU-R P.839 noch die van P.453.
Beperkingen#
- EIRP's en patronen zijn gepubliceerde ontvangstvermogens omgerekend naar een EIRP, of representatieve keuzes; het gemeten patroon van geen enkele satelliet wordt gebruikt en geen enkele LEO-C/N0 wordt met een meting vergeleken.
- De gasterm is de vervangen vereenvoudigde methode P.676-10; onder 1 GHz is het de waarde bij 1 GHz geschaald met f², en regen wordt daar als nul genomen.
- Het deel van de TEC onder een LEO-satelliet komt uit één Chapman-laag (geen plasmasfeer), te overschrijven met een vermeld deel.
- De ontworpen pass- en Walker-banen zijn tweelichamenbanen met een optionele seculaire J2 (de tweede zonale harmonische van de aarde); het TLE-pad gebruikt SGP4. De eigen versnelling van de gebruiker blijft buiten de Dopplersnelheid in gesloten vorm (de numerieke controle rapporteert wat dat voor een bewegende gebruiker kost).
- RINEX (Receiver Independent Exchange Format) 4,02 kent geen LEO-navigatierecords; elke RINEX-achtige LEO-export hoort bij de code voor navigatieberichten en is een gedocumenteerde Kshana-extensie (eerder werk: arXiv 2401,17767).