test(integration): chirp-directions round close-out (ticket 42) #38
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
ykp/gensig!38
Loading…
Reference in a new issue
No description provided.
Delete branch "chirp-directions-integration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Backlog ticket 42 — the final ticket of the chirp-directions round (39–41 shipped as PRs #34/#36/#37). No production-code changes expected and none made, except one pre-existing defect the integration pass exposed:
manual_tests/cola_chirp.pystill referenced the pre-renameWAVEFORM_CHIRPconstant (missed by ticket 39's rename) — repaired toWAVEFORM_UP_CHIRP.Integration battery —
tests/test_chirp_directions_integration.py(new, 36 tests)Full-chain across all three chirp types:
generate(project)→ post chain → SigV3.1 write → read-back (sig_io.read_sig) with header metadata (Fe/FrequenceHF/BandeFI) per chirp type; byte-determinism (same project ⇒ same bytes; Double Chirp's θ* stable across runs); the operator scenario matrix (18 scenarios × 3 chirp types: single-band, multi-band equal + unequal levels, constant-BT, band-isolated, time-aligned overall); Double Chirp finite-PAPR optimum at the.siglevel; L12/L14 refusals shared across the family.Fixture note: band-isolated scenarios use a 33 MHz gap — adjacent-band fixtures (0 MHz gap) correctly refuse per the 1.1× max-BW isolation rule, so the battery uses well-separated fixtures instead.
Manual explorer —
manual_tests/cola_chirp_directions.py(new)Headless (
--helpworks without a display, imports never require one), mirroring thecola_chirp.pypattern:--waveform Up Chirp/--waveform Down Chirp— per-band seam explorer: measured seam level 0.7500 matches the predicted voltage COLA-weighted average for the 100/50 fixture, phase-continuity delta ~1.9e-2 rad, interior flatness ripple 4.4e-16; identical seam stats for both directions (mirror symmetry eyeball-checked)--double-chirp— Double Chirp θ sweep panel: θ* ≈ 43.7°, PAPR 2.55 dB at the optimum vs 2.60 dB at θ=π on the default fixture; the coarse grid best and the refinement agreecola_chirp.pysmoke-tested for both mode-0 and constant-BTSpec consistency pass —
doc/spec.md§1 overview lists all 8 types; §2 diagram dispatch line covers the full dispatch (Up/Down/Double Chirp / Comb / Comb IQ / AGWN / Multi IQ / Other IQ); §3.1
ChirpDurationrow uses family wording ("only used by the chirp family"); §5.2.1 heading now cross-references the shipped variants (§5.2.1b Down / §5.2.1c Double, not "later tickets"); §7 L8 already says "all chirp types" ✓; §9 renumbered 1–7 with the new determinism (incl. the Double Chirp phase search — seed-free), mirror-symmetry and I/O battery notes. Grep confirms no stale bare-"Chirp" waveform-type references and consistent 8-option counts.Backlog archive (local, gitignored)
Round-8 table marked ✅ done with the wave summary (W1 39 → W2 40 → W3 41 → W4 42, all shipped; operator decisions + resolved assumptions A1/A2 recorded; integration notes documented). Tickets 39–42 archived into
doc/done/with README entries (38's previously-missing entry added too).Gate
pytest: 1239 passed / 63 skipped (headless tier) — includes the new batteryruff+mypy: clean (69 files)