Strojový překlad, nekontrolovaný rodilým mluvčím. Referenční je anglická verze.

Integrita a interferenceUpravit na GitHubuZdroj: docs/SPECTRUM.md

Model spektra a waterfall

Druh scénáře spectrum vytváří pásmo L globálního družicového navigačního systému (GNSS) a jakékoli další pásmo, které navržený signál zabírá (velmi vysoké frekvence (UHF), pásmo S, pásmo C), jako jedinou spektrální hustotu výkonu (PSD), nechává ji měnit se podle skriptované časové osy rušiček a redukuje ji na to, co zajímá sledovací smyčku: poměr rušení k signálu (J/S) a efektivní poměr nosné k hustotě šumu (C/N₀) každého pásma. Výsledek vykresluje jako waterfall (frekvence napříč, čas dolů, barva pro výkon) vedle sloupců C/N₀ pro jednotlivá pásma a čte a zapisuje záznamy ve formátu Signal Metadata Format (SigMF), takže skutečný záznam lze odhadnout a vykreslit vedle modelu.

Přibalený příklad zapište do souboru a spusťte:

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 checkoutu spustí kshana scenarios/l-band-waterfall-jamming.toml tentýž soubor.

Kód: src/spectrum.rs (model, druh, Welchův odhadovač), src/sigmf.rs (kodek záznamů), src/navsignal.rs (spektra signálů o jednotkové ploše a koeficient spektrální separace) a src/leo_signal.rs (předvolby návrhu signálu, které pásmo může pojmenovat).

Co je modelováno#

Pásmo Nosná Modulace Výchozí přijímaný výkon Výchozí šířka pásma přijímače
gps-l1ca 1575,42 MHz binární fázové klíčování, BPSK(1) −158,5 dBW (IS-GPS-200) 2,046 MHz
galileo-e1 1575,42 MHz multiplexovaná binární offsetová nosná, MBOC(6,1,1/11), nebo binární offsetová nosná 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) (kódy CM a CL časově multiplexované) −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 je kód hrubého určení/akvizice; L2C je civilní signál L2; IS-GPS-200 a IS-GPS-705 jsou rozhraní specifikace GPS; Galileo OS SIS ICD je Galileo Open Service Signal-in-Space Interface Control Document. Přijímané výkony jsou minima specifikace; šířky pásma jsou modelovací volby. Obojí lze přepsat pro každé pásmo. Bez tabulky [[bands]] běh používá těchto pět. GLONASS G1/G2, BeiDou B1/B2 a Galileo E6 mezi pojmenovanými pásmy nejsou.

Záznam [[bands]] má jednu ze tří forem:

  • název z tabulky výše, s nepovinnými signal_power_dbw, rx_bandwidth_mhz a pro galileo-e1 též modulation = "boc11";
  • signal = "<preset>": návrh signálu na nízké oběžné dráze Země (LEO) nebo reprezentativní z knihovny předvoleb druhu leo-signal (LEO-SIGNAL.md), v libovolném pásmu, vykreslený se všemi složkami (akvizice, data, pilot, subnosné s frekvenčním dělením) a omezený na pásmo vysílání; C/N₀ a J/S se vztahují ke sledované složce a name ji pouze označuje. Předvolby jsou xona-x1, xona-x5, iridium-stl, starlink-ku-beacon, centispace-l1, centispace-l5, generic-c-band-leo, generic-uhf, generic-l, generic-s, generic-c a generic-c-wide;
  • vlastní pásmo: libovolné name s centre_mhz, modulation (BPSK(n), BOC(m,n) nebo MBOC(6,1,p)) a signal_power_dbw.

Rušičky ([[jammers]]) berou waveform:

  • cw — tón nepřerušované vlny (CW) na centre_mhz;
  • narrowband — plochý šum přes bandwidth_mhz;
  • wideband — plochý šum přes široké bandwidth_mhz (zahlcovací rušička): táž hustota jako narrowband, pojmenovaná zvlášť, protože druh jamming ji hodnotí jako širokopásmovou;
  • chirp — lineární pilovité přeladění o bandwidth_mhz každých sweep_period_us;
  • matched — širokopásmový šum, jehož spektrum je vlastní modulací pásma matched_to.

Každá udává buď received_power_dbw, nebo efektivní izotropně vyzářený výkon eirp_dbw s range_m (a volitelně rx_gain_dbi), který prochází útlumem volným prostorem druhu jamming. on_s a off_s skriptují časovou osu.

