Tradução automática, não revista por um falante nativo. O inglês é a referência.

Integridade e interferênciaEditar no GitHubFonte: docs/SPECTRUM.md

Modelo de espectro e waterfall

O tipo de cenário spectrum constrói a banda L do Global Navigation Satellite System (GNSS), e qualquer outra banda que um sinal projetado ocupe (ultra-high frequency (UHF), banda S, banda C), como uma única densidade espectral de potência (PSD), permite que ela mude ao longo de uma linha do tempo de jammers roteirizada e a reduz ao que importa a um laço de rastreamento: a razão jammer-sinal (J/S) e a razão efetiva portadora-densidade de ruído (C/N₀) de cada banda. Ele desenha o resultado como um waterfall (frequência na horizontal, tempo para baixo, cor para a potência) ao lado de barras de C/N₀ por banda, e lê e grava gravações Signal Metadata Format (SigMF), para que uma captura real possa ser estimada e plotada ao lado do modelo.

Grave o exemplo incluído em um arquivo e execute-o:

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

Em um checkout, kshana scenarios/l-band-waterfall-jamming.toml executa o mesmo arquivo.

Código: src/spectrum.rs (o modelo, o tipo, o estimador de Welch), src/sigmf.rs (o codec de gravação), src/navsignal.rs (os espectros de sinal de área unitária e o coeficiente de separação espectral) e src/leo_signal.rs (as predefinições de projeto de sinal que uma banda pode nomear).

O que é modelado#

Banda Portadora Modulação Potência recebida padrão Largura de banda padrão do receptor
gps-l1ca 1575,42 MHz chaveamento de fase binário, BPSK(1) −158,5 dBW (IS-GPS-200) 2,046 MHz
galileo-e1 1575,42 MHz portadora de deslocamento binário multiplexada, MBOC(6,1,1/11), ou portadora de deslocamento binário 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) (códigos CM e CL multiplexados no tempo) −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 é o código de aquisição grosseira; L2C é o sinal civil L2; IS-GPS-200 e IS-GPS-705 são as especificações de interface do GPS; Galileo OS SIS ICD é o Galileo Open Service Signal-in-Space Interface Control Document. As potências recebidas são os mínimos da especificação; as larguras de banda são escolhas de modelagem. Ambas podem ser substituídas por banda. Sem uma tabela [[bands]], a execução usa estas cinco. GLONASS G1/G2, BeiDou B1/B2 e Galileo E6 não estão entre as bandas nomeadas.

Uma entrada [[bands]] assume uma de três formas:

  • um nome da tabela acima, com signal_power_dbw e rx_bandwidth_mhz opcionais e, para galileo-e1, modulation = "boc11";
  • signal = "<preset>": um projeto de sinal de órbita baixa da Terra (LEO) ou representativo, da biblioteca de predefinições do tipo leo-signal (LEO-SIGNAL.md), em qualquer banda, desenhado com todos os componentes (aquisição, dados, piloto, subportadoras por divisão de frequência) e limitado em banda à sua largura de banda de transmissão; C/N₀ e J/S são referidos ao componente rastreado, e name apenas o rotula. As predefinições são 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 e generic-c-wide;
  • uma banda personalizada: qualquer name com centre_mhz, modulation (BPSK(n), BOC(m,n) ou MBOC(6,1,p)) e signal_power_dbw.

Os jammers ([[jammers]]) recebem um waveform:

  • cw — um tom de onda contínua (CW) em centre_mhz;
  • narrowband — ruído plano ao longo de bandwidth_mhz;
  • wideband — ruído plano ao longo de uma bandwidth_mhz larga (um jammer de barragem): a mesma densidade de narrowband, nomeado à parte porque o tipo jamming o pontua como banda larga;
  • chirp — uma varredura linear em dente de serra de bandwidth_mhz a cada sweep_period_us;
  • matched — ruído de banda larga cujo espectro é a própria modulação da banda matched_to.

Cada um fornece ou received_power_dbw, ou uma potência isotrópica radiada efetiva eirp_dbw com um range_m (e, opcionalmente, rx_gain_dbi), que passa pela perda de percurso em espaço livre do tipo jamming. on_s e off_s roteirizam a linha do tempo.

