Skip to content

Epic: spatial-diversity axis — exploiting idle RF chains for the single-stream video link #127

Description

@josephnef

The third diversity axis

devourer's long-range single-stream video link already exploits two physical-layer
diversity axes:

  • frequency — single-adapter per-packet hopping (docs/frequency-hopping.md),
    which doubles as a frequency-diversity interleaver for the outer FEC;
  • code — the fused cross-layer FEC stack (docs/fused-fec.md): sub-block
    integrity salvage, an MDS outer code, soft-decision inner decode, and
    per-temporal-layer unequal error protection.

The spatial axis is unexploited. Because a single-stream video link never
stacks spatial streams, the extra RF chains (1 idle on a 2T2R part, up to 3 on a
4T4R 8814) sit unused. Turning them into diversity/robustness rather than
throughput is almost pure upside for this use case: it is USB-free (one
stream in, one stream out — no MIMO-multiplexing bandwidth hit), and it composes
multiplicatively with the frequency and code axes already in place.

The single hard constraint (from docs/frequency-hopping.md): there is one LO
per chip
, so the chains share one centre frequency — they give spatial
diversity within a channel, orthogonal to (not a substitute for) the frequency
diversity that hopping provides.

Why this matters

  • RX MRC across a 4T4R chip's chains is a ~10·log₁₀(N) dB SNR win from a
    single ground adapter — partially replacing wfb-ng's multi-adapter diversity
    array, in-chip, at zero USB cost.
  • TX diversity (CSD / STBC) attacks the deep fades that push corruption
    into the frame-wide regime where sub-block salvage fails — so spatial diversity
    improves the precondition of the whole fused-FEC stack, not just its input.
  • Chain count is a new lever for the energy-minimizing adaptive link
    (docs/adaptive-link.md), which today has no spatial knob: a convex
    PA-power-saved vs chain-baseline-added tradeoff with an optimal N per range,
    and a per-layer spatial UEP knob alongside modulation and FEC.

Approach

Research/design track — simulators, measurement harnesses, and conceptual docs
first (the way the frequency and code axes were developed), hardware validation
following. Each activity is a separate tracked issue.

Roadmap

Foundations

Core diversity techniques

Cross-layer composition

Speculative

Key finding from #130 — re-prioritisation (2026-07-02)

The on-hardware RX-MRC measurement changed the picture: static spatial-diversity
gain is small
(MRC over the best single chain was 2–10% across both 8814 SKUs,
1M/6M, several positions), because the chains' instantaneous channels are
effectively correlated at a fixed position — even for the adapter whose rotation
N_eff was 3.8. Rotation-decorrelation does not translate to a static-link
benefit.
The value of spatial diversity is in mobility / fading, where the
best chain constantly changes, plus antenna-selection insurance (~60× vs the worst
chain). This reshapes the roadmap:

  1. Linchpin — mobile/fading combining measurement ✅ DONE, thesis CONFIRMED
    (PR Mobile combining measurement: RX-path toggle + mobility analyzer (spatial-diversity #130) #142).
    Toggling a fixed chain vs all-4 while moving the RX: under motion
    the best chain constantly shifts, so a fixed antenna hits deep-fade dropouts
    that MRC eliminates (half the delivery variance) — static +2 % → moving +17 %
    on the 4-internal 8814. That is the moving-drone FPV case, so the spatial
    techniques (STBC, spatial×FEC, energy lever) are worth pursuing for the
    mobile scenario
    . Bonus finding: physical antenna spacing decides static
    benefit
    — wide external dipoles decorrelate even at rest (+17 % static), a
    packed internal array only under motion; this can invert the rotation N_eff
    ranking (spacing > count for real fading).
  2. Frequency diversity is immune to the static-correlation problem — different
    channels fade independently regardless of motion. So Spatial × frequency — space-frequency interleave for the outer FEC #134 (space×frequency)
    rises in priority
    : lead with the frequency axis (hopping, already shipped),
    which delivers real diversity even static.
  3. ANTSEL per-frame antenna-selection diversity probe (rescoped from CSD) #131 (antenna selection) is validated as "nearly as good as MRC" at static
    — selection of the best chain captured most of the benefit (MRC added only a
    few %). Simpler than combining; worth the ANTSEL probe.
  4. Spatial × energy — active-chain count as an adaptive-link lever #135 (energy lever) gets a sharper thesis — since extra chains add little
    at static, a ground station should run fewer chains to save baseline power
    and light up chains only under fading/motion. Chain count adapts to fade
    state, not just range.

Sequencing (updated)

#128, #129, #130 ✅ → mobile combining measurement ✅ (thesis confirmed,
PR #142)
#134 (frequency-led diversity) + #131 (selection) → #132 (STBC,
now justified for the mobile case) → #133, #135, #136 (composition) → #137.

Current-state anchors

  • CSD is chip-validated; STBC lives in the radiotap path but on-air STBC is
    unresolved; 4-path RF is supported for the 8814.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestspatial-diversitySpatial-diversity axis: exploiting idle RF chains for the single-stream link

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions