Traducción automática, no revisada por un hablante nativo. El inglés es la referencia.

Integridad e interferenciaEditar en GitHubFuente: docs/SPECTRUM.md

Modelo de espectro y cascada

El tipo de escenario spectrum construye la banda L del Sistema Global de Navegación por Satélite (GNSS), y cualquier otra banda que ocupe una señal diseñada (frecuencia ultraalta (UHF), banda S, banda C), como una única densidad espectral de potencia (PSD), la hace cambiar a lo largo de una cronología programada de inhibidores y la reduce a lo que le importa a un lazo de seguimiento: la relación inhibidor-señal (J/S) y la relación efectiva portadora-densidad de ruido (C/N₀) de cada banda. Dibuja el resultado como una cascada (frecuencia en horizontal, tiempo hacia abajo, color para la potencia) junto a barras de C/N₀ por banda, y lee y escribe grabaciones en el Formato de Metadatos de Señal (SigMF), de modo que una captura real pueda estimarse y representarse junto al modelo.

Escriba el ejemplo incluido en un archivo y ejecútelo:

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

En una copia de trabajo, kshana scenarios/l-band-waterfall-jamming.toml ejecuta el mismo archivo.

Código: src/spectrum.rs (el modelo, el tipo, el estimador de Welch), src/sigmf.rs (el códec de grabaciones), src/navsignal.rs (los espectros de señal de área unitaria y el coeficiente de separación espectral) y src/leo_signal.rs (los perfiles de diseño de señal que puede nombrar una banda).

Lo que se modela#

Banda Portadora Modulación Potencia recibida predeterminada Ancho de banda del receptor predeterminado
gps-l1ca 1575,42 MHz modulación por desplazamiento de fase binaria, BPSK(1) −158,5 dBW (IS-GPS-200) 2,046 MHz
galileo-e1 1575,42 MHz portadora de desplazamiento binario multiplexada, MBOC(6,1,1/11), o portadora de desplazamiento binario 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 y CL multiplexados en el tiempo) −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 (Sistema de Posicionamiento Global) L1 C/A es el código de adquisición gruesa; L2C es la señal civil L2; IS-GPS-200 e IS-GPS-705 son las especificaciones de interfaz de GPS; Galileo OS SIS ICD es el Documento de Control de Interfaz de la Señal en el Espacio del Servicio Abierto de Galileo. Las potencias recibidas son los mínimos de la especificación; los anchos de banda son decisiones de modelado. Ambos pueden sustituirse por banda. Sin una tabla [[bands]], la ejecución usa estas cinco. GLONASS G1/G2, BeiDou B1/B2 y Galileo E6 no figuran entre las bandas con nombre.

Una entrada [[bands]] adopta una de tres formas:

  • un nombre de la tabla anterior, con signal_power_dbw y rx_bandwidth_mhz opcionales y, para galileo-e1, modulation = "boc11";
  • signal = "<preset>": un diseño de señal de órbita terrestre baja (LEO) o representativo de la biblioteca de perfiles del tipo leo-signal (LEO-SIGNAL.md), en cualquier banda, dibujado con todos sus componentes (adquisición, datos, piloto, subportadoras de división de frecuencia) y limitado en banda a su ancho de banda de transmisión; C/N₀ y J/S se refieren al componente seguido, y name solo lo etiqueta. Los perfiles son 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 y generic-c-wide;
  • una banda personalizada: cualquier name con centre_mhz, modulation (BPSK(n), BOC(m,n) o MBOC(6,1,p)) y signal_power_dbw.

Los inhibidores ([[jammers]]) adoptan una waveform:

  • cw: un tono de onda continua (CW) en centre_mhz;
  • narrowband: ruido plano en bandwidth_mhz;
  • wideband: ruido plano en un bandwidth_mhz ancho (un inhibidor de barrera): la misma densidad que narrowband, nombrado aparte porque el tipo jamming lo puntúa como de banda ancha;
  • chirp: un barrido lineal en diente de sierra de bandwidth_mhz cada sweep_period_us;
  • matched: ruido de banda ancha cuyo espectro es la propia modulación de la banda matched_to.