O receptor ([receiver]) define o piso de ruído, N₀ = k·T_sys com T_sys = T_ant + 290 K × (F − 1) para a temperatura de antena T_ant e a figura de ruído F, e o limiar de rastreamento.

O waterfall principal cobre [grid] (padrão de 1160 a 1590 MHz em 430 bins). Cada entrada [[panels]] (name, f_min_mhz, f_max_mhz, n_freq, padrão de 200 bins) acrescenta outro waterfall sobre a sua própria faixa de frequência na mesma linha do tempo, para um espectro que abrange várias bandas.

A cadeia de interferência#

Para um sinal de espectro de área unitária G_s e um jammer de espectro de potência unitária G_j, o coeficiente de separação espectral (SSC) sobre a banda do receptor B é κ = ∫_B G_s(f) G_j(f) df, e a razão portadora-densidade de ruído efetiva com vários jammers é

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

(Betz 2001; Kaplan & Hegarty, Understanding GPS/GNSS, 3ª ed., §9,4). Para um jammer, esta é exatamente a equação antijamming do tipo jamming com Q = 1/(R_c κ); o bloco jamming_kind_cross_check do relatório executa as próprias funções do tipo jamming sobre as mesmas entradas do enlace e imprime a diferença, que é zero até o arredondamento.

O relatório também imprime o C/N₀ que o tipo jamming fornece com a sua tabela de Q. A tabela contém os valores de livro-texto, fixados nos testes às formas fechadas:

  • CW e banda estreita: Q = 1. Um tom CW sobre a portadora C/A tem κ = T_c, de modo que Q = 1, e a tabela e os espectros concordam. No exemplo incluído, o tom dá 17,98 dB-Hz por ambos (a tabela dava 19,74 quando continha 1,5).
  • Banda larga e varrido: Q = 2, desde a 0,36. Isso é ruído branco sobre o lóbulo principal com a potência do sinal em banda normalizada para um, κ = 1/(2R_c). A tabela continha 1 até a 0,36, cerca de 3 dB pessimista (xval/jammer-q/PREREGISTRATION.md).

O modelo de espectro deriva seus próprios valores a partir dos espectros:

  • Q = 1.5 para ruído casado com o C/A (κ = 2/(3R_c));
  • Q = 2.2 para ruído plano de nulo a nulo sem a normalização (2/0.9028).

Portanto, para esses jammers, os dois valores de C/N₀ impressos ainda diferem, por projeto.

Cada célula do waterfall é a PSD média sobre o seu bin de frequência e a sua linha. Um chirp é promediado exatamente sobre a linha, varreduras inteiras mais a parcial; um jammer que liga ou desliga no meio de uma linha é ponderado pelo seu ciclo de trabalho. A linha do tempo de C/N₀ usa as mesmas médias, de modo que a imagem e os números concordam. Por banda, a linha do tempo informa o J/S em banda (potência do jammer dentro da largura de banda do receptor sobre a potência do sinal). Por jammer e por banda, o relatório fornece o SSC, Q, o J/S total, o J/S em banda e o C/N₀ em regime permanente.

O exemplo incluído#

scenarios/l-band-waterfall-jamming.toml: uma linha do tempo de 60 s, uma linha por segundo, uma antena de 290 K e uma figura de ruído de 2 dB (piso de −201,98 dBW/Hz).

  • De 10 s a 40 s: um chirp de 16 MHz em torno da L1, varreduras de 9 µs, 50 mW a 100 m.
  • A partir de 30 s: um tom CW na portadora L1, 10 mW a 1 km.
  • A partir de 45 s: ruído plano de 2 MHz na L2, recebido a −135 dBW.

O que a execução calcula:

Banda C/N₀ nominal C/N₀ mínimo Primeira perda Linhas em rastreamento
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 nunca 100 %
gps-l5 44,08 dB-Hz 44,08 dB-Hz nunca 100 %
galileo-e5a 46,73 dB-Hz 46,73 dB-Hz nunca 100 %

O tom CW é o motivo pelo qual os dois sinais L1 se separam em 40 s. Ele cai sobre o pico do espectro do C/A e mantém o C/A em 17,98 dB-Hz, abaixo do limiar de 25 dB-Hz. Ele cai no nulo do espectro MBOC; assim, o Galileo E1 volta ao seu C/N₀ nominal quando o chirp termina.

