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.

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions