LEO-ylilento ja linkkibudjetti (leo-pass)
LEO-PNT on paikannus, navigointi ja ajanmääritys (PNT) matalan Maan kiertoradan (LEO) satelliiteista. Laji leo-pass simuloi yhtä tai useampaa LEO-satelliitin ylilentoa käyttäjän yli ja laskee linkkibudjetin kaista kerrallaan näkyvissä olevien keskikorkean kiertoradan (MEO) GNSS (maailmanlaajuinen satelliittinavigointijärjestelmä) -satelliittien rinnalla. Moottori on järjestelmäriippumaton: mikä tahansa tähdistö, mikä tahansa signaalisuunnittelu ja mikä tahansa kaista, kirjoitettuna suoraan skenaarioon. Nimetyt järjestelmät ovat valinnaisia esiasetuksia, kukin omassa tiedostossaan lähteineen.
- Koodi:
src/leo_pass.rs(laji) jasrc/leo_link/(julkiset rakennuspalikat, joita muut moduulit voivat kutsua). - Skenaariot:
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-soundingja valinnainenleo-pass-celeste-iod-multiband(tulokset kohdassa Mukana tulevat skenaariot). Laji on myös kampanjoidenleo-resilience-spoof-monitors,leo-focus-iot-eirp,leo-focus-indoor-uhfja jokaisenleo-vertical-*-skenaarion jäsen sekä lajinleo-pnt-chainylilentovaihe. - Yleiskuva jokaisesta LEO-PNT-lajista ja -skenaariosta: LEO-PNT.md.
- Oraakkelit:
tests/leo_link_reference.rs, kiinteät aineistot hakemistossatests/fixtures/leo_link/lähde-URL-osoitteineen.
Mitä yksi ajo laskee#
Jokaiselle LEO-satelliitille, kaistalle ja epookille:
| Termi | Malli | Merkintä |
|---|---|---|
| Korkeuskulma, atsimuutti, etäisyys | WGS-84 (World Geodetic System 1984) -käyttäjä, satelliitti inertiaalikoordinaatistossa, joka on epookilla linjassa Maan mukana pyörivän koordinaatiston kanssa | laskettu |
Etäisyyden muutosnopeus ρ̇ = d·Δv/ρ, etäisyyden kiihtyvyys ρ̈ = (|Δv|² − ρ̇² + d·Δa)/ρ |
suljettu muoto; jokainen ajo tarkistaa molemmat edenneen etäisyyden keskeisiä differenssejä vastaan ja raportoi suurimman eron | suljettu muoto |
Doppler −f·ρ̇/c, Dopplerin muutosnopeus −f·ρ̈/c |
ensimmäinen kertaluku, kaistoittain | suljettu muoto |
| Vapaan tilan vaimennus | Friis, 20·log10(4πRf/c) |
VALIDATED |
| Satelliitin EIRP (ekvivalentti isotrooppisesti säteilevä teho) ja kuvio | isoflux reunakorkeuskulmaan asti, Gaussin pääkeila −12(η/θ₃)² dB, tai tasainen |
MODELLED |
| Käyttäjän antenni | laikka G_z + 10·q·log10(sin el) dBic, puolipallomainen tai isotrooppinen |
MODELLED |
| Kaasuvaimennus | ITU-R (International Telecommunication Union, Radiocommunication Sector) P.676-10 liitteen 2 yksinkertaistetut lausekkeet (korvattu suosituksella P.676-13, jonka taulukoituja kertoimia moottori ei sisällä) | MODELLED |
| Sadevaimennus | ITU-R P.838-3 -kertoimet ja P.618-14 § 2.2.1.1 -menettely sadeintensiteetistä R0.01 ja sateen korkeudesta | VALIDATED |
| Troposfäärin tuikinta | ITU-R P.618-14 § 2.4.1; alle 4 GHz:n taajuuksilla ekstrapolaatio, joka merkitään raporttiin | VALIDATED (4–55 GHz) |
| Rakennuksen läpäisyvaimennus (sisätilojen käyttäjä) | ITU-R P.2109-2, perinteinen tai lämpötehokas, reitin korkeuskulmassa julkisivulla | VALIDATED |
| Polarisaatiosovitusvirhe | polarisaatiohäviökerroin akselisuhteista ja kiertosuunnista, keskiarvoistettuna ellipsin suuntauksen yli | suljettu muoto |
| Järjestelmän kohinalämpötila | antennin lattia + absorboivan reitin taivaan emissio (275 K) + kosminen 2,7 K + vastaanottimen 290(10^(NF/10) − 1) |
MODELLED |
| C/N0 (kantoaalto–kohinatiheys) | EIRP + G_sat − L_fs − L_gas − L_rain − L_scint − L_BEL − L_pol + G_user − 10·log10(kT) − L_impl |
MODELLED |
| Ionosfäärin ryhmäviive | 40.3·STEC/f², STEC (vinon suuntainen kokonaiselektronipitoisuus) Klobuchar-mallista tai pystysuuntaisesta kokonaiselektronipitoisuudesta (TEC), skaalattuna Chapman-kerroksen satelliitin alapuolisella osuudella |
skaalaus VALIDATED, TEC MODELLED |
Kaistaparia kohden: ionosfääririippumattomat kertoimet, kohinan vahvistus √(a₁² + a₂²) ja kunkin kaistan sekä yhdistelmän terminen koodikohina ylilennon huipulla. MEO GNSS -vertailu käyttää samaa käyttäjän antennia ja vastaanotinta, kunkin signaalin rajapintadokumentin vähimmäisvastaanottotehon (Galileo Open Service Signal-in-Space Interface Control Document, OS SIS ICD, Issue 2,1 taulukko 12; GPS lähteistä IS-GPS-200 ja IS-GPS-705) sekä ilmoitetun ylimäärän kanssa, skaalattuna etäisyydellä. Valinnainen [iot] (Internet of Things) -osio antaa ajan ensimmäiseen paikkaratkaisuun, energian paikkaratkaisua kohden ja akun keston suhteessa käyttösuhteeseen ilmoitetulle vastaanottimen tehobudjetille (MODELLED, jokainen oletus on syöte ja luetellaan raportissa).
Satelliitit#
orbit = "pass"(oletus): ympyräkiertorata, joka sijoitetaan niin, että käyttäjä näkee yhden ylilennon valitulla suurimmalla korkeuskulmalla valittuna ajankohtana, nousevana tai laskevana, käyttäjästä itään tai länteen; inklinaatio voi olla aurinkosynkroninen.orbit = "elements": nimenomaiset Keplerin elementit.orbit = "tle": kaksirivinen elementtijoukko (TLE) moottorin Simplified General Perturbations 4 (SGP4) -propagaattorin kautta.[[leo_constellation]]: Walker-tähdistö, jonka rakentaa koodiconstellation-design(senConstellationCfgtai esiasetuksen kuoret); ikkunan korkeimmat ylilennot raportoidaan.
Kaistat ja signaalisuunnitelmat#
Kaistat: system = "<preset>" valinnaisella osajoukolla bands, sekä [[satellite.band]]-merkinnät, jotka lisäävät kaistan tai ohittavat esiasetuskaistan minkä tahansa kentän. system = "none", jossa on vain [[satellite.band]]-merkintöjä, ei käytä esiasetusta lainkaan.
Kaista voi myös nimetä leo-signal-suunnitelman (signal = "xona-x5", mikä tahansa suunnitelma hakemistossa data/leo-signals/ tai sellainen, jonka lajin leo-pnt-chain antaa; katso LEO-SIGNAL.md). Kaista ottaa silloin suunnitelman keskitaajuuden (ellei frequency_mhz ole annettu), lähetyskaistanleveyden ja seurattavan komponentin sirunopeuden, jakaa EIRP:nsä suunnitelman komponenttien kesken niiden tehoosuuksien mukaan ja raportoi jokaisella epookilla seurattavan komponentin C/N0:n ja sen kaistarajoitetun early–late-koodinseurannan värinän (Betz ja Kolodziejski 2009, lajin leo-signal kaava) etäisyysvirheenä.
Esiasetukset#
Kukin esiasetus merkitsee lukunsa PUBLIC (URL-osoitteineen), REPRESENTATIVE (dokumentoitu suunnitteluvalinta, ei koskaan väite todellisesta järjestelmästä) tai WORKSHOP.
| Esiasetus | Lähde | Kaistat | Kiertorata |
|---|---|---|---|
generic-leo (oletus) |
REPRESENTATIVE; L-, S- ja C-kantoaallot julkisista asiakirjoista | UHF 450 MHz (edustava), L 1191,795 MHz (Galileo E5:n keskikohta), S 2492,028 MHz (NavIC S, Navigation with Indian Constellation -järjestelmän S-kaistan kantoaalto), C 5020 MHz (RNSS-allokaation (radionavigointisatelliittipalvelu) 5010–5030 MHz keskikohta), kukin 0 dBW | 550 km aurinkosynkroninen, Walker 240/12/1 |
generic-c-band |
REPRESENTATIVE, C-kaistan järjestelmille, joiden parametrit eivät ole julkisia (esimerkiksi TrustPoint) | C 5020 MHz, BPSK(10) (binäärinen vaiheensiirtoavainnus nopeudella 10 × 1,023 Mchip/s), isoflux | 550 km, 53° |
xona-pulsar |
PUBLIC, arXiv 2509,19551 taulukot 1–2 | X1 1593,3225 MHz, X5 1190,51625 MHz; EIRP julkaistusta vähimmäisvastaanottotehosta korkeuskulmalla 10° | 1080 km, 53° (192) ja 97° (66) |
iridium-stl |
PUBLIC, Resilient Navigation and Timing Foundation (RNTF) ja julkaistu kiertorata | Satellite Time and Location (STL) taajuudella 1621 MHz (välin 1616–1626 MHz keskikohta); EIRP luvusta "300 kertaa GPS" | 781 km, 86,4°, 66 6 tasossa |
starlink-soop |
PUBLIC-signaaliluvut (NAVIGATION 72(1)), REPRESENTATIVE-kiertorata ja EIRP | Ku 240 MHz majakka, vain Doppler | 550 km, 53° |
centispace |
PUBLIC-signaalirakenne (PMC10301026), REPRESENTATIVE-kiertorata ja EIRP | BPSK 2,046 Mchip/s lähellä L1:tä ja L5:tä | 1000 km, 55° |
celeste-iod (valinnainen) |
WORKSHOP-signaaliparametrit, PUBLIC-kiertorata | konfiguraation #1 seitsemän kaistaa | 510 km aurinkosynkroninen |
Celeste IOD (kiertoratademonstraation) esiasetus on valinnainen. Sen signaaliparametrit esiteltiin Euroopan avaruusjärjestön (ESA) Navigation Innovation and Support Programme (NAVISP) LEO-PNT-työpajassa vuonna 2026, eikä niillä ole vielä julkista lähdettä; ne ovat tiedoston src/celeste_iod.rs moduulissa link, jota käyttää scenarios/leo-pass-celeste-iod-multiband.toml. Esiasetus pidetään pois näin: jokainen moottorin työpajasta johdettu luku on yhdessä tiedostossa, src/celeste_iod.rs, jonka build.rs käännökseen mukaan vain, jos se on olemassa, sekä vain repositoriossa olevissa skenaarioissa scenarios/*celeste-iod*.toml. Poistamalla tuo tiedosto ja ne skenaariot esiasetus pidetään pois ilman lähdekoodimuutosta; jokainen muu testi, oraakkeli ja skenaario ajetaan ilman sitä, ja README:n skenaariotiedostojen lukumäärä laskee edelleen pois pidetyt tiedostot. Sen EIRP ja keila on kalibroitu työpajassa näytettyyn C/N0-jälkeen, joten skenaario toistaa jäljen rakenteensa perusteella.
ATOMICin nollakellopolynomin lähetetty efemeridimalli on navigointiviestin esiasetus eikä kuulu tähän lajiin.
LEO–GNSS-havainto#
scenarios/leo-pass-vs-gnss-cn0.toml toistaa laadullisesti sen, mitä LEO-PNT-demonstraatiot osoittavat: LEO:n C/N0 nousee ja laskee kellokäyränä, joka pysyy maskin yläpuolella 590 s ja huipentuu arvoon 56,8 dB-Hz, 8,9 dB tasaisten MEO GNSS -kantoaaltojen mediaanin yläpuolelle (Galileo E1, 40,5–52,0 dB-Hz, mediaani 47,8 dB-Hz). Marginaali tulee etäisyydestä, ei voimakkaammasta lähettimestä: ylilennon huipulla satelliitti on 569 km:n päässä, noin 40 kertaa lähempänä kuin Galileo-satelliitti zeniitissä (23 222 km), mikä on 32 dB vähemmän vapaan tilan vaimennusta; yleinen esiasetus säteilee 0 dBW (1 W).
Mukana toimitetut skenaariot#
Jokainen rivi on yksi ajo komennosta kshana scenarios/<name>.toml (moottori 0.40.0):
| Skenaario | Asetelma | Yhden ajon tulos |
|---|---|---|
leo-pass-vs-gnss-cn0 |
generic-leo L-kaista, 550 km, 80°:n ylilento Münchenin yllä |
L-huippu 56,8 dB-Hz, mediaani 42,2 dB-Hz; Galileo E1 -mediaani 47,8 dB-Hz |
leo-pass-xona-pulsar |
xona-pulsar, suunniteltu 70°:n ylilento ja neljä kallistetun kuoren satelliittia, merenkulkijakäyttäjä |
X1-huippu 65,6 dB-Hz ja X5 68,9 dB-Hz suunnitellulla ylilennolla; suurin X1-Doppler 31,4 kHz |
leo-pass-iridium |
iridium-stl, 65°:n ylilento, ilma-aluksen käyttäjä |
STL-huippu 80,5 dB-Hz, 34,3 dB GPS L1 -mediaanin yläpuolella; suurin Doppler 35,4 kHz |
leo-indoor-uhf |
generic-leo, sisätilojen käyttäjä Roomassa (perinteinen rakennus) |
huippu UHF 34,1, L 24,2, S 16,5, C 8,5 dB-Hz; Galileo E1 -mediaani 22,4 dB-Hz |
leo-iot-energy |
generic-leo UHF ja L osiolla [iot] |
kuuma paikkaratkaisu 0,90 s ja 18,0 mJ jokaisella signaalilla; kylmä paikkaratkaisu 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, neljä kaistaa, 70°:n ylilento Tromssan yllä |
katso Ionosfäärin luotaus |
leo-resilience-spoof-doppler |
16 satelliittia yleiskäyttöisestä 1080 km:n kerroksesta, L ja C, 30 m:n hyppy | katso Harhautuksen valvonta |
kshana scenarios/<name>.toml --animate html --export all kirjoittaa myös interaktiivisen soittimen (.animation.html, ylilennon epookit) sekä ylilennon geometrian CZML- (Cesium Language), KML- (Keyhole Markup Language), GeoJSON- ja STK- (Systems Tool Kit) efemeridiaineistot (ANIMATION.md, INTEROP.md).
Ionosfäärin luotaus#
Jokainen kaistapari antaa myös vinon TEC:n, jonka geometriavapaa koodiyhdistelmä palauttaa ylilennon huipulla, STEC = (P₂ − P₁)·f₁²f₂² / (40.3·(f₁² − f₂²)), sekä tämän estimaatin 1-sigman kahden kaistan koodikohinasta huipulla (geometry_free_stec_tecu, geometry_free_stec_sigma_tecu). Estimaatti vastaa mallin vinoa TEC:iä rakenteensa perusteella: yhdistelmä on tarkka ensimmäisessä kertaluvussa. Sigma tekee kaistasuunnitelmasta paremman tai huonomman luotaimen: scenarios/leo-focus-science-iono-sounding.toml (neljä kaistaa Tromssan yllä) palauttaa 18,85 TEC-yksikköä jokaisesta parista, UHF:n ja L:n 1-sigman ollessa 0,017 TEC-yksikköä ja S:n ja C:n 2,9. Vain terminen koodikohina; ei monitie-etenemistä eikä taajuuksien välistä biasta. MODELLED.
Harhautuksen valvonta ([spoofer])#
Valinnainen osio [spoofer] väärentää signaalit, jotka vastaanotin näkisi väitetyssä paikassa. Hetkestä onset_s alkaen väitetty paikka hyppää määrällä offset_m ja liikkuu sitten vaakasuunnassa nopeudella push_rate_m_s suuntaan push_azimuth_deg; väärennetty etäisyys ja etäisyyden muutosnopeus ovat täsmälleen väitetyn paikan, kaistoilla, jotka on nimetty kentässä bands (oletuksena kaikki), ja MEO GNSS -signaalilla, ellei gnss = false. simulate_iono kertoo, kantavatko väärennetyt pseudoetäisyydet ionosfäärin viiveen (maalähettimen eivät kanna).
Vastaanotin ajaa kahta valvontaa (src/leo_link/spoof.rs), kumpaakin ilmoitetulla väärän hälytyksen todennäköisyydellä epookkia kohden (p_fa, oletus 1e-5), ja julistaa havaitsemisen ensimmäisellä epookilla, jolla sen havaitsemistodennäköisyys saavuttaa arvon 1 − p_md (oletus 0,999). Havaitsemistodennäköisyydet ovat täsmällisiä ilmoitetulle Gaussin kohinalle, arvioituina kohinattomalle keskimääräiselle jäännökselle; kohinaa ei arvota.
| Valvonta | Tunnusluku | Mitä se näkee |
|---|---|---|
| Dopplerin ja ylilennon geometrian johdonmukaisuus | mitatut etäisyyden muutosnopeudet suhteessa niihin, jotka ennustetaan radoista sekä riippumattomasta ennakkopaikasta ja -nopeudesta (prior_sigma_m, prior_velocity_sigma_m_s); yleistetty pienimmän neliösumman khiin neliö ikkunan window_s yli (oletus yksi askel), kellon ajautuman ollessa häiriötekijä (tai annettuna drift_sigma_m_s); taajuuslukitussilmukan kohina C/N0:sta (Kaplan & Hegarty 2006, § 5.6.2), GNSS-kanavilla, LEO-kanavilla ja kaikilla kanavilla |
paikkavirhe δx siirtää etäisyyden muutosnopeutta määrällä g·δx, g = −(Δv − ρ̇u)/ρ: LEO-satelliitin poikittaisnopeus suhteessa etäisyyteen on noin 25 kertaa MEO-satelliitin, joten sama virhe on noin 25 kertaa suurempi LEO-Dopplerissa |
| Kaistojen välinen johdonmukaisuus | kunkin LEO-kaistaparin geometriavapaan pseudoetäisyysyhdistelmän epookista epookkiin tapahtuva askel, vastaanottimen ionosfäärimalli poistettuna, suhteessa koodikohinaan √(2(σ₁² + σ₂²)) ja siedettyyn mallintamattomaan ionosfäärin muutosnopeuteen (iono_rate_bound_m_s) |
harhauttaja, joka väärentää osan kaistoista mutta ei toisia, tai jokaisen kaistan ilman ionosfääriä, alkamishetkellään; ei sellainen, joka väärentää jokaisen kaistan ja simuloi ionosfäärin |
scenarios/leo-resilience-spoof-doppler.toml: 30 m:n hyppy mitatulla paikalla Frankfurtissa muuttaa GNSS:n etäisyyden muutosnopeuksia noin 4 mm/s ja LEO:n noin 10 cm/s (mediaanigradientit 1.4e-4 ja 3.5e-3 sekunnissa). Pelkkä GNSS-testi ei koskaan havaitse sitä (suurin ei-sentraalisuus 0,06); testi kaikilla kanavilla havaitsee sen 105 s alkamishetken jälkeen. scenarios/leo-resilience-spoof-monitors.toml ajaa neljä harhauttajaa molempia valvontoja vastaan.
Rajoitukset, ilmoitettu jokaisessa tuloksessa: harhauttaja on idealisoitu, itsejohdonmukainen paikan työntö, joka kompensoi oman reittinsä (ei tehon, saapumiskulman eikä korrelaatiohuipun tunnusta); ennakkotieto on riippumaton harhautetuista paikkaratkaisuista; vastaanottimen ionosfäärimalli on moottorin oma, joten aito kaistojen välinen jäännös on keskiarvossa nolla. MODELLED (kaksi riviä tiedostossa VERIFICATION-MATRIX.md).
Validointi#
| Oraakkeli | Testi | Tulos |
|---|---|---|
| ITU-R P.838-3 taulukko 5, 115 taajuutta | p838_coefficients_reproduce_table5_to_its_printed_digits |
jokainen kerroin 0,6 sisällä viimeisestä painetusta numerostaan (pahin havaittu 0,51) |
| ITU-R Study Group 3 -validointiesimerkit (CG-3M3J-13-ValEx-Rev8.3.0), P.618-14 sade | p618_rain_attenuation_matches_the_itu_validation_examples |
56 tapausta 1e-4 dB:n sisällä (havaittu 5e-6 dB) |
| Samat esimerkit, P.618-14 tuikinta | p618_scintillation_matches_the_itu_validation_examples |
42 tapausta 1e-5 dB:n sisällä |
| ITU-R Study Group 3 Clutter and BEL -työkirja, P.2109 | p2109_building_entry_loss_matches_the_itu_workbook |
568 arvoa 0,001 dB:n sisällä |
IS-GPS-200:n ryhmäviiveen suhde γ = (77/60)² |
first_order_iono_reproduces_the_is_gps_200_group_delay_ratio |
tarkkuudella 1e-12; L1/L2- ja L1/L5-vahvistus 2,978 ja 2,588 |
| Friisin kilometri–megahertsi-muoto | free_space_loss_is_the_friis_kilometre_megahertz_form |
tarkkuudella 1e-4 dB |
| arXiv 2509,19551 taulukko 1 (Pulsarin kiertoratavalidointi (IOV), täysi toimintakyky (FOC) polaarinen, FOC kallistettu, GPS) | doppler_envelope_reproduces_the_pulsar_paper_table_1 |
20 nopeutta ja Dopplerin maksimia 0,05 %:n sisällä |
Sade- ja tuikintaoraakkelit ottavat sateen korkeuden ja märän refraktiivisuuden sellaisina kuin validointiesimerkit ne antavat: moottorilla ei ole ITU-R P.839- eikä P.453-karttaa.
Rajoitukset#
- EIRP:t ja kuviot ovat julkaistuista vastaanotetuista tehoista EIRP:ksi muunnettuja tai edustavia valintoja; minkään satelliitin mitattua kuviota ei käytetä, eikä mitään LEO:n C/N0:aa verrata mittaukseen.
- Kaasutermi on korvattu P.676-10:n yksinkertaistettu menetelmä; alle 1 GHz:n taajuuksilla se on 1 GHz:n arvo skaalattuna f²:llä, ja sade oletetaan siellä nollaksi.
- TEC:n osuus LEO-satelliitin alapuolella tulee yhdestä Chapman-kerroksesta (ei plasmasfääriä), ja se voidaan ohittaa ilmoitetulla osuudella.
- Suunnitellut ylilennot ja Walker-radat ovat kaksikappaleratoja valinnaisella maallisella J2:lla (Maan toinen vyöhykeharmoninen); TLE-polku käyttää SGP4:ää. Käyttäjän oma kiihtyvyys jätetään pois suljetun muodon Dopplerin muutosnopeudesta (numeerinen tarkistus raportoi, mitä se maksaa liikkuvalle käyttäjälle).
- RINEX (Receiver Independent Exchange Format) 4,02 ei sisällä LEO-navigointitietueita; mikä tahansa RINEX-tyylinen LEO-vienti kuuluu navigointiviestin koodiin ja on dokumentoitu Kshanan laajennus (aiempaa työtä: arXiv 2401,17767).