首先,基于轴承故障频率BPFO及谐波的理论知识,设计多频带阻滤波器从健康帧中提取纯净的背景噪声轮廓;随后采用

Wiener
滤波对原始振动信号进行去噪,在保留故障特征的同时大幅降低噪声水平。
去噪后的信号逐帧计算标准差STD,经标准化后输入
LSTM
与真实值进行比较,当预测值超过健康段统计阈值(均值+1.5倍标准差)时,触发早期预警。
实验结果显示,该方法能在帧
458
分钟,显著提升了故障检测的及时性。
算法充分结合了物理先验(BPFO
时序学习)的优势,具有计算高效、可解释性强、适合边缘部署的特点,为旋转机械的预测性维护提供了可靠的技术方案。
算法步骤
物理机理噪声估计
根据轴承参数(滚子数、节径、接触角等)计算理论故障频率
BPFO
100–105),对每个健康帧应用多频带阻
Butterworth
共振区域采用更宽阻带以覆盖实测强峰。
对滤除谐波后的信号进行高通滤波(>100
Hz),剔除极低频机械干扰。
将多个健康帧的噪声估计取平均,获得稳定的背景噪声轮廓。
Wiener
滤波去噪
将噪声轮廓平铺至与原始
分钟信号等长,作为噪声参考信号。
使用
Welch
法估计原始信号和噪声的功率谱密度(PSD)。
计算频域
Wiener
PSD_noise),并设置增益下限(如
0.1)防止过度抑制。
将增益插值到原始信号的
FFT
频率点,对频谱加权后反变换得到去噪信号。
将去噪信号重塑为
[984
的数组,供后续特征提取和建模。
时域特征提取
对每一帧去噪信号计算标准差(STD),形成
984
序列进行标准化(Z-score),使其均值为
0、方差为
预测模型构建与训练
取健康段(帧
STD
作为训练数据。
使用滑动窗口(窗口大小
=
全连接输出层的回归模型,以均方误差为损失函数,Adam
优化器训练
验证集。
异常检测与早期预警
对测试段(帧
LSTM
标准差。
比较模型预测值与实际值,当预测值超过阈值时,认为出现异常,记录首次超阈值的帧号作为早期故障预警点。
实验表明,该方法在帧
458
附近即触发预警,比传统指标(峭度、RMS)的显著变化(约帧
540)提前约
100,101,102,103,105)提取噪声并平均
healthy_frames
multi_bandstop_butterworth(frame)
BPFO
highpass_butterworth(frame_stop,
fs=20480.0,
noise_profiles.append(frame_highpass)
对多个健康帧的噪声估计取平均,得到稳定的背景噪声轮廓
noise_avg
====================
Wiener
====================
def
P_noise),对信号频谱加权,
参数:
np.fft.rfftfreq(len(signal_in),
1/fs)
np.save('data_array_Wiener.npy',
data_array_Wiener)
====================
LSTM
====================
计算每帧的标准差(STD),作为时域特征
n_files
序列(零均值单位方差),利于
LSTM
scaler.fit_transform(std_sequence.reshape(-1,
1)).flatten()
np.array([std_norm[i:i+window]
for
X_healthy.reshape(X_healthy.shape[0],
window,
model.add(Input(shape=(window,
1)))
model.compile(optimizer='adam',
model.fit(X_healthy,
mid_slice[j:j+window].reshape(window,
pred
model.predict(mid_seq).flatten()
计算健康段
的均值和标准差,设定预警阈值(均值
+
std_norm[healthy_start:healthy_end]
threshold
print("无预警")
/>
Processing》《中国电机工程学报》《宇航学报》《控制与决策》等期刊审稿专家,擅长领域:信号滤波/降噪,机器学习/深度学习,时间序列预分析/预测,设备故障诊断/缺陷检测/异常检测
参考文章:
物理机理嵌入和自适应学习的机械早期故障诊断(Python)
/>https://zhuanlan.zhihu.com/p/2006771585596551304


