本页三项分析位于单项描述子之上一层。它们不产出某个单一物理量,而是把众多特征汇聚成 可直接用于决策的结果:相对已知良品基线的标量偏离度、学习得到的嵌入向量, 或是隐藏在看似平稳信号中的调制结构图。
异常度得分回答一个没有教科书公式的问题:这台机器听起来是否与我已知的良品不同? 它不需要任何带标注的故障数据 —— 只需要正常状态的录音。
每个分析帧被约简为 14 个特征:8 个来自波形,6 个来自同一帧的频谱。
| 域 | 特征 |
|---|---|
| 时域 | RMS、峭度、峰值因子、波形因子、脉冲因子、裕度因子、能量熵(8 子帧)、过零率 |
| 频域 | 谱质心、谱扩展、谱平坦度、谱峰值因子、谱熵、谱滚降点 |
这些定义与对应的独立分析完全一致,因此任何高分都可以追溯到某个可解释的物理量。 某帧上无法求值的特征(例如静音帧上的比值)按 0 计入,而不会让整个向量作废。
基线为每一维存储一个均值与一个标准差。帧的得分即其相对基线的归一化距离 —— 在各维上求平均的对角 Mahalanobis 距离:
按维数归一使得分很好读:恰好落在基线上的帧得 0; 每一维都恰好偏离一个标准差的帧恰好得 1。 因此阈值取 3 就意味着"平均偏离正常三个 sigma",与用了多少个特征无关。
每个标准差都被正则化到一个很小的正下限,因此在基线录音上恰好恒定的某一维,不会把得分推到无穷大。
支持三种取得基线的方式,按以下顺序尝试:
| 模式 | 由谁设定 | 用途 |
|---|---|---|
| 从文件载入 | BaselineStatsPath | 生产使用:基线在一批已知良品上训练得到,每次测试都原样复用。 |
| 取录音开头一段 | BaselineSeconds | 磨合与耐久监测:以开头若干秒定义"正常",录音其余部分与之比较。若开头段不足 8 帧则退回整文件。 |
| 整个文件 | 默认 | 探索:在单条录音内部找出相对最异常的片段。 |
无论处于哪种模式,设置 BaselineExportPath 都会把当前使用的基线统计量写成 JSON 文件,
于是一台良品机上得到的基线可以一次性固化,日后通过 BaselineStatsPath 复用。
结果是一条随时间的得分曲线。其单值取得分的 95 分位,它比最大值稳定得多,
很适合作为合格判定依据。标注中另外给出最大得分及其出现的时刻。
只要有帧超过 AnomalyThreshold 即触发报警,报警会说明超阈帧数与最严重的帧在何处。
| 参数 | 默认值 | 说明 |
|---|---|---|
FrameSize | 2048 | 分析帧长(采样点);小于 256 时回退为默认值 |
Hop | 1024(帧长的一半) | 帧间推进 |
Window | Hanning | 谱特征作 FFT 前加窗 |
BaselineStatsPath | — | 要载入的 JSON 基线;优先级高于其他模式 |
BaselineSeconds | 0(关闭) | 用录音开头 N 秒作基线 |
BaselineExportPath | — | 把当前使用的基线写到该 JSON 文件 |
AnomalyThreshold | 3 | 超过该得分即判为异常帧 |
嵌入向量是预训练神经网络产出的定长向量,声学上相似的录音在其中彼此靠近。 它把"这个听起来像不像那个"变成一次距离计算,也使分类器只需少量样本即可训练。
本分析复用标准化的 Log-Mel 前端,并固定采用训练域缩放
ln(mel + 0.01);算出某通道的 Mel 矩阵后送入 OnnxModelPath 指定的模型,
把模型的第一个输出展平为嵌入向量。
前端参数必须与模型训练时的口径一致。默认值对应广泛使用的 25 ms / 10 ms、64 带、125…7500 Hz 布局。
不同模型声明输入的方式各异 —— 有的帧在前、有的带在前,有的带 batch 维,有的把某些维留为动态。
本分析读取模型声明的形状后逐维填充:声明尺寸等于 Mel 带数的那一维放带数,
其他固定维保持声明值,动态维从后往前依次填入带数、帧数,再填 1。
若模型完全没有声明形状,则按 [1, frames, mels] 构造张量。
嵌入向量以"维度序号"为横轴显示为曲线;其单值为向量范数 |v|,标注中给出维数。
两个向量之间可用余弦相似度比较,以找出最接近的已知声音。
软件不随附任何模型文件。若 OnnxModelPath 为空或文件不存在,
分析会给出提示并正常结束,不报错 —— 引擎已就绪,只等模型。
由于结果完全由您提供的模型决定,该条目在 Insert 目录中不带验证星级。
| 参数 | 默认值 | 说明 |
|---|---|---|
OnnxModelPath | 必填 | ONNX 模型文件路径 |
NMels | 64 | Mel 带数 —— 必须与模型训练口径一致 |
FrameMs | 25 ms | 前端帧长 |
HopMs | 10 ms | 前端跳步 |
FMin | 125 Hz | 滤波器组下边界 |
FMax | 7500 Hz | 滤波器组上边界 |
许多机器故障在普通频谱里看不见,因为它们的特征不是一根谱线,而是一种调制: 某个高频共振被以较低的重复率反复开合。循环谱分析把这两个频率分开 —— 被激起的载波与调制发生的循环频率 —— 分置于两条独立的轴上。
信号先作高重叠短时傅里叶变换。对每根载波谱线 f,各帧的功率序列
et = |Xt(f)|² 就是该谱线随时间的包络。
去掉其均值后沿帧轴变换即得调制内容,并按平均包络归一,使结果表达的是相对调制深度而非绝对电平:
系数 2 把正负循环频率合并为单边,因此数值可直接当作调制比例来读。 平稳、无调制的信号给出接近 0 的值;幅度调制的载波则在调制率处形成清晰脊线,并在其谐波处出现较弱的脊线。
由于调制是在短时变换的帧率上被观测的,可及的循环频率范围与分辨率直接由窗长和跳步决定:
其中 K 为实际使用的帧数,取不超过可用帧数的最大 2 的幂,
以保证循环频率网格精确、且不产生零填充泄漏。该范围足以覆盖轴承与齿轮故障的调制率
(几赫兹到几百赫兹)。CscAlphaMaxHz 可进一步限制显示范围,
只关心低调制率时可借此加快分析。
结果是一张彩图,一轴为循环频率 α,另一轴为载波频率 f:
分析还会报告"跨全部载波谱线取平均后相干最高"的那个循环频率,即本条录音的主导调制率。 搜索时跳过前两个循环频率槽,因为那里由缓慢的电平漂移主导,而非真正的调制。
| 参数 | 默认值 | 说明 |
|---|---|---|
CscWindowSize | 256 | STFT 窗长(采样点),决定载波频率分辨率。小于 32 时回退为默认值 |
CscHop | 64(窗长的四分之一) | 帧推进量;决定帧率,从而决定最大循环频率 |
Window | Hanning | FFT 前加窗 |
CscAlphaMaxHz | 0(= 帧率 / 2) | 循环频率显示范围的上限 |
© 2026 Deepsona. All Rights Reserved.