feat: M4 核心优化 V2.0 — 双路 IIR + 斜率限幅 + 进入确认
三项改进突破 8051 时代限制: 1. 10ms tick + 双路 IIR - CAPVD (慢速): α=18/256, τ=135ms — 基线跟踪,等效原 50ms 设计 - CAPVD_fast (快速): α=0.5, τ=28ms — 检测判定,比原快 5× 2. 斜率限幅 (MAX_SLOPE_RATE=5%) - EMI/闪电瞬态尖峰被截断 - 真实车辆缓慢频率漂移不受影响 3. 进入确认 (ENTRY_CONFIRM=3) - 连续 3 次 CAPVD_fast 低于阈值才判有车 - 单次干扰无法通过 → 误触发率大幅降低 进入响应 ~530ms (比原 550ms 还快), 基线稳定性不变
This commit is contained in:
@@ -295,10 +295,77 @@ if (SET_DLY) {
|
||||
- 产品手册端子定义:RS485-A/B → Tx TTL 调试输出
|
||||
- 技术规格书 §9:整节从 RS485 协议改为 TTL Tx 调试接口说明
|
||||
|
||||
## 2026-06-26 — M4 核心优化:双路 IIR + 进入确认 + 斜率限幅
|
||||
|
||||
### 背景
|
||||
|
||||
DLD154V4B 的 8051 时代设计在 M4 上可以做得更好。8051 的 50ms tick 是 CPU 限制,不是最优选择。
|
||||
|
||||
### 三项改进
|
||||
|
||||
#### 1. 10ms tick + 双路 IIR
|
||||
|
||||
| 滤波器 | α | τ | 用途 |
|
||||
|--------|---|-----|------|
|
||||
| CAPVD (慢速) | 18/256 ≈ 0.07 | 135ms | 基线跟踪,等效原 50ms 的 79/256 |
|
||||
| CAPVD_fast (快速) | 128/256 = 0.5 | 28ms | 进入/离开检测判定 |
|
||||
|
||||
tick 提升到 10ms,但通过调整 α 保持与 50ms 设计相同的滤波强度。快速 IIR 用于检测,慢速 IIR 用于基线,两路各司其职。
|
||||
|
||||
#### 2. 斜率限幅
|
||||
|
||||
EMI/闪电等瞬态干扰会造成 CAPVD 瞬间跳变。物理车辆不可能让线圈频率瞬间改变 >5%:
|
||||
|
||||
```c
|
||||
max_step = CAPVD × 5 / 100; // 5% 限幅
|
||||
if (|delta| > max_step) delta = clamp(delta, -max_step, max_step);
|
||||
```
|
||||
|
||||
尖峰被截断,真实车辆信号(缓慢的频率漂移)不受影响。
|
||||
|
||||
#### 3. 进入确认
|
||||
|
||||
原设计:单次 CAPVD < Origin-dlt → 立即 VD_FLAG=1(同 8051)
|
||||
|
||||
新设计:CAPVD_fast 连续 3 次低于阈值 → 才判定有车
|
||||
|
||||
```c
|
||||
if (CAPVD_fast < Origin - dlt)
|
||||
entry_cnt++;
|
||||
if (entry_cnt >= 3) { VD_FLAG = 1; ... }
|
||||
else
|
||||
entry_cnt = 0; // 一旦恢复就重置
|
||||
```
|
||||
|
||||
对真实车辆:CAPVD_fast τ=28ms,3 次确认 = 30ms,加上 IN_DELAY 500ms = 总响应 ~530ms,比原来的 550ms 还快。
|
||||
|
||||
对瞬态干扰:单个尖峰无法连续 3 次 → 被过滤。
|
||||
|
||||
### 对比
|
||||
|
||||
| 指标 | 8051 原设计 | M4 优化 |
|
||||
|------|-----------|---------|
|
||||
| tick 周期 | 50ms | **10ms** |
|
||||
| IIR τ (检测) | 135ms | **28ms** (5× 快) |
|
||||
| IIR τ (基线) | 135ms | 135ms (相同) |
|
||||
| 进入判定 | 单次阈值 | **3 次连续确认** |
|
||||
| 瞬态抑制 | 无 | **斜率限幅 + 确认** |
|
||||
| 进入响应 | ~550ms | **~530ms** |
|
||||
| 误触发风险 | 中 | **低** |
|
||||
|
||||
### 兼容性
|
||||
|
||||
- 离开检测路径不变(cnt_release 平坦性均已带确认)
|
||||
- 灵敏度表、IN_DELAY、OUT_DELAY 等参数不变
|
||||
- 可通过 `ENTRY_CONFIRM` 宏调整确认次数,`MAX_SLOPE_RATE` 调整限幅强度
|
||||
|
||||
---
|
||||
|
||||
## 修订记录
|
||||
|
||||
| 版本 | 时间 | 说明 |
|
||||
|------|------|------|
|
||||
| V2.0 | 2026-06-26 | M4 优化: 双路 IIR + 斜率限幅 + 进入确认;tick 10ms |
|
||||
| V1.7 | 2026-06-26 | vTaskDelay 10→50ms 修正(对齐原始 TMR15 5ms×10 设计);基线更新 1s→5s |
|
||||
| V1.6 | 2026-06-24 | 时序修正:OUT_DELAY/PULSE_DELAY→500ms;RS485→TTL Tx |
|
||||
| V1.5 | 2026-06-23 | Origin 污染保护、USE_FLATNESS_EXIT 开关 |
|
||||
|
||||
Reference in New Issue
Block a user