Spektrimudel ja waterfall-diagramm
Stsenaariumi liik spectrum ehitab ülemaailmse satelliitnavigatsioonisüsteemi (GNSS) L-sageduskanali ja mis tahes muu sagedusala, mida kavandatud signaal hõivab (ülikõrgsagedus (UHF), S-ala, C-ala), üheks võimsusspektri tiheduseks (PSD), laseb sellel muutuda skriptitud segaja ajajoone järgi ja taandab selle sellele, mida jälgimissilmus kasutab: segaja ja signaali suhe (J/S) ning iga ala efektiivne kandja ja müra tiheduse suhe (C/N₀). See joonistab tulemuse waterfall-diagrammina (sagedus risti, aeg alla, värv võimsuse jaoks) iga ala C/N₀ tulpade kõrvale ning loeb ja kirjutab Signal Metadata Format (SigMF) salvestisi, et päris püüdmist saaks hinnata ja mudeli kõrval joonistada.
Kaasasolev näide kirjutatakse faili ja käivitatakse:
kshana example l-band-waterfall-jamming > l-band-waterfall-jamming.toml
kshana l-band-waterfall-jamming.toml
# writes .result.json, .chart.svg, .report.html and .report.json next to the file
Väljavõtul käivitab kshana scenarios/l-band-waterfall-jamming.toml sama faili.
Kood: src/spectrum.rs (mudel, liik, Welchi hindaja), src/sigmf.rs (salvestuse koodek), src/navsignal.rs (ühikulise pindalaga signaalispektrid ja spektraalne eraldustegur) ja src/leo_signal.rs (signaalikujunduse eelseaded, mida ala võib nimetada).
Mida modelleeritakse#
| Sagedusriba | Kandelaine | Modulatsioon | Vaikimisi vastuvõetud võimsus | Vaikimisi vastuvõtja ribalaius |
|---|---|---|---|---|
gps-l1ca |
1575,42 MHz | binaarne faasinihkemanipulatsioon, BPSK(1) | −158,5 dBW (IS-GPS-200) | 2,046 MHz |
galileo-e1 |
1575,42 MHz | multipleksitud binaarne nihkekandja, MBOC(6,1,1/11), või binaarne nihkekandja BOC(1 1) | −157,25 dBW (Galileo OS SIS ICD Issue 2,1, Table 12) | 14,322 MHz |
gps-l2c |
1227,60 MHz | BPSK(1) (CM ja CL koodid ajamultipleksitud) | −160,0 dBW (IS-GPS-200) | 2,046 MHz |
gps-l5 |
1176,45 MHz | BPSK(10) | −157,9 dBW (IS-GPS-705) | 20,46 MHz |
galileo-e5a |
1176,45 MHz | BPSK(10) | −155,25 dBW (Galileo OS SIS ICD Issue 2,1, Table 12) | 20,46 MHz |
GPS (Global Positioning System) L1 C/A on tuvastus-/hankekood (coarse/acquisition); L2C on L2 tsiviilsignaal; IS-GPS-200 ja IS-GPS-705 on GPS liidesespetsifikatsioonid; Galileo OS SIS ICD on Galileo avatud teenuse signaal-ruumis liidese juhtdokument. Vastuvõetud võimsused on spetsifikatsiooni miinimumid; ribalaiused on modelleerimisvalikud. Mõlemat saab ala kaupa üle kirjutada. Ilma tabelita [[bands]] kasutab käivitus neid viit. GLONASS G1/G2, BeiDou B1/B2 ja Galileo E6 ei ole nimetatud alade seas.
Kirje [[bands]] on ühel kolmest kujust:
- nimi ülaltoodud tabelist, valikuliste väljadega
signal_power_dbw,rx_bandwidth_mhzja väljalgalileo-e1väljagamodulation = "boc11"; signal = "<preset>": madala Maa orbiidi (LEO) või representatiivne signaalikujundus liigileo-signaleelseadete teegist (LEO-SIGNAL.md), mis tahes alas, joonistatud kõigi komponentidega (hange, andmed, pilot, sagedusjaotusega alamkandjad) ja piiratud oma saatmisribalaiusega; C/N₀ ja J/S viidatakse jälgitavale komponendile ningnameainult sildistab seda. Eelseaded onxona-x1,xona-x5,iridium-stl,starlink-ku-beacon,centispace-l1,centispace-l5,generic-c-band-leo,generic-uhf,generic-l,generic-s,generic-cjageneric-c-wide;- kohandatud ala: mis tahes
nameväljadegacentre_mhz,modulation(BPSK(n),BOC(m,n)võiMBOC(6,1,p)) jasignal_power_dbw.
Segajad ([[jammers]]) võtavad väärtuse waveform:
cw— pidevlaine (CW) toon sageduselcentre_mhz;narrowband— tasane müra ülebandwidth_mhz;wideband— tasane müra üle laiabandwidth_mhz(barrage-segaja): sama tihedus misnarrowband, nimetatud eraldi, sest liikjamminghindab seda lairiba omaks;chirp— lineaarne saehamba pühkiminebandwidth_mhzigasweep_period_usjärel;matched— lairibamüra, mille spekter on alamatched_toenda modulatsioon.
Igaüks annab kas received_power_dbw või efektiivse isotroopselt kiiratud võimsuse eirp_dbw koos range_m (ja valikuliselt rx_gain_dbi), mis läbib liigi jamming vabaruumi levikadu. on_s ja off_s skriptivad ajajoone.
Vastuvõtja ([receiver]) seab müra põhja, N₀ = k·T_sys koos T_sys = T_ant + 290 K × (F − 1) antenni temperatuuri T_ant ja müranäitaja F korral, ning jälgimislävi.
Põhiline waterfall-diagramm katab [grid] (vaikimisi 1160 kuni 1590 MHz 430 kastis). Iga kirje [[panels]] (name, f_min_mhz, f_max_mhz, n_freq, vaikimisi 200 kasti) lisab sama ajajoone peale veel ühe waterfall-diagrammi oma sagedusvahemikus, nii et spekter hõlmab mitut ala.
Häireahel#
Ühikulise pindalaga spektriga G_s signaali ja ühikulise võimsusega spektriga G_j segaja korral on spektraalne eraldustegur (SSC) vastuvõtja ala B kohal κ = ∫_B G_s(f) G_j(f) df ning mitme segajaga efektiivne kandja ja müra tihedus on
(C/N₀)_eff = [ 1/(C/N₀) + Σ_j (J/S)_j · κ_j ]⁻¹
(Betz 2001; Kaplan & Hegarty, Understanding GPS/GNSS, 3. tr, §9,4). Ühe segaja korral on see täpselt liigi jamming segamisvastane võrrand väärtusega Q = 1/(R_c κ); aruande jamming_kind_cross_check plokk käivitab liigi jamming enda funktsioonid samadel lingi sisenditel ja trükib erinevuse, mis on ümardamiseni null.
Aruanne trükib ka C/N₀, mille liik jamming annab oma Q-tabeliga. Tabel sisaldab õpikuväärtusi, mis on testides kinnitatud suletud kujudele:
- CW ja kitsasriba:
Q = 1. C/A kandjal olev CW toon annabκ = T_c, seegaQ = 1, ja tabel ning spektrid langevad kokku. Kaasasolevas näites annab toon mõlemast 17,98 dB-Hz (tabel andis 19,74, kui see sisaldas 1,5). - Lairiba ja pühitud:
Q = 2, alates 0,36. See on valge müra üle peasagara, ribasisese signaali võimsus normaliseeritud ühele,κ = 1/(2R_c). Tabel sisaldas 1 kuni 0,36, umbes 3 dB pessimistlik (xval/jammer-q/PREREGISTRATION.md).
Spektrimudel tuletab oma väärtused spektritest:
Q = 1.5C/A-ga sobitatud müra jaoks (κ = 2/(3R_c));Q = 2.2tasase müra jaoks nullist nullini ilma normaliseerimiseta (2/0.9028).
Seega nende segajate puhul kaks trükitud C/N₀ väärtust endiselt erinevad, kavandatult.
Iga waterfall-diagrammi lahter on PSD, keskmistatud üle oma sageduskasti ja rea. Chirp keskmistatakse täpselt üle rea, terved pühkimised pluss osaline; segaja, mis lülitub rea keskel sisse või välja, kaalutakse oma töötsükliga. C/N₀ ajajoon kasutab samu keskmisi, nii et pilt ja arvud langevad kokku. Ala kohta raporteerib ajajoon ribasisest J/S (segaja võimsus vastuvõtja ribalaiuses jagatud signaali võimsusega). Segaja ja ala kohta annab aruanne SSC, Q, kogu J/S, ribasisese J/S ja püsiva C/N₀.
Kaasasolev näide#
scenarios/l-band-waterfall-jamming.toml: 60 s ajajoon, üks rida sekundis, 290 K antenn ja 2 dB müranäitaja (põhi −201,98 dBW/Hz).
- 10 s kuni 40 s: 16 MHz chirp L1 ümber, 9 µs pühkimised, 50 mW kaugusel 100 m.
- Alates 30 s: CW toon L1 kandjal, 10 mW kaugusel 1 km.
- Alates 45 s: tasane 2 MHz müra L2 peal, vastuvõetud −135 dBW.
Mida käivitus arvutab:
| Sagedusriba | Nominaalne C/N₀ | Minimaalne C/N₀ | Esimene kadu | Jälgivad read |
|---|---|---|---|---|
| gps-l1ca | 43,48 dB-Hz | 3,23 dB-Hz | 10 s | 17 % |
| galileo-e1 | 44,73 dB-Hz | 4,44 dB-Hz | 10 s | 50 % |
| gps-l2c | 41,98 dB-Hz | 36,86 dB-Hz | mitte kunagi | 100 % |
| gps-l5 | 44,08 dB-Hz | 44,08 dB-Hz | mitte kunagi | 100 % |
| galileo-e5a | 46,73 dB-Hz | 46,73 dB-Hz | mitte kunagi | 100 % |
CW toon on põhjus, miks kaks L1 signaali lähevad 40 s juures lahku. See langeb C/A spektri tipule ja hoiab C/A väärtusel 17,98 dB-Hz, alla 25 dB-Hz läve. See langeb MBOC spektri nulli, nii et Galileo E1 naaseb nominaalsele C/N₀-le, kui chirp lõpeb.
Signaalid ise asuvad umbes 20 dB müra põhjast allpool, nii et waterfall-diagramm näitab põhja ja segajaid; C/N₀ tulbad näitavad, mida hajutuse eemaldamine taastab.
Samad segajad juhivad aheldatud missiooni failis scenarios/campaign-spectrum-holdover-integrity.toml (vt CAMPAIGNS.md): kell hoiab holdover-režiimis, kuni chirp on sees, ja vastuvõtja langeb CW tooni all tagasi Galileo E1 peale.
Väljaspool L-ala#
scenarios/multi-band-jamming-waterfall.toml paneb LEO positsioneerimis-, navigatsiooni- ja ajasignaalid (PNT) neljale alale GPS L1 C/A ja Galileo E5a kõrvale, igaühel oma segaja, 60 s ajajoonel. Waterfall-diagramm [grid] on L-ala; kolm [[panels]] lisavad UHF (455 kuni 475 MHz), S (2482 kuni 2502 MHz) ja C (5005 kuni 5035 MHz).
- 10 s: CW toon UHF kandjal, −120 dBW vastuvõetud.
- 20 s: L-ala näite chirp (16 MHz L1 ümber, 9 µs pühkimised, 50 mW kaugusel 100 m).
- 30 s: lairibamüra, 40 MHz sageduse 1185 MHz ümber, −118 dBW.
- 40 s: kitsasribamüra, 2 MHz S-kandjal, −128 dBW.
- 50 s: C-ala signaali enda spektriga sobitatud müra, −124 dBW.
Mida käivitus arvutab (kavandatud signaalide C/N₀ on jälgitava komponendi oma, nii et nominaalväärtus on kogu vastuvõetud võimsusest madalamal jälgitava osa võrra):
| Sagedusriba | Signaal | Kandelaine | Nominaalne C/N₀ | Minimaalne C/N₀ | Jälgivad read |
|---|---|---|---|---|---|
| generic-uhf | representatiivne, BPSK(5), −150 dBW | 465 MHz | 49,41 dB-Hz | 34,38 dB-Hz | 100 % |
| gps-l1ca | spetsifikatsiooni miinimum | 1575,42 MHz | 43,48 dB-Hz | 3,38 dB-Hz | 33 % |
| galileo-e5a | spetsifikatsiooni miinimum | 1176,45 MHz | 46,73 dB-Hz | 38,51 dB-Hz | 100 % |
| xona-x5 | avaldatud kujundus, −144,9 dBW | 1190,51625 MHz | 54,51 dB-Hz | 46,29 dB-Hz | 100 % |
| generic-s | representatiivne, BPSK(5), −150 dBW | 2492,028 MHz | 49,23 dB-Hz | 41,69 dB-Hz | 100 % |
| generic-c-band-leo | representatiivne, BPSK(10), −152 dBW | 5020 MHz | 47,41 dB-Hz | 40,35 dB-Hz | 100 % |
Ainult chirp võtab signaali ära (GPS L1 C/A, alates 20 s). Iga teine segaja halvendab ainult ala, milleni selle spekter ulatub: näiteks C-ala sobitatud müra SSC on −71,87 dB/Hz C-ala signaaliga ja alla −133 dB/Hz iga muu alaga.
Sama mehhanism juhib LEO-PNT vastupidavuse stsenaariume (LEO-PNT.md):
scenarios/leo-resilience-js-margin.tomlastmeliselt tõstab ühte 40 MHz barrage-segajat sagedusel 1185 MHz 5 dB võrra iga 10 s järel alates −125 dBW. GPS L5 kaob sammul −105 dBW, Galileo E5a sammul −100 dBW ja Xona X5 sammul −95 dBW, samal ajal kui representatiivne LEO L-ala signaal, mis on vastu võetud −135 dBW juures, jälgib endiselt sammul −90 dBW: vastuvõetud võimsus ostab J/S varu dB dB eest.scenarios/leo-resilience-multiband-diversity.tomlon kampaania pühkimine käivitusestspectrumüle L5-ala barrage-segaja võimsuse (CAMPAIGNS.md).scenarios/leo-resilience-gnss-jammed-leo-carries.tomlon aheldatud kampaania, mille faasid loevad GNSS ja LEO C/N₀ käivitustestspectrum, S- ja C-ala paneelidega.
IQ, SigMF ja Welch#
[iq] joonistab mudeli ühel ajahetkel kompleksse faasi- ja kvadratuurkomponendi (IQ) valimitena, kirjutab need SigMF salvestisena (cf32_le või ci16_le), loeb salvestise tagasi ja hindab selle PSD Welchi meetodil (Hanni aken, 50 % kattuvus, keskmistatud periodogrammid, tihedusele skaleeritud). Soojusmüra, signaalid ja müralaadsed segajad joonistatakse kasti kaupa mudeli enda tihedusest; toon ja chirp joonistatakse tegelike lainekujudena. Ainult müralaadsete segajatega jääb Welchi hinnang mudelist 0,1 dB piiresse (mediaan). Perioodiline chirp on joonspekter oma pühkimiskiirusel, koos virvenduse ja sabadega üle oma ala servade, mida sile mudel välja jätab: kaasasolevas näites langeb koguvõimsus kokku 0,02 % piires ja mediaankast erineb 0,5 dB võrra. Hetktõmmis on analüüsiks kirjutatud fail; midagi ei edastata ja raadioriistvara ei juhita.
[recording] (ainult natiivsed ehitused) loeb päris SigMF salvestise failist meta_path (andmefail on vaikimisi sama tüvi laiendiga .sigmf-data), hindab selle PSD ja trükib selle mudeli kõrvale salvestise sagedustel. SigMF failil puudub absoluutne võimsuskalibreering, seega annab aruanne mediaannihke ja kuju, mitte taset.
WebAssembly ehituses on failide lugemine kättesaamatu; kshana::sigmf::read ja kshana::spectrum::welch_psd töötavad lehe antud baitidega.
Tõendid#
| Väide | Silt | Sõltumatu etalon |
|---|---|---|
| Signaalide PSD-d ja SSC-d | VALIDATED | BPSK(n) peasagar 2n × 1,023 MHz nullist nullini; BOC(1 1) sagarad tsentreeritud kohal ±1,023 MHz (Betz 2001); SSC-d −61,86 / −64,87 / −67,88 dB/Hz väärtustele C/A×C/A, BOC(1 1)×BOC(1 1), C/A×BOC(1 1) nende Parsevali suletud kujudest, väärtused avaldatud −61,8 / −64,8 / −67,8 dB/Hz taga; Q = 1 (CW) ja 1,5 (sobitatud) (Kaplan & Hegarty §9,4); liigi jamming tabelikirjed on võrdsed suletud kujudega: CW ja kitsasriba Q = 1, lairiba ja pühitud Q = 2 (valge müra üle peasagara, ribasisene võimsus normaliseeritud; 1 kuni 0,36) |
| Waterfall-diagramm, J/S ja C/N₀ ajajoon | MODELLED | Taandub täpselt liigi jamming ahelale; segaja võimsused, ajajoon ja ribalaiused on sisendid |
| SigMF koodek ja Welchi hinnang | MODELLED | Edasi-tagasi teisendused, otsene diskreetne Fourier' teisendus, valge müra ja Parsevali samasused; hoidlas pole ühtegi kolmanda osapoole salvestist |
| Mitme ala waterfall-diagramm kavandatud signaalide ja alapõhiste segajatega | MODELLED | Taandub L-ala ahelale (ühe komponendiga ala annab samad arvud nagu enne laiendust) ja kontrollitud signaalispektritele; kavandatud signaalid, segajad ja ribalaiused on sisendid |
Üks parandus levinud lühendusele: BOC(1 1) spektri sagarad on tsentreeritud kohal ±1,023 MHz (kandja nulli ja nulli vahel kohal 2,046 MHz), kuid PSD maksimum on kohal ±0,759 MHz, kus tan y = 2y väärtusega y = πf/(2R_c). Testid kinnitavad mõlemat.
Modelleerimata#
- Hajutuskoodi joonestruktuur (C/A 1 kHz jooned): tooni hinnatakse siledat mähisjoont, mitte lähimat koodijoont, vastu.
- Automaatne võimenduse reguleerimine, kvantimine, impulsi summutamine ja notch-filtreerimine.
- Vastuvõtuantenni mustri mõju segaja suunas peale ühe võimenduse arvu.
- Mitmikjuurdepääsu häire sama ala satelliitide vahel.
- Kavandatud signaali kiirgus väljaspool selle saatmisribalaiust: selle spekter on seal kärbitud, nii et ükski ribaväline kiirgus ei jõua naaberalani.
- Chirpi mõju silmusele pühkimiskiirustel, mis on võrreldavad silmuse ribalaiusega: selle C/N₀ kasutab reakeskmistatud spektrit.
Viited#
- J. W. Betz, „Binary Offset Carrier Modulations for Radionavigation“, NAVIGATION 48(4), 2001.
- E. D. Kaplan ja C. J. Hegarty (toim.), Understanding GPS/GNSS: Principles and Applications, 3. tr, Artech House, 2017, §9,4.
- G. W. Hein et al., „MBOC: The New Optimized Spreading Modulation Recommended for Galileo L1 OS and GPS L1C“, Inside GNSS, mai/juuni 2006.
- P. D. Welch, „The Use of Fast Fourier Transform for the Estimation of Power Spectra“, IEEE Transactions on Audio and Electroacoustics 15(2), 1967.
- IS-GPS-200, IS-GPS-705; Galileo OS SIS ICD.
- SigMF spetsifikatsioon, https://sigmf.org/ (allikas: https://github.com/sigmf/SigMF).