Konekäännös, jota äidinkielinen puhuja ei ole tarkistanut. Viitteenä on englanninkielinen versio.

Eheys ja häiriötMuokkaa GitHubissaLähde: docs/SPECTRUM.md

Spektrimalli ja vesiputouskaavio

Skenaariotyyppi spectrum rakentaa GNSS:n (Global Navigation Satellite System) L-kaistan ja minkä tahansa muun kaistan, jonka suunniteltu signaali varaa (UHF eli ultrakorkea taajuus, S-kaista, C-kaista), yhdeksi tehotiheysspektriksi (PSD), antaa sen muuttua skriptatun häirintälähetinaikajanan mukaan ja redusoi sen siihen, mikä seurantasilmukkaa kiinnostaa: häirintälähettimen ja signaalin suhteeseen (J/S) ja kunkin kaistan tehokkaaseen kantoaalto–kohinatiheyssuhteeseen (C/N₀). Se piirtää tuloksen vesiputouskaaviona (taajuus vaakaan, aika alas, väri tehoon) kaistakohtaisten C/N₀-pylväiden rinnalle, ja se lukee ja kirjoittaa Signal Metadata Format (SigMF) -tallenteita, jotta todellinen tallenne voidaan estimoida ja piirtää mallin rinnalle.

Kirjoita mukana toimitettu esimerkki tiedostoon ja aja se:

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

Kloonatussa työkopiossa kshana scenarios/l-band-waterfall-jamming.toml ajaa saman tiedoston.

Koodi: src/spectrum.rs (malli, tyyppi, Welch-estimaattori), src/sigmf.rs (tallennekoodekki), src/navsignal.rs (yksikköpinta-alaiset signaalispektrit ja spektrierotuskerroin) ja src/leo_signal.rs (signaalisuunnittelun esiasetukset, joihin kaista voi viitata).

Mitä mallinnetaan#

Kaista Kantoaalto Modulaatio Oletusvastaanottoteho Oletusvastaanottimen kaistanleveys
gps-l1ca 1575,42 MHz binäärinen vaihesiirtoavainnus, BPSK(1) −158,5 dBW (IS-GPS-200) 2,046 MHz
galileo-e1 1575,42 MHz multipleksattu binäärinen siirtokantoaalto, MBOC(6,1,1/11), tai binäärinen siirtokantoaalto BOC(1 1) −157,25 dBW (Galileo OS SIS ICD Issue 2,1, Taulukko 12) 14,322 MHz
gps-l2c 1227,60 MHz BPSK(1) (CM- ja CL-koodit aikajakoisesti multipleksattuina) −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, Taulukko 12) 20,46 MHz

GPS (Global Positioning System) L1 C/A on karkea hankintakoodi (coarse/acquisition); L2C on L2-siviilisignaali; IS-GPS-200 ja IS-GPS-705 ovat GPS:n rajapintamäärittelyjä; Galileo OS SIS ICD on Galileon Open Service Signal-in-Space Interface Control Document. Vastaanotetut tehot ovat määrittelyn minimiarvoja; kaistanleveydet ovat mallinnusvalintoja. Molemmat voi ohittaa kaistakohtaisesti. Ilman taulukkoa [[bands]] ajo käyttää näitä viittä. GLONASS G1/G2, BeiDou B1/B2 ja Galileo E6 eivät ole nimettyjen kaistojen joukossa.

Merkintä [[bands]] ottaa yhden kolmesta muodosta:

  • nimi yllä olevasta taulukosta, valinnaisilla signal_power_dbw, rx_bandwidth_mhz ja kohteelle galileo-e1 lisäksi modulation = "boc11";
  • signal = "<preset>": matalan Maan kiertoradan (LEO) tai edustava signaalisuunnittelu tyypin leo-signal esiasetuskirjastosta (LEO-SIGNAL.md), millä tahansa kaistalla, piirretty kaikkine komponentteineen (hankinta, data, pilotti, taajuusjakoiset alikantoaallot) ja rajattu lähetyskaistanleveyteensä; C/N₀ ja J/S viittaavat seurattuun komponenttiin, ja name vain nimeää sen. Esiasetukset ovat 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 ja generic-c-wide;
  • oma kaista: mikä tahansa name kentillä centre_mhz, modulation (BPSK(n), BOC(m,n) tai MBOC(6,1,p)) ja signal_power_dbw.

