feat(DLD154V4B): 灵敏度最高档调整 SENS=3 10→20 + 文档同步

- src/TaskLoop.c: SensTable[3] 10→20 (Δf/f 0.015%→0.031%,
  ΔL/L 0.031%→0.061%), SensTable_1[3] 9→14 (滞回 90%→70%) —
  最高档原阈值贴近噪声底易误触发, 提高并加大滞回
- src/main.c: 注释掉重复定义 g_input_div=1 (TaskLoop.c:23 已有, 清理 ODR)
- docs/technical-spec.md §4.3.1 灵敏度表+表格+口径说明
- docs/reference_analysis.md §5.6 灵敏度表
- docs/devlog.md 置顶 2026-08-27 条目 + 修订记录 V2.8
This commit is contained in:
wangfq
2026-08-27 16:22:58 +08:00
parent d5fc1ea1f7
commit 50dbb07dde
5 changed files with 39 additions and 8 deletions
+29
View File
@@ -508,10 +508,39 @@ if (dev >= dlt_ORG × 4) {
--- ---
## 2026-06-30 — 项目文档补全
- **验收标准 V1.0**: 环路车辆检测器验收标准文档,涵盖电气特性、检测精度、响应时间、环境适应性
- **发展路线图 V1.0**: M1H→V4B 演进回顾 + V3.0 目标规划
---
## 2026-08-27 — 灵敏度最高档调整:SENS=3 阈值 10→20(防误触发)
### 改动
| 文件 | 内容 |
|------|------|
| `src/TaskLoop.c` | `SensTable[3]` 10→**20**(Δf/f 0.015%→0.031%,ΔL/L 0.031%→0.061%);`SensTable_1[3]` 9→**14**(滞回 90%→70% |
| `src/main.c` | 注释掉重复定义 `g_input_div = 1`TaskLoop.c:23 已有定义,清理 ODR 重复) |
### 原因
最高档 SENS=3 原阈值 100.015% Δf/f)贴近噪声底,易误触发;提高至 20 并加大滞回(离开 14/进入 20 = 70%),减少临界抖动。
### 文档同步
- `docs/technical-spec.md` §4.3.1 灵敏度表 + 表格(含 ΔL/L 口径说明)
- `docs/reference_analysis.md` §5.6 灵敏度表
---
## 修订记录 ## 修订记录
| 版本 | 时间 | 说明 | | 版本 | 时间 | 说明 |
|------|------|------| |------|------|------|
| V2.8 | 2026-08-27 | 灵敏度最高档 SENS=3 阈值 10→20、离开 9→14(防误触发);清理 g_input_div 重复定义 |
| V2.7 | 2026-06-30 | 验收标准 + 发展路线图文档 |
| V2.6 | 2026-06-29 | 架构简化: 单路 IIR ALFA_CAP1=79, WINDOW_ORIGIN=500, 稳定期100 | | V2.6 | 2026-06-29 | 架构简化: 单路 IIR ALFA_CAP1=79, WINDOW_ORIGIN=500, 稳定期100 |
| V2.5 | 2026-06-29 | 冻结超时 30s→10s,加快环境变化响应 | | V2.5 | 2026-06-29 | 冻结超时 30s→10s,加快环境变化响应 |
| V2.4 | 2026-06-29 | 冻结超时增加稳定性检查: ±2% 窗口内连续稳定 | | V2.4 | 2026-06-29 | 冻结超时增加稳定性检查: ±2% 窗口内连续稳定 |
+2 -2
View File
@@ -366,8 +366,8 @@ if (!VD_FLAG) {
沿用 M1H 的 4 级: 沿用 M1H 的 4 级:
```c ```c
const uint16_t SensTable[4] = {216, 108, 36, 10}; // 进入 const uint16_t SensTable[4] = {216, 108, 36, 20}; // 进入 (SENS=3 由 10 上调, 2026-08-27)
const uint16_t SensTable1[4] = {108, 72, 18, 9}; // 离开(滞回) const uint16_t SensTable1[4] = {108, 72, 18, 14}; // 离开(滞回, SENS=3 由 9 上调
``` ```
--- ---
+5 -3
View File
@@ -219,8 +219,8 @@ if (CAPVD < Origin - dlt_ORG) {
#### 4.3.1 灵敏度表 #### 4.3.1 灵敏度表
```c ```c
const uint16_t SensTable[4] = {216, 108, 36, 10}; // 进入阈值 const uint16_t SensTable[4] = {216, 108, 36, 20}; // 进入阈值
const uint16_t SensTable_1[4] = {108, 72, 18, 9}; // 离开阈值(滞回 ~50% const uint16_t SensTable_1[4] = {108, 72, 18, 14}; // 离开阈值(滞回 ~50%
``` ```
| SENS | SensTable | 进入阈值 (×Origin/65536) | SensTable_1 | 离开阈值 (×Origin/65536) | | SENS | SensTable | 进入阈值 (×Origin/65536) | SensTable_1 | 离开阈值 (×Origin/65536) |
@@ -228,7 +228,9 @@ const uint16_t SensTable_1[4] = {108, 72, 18, 9}; // 离开阈值(滞回
| 0 (低) | 216 | 0.33% | 108 | 0.16% | | 0 (低) | 216 | 0.33% | 108 | 0.16% |
| 1 | 108 | 0.16% | 72 | 0.11% | | 1 | 108 | 0.16% | 72 | 0.11% |
| 2 | 36 | 0.055% | 18 | 0.027% | | 2 | 36 | 0.055% | 18 | 0.027% |
| 3 (高) | 10 | 0.015% | 9 | 0.014% | | 3 (高) | 20 | 0.031% | 14 | 0.021% |
> ⚠ V2.82026-08-27):SENS=3 最高档进入阈值 10→200.015%→0.031% Δf/f,ΔL/L 0.031%→0.061%),离开 9→14(滞回 90%→70%)——原 10 贴近噪声底易误触发,提高阈值并加大滞回。
#### 4.3.2 进入检测(M4 优化:确认机制) #### 4.3.2 进入检测(M4 优化:确认机制)
@@ -13,8 +13,8 @@
* 离开阈值(滞回)= Origin × SensTable_1[SENS] / 65536 * 离开阈值(滞回)= Origin × SensTable_1[SENS] / 65536
* SENS: 0=低灵敏, 3=高灵敏 * SENS: 0=低灵敏, 3=高灵敏
*===========================================================================*/ *===========================================================================*/
const uint16_t SensTable[4] = {216, 108, 36, 10}; const uint16_t SensTable[4] = {216, 108, 36, 20};
const uint16_t SensTable_1[4] = {108, 72, 18, 9}; const uint16_t SensTable_1[4] = {108, 72, 18, 14};
/*=========================================================================== /*===========================================================================
* 全局状态变量 — 捕获 & 测量 * 全局状态变量 — 捕获 & 测量
+1 -1
View File
@@ -40,7 +40,7 @@
crm_clocks_freq_type g_crm_clocks_freq_struct = {0}; crm_clocks_freq_type g_crm_clocks_freq_struct = {0};
tmr_input_config_type g_tmr_input_config_struct; tmr_input_config_type g_tmr_input_config_struct;
__IO uint32_t sys_counter = 0; __IO uint32_t sys_counter = 0;
uint8_t g_input_div = 1; //uint8_t g_input_div = 1;
TaskHandle_t loop_task_handler; TaskHandle_t loop_task_handler;