AI 层特征

本页三项分析位于单项描述子之上一层。它们不产出某个单一物理量,而是把众多特征汇聚成 可直接用于决策的结果:相对已知良品基线的标量偏离度、学习得到的嵌入向量, 或是隐藏在看似平稳信号中的调制结构图。

AI 异常度得分

异常度得分回答一个没有教科书公式的问题:这台机器听起来是否与我已知的良品不同? 它不需要任何带标注的故障数据 —— 只需要正常状态的录音。

14 维特征向量

每个分析帧被约简为 14 个特征:8 个来自波形,6 个来自同一帧的频谱。

域特征
时域RMS、峭度、峰值因子、波形因子、脉冲因子、裕度因子、能量熵(8 子帧)、过零率
频域谱质心、谱扩展、谱平坦度、谱峰值因子、谱熵、谱滚降点

这些定义与对应的独立分析完全一致,因此任何高分都可以追溯到某个可解释的物理量。 某帧上无法求值的特征(例如静音帧上的比值)按 0 计入,而不会让整个向量作废。

得分定义

基线为每一维存储一个均值与一个标准差。帧的得分即其相对基线的归一化距离 —— 在各维上求平均的对角 Mahalanobis 距离:

zi = ( xi − μi ) / σi     得分 = √( (1/D) Σi zi² )

按维数归一使得分很好读:恰好落在基线上的帧得 0; 每一维都恰好偏离一个标准差的帧恰好得 1。 因此阈值取 3 就意味着"平均偏离正常三个 sigma",与用了多少个特征无关。

每个标准差都被正则化到一个很小的正下限,因此在基线录音上恰好恒定的某一维,不会把得分推到无穷大。

三种基线模式

支持三种取得基线的方式,按以下顺序尝试:

模式由谁设定用途
从文件载入BaselineStatsPath生产使用:基线在一批已知良品上训练得到,每次测试都原样复用。
取录音开头一段BaselineSeconds磨合与耐久监测:以开头若干秒定义"正常",录音其余部分与之比较。若开头段不足 8 帧则退回整文件。
整个文件默认探索:在单条录音内部找出相对最异常的片段。

无论处于哪种模式,设置 BaselineExportPath 都会把当前使用的基线统计量写成 JSON 文件, 于是一台良品机上得到的基线可以一次性固化,日后通过 BaselineStatsPath 复用。

在良品上训练一次,之后为每条新录音打分 良品录音 每帧 14 个特征 基线 μ、σ 导出为 JSON 得分曲线 + 报警 阈值 异常帧 t

输出与报警

结果是一条随时间的得分曲线。其单值取得分的 95 分位,它比最大值稳定得多, 很适合作为合格判定依据。标注中另外给出最大得分及其出现的时刻。 只要有帧超过 AnomalyThreshold 即触发报警,报警会说明超阈帧数与最严重的帧在何处。

参数

参数默认值说明
FrameSize2048分析帧长(采样点);小于 256 时回退为默认值
Hop1024(帧长的一半)帧间推进
WindowHanning谱特征作 FFT 前加窗
BaselineStatsPath—要载入的 JSON 基线;优先级高于其他模式
BaselineSeconds0(关闭)用录音开头 N 秒作基线
BaselineExportPath—把当前使用的基线写到该 JSON 文件
AnomalyThreshold3超过该得分即判为异常帧
基线只在其录制时的工况下有效。拿一条怠速录音去对比满载基线,会得到一个与机器健康毫无关系的高分。 请为每个工况分别保存一条基线,或把工况纳入测试规程。

AI 嵌入向量(ONNX)

嵌入向量是预训练神经网络产出的定长向量,声学上相似的录音在其中彼此靠近。 它把"这个听起来像不像那个"变成一次距离计算,也使分类器只需少量样本即可训练。

前端与模型输入

本分析复用标准化的 Log-Mel 前端,并固定采用训练域缩放 ln(mel + 0.01);算出某通道的 Mel 矩阵后送入 OnnxModelPath 指定的模型, 把模型的第一个输出展平为嵌入向量。

信号 → Log-Mel(ln 缩放)→ ONNX 模型 → 嵌入向量(通常 128…2048 维)

前端参数必须与模型训练时的口径一致。默认值对应广泛使用的 25 ms / 10 ms、64 带、125…7500 Hz 布局。

输入形状适配

不同模型声明输入的方式各异 —— 有的帧在前、有的带在前,有的带 batch 维,有的把某些维留为动态。 本分析读取模型声明的形状后逐维填充:声明尺寸等于 Mel 带数的那一维放带数, 其他固定维保持声明值,动态维从后往前依次填入带数、帧数,再填 1。 若模型完全没有声明形状,则按 [1, frames, mels] 构造张量。

输出与模型的准备

嵌入向量以"维度序号"为横轴显示为曲线;其单值为向量范数 |v|,标注中给出维数。 两个向量之间可用余弦相似度比较,以找出最接近的已知声音。

软件不随附任何模型文件。若 OnnxModelPath 为空或文件不存在, 分析会给出提示并正常结束,不报错 —— 引擎已就绪,只等模型。 由于结果完全由您提供的模型决定,该条目在 Insert 目录中不带验证星级。

参数

参数默认值说明
OnnxModelPath必填ONNX 模型文件路径
NMels64Mel 带数 —— 必须与模型训练口径一致
FrameMs25 ms前端帧长
HopMs10 ms前端跳步
FMin125 Hz滤波器组下边界
FMax7500 Hz滤波器组上边界

循环谱相干

许多机器故障在普通频谱里看不见,因为它们的特征不是一根谱线,而是一种调制: 某个高频共振被以较低的重复率反复开合。循环谱分析把这两个频率分开 —— 被激起的载波与调制发生的循环频率 —— 分置于两条独立的轴上。

循环调制相干

信号先作高重叠短时傅里叶变换。对每根载波谱线 f,各帧的功率序列 et = |Xt(f)|² 就是该谱线随时间的包络。 去掉其均值后沿帧轴变换即得调制内容,并按平均包络归一,使结果表达的是相对调制深度而非绝对电平:

CMC(f, α) = 2 · | DFTt( et − ē )(α) | / ( K · ē )

系数 2 把正负循环频率合并为单边,因此数值可直接当作调制比例来读。 平稳、无调制的信号给出接近 0 的值;幅度调制的载波则在调制率处形成清晰脊线,并在其谐波处出现较弱的脊线。

分辨率与范围

由于调制是在短时变换的帧率上被观测的,可及的循环频率范围与分辨率直接由窗长和跳步决定:

帧率 = fs / CscHop   αmax = 帧率 / 2    Δα = 帧率 / K

其中 K 为实际使用的帧数,取不超过可用帧数的最大 2 的幂, 以保证循环频率网格精确、且不产生零填充泄漏。该范围足以覆盖轴承与齿轮故障的调制率 (几赫兹到几百赫兹)。CscAlphaMaxHz 可进一步限制显示范围, 只关心低调制率时可借此加快分析。

如何读这张图

结果是一张彩图,一轴为循环频率 α,另一轴为载波频率 f:

分析还会报告"跨全部载波谱线取平均后相干最高"的那个循环频率,即本条录音的主导调制率。 搜索时跳过前两个循环频率槽,因为那里由缓慢的电平漂移主导,而非真正的调制。

参数

参数默认值说明
CscWindowSize256STFT 窗长(采样点),决定载波频率分辨率。小于 32 时回退为默认值
CscHop64(窗长的四分之一)帧推进量;决定帧率,从而决定最大循环频率
WindowHanningFFT 前加窗
CscAlphaMaxHz0(= 帧率 / 2)循环频率显示范围的上限
本分析需要足够长的录音:至少要有 8 个可用帧,且循环频率分辨率随帧数成比例提高。 数秒量级的录音是典型选择。

应用

异常度得分是建立在一组标准、可逐项解释的特征之上的对角 Mahalanobis 距离; 循环调制相干则是循环谱相干族中的轻量估计器。二者的设计都是透明的: 任何偏高的数值,都能追溯到造成它的那个特征,或那一对载波/循环频率。

© 2026 Deepsona. All Rights Reserved.