Os próprios sinais ficam cerca de 20 dB abaixo do piso de ruído; por isso, o waterfall mostra o piso e os jammers, e as barras de C/N₀ mostram o que o desespalhamento recupera.

Os mesmos jammers conduzem uma missão encadeada em scenarios/campaign-spectrum-holdover-integrity.toml (veja CAMPAIGNS.md): o relógio mantém o holdover enquanto o chirp está ativo, e o receptor recorre ao Galileo E1 sob o tom CW.

Além da banda L#

scenarios/multi-band-jamming-waterfall.toml coloca sinais de posicionamento, navegação e temporização (PNT) LEO em quatro bandas ao lado do GPS L1 C/A e do Galileo E5a, cada banda com o seu próprio jammer, em uma linha do tempo de 60 s. O waterfall de [grid] é a banda L; três [[panels]] acrescentam UHF (455 a 475 MHz), S (2482 a 2502 MHz) e C (5005 a 5035 MHz).

  • 10 s: um tom CW na portadora UHF, recebido a −120 dBW.
  • 20 s: o chirp do exemplo de banda L (16 MHz em torno da L1, varreduras de 9 µs, 50 mW a 100 m).
  • 30 s: ruído de banda larga, 40 MHz em torno de 1185 MHz, −118 dBW.
  • 40 s: ruído de banda estreita, 2 MHz na portadora S, −128 dBW.
  • 50 s: ruído casado com o espectro do próprio sinal da banda C, −124 dBW.

O que a execução calcula (o C/N₀ dos sinais projetados é o do componente rastreado; assim, o valor nominal fica abaixo da potência total recebida pela parcela rastreada):

Banda Sinal Portadora C/N₀ nominal C/N₀ mínimo Linhas em rastreamento
generic-uhf representativo, BPSK(5), −150 dBW 465 MHz 49,41 dB-Hz 34,38 dB-Hz 100 %
gps-l1ca mínimo da especificação 1575,42 MHz 43,48 dB-Hz 3,38 dB-Hz 33 %
galileo-e5a mínimo da especificação 1176,45 MHz 46,73 dB-Hz 38,51 dB-Hz 100 %
xona-x5 projeto publicado, −144,9 dBW 1190,51625 MHz 54,51 dB-Hz 46,29 dB-Hz 100 %
generic-s representativo, BPSK(5), −150 dBW 2492,028 MHz 49,23 dB-Hz 41,69 dB-Hz 100 %
generic-c-band-leo representativo, BPSK(10), −152 dBW 5020 MHz 47,41 dB-Hz 40,35 dB-Hz 100 %

Somente o chirp tira um sinal (GPS L1 C/A, a partir de 20 s). Cada um dos outros jammers degrada apenas a banda que o seu espectro alcança: o ruído casado de banda C, por exemplo, tem um SSC de −71,87 dB/Hz com o sinal de banda C e abaixo de −133 dB/Hz com todas as outras bandas.

A mesma maquinaria conduz os cenários de resiliência de PNT em LEO (LEO-PNT.md):

  • scenarios/leo-resilience-js-margin.toml aumenta em degraus de 5 dB, a cada 10 s, a partir de −125 dBW, um jammer de barragem de 40 MHz em 1185 MHz. O GPS L5 é perdido no degrau de −105 dBW, o Galileo E5a em −100 dBW e o Xona X5 em −95 dBW, enquanto um sinal representativo de banda L em LEO, recebido a −135 dBW, ainda é rastreado a −90 dBW: a potência recebida compra margem de J/S dB por dB.
  • scenarios/leo-resilience-multiband-diversity.toml é uma varredura de campanha de uma execução spectrum sobre a potência de uma barragem na banda L5 (CAMPAIGNS.md).
  • scenarios/leo-resilience-gnss-jammed-leo-carries.toml é uma campanha encadeada cujas fases leem o C/N₀ de GNSS e de LEO de execuções spectrum, com painéis de banda S e C.

IQ, SigMF e Welch#