Cada uno da bien received_power_dbw, o bien una potencia isótropa radiada efectiva eirp_dbw con una range_m (y opcionalmente rx_gain_dbi), que pasa por la pérdida de trayecto en espacio libre del tipo jamming. on_s y off_s programan la cronología.

El receptor ([receiver]) fija el suelo de ruido, N₀ = k·T_sys con T_sys = T_ant + 290 K × (F − 1) para la temperatura de antena T_ant y la figura de ruido F, y el umbral de seguimiento.

La cascada principal cubre [grid] (de 1160 a 1590 MHz en 430 contenedores por defecto). Cada entrada [[panels]] (name, f_min_mhz, f_max_mhz, n_freq, 200 contenedores por defecto) añade otra cascada sobre su propio intervalo de frecuencias en la misma cronología, para un espectro que abarca varias bandas.

La cadena de interferencia#

Para una señal de espectro de área unitaria G_s y un inhibidor de espectro de potencia unitaria G_j, el coeficiente de separación espectral (SSC) sobre la banda del receptor B es κ = ∫_B G_s(f) G_j(f) df, y la densidad efectiva portadora-ruido con varios inhibidores es

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

(Betz 2001; Kaplan & Hegarty, Understanding GPS/GNSS, 3.ª ed., §9,4). Para un solo inhibidor, esta es exactamente la ecuación antiinterferencia del tipo jamming con Q = 1/(R_c κ); el bloque jamming_kind_cross_check del informe ejecuta las propias funciones del tipo jamming con las mismas entradas de enlace e imprime la diferencia, que es cero salvo redondeo.

El informe imprime también el C/N₀ que da el tipo jamming con su tabla de Q. La tabla contiene los valores de los manuales, fijados en las pruebas a las formas cerradas:

  • CW y banda estrecha: Q = 1. Un tono CW sobre la portadora C/A tiene κ = T_c, por lo que Q = 1, y la tabla y los espectros concuerdan. En el ejemplo incluido, el tono da 17,98 dB-Hz con ambos (la tabla daba 19,74 cuando contenía 1,5).
  • Banda ancha y barrido: Q = 2, desde la 0,36. Es ruido blanco sobre el lóbulo principal con la potencia de señal en banda normalizada a uno, κ = 1/(2R_c). La tabla contenía 1 hasta la 0,36, unos 3 dB pesimista (xval/jammer-q/PREREGISTRATION.md).

El modelo de espectro deriva sus propios valores de los espectros:

  • Q = 1.5 para ruido adaptado a C/A (κ = 2/(3R_c));
  • Q = 2.2 para ruido plano de nulo a nulo sin la normalización (2/0.9028).

Así que, para esos inhibidores, los dos valores de C/N₀ impresos siguen difiriendo, por diseño.

Cada celda de la cascada es la PSD promediada sobre su contenedor de frecuencia y su fila. Un chirp se promedia exactamente sobre la fila, con los barridos completos más el parcial; un inhibidor que se activa o se desactiva a mitad de fila se pondera por su ciclo de trabajo. La cronología de C/N₀ usa los mismos promedios, de modo que la imagen y los números concuerdan. Por banda, la cronología informa de la J/S en banda (potencia del inhibidor dentro del ancho de banda del receptor sobre la potencia de la señal). Por inhibidor y banda, el informe da el SSC, Q, la J/S total, la J/S en banda y el C/N₀ estacionario.

El ejemplo incluido#

scenarios/l-band-waterfall-jamming.toml: una cronología de 60 s, una fila por segundo, una antena de 290 K y una figura de ruido de 2 dB (suelo −201,98 dBW/Hz).

  • De 10 s a 40 s: un chirp de 16 MHz en torno a L1, barridos de 9 µs, 50 mW a 100 m.
  • Desde 30 s: un tono CW sobre la portadora L1, 10 mW a 1 km.
  • Desde 45 s: ruido plano de 2 MHz en L2 recibido a −135 dBW.

Lo que calcula la ejecución:

Banda C/N₀ nominal C/N₀ mínimo Primera pérdida Filas con seguimiento
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 %

El tono CW es la razón por la que las dos señales L1 se separan a los 40 s. Cae sobre el pico del espectro de C/A y mantiene C/A en 17,98 dB-Hz, por debajo del umbral de 25 dB-Hz. Cae en el nulo del espectro MBOC, de modo que Galileo E1 vuelve a su C/N₀ nominal cuando cesa el chirp.

