From d80da7ef500d2dba7b1683cdf160108851180024 Mon Sep 17 00:00:00 2001 From: wangfq Date: Tue, 23 Jun 2026 18:24:17 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BC=80=E5=8F=91=E6=97=A5=E5=BF=97=20?= =?UTF-8?q?=E2=80=94=20Origin=E6=B1=A1=E6=9F=93=E4=BF=9D=E6=8A=A4=E3=80=81?= =?UTF-8?q?USE=5FFLATNESS=5FEXIT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/devlog.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/devlog.md b/docs/devlog.md index fca7e4f..aa2b18e 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -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.3 | 2026-06-23 | 指示灯行为、稳定期、重连状态保持 | | V1.2 | 2026-06-23 | <<6/>>6 精度浪费分析与改进 |