docs: 开发日志 — Origin污染保护、USE_FLATNESS_EXIT

This commit is contained in:
wangfq
2026-06-23 18:24:17 +08:00
parent a83674f77b
commit d80da7ef50

View File

@@ -223,10 +223,50 @@ Origin 首次确立后,线圈振荡需要时间稳定。新增 `g_loop_stable`
--- ---
## 2026-06-23 — Origin 污染保护 & 宏开关
### USE_FLATNESS_EXIT 宏
新增编译开关,一行切换离开判据:
```c
#define USE_FLATNESS_EXIT 1 // 1=平坦性, 0=cnt_release防抖
```
所有平坦性状态变量和逻辑用 `#if USE_FLATNESS_EXIT` 包裹。
### Origin 基线污染保护
**问题**:实测发现车辆驶入时 Xn 偶尔先增大再减小。无车状态下 Origin 跟踪上升,
被污染到虚高值。进入检测虽触发,但离开时 Origin 冻在虚高处,
`|f-f_b|` 远超 SensTable_1 阈值 → 绿灯常亮、永远不释放。
**根因**CAPVD 异常上升期间moving average 持续将虚高值写入 Origin。
**修复**:在基线跟踪前增加保护条件:
```c
dev = CAPVD - Origin;
if (dev < dlt_ORG × 4)
update_moving_average(...); // 安全跟踪
else
freeze; // 冻结 + 重置累计
```
冻结阈值 = 进入阈值的 4 倍,随灵敏度自动缩放。
| 场景 | CAPVD | Origin | dev | 阈值(×4) | 结果 |
|------|-------|--------|-----|----------|------|
| 正常无车 | 127081 | 127080 | +1 | 276 | 跟踪 ✓ |
| 异常上升 | 127884 | 127085 | +799 | 276 | 冻结 ✓ |
---
## 修订记录 ## 修订记录
| 版本 | 时间 | 说明 | | 版本 | 时间 | 说明 |
|------|------|------| |------|------|------|
| V1.5 | 2026-06-23 | Origin 污染保护、USE_FLATNESS_EXIT 开关 |
| V1.4 | 2026-06-23 | 移植 CN200910309382 平坦性离开判定 | | V1.4 | 2026-06-23 | 移植 CN200910309382 平坦性离开判定 |
| V1.3 | 2026-06-23 | 指示灯行为、稳定期、重连状态保持 | | V1.3 | 2026-06-23 | 指示灯行为、稳定期、重连状态保持 |
| V1.2 | 2026-06-23 | <<6/>>6 精度浪费分析与改进 | | V1.2 | 2026-06-23 | <<6/>>6 精度浪费分析与改进 |