Las propias señales quedan unos 20 dB por debajo del suelo de ruido, por lo que la cascada muestra el suelo y los inhibidores; las barras de C/N₀ muestran lo que recupera el desensanchamiento.

Los mismos inhibidores impulsan una misión encadenada en scenarios/campaign-spectrum-holdover-integrity.toml (véase CAMPAIGNS.md): el reloj mantiene el holdover mientras el chirp está activo, y el receptor recurre a Galileo E1 bajo el tono CW.

Más allá de la banda L#

scenarios/multi-band-jamming-waterfall.toml sitúa señales de posicionamiento, navegación y temporización (PNT) LEO en cuatro bandas junto a GPS L1 C/A y Galileo E5a, cada banda con su propio inhibidor, en una cronología de 60 s. La cascada de [grid] es la banda L; tres [[panels]] añaden UHF (de 455 a 475 MHz), S (de 2482 a 2502 MHz) y C (de 5005 a 5035 MHz).

  • 10 s: un tono CW en la portadora UHF, −120 dBW recibidos.
  • 20 s: el chirp del ejemplo de banda L (16 MHz en torno a L1, barridos de 9 µs, 50 mW a 100 m).
  • 30 s: ruido de banda ancha, 40 MHz en torno a 1185 MHz, −118 dBW.
  • 40 s: ruido de banda estrecha, 2 MHz en la portadora S, −128 dBW.
  • 50 s: ruido adaptado al propio espectro de la señal de banda C, −124 dBW.

Lo que calcula la ejecución (el C/N₀ de las señales diseñadas es el del componente seguido, por lo que el valor nominal queda por debajo de la potencia total recibida en la fracción que corresponde al componente seguido):

Banda Señal Portadora C/N₀ nominal C/N₀ mínimo Filas con seguimiento
generic-uhf representativa, BPSK(5), −150 dBW 465 MHz 49,41 dB-Hz 34,38 dB-Hz 100 %
gps-l1ca mínimo de la especificación 1575,42 MHz 43,48 dB-Hz 3,38 dB-Hz 33 %
galileo-e5a mínimo de la especificación 1176,45 MHz 46,73 dB-Hz 38,51 dB-Hz 100 %
xona-x5 diseño publicado, −144,9 dBW 1190,51625 MHz 54,51 dB-Hz 46,29 dB-Hz 100 %
generic-s representativa, BPSK(5), −150 dBW 2492,028 MHz 49,23 dB-Hz 41,69 dB-Hz 100 %
generic-c-band-leo representativa, BPSK(10), −152 dBW 5020 MHz 47,41 dB-Hz 40,35 dB-Hz 100 %

Solo el chirp deja sin señal (GPS L1 C/A, desde los 20 s). Cada uno de los demás inhibidores degrada solo la banda que alcanza su espectro: el ruido adaptado de banda C, por ejemplo, tiene un SSC de −71,87 dB/Hz con la señal de banda C y por debajo de −133 dB/Hz con todas las demás bandas.

La misma maquinaria impulsa los escenarios de resiliencia LEO-PNT (LEO-PNT.md):

  • scenarios/leo-resilience-js-margin.toml hace avanzar un inhibidor de barrera de 40 MHz a 1185 MHz en pasos de 5 dB cada 10 s desde −125 dBW. GPS L5 se pierde en el paso de −105 dBW, Galileo E5a en −100 dBW y Xona X5 en −95 dBW, mientras que una señal representativa de banda L LEO recibida a −135 dBW sigue siendo seguida a −90 dBW: la potencia recibida compra margen de J/S dB por dB.
  • scenarios/leo-resilience-multiband-diversity.toml es un barrido de campaña de una ejecución spectrum sobre la potencia de una barrera en banda L5 (CAMPAIGNS.md).
  • scenarios/leo-resilience-gnss-jammed-leo-carries.toml es una campaña encadenada cuyas fases leen el C/N₀ de GNSS y de LEO de ejecuciones spectrum, con paneles de banda S y C.

IQ, SigMF y Welch#

