From f988f08eadfcb9b2d2a37331e9cc93b202654be3 Mon Sep 17 00:00:00 2001 From: wangfq Date: Mon, 29 Jun 2026 17:16:46 +0800 Subject: [PATCH] =?UTF-8?q?clean:=20=E5=88=A0=E9=99=A4=E6=AD=BB=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=20ALFA=5FFAST=20=E2=80=94=20=E5=BF=AB=E9=80=9F=20IIR?= =?UTF-8?q?=20=E7=94=A8=20(old+new)/2=20=E7=AD=89=E4=BB=B7=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 快速 IIR α=128/256=0.5, 公式: new = old + (delta * 128) >> 8 等价于: new = (old + new_val) / 2 (当 α=0.5 时数学恒等) 后者无需乘法和移位,更高效。ALFA_FAST 宏从未被引用。 --- utilities/at32f421_freertos_demo/inc/TaskLoop.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utilities/at32f421_freertos_demo/inc/TaskLoop.h b/utilities/at32f421_freertos_demo/inc/TaskLoop.h index e0a55b6..491018a 100644 --- a/utilities/at32f421_freertos_demo/inc/TaskLoop.h +++ b/utilities/at32f421_freertos_demo/inc/TaskLoop.h @@ -34,8 +34,8 @@ * - 新增斜率限幅 (MAX_SLOPE_RATE) 过滤瞬态尖峰 * - 进入确认 (ENTRY_CONFIRM) 替代单次阈值判定 *===========================================================================*/ -#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 ALFA_CAP1 18 // IIR α = 18/256 ≈ 0.07 (@10ms → τ≈135ms, 等效 50ms 的 79/256) +/* 快速 IIR (CAPVD_fast): α=128/256=0.5, τ≈28ms, 用 (old+new)/2 实现,无需宏 */ #define MAX_SLOPE_RATE 5 // 斜率限幅: 单次最大变化 5% (物理限制, 拒绝 EMI 尖峰) #define ENTRY_CONFIRM 3 // 进入确认: 连续 N 次低于阈值才判定有车 #define FREEZE_TIMEOUT 1000 // 基线冻结超时: ~10s @ 10ms/tick, 持续偏高且稳定后强制更新基线