Häirintälähettimet ([[jammers]]) ottavat kentän waveform:

  • cw — jatkuva-aaltoinen (CW) sävel taajuudella centre_mhz;
  • narrowband — tasainen kohina kaistanleveydellä bandwidth_mhz;
  • wideband — tasainen kohina leveällä kaistalla bandwidth_mhz (laajakaistainen peittohäirintälähetin): sama tiheys kuin narrowband, nimetty erikseen, koska tyyppi jamming pisteyttää sen laajakaistaiseksi;
  • chirp — lineaarinen sahalaitapyyhkäisy, leveys bandwidth_mhz, pyyhkäisyjaksolla sweep_period_us;
  • matched — laajakaistainen kohina, jonka spektri on kaistan matched_to oma modulaatio.

Kukin antaa joko received_power_dbw, tai efektiivisen isotrooppisesti säteilevän tehon eirp_dbw ja etäisyyden range_m (ja valinnaisesti rx_gain_dbi), joka kulkee tyypin jamming vapaan tilan etenemishäviön kautta. on_s ja off_s skriptaavat aikajanan.

Vastaanotin ([receiver]) asettaa kohinapohjan, N₀ = k·T_sys, kun T_sys = T_ant + 290 K × (F − 1) antennilämpötilalla T_ant ja kohinaluvulla F, sekä seurantakynnyksen.

Pääasiallinen vesiputouskaavio kattaa [grid] (oletus 1160–1590 MHz 430 lokerolla). Jokainen merkintä [[panels]] (name, f_min_mhz, f_max_mhz, n_freq, oletus 200 lokeroa) lisää toisen vesiputouskaavion omalla taajuusalueellaan samalla aikajanalla, spektrille, joka kattaa useita kaistoja.

Häiriöketju#

Signaalille, jonka yksikköpinta-alaspektri on G_s, ja häirintälähettimelle, jonka yksikkötehospektri on G_j, spektrierotuskerroin (SSC) vastaanottimen kaistalla B on κ = ∫_B G_s(f) G_j(f) df, ja tehokas kantoaalto–kohinatiheys usealla häirintälähettimellä on

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

(Betz 2001; Kaplan & Hegarty, Understanding GPS/GNSS, 3. painos, §9,4). Yhdelle häirintälähettimelle tämä on täsmälleen tyypin jamming häirinnänestoyhtälö kertoimella Q = 1/(R_c κ); raportin lohko jamming_kind_cross_check ajaa tyypin jamming omat funktiot samoilla linkkisyötteillä ja tulostaa eron, joka on nolla pyöristyksen tarkkuudella.

Raportti tulostaa myös C/N₀-arvon, jonka tyyppi jamming antaa Q-taulukollaan. Taulukko sisältää oppikirja-arvot, jotka on lukittu testeissä suljettuihin muotoihin:

  • CW ja kapeakaistainen: Q = 1. C/A-kantoaallolla olevalla CW-sävelellä on κ = T_c, joten Q = 1, ja taulukko ja spektrit ovat yhtä mieltä. Mukana toimitetussa esimerkissä sävel antaa 17,98 dB-Hz molemmista (taulukko antoi 19,74, kun siinä oli 1,5).
  • Laajakaistainen ja pyyhkäisty: Q = 2, versiosta 0,36 lähtien. Se on valkoista kohinaa pääkeilan yli kaistan sisäisen signaalitehon normalisoituna yhteen, κ = 1/(2R_c). Taulukossa oli 1 versioon 0,36 asti, noin 3 dB pessimistinen (xval/jammer-q/PREREGISTRATION.md).

Spektrimalli johtaa omat arvonsa spektreistä:

  • Q = 1.5 kohinalle, joka on sovitettu C/A:han (κ = 2/(3R_c));
  • Q = 2.2 tasaiselle kohinalle nollasta nollaan ilman normalisointia (2/0.9028).

Joten näille häirintälähettimille kaksi tulostettua C/N₀-arvoa eroavat edelleen, tarkoituksella.