[iq] dibuja el modelo en un instante como muestras complejas en fase y cuadratura (IQ), las escribe como una grabación SigMF (cf32_le o ci16_le), vuelve a leer la grabación y estima su PSD por el método de Welch (ventana de Hann, 50 % de solapamiento, periodogramas promediados, escalado por densidad). El ruido térmico, las señales y los inhibidores de tipo ruido se dibujan contenedor a contenedor a partir de la propia densidad del modelo; un tono y un chirp se dibujan como formas de onda reales. Con solo inhibidores de tipo ruido, la estimación de Welch queda a 0,1 dB del modelo (mediana). Un chirp periódico es un espectro de líneas a su velocidad de barrido, con rizado y colas más allá de los bordes de su banda que el modelo suave omite: en el ejemplo incluido, la potencia total concuerda al 0,02 % y el contenedor mediano difiere en 0,5 dB. La instantánea es un archivo escrito para su análisis; no se transmite nada y no se maneja hardware de radio.

[recording] (solo en compilaciones nativas) lee una grabación SigMF real desde meta_path (el archivo de datos toma por defecto el mismo nombre base con .sigmf-data), estima su PSD y la imprime junto al modelo en las frecuencias de la grabación. Un archivo SigMF no tiene calibración absoluta de potencia, por lo que el informe da el desfase mediano y la forma, no un nivel.

En la compilación WebAssembly no están disponibles las lecturas de archivos; kshana::sigmf::read y kshana::spectrum::welch_psd funcionan con los bytes que aporta la página.

Evidencias#

Afirmación Etiqueta Referencia independiente
PSD de señal y SSC VALIDATED Lóbulo principal de BPSK(n) de 2n × 1,023 MHz de nulo a nulo; lóbulos de BOC(1.1) centrados en ±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 de sus formas cerradas de Parseval, los valores que hay tras los publicados −61,8 / −64,8 / −67,8 dB/Hz; Q = 1 (CW) y 1,5 (adaptado) (Kaplan & Hegarty §9,4); las entradas de la tabla del tipo jamming coinciden con las formas cerradas: CW y banda estrecha Q = 1, banda ancha y barrido Q = 2 (ruido blanco sobre el lóbulo principal, potencia en banda normalizada; 1 hasta la 0,36)
Cascada, J/S y cronología de C/N₀ MODELLED Se reduce exactamente a la cadena del tipo jamming; las potencias de los inhibidores, la cronología y los anchos de banda son entradas
Códec SigMF y estimación de Welch MODELLED Ida y vuelta, una transformada de Fourier discreta directa, identidades de ruido blanco y de Parseval; no hay ninguna grabación de terceros en el repositorio
Cascada multibanda con señales diseñadas e inhibidores por banda MODELLED Se reduce a la cadena de banda L (una banda de un solo componente da los mismos números que antes de la ampliación) y a los espectros de señal validados; las señales diseñadas, los inhibidores y los anchos de banda son entradas

Una corrección a un atajo habitual: los lóbulos del espectro de BOC(1.1) están centrados en ±1,023 MHz (entre el nulo de la portadora y el nulo en 2,046 MHz), pero el máximo de la PSD está en ±0,759 MHz, donde tan y = 2y con y = πf/(2R_c). Las pruebas fijan ambos.

No modelado#

  • Estructura de líneas del código de ensanchamiento (las líneas de 1 kHz de C/A): un tono se puntúa frente a la envolvente suave, no frente a la línea de código más próxima.
  • Control automático de ganancia, cuantización, supresión de pulsos y filtrado de rechazo de banda.
  • El diagrama de la antena receptora hacia el inhibidor más allá de una cifra de ganancia.
  • Interferencia de acceso múltiple entre satélites de una misma banda.
  • Las emisiones de una señal diseñada fuera de su ancho de banda de transmisión: su espectro se trunca allí, de modo que ninguna emisión fuera de banda llega a una banda vecina.
  • El efecto de un chirp sobre el lazo a velocidades de barrido comparables al ancho de banda del lazo: su C/N₀ usa el espectro promediado por fila.

Referencias#

  • J. W. Betz, "Binary Offset Carrier Modulations for Radionavigation", NAVIGATION 48(4), 2001.
  • E. D. Kaplan y 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, mayo/junio 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.
  • Especificación SigMF, https://sigmf.org/ (código fuente: https://github.com/sigmf/SigMF).