基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
在博客https://blog.csdn.net/qq_41043389/article/details/106150980里,我们提出了采用小波时频图作为轴承信号的故障特征数据,即首先利用提取各样本的小波时频图,如图1所示,然后构建CNN(lenet)模型,最终达到了99.5%的分类正确率,详情可以看我上面那个说的那个博客。
图1 小波时频图
1、基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
今天,我们提出一个更加牛逼的轴承故障cnn模型——双流CNN,其结构如图2所示。
图 2 双流CNN结构
大致原理如下:基于2D-CNN与1D-CNN,构建双通道的CNN(双流CNN),其中2D-CNN以小波时频图为输入,而1D-CNN以FFT频谱信号为输入,分别进行卷积层与池化层的特征提取之后,拉伸为特征向量,然后在汇聚层进行拼接,接着是全连接网路层与分类层。此种方法可以实现1维时域特征与2维时频域特征的有效融合,并以此来提高分类正确率。由于方法用MATLAB构建不了,因此这部分CNN采用pytorch实现。
2、数据准备
采用西储大学轴承故障诊断数据集,48K/0HP数据,共10类故障(正常作为一类特殊的故障类型),划分后每个样本的采样点为864(据说是因为这样含两个故障周期),每类故障各200个样本,因此一共2000个样本,然后7:2:1划分训练集(1400),验证集(400),与测试集(200)。
3、模型训练
在torch中训练搭建与训练上述模型,得到的训练集与验证集的loss曲线与正确率曲线如图3所示所示。
从正确率与loss曲线可以看出,网络在200次训练的时候基本就完全收敛了,保存此时的模型,用于测试集分类。.
4、模型结果
加载测试集的小波时频数据与FFT频谱数据,得到正确率为100%。
博客https://blog.csdn.net/qq_41043389/article/details/106150980中采用小波时频+CNN,正确率99.5%
博客https://blog.csdn.net/qq_41043389/article/details/103870271中采用双流CNN,对原始数据进行分类,正确率为97%
5、对比
5.1 FFT+1DCNN正确率
5.2 时频图+CNN
6、结论
采用小波时频图与FFT频谱信号构建双流CNN故障诊断模型,能极大的提高故障诊断正确率,最终测试集的正确率达到100%.
基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型相关推荐
- 基于小波时频图和2D-CNN的滚动轴承故障检测
目录 一.研究思路 1.基于小波时频图和CNN的滚轴故障诊断方法的研究思路如下: 二.数据集介绍与数据处理 1.数据集介绍 2.数据集分割与合并 3.数据集分析 三.小波时频图导出 四.CNN网络的构 ...
- Python实现“EMD\EEMD\VMD+Hilbert时频图”与“CWT小波时频图”
Python实现"EMD\EEMD\VMD+Hilbert时频图"与"CWT小波时频图" 信号处理中常需要分析时域统计量.频率成分,但不平稳信号的时域波形往 ...
- 融合DE 端和FE端数据,利用小波变换生成时频图,再分别利用DCNN、KNN和DNN进行对比实验(python代码)
1.数据集介绍: 试验台如图所示,试验台左侧有电动机,中间有扭矩收集器,右侧有动力测试仪,控制电子设备在图中没有显示.SKF6203轴承使用16通道数据采集卡采集轴承的振动数据,并在驱动端部分(DE) ...
- python 绘制时频图 plt.specgram
时频图以横轴为时间,纵轴为频率,用颜色表示幅值.在一幅图中表示信号的频率.幅度随时间的变化 matplotlib.pyplot.specgram(x, NFFT=None, Fs=None, Fc=N ...
- matlab STFT从时频图找异常噪声的频率
%%%%%%傅里叶变换/逆变换/短时傅里叶变换%%%%%% [y,Fs]=wavread('Noise.wav'); %读出信号,采样率和采样位数. %sound(y,Fs); y=y(:,1); % ...
- python绘制时频图
最近一直在做轴承RUL.在进行xinh信号处理上面遇见了很多的问题,想要用python进行信号时频图的绘制.但是在选择绘制图的函数上也是煞费苦心. 首先来说plt.imshow()函数,虽然他的功能强 ...
- 信号时频图的横纵坐标对调
博客1:如何翻转信号的时频图 论文有时候需要绘制信号的时频图.Matlab有专用的函数spectrogram可以用来帮助我们绘制信号的时频图.默认的图例是横轴为频率,纵轴为时间.如果希望将横轴和纵轴对 ...
- MATLAB短时傅里叶变换并绘制时频图
data=load('dataset/rawdata/eegdata4.mat'); Au=data.eegdata(:,1); Fs = 1200; [B, F, T, P] = spectrogr ...
- 表情识别(三)--基于几何与Gabor小波的多层感知
转自:https://zhuanlan.zhihu.com/p/24483573 (我真的是信了里面几个重要信息点,红色标注,张友正大神...) 人脸表情识别(FER)作为智能化人机交互技术中的一个重 ...
最新文章
- ADPRL - 近似动态规划和强化学习 - Note 3 - Stochastic Infinite Horizon Problem
- CCNP交换实验(3) -- STP
- Nessus Scan
- 2、HTML <img>标签(插入图片)
- mysql主节点1593从节点正常_mysqlmha高可用架构的安装_MySQL
- 【渝粤教育】电大中专电子商务网站建设与维护 (9)作业 题库
- c语言文件分屏显示,通用子目录文件显示方法
- Error in v-on handler: “TypeError: 对象不支持“set”属性或方法“
- python学习_循环结构 and 类型判断
- stm32软件模拟I2C
- mysql安装版与mysql解压版议论
- excel对比两列不同
- Linux下图片 jpg、png、gif 与 eps 格式的相互转换
- Python爬虫入门9:BeautifulSoup快速查找HTML内容
- 初识微服务之Eureka
- 记一次在咸鱼上购买 MacBook Pro 的经历
- 抖音60秒视频权限开通方法
- UE_材质_UV计算相关
- 微信小程序云音乐项目
- 【移动开发】Checkout开源库源码解析