RIGOROUS RE-TEST · STANDARD CHANNEL MODELS · REAL SATELLITE IMAGERY

The contested channel, done properly

The earlier demo used toy impairments and a generous baseline. This version is built to be scrutinized: real Sentinel-2 satellite imagery (EuroSAT), complex I/Q symbols over Rayleigh & Rician block fading with receiver channel-state information, a textbook partial-band jammer, and — most importantly — an honest outage-based digital baseline: a rate-adaptive, capacity-achieving code that drops frames when the channel can't support its rate. No thumb on the scale.

The honest headline. Against a properly strong classical system, the learned transceiver does not win everywhere — and that's the credible result. It wins exactly in the hard regime: low SNR, deep fades, and worst-case jamming. Rate-adaptive digital wins in good channels, where it exploits SNR the fixed analog code can't. The hard regime is precisely the deep-space / contested-military regime — so this maps out where the technology belongs, rather than overselling it.

1 · Rayleigh fading — the crossover

learned JSCCrate-adaptive digital (outage-coded)
23 24 26 27 29 30 -2 0 2 4 6 8 10 12 15 18 crossover SNR (dB) PSNR (dB)
Below ~6 dB the JSCC wins (at −2 dB, 25.2 vs 24.0 dB, +1.2 dB); above it, digital pulls ahead by adapting its rate. The JSCC curve is flat and never outages — it trades peak fidelity in good channels for a guaranteed floor in bad ones. Under milder Rician K=6 fading the picture is the same with the crossover pushed a little higher (JSCC wins to ~6 dB).

2 · Worst-case partial-band jamming

A jammer with a fixed power budget (JSR 10 dB) at 10 dB SNR chooses the band fraction ρ that hurts most. Small ρ = a narrow, tall spike; ρ=1 = barrage.

learned JSCCrate-adaptive digital
20 22 23 25 27 28 0.05 0.10 0.20 0.30 0.40 0.50 0.70 1.00 jammer band fraction ρ PSNR (dB)
The jammer's best move against digital is barrage (ρ=1.00), and that is exactly where the JSCC wins: 22.1 dB vs 21.2 dB. The JSCC is also far flatter across ρ — the jammer can't find a band fraction that breaks it.

3 · Averages hide lost frames

The digital number is an expected PSNR that averages delivered frames with outages (blank frames). Under worst-case barrage jamming, digital's 21.2 dB is really ~81% of frames delivered + ~19% frames totally lost. The JSCC's 22.1 dB is every frame, at consistent quality. For deep-space and targeting/ISR links — where a lost frame can't be re-sent and a blank frame is useless — that consistency is worth more than the average PSNR suggests.

4 · See it — satellite imagery, contested channel

Condition: 0dB Rayleigh + 40% partial-band jam (JSR 8dB). Top: original Sentinel-2 tiles. Middle: learned JSCC (24.8 dB). Bottom: digital (23.7 dB). The JSCC keeps land-cover structure and colour; the digital reconstruction is blockier and washes tiles out.

Honest verdict & remaining gaps

What holds up: on real satellite imagery, over standard fading with a real jammer and an honest baseline, the shared-model transceiver is the better choice in the worst conditions (low SNR, deep fades, barrage jamming) and delivers every frame with no outage — the exact properties deep-space and contested links need. It also needs no transmitter channel knowledge and no rate negotiation.

What doesn't (yet): it loses in good channels (a fixed analog code can't exploit high SNR — a real system would switch schemes adaptively). Still a simulation: no Doppler, carrier/timing recovery, hardware nonlinearity, or a reactive/follower jammer; perfect receiver CSI is assumed; the digital baseline is information-theoretic, not a specific LDPC decoder. And a neural decoder can still hallucinate detail — for science/targeting you'd transmit verifiable residuals. This is an honest map of where the idea helps, not a deployable radio.

Reproduce: python3 data.py && python3 train.py && python3 evaluate.py && python3 make_report.py. Data: EuroSAT (Sentinel-2). Model: 128 complex channel uses, ~12× bandwidth compression.