docs(cfar): PR-M.4 — note Doppler-window dependency on CFAR alpha

The CFAR threshold (alpha) lives in a Q4.4 host register and is loaded
from RP_DEF_CFAR_ALPHA / _SOFT at boot (3.0 / 1.5 in Q4.4). With PR-M.2
swapping the Doppler window from a non-canonical "Hamming-ish" LUT
(PSL=-33 dB) to Dolph-Chebyshev 60 dB (PSL=-60 dB), training-cell
contamination from off-Doppler sidelobes drops by 27 dB and the
effective Pfa at the shipped alpha drops accordingly.

This commit is documentation only — defaults are not changed pre-HW.

Two operating-point options for HW bring-up:
  (a) Hold alpha — get higher Pd at lower Pfa as a free win.
  (b) Lower alpha — recover original Pfa, get even higher Pd.

Recommended bring-up procedure recorded in cfar_ca.v header:
  1. Collect noise-only frames (no targets in dwell).
  2. Measure empirical Pfa at shipped alpha=3.0 / 1.5.
  3. If Pfa < 0.5 x design target, lower alpha; otherwise hold.

Opcodes 0x23 (RP_OP_CFAR_ALPHA) and 0x2D (RP_OP_CFAR_ALPHA_SOFT) let
the host adjust at runtime without firmware change.

Files:
  * cfar_ca.v — adds "Doppler-window dependency" block to the header
    after the existing "Threshold computation" block.
  * radar_params.vh — adds a note above RP_DEF_CFAR_ALPHA pointing at
    cfar_ca.v for the rationale.
This commit is contained in:
Jason
2026-05-01 18:53:24 +05:45
parent db6b220f92
commit abde60dd7e
2 changed files with 29 additions and 0 deletions
+6
View File
@@ -229,6 +229,12 @@
// ============================================================================
// CFAR DEFAULTS
// ============================================================================
// alpha defaults below are calibrated for the Dolph-Chebyshev 60 dB Doppler
// window (PR-M, 2026-05-01). With the new -60 dB sidelobes, training cells
// suffer ~27 dB less leakage from strong off-Doppler returns than under the
// previous "Hamming-ish" -33 dB LUT — effective Pfa at fixed alpha drops
// accordingly. Re-measure during HW bring-up; opcode 0x23/0x2D adjusts at
// runtime. See cfar_ca.v "Doppler-window dependency" comment for details.
`define RP_DEF_CFAR_GUARD 2
`define RP_DEF_CFAR_TRAIN 8
`define RP_DEF_CFAR_ALPHA 8'h30 // 3.0 in Q4.4