LEO-passage och länkbudget (leo-pass)
LEO-PNT är positionering, navigering och tidssynkronisering (PNT) från satelliter i låg omloppsbana (LEO). Typen leo-pass simulerar en eller flera LEO-satellitpassager över en användare och beräknar länkbudgeten band för band, bredvid GNSS-satelliterna (global navigation satellite system) i medelhög omloppsbana (MEO) som är i sikte. Motorn är systemoberoende: valfri konstellation, valfri signalutformning och valfritt band, skrivna direkt i ett scenario. Namngivna system är valfria förinställningar, var och en i sin egen fil med sin källa.
- Kod:
src/leo_pass.rs(typen) ochsrc/leo_link/(publika byggstenar som andra moduler kan anropa). - Scenarier:
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-soundingoch det valfrialeo-pass-celeste-iod-multiband(resultat i Medföljande scenarier). Typen ingår också i kampanjernaleo-resilience-spoof-monitors,leo-focus-iot-eirp,leo-focus-indoor-uhfoch i varje scenario som matcharleo-vertical-*, och är passagesteget i typenleo-pnt-chain. - Översikt över alla LEO-PNT-typer och scenarier: LEO-PNT.md.
- Referenser:
tests/leo_link_reference.rs, testdata itests/fixtures/leo_link/med sina käll-URL:er.
Vad en körning beräknar#
För varje LEO-satellit, band och epok:
| Term | Modell | Etikett |
|---|---|---|
| Elevation, azimut, avstånd | WGS-84 (World Geodetic System 1984), användare; satellit i ett tröghetssystem som vid epoken är justerat mot det jordfasta systemet | beräknad |
Avståndshastighet ρ̇ = d·Δv/ρ, avståndsacceleration ρ̈ = (|Δv|² − ρ̇² + d·Δa)/ρ |
sluten form; varje körning kontrollerar båda mot centrala differenser av det propagerade avståndet och redovisar den största skillnaden | sluten form |
Doppler −f·ρ̇/c, Doppler-hastighet −f·ρ̈/c |
första ordningen, per band | sluten form |
| Frirymdsdämpning | Friis, 20·log10(4πRf/c) |
VALIDATED |
| Satellitens EIRP (ekvivalent isotropiskt utstrålad effekt) och diagram | isoflux upp till en kantelevation, gaussisk huvudlob −12(η/θ₃)² dB, eller platt |
MODELLED |
| Användarantenn | patch G_z + 10·q·log10(sin el) dBic, halvsfärisk eller isotrop |
MODELLED |
| Gasdämpning | ITU-R (International Telecommunication Union, Radiocommunication Sector) P.676-10 bilaga 2 förenklade uttryck (ersatta av P.676-13, vars tabellerade koefficienter motorn inte innehåller) | MODELLED |
| Regndämpning | ITU-R P.838-3-koefficienter och förfarandet i P.618-14 § 2.2.1.1, utifrån en regnintensitet R0.01 och en regnhöjd | VALIDATED |
| Troposfärisk scintillation | ITU-R P.618-14 § 2.4.1; under 4 GHz en extrapolering, som flaggas i rapporten | VALIDATED (4–55 GHz) |
| Byggnadsgenomträngningsdämpning (användare inomhus) | ITU-R P.2109-2, traditionell eller termiskt effektiv, vid elevationen för vägen vid fasaden | VALIDATED |
| Polarisationsfel | polarisationsförlustfaktor utifrån axialförhållanden och rotationsriktningar, medelvärdesbildad över ellipsens orientering | sluten form |
| Systembrustemperatur | antennens golv + himlens emission i den absorberande vägen (275 K) + kosmiska 2,7 K + mottagarens 290(10^(NF/10) − 1) |
MODELLED |
| C/N0 (bärvåg-till-brus-täthet) | EIRP + G_sat − L_fs − L_gas − L_rain − L_scint − L_BEL − L_pol + G_user − 10·log10(kT) − L_impl |
MODELLED |
| Jonosfärens grupplöptid | 40.3·STEC/f², STEC (slant total electron content) från Klobuchar-modellen eller ett vertikalt totalt elektroninnehåll (TEC), skalat med den andel av ett Chapman-skikt som ligger under satelliten |
skalning VALIDATED, TEC MODELLED |
Per bandpar: jonosfärsfria koefficienter, brusförstärkningen √(a₁² + a₂²) och det termiska kodbruset för varje band och för kombinationen vid passagens topp. Jämförelsen med MEO-GNSS använder samma användarantenn och mottagare, med varje signals lägsta mottagna effekt enligt gränssnittsdokumentet (Galileo Open Service Signal-in-Space Interface Control Document, OS SIS ICD, Issue 2,1 tabell 12; GPS från IS-GPS-200 och IS-GPS-705), plus ett angivet överskott, skalat med avståndet. Det valfria avsnittet [iot] (Internet of Things) ger tid till första positionsbestämning, energi per positionsbestämning och batteritid mot arbetscykel för en angiven effektbudget för mottagaren (MODELLED, varje antagande är en indata och redovisas i rapporten).
Satelliter#
orbit = "pass"(standard): en cirkulär bana placerad så att användaren ser en passage med en vald maximal elevation vid en vald tidpunkt, stigande eller fallande, öster eller väster om användaren; inklinationen kan vara solsynkron.orbit = "elements": uttryckliga keplerska element.orbit = "tle": en tvåradig elementuppsättning (TLE) genom motorns propagator Simplified General Perturbations 4 (SGP4).[[leo_constellation]]: en Walker-konstellation byggd av kodenconstellation-design(dessConstellationCfgeller förinställningens skal); de högsta passagerna i fönstret redovisas.
Band och signalutformningar#
Band: system = "<preset>" med en valfri delmängd bands, och poster [[satellite.band]] som lägger till ett band eller åsidosätter vilket fält som helst i ett förinställt band. system = "none" med bara poster [[satellite.band]] använder ingen förinställning alls.
Ett band kan också namnge en utformning leo-signal (signal = "xona-x5", valfri utformning under data/leo-signals/, eller en som typen leo-pnt-chain lämnar över; se LEO-SIGNAL.md). Bandet tar då utformningens mittfrekvens (om inte frequency_mhz anges), sändningsbandbredd och chipfrekvens för den spårade komponenten, delar upp sin EIRP på utformningens komponenter efter deras effektandelar, och redovisar vid varje epok den spårade komponentens C/N0 och dess bandbegränsade tidig-sen-kodföljningsjitter (Betz och Kolodziejski 2009, formeln för typen leo-signal) som avståndsfel.
Förinställningar#
Varje förinställning märker sina tal PUBLIC (med URL), REPRESENTATIVE (ett dokumenterat utformningsval, aldrig ett påstående om ett verkligt system) eller WORKSHOP.
| Förinställning | Källa | Band | Bana |
|---|---|---|---|
generic-leo (standard) |
REPRESENTATIVE; L-, S- och C-bärvågor från offentliga dokument | UHF 450 MHz (representativt), L 1191,795 MHz (Galileo E5-centrum), S 2492,028 MHz (NavIC S, S-bandsbärvågen i Navigation with Indian Constellation), C 5020 MHz (mitten av RNSS-allokeringen (radionavigeringssatellittjänsten) 5010–5030 MHz), var och en 0 dBW | 550 km solsynkron, Walker 240/12/1 |
generic-c-band |
REPRESENTATIVE, för C-bandssystem vars parametrar inte är offentliga (till exempel TrustPoint) | C 5020 MHz, BPSK(10) (binär fasskiftsmodulation vid 10 × 1,023 Mchip/s), isoflux | 550 km, 53° |
xona-pulsar |
PUBLIC, arXiv 2509,19551 tabellerna 1–2 | X1 1593,3225 MHz, X5 1190,51625 MHz; EIRP från den publicerade lägsta mottagna effekten vid 10° | 1080 km, 53° (192) och 97° (66) |
iridium-stl |
PUBLIC, Resilient Navigation and Timing Foundation (RNTF) och den publicerade banan | Satellite Time and Location (STL) vid 1621 MHz (mitten av 1616–1626 MHz); EIRP från "300 gånger GPS" | 781 km, 86,4°, 66 i 6 plan |
starlink-soop |
PUBLIC signaluppgifter (NAVIGATION 72(1)), REPRESENTATIVE bana och EIRP | Ku-fyr på 240 MHz, endast Doppler | 550 km, 53° |
centispace |
PUBLIC signalstruktur (PMC10301026), REPRESENTATIVE bana och EIRP | BPSK 2,046 Mchip/s nära L1 och L5 | 1000 km, 55° |
celeste-iod (valfri) |
WORKSHOP signalparametrar, PUBLIC bana | sju band i konfiguration #1 | 510 km solsynkron |
Förinställningen Celeste IOD (demonstration i omloppsbana) är valfri. Dess signalparametrar presenterades vid Europeiska rymdorganisationens (ESA) LEO-PNT-workshop inom Navigation Innovation and Support Programme (NAVISP), 2026, och har ännu ingen offentlig källa; de finns i modulen link i src/celeste_iod.rs, som används av scenarios/leo-pass-celeste-iod-multiband.toml. Så hålls förinställningen undan: varje tal från workshopen i motorn finns i en enda fil, src/celeste_iod.rs, som build.rs bara kompilerar in när den finns, och i de scenarier som bara finns i förrådet scenarios/*celeste-iod*.toml. Om man tar bort den filen och de scenarierna hålls förinställningen undan utan någon källkodsändring; alla andra tester, referenser och scenarier körs utan den, och antalet scenariofiler i README räknar fortfarande med de undanhållna filerna. Dess EIRP och stråle är kalibrerade mot en C/N0-kurva som visades vid workshopen, så det scenariot återger kurvan per konstruktion.
ATOMIC-modellen med "nollklocka" och polynom för sänd efemerid är en förinställning för navigeringsmeddelanden och ingår inte i den här typen.
Observationen av LEO jämfört med GNSS#
scenarios/leo-pass-vs-gnss-cn0.toml återger kvalitativt vad LEO-PNT-demonstrationer visar: LEO-C/N0 stiger och sjunker i en klockkurva som ligger över masken i 590 s och når toppen 56,8 dB-Hz, 8,9 dB över medianen för de platta MEO-GNSS-bärvågorna (Galileo E1, 40,5 till 52,0 dB-Hz, median 47,8 dB-Hz). Marginalen kommer från avståndet, inte från en starkare sändare: vid passagens topp är satelliten 569 km bort, ungefär 40 gånger närmare än en Galileo-satellit i zenit (23 222 km), vilket ger 32 dB mindre frirymdsdämpning; den generiska förinställningen strålar 0 dBW (1 W).
Medföljande scenarier#
Varje rad är en körning av kshana scenarios/<name>.toml (motor 0.40.0):
| Scenario | Uppsättning | Resultat av en körning |
|---|---|---|
leo-pass-vs-gnss-cn0 |
generic-leo L-band, 550 km, en passage på 80° över München |
L-topp 56,8 dB-Hz, median 42,2 dB-Hz; median för Galileo E1 47,8 dB-Hz |
leo-pass-xona-pulsar |
xona-pulsar, en utformad passage på 70° och fyra satelliter i lutande skal, maritim användare |
X1-topp 65,6 dB-Hz och X5 68,9 dB-Hz på den utformade passagen; största X1-Doppler 31,4 kHz |
leo-pass-iridium |
iridium-stl, passage på 65°, luftburen användare |
STL-topp 80,5 dB-Hz, 34,3 dB över medianen för GPS L1; största Doppler 35,4 kHz |
leo-indoor-uhf |
generic-leo, användare inomhus i Rom (traditionell byggnad) |
topp UHF 34,1, L 24,2, S 16,5, C 8,5 dB-Hz; median för Galileo E1 22,4 dB-Hz |
leo-iot-energy |
generic-leo UHF och L med avsnittet [iot] |
varm positionsbestämning 0,90 s och 18,0 mJ för varje signal; kall positionsbestämning 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, fyra band, passage på 70° över Tromsø |
se Jonosfärssondering |
leo-resilience-spoof-doppler |
16 satelliter i ett generiskt skikt på 1080 km, L och C, ett hopp på 30 m | se Spoofing-monitorer |
kshana scenarios/<name>.toml --animate html --export all skriver också den interaktiva spelaren (.animation.html, passageepokerna) och efemeridfiler i CZML (the Cesium Language), KML (Keyhole Markup Language), GeoJSON och STK (Systems Tool Kit) för passagens geometri (ANIMATION.md, INTEROP.md).
Jonosfärssondering#
Varje bandpar ger också den sneda TEC som dess geometrifria kodkombination återskapar vid passagens topp, STEC = (P₂ − P₁)·f₁²f₂² / (40.3·(f₁² − f₂²)), och 1-sigma för den skattningen utifrån de två bandens kodbrus vid toppen (geometry_free_stec_tecu, geometry_free_stec_sigma_tecu). Skattningen är lika med modellens sneda TEC per konstruktion: kombinationen är exakt i första ordningen. Det är sigma som gör en bandplan till en bättre eller sämre sonderare: scenarios/leo-focus-science-iono-sounding.toml (fyra band över Tromsø) återskapar 18,85 TEC-enheter från varje par, med ett 1-sigma på 0,017 TEC-enheter för UHF med L och 2,9 för S med C. Endast termiskt kodbrus; ingen flervägsutbredning eller bias mellan frekvenser. MODELLED.
Spoofing-monitorer ([spoofer])#
Det valfria avsnittet [spoofer] förfalskar de signaler som en mottagare skulle se vid en påstådd position. Från onset_s hoppar den påstådda positionen med offset_m och rör sig sedan horisontellt med push_rate_m_s mot push_azimuth_deg; det förfalskade avståndet och avståndshastigheten är exakt de för den påstådda positionen, på de LEO-band som anges i bands (standard alla) och på MEO-GNSS-signalen om inte gnss = false. simulate_iono anger om de förfalskade pseudoavstånden bär jonosfärsfördröjningen (en markbaserad sändares gör inte det).
Mottagaren kör två monitorer (src/leo_link/spoof.rs), var och en med en angiven falsklarmssannolikhet per epok (p_fa, standard 1e-5), och förklarar detektion vid den första epok då dess detektionssannolikhet når 1 − p_md (standard 0,999). Detektionssannolikheterna är exakta för det angivna gaussiska bruset och beräknas på det brusfria medelvärdet av residualen; inget brus dras.
| Monitor | Statistik | Vad den ser |
|---|---|---|
| Doppler och konsistens med passagens geometri | uppmätta avståndshastigheter mot de som förutsägs från banorna och en oberoende a priori-position och -hastighet (prior_sigma_m, prior_velocity_sigma_m_s); ett generaliserat minstakvadrat-chi-två över ett fönster på window_s (standard ett steg), med klockdriften som en störparameter (eller given drift_sigma_m_s); brus i frekvenslåsningsslingan från C/N0 (Kaplan & Hegarty 2006, § 5.6.2), på GNSS-kanalerna, LEO-kanalerna och alla kanaler |
ett positionsfel δx flyttar en avståndshastighet med g·δx, g = −(Δv − ρ̇u)/ρ: en LEO-satellits tvärhastighet i förhållande till avståndet är ungefär 25 gånger en MEO-satellits, så samma fel blir ungefär 25 gånger större i LEO-Doppler |
| Konsistens mellan band | steget från epok till epok för varje LEO-bandpars geometrifria pseudoavståndskombination, med mottagarens jonosfärsmodell borttagen, mot √(2(σ₁² + σ₂²)) kodbrus och en tolererad omodellerad jonosfärshastighet (iono_rate_bound_m_s) |
en spoofer som förfalskar vissa band men inte andra, eller varje band utan jonosfären, vid sin start; inte en som förfalskar varje band och simulerar jonosfären |
scenarios/leo-resilience-spoof-doppler.toml: ett hopp på 30 m vid en inmätt plats i Frankfurt ändrar GNSS-avståndshastigheterna med ungefär 4 mm/s och LEO-hastigheterna med ungefär 10 cm/s (mediangradienter 1.4e-4 och 3.5e-3 per sekund). Testet med enbart GNSS upptäcker det aldrig (största icke-centralitet 0,06); testet på alla kanaler upptäcker det 105 s efter starten. scenarios/leo-resilience-spoof-monitors.toml kör fyra spoofers mot båda monitorerna.
Begränsningar, angivna i varje resultat: spoofern är en idealiserad, självkonsistent positionsförskjutning som kompenserar för sin egen väg (ingen signatur i effekt, ankomstvinkel eller korrelationstopp); a priori-värdet är oberoende av de förfalskade positionsbestämningarna; mottagarens jonosfärsmodell är motorns, så den äkta residualen mellan band är noll i medel. MODELLED (två rader i VERIFICATION-MATRIX.md).
Validering#
| Oberoende referens | Test | Resultat |
|---|---|---|
| ITU-R P.838-3 tabell 5, 115 frekvenser | p838_coefficients_reproduce_table5_to_its_printed_digits |
varje koefficient inom 0,6 av sin sista tryckta siffra (sämsta observerade 0,51) |
| valideringsexempel från ITU-R Study Group 3 (CG-3M3J-13-ValEx-Rev8.3.0), P.618-14 regn | p618_rain_attenuation_matches_the_itu_validation_examples |
56 fall inom 1e-4 dB (observerat 5e-6 dB) |
| Samma exempel, P.618-14 scintillation | p618_scintillation_matches_the_itu_validation_examples |
42 fall inom 1e-5 dB |
| ITU-R Study Group 3 arbetsbok för Clutter och BEL, P.2109 | p2109_building_entry_loss_matches_the_itu_workbook |
568 värden inom 0,001 dB |
IS-GPS-200 grupplöptidskvot γ = (77/60)² |
first_order_iono_reproduces_the_is_gps_200_group_delay_ratio |
till 1e-12; förstärkning L1/L2 och L1/L5 2,978 och 2,588 |
| Friis i formen kilometer–megahertz | free_space_loss_is_the_friis_kilometre_megahertz_form |
till 1e-4 dB |
| arXiv 2509,19551 tabell 1 (Pulsar in-orbit validation (IOV), full operational capability (FOC) polär, FOC lutande, GPS) | doppler_envelope_reproduces_the_pulsar_paper_table_1 |
20 hastigheter och Doppler-maxima inom 0,05 % |
Referenserna för regn och scintillation tar regnhöjden och den våta refraktiviteten som valideringsexemplen anger dem: motorn innehåller varken kartan i ITU-R P.839 eller den i P.453.
Begränsningar#
- EIRP och diagram är publicerade mottagna effekter omräknade till en EIRP, eller representativa val; ingen satellits uppmätta diagram används och ingen LEO-C/N0 jämförs med en mätning.
- Gastermen är den ersatta förenklade metoden P.676-10; under 1 GHz är den värdet vid 1 GHz skalat med f², och regn sätts till noll där.
- Andelen TEC under en LEO-satellit kommer från ett enda Chapman-skikt (ingen plasmasfär) och kan åsidosättas av en angiven andel.
- De utformade passagerna och Walker-banorna är tvåkropps med en valfri sekulär J2 (jordens andra zonala överton); TLE-vägen använder SGP4. Användarens egen acceleration lämnas utanför Doppler-hastigheten i sluten form (den numeriska kontrollen redovisar vad det kostar för en rörlig användare).
- RINEX (Receiver Independent Exchange Format) 4,02 har inga LEO-navigeringsposter; varje LEO-export i RINEX-stil tillhör koden för navigeringsmeddelanden och är ett dokumenterat Kshana-tillägg (tidigare arbete: arXiv 2401,17767).