news 2026/2/26 14:42:17

基于双路神经网络的滚动轴承故障诊断探索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于双路神经网络的滚动轴承故障诊断探索

基于双路神经网络的滚动轴承故障诊断 融合了原始振动信号 和 二维信号时频图像 的多输入(多通道)故障诊断方法 单路和双路都可 时频图像算法可选小波变换,短时傅里叶变换,马尔可夫变迁场,格拉姆角场,S变换,递归图等 数据集可选凯斯西储大学,东南大学,江南大学等等 Pytorch和Tensorflow框架做的。 以下可视化结果适用小波和短时傅里叶变换,其它时频图像算法效果并没有这

在滚动轴承故障诊断领域,如何更精准、高效地识别故障一直是研究热点。今天咱就来聊聊基于双路神经网络,融合原始振动信号与二维信号时频图像的多输入故障诊断方法,并且用 Pytorch 和 Tensorflow 框架来实现。

一、数据准备

数据集咱可以选择凯斯西储大学、东南大学或者江南大学等公开的数据集。这些数据集里包含了不同工况下滚动轴承的振动数据,为我们的模型训练提供了丰富素材。

二、时频图像算法

时频图像算法有多种选择,像小波变换(Wavelet Transform)、短时傅里叶变换(Short - Time Fourier Transform, STFT)、马尔可夫变迁场、格拉姆角场、S 变换、递归图等等。不过可视化结果表明,小波变换和短时傅里叶变换效果相对较好。

1. 短时傅里叶变换代码示例(Python + Numpy)

import numpy as np import matplotlib.pyplot as plt from scipy.signal import stft # 假设我们有一段振动信号数据 fs = 1000 # 采样频率 t = np.linspace(0, 1, fs, endpoint=False) signal = np.sin(2 * np.pi * 50 * t) + np.sin(2 * np.pi * 120 * t) f, t, Zxx = stft(signal, fs=fs, window='hann', nperseg=128, noverlap=120, nfft=256) plt.pcolormesh(t, f, np.abs(Zxx), shading='gouraud') plt.title('STFT Magnitude') plt.ylabel('Frequency [Hz]') plt.xlabel('Time [sec]') plt.show()

代码分析

这段代码首先定义了采样频率fs和时间序列t,生成了一个简单的混合正弦信号signal。然后通过scipy.signal库中的stft函数进行短时傅里叶变换。window='hann'指定了窗函数为汉宁窗,nperseg=128表示每个段的长度,noverlap=120表示段与段之间重叠的点数,nfft=256表示傅里叶变换的点数。最后通过plt.pcolormesh将时频图绘制出来。

2. 小波变换代码示例(Python + PyWavelets)

import pywt import numpy as np import matplotlib.pyplot as plt # 假设同样的振动信号 fs = 1000 t = np.linspace(0, 1, fs, endpoint=False) signal = np.sin(2 * np.pi * 50 * t) + np.sin(2 * np.pi * 120 * t) coeffs = pywt.wavedec(signal, 'db4', level=5) approx = pywt.waverec(coeffs[:1], 'db4') detail = pywt.waverec([None] + coeffs[1:], 'db4') plt.figure(figsize=(12, 6)) plt.subplot(3, 1, 1) plt.plot(t, signal) plt.title('Original Signal') plt.subplot(3, 1, 2) plt.plot(t, approx) plt.title('Approximation Coefficient') plt.subplot(3, 1, 3) plt.plot(t, detail) plt.title('Detail Coefficient') plt.tight_layout() plt.show()

代码分析

这里使用pywt库进行小波变换。pywt.wavedec函数对信号signal进行小波分解,'db4'是选用的小波基函数,level=5表示分解的层数。之后通过pywt.waverec函数分别重构出近似系数和细节系数,并绘图展示原始信号、近似系数和细节系数。

三、双路神经网络模型(以 Pytorch 为例)