Přijímač ([receiver]) určuje šumovou podlahu, N₀ = k·T_sys s T_sys = T_ant + 290 K × (F − 1) pro teplotu antény T_ant a šumové číslo F, a práh sledování.

Hlavní waterfall pokrývá [grid] (výchozí 1160 až 1590 MHz ve 430 binech). Každý záznam [[panels]] (name, f_min_mhz, f_max_mhz, n_freq, výchozí 200 binů) přidává další waterfall nad vlastním frekvenčním rozsahem na téže časové ose, pro spektrum, které zasahuje několik pásem.

Řetězec interference#

Pro signál s jednotkovým spektrem plochy G_s a rušičku s jednotkovým spektrem výkonu G_j je koeficient spektrální separace (SSC) přes pásmo přijímače B roven κ = ∫_B G_s(f) G_j(f) df a efektivní poměr nosné k hustotě šumu při několika rušičkách je

(C/N₀)_eff = [ 1/(C/N₀) + Σ_j (J/S)_j · κ_j ]⁻¹

(Betz 2001; Kaplan & Hegarty, Understanding GPS/GNSS, 3. vyd., §9,4). Pro jednu rušičku je to přesně rovnice protirušení druhu jamming s Q = 1/(R_c κ); blok jamming_kind_cross_check ve zprávě spouští vlastní funkce druhu jamming nad týmiž vstupy spoje a vypisuje rozdíl, který je při zaokrouhlení nulový.

Zpráva také vypisuje C/N₀, které dává druh jamming se svou tabulkou Q. Tabulka obsahuje učebnicové hodnoty, v testech zafixované na uzavřené tvary:

  • CW a úzkopásmový: Q = 1. Tón CW na nosné C/A má κ = T_c, takže Q = 1, a tabulka a spektra se shodují. V přibaleném příkladu tón dává z obou 17,98 dB-Hz (tabulka dávala 19,74, když obsahovala 1,5).
  • Širokopásmový a přelaďovaný: Q = 2, od 0,36. To je bílý šum přes hlavní lalok s výkonem signálu v pásmu normalizovaným na jedničku, κ = 1/(2R_c). Tabulka do 0,36 obsahovala 1, asi o 3 dB pesimističtěji (xval/jammer-q/PREREGISTRATION.md).

Model spektra odvozuje své vlastní hodnoty ze spekter:

  • Q = 1.5 pro šum přizpůsobený C/A (κ = 2/(3R_c));
  • Q = 2.2 pro plochý šum od nuly k nule bez normalizace (2/0.9028).

U těchto rušiček se tedy dvě vypsané hodnoty C/N₀ stále liší, záměrně.

Každá buňka waterfallu je PSD zprůměrovaná přes svůj frekvenční bin a svůj řádek. Chirp se průměruje přesně přes řádek, celé přeladění plus částečné; rušička zapínající či vypínající se uprostřed řádku je vážena svým pracovním cyklem. Časová osa C/N₀ používá tytéž průměry, takže obraz a čísla souhlasí. Pro každé pásmo časová osa uvádí J/S v pásmu (výkon rušičky uvnitř šířky pásma přijímače ku výkonu signálu). Pro každou rušičku a pásmo zpráva uvádí SSC, Q, celkové J/S, J/S v pásmu a ustálené C/N₀.

Přibalený příklad#

scenarios/l-band-waterfall-jamming.toml: časová osa 60 s, jeden řádek za sekundu, anténa 290 K a šumové číslo 2 dB (podlaha −201,98 dBW/Hz).

  • 10 s až 40 s: chirp 16 MHz kolem L1, přeladění po 9 µs, 50 mW na 100 m.
  • Od 30 s: tón CW na nosné L1, 10 mW na 1 km.
  • Od 45 s: plochý šum 2 MHz na L2 přijímaný při −135 dBW.

Co běh počítá:

Pásmo Nominální C/N₀ Minimální C/N₀ První ztráta Sledované řádky
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 nikdy 100 %
gps-l5 44,08 dB-Hz 44,08 dB-Hz nikdy 100 %
galileo-e5a 46,73 dB-Hz 46,73 dB-Hz nikdy 100 %

Tón CW je důvod, proč se dva signály L1 v 40 s rozcházejí. Dopadá na vrchol spektra C/A a drží C/A na 17,98 dB-Hz, pod prahem 25 dB-Hz. Dopadá do nuly spektra MBOC, takže Galileo E1 se po skončení chirpu vrací na nominální C/N₀.

