
1. 写在前面为什么故障诊断到头来总是“两张皮”最近和几个做工业智能运维的朋友聊大家不约而同提到一个尴尬现状实验室里跑得飞快的故障诊断模型一到现场就露怯。这边机理专家拍胸脯说“轴承故障特征频率就该这么算”那边数据工程师对着采集卡里的信号一脸茫然——特征频率算出来了但现场噪声一大、工况一变模型照样误报漏报。说白了这就是机理与数据之间那道看不见的鸿沟你手里有物理规律这个“剧本”也有数据这个“现场直播”但两者始终对不上焦。我在这个领域实操了几年从旋转机械的振动诊断做到工业设备的电流信号分析最大的体会是单纯靠机理建模鲁棒性太差单纯靠数据硬扛解释性又完全拿不出手。真正能落地的故障诊断方案一定是在准确性和可解释性之间找到平衡点。这篇博文从我自己的项目实践出发把“机理与数据融合”这件事掰开揉碎讲清楚——包括为什么两条路单走都走不通、融合的具体落地手法、以及踩过的坑和排查思路。无论你是做故障诊断的工程师还是刚接触PHM故障预测与健康管理的入门者这篇内容应该都能给你一些可直接参考的思路。2. 诊断方法体系全景机理、数据与融合的三条路线2.1 机理驱动物理规律是根但现实太骨感机理驱动的核心逻辑是把设备的物理失效过程用数学语言描述出来。以旋转机械为例滚动轴承的外圈故障特征频率计算公式是BPFO n/2 × fr × (1 - d/D × cosα)其中n是滚动体数量fr是转频d是滚动体直径D是节径α是接触角。这套公式从频域上告诉你“故障信号应该出现在哪个频率位置”做包络谱分析时我们就是拿着这个理论值去频谱里找峰值。我在一个实际的齿轮箱项目里用过这套方法。当时是一个二级减速箱输入轴转速1490rpm中间轴齿轮齿数Z122、Z277输出轴转速理论上应该是1490×22/77≈425.7rpm。按照啮合频率公式f_m Z × fr中间轴啮合频率为22×1490/60≈546.3Hz输出级啮合频率为77×425.7/60≈546.3Hz两级啮合频率恰好一致属于设计巧合。理论算得很漂亮但现场数据一采集频谱图上546Hz附近确实有峰值可旁边还蹲着一堆边带来自齿轮加工误差、轴不对中、负载波动——你到底该信哪个峰这就是机理驱动方法的第一个硬伤理想假设太强。公式里假设了纯滚动、恒定载荷、标准几何但现场设备永远处在变工况里。第二个硬伤是覆盖面窄——一个公式对应一种故障类型齿轮箱里有十几种故障模式你得建十几个模型。第三个硬伤最致命当设备结构复杂到一定程度比如多级传动链耦合、流固耦合的旋转机械你根本写不出精确的机理方程。2.2 数据驱动万物皆可拟合但黑箱难服众数据驱动的方法大家都很熟了从传统的SVM、随机森林到深度学习的CNN、LSTM、Transformer核心思路是“让数据自己说话”。这类方法的优势非常明显不需要深入理解设备机理只要有足够的带标签故障数据模型就能自动学到特征和故障类别之间的映射关系。我在一个电机轴承故障诊断项目里试过用一维CNN直接处理原始振动信号结构很简单输入层接1024个采样点经过三层Conv1D每层64个卷积核核大小分别为32、16、8然后接全局平均池化和Softmax分类层。训练集用慕尼黑工业大学的公开轴承数据集测试准确率能做到99%以上——看这个数字谁都会兴奋。但真到了现场就笑不出来了。第一个问题是“数据集漂移”实验室里加载固定载荷、固定转速现场实际转速从800rpm到3000rpm随机波动模型准确率直接从99%掉到70%。第二个问题是“不可解释”模型说这是外圈故障你问它为什么它只能给你一个Softmax输出的概率值0.93没了。现场设备工程师不敢信——你让他凭一个黑盒概率去停机检修出了责任事故算谁的第三个问题是“小样本困境”工业现场故障样本本来就稀缺一个设备跑三年可能才出一次故障你上哪儿凑够深度学习需要的几千个故障样本2.3 融合路线把物理规律装进数据模型的“骨架”里这两条路各走极端的结果就是我在项目里反复碰壁之后开始认真思考第三条路机理与数据融合。这个思路本质上不是“二选一”而是“把物理规律作为先验知识注入数据模型的训练过程或结构设计里”让模型既能在小样本下快速收敛又能给出符合物理逻辑的决策依据。融合的层次可以分三种数据级融合用机理模型生成仿真样本扩充训练集、特征级融合把机理特征如故障特征频率、时域统计量拼接进神经网络输入端、模型级融合把物理方程嵌入网络结构典型代表是PINN——物理信息神经网络。我在实际项目里三层都试过说实话各有各的适用场景后面我详细拆解。注意融合不是说随便把机理公式写在Loss函数里就完事。物理约束的权重系数、方程的形式、离散化方式每一项都可能让模型从“收敛得好好的”变成“彻底发散”。这里面全是细节。3. 精准问题定义准确性和可解释性到底在争什么3.1 先搞清楚“准确”的几种含义做故障诊断的人聊“准确性”往往默认指分类准确率但这个指标在工业场景下很容易骗人。假设某个设备99%的时间都在正常运行故障只占1%你做一个“永远输出正常”的模型准确率就是99%——这模型有意义吗没有。所以我在项目里更看重三个指标的组合精确率Precision、召回率Recall和F1-score。精确率回答“你报警的时候有多准”召回率回答“该抓的故障你抓到了多少”。对于故障诊断场景漏报故障了你说正常比误报正常了你喊故障代价大得多所以召回率往往要优先保障而F1-score是两者的综合平衡。另一个容易忽略的“准确性”维度是故障定位的精度。比如同样是轴承故障你不仅要告诉设备工程师“轴承坏了”还得告诉他“是外圈、内圈还是滚动体”。不同故障位置对应的特征频率不同但都可能表现为高频冲击成分混在一起很容易误判。所以我在评估模型时会把“部件级定位准确率”和“故障类型级准确率”分开统计。3.2 可解释性不是“锦上添花”而是“安全底线”可解释性在故障诊断里的价值常常被算法工程师低估。我在现场听到最多的一句话是“你告诉我这个模型有93%的置信度说齿轮箱要坏那我是停机还是不停机停机一天损失几十万产值不停机万一真坏了更惨——你得给我一个能说服人的理由。”这就是工业场景对可解释性的真实需求它不是为了让论文好看而是为了支持维护决策的审计与追责。你基于模型建议做了停机检修如果拆开设备发现没坏领导会质问你依据是什么如果没停机结果真坏了同样要追责。只有模型能给出“因为频谱在546.3Hz处出现了明显的边带调制且边带间隔等于输入轴转频符合齿轮点蚀的机理特征”这样的解释维护工程师才敢签字。从技术角度可解释性还能帮我们发现模型的“偷懒行为”。我见过一个模型准确率很高后来用Grad-CAM一看它根本不是在学习故障特征而是在学“采集时间”这个伪特征——因为现场数据采集顺序是固定的某类故障总在某个时间段出现。没有可解释性分析这种foolish模型会一直骗你。3.3 两者冲突的本质归纳偏置之争准确性和可解释性为什么难以兼得底层原因是两者的“归纳偏置”不同。数据驱动模型尤其是深度网络的归纳偏置很弱它假设“数据里什么规律都有我自己学”所以灵活、拟合能力强但学到的规律可能是黑箱的、不可名状的。机理模型的归纳偏置极强它假设“世界由这几条物理方程支配”所以天然可解释但一旦真实物理过程超出方程假设范围模型立刻失效。融合方法的本质是给数据模型一个“正确的强归纳偏置”——不是完全锁死模型的表达空间而是把物理规律作为软约束引导模型在“符合物理规律”的区域内自由发挥。这样既保留了数据拟合的灵活性又保证了输出结果不会跑出物理常识的边界。4. 融合落地的四种实战路径与关键技术拆解4.1 路径一机理仿真数据辅助训练——“缺样本就用物理造样本”这条路径最容易理解操作门槛也最低用机理模型生成大量带标签的仿真故障样本和真实样本混合训练。我在一个风力发电齿轮箱项目里用过这招当时真实故障样本只有87条而深度学习分类器至少需要几千条样本才能稳定收敛。具体做法是用Simulink搭建齿轮箱的动力学模型核心是一个扭转振动方程Jθ Cθ Kθ T(t)。J是转动惯量C是阻尼系数K是啮合刚度T(t)是输入转矩。为了模拟齿轮点蚀故障我把啮合刚度K改成一个周期性降低的函数K(t) K0 × (1 - d × exp(-((t mod T_p) - t0)²/2σ²))其中d是点蚀深度系数T_p是故障冲击周期。这样每次仿真都能生成一段带故障特征的振动加速度信号。操作要点有两个。第一仿真参数不能“拍脑袋”必须通过真实采集的少量样本进行标定——哪怕只有十几条正常样本也能把系统的固有频率、阻尼比标定个大概。第二仿真数据和真实数据的分布差异必须处理否则模型会在仿真特征上过拟合。我习惯的做法是给仿真信号叠加现场采集的背景噪声从正常工况数据里截取再加随机的幅值调制和相位扰动让仿真样本更“脏”一些。这招的局限性也要说清楚仿真模型和真实设备之间的“sim-to-real gap”不可能为零所以仿真样本只能作为补充不能替代真实故障样本。我的经验是仿真样本占比控制在50%~70%效果最好超过80%模型会开始“偏科”。4.2 路径二物理特征注入网络输入——“让模型先看到专家看到的”这条路径更简单直接不改变模型结构而是在输入端把机理特征作为额外通道和原始信号一起喂给网络。我在电机轴承故障诊断里就这么干过原始输入是一维振动信号我额外计算了三组机理特征拼进去频域特征包络谱中BPFO、BPFI内圈故障特征频率、BSF滚动体故障特征频率及其二倍频、三倍频处的幅值时域特征峭度、峰值因子、均方根值——前两者对早期冲击型故障敏感后者反映整体振动能量边带特征故障特征频率两侧±转频处的边带幅值比用于区分调制源拼接方式很简单原始信号经过三层卷积提取深层特征后把机理特征向量拼接到全连接层之前然后一起送入分类器。我当时用的网络结构是输入层原始信号机理特征→ 三层Conv1D → Flatten → Concat机理特征→ 两层全连接 → Softmax。这个方案带来的提升非常可观在测试集上只用原始信号的CNN准确率是91.2%加了物理特征后提升到96.8%更关键的是在变工况测试下训练集固定1500rpm测试集切换到900rpm准确率从70.5%提升到85.4%。因为机理特征本身不受转速影响特征频率是转频的固定倍数它相当于给模型提供了一个“转速不变性”的锚点。这里有个细节值得说一下物理特征在拼接前最好做标准化z-score否则幅值差异过大的特征会主导梯度更新让网络学不到原始信号的深层信息。我踩过这个坑一开始没做标准化模型训练Loss直接飞了折腾了一天才定位到问题。4.3 路径三物理信息约束的模型结构PINN——“把方程写进Loss里”PINNPhysics-Informed Neural Network是这几年比较热的方向核心思想是在神经网络的损失函数里加一个物理方程残差项。它的数学形式很简洁假设系统满足微分方程F(u, ∂u/∂x, ∂²u/∂x², ..., x) 0那么在训练时除了常规的数据拟合损失L_data还要加一个物理残差损失L_physics总损失L L_data λ × L_physics。我在一个转子不对中故障诊断项目里试过用PINN来学习转子系统的动力学响应。转子系统的运动方程简化为mẍ cẋ kx F_unbalance其中F_unbalance meω²sin(ωt)m是偏心质量e是偏心距ω是旋转角速度。我在网络输出层之前加了一个Torch的autograd操作让网络输出x(t)后自动计算一阶、二阶导数代入运动方程算出残差作为物理约束项。超参数选择上λ物理约束权重设置了一个从0.1到1.0的动态调度策略前30个epochλ较小让模型先拟合数据后面逐步增大让模型输出逐渐滑向物理可行域。这个调度策略很关键如果一开始λ就设很大模型会为了满足物理方程而牺牲数据拟合精度Loss降不下去。但PINN实际用起来坑也不少。最大的坑是梯度病态degenerate gradient物理残差项对输入坐标的导数量级可能和数据损失差了多个数量级导致两者在梯度更新上完全失衡。我当时的处理办法是用梯度归一化Gradient Normalization技术把两个Loss项的梯度分别归一化到接近的尺度。另外如果物理方程本身不够精确比如忽略了油膜轴承的非线性刚度残差项可能反而把模型“带偏”。所以PINN适合物理规律比较明确、模型误差可控的场景不适合方程本身就很粗糙的情况。4.4 路径四知识蒸馏与模型解释——把黑箱“翻译”成白箱这个路径更像是在“解释”和“准确”之间做桥接先训练一个高精度的黑箱教师模型再用可解释的轻量学生模型去模仿它的行为。我在实践中最常用的组合是教师模型用深度CNN或LSTM追求准确率学生模型用梯度提升树GBDT或逻辑回归追求可解释性。知识蒸馏的做法是教师模型输出的软标签Softmax分布作为学生模型的训练目标而不仅仅是硬标签0/1类别。举个例子教师模型对某个样本的输出是[0.02, 0.85, 0.13]分别对应“正常、外圈故障、内圈故障”硬标签是“外圈故障”但软标签里藏着“有一点像内圈故障”的信息。学生模型通过拟合软标签能学到教师模型的“判断逻辑”同时因为学生模型本身是可解释的比如GBDT可以输出特征重要性我们就能知道它做决策的依据。我用这个方案做过一个实测项目流程是训练一个一维CNN教师模型测试准确率98.2%用它的软标签加上温度参数T3的软化处理训练一个GBDT学生模型学生模型准确率94.7%损失约3.5个百分点但换来的是每个决策都能输出特征重要性排序比如某个样本被判为外圈故障GBDT给出的理由是包络谱546.4Hz幅值重要性0.41、边带间隔29.8Hz0.27、峭度0.18等。虽然还没到“完全解释”但至少维护工程师能拿着这个列表去现场验证了。蒸馏过程中有个技巧温度T控制软标签的“软化程度”T越高软标签越平滑学生模型学到的迁移信息越多但太高比如T5会引入太多噪声。我通常从T3开始根据学生模型的收敛情况微调。4.5 四条路径的选型对比与实际场景适配这四条路径不是互斥的我在实际项目里常常组合使用。比如先走“机理特征注入”提升短期准确率同时用“知识蒸馏”保证可解释性再用“仿真数据扩充”解决数据稀缺问题。但组合的前提是你清楚每条路径的成本和边界。融合路径实现难度可解释性提升准确性提升适用场景仿真数据辅助训练低弱中真实故障样本极少物理特征注入低中中高已明确故障特征频率等机理PINN高强中物理方程较精确、需连续量预测知识蒸馏中强中高已训练好黑箱模型、需决策解释你可能会问既然融合这么好为什么不直接全用物理模型原因前面说过了物理模型覆盖不了复杂场景。为什么不直接全用数据模型因为工业决策需要解释和信任。融合不是“最优解”而是在项目约束下的“最稳解”——我做了这么多项目最大的体会就是工程上不要追求完美要追求可靠。5. 一个完整的实操案例齿轮箱故障诊断的“机数”双引擎方案5.1 项目背景与数据现状这个案例来自我之前参与的一个冶金行业减速机状态监测项目。设备是一台三级的减速机驱动电机功率315kW输入转速1488rpm总减速比约25.6。测点布置在输入轴轴承座、中间轴轴承座、输出轴轴承座三个位置每通道采样率25.6kHz每次采集时长为5秒128000个采样点每10分钟采集一组。标签情况是正常运行数据128组已知故障数据只有18组来自设备历史上真实发生过的两次故障——一次是输出级大齿轮点蚀12组数据一次是输入轴轴承内圈故障6组数据。18个故障样本做训练随便哪个深度学习模型都得跪。这个项目正好把前面说的几条融合路径全部用上了。5.2 机理特征计算与仿真数据生成首先是特征频率计算。输入轴转频f_r1 1488/60 24.8Hz输入级小齿轮齿数Z123啮合频率f_m1 23×24.8 570.4Hz。中间轴转频f_r2 24.8×23/73 ≈ 7.82Hz我用了两级减速中间轴齿数为73。输出级大齿轮点蚀的特征就是在这些啮合频率及其倍频两侧出现边带边带间隔等于所在轴的转频。然后是仿真数据生成。我用Python写了一个简化动力学模型核心代码大概长这样import numpy as np from scipy.signal import hilbert def simulate_gearbox(fs25600, duration5.0, fsr24.8, fm570.4, fault_typepitting, severity0.3): t np.linspace(0, duration, int(fs*duration), endpointFalse) # 正常啮合振动啮合频率及其2、3倍频 signal (1.0*np.sin(2*np.pi*fm*t) 0.5*np.sin(2*np.pi*2*fm*t) 0.3*np.sin(2*np.pi*3*fm*t)) if fault_type pitting: # 点蚀故障在啮合频率处产生周期性冲击调制 impact_period 1.0 / fsr # 每转过一个齿产生一次冲击 impact_train np.zeros_like(t) # 用脉冲序列模拟冲击 for i, ti in enumerate(t): if (ti % impact_period) 0.0005: # 冲击宽度0.5ms impact_train[i] 1.0 # 冲击经过齿轮箱共振频带放大这里简化为用指数衰减振荡 impulse_response np.exp(-t[:int(0.005*fs)]/0.001) * np.sin(2*np.pi*3000*t[:int(0.005*fs)]) impact_signal np.convolve(impact_train, impulse_response, modesame) signal signal severity * impact_signal # 添加噪声 signal 0.05 * np.random.randn(len(signal)) return signal, t生成仿真样本时我控制了故障严重程度severity从0.1到0.5变化故障类型有点蚀、磨损、断齿三种每种类型生成200条样本。生成后按照前面说的“加噪伪造分布差异”原则做了增强。这600条仿真样本和128条真实正常样本、18条真实故障样本混合构成了训练集。5.3 双引擎模型架构CNN加GBDT的协同决策这个项目的关键设计是“双引擎”——我用一个CNN作为特征提取器用GBDT作为可解释分类器两者配合工作。具体流程是CNN部分接收原始振动信号取2秒51200个采样点经过4层卷积提特征最后一层输出一个128维的特征向量这个特征向量和手工计算的机理特征故障特征频率幅值、峭度、边带比值等拼接成一个150维的特征向量拼接后的特征向量输入GBDT分类器输出故障类型和概率这里有意思的地方在于GBDT是“弱”分类器没错但它对输入特征的容忍度很高不需要像神经网络那样精细调参而且天然支持特征重要性分析。我选择这个架构的原因很朴素——把“特征提取”和“决策解释”分开模型的解释性就不再是事后诸葛而是从设计上就保证了的。训练过程的细节如下CNN训练阶段用仿真真实混合数据训练CNN优化器Adam初始学习率0.001每10个epoch衰减0.5训练50个epoch后收敛。CNN部分的目标不是直接分类故障而是学到“好的特征表示”——我用一个辅助分类头监督CNN学习但最终这个分类头会被丢弃只保留特征提取能力GBDT训练阶段冻结CNN参数对全体训练数据包括仿真和真实提取特征然后训练GBDT分类器。GBDT参数设置树数量300最大深度6学习率0.05子采样率0.8最后得到的双引擎模型在测试集20%留出法上的结果是指标纯CNN黑箱纯机理规则双引擎方案准确率96.2%82.5%94.8%F1-score95.1%78.3%93.6%变工况准确率72.0%78.0%91.5%可解释性无完全可解释特征重要性机理规则变工况测试是把模型放到转速从800到1800rpm波动的数据上评估双引擎方案的优势非常明显因为机理特征本身就是转频的归一化形式具备天然的抗转速变化能力。5.4 可解释性输出与维护决策支持双引擎方案的解释性输出分两个层面。第一层是GBDT的特征重要性比如某个样本被判为“外圈故障”时特征重要性排序前五名是BPFO幅值0.36、边带间隔与转频比0.24、时域峭度0.18、小波包能量熵0.11、RMS0.09。这对维护工程师的意义是他们能直接去检查包络谱里BPFO位置到底有没有异常峰值。第二层是规则兜底。我会写一组简单的IF-THEN规则和模型输出做交叉验证比如“如果模型诊断为外圈故障且包络谱BPFO处峰值/底噪比大于5则高置信度报警如果模型诊断为外圈故障但频谱里找不到对应峰值则降级为提示需要人工复核”。这个规则兜底机制极大减少了误报代价是会漏掉个别真正故障但维护工程师普遍接受度更高——宁可疑后再查不能无依据瞎报。6. 实操中的高频问题与排查思路6.1 物理特征算对了但模型就是不涨点这是最常见的问题通常有三个原因。第一是特征和标签的相关性不强——比如故障特征频率确实存在但这个频率幅值和故障严重程度不是单调关系模型学不到稳定规律。排查办法是画散点图看特征和标签的分布关系一眼就能看出有没有区分度。第二是特征被淹没在冗余信息里了尤其是拼接进网络的特征通道太多的时候。建议先做单变量分析筛选出区分度前5~10的特征再加进去。第三是特征标准化做得不对前面提过z-score标准化能避免幅值差异问题。6.2 仿真样本加多了真实样本准确率反而下降Sim-to-real gap太大导致的典型症状。我第一次加仿真样本的时候比例放到了85%结果真实测试集准确率从91%降到84%。原因是仿真信号太“干净”了模型学到了仿真信号的噪声分布特征而不是故障物理特征。解决思路是增加仿真信号的“不可靠性”——加现场噪声、加随机幅值扰动、随机改变冲击间隔。更系统的做法是用域随机化Domain Randomization仿真参数的取值范围尽量覆盖真实工况的范围比如转速从800到3000rpm随机取载荷系数从0.5到1.5随机取这样模型学到的特征对工况变化更鲁棒。但要注意域随机化的前提是你的仿真模型足够快否则生成样本的成本会高到不可接受。6.3 PINN的物理约束不收敛Loss忽高忽低PINN不收敛的排查顺序我建议是这样先检查物理方程残差项的量级。有个快速判断方法打印L_physics的值如果它在epoch一开始就是L_data的几十倍说明λ初始值太大先调小到0.01再跑。如果L_physics下降但L_data不动说明物理约束“锁死”了模型自由度需要检查方程是否过于刚性。还有一种可能是网络深度不够PINN需要至少4层以上的网络才有足够容量去同时拟合数据和物理规律。我遇到过最刁钻的问题是物理方程正确、代码没写错、但梯度爆炸。最后定位到原因是输入坐标x(t)的数值范围太大t的范围是0到5秒导致自动微分时梯度被尺度放大。解决方案是对输入做归一化把t映射到[0,1]区间同时把方程里的时间项相应转换。6.4 现场部署时“解释结果”和工人经验对不上这也是我实际遇到的坑。模型说“输出轴大齿轮点蚀”但老师傅用手摸轴承座说“感觉是轴承问题”。后来查了记录发现模型的特征重要性里“边带间隔”这项的值接近中间轴转频7.8Hz而被误判为输出轴相关。原因是设备有多级传动各级啮合频率恰好接近边带特征的区分度不足。解决办法是把频率匹配逻辑做得更严格对每特征频率不仅要看幅值还要看幅值与理论值的偏差百分比比如要求在±0.5%以内同时检查倍频关系是否成立BPFO的2倍、3倍频率处是否也有峰。这个“频率匹配打分”机制加到规则兜底层之后这类混淆基本消失了。6.5 问题排查速查表现象首要排查点次要排查点快速缓解措施物理特征不起作用特征与标签相关性弱特征标准化不齐单变量分析筛选特征仿真样本拖累准确性Sim-to-real gap过大仿真参数过于单一噪声增强、域随机化PINN不收敛物理残差量级失衡λ设置过大梯度归一化、λ调度解释结果与经验冲突特征区分度不足频率匹配规则不严加频率偏差容忍、倍频校验现场准确率下降工况漂移数据分布偏移增加机理特征比例、规则兜底7. 个人经验与心得说到底机理和数据不是“谁替代谁”的关系而是“谁在什么阶段主导”的关系。我自己的体会是在工业项目里可解释性从来不是模型训练完之后再补的“装饰品”而是从数据采集、特征设计到模型选型就一直要揣在兜里的“设计约束”。你早一点把“现场工程师敢不敢信”这个问题摆上桌后边就能少走很多弯路。还有一点很重要融合方案不是越复杂越好。我在好几个项目里发现一个“物理特征拼接轻量GBDT”的组合就足够解决80%的问题根本不需要拗PINN这种高级造型。先跑通简单方案再根据实际瓶颈决定要不要升级——这是我在这个领域做得越久越坚信的工程方法论。最后分享一个做特征工程的小技巧好歹算是我自己的压箱底经验在算包络谱之前先对原始信号做一下带通滤波滤波范围选在设备共振频带附近一般通过扫频激励或者锤击试验就能测出来共振峰位置这样包络谱里的故障特征频率处的信噪比能提升一大截后面所有基于频域特征的方法都会跟着受益。这个预处理步骤我在每个项目里都用效果稳定且实现成本极低强烈推荐。