import torch import torch.nn as nn class DualPathNet(nn.Module): def __init__(self): super(DualPathNet, self).__init__() # 原始振动信号路径的卷积层 self.conv1_raw = nn.Conv1d(1, 16, kernel_size=5, padding=2) self.relu1_raw = nn.ReLU() self.pool1_raw = nn.MaxPool1d(kernel_size=2, stride=2) # 时频图像路径的卷积层 self.conv1_img = nn.Conv2d(1, 16, kernel_size=5, padding=2) self.relu1_img = nn.ReLU() self.pool1_img = nn.MaxPool2d(kernel_size=2, stride=2) self.fc1 = nn.Linear(16 * 250 + 16 * 125 * 125, 128) self.relu_fc1 = nn.ReLU() self.fc2 = nn.Linear(128, num_classes) def forward(self, x_raw, x_img): out_raw = self.conv1_raw(x_raw) out_raw = self.relu1_raw(out_raw) out_raw = self.pool1_raw(out_raw) out_raw = out_raw.view(-1, 16 * 250) out_img = self.conv1_img(x_img) out_img = self.relu1_img(out_img) out_img = self.pool1_img(out_img) out_img = out_img.view(-1, 16 * 125 * 125) out = torch.cat((out_raw, out_img), 1) out = self.fc1(out) out = self.relu_fc1(out) out = self.fc2(out) return out

代码分析

这个DualPathNet类定义了双路神经网络。初始化函数init中分别定义了原始振动信号路径(一维卷积层)和时频图像路径(二维卷积层)的网络结构。在forward函数中,分别对输入的原始振动信号xraw和时频图像ximg进行卷积、激活、池化操作,然后将两者展平并拼接起来,经过全连接层fc1fc2输出最终结果。

四、总结

基于双路神经网络,融合原始振动信号和二维时频图像的故障诊断方法,在理论和实践上都展现出一定优势。通过选择合适的时频图像算法和搭建有效的神经网络模型,有望在滚动轴承故障诊断中取得更好的效果。后续还可以进一步探索不同数据集、不同时频图像算法对诊断精度的影响,不断优化模型性能。

基于双路神经网络的滚动轴承故障诊断 融合了原始振动信号 和 二维信号时频图像 的多输入(多通道)故障诊断方法 单路和双路都可 时频图像算法可选小波变换,短时傅里叶变换,马尔可夫变迁场,格拉姆角场,S变换,递归图等 数据集可选凯斯西储大学,东南大学,江南大学等等 Pytorch和Tensorflow框架做的。 以下可视化结果适用小波和短时傅里叶变换,其它时频图像算法效果并没有这

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/22 12:20:09

点量云流:实时云渲染高并发下,GPU和CPU如何选配?

在一些项目的对接中,团队经常会收到关于“一张显卡能跑多少路应用?”“需要准备多少服务器?”等实际部署问题。这些问题的答案,往往并非简单的数字计算,而是需要结合应用特性、硬件性能与系统架构进行综合评估。下面,我们针对几个…

作者头像 李华
网站建设 2026/2/17 8:17:28

基于Java的废品回收公司智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 废品回收公司智慧管理系统旨在针对传统管理方式存在的效率低下、信息不对称等问题,提供一套全面的数据管理和分析解决方案。该系统主要功能模块包括会员管理、经手人管理、客户管理、供应商管理、废品管理等,并详细…

作者头像 李华
网站建设 2026/2/24 22:49:51

基于Django的微信订阅号AI接入系统设计与实现

基于Django的微信订阅号AI接入系统设计与实现 微信订阅号AI接入系统:智能化升级的毕业设计利器 在当今数字化时代,微信订阅号已成为企业和个人传播信息、互动用户的重要平台。然而,随着用户量的增长,传统的人工回复方式往往效率…

作者头像 李华
网站建设 2026/2/24 23:20:18

基于springboot + vue球鞋购物系统(源码+数据库+文档)

球鞋购物 目录 基于springboot vue球鞋购物系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue球鞋购物系统 一、前言 博主介绍:✌️大…

作者头像 李华
网站建设 2026/2/24 21:06:48

ARP欺骗:ARP 协议与欺骗本质,ARP 欺骗的攻击流程是什么?

ARP 欺骗(又称 ARP 毒化)是一种基于ARP 协议漏洞的网络攻击技术,核心是通过伪造 ARP 响应包篡改目标设备的 ARP 缓存表,实现网络流量劫持、嗅探或断网攻击,广泛存在于局域网环境中,是网络安全领域的经典攻击…

作者头像 李华
网站建设 2026/2/25 12:08:18

高级 RAG 技术指南助力提升生成式AI应用(扩展篇)

在之前核心介绍的基础上,从技术细节深化、落地逻辑拆解、方案优势对比、风险与应对四个维度进一步丰富,挖掘高级 RAG 方案的核心价值与实操精髓:一、技术细节深化:关键模块的底层逻辑与实操要点1. 数据预处理:不止 “清…

作者头像 李华