Skip to content

Spatial diversity keeps corruption localized — the SBI precondition (#133)#147

Merged
josephnef merged 1 commit into
masterfrom
spatial-sbi
Jul 2, 2026
Merged

Spatial diversity keeps corruption localized — the SBI precondition (#133)#147
josephnef merged 1 commit into
masterfrom
spatial-sbi

Conversation

@josephnef

Copy link
Copy Markdown
Collaborator

Summary

The last substantive cross-layer piece (#133): spatial diversity keeps
corruption localized
, which is the precondition the fused-FEC sub-block-integrity
(SBI) salvage layer needs.

The mechanism

SBI salvages an FCS-failed frame by keeping its surviving CRC-guarded sub-blocks —
but only when corruption is localized. A deep fade drops SNR far enough that
the whole frame smears (frame-wide corruption) and SBI recovers nothing. Spatial
diversity cuts the SNR variance — and deep fades are variance — so it moves
frames out of the frame-wide (lost) bin into the localized (SBI-salvageable) one.
It improves SBI's precondition, not just raw delivery.

Model

Monte-Carlo correlated-Rayleigh branches (equicorrelation ρ), combined at
matched mean SNR to isolate the diversity/variance effect from MRC's array/mean
gain (that array gain is a separate delivery/energy effect). Each frame is
classified clean / localized / lost by its combined SNR.

Result (mean SNR 10 dB)

frame-wide loss SBI-salvageable of corrupt
1 chain 0.33 0.59
4-chain, ρ=0.9 (static) 0.31 0.61
4-chain, ρ=0.2 (mobile) 0.12 0.86

Static/correlated combining barely moves the frame-wide bin (consistent with the
measured "static MRC ≈ nil"); decorrelated/mobile combining collapses it and
lifts the salvageable fraction. Corruption localization is a mobility effect
largest where a long-range link lives.

Contents

  • tools/precoder/spatial_sbi_sim.py (+ pytest): --sweep-rho, --self-test.
  • docs/fused-fec.md: "Spatial diversity feeds the same precondition".

Testing

--self-test green; 6 pytest pass. Pure-Python, consistent with the sibling sims.

This completes the roadmap's substantive work (#128#136); only the speculative
#137 beam-steer study remains.

🤖 Generated with Claude Code

…133)

The SBI sub-block-salvage layer only pays when corruption is localized within a
frame; a deep fade smears it frame-wide and SBI recovers nothing. Spatial
diversity cuts the SNR *variance* (deep fades are variance), so it moves frames
out of the frame-wide (lost) bin into the localized (SBI-salvageable) one —
improving SBI's precondition, not just delivery.

- tools/precoder/spatial_sbi_sim.py (+ pytest): Monte-Carlo correlated-Rayleigh
  branches, combined at matched mean SNR to isolate the diversity/variance effect
  from the array/mean gain, classified clean / localized / lost. --sweep-rho and
  --self-test.
- docs/fused-fec.md: "Spatial diversity feeds the same precondition" in the
  localization section + module-map entry.

Result (matched mean, isolating variance — consistent with the measured
static-≈-nil / mobile-pays finding): static/correlated (ρ=0.9) barely moves the
frame-wide-loss bin (0.31 vs single-chain 0.33); mobile/decorrelated (ρ=0.2)
collapses it (0.12) and lifts the SBI-salvageable fraction of corrupt frames
0.59 → 0.86. Corruption localization is a mobility effect.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@josephnef josephnef added enhancement New feature or request spatial-diversity Spatial-diversity axis: exploiting idle RF chains for the single-stream link labels Jul 2, 2026
@josephnef josephnef merged commit 506994a into master Jul 2, 2026
13 checks passed
@josephnef josephnef deleted the spatial-sbi branch July 2, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request spatial-diversity Spatial-diversity axis: exploiting idle RF chains for the single-stream link

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant