Files
WCTDataMiner/docs/requirement/Qfod标定分析.md
Scottxjw 0667e2e9b8 feat(analyze): 新增 Ploss/Qfod 分析命令
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-14 15:36:29 +08:00

80 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Qfod 标定分析Q值 → 标定 ΔQ 阈值)
> 本文档单独记录 Qfod 标定分析的分析口径、阶段区分限制与交付方式。
> 内容独立于既有需求文档 `docs/requirement/WCT数据需求分析.md`,不与原文档合并。
---
## 1. 核心口径
Q 值由日志直接记录,日志格式 `X#:Q A->B C D E F`
| 字段 | 名称 | 说明 |
|------|------|------|
| X | ChargerIndex | 充电器索引0, 1 |
| A | CoilIndex | 线圈索引0, 1, 2 |
| B | ΔQ (DeltaQ) | Q 值变化量 |
| C | CurrentQ | 当前 Q 值 |
| D | RawQ | 原始 Q 值 |
| E | FodType | 异物类型编码 |
**关键点**:「纯手机」与「手机+异物」分别对应**两个日志文件(两个测试场景)**
- 日志文件 A纯手机充电
- 日志文件 B手机 + 异物
标定分析需**先区分这两个日志文件**,再计算标定 ΔQ 阈值。
---
## 2. 标定 ΔQ 阈值计算
1. 分别从两个日志文件提取 ΔQ
- 文件 A纯手机取该文件 ΔQ **最大值**示例25
- 文件 B手机+异物):取该文件 ΔQ **最小值**示例40
2. 计算标定阈值:`Threshold = (25 + 40) / 2 = 32`
---
## 3. 分析步骤
1. 提取日志中 `#Q` 开头的行
2. 绘制 ΔQ 时序曲线,叠加 Y=Threshold 水平线
3. 验证余量:纯手机最高点 vs 阈值、有异物最低点 vs 阈值
---
## 4. 文件区分方式(现状与后续计划)
### 4.1 当前限制
暂无可自动区分「纯手机」/「手机+异物」两个日志文件的可靠依据,因此**当前版本无法自动计算标定 ΔQ 阈值**。
### 4.2 后续计划
日志文件将写清楚所对应的场景(文件名 Purpose 段或文件内标记),届时据此区分两个文件再计算标定阈值。
**待办**:定义日志文件区分标识,解析时识别并关联配对的两个场景。
---
## 5. 交付方式
- 标定 ΔQ 阈值属**独立分析****不进入发布库聚合**(发布库现有 Q值/Q基值 列仍为 CurrentQ/RawQ 全量平均,保持不变)。
- 计划通过**新建 CLI 分析命令**`analyze-qfod`)承载/输出,命令**尚未实现**。
---
## 6. 实测佐证
`data/test_input/singleMold-v1.0-hex2_1-iPhone15-qfod_test-20260710-1.log`(示例日志含 Phase 标记):
| Phase | 含义 | ΔQ 范围 | FOD Type(E) |
|---|---|---|---|
| 1 正常充电 | 纯手机 | 20~30均值 24.9 | 0 |
| 2 异物检测 | 手机+异物 | 35~55均值 44.6 | 1/2/3 |
| 3 边界值 | 临界区 | 30~35均值 32.5 | — |
| 4 负数 | 异常 | -25~0 | — |
> 说明:示例日志为生成的测试数据,仅作 ΔQ 数值区间的参考;真实数据中「纯手机」与「手机+异物」分属两个日志文件。