Jokainen vesiputouskaavion solu on PSD keskiarvoistettuna taajuuslokeronsa ja rivinsä yli. Chirp keskiarvoistetaan täsmälleen rivin yli, kokonaiset pyyhkäisyt plus osittainen; rivin keskellä päälle tai pois kytkeytyvä häirintälähetin painotetaan sen käyttösuhteella. C/N₀-aikajana käyttää samoja keskiarvoja, joten kuva ja luvut ovat yhtä mieltä. Kaistaa kohti aikajana raportoi kaistan sisäisen J/S:n (vastaanottimen kaistanleveyden sisällä oleva häirintäteho jaettuna signaalitehoon). Häirintälähetintä ja kaistaa kohti raportti antaa SSC:n, Q, kokonais-J/S:n, kaistan sisäisen J/S:n ja vakaan C/N₀-arvon.

Mukana toimitettu esimerkki#

scenarios/l-band-waterfall-jamming.toml: 60 s aikajana, yksi rivi sekunnissa, 290 K antenni ja 2 dB kohinaluku (pohja −201,98 dBW/Hz).

  • 10 s – 40 s: 16 MHz chirp L1:n ympärillä, 9 µs pyyhkäisyt, 50 mW etäisyydellä 100 m.
  • Alkaen hetkestä 30 s: CW-sävel L1-kantoaallolla, 10 mW etäisyydellä 1 km.
  • Alkaen hetkestä 45 s: tasainen 2 MHz kohina L2:lla vastaanotettuna tasolla −135 dBW.

Mitä ajo laskee:

Kaista Nimellinen C/N₀ Pienin C/N₀ Ensimmäinen menetys Seurannassa olevat rivit
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 ei koskaan 100 %
gps-l5 44,08 dB-Hz 44,08 dB-Hz ei koskaan 100 %
galileo-e5a 46,73 dB-Hz 46,73 dB-Hz ei koskaan 100 %

CW-sävel on syy siihen, että kaksi L1-signaalia eroavat toisistaan hetkellä 40 s. Se osuu C/A-spektrin huippuun ja pitää C/A:n tasolla 17,98 dB-Hz, kynnyksen 25 dB-Hz alapuolella. Se osuu MBOC-spektrin nollaan, joten Galileo E1 palaa nimelliseen C/N₀-arvoonsa, kun chirp loppuu.

Signaalit itse ovat noin 20 dB kohinapohjan alapuolella, joten vesiputouskaavio näyttää pohjan ja häirintälähettimet; C/N₀-pylväät näyttävät, mitä hajotuksen purku palauttaa.

Samat häirintälähettimet ohjaavat ketjutettua tehtävää tiedostossa scenarios/campaign-spectrum-holdover-integrity.toml (katso CAMPAIGNS.md): kello on holdover-tilassa, kun chirp on päällä, ja vastaanotin siirtyy Galileo E1:een CW-sävelen alla.

L-kaistan ulkopuolella#

scenarios/multi-band-jamming-waterfall.toml asettaa LEO-paikannus-, navigointi- ja ajoitussignaalit (PNT) neljälle kaistalle GPS L1 C/A:n ja Galileo E5a:n rinnalle, kullakin kaistalla oma häirintälähetin, 60 s aikajanalla. Vesiputouskaavio [grid] on L-kaista; kolme merkintää [[panels]] lisää UHF (455–475 MHz), S (2482–2502 MHz) ja C (5005–5035 MHz).

  • Hetkellä 10 s: CW-sävel UHF-kantoaallolla, vastaanotettuna −120 dBW.
  • Hetkellä 20 s: L-kaista-esimerkin chirp (16 MHz L1:n ympärillä, 9 µs pyyhkäisyt, 50 mW etäisyydellä 100 m).
  • Hetkellä 30 s: laajakaistakohina, 40 MHz taajuuden 1185 MHz ympärillä, −118 dBW.
  • Hetkellä 40 s: kapeakaistakohina, 2 MHz S-kantoaallolla, −128 dBW.
  • Hetkellä 50 s: C-kaistan signaalin omaan spektriin sovitettu kohina, −124 dBW.

