返回首页
阶段分析文档
# 现场声信号频段侦察记录 - 2026-07-07
## 1. 当前目标
本阶段目标已经从“断刀/崩刃检测”临时调整为识别四类现场动作:
- 碰:刀具碰工件
- 敲:手敲击机床外舱门
- 切:刀具切削工件
- 挤:刀具挤压工件
当前不是直接训练最终分类器,而是先用专家采集的 2 MSPS 真实数据确认这些动作的有效声信号主要落在哪些频段,进而判断 500 kSPS 原型采集卡是否能覆盖。
## 2. 会议纪要中的技术要求
来源:
- `policy/智能纪要:声信号探测频段相关事宜讨论 2026年7月7日.md`
- `/Users/mv/Downloads/原始记录:声信号探测频段相关事宜讨论 2026年7月7日 .md`
关键理解:
- 用 2 MSPS 真实数据做频段侦察。
- 以 1 ms 为基础分析窗口;2 MSPS 下 1 ms 等于 2000 个采样点,FFT 频率间隔约 1 kHz。
- 需要找出碰/敲/切/挤的有效触发频点或频带。
- 若有效判别频段主要在 125 kHz 以内,500 kSPS 原型卡可优先复用。
- 若需要 125-200 kHz,500 kSPS 仍可能可用,但必须确认模拟抗混叠滤波足够可靠。
- 若关键能量在 250 kHz 以上,500 kSPS 不能直接表示,会发生混叠风险。
## 3. 数据现状
现场数据目录:
`/Users/mv/Desktop/cncmock/1-机床移动`
已观察到:
- 总体数据约 58 GB。
- 根目录有 48 个导出的 `.txt` 波形文件。
- 子目录包含 `.meas/.par/.sts/.tsp` 等采集设备文件。
- `.par` 参数显示多数通道为 2,000,000 Hz、16 bit、mV 单位。
- `.txt` 为分号分隔文本,表头形如 `Time(s);CH1-广州清诚;CH 2-北京物声;...`。
- 文件名目前只有时间戳,没有直接标注碰/敲/切/挤,因此当前只能先做无监督频段普查。
## 4. 新增工具
已新增:
`src/ae_field_survey.py`
并加入:
`run.py ae_field_survey`
功能:
- 流式读取超大 `.txt` 波形文件,不一次性加载 58 GB 数据。
- 默认按 1 ms 窗做 FFT。
- 输出每个文件/通道的频带能量比例。
- 保留每个文件/通道最高能量窗口,便于定位疑似事件片段。
- 输出 CSV/JSON/HTML 报告。
默认频带:
- 0-50 kHz
- 50-100 kHz
- 100-125 kHz
- 125-200 kHz
- 200-250 kHz
- 250-400 kHz
- 400-1000 kHz
## 5. 已完成的快速验证
### 5.1 干跑
命令:
```bash
.venv/bin/python run.py ae_field_survey -- '1-机床移动' --max-files 1 --max-seconds 0.1 --out-dir output/field_survey_dryrun
```
结论:
- GBK/中文表头可解析。
- 分号文本波形可解析。
- 1 ms FFT 流程可运行。
- 输出 CSV/HTML 正常。
### 5.2 前 5 个文件,每个前 2 秒
命令:
```bash
.venv/bin/python run.py ae_field_survey -- '1-机床移动' --max-files 5 --max-seconds 2 --out-dir output/field_survey_quick5
```
结果摘要:
- CH1 高能窗口 `<=125 kHz` 能量中位数约 99.99%。
- CH2 高能窗口 `<=125 kHz` 能量中位数约 98.13%。
- 这 5 个文件的前 2 秒片段整体非常偏低频,对 500 kSPS 友好。
注意:该结果只覆盖早期 5 个文件,不能代表所有动作。
### 5.3 48 个文件,每个前 0.5 秒
命令:
```bash
.venv/bin/python run.py ae_field_survey -- '1-机床移动' --max-seconds 0.5 --out-dir output/field_survey_allfiles_head05
```
输出:
- `output/field_survey_allfiles_head05/channel_summary.csv`
- `output/field_survey_allfiles_head05/top_windows.csv`
- `output/field_survey_allfiles_head05/field_survey_report.html`
结果摘要:
| 通道 | 高能窗口 <=125 kHz 中位数 | 高能窗口 <=200 kHz 中位数 | 高能窗口 >250 kHz 中位数 | 初步判断 |
|---|---:|---:|---:|---|
| CH1 广州清诚 | 99.99% | 99.99% | 0.01% 以下 | 对 500 kSPS 很友好 |
| CH2 北京物声 | 97.92% | 98.05% | 1.89% | 大多数情况可覆盖 |
| CH3 嘉泰 | 94.43% | 94.59% | 5.17% | 需按工序复核 |
| CH4 友机 | 56.77% | 60.79% | 36.83% | 存在明显高频风险 |
发现的高频例外:
- 部分 CH3/CH4 文件的高能窗口 `>250 kHz` 能量占比很高。
- 例如 `1-机床移动 26-07-07 14-29-14.txt` 的 CH4,高能窗口 `>250 kHz` 占比约 97%。
- 这说明不能笼统地说“所有现场信号都可由 500 kSPS 覆盖”。
## 6. 当前分析结论
### 6.1 500 kSPS 是否有希望
有希望,但不能无条件确认。
已抽样数据表明:
- CH1、CH2 多数片段的高能信号主要集中在 125 kHz 以内。
- 如果后续确认碰/敲/切/挤的有效判别特征主要来自 CH1/CH2 的低频段,则 500 kSPS 原型卡很可能可用于第一版验证。
但也发现:
- 部分 CH3/CH4 片段存在明显 250 kHz 以上能量。
- 若某类动作的关键区别依赖这些高频成分,则 500 kSPS 不足。
- 若 500 kSPS 前端没有足够低通抗混叠,250 kHz 以上信号会折叠到低频,污染判断。
### 6.2 是否已经能判断四类动作频段
还不能最终判断。
原因:
- 当前文件没有碰/敲/切/挤标签。
- 已完成的是“按文件/通道的频段普查”,不是“按动作类别的监督分析”。
- 下一步必须补充文件或时间段到动作类别的映射。
### 6.3 是否需要 MATLAB
当前主分析不需要 MATLAB。
Python 流式处理更适合 58 GB 大文件,不容易爆内存。MATLAB 可作为专家图形复现或交叉验证工具,而不是当前主流程。
## 7. 下一步执行方案
### P0:补动作标签
需要现场或专家提供至少一种映射:
- 文件级标签:某个 `.txt` 文件对应碰/敲/切/挤中的哪一类。
- 时间段级标签:某文件内 `start_s` 到 `end_s` 对应哪一类动作。
推荐最小格式:
```csv
file,event_label,start_s,end_s,notes
1-机床移动 26-07-07 14-29-14.txt,敲,0.0,5.0,手敲外舱门
1-机床移动 26-07-07 15-00-06.txt,切,12.5,18.0,正常切削
```
### P1:按标签重跑频段统计
标签到位后,按动作类别输出:
- 每类动作的主要频带。
- 每类动作在 `<=125 kHz`、`<=200 kHz`、`>250 kHz` 的能量比例。
- 哪个传感器/通道最适合 500 kSPS。
- 哪些类别之间在低频段可分,哪些必须依赖高频。
### P2:判断 500 kSPS 原型卡适配性
判断规则建议:
- 若四类动作的可分频带都稳定在 `<=125 kHz`:500 kSPS 可作为第一版硬件。
- 若主要在 `125-200 kHz`:500 kSPS 可尝试,但必须确认硬件抗混叠滤波。
- 若关键判别能量在 `>250 kHz`:500 kSPS 不适合作为最终采集硬件。
### P3:转入分类或模板比对
确认频带后,再选择算法:
- 如果频带差异明显:用固定频带能量、能量比、RMS、峰值等轻量规则即可。
- 如果频带形态复杂:使用 `ae_reference_match.py` 的专家式频谱模板比对。
- 如果类别边界不清楚:再考虑小模型分类器,但不应过早上复杂模型。
## 8. 当前建议
短期建议:
1. 继续使用 Python 流式频段普查作为主流程。
2. 先让现场补一份文件/时间段到碰/敲/切/挤的标签表。
3. 同时向硬件确认 500 kSPS 原型卡的模拟抗混叠低通截止频率。
4. 在标签到位前,不要把当前低频结果直接当成四类动作的最终结论。
一句话结论:
当前真实数据初步支持“部分通道、部分场景很可能落在 125 kHz 内”,但全数据中已出现高频例外;下一步必须按碰/敲/切/挤标签做分类频段统计,才能决定 500 kSPS 是否可交付。
## 9. 专家三维频谱图需求理解与更新计划
### 9.1 专家想要的结果是什么
专家提出的三维坐标系:
- `t`:时间,表示这个 FFT 窗口在原始波形中的位置。
- `f`:频率,表示 FFT 后的频率点,例如 0 Hz、1 kHz、2 kHz ... 1 MHz。
- `A`:幅值,来自该时间窗口在该频率点上的频谱幅值。
这本质上是一个频谱图或频谱曲面:
```text
A(t, f) = 某个时间窗口内,频率 f 对应的频谱幅值
```
它可以画成两种形式:
- 三维曲面图:横轴时间 `t`,纵轴频率 `f`,高度或颜色为 `A`。
- 二维热力图:横轴时间 `t`,纵轴频率 `f`,颜色为 `A`。
工程上优先采用二维热力图,因为文件多、数据大,更利于比较和报告展示;三维曲面可对重点片段单独生成。
### 9.2 A 不宜直接称为“电压值”
原始时域数据单位是 mV,但经过 FFT 后,`A` 已经不是简单的瞬时电压。
建议统一称为:
- 频谱幅值,单位可近似理解为 mV 幅值;
- 或功率/能量谱,单位为 mV² 量级;
- 或 dB 幅值,用于图形展示;
- 或按专家要求乘以 10000 后取整,用于宏观可视化。
为了避免误解,后续报告中建议写作:
```text
A = FFT amplitude / 频谱幅值,不是原始瞬时电压。
```
### 9.3 单窗口三维图与多窗口矩阵的关系
如果固定一个 FFT 窗口长度,例如 1 ms,则可以得到一个标准三维结果:
```text
1ms 窗口:t × f × A
```
如果同时做多个窗口长度,例如 1 ms、2 ms、5 ms、10 ms ... 10000 ms,则严格来说结果变成四维:
```text
窗口长度 W × 时间 t × 频率 f × 幅值 A
```
为了符合专家表达,同时避免四维结果难以展示,建议拆成多个三维结果:
```text
W = 1ms -> 一张 t-f-A 频谱图
W = 2ms -> 一张 t-f-A 频谱图
W = 5ms -> 一张 t-f-A 频谱图
...
W = 10000ms -> 一张 t-f-A 频谱图
```
再额外输出一个总表,比较不同窗口长度下的关键频段能量占比。
### 9.4 频率点的修正
频率分辨率由窗口长度决定:
```text
Δf = 1 / 窗口时长
```
因此:
| FFT 窗口 | 2 MSPS 下采样点数 | 原始频率间隔 |
|---|---:|---:|
| 1 ms | 2,000 | 1 kHz |
| 2 ms | 4,000 | 500 Hz |
| 5 ms | 10,000 | 200 Hz |
| 10 ms | 20,000 | 100 Hz |
| 100 ms | 200,000 | 10 Hz |
| 10000 ms | 20,000,000 | 0.1 Hz |
专家口头说的 `0, 1k, 2k, 3k ... 1M` 对 1 ms 窗口严格成立;对更长窗口,FFT 原始频率点会更密。为了便于统一比较,后续可以把所有窗口长度的结果统一抽样到 1 kHz 网格。
### 9.5 更新后的输出计划
重点对象:
- 优先分析 CH1 广州清诚。
- 先不依赖碰/敲/切/挤标签,改为无监督定位高能事件和频段分布。
计划输出:
1. `CH1_multi_window_summary.csv`
- 每个文件、每个窗口长度的 `<=125 kHz`、`<=200 kHz`、`>250 kHz` 能量占比。
- Top 频点和主导频段。
2. `CH1_top_event_windows.csv`
- 自动定位 CH1 高能事件时间段。
- 记录事件起止时间、峰值、RMS、主频、频带能量占比。
3. `CH1_spectrogram_report.html`
- 全文件概览热力图。
- 重点高能事件局部高清图。
- 多窗口长度对比图。
4. 重点图片目录:
- `spectrogram_W1ms/`
- `spectrogram_W2ms/`
- `spectrogram_W5ms/`
- `spectrogram_W10ms/`
- `spectrogram_W100ms/`
建议窗口集合:
```text
1ms, 2ms, 5ms, 10ms, 20ms, 50ms, 100ms, 200ms, 500ms, 1000ms, 5000ms, 10000ms
```
实际全量运行时,不建议一开始对 48 个大文件全部生成所有窗口的全分辨率图片;应先做 CH1 全量数值统计,再对代表性文件和高能事件生成详细频谱图。
### 9.6 与 500 kSPS 判断的关系
三维频谱图最终服务于硬件判断:
- 如果 CH1 的高能事件在多个窗口尺度下都稳定集中在 `<=125 kHz`,则 500 kSPS 原型卡可优先用于第一版验证。
- 如果主要能量扩展到 `125-200 kHz`,500 kSPS 仍可尝试,但必须确认抗混叠。
- 如果 CH1 关键高能事件依赖 `>250 kHz`,则 500 kSPS 不适合作为最终方案。
## 10. CH1 全量多窗口 FFT 结果
执行时间:2026-07-07
执行命令:
```bash
.venv/bin/python run.py ae_field_survey -- ch1-multiscale '1-机床移动' \
--windows-ms 1,2,5,10,20,50,100,200,500,1000 \
--top-k 20 \
--out-dir output/ch1_multiscale_full
```
输出:
- `output/ch1_multiscale_full/CH1_multi_window_summary.csv`
- `output/ch1_multiscale_full/CH1_top_event_windows.csv`
- `output/ch1_multiscale_full/CH1_multiscale_summary.json`
- `output/ch1_final_report.html`
- `output/ch1_spectrogram_examples/`
- `output/ch1_spectrogram_3d_examples/`
### 10.1 统计范围
- 文件数:48 个 `.txt` 导出文件。
- 通道:CH1 广州清诚。
- FFT 窗口:1、2、5、10、20、50、100、200、500、1000 ms。
- 频率分段:0-50k、50-100k、100-125k、125-200k、200-250k、250-400k、400-1000k。
### 10.2 核心发现
多数文件支持低频结论:
- 多数窗口尺度下,CH1 高能窗口 `<=125 kHz` 能量占比中位数约为 99.98%。
- 多数窗口尺度下,CH1 高能窗口 `>250 kHz` 能量占比中位数约为 0.01%。
- 这说明 CH1 在大多数采集文件里,对 500 kSPS 原型卡非常友好。
但存在明确高频风险文件:
- `1-机床移动 26-07-07 14-27-36.txt`
- `1-机床移动 26-07-07 14-29-14.txt`
- `1-机床移动 26-07-07 15-00-55.txt`
- `1-机床移动 26-07-07 15-04-28.txt`
这些文件在 CH1 上也出现了明显 `>250 kHz` 能量。典型情况:
- `1-机床移动 26-07-07 15-00-55.txt`
- 1 ms 全局 `>250 kHz` 能量约 59.9%。
- 500 ms 高能窗口 `>250 kHz` 能量约 45.7%。
- `1-机床移动 26-07-07 14-27-36.txt`
- 1 ms 全局 `>250 kHz` 能量约 58.8%。
- 100 ms 高能窗口 `>250 kHz` 能量约 44.8%。
### 10.3 500 kSPS 结论
当前不能给出“500 kSPS 无条件够用”的结论。
更准确的工程判断是:
- CH1 广州清诚在多数文件、多数时间尺度下表现非常好,有充分理由继续用 500 kSPS 原型卡做第一版验证。
- 但 CH1 全量数据中存在少数高频风险文件,其关键能量明显超过 250 kHz。
- 如果这些高频风险文件对应的工况属于目标“碰/敲/切/挤”,则 500 kSPS 可能漏掉或混叠这些信息。
- 如果这些文件是非目标干扰、设备状态异常、安装差异或非目标传感器响应,则 500 kSPS 仍可能满足当前目标。
因此下一步必须确认两件事:
1. 高频风险文件对应的现场动作/工况是什么。
2. 500 kSPS 原型卡 ADC 前端是否有足够的模拟抗混叠低通,尤其能否压住 250 kHz 以上能量。
### 10.4 推荐给专家看的图
真正三维坐标图入口:
- `output/ch1_spectrogram_3d_examples/index.html`
这些图使用 Plotly 3D Surface:
- x 轴:时间 `t`
- y 轴:频率 `f`
- z 轴:频谱幅值 `A`
注意:3D 图为了浏览器可打开做了可视化降采样;精确数值以 CSV 统计为准。
二维热力图示例:
低频正常示例:
- `output/ch1_spectrogram_examples/good_16-57-30/spectrograms/`
高频风险示例:
- `output/ch1_spectrogram_examples/risky_14-27-36/spectrograms/`
- `output/ch1_spectrogram_examples/risky_14-29-14/spectrograms/`
- `output/ch1_spectrogram_examples/risky_15-00-55/spectrograms/`
这些 HTML 图是专家要求的 `t-f-A` 形式:
- 横轴:时间 `t`
- 纵轴:频率 `f`
- 颜色:频谱幅值 `A`
### 10.5 下一步
1. 让现场专家确认高频风险文件的实际动作。
2. 若风险文件属于目标动作,则 500 kSPS 只能作为低频版验证,不宜作为最终硬件。
3. 若风险文件属于非目标干扰,则可以把它们作为误报/干扰样本,继续推进 500 kSPS 方案。
4. 后续如需完全对齐专家表达,可补充 5000 ms 和 10000 ms 长窗口,但建议只对代表性文件做,不建议全量生成图片。
## 11. CH1 决策评估数字化分型
执行输出:
- `output/ch1_decision_report/CH1_decision_report.html`
- `output/ch1_decision_report/class_summary.csv`
- `output/ch1_decision_report/per_file_decision_table.csv`
- `output/ch1_decision_report/risk_event_windows.csv`
- `output/ch1_decision_report/overall_metrics.json`
### 11.1 主评估口径
采用专家会议中明确的基础窗口:`1 ms FFT`。
分类规则:
- A 类:`>250 kHz < 1%` 且 `125 kHz 以外 < 5%`,低频稳定,支持 500 kSPS。
- B 类:不满足 A,也未达到 C,过渡/混合,需复核。
- C 类:`>250 kHz >= 20%`,高频风险,500 kSPS 可能混叠或漏掉关键信息。
### 11.2 总体数字
| 指标 | 数值 |
|---|---:|
| 总文件数 | 48 |
| A 类低频稳定 | 30 / 48 = 62.50% |
| B 类过渡/混合 | 7 / 48 = 14.58% |
| C 类高频风险 | 11 / 48 = 22.92% |
| `<=125 kHz` 能量 >=90% 的文件 | 31 / 48 = 64.58% |
| `<=125 kHz` 能量 >=95% 的文件 | 31 / 48 = 64.58% |
| `<=125 kHz` 能量 >=99% 的文件 | 30 / 48 = 62.50% |
| `>250 kHz` 能量 <1% 的文件 | 30 / 48 = 62.50% |
| `>250 kHz` 能量 >=20% 的文件 | 11 / 48 = 22.92% |
| `>250 kHz` 能量 >=40% 的文件 | 6 / 48 = 12.50% |
### 11.3 三类文件的统计特征
| 类别 | 文件数 | `<=125 kHz` 中位数 | `125 kHz 外` 中位数 | `>250 kHz` 中位数 | `>250 kHz` 范围 | RMS 中位数 | 峰值中位数 |
|---|---:|---:|---:|---:|---:|---:|---:|
| A 低频稳定 | 30 | 99.99% | 0.01% | 0.008% | 0.0004%-0.025% | 25.97 | 73.24 |
| B 过渡/混合 | 7 | 82.26% | 17.74% | 14.91% | 4.12%-15.55% | 18.04 | 24.87 |
| C 高频风险 | 11 | 48.56% | 51.44% | 43.36% | 24.47%-59.92% | 17.75 | 19.38 |
解释:
- A 类幅值更高、峰值更高,但频谱几乎全部在低频段,像“低频主导的真实强响应”。
- C 类幅值和峰值反而较低,但 400 kHz-1 MHz 能量占比很高,像“持续宽带/高频状态”,不太像单次大冲击。
- C 类是否属于目标碰/敲/切/挤,必须由现场复核确认。
### 11.4 C 类高频风险文件清单
| 文件 | `<=125 kHz` | `>250 kHz` | `250-400 kHz` | `400-1000 kHz` | 备注 |
|---|---:|---:|---:|---:|---|
| `1-机床移动 26-07-07 15-00-55.txt` | 28.97% | 59.92% | 12.33% | 47.59% | P0 复核 |
| `1-机床移动 26-07-07 14-27-36.txt` | 29.94% | 58.80% | 12.27% | 46.54% | P0 复核 |
| `1-机床移动 26-07-07 15-04-28.txt` | 33.30% | 56.21% | 11.58% | 44.63% | P0 复核 |
| `1-机床移动 26-07-07 14-29-14.txt` | 33.45% | 55.89% | 11.68% | 44.21% | P0 复核 |
| `1-机床移动 26-07-07 11-02-01.txt` | 40.73% | 49.99% | 10.29% | 39.70% | P0 复核 |
| `1-机床移动 26-07-07 15-00-06.txt` | 48.56% | 43.36% | 8.92% | 34.44% | P0 复核 |
| `1-机床移动 26-07-07 16-31-16.txt` | 57.32% | 35.96% | 7.39% | 28.58% | P0 复核 |
| `1-机床移动 26-07-07 16-37-18.txt` | 58.87% | 34.66% | 7.12% | 27.54% | P0 复核 |
| `1-机床移动 26-07-07 16-53-14.txt` | 67.07% | 27.75% | 5.71% | 22.04% | P0 复核 |
| `1-机床移动 26-07-07 16-46-59.txt` | 68.35% | 26.67% | 5.48% | 21.19% | P0 复核 |
| `1-机床移动 26-07-07 16-40-04.txt` | 70.96% | 24.47% | 5.03% | 19.44% | P0 复核 |
### 11.5 用于汇报的当前决策表述
当前 CH1 数据不支持“500 kSPS 已经最终定型”的结论,但支持“继续推进 500 kSPS 原型验证”的结论。
理由:
- 62.50% 文件属于低频稳定 A 类,几乎全部能量在 125 kHz 内。
- 22.92% 文件属于高频风险 C 类,`>250 kHz` 能量明显,不确认工况前不能忽略。
- C 类的典型特征是幅值低、峰值低但高频宽带占比高,可能是非目标工况/干扰,也可能是目标动作中的高频信息。
明天最重要的现场问题:
```text
上述 11 个 C 类文件,对应的现场动作到底是什么?
```
如果 C 类文件不是目标碰/敲/切/挤,则 500 kSPS 方案风险显著降低;
如果 C 类文件包含目标动作,则 500 kSPS 必须谨慎,至少不能作为最终频段定型依据。
## 12. 进一步深度诊断:C 类是否像目标动作
执行输出:
- `output/ch1_deep_diagnosis/CH1_deep_diagnosis_report.html`
- `output/ch1_deep_diagnosis/deep_diagnosis_per_file.csv`
- `output/ch1_deep_diagnosis/deep_diagnosis_summary.json`
### 12.1 诊断目的
在晚上无法补充现场标签、无法确认 500 kSPS 硬件抗混叠、也无法复采的情况下,继续从已有 2 MSPS 数据里挖掘:
- 高频风险是否像单次目标动作;
- 高频风险是否像持续宽带底噪;
- 高频主要来自 250-400 kHz,还是 400 kHz-1 MHz;
- 高频风险与幅值/峰值是否一致。
### 12.2 关键数字
以 A 类低频稳定文件作为基线:
- A 类文件数:30。
- A 类 RMS 中位数:25.97。
- A 类峰值中位数:73.24。
- A 类 `>250 kHz` 中位数:0.008%。
C 类高频风险文件:
- C 类文件数:11。
- C 类 `>250 kHz` 中,`400 kHz-1 MHz` 占比中位数:79.43%。
- C 类跨 `1/10/100 ms` 高频稳定性中位数:83.65%。
- C 类 RMS 仅为 A 类中位数的 68.36%。
- C 类峰值仅为 A 类中位数的 26.46%。
### 12.3 解释
这组数字说明:
- C 类高频不是短时偶发尖峰,而是在多个 FFT 窗口尺度上都比较稳定。
- 高频能量主要集中在 `400 kHz-1 MHz`,不是仅仅贴近 250 kHz 的边界带。
- C 类信号幅值和峰值都显著低于 A 类低频强响应文件。
因此,基于信号形态的当前推断是:
```text
C 类更像持续宽带高频底噪、非目标状态、设备/传感器状态差异或现场干扰,
不像典型“强碰/强切/强挤”这类低频主导的大幅值事件。
```
注意:这是信号形态推断,不是现场事实确认。最终仍要问现场这些文件对应什么动作。
### 12.4 决策含义
如果现场确认 C 类不是目标碰/敲/切/挤:
- CH1 对 500 kSPS 的可用性会显著增强。
- C 类可以作为干扰/非目标样本纳入后续误报抑制。
如果现场确认 C 类属于目标碰/敲/切/挤:
- 500 kSPS 不能覆盖这些目标动作的完整频谱。
- 尤其是 `400 kHz-1 MHz` 这部分会在 500 kSPS 下不可直接采集,且可能混叠。
### 12.5 明天现场复核优先级
优先复核以下 6 个最强 C 类文件:
1. `1-机床移动 26-07-07 15-00-55.txt`
2. `1-机床移动 26-07-07 14-27-36.txt`
3. `1-机床移动 26-07-07 15-04-28.txt`
4. `1-机床移动 26-07-07 14-29-14.txt`
5. `1-机床移动 26-07-07 11-02-01.txt`
6. `1-机床移动 26-07-07 15-00-06.txt`
复核问题:
```text
这些文件采集时,机床在做什么?是否属于碰/敲/切/挤?
传感器安装、工况、设备状态是否发生变化?
```
## 13. 20 个代表 FFT 窗口的全量验证
执行输出:
- `output/ch1_multiscale_20windows/CH1_multi_window_summary.csv`
- `output/ch1_multiscale_20windows/CH1_top_event_windows.csv`
- `output/ch1_multiscale_20windows_report/CH1_20windows_report.html`
- `output/ch1_multiscale_20windows_report/window_summary.csv`
- `output/ch1_multiscale_20windows_report/file_cross_window_summary.csv`
### 13.1 窗口集合
采用 20 个代表窗口,而不是穷举 1-10000 ms 每个整数窗口:
```text
1, 2, 3, 4, 5, 6, 8, 10,
15, 20, 30, 50, 75, 100,
150, 200, 300, 500, 750, 1000 ms
```
原因:
- 1-10 ms 覆盖瞬态冲击和敲击;
- 15-100 ms 覆盖较短过程;
- 150-1000 ms 覆盖持续状态;
- 相邻整数窗口信息高度重复,全量穷举 1-10000 ms 成本很高但决策增益有限。
### 13.2 20 窗口结论
20 窗口验证后,文件级分型如下:
| 分型 | 文件数 | 说明 |
|---|---:|---|
| A_consistent_low_frequency | 30 | 20 个窗口均低频稳定 |
| C_consistent_high_frequency_risk | 11 | 20 个窗口中均显示高频风险 |
| B_transition_or_mixed | 7 | 过渡/混合 |
这个结果与 1 ms 主口径和 10 窗口分析一致,说明结论具有跨时间尺度稳定性。
### 13.3 窗口级关键数字
在全部 20 个窗口上:
- `<=125 kHz` 能量中位数始终约为 99.98%。
- `>250 kHz` 能量中位数始终约为 0.011%-0.012%。
- `>250 kHz >=20%` 的文件数始终为 11 / 48。
- `<=125 kHz >=90%` 的文件数始终为 31 / 48。
- `<=125 kHz >=99%` 的文件数始终为 30 / 48。
这说明:
```text
CH1 的低频稳定文件是真稳定,高频风险文件也是真风险,
不是某一个 FFT 窗口长度造成的偶然现象。
```
### 13.4 对管理层的更新表述
基于 20 个代表 FFT 窗口的全量复核,CH1 结论可以更严谨地表达为:
> 在 48 个现场文件、20 个代表 FFT 窗口下,CH1 有 30 个文件稳定表现为低频主导,
> 11 个文件稳定表现为高频风险,7 个文件为过渡/混合状态。窗口尺度变化没有改变
> 分型结论。因此,500 kSPS 原型验证具备充分依据,但能否最终定型取决于 11 个高频
> 风险文件是否属于目标碰/敲/切/挤。
## 14. 候选频段与 C 类局部深挖结果
执行输出:
- `output/ch1_targeted_deep_dive/CH1_targeted_deep_dive.html`
- `output/ch1_targeted_deep_dive/candidate_band_recommendation.csv`
- `output/ch1_targeted_deep_dive/candidate_band_by_class.csv`
- `output/ch1_targeted_deep_dive/risk_local_windows.csv`
### 14.1 当前可以回答专家的问题
在没有碰/敲/切/挤标签的前提下,当前只能回答“CH1 已采集文件的频段分布”,不能最终回答“每个动作类别的频段”。
| 文件分型 | 文件数 | `<=125 kHz` 中位数 | `<=200 kHz` 中位数 | `>250 kHz` 中位数 | `400 kHz-1 MHz` 中位数 | 当前解释 |
|---|---:|---:|---:|---:|---:|---|
| A 低频稳定 | 30 | 99.99% | 99.99% | 0.01% | 0.01% | 主候选频带 0-125kHz;500ksps 强支持 |
| B 过渡/混合 | 7 | 82.26% | 83.95% | 14.91% | 11.85% | 候选频带 0-200kHz;需要作为边界样本复核 |
| C 高频风险 | 11 | 48.56% | 53.32% | 43.36% | 34.44% | 存在 250kHz 以上尤其 400kHz-1MHz 高频;需现场确认是否目标工况 |
因此,当前给专家的频段回答应分层表述:
- A 类 30 个文件:主候选频带是 `0-125 kHz`,对 500 kSPS 强支持。
- B 类 7 个文件:候选频带先按 `0-200 kHz` 看待,是边界/混合样本。
- C 类 11 个文件:存在稳定 `>250 kHz` 高频,其中主要部分在 `400 kHz-1 MHz`,需要确认是否属于目标工况。
### 14.2 分频段细节
| 文件分型 | 0-50k | 50-100k | 100-125k | 125-200k | 200-250k | 250-400k | 400-1000k |
|---|---:|---:|---:|---:|---:|---:|---:|
| A 低频稳定 | 99.85% | 0.12% | 0.01% | 0.00% | 0.00% | 0.00% | 0.01% |
| B 过渡/混合 | 79.62% | 1.84% | 0.63% | 1.69% | 1.13% | 3.06% | 11.85% |
| C 高频风险 | 43.14% | 3.74% | 1.68% | 4.76% | 3.28% | 8.92% | 34.44% |
关键解释:
- A 类并不是仅仅“低于 250 kHz”,而是几乎全部压在 `0-50 kHz`,`100-125 kHz` 也很少。
- B 类仍以低频为主,但 `250 kHz` 以上已有约 15% 中位占比,需要作为边界样本复核。
- C 类的高频主体不是 `250-400 kHz`,而是 `400 kHz-1 MHz`。这对 500 kSPS 最不友好,因为 500 kSPS 无法直接表示这些频率。
### 14.3 11 个 C 类文件的局部风险窗口
对每个 C 类文件提取局部高风险窗口后,结果如下。`top_start_s` 表示该文件内最高 `>250 kHz` 局部窗口的起始时间。
| 文件 | top_start_s | 最高局部 `>250 kHz` | Top10 局部 `>250 kHz` 中位数 | Top10 最低 `<=125 kHz` | `>250 kHz` 中来自 `400 kHz-1 MHz` 的中位占比 |
|---|---:|---:|---:|---:|---:|
| `1-机床移动 26-07-07 15-00-55.txt` | 7.254 | 45.80% | 42.22% | 45.84% | 79.99% |
| `1-机床移动 26-07-07 14-27-36.txt` | 1.443 | 44.69% | 42.98% | 47.15% | 78.70% |
| `1-机床移动 26-07-07 15-04-28.txt` | 6.914 | 42.19% | 38.36% | 50.54% | 79.15% |
| `1-机床移动 26-07-07 14-29-14.txt` | 3.333 | 42.77% | 38.77% | 50.91% | 78.89% |
| `1-机床移动 26-07-07 11-02-01.txt` | 10.760 | 38.14% | 36.37% | 56.14% | 79.19% |
| `1-机床移动 26-07-07 15-00-06.txt` | 1.630 | 20.60% | 19.96% | 76.29% | 80.43% |
| `1-机床移动 26-07-07 16-31-16.txt` | 5.468 | 8.69% | 8.12% | 89.83% | 79.03% |
| `1-机床移动 26-07-07 16-37-18.txt` | 4.682 | 9.45% | 8.83% | 88.31% | 77.84% |
| `1-机床移动 26-07-07 16-53-14.txt` | 2.464 | 10.07% | 9.51% | 87.82% | 80.16% |
| `1-机床移动 26-07-07 16-46-59.txt` | 2.192 | 9.81% | 9.07% | 87.98% | 79.91% |
| `1-机床移动 26-07-07 16-40-04.txt` | 1.759 | 9.72% | 9.17% | 88.57% | 79.31% |
这张表的意义:
- 前 5 个 C 类文件的局部 `>250 kHz` 占比可达约 38%-46%,属于强高频风险。
- 后 5 个 C 类文件在全文件口径为 C,但局部最高 `>250 kHz` 约 9%-10%,更像中等风险或边界高频状态。
- 11 个 C 类文件中,`>250 kHz` 的高频能量约 78%-80% 来自 `400 kHz-1 MHz`,不是靠近 250 kHz 的边缘误差。
### 14.4 当前用于汇报的最严谨结论
当前 CH1 广州清诚的结论可以写成:
> 在 48 个现场文件中,30 个文件稳定落在低频段,主能量集中于 `0-125 kHz`,其中 `0-50 kHz` 占绝对主体;7 个文件为 `0-200 kHz` 为主但带有一定高频成分的边界样本;11 个文件存在稳定 `>250 kHz` 高频风险,且高频主体集中在 `400 kHz-1 MHz`。因此,500 kSPS 原型卡可以继续用于低频版验证,但不能在未确认 11 个 C 类文件工况前作为最终硬件定型依据。
需要继续向现场确认的核心问题只有一个:
```text
这 11 个 C 类高频风险文件,特别是前 5 个强风险文件,采集时是否对应目标动作“碰/敲/切/挤”?
```
如果答案是否定的,500 kSPS 方案的风险会明显下降;如果答案是肯定的,500 kSPS 只能做低频近似验证,不能覆盖完整目标信号。
## 15. t-f-A 汇报版图集更新
执行输出:
- `output/ch1_tfa_report/index.html`
- `output/ch1_tfa_report/tfa_report_summary.csv`
- `output/ch1_tfa_report/*/*_heatmap.html`
- `output/ch1_tfa_report/*/*_3D.html`
### 15.1 更新目的
原来的 t-f-A 图主要用于证明“可以画时间-频率-幅值图”。本次更新后,图集直接服务于 500 kSPS 可用性判断:
- 每张图都标出 `125 kHz`、`200 kHz`、`250 kHz` 三条边界线。
- 每张图都带文件级数字摘要:`<=125 kHz`、`<=200 kHz`、`>250 kHz`、`400 kHz-1 MHz`。
- 代表文件覆盖 A 低频稳定、B 边界混合、C 高频风险三类。
- 每个代表文件同时输出 2D 热力图和 3D 曲面图。
### 15.2 代表文件
本次图集选择 9 个 CH1 代表文件:
| 分型 | 文件数 | 用途 |
|---|---:|---|
| A 低频稳定 | 2 | 展示 `0-125 kHz` 主导、支持 500 kSPS 的典型样本 |
| B 边界混合 | 2 | 展示低频为主但有高频成分的边界样本 |
| C 高频风险 | 5 | 展示最需要现场复核的强高频风险样本 |
核心入口:
```text
output/ch1_tfa_report/index.html
```
### 15.3 汇报时的使用方式
建议汇报顺序:
1. 先展示 `output/ch1_tfa_report/index.html` 的总表,说明 A/B/C 三类代表文件。
2. 再打开 A 类 2D/3D 图,说明低频样本几乎全部落在 `125 kHz` 以下。
3. 再打开 C 类 2D/3D 图,说明风险样本的高频能量明显越过 `250 kHz`,且主体在 `400 kHz-1 MHz`。
4. 最后回到数字结论:500 kSPS 可以继续做低频版验证,但 C 类样本未确认工况前不能最终定型。
注意:t-f-A 图经过可视化降采样,目的是展示形态;最终比例判断以 CSV 统计和图旁数字摘要为准。