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 espetro e cascata

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-alta frequência (UHF), banda S, banda C), como uma única densidade espetral de potência (PSD), deixa-a variar ao longo de uma cronologia de emissores de interferência definida em guião, e reduz-a ao que interessa a um ciclo de seguimento: a razão interferência-sinal (J/S) e a razão efetiva entre a portadora e a densidade de ruído (C/N₀) de cada banda. Desenha o resultado como uma cascata (frequência na horizontal, tempo na vertical, cor para a potência) junto de barras de C/N₀ por banda, e lê e escreve gravações Signal Metadata Format (SigMF), de modo que uma captura real possa ser estimada e traçada junto do modelo.

Escreva o exemplo incluído num ficheiro 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

Num repositório clonado, kshana scenarios/l-band-waterfall-jamming.toml executa o mesmo ficheiro.

Código: src/spectrum.rs (o modelo, o tipo de cenário, o estimador de Welch), src/sigmf.rs (o codec de gravações), src/navsignal.rs (os espetros de sinal de área unitária e o coeficiente de separação espetral) 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 predefinida Largura de banda predefinida do recetor
gps-l1ca 1575,42 MHz modulação por desvio de fase binária, BPSK(1) −158,5 dBW (IS-GPS-200) 2,046 MHz
galileo-e1 1575,42 MHz portadora com desvio binário multiplexada, MBOC(6,1,1/11), ou portadora com desvio 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 aproximada; 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 modelação. 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 figuram entre as bandas com nome.

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

  • um nome da tabela acima, com signal_power_dbw, rx_bandwidth_mhz opcionais e, para galileo-e1, modulation = "boc11";
  • signal = "<preset>": um projeto de sinal de órbita terrestre baixa (LEO) ou representativo, da biblioteca de predefinições do tipo de cenário leo-signal (LEO-SIGNAL.md), em qualquer banda, desenhado com todos os componentes (aquisição, dados, piloto, subportadoras de multiplexagem por divisão de frequência) e limitado em banda à sua largura de banda de transmissão; o C/N₀ e o J/S referem-se ao componente seguido, e name apenas o etiqueta. 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 emissores de interferência ([[jammers]]) têm um waveform:

  • cw — um tom de onda contínua (CW) em centre_mhz;
  • narrowband — ruído plano sobre bandwidth_mhz;
  • wideband — ruído plano sobre uma bandwidth_mhz larga (um emissor de interferência de barragem): a mesma densidade que narrowband, nomeado em separado porque o tipo de cenário jamming o pontua como de banda larga;
  • chirp — um varrimento linear em dente de serra de bandwidth_mhz a cada sweep_period_us;
  • matched — ruído de banda larga cujo espetro é a própria modulação da banda matched_to.

Cada um indica received_power_dbw, ou uma potência isotrópica radiada equivalente eirp_dbw com um range_m (e, opcionalmente, rx_gain_dbi), que passa pela perda de percurso em espaço livre do tipo de cenário jamming. on_s e off_s definem a cronologia em guião.

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

A cascata principal cobre [grid] (por predefinição, de 1160 a 1590 MHz em 430 intervalos). Cada entrada [[panels]] (name, f_min_mhz, f_max_mhz, n_freq, predefinição de 200 intervalos) acrescenta outra cascata sobre o seu próprio intervalo de frequências na mesma cronologia, para um espetro que abranja várias bandas.

A cadeia de interferência#

Para um sinal de espetro de área unitária G_s e um emissor de interferência de espetro de potência unitária G_j, o coeficiente de separação espetral (SSC) sobre a banda do recetor B é κ = ∫_B G_s(f) G_j(f) df, e a densidade efetiva entre a portadora e o ruído com vários emissores de interferência é

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

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

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

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

O modelo de espetro deduz os seus próprios valores a partir dos espetros:

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

Assim, para esses emissores de interferência, os dois valores de C/N₀ impressos continuam a diferir, por conceção.

Cada célula da cascata é a PSD média sobre o seu intervalo de frequência e a sua linha. Um varrimento é calculado exatamente como média sobre a linha, varrimentos completas mais a parcial; um emissor de interferência que liga ou desliga a meio de uma linha é ponderado pelo seu ciclo de trabalho. A cronologia de C/N₀ usa as mesmas médias, pelo que a imagem e os números concordam. Por banda, a cronologia reporta o J/S na banda (potência do emissor de interferência dentro da largura de banda do recetor sobre a potência do sinal). Por emissor de interferência e banda, o relatório dá o SSC, Q, o J/S total, o J/S na banda e o C/N₀ em regime estacionário.

O exemplo incluído#

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

  • De 10 s a 40 s: um varrimento de 16 MHz em torno de L1, varrimentos 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 em L2 recebido a −135 dBW.

O que a execução calcula:

Banda C/N₀ nominal C/N₀ mínimo Primeira perda Linhas em seguimento
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 é a razão pela qual os dois sinais L1 se separam aos 40 s. Cai sobre o pico do espetro C/A e mantém o C/A em 17,98 dB-Hz, abaixo do limiar de 25 dB-Hz. Cai no nulo do espetro MBOC, pelo que o Galileo E1 regressa ao seu C/N₀ nominal quando o varrimento termina.

Os próprios sinais situam-se cerca de 20 dB abaixo do patamar de ruído, pelo que a cascata mostra o patamar e os emissores de interferência; as barras de C/N₀ mostram o que o desespalhamento recupera.

Os mesmos emissores de interferência conduzem uma missão encadeada em scenarios/campaign-spectrum-holdover-integrity.toml (ver CAMPAIGNS.md): o relógio mantém-se em holdover enquanto o varrimento está ativo, e o recetor recorre ao Galileo E1 sob o tom CW.

