feat(V4B): V4.36.26 — 低Q 发散治理剂量加大: τ85ms + 释放后 Origin 冻结 500ms
用户拍板方案 A (V4.36.19 仍偶发, 有改善 → 剂量中等+治本一起上) - REL_ALFA 46→30: 低Q 释放平滑 τ≈50→85ms (削抖动带宽更狠) - 带回保持 REL_BAND_LO_MULT=150(35): 触发-释放回滞 14 counts 不压缩 (防抖落) - 治本 REL_ORIGIN_FREEZE_TICKS=50: 释放确认后 Origin 均值窗冻结 500ms, 切断「释放残余→Origin 学入→释放线漂移→cycle 间发散」正反馈 - 冻结只挡均值窗; INIT_VD 清零 语法0 error, 4测试全绿; spec V2.43 / devlog V2.62
This commit is contained in:
@@ -44,6 +44,7 @@ uint32_t loop1_CAPVD;
|
||||
uint32_t loop1_CAPVD_slow = 0; // 释放判定慢滤波值 (方案A)
|
||||
uint32_t g_rel_smooth = 0; // V4.36.19: 低Q 释放平滑值 (τ≈50ms, 复刻打印降采样平均效应)
|
||||
uint8_t g_q_lo = 0; // V4.36.19: 低Q 档标志 (空场 f>100kHz, update_q_confirm_need 同步)
|
||||
uint16_t g_origin_freeze_tick = 0; // V4.36.26: 释放后 Origin 均值窗冻结计数 (500ms, 切断 cycle 正反馈)
|
||||
uint32_t loop1_Origin;
|
||||
uint32_t loop1_ORG_SUM;
|
||||
uint16_t loop1_ORG_CNT;
|
||||
@@ -522,6 +523,7 @@ void INIT_VD(void)
|
||||
g_stab_base = 0;
|
||||
g_rel_smooth = 0; /* V4.36.19: 低Q 释放平滑清零 */
|
||||
g_q_lo = 0; /* V4.36.19: 低Q 档标志清零 */
|
||||
g_origin_freeze_tick = 0; /* V4.36.26: 释放冻结计数清零 */
|
||||
loop1_CAP_OK = 0;
|
||||
loop1_CAPVD = 0;
|
||||
loop1_CAPVD_slow = 0; // 方案A: 释放慢滤波复位
|
||||
@@ -1193,6 +1195,10 @@ void vd1_task(void)
|
||||
* 无车状态
|
||||
*================================================================*/
|
||||
|
||||
/* V4.36.26: 释放后冻结计时 — 挡释放瞬间残余学入 Origin (板缓离仍在感应边缘) */
|
||||
if (g_origin_freeze_tick > 0)
|
||||
g_origin_freeze_tick--;
|
||||
|
||||
/*--- 基线跟踪(仿 TLD-110:有车时冻结)
|
||||
* V4.20 修复: 双向对称保护 — 负偏差(负variation)也冻结基线
|
||||
* 原单边保护只挡 dev>+4×dlt, 负variation铁块(磁导率主导, CAPVD>Origin)
|
||||
@@ -1223,8 +1229,10 @@ void vd1_task(void)
|
||||
} else {
|
||||
g_env_recover_cnt = 0; // 目标进入确认区 → 恢复计时重来
|
||||
}
|
||||
update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT,
|
||||
&loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN);
|
||||
/* V4.36.26: 释放后冻结期内 Origin 均值窗不更新 (切断 cycle 间正反馈) */
|
||||
if (g_origin_freeze_tick == 0)
|
||||
update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT,
|
||||
&loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN);
|
||||
} else if (dev < 0) {
|
||||
g_env_wait_cnt = 0; // V4.24: 目标靠近(车方向) → 等待重来
|
||||
env_resync_abort(); // V4.24: 学习中被打断 → 重算
|
||||
@@ -1477,6 +1485,7 @@ void vd1_task(void)
|
||||
loop1_ORG_SUM = 0;
|
||||
Hold_CNT = 0;
|
||||
loop1_cnt_release = 0;
|
||||
g_origin_freeze_tick = REL_ORIGIN_FREEZE_TICKS; /* V4.36.26: 释放后 Origin 均值窗冻结 */
|
||||
}
|
||||
} else {
|
||||
if (loop1_cnt_release > 0) loop1_cnt_release = 0;
|
||||
|
||||
Reference in New Issue
Block a user