# HF SSB screening results — September 14, 2026

**FCC compliance is not established.** These offline results support further
dummy-load testing, not an on-air clearance. The signal is the actual branch
JG25-HF waveform; all radio responses are generic models.

See [method and reproduction](SSB_SCREENING.md). Windows, GCC 16 MinGW Release,
Python 3.12, NumPy 2.1.2, SciPy 1.15.2. Protocol source follows branch commit
`d91e639`; this change adds analysis tools without changing the waveform.

## Results

- **600/600** exact decodes in the noise-free sweep, including the deliberately
  overdriven cases. Successful decoding alone does not establish a clean spectrum.
- **233/240** exact decodes at **6 dB SNR in 3000 Hz**, using the two normal
  2.4/3 kHz paths. The seven failures were all H1200/F0, 384-byte payloads:
  six in the 2.4 kHz path (random, zero and alternating payloads, both sidebands)
  and one zero-payload LSB case in the 3 kHz path. Header acquisition/CRC succeeded;
  body CRC failed. These are finite seeded examples, not a statistical PER curve.
- Every sampled clean linear path stayed below 2800 Hz on the default
  diagnostics. H600/H900 have substantially more margin than H1200.
- Four H1200/F3 overdrive cases exceeded the conservative energy-containment
  screen: zero/alternating 384-byte payloads in both sidebands. The largest
  containment estimate was **3072.4 Hz**, while that path still decoded.

Worst peak-relative −26 dB **Welch** span across all payloads, FEC settings and
sidebands, at the default 8192-sample window:

| Mode | Unfiltered ideal SSB | 2.4 kHz TX | 3 kHz TX |
|---|---:|---:|---:|
| H600 | 1400.4 Hz | 1394.5 Hz | 1400.4 Hz |
| H900 | 2255.9 Hz | 2080.1 Hz | 2255.9 Hz |
| H1200 | 2794.9 Hz | 2502.0 Hz | 2771.5 Hz |

These are spectral-peak-relative estimates, not the legal mean-power
bandwidth definition. The worst H1200 99% energy bandwidths were 2509.8 Hz
unfiltered, 2346.5 Hz with 2.4 kHz TX filtering, and 2491.1 Hz with 3 kHz
TX filtering. Their smaller numbers illustrate why choosing only 99% OBW
would conceal the limited margin shown by the other diagnostics.

## Resolution sensitivity

H1200, all four FECs and five payloads, USB, three linear TX paths:

| Welch samples | FFT bin Hz | Unfiltered max PSD −26 span | 2.4 kHz TX | 3 kHz TX |
|---|---:|---:|---:|---:|
| 4096 | 11.71875 | 2800.8 Hz | 2543.0 Hz | 2777.3 Hz |
| 8192 | 5.859375 | 2794.9 Hz | 2502.0 Hz | 2771.5 Hz |
| 16384 | 2.9296875 | 2768.6 Hz | 2496.1 Hz | 2768.6 Hz |

Do not treat a result a few Hz below 2800 as robust margin. This is estimator
sensitivity, not evidence that changing analyzer settings changes legality.
Actual transmitter shaping, drive, uncertainty and spectral regrowth remain
unmeasured. The 2.4 kHz model improves spectral confinement but reduces noisy
H1200/F0 reliability in the sampled cases.

## Evidence and reproduction

The full sweep is the default invocation documented in SSB_SCREENING.md.
The noisy run adds `--profiles ssb_2400 ssb_3000 --snr-db 6` and a separate
empty output directory. The resolution tool performs 180 spectral evaluations.
Every decode uses blind acquisition and exact native-payload comparison.

The adjacent [clean CSV](qualification/ssb_clean_20260914.csv) and
[noise CSV](qualification/ssb_noise6_20260914.csv) preserve the group summaries.
The local evidence package contains complete JSON/JSONL case results, raw PSD
arrays, plots, corpus/seeds, and binary/source hashes.

Seven harness measurement/bridge tests passed, including known-tone bandwidth,
USB/LSB orientation, causal filtering, receiver/TX separation, clipping regrowth,
invalid spectra, and actual-PHY payload mismatch/silence rejection. Existing
`test_jg25_hf`, `test_jg25_hf_modem` and `test_sanitizer_coverage` also passed.

## Before air use

The [FCC bandwidth ruling](https://docs.fcc.gov/public/attachments/FCC-23-93A1.pdf)
allows higher symbol rates while retaining a 2.8 kHz limit in the applicable
HF data segments. It does not qualify this waveform or this station.
Use the intended transmitter into a dummy load and measure the actual RF
bandwidth, keying/drive effects and spurious emissions. Verify licensed
frequency placement, identification and the public documentation/code basis.
60 m needs its additional current allocation, power and primary-user checks.
The harness does not establish NVIS propagation performance.