Mitä ajo laskee (suunniteltujen signaalien C/N₀ on seurattavan komponentin arvo, joten nimellisarvo on kokonaisvastaanottotehon alapuolella seurattavan osuuden verran):

Kaista Signaali Kantoaalto Nimellinen C/N₀ Pienin C/N₀ Seurannassa olevat rivit
generic-uhf edustava, BPSK(5), −150 dBW 465 MHz 49,41 dB-Hz 34,38 dB-Hz 100 %
gps-l1ca määrittelyn minimi 1575,42 MHz 43,48 dB-Hz 3,38 dB-Hz 33 %
galileo-e5a määrittelyn minimi 1176,45 MHz 46,73 dB-Hz 38,51 dB-Hz 100 %
xona-x5 julkaistu suunnitelma, −144,9 dBW 1190,51625 MHz 54,51 dB-Hz 46,29 dB-Hz 100 %
generic-s edustava, BPSK(5), −150 dBW 2492,028 MHz 49,23 dB-Hz 41,69 dB-Hz 100 %
generic-c-band-leo edustava, BPSK(10), −152 dBW 5020 MHz 47,41 dB-Hz 40,35 dB-Hz 100 %

Vain chirp vie signaalin pois (GPS L1 C/A, hetkestä 20 s). Muut häirintälähettimet heikentävät vain kaistaa, jonka ne spektrinsä kautta tavoittavat: esimerkiksi C-kaistan sovitetun kohinan SSC on −71,87 dB/Hz C-kaistan signaalin kanssa ja alle −133 dB/Hz jokaisen muun kaistan kanssa.

Sama koneisto ohjaa LEO-PNT-kestävyysskenaarioita (LEO-PNT.md):

  • scenarios/leo-resilience-js-margin.toml nostaa yhtä 40 MHz peittohäirintälähetintä taajuudella 1185 MHz 5 dB joka 10 s tasosta −125 dBW alkaen. GPS L5 menetetään askeleella −105 dBW, Galileo E5a tasolla −100 dBW ja Xona X5 tasolla −95 dBW, kun taas edustava LEO L-kaistan signaali, joka vastaanotetaan tasolla −135 dBW, seuraa yhä tasolla −90 dBW: vastaanotettu teho ostaa J/S-marginaalia desibeli desibeliltä.
  • scenarios/leo-resilience-multiband-diversity.toml on kampanjapyyhkäisy tyypin spectrum ajosta L5-kaistan peittohäirinnän tehon yli (CAMPAIGNS.md).
  • scenarios/leo-resilience-gnss-jammed-leo-carries.toml on ketjutettu kampanja, jonka vaiheet lukevat GNSS- ja LEO-C/N₀-arvot tyypin spectrum ajoista S- ja C-kaistan paneeleilla.

IQ, SigMF ja Welch#

Osio [iq] piirtää mallin yhdellä hetkellä kompleksisina vaihe- ja kvadratuurinäytteinä (IQ), kirjoittaa ne SigMF-tallenteeksi (cf32_le tai ci16_le), lukee tallenteen takaisin ja estimoi sen PSD:n Welchin menetelmällä (Hann-ikkuna, 50 % päällekkäisyys, keskiarvoistetut periodogrammit, tiheyteen skaalattu). Terminen kohina, signaalit ja kohinankaltaiset häirintälähettimet piirretään lokero kerrallaan mallin omasta tiheydestä; sävel ja chirp piirretään todellisina aaltomuotoina. Pelkillä kohinankaltaisilla häirintälähettimillä Welch-estimaatti on mallin lähellä, enintään 0,1 dB ero (mediaani). Jaksollinen chirp on viivaspektri pyyhkäisynopeudellaan, kaistareunojensa ohi ulottuvine väreineen ja häntineen, jotka tasainen malli jättää pois: mukana toimitetussa esimerkissä kokonaisteho täsmää 0,02 % sisällä, ja mediaanilokero eroaa 0,5 dB. Tilannekuva on analyysia varten kirjoitettu tiedosto; mitään ei lähetetä eikä radiolaitteistoa ohjata.

