Beam-steer feasibility study for a moving broadcast source (#137)#148
Merged
Conversation
…lative) Quantifies the go/no-go: an N-element array buys up to 10log10(N) dB directive gain, but it must point, and a broadcast FPV downlink has no per-packet CSI — only a slow, coarse return-channel direction, on a moving platform. The sim models the array-factor roll-off vs pointing error and a pointing-error budget (rate x update-latency + CSI resolution), and compares the realised beam gain against the measured feedback-free STBC gain (2.5 dB, no pointing). Verdict: for a moving drone (e.g. 90 deg/s, 0.2 s return-channel latency, 10 deg CSI resolution) the ~28 deg pointing error lands the beam in a null (-17 dB) — far worse than a single antenna. Beam-steering a moving broadcast source is a no-go; feedback-free diversity (STBC/MRC, measured) wins. Only a slow / known-geometry case (fixed relay, stabilised gimbal) clears STBC. tools/precoder/beamsteer_feasibility_sim.py + pytest; --sweep and --self-test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Jul 2, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The last (speculative) roadmap item, #137 — a feasibility study for TX
beam-steering a moving broadcast source, grounded in a small sim rather than
hand-waving.
The question
Coherent N-element beamforming buys up to 10·log10(N) dB directive gain (and its
EIRP-per-PA-watt scales with N — the #135 energy lever at its strongest). But it
must point, and a broadcast FPV downlink has no per-packet CSI — only a slow,
coarse direction from the return channel, on a moving platform. Does the
realised gain, after the pointing error a moving source suffers, beat the
feedback-free diversity (STBC/MRC) we already measured — which needs no pointing?
Model & result
Array-factor roll-off vs pointing error, and a pointing-error budget
= rate × update-latency + CSI resolution, compared to the measured STBC gain(2.5 dB).
pointing error 28° → beam lands in a null, -17 dB — far worse than a
single antenna.
Verdict
No-go for a moving broadcast source — the pointing budget blows long before
the beam pays, so feedback-free diversity (STBC/MRC, measured to work) wins.
Beam-steering is only viable for a slow or known-geometry case (fixed relay,
stabilised gimbal). This closes #137 as assessed.
Idealisation caveat: an ideal λ/2 ULA — an upper bound, since real adapter
antennas aren't a calibrated phased array.
Contents
tools/precoder/beamsteer_feasibility_sim.py(+ pytest):--sweep,--self-test.--self-testgreen; 5 pytest pass. This completes the spatial-diversityroadmap (#127): #128–#136 landed, #137 assessed no-go.
🤖 Generated with Claude Code