Samotné signály leží asi 20 dB pod šumovou podlahou, takže waterfall ukazuje podlahu a rušičky; sloupce C/N₀ ukazují, co zpětné rozprostření obnoví.

Tytéž rušičky řídí řetězenou misi v scenarios/campaign-spectrum-holdover-integrity.toml (viz CAMPAIGNS.md): hodiny drží čas (holdover), dokud chirp běží, a přijímač se pod tónem CW vrací k Galileo E1.

Mimo pásmo L#

scenarios/multi-band-jamming-waterfall.toml umísťuje signály určování polohy, navigace a času (PNT) na LEO ve čtyřech pásmech vedle GPS L1 C/A a Galileo E5a, každé pásmo s vlastní rušičkou, na časové ose 60 s. Waterfall [grid] je pásmo L; tři [[panels]] přidávají UHF (455 až 475 MHz), S (2482 až 2502 MHz) a C (5005 až 5035 MHz).

  • 10 s: tón CW na nosné UHF, přijímaný při −120 dBW.
  • 20 s: chirp z příkladu pásma L (16 MHz kolem L1, přeladění po 9 µs, 50 mW na 100 m).
  • 30 s: širokopásmový šum, 40 MHz kolem 1185 MHz, −118 dBW.
  • 40 s: úzkopásmový šum, 2 MHz na nosné S, −128 dBW.
  • 50 s: šum přizpůsobený vlastnímu spektru signálu pásma C, −124 dBW.

Co běh počítá (C/N₀ navržených signálů je C/N₀ sledované složky, takže nominální hodnota leží pod celkovým přijímaným výkonem o sledovaný podíl):

Pásmo Signál Nosná Nominální C/N₀ Minimální C/N₀ Sledované řádky
generic-uhf reprezentativní, BPSK(5), −150 dBW 465 MHz 49,41 dB-Hz 34,38 dB-Hz 100 %
gps-l1ca minimum specifikace 1575,42 MHz 43,48 dB-Hz 3,38 dB-Hz 33 %
galileo-e5a minimum specifikace 1176,45 MHz 46,73 dB-Hz 38,51 dB-Hz 100 %
xona-x5 publikovaný návrh, −144,9 dBW 1190,51625 MHz 54,51 dB-Hz 46,29 dB-Hz 100 %
generic-s reprezentativní, BPSK(5), −150 dBW 2492,028 MHz 49,23 dB-Hz 41,69 dB-Hz 100 %
generic-c-band-leo reprezentativní, BPSK(10), −152 dBW 5020 MHz 47,41 dB-Hz 40,35 dB-Hz 100 %

Jen chirp odebírá signál (GPS L1 C/A, od 20 s). Každá další rušička zhoršuje jen pásmo, kam až její spektrum sahá: šum přizpůsobený pásmu C má například SSC −71,87 dB/Hz se signálem pásma C a pod −133 dB/Hz s každým jiným pásmem.

Tentýž mechanismus pohání scénáře odolnosti LEO-PNT (LEO-PNT.md):

  • scenarios/leo-resilience-js-margin.toml zvyšuje jednu zahlcovací rušičku 40 MHz na 1185 MHz po 5 dB každých 10 s od −125 dBW. GPS L5 je ztracen na kroku −105 dBW, Galileo E5a při −100 dBW a Xona X5 při −95 dBW, zatímco reprezentativní signál LEO v pásmu L přijímaný při −135 dBW stále sleduje při −90 dBW: přijímaný výkon kupuje rezervu J/S dB za dB.
  • scenarios/leo-resilience-multiband-diversity.toml je kampaňový průchod během spectrum přes výkon zahlcení v pásmu L5 (CAMPAIGNS.md).
  • scenarios/leo-resilience-gnss-jammed-leo-carries.toml je řetězená kampaň, jejíž fáze čtou C/N₀ GNSS a LEO z běhů spectrum, s panely pásem S a C.

IQ, SigMF a Welch#

