fix(V4B): 方案A现场复核修正 V4.04 — RELEASE_ALFA 18→21(精确τ117ms对齐PD132T) + 进入snap消除HR0/2假释放

现场金属板复测两现象:
1. 慢速抬板释放高度 V4B 仍比 PD132T 高一点(跟手速有关) — 根因: τ对齐用了近似口径
   (α18 精确τ≈137ms vs PD132T α79@43.7ms 精确τ≈118ms, α=79时 T×256/α 高估19.6%)
   + V4B 3次确认30ms。修正: RELEASE_ALFA 18→21 (精确τ≈117ms)。
2. 定在HR0/2(释放高度一半)保持~1s V4B释放、PD132T不释放 — 根因: 双滤波进入瞬态假释放
   (快滤波30ms确认进入, 慢滤波还悬在基线附近, 残余信号0.032%~0.044%时释放条件瞬时为真)。
   修正: 进入确认瞬间 snap loop1_CAPVD_slow = loop1_CAPVD (进入线恒深于离开线, 释放条件结构性为假)。

验证: gcc单测 τ fast=30ms/slow=120ms, 释放时机差 200ms ✓
仿真: 3s抬升高度差 +9mm→+3mm; 0.10%板HR0/2假释放消除 ✓
文档: devlog V2.13 + technical-spec §4.3.3
This commit is contained in:
wangfq
2026-09-01 09:46:55 +08:00
parent 9391e1b808
commit 97a7fb2dba
6 changed files with 53 additions and 8 deletions
@@ -35,7 +35,7 @@
* - 进入确认 (ENTRY_CONFIRM) 替代单次阈值判定
*===========================================================================*/
#define ALFA_CAP1 79 // IIR α = 79/256 ≈ 0.31 (@10ms → τ≈32ms)
#define RELEASE_ALFA 18 // 释放慢滤波 α = 18/256 ≈ 0.07 (@10ms → τ≈142ms, 方案A: 对齐 PD132T Flt_Reg=79 @43.7ms 释放手感)
#define RELEASE_ALFA 21 // 释放慢滤波 α = 21/256 ≈ 0.082 (@10ms → 精确τ≈117ms, V4.04: 对齐 PD132T α79@43.7ms 精确τ≈118ms; 原18→精确τ137ms偏慢)
#define USE_SLOW_RELEASE 1 // 方案A总开关: 1=释放走慢滤波(对齐PD132T) 0=原快滤波释放
#define MAX_SLOPE_RATE 5 // 斜率限幅: 单次最大变化 5% (物理限制, 拒绝 EMI 尖峰)
#define ENTRY_CONFIRM 3 // 进入确认: 连续 N 次低于阈值才判定有车
@@ -89,7 +89,7 @@ extern uint16_t loop1_CapCnt; // 当前窗口已累加次数
extern uint32_t loop1_CapSum; // 当前窗口累加和
extern uint32_t loop1_Value; // 一个测量窗口的原始 ΣXn
extern uint32_t loop1_CAPVD; // IIR 滤波后的频率值
extern uint32_t loop1_CAPVD_slow; // 释放判定慢滤波值 (方案A: 独立 IIR, τ≈142ms, 对齐 PD132T 释放手感)
extern uint32_t loop1_CAPVD_slow; // 释放判定慢滤波值 (方案A: 独立 IIR, 精确τ≈117ms, 对齐 PD132T 释放手感)
extern uint32_t loop1_Origin; // 基线(无车时的参考频率)
extern uint32_t loop1_ORG_SUM; // 基线跟踪累加和
extern uint16_t loop1_ORG_CNT; // 基线跟踪计数(窗口=100
+2 -2
View File
@@ -14,10 +14,10 @@
#define __CMCNG_H__
#define PRODUCT_MODEL "DLD154"
#define FIRMWARE_VER "4.03"
#define FIRMWARE_VER "4.04"
#define HARDWARE_VER "3.00"
#define FIRMWARE_VER_MAIN 4
#define FIRMWARE_VER_SUB 3
#define FIRMWARE_VER_SUB 4
#define HARDWARE_VER_MAIN 3
#define HARDWARE_VER_SUB 0
@@ -783,6 +783,12 @@ void vd1_task(void)
loop1_entry_cnt = 0;
loop1_freeze_cnt = 0;
loop1_freeze_ref = 0;
#if USE_SLOW_RELEASE
/* V4.04: 进入瞬态假释放修正 — snap 慢滤波到当前快滤波值
* 进入线(档3: 0.032%)恒深于离开线(0.021%), snap 后释放条件结构性为假,
* 消除"定在HR0/2保持即释放"窗口(2026-09-01 仿真+现场复核) */
loop1_CAPVD_slow = loop1_CAPVD;
#endif
if (!SET_SAFE) {
loop1_LC_HOLD = 1;