Para 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, junto do GPS L1 C/A e do Galileo E5a, cada banda com o seu próprio emissor de interferência, numa cronologia de 60 s. A cascata [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, −120 dBW recebidos.
  • 20 s: o varrimento do exemplo da banda L (16 MHz em torno de L1, varrimentos 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 adaptado ao próprio espetro do sinal da banda C, −124 dBW.

O que a execução calcula (o C/N₀ dos sinais projetados é o do componente seguido, pelo que o valor nominal fica abaixo da potência total recebida na proporção do componente seguido):

Banda Sinal Portadora C/N₀ nominal C/N₀ mínimo Linhas em seguimento
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 %

Só o varrimento retira um sinal (GPS L1 C/A, a partir de 20 s). Cada um dos outros emissores de interferência degrada apenas a banda que o seu espetro alcança: o ruído adaptado da banda C, por exemplo, tem um SSC de −71,87 dB/Hz com o sinal da banda C e inferior a −133 dB/Hz com todas as outras bandas.

O mesmo mecanismo conduz os cenários de resiliência LEO-PNT (LEO-PNT.md):

  • scenarios/leo-resilience-js-margin.toml faz subir em degraus de 5 dB, a cada 10 s, um emissor de interferência de barragem de 40 MHz a 1185 MHz, a partir de −125 dBW. O GPS L5 perde-se no degrau de −105 dBW, o Galileo E5a a −100 dBW e o Xona X5 a −95 dBW, enquanto um sinal LEO representativo da banda L recebido a −135 dBW ainda é seguido a −90 dBW: a potência recebida compra margem de J/S, dB por dB.
  • scenarios/leo-resilience-multiband-diversity.toml é um varrimento 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₀ do GNSS e do LEO de execuções spectrum, com painéis das bandas S e C.

IQ, SigMF e Welch#

[iq] desenha o modelo num instante como amostras complexas em fase e em quadratura (IQ), escreve-as 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, sobreposição de 50 %, periodogramas médios, escalados em densidade). O ruído térmico, os sinais e os emissores de interferência semelhantes a ruído são desenhados intervalo a intervalo a partir da própria densidade do modelo; um tom e um varrimento são desenhados como formas de onda reais. Apenas com emissores de interferência semelhantes a ruído, a estimativa de Welch fica a 0,1 dB do modelo (mediana). Um varrimento periódico é um espetro de riscas à sua taxa de varrimento, com ondulação e caudas para além dos limites da sua banda que o modelo suave omite: no exemplo incluído, a potência total concorda dentro de 0,02 % e o intervalo mediano difere em 0,5 dB. A captura instantânea é um ficheiro escrito para análise; nada é transmitido e nenhum equipamento de rádio é acionado.

[recording] (apenas em compilações nativas) lê uma gravação SigMF real a partir de meta_path (o ficheiro de dados tem por predefinição o mesmo nome base com .sigmf-data), estima a sua PSD e imprime-a junto do modelo nas frequências da gravação. Um ficheiro SigMF não tem calibração de potência absoluta, pelo que o relatório dá o desvio mediano e a forma, e não um nível.

Na compilação WebAssembly, as leituras de ficheiros não estão disponíveis; kshana::sigmf::read e kshana::spectrum::welch_psd funcionam sobre bytes fornecidos pela página.

Evidências#

Afirmação Etiqueta Referência independente
PSD de sinais e SSC VALIDATED Lóbulo principal de BPSK(n) com 2n × 1,023 MHz de nulo a nulo; lóbulos de BOC(1 1) centrados em ±1,023 MHz (Betz 2001); SSC 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 das suas formas fechadas de Parseval, os valores por detrás dos publicados −61,8 / −64,8 / −67,8 dB/Hz; Q = 1 (CW) e 1,5 (adaptado) (Kaplan & Hegarty §9,4); as entradas da tabela do tipo de cenário 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 na banda normalizada; 1 até à 0,36)
Cascata, J/S e cronologia de C/N₀ MODELLED Reduz-se exatamente à cadeia do tipo de cenário jamming; as potências, a cronologia e as larguras de banda dos emissores de interferência são entradas
Codec SigMF e estimativa de Welch MODELLED Ida e volta, uma transformada de Fourier discreta direta, identidades de ruído branco e de Parseval; nenhuma gravação de terceiros consta do repositório
Cascata multibanda com sinais projetados e emissores de interferência por banda MODELLED Reduz-se à cadeia da banda L (uma banda de um só componente dá os mesmos números que antes da extensão) e aos espetros de sinal validados; os sinais projetados, os emissores de interferência e as larguras de banda são entradas

Uma correção a uma abreviatura corrente: os lóbulos do espetro BOC(1 1) estão centrados em ±1,023 MHz (entre o nulo da portadora e o nulo a 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 riscas do código de espalhamento (as riscas de 1 kHz do C/A): um tom é pontuado face à envolvente suave, e não face à risca de código mais próxima.
  • Controlo automático de ganho, quantização, supressão de impulsos e filtragem por filtro notch.
  • O diagrama da antena de receção na direção do emissor de interferência para 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: o seu espetro é truncado aí, pelo que nenhuma emissão fora de banda chega a uma banda vizinha.
  • O efeito de um varrimento sobre o ciclo a taxas de varrimento comparáveis à largura de banda do ciclo: o seu C/N₀ usa o espetro médio por linha.

Referências#

  • J. W. Betz, "Binary Offset Carrier Modulations for Radionavigation," NAVIGATION 48(4), 2001.
  • E. D. Kaplan e C. J. Hegarty (eds.), 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, May/June 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/ (código-fonte: https://github.com/sigmf/SigMF).