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:
@@ -27,9 +27,17 @@
|
||||
#define PULSE_DELAY 10 // 脉冲宽度 500ms
|
||||
|
||||
/*===========================================================================
|
||||
* 滤波参数 — 对齐 M1H
|
||||
* 滤波参数 — M4 优化版
|
||||
*
|
||||
* 与 M1H (8051, 50ms tick) 的关键差异:
|
||||
* - tick 提升到 10ms,滤波系数同步调整,保持等效时间常数
|
||||
* - 新增斜率限幅 (MAX_SLOPE_RATE) 过滤瞬态尖峰
|
||||
* - 进入确认 (ENTRY_CONFIRM) 替代单次阈值判定
|
||||
*===========================================================================*/
|
||||
#define ALFA_CAP1 79 // IIR 指数平滑 α = 79/256 ≈ 0.31
|
||||
#define ALFA_CAP1 18 // IIR α = 18/256 ≈ 0.07 (@10ms → τ≈135ms, 等效 50ms 的 79/256)
|
||||
#define ALFA_FAST 128 // 快速 IIR α = 128/256 = 0.5 (@10ms → τ≈28ms, 用于检测)
|
||||
#define MAX_SLOPE_RATE 5 // 斜率限幅: 单次最大变化 5% (物理限制, 拒绝 EMI 尖峰)
|
||||
#define ENTRY_CONFIRM 3 // 进入确认: 连续 N 次低于阈值才判定有车
|
||||
|
||||
/*===========================================================================
|
||||
* 离开检测模式
|
||||
@@ -91,6 +99,10 @@ extern uint8_t g_loop_stable; // 线圈数值已稳定 (0=稳定中,
|
||||
|
||||
/* 离开防抖计数器(连续 CAPVD 恢复到阈值以上才释放) */
|
||||
extern uint8_t loop1_cnt_release; // 离开防抖计数
|
||||
|
||||
/* M4 优化: 快速 IIR + 进入确认 */
|
||||
extern uint32_t loop1_CAPVD_fast; // 快速 IIR 值 (α=0.5, τ≈28ms, 用于检测)
|
||||
extern uint8_t loop1_entry_cnt; // 进入确认计数
|
||||
#if USE_FLATNESS_EXIT
|
||||
extern uint8_t g_exit_state; // 离开检测: 0=追踪斜率, 1=等待平坦
|
||||
extern uint16_t g_max_slope; // 第一上升坡面最大 |f'|
|
||||
|
||||
Reference in New Issue
Block a user