Scenario kind pagesEdit on GitHubSource: docs/kinds/by-kind/jamming.md

jamming (scenario kind)

Scenario kind of the engine v0.38.0, family Jamming, spoofing and the spectrum. Advisory: analysis output from a research and engineering tool, not type-approved navigation equipment and not a safety-of-life service. Every label here is the engine's or the verification matrix's; a kind is MODELLED unless the matrix says otherwise (how a label is earned: the README's Evidence section).

What it does#

Link-budget jamming: J/S → effective C/N₀ → loss of lock.

One run of scenarios/jamming-demo.toml summarises as: scenario 5aac34b045c7 | jamming ON | availability under jamming 0.00 (nominal 1.00) | min tracking 0 | mean J/S 72.2 dB

Inputs#

From the schema (kshana kinds --json):

  • Required fields: seed, time, receiver, constellation
  • Optional fields: jammer, mask_deg, tracking_threshold_dbhz, degraded_margin_db, signal_power_dbw, temp_k, freq_hz, chip_rate_hz, skyline

The example scenarios/jamming-demo.toml sets, among others:

Field Value Unit
constellation.altitude_km 20200 km
constellation.inclination_deg 55 deg
constellation.phasing_f 1 not stated
constellation.planes 6 not stated
constellation.sats_per_plane 4 not stated
jammer.bandwidth_mhz 20 MHz
jammer.gain_dbi 0 dBi
jammer.jammer_type broadband text
jammer.position_ecef_m [3.9264e6, 2.7449e5, 5.0028e6] m
jammer.power_dbw 10 dBW
kind jamming text
mask_deg 5 deg

Run it#

kshana scenarios/jamming-demo.toml

3 bundled scenarios use this kind; the others are in scenarios/.

What it gives#

The scalar results of that run, with the units the engine states:

Result Value Unit
fom.availability_nominal 1 1
fom.availability_under_jamming 0 1
fom.mean_js_db 72.164862 dB
fom.min_tracking 0 count
jammer_present true flag
seed 1 1
The chart the engine writes for scenarios/jamming-demo.toml, kind jamming

Evidence#

MODELLED: the verification matrix rows that name this kind.

  • MODELLED Geometry J/S link budget, anti-jam C/N₀, per-satellite loss-of-lock Tests: gnss_denied_jamming_resilience_reference.rs.
  • MODELLED The hybrid-optical-rf report states an RF link availability, composed from quantities the engine already computes rather than from an imported climatology, and states the composition as a named rule: A_rf = I_closure * I_track, where I_clos
  • MODELLED Lunar-native jammer-to-signal ratio, effective C/N₀ and loss of lock for a selenographic surface user under a lunar surface (or raised) jammer, over the illustrative public-source Moonlight/LCNS-class constellation.
  • MODELLED The lunar-jamming report no longer rests its denial contour on one scalar.
  • and 5 more in the matrix.

The rows the run itself exercised, with the oracle the matrix gives each (the public sources are named there):

  • MODELLED Geometry J/S link budget, anti-jam C/N₀, per-satellite loss-of-lock. Oracle (InternalConsistency): Anti-jam C/N₀ link-budget equation cross-checked against an independent numpy re-derivation (shares the same closed form → InternalConsistency) plus a real-JammerTest-2024 C/N₀ degradation characterisation. 0.30 round 2, blocked (stays MODELLED): the measured JammerTest 2024 C/N0 drop against a link-budget prediction (pre-registered 6a66994b, within 3 dB) was not run because the F8.1 antenna position and pointing at
  • MODELLED Deterministic, scenario-hashed, SBOM + cross-platform golden gates. Oracle (ExternalDataset): SBOM conformance to the official CycloneDX 1.5 JSON Schema (+ valid SPDX identifiers) — an external published standard, zero validation errors over the full dependency graph; the FoM-determinism / byte-reproducibility part remains a pinned self-consistency check, so the row stays MODELLED
  • PARTNER Not provided — Kshana models signal performance, not payload/antenna hardware. Oracle (NoneKind): none: a partner-owned discipline, with no module and no test by design

Limitations#

What the run's own report says is not modelled or not validated:

  • GNSS-denied jamming resilience is MODELLED, not validated: checked against its own closed-form / analytic identity — catches transcription and coefficient errors, but is not an external oracle. (verification matrix (docs/MODELLED-RATIONALE.md))
  • Reproducibility & software assurance is MODELLED, not validated: a sub-claim is externally checked, but the whole capability composes modelled pieces, so the capability stays Modelled. (verification matrix (docs/MODELLED-RATIONALE.md))

See also#