[iq] vykreslí model v jednom okamžiku jako komplexní vzorky v fázi a kvadratuře (IQ), zapíše je jako záznam SigMF (cf32_le nebo ci16_le), záznam načte zpět a odhadne jeho PSD Welchovou metodou (okno Hann, překryv 50 %, zprůměrované periodogramy, škálované na hustotu). Tepelný šum, signály a rušičky podobné šumu se kreslí po binech z vlastní hustoty modelu; tón a chirp se kreslí jako skutečné průběhy. Pouze s rušičkami podobnými šumu leží odhad Welch do 0,1 dB od modelu (medián). Periodický chirp je čárové spektrum na své rychlosti přeladění, s zvlněním a ocasy za okraji pásma, které hladký model vynechává: v přibaleném příkladu se celkový výkon shoduje do 0,02 % a mediánový bin se liší o 0,5 dB. Snímek je soubor zapsaný pro analýzu; nic se nevysílá a neovládá se žádný rádiový hardware.

[recording] (pouze nativní sestavení) čte skutečný záznam SigMF z meta_path (datový soubor je ve výchozím stavu stejný název s .sigmf-data), odhaduje jeho PSD a vypisuje je vedle modelu na frekvencích záznamu. Soubor SigMF nemá absolutní kalibraci výkonu, takže zpráva uvádí mediánový posun a tvar, nikoli úroveň.

V sestavení WebAssembly není čtení souborů dostupné; kshana::sigmf::read a kshana::spectrum::welch_psd pracují s bajty, které dodá stránka.

Důkazy#

Tvrzení Popisek Orákulum
PSD signálů a SSC VALIDATED Hlavní lalok BPSK(n) 2n × 1,023 MHz od nuly k nule; laloky BOC(1 1) se středy v ±1,023 MHz (Betz 2001); SSC −61,86 / −64,87 / −67,88 dB/Hz pro C/A×C/A, BOC(1 1)×BOC(1 1), C/A×BOC(1 1) z jejich uzavřených tvarů podle Parsevala, hodnoty za publikovanými −61,8 / −64,8 / −67,8 dB/Hz; Q = 1 (CW) a 1,5 (přizpůsobený) (Kaplan & Hegarty §9,4); položky tabulky druhu jamming se rovnají uzavřeným tvarům: CW a úzkopásmový Q = 1, širokopásmový a přelaďovaný Q = 2 (bílý šum přes hlavní lalok, výkon v pásmu normalizován; 1 do 0,36)
Waterfall, J/S a časová osa C/N₀ MODELLED Přesně se redukuje na řetězec druhu jamming; výkony rušiček, časová osa a šířky pásma jsou vstupy
Kodek SigMF a odhad Welch MODELLED Zpáteční převody, přímá diskrétní Fourierova transformace, identity bílého šumu a Parsevalova; v repozitáři není žádný záznam třetí strany
Vícepásmový waterfall s navrženými signály a rušičkami pro jednotlivá pásma MODELLED Redukuje se na řetězec pásma L (jednosložkové pásmo dává stejná čísla jako před rozšířením) a na validovaná spektra signálů; navržené signály, rušičky a šířky pásma jsou vstupy

Jedna oprava obvyklé zkratky: laloky spektra BOC(1 1) jsou vycentrovány v ±1,023 MHz (mezi nulou nosné a nulou při 2,046 MHz), ale maximum PSD je v ±0,759 MHz, kde tan y = 2y s y = πf/(2R_c). Testy zafixují obojí.

Nemodelováno#

  • Čárová struktura rozprostíracího kódu (čáry 1 kHz u C/A): tón se hodnotí proti hladké obálce, nikoli proti nejbližší čáře kódu.
  • Automatické řízení zisku, kvantování, potlačení pulzů a notch filtrace.
  • Směrová charakteristika přijímací antény směrem k rušičce nad rámec jednoho údaje o zisku.
  • Interference vícenásobného přístupu mezi družicemi jednoho pásma.
  • Emise navrženého signálu mimo jeho vysílací pásmo: jeho spektrum je tam ořezáno, takže žádná emise mimo pásmo nedosáhne sousedního pásma.
  • Vliv chirpu na smyčku při rychlostech přeladění srovnatelných se šířkou pásma smyčky: jeho C/N₀ používá spektrum průměrované po řádcích.

Reference#

  • J. W. Betz, „Binary Offset Carrier Modulations for Radionavigation“, NAVIGATION 48(4), 2001.
  • E. D. Kaplan a C. J. Hegarty (eds.), Understanding GPS/GNSS: Principles and Applications, 3. vyd., Artech House, 2017, §9,4.
  • G. W. Hein a kol., „MBOC: The New Optimized Spreading Modulation Recommended for Galileo L1 OS and GPS L1C“, Inside GNSS, květen/červen 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.
  • Specifikace SigMF, https://sigmf.org/ (zdroj: https://github.com/sigmf/SigMF).