feat(V4B): 释放手感对齐 PD132T — 释放慢滤波(方案A, 固件 V4.03)

现场金属板测试: 灵敏度表已对齐, 但释放高度 V4B 比 PD132T 低
(刚离开触发位置即释放 vs 需离更远)。根因: IIR 滤波时间常数差异
(V4B 10ms+α79→τ32ms vs PD132T 43.7ms+α79/64→τ142~175ms),
释放阈值浅(进入20%)放大差异。

修复(USE_SLOW_RELEASE 开关, 默认 1):
- 新增独立慢滤波 loop1_CAPVD_slow(α=18/256 @10ms→τ≈142ms),
  吃原始 Value 不经斜率限幅, 复刻 PD132T 恢复速度
- 离开判定改用慢滤波值, 进入路径不变
- RELEASE_ALFA=18 可调(PD132T SET_FLT=ON 时用 15≈τ170ms)
- 同步: INIT_VD/稳定期/线圈重连
- 版本 V4.03(顺带修正 cmcng.h 字符串"4.00"与数字 4/2 不一致)

验证: gcc 单测 tests/test_release_slow_filter.c
τ fast=30ms/slow=140ms; 释放时机差 260ms ✓
文档: technical-spec §4.3.3 + devlog V2.12
待板级: 真机金属板测试 + MRS 编译
This commit is contained in:
wangfq
2026-08-31 16:52:45 +08:00
parent f0f2c29a04
commit 9391e1b808
6 changed files with 172 additions and 3 deletions
+42
View File
@@ -4,6 +4,48 @@
---
## 2026-08-31 — 释放手感对齐 PD132T:释放慢滤波(方案 A,固件 V4.03)
> **固件版本:V4.03**cmcng.hFIRMWARE_VER="4.03" + MAIN=4/SUB=3;⚠ 顺带修正字符串 "4.00" 与数字 4/2 不一致的历史问题)。devlog 修订 V2.12。
### 背景(现场测试)
PD132T 替换交付后金属板测试(从上往下接近触发、从下往上离开释放):**触发高度两边一致,释放高度不一致**——V4B 刚离开触发位置一点点就释放,PD132T 要离得更远才释放。
### 根因分析
| 项 | V4B | PD132T |
|----|-----|--------|
| 检测节拍 | 10ms | 43.7ms |
| IIR 系数 | ALFA_CAP1=79 | 79(SET_FLT=ON)/64(OFF) |
| τ | ≈32ms | ≈142~175ms |
| 释放确认 | 3×10ms | 单次 |
- 判定公式与阈值表**完全一致**`(Origin-dlt_ORG) < CAPVD`,表 {60,32,21,14} 已对齐)
- 差异在 **CAPVD 恢复速度**V4B 快 4.4~5.5× → 刚离开即恢复过浅阈值 → 早释放
- 释放阈值浅(进入的 20%)放大差异;触发阈值深 + 接近过程信号斜率大 → 触发高度差不明显
### 方案 A 实现(USE_SLOW_RELEASE
- 新增独立慢滤波 `loop1_CAPVD_slow`(α=18/256 @10ms → τ≈142ms,复刻 PD132T 恢复速度),吃原始 Value(不经斜率限幅)
- 离开判定改用慢滤波值,进入路径不变
- 开关 `USE_SLOW_RELEASE`TaskLoop.h 默认 1,0=原快滤波释放,现场可对比回退)
- 同步:INIT_VD 复位、稳定期直锁、线圈重连强制收敛
- ⚠ 若现场 PD132T SET_FLT=ON(α64 → τ≈175ms),调 `RELEASE_ALFA` 15(τ≈170ms)更贴近
### 验证
- `tests/test_release_slow_filter.c`gcc 单测):τ fast=30ms/slow=140ms(理论 32/142ms);模拟金属板离开(信号每 10ms +80),释放时机 fast=150ms/slow=410ms**差 260ms** ✓
- 括号结构三版本(原始/改动/回退)计数一致,无结构影响
- ⚠ 待板级:真机金属板测试确认释放高度对齐;MRS 编译
### 文档同步
- technical-spec §4.3.3 模式 1 补 V4.03 慢滤波说明
- release-notes 待发布时更新
---
## 2026-08-28 — 灵敏度进入/离开对齐 PD132TV2.11
### 背景
+2
View File
@@ -274,6 +274,8 @@ if ((Origin - dlt_ORG) < CAPVD) { // CAPVD 回升至距基线不
> **离开分档设计依据(V2.11**:离开表 {60,32,21,14}0.092%/0.049%/0.032%/0.021% Δf/f)对齐 PD132T **SENUP 标贴 OFF**(拨码**低有效**:标贴 OFF=电平 1=SET_ASB=1 → `if(SET_ASB)` 分档分支,**出厂默认态**)。物理意义:离开滞回比进入小一档(档0: 20%、档1: 53%、档2: 58%、档3: 70%),保证释放快于触发、车走即释放,同时防瞬态误落杆。若现场 PD132T 的 SENUP 标贴为 **ON**(电平0=SET_ASB=0 → 恒 14),需将 `SensTable_1` 改回恒 14 表对齐。
> **⚠ V4.032026-08-31)释放慢滤波(方案 AUSE_SLOW_RELEASE)**:现场金属板测试——灵敏度表已对齐,但**释放高度 V4B 比 PD132T 低**V4B 刚离开触发位置即释放,PD132T 需离得更远)。根因:**IIR 滤波时间常数差异**V4B 10ms tick + α79 → τ≈32msPD132T 43.7ms tick + α79/64 → τ≈142~175ms,慢 4.4~5.5×),释放阈值浅(进入的 20%)放大差异。修复:离开判定改用**独立慢滤波值** `loop1_CAPVD_slow`(α=18/256 @10ms → τ≈142ms,复刻 PD132T 恢复速度,吃原始 Value 不经斜率限幅),进入路径不变。开关 `USE_SLOW_RELEASE`TaskLoop.h,默认 10=原快滤波释放)。单测:τ fast=30ms/slow=140ms,释放时机差 260ms`tests/test_release_slow_filter.c`)。⚠ 若现场 PD132T 的 SET_FLT=ON(α64 → τ≈175ms),可调 `RELEASE_ALFA` 15(τ≈170ms)更贴近。
##### 模式 2:平坦性判定 (USE_FLATNESS_EXIT=1) — ⚠ 默认禁用(#if 0,代码保留)
基于专利 **CN200910309382**(中山大学),解决大车通行时频率多峰导致的多次误触发。