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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user