chore: merge chirp-directions-integration into master (deliver PR #39 content) #40

Merged
ykp merged 2 commits from chirp-directions-integration into master 2026-09-28 17:23:44 +02:00
Owner

Repair PR (operator-approved). PR #39 (Double Chirp normalisation + MAX_TAPS 512 / SHAPE_FACTOR 1.08) was stacked on chirp-directions-integration and merged into that branch, so its content never reached master.

Merging this branch delivers the missing commit e2e7d6b (normalisation + constants) to master. No new code — the content was already reviewed and merged as #39. The only shared file with the spec PR (doc/spec.md) has disjoint hunks.

Repair PR (operator-approved). PR #39 (Double Chirp normalisation + `MAX_TAPS` 512 / `SHAPE_FACTOR` 1.08) was stacked on `chirp-directions-integration` and merged into **that branch**, so its content never reached master. Merging this branch delivers the missing commit `e2e7d6b` (normalisation + constants) to master. No new code — the content was already reviewed and merged as #39. The only shared file with the spec PR (`doc/spec.md`) has disjoint hunks.
- chirp.py: generate_double_chirp adds a NORMALISATION step — after
  summing the up + down bases at the optimal phase, the combined base's
  peak is scaled to full scale (1.0) before the phase-2 repeat. This
  revises the ticket-41 A1 default (each component still carries its
  full band Level; without the step the sum can approach 2x a single
  chirp's peak) so the phase-2 repeat and the CFR post-chain receive an
  unclipped signal. Docstring + spec 5.2.1c updated to the revised
  semantics.
- bandpass.py: MAX_TAPS 4096 -> 512, SHAPE_FACTOR 1.1 -> 1.08 (operator
  request); pipeline.py docstring follows.
- tests: test_bandpass.py fixtures derive FTRANS from the module
  constant (bandpass.SHAPE_FACTOR) instead of a hardcoded 1.1;
  test_double_chirp.py — the A1 no-compensation test is replaced by
  test_combined_base_normalised_to_full_scale (peak == 1.0 for both the
  single-block and repeated outputs) and the element-wise base test
  normalises its expected vector the same way; test_pipeline.py
  docstring comment updated.

Gate: pytest 1203 passed / 63 skipped (headless tier, master + this
stack), ruff + mypy clean.
Reviewed-on: https://git.ymslws.v6.rocks/ykp/gensig/pulls/39
ykp merged commit f301d59b0f into master 2026-09-28 17:23:44 +02:00
Sign in to join this conversation.
No description provided.