tests: Jaguar3 static-IGI penalty measurement — DIG not worth porting (#190)#192
Merged
Conversation
…build) Measures whether Jaguar3's static initial gain (no DIG) costs RX delivery under a rising interference floor, vs the FA-driven DIG the older families run — the "measure first" gate #190 asks for before porting DIG. A/B under one swept B210 AWGN interferer: 8822EU (J3, static IGI) vs 8822BU (J2, dig_step), same marginal beacon (8812AU, TX power dialled low via the runtime knob so the noise sweep reaches a delivery cliff). Delivery = the final <devourer-tx-hit>hits=N; IGI + FA from <devourer-energy>. Result (6-point sweep, 46-86 dB): the 8822EU held ~8100 hits FLAT from 46 to 78 dB with IGI pinned at 32 and false alarms low (1-30), cliffing only at 86 (50% crossing 82.0 dB). The 8822BU's DIG raised IGI 28->62 (spread 32, confirming it adapts) but ran high FA (191-494) and cliffed ~7 dB earlier (75.3 dB). Static-IGI penalty = -6.7 dB — i.e. the static IGI was BETTER, not worse: the 8822EU's newer BB keeps FA suppressed at a fixed IGI, so there is no early delivery droop for DIG to recover. Conclusion (#190 decision criterion, >=3 dB justifies / <=1 dB does not): do NOT port DIG to Jaguar3. The parity gap is cosmetic, not functional. The harness is kept as the reusable evidence + a re-run path if a future board shows the symptom. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Addresses #190 (measure-before-build gate).
Question
Jaguar3 sets IGI once at bring-up and never adapts, while Jaguar1 (
PhydmWatchdog) and Jaguar2 (dig_step) run FA-driven DIG. #190 asked to measure the static-IGI penalty on the 8822EU before porting DIG — does a rising interference floor actually cost RX delivery when IGI stays pinned?Method
tests/j3_dig_penalty_sweep.sh— A/B under one swept B210 AWGN interferer:dig_step)Per (chip, noise-gain) cell: delivery = final
<devourer-tx-hit>hits=N; IGI + false-alarm rate + IGI spread from<devourer-energy>(DEVOURER_RX_ENERGY_MS).Result (6-point sweep, 46–86 dB AWGN gain)
Static-IGI penalty = J2 crossing − J3 crossing = −6.7 dB — the static IGI was better, not worse.
Conclusion
Do not port DIG to Jaguar3. The tell is in the FA column: the 8822EU's static IGI=32 already keeps false alarms suppressed (newer BB / AGC tables), so its delivery holds flat across a 32 dB noise sweep — there is no early droop for DIG to rescue. Per #190's own decision criterion (≥3 dB justifies, ≤1 dB does not), the gap is negative. The parity gap is cosmetic, not functional.
Caveat kept honest: absolute delivery isn't apples-to-apples across two different BBs, but the load-bearing observation is per-chip — the J3's IGI-pinned curve stays flat until saturation and never droops mid-sweep, which is exactly what DIG would exist to prevent.
This PR lands the harness only (no library change) as the reusable evidence and a re-run path if a future board shows the symptom. Recommend closing #190 as measured-not-needed once merged.
🤖 Generated with Claude Code