[iq] desenha o modelo em um instante como amostras complexas em fase e em quadratura (IQ), as grava como uma gravação SigMF (cf32_le ou ci16_le), lê a gravação de volta e estima a sua PSD pelo método de Welch (janela de Hann, 50 % de sobreposição, periodogramas promediados, escala de densidade). O ruído térmico, os sinais e os jammers semelhantes a ruído são sorteados bin a bin a partir da densidade do próprio modelo; um tom e um chirp são desenhados como formas de onda reais. Apenas com jammers semelhantes a ruído, a estimativa de Welch fica a 0,1 dB do modelo (mediana). Um chirp periódico é um espectro de linhas na sua taxa de varredura, com ondulação e caudas além das bordas da sua banda que o modelo suave omite: no exemplo incluído, a potência total concorda a 0,02 % e o bin mediano difere em 0,5 dB. O instantâneo é um arquivo gravado para análise; nada é transmitido e nenhum hardware de rádio é acionado.

[recording] (somente em builds nativos) lê uma gravação SigMF real de meta_path (o arquivo de dados assume por padrão o mesmo nome-base com .sigmf-data), estima a sua PSD e a imprime ao lado do modelo nas frequências da gravação. Um arquivo SigMF não tem calibração de potência absoluta; por isso, o relatório fornece o desvio mediano e a forma, não um nível.

No build WebAssembly, a leitura de arquivos não está disponível; kshana::sigmf::read e kshana::spectrum::welch_psd funcionam sobre bytes que a página fornece.

Evidências#

Afirmação Rótulo Referência independente
PSDs de sinal e SSCs VALIDATED Lóbulo principal do BPSK(n) de 2n × 1,023 MHz de nulo a nulo; lóbulos do BOC(1.1) centrados em ±1,023 MHz (Betz 2001); SSCs de −61,86 / −64,87 / −67,88 dB/Hz para C/A×C/A, BOC(1.1)×BOC(1.1), C/A×BOC(1.1) a partir de suas formas fechadas de Parseval, os valores por trás dos publicados −61,8 / −64,8 / −67,8 dB/Hz; Q = 1 (CW) e 1,5 (casado) (Kaplan & Hegarty §9,4); as entradas da tabela do tipo jamming são iguais às formas fechadas: CW e banda estreita Q = 1, banda larga e varrido Q = 2 (ruído branco sobre o lóbulo principal, potência em banda normalizada; 1 até a 0,36)
Linha do tempo de waterfall, J/S e C/N₀ MODELLED Reduz-se exatamente à cadeia do tipo jamming; as potências dos jammers, a linha do tempo e as larguras de banda são entradas
Codec SigMF e estimativa de Welch MODELLED Idas e voltas, uma transformada de Fourier discreta direta, identidades de ruído branco e de Parseval; nenhuma gravação de terceiros está no repositório
Waterfall multibanda com sinais projetados e jammers por banda MODELLED Reduz-se à cadeia da banda L (uma banda de componente único dá os mesmos números de antes da extensão) e aos espectros de sinal validados; os sinais projetados, os jammers e as larguras de banda são entradas

Uma correção a uma abreviação comum: os lóbulos do espectro BOC(1.1) são centrados em ±1,023 MHz (entre o nulo da portadora e o nulo em 2,046 MHz), mas o máximo da PSD está em ±0,759 MHz, onde tan y = 2y com y = πf/(2R_c). Os testes fixam ambos.

Não modelado#

  • Estrutura de linhas do código de espalhamento (as linhas de 1 kHz do C/A): um tom é pontuado em relação ao envelope suave, não à linha de código mais próxima.
  • Controle automático de ganho, quantização, supressão de pulsos e filtragem notch.
  • O diagrama da antena receptora na direção do jammer além de um único valor de ganho.
  • Interferência de acesso múltiplo entre satélites de uma mesma banda.
  • As emissões de um sinal projetado fora da sua largura de banda de transmissão: seu espectro é truncado ali, de modo que nenhuma emissão fora da banda alcança uma banda vizinha.
  • O efeito de um chirp sobre o laço em taxas de varredura comparáveis à largura de banda do laço: seu C/N₀ usa o espectro promediado por linha.

Referências#

  • J. W. Betz, "Binary Offset Carrier Modulations for Radionavigation," NAVIGATION 48(4), 2001.
  • E. D. Kaplan e C. J. Hegarty (orgs.), Understanding GPS/GNSS: Principles and Applications, 3ª ed., 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, maio/junho de 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.
  • Especificação SigMF, https://sigmf.org/ (fonte: https://github.com/sigmf/SigMF).