Osio [recording] (vain natiivit koontiversiot) lukee todellisen SigMF-tallenteen polusta meta_path (datatiedosto on oletuksena sama runko tunnisteella .sigmf-data), estimoi sen PSD:n ja tulostaa sen mallin rinnalle tallenteen taajuuksilla. SigMF-tiedostolla ei ole absoluuttista tehokalibrointia, joten raportti antaa mediaanipoikkeaman ja muodon, ei tasoa.

WebAssembly-koontiversiossa tiedostojen luku ei ole käytettävissä; kshana::sigmf::read ja kshana::spectrum::welch_psd toimivat sivun antamilla tavuilla.

Todisteet#

Väite Merkintä Oraakkeli
Signaalien PSD:t ja SSC:t VALIDATED BPSK(n) pääkeila 2n × 1,023 MHz nollasta nollaan; BOC(1 1) -spektrin keilat keskitettyinä taajuuksille ±1,023 MHz (Betz 2001); SSC:t −61,86 / −64,87 / −67,88 dB/Hz kohteille C/A×C/A, BOC(1 1)×BOC(1 1), C/A×BOC(1 1) Parsevalin suljetuista muodoista, arvot julkaistujen −61,8 / −64,8 / −67,8 dB/Hz takana; Q = 1 (CW) ja 1,5 (sovitettu) (Kaplan & Hegarty §9,4); tyypin jamming taulukon arvot ovat yhtä suuria kuin suljetut muodot: CW ja kapeakaistainen Q = 1, laajakaistainen ja pyyhkäisty Q = 2 (valkoinen kohina pääkeilan yli, kaistan sisäinen teho normalisoitu; 1 versioon 0,36 asti)
Vesiputouskaavio, J/S ja C/N₀-aikajana MODELLED Supistuu täsmälleen tyypin jamming ketjuun; häirintälähettimien tehot, aikajana ja kaistanleveydet ovat syötteitä
SigMF-koodekki ja Welch-estimaatti MODELLED Edestakaiset ajot, suora diskreetti Fourier-muunnos, valkoisen kohinan ja Parsevalin identiteetit; repositoriossa ei ole kolmannen osapuolen tallennetta
Monikaistainen vesiputouskaavio suunnitelluilla signaaleilla ja kaistakohtaisilla häirintälähettimillä MODELLED Supistuu L-kaistan ketjuun (yhden komponentin kaista antaa samat luvut kuin ennen laajennusta) ja validoituihin signaalispektreihin; suunnitellut signaalit, häirintälähettimet ja kaistanleveydet ovat syötteitä

Yksi korjaus yleiseen oikopolkuun: BOC(1 1) -spektrin keilat ovat keskitettyjä taajuuksille ±1,023 MHz (kantoaallon nollan ja nollan 2,046 MHz välissä), mutta PSD:n maksimi on taajuudella ±0,759 MHz, jossa tan y = 2y kun y = πf/(2R_c). Testit lukitsevat molemmat.

Ei mallinnettu#

  • Hajotuskoodin viivarakenne (C/A:n 1 kHz viivat): sävel pisteytetään tasaista verhokäyrää vasten, ei lähintä koodiviivaa vasten.
  • Automaattinen vahvistuksen säätö, kvantisointi, pulssinsammutus ja lovisuodatus.
  • Vastaanottoantennin kuvio häirintälähettimen suuntaan yhtä vahvistuslukua tarkemmin.
  • Monikäyttöhäiriö saman kaistan satelliittien välillä.
  • Suunnitellun signaalin päästöt sen lähetyskaistanleveyden ulkopuolella: sen spektri typistetään siellä, joten mikään kaistan ulkopuolinen päästö ei yllä naapurikaistalle.
  • Chirpin vaikutus silmukkaan pyyhkäisynopeuksilla, jotka ovat verrannollisia silmukan kaistanleveyteen: sen C/N₀ käyttää rivikeskiarvoistettua spektriä.

Lähteet#

  • 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. painos, Artech House, 2017, §9,4.
  • G. W. Hein ym., ”MBOC: The New Optimized Spreading Modulation Recommended for Galileo L1 OS and GPS L1C,” Inside GNSS, touko/kesäkuu 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-määrittely, https://sigmf.org/ (lähde: https://github.com/sigmf/SigMF).