高创新模型,基于STFT-SWT-双流CNN-SVM的小样本轴承故障诊断方法,MATLAB代码

。前言

2f946b708f81f83b554163a8033aee7c.png

现如今,大家为了找创新点发个小论文,也真是煞费苦心!各大博主推出的很多算法层出不穷,各式各样的组合真是看花了眼!但有时也不能为了创新而创新,效果好才是真的好!

本期推出一种《基于STFT-SWT-双流CNN-SVM的小样本轴承故障诊断方法》,首先利用短时傅里叶变换和同步压缩小波变换两大方法的互补性,同时对轴承数据进行特征提取,然后将提取的特征采用双流CNN-SVM模型实现故障诊断。实验表明,在每种类型故障样本量仅为20的小样本情况下,本文提出的模型仍有较高的精度。实现了小样本轴承故障诊断方法。

此方法为作者独创,不要问,问就是肯定没有人发过!

STFT:短时傅里叶变换(short-time Fourier transform,STFT)

SWT:同步压缩小波变换(Synchrosqueezed Wavelet Transform, SWT)

现在网上已有关于STFT-CNN的故障诊断文献:

[1]余传粮,梁睿君,冉文丰,等.基于STFT和CNN的齿轮箱故障诊断[J].机械制造与自动化,2022,51(03):152-154+195.DOI:10.19344/j.cnki.issn1671-5276.2022.03.037.

也有关于SWT-CNN的故障诊断文献:

[1]唐纪凯,卢一相,柏壮壮,等.基于同步压缩小波变换和CNN的滚动轴承故障诊断[J].传感器与微系统,2022,41(06):130-133.DOI:10.13873/J.1000-9787(2022)06-0130-04.

但是还没有将两者融合的文章。

同步压缩小波变换(SWT)和短时傅立叶变换(STFT)在信号处理中具有一定的互补性:

互补性

( SWT · STFT )

①SWT的选择性缺失问题是指在进行小波变换时,小波基函数的选择可能会导致某些频率的信号被忽略或失真,SWT的选择性缺失问题可能会导致信号的频率信息丢失或失真。而短时傅立叶变换(STFT)在某种程度上可以避免选择性缺失问题,因为它使用固定的窗口函数对信号进行分析,窗口函数的频率特性与信号的频率特性相对应。在STFT中,信号在时间和频率上被分解成窄带信号,每个时间点上的频率信息都能够得到较好的保留。

②SWT具有多尺度分析的能力,相比于STFT,可以在不同尺度上对信号进行分析,提供更全面的频率信息。

本期代码实现功能:

6b3b44f2dbbfb1abd81a90b4d3b370e7.gif

①实现了同步压缩小波变换(SWT)-CNN的故障诊断

②实现了短时傅立叶变换(STFT)-CNN的故障诊断

③实现了SWT-STFT-双流CNN故障诊断

④实现了SWT-STFT-双流CNN-SVM故障诊断

⑤本次实验的数据集,每个故障类别有100个样本。分别选取训练集为样本总量的70%、30%、20%对以上四种方法进行对比,验证本文提出方法在小样本诊断时的优势。

69320fc8fd9d12c50b5027558f7dfc4b.gif

模型结构图如下:

ab69d799c8947e95d5db240428507655.png

内容详解

一、数据处理

①对官方下载的西储大学数据进行处理,步骤如下:

  1. 一共加载10种数据,然后取每个数据的DE_time(%DE是驱动端数据 FE是风扇端数据 BA是加速度数据 选择其中一个就行)

  2. 设置滑动窗口w,每个数据的故障样本点个数s,每个故障类型的样本量m

  3. 将所有的数据滑窗完毕之后,综合到一个data变量中

  4. 有关西储大学数据的处理之前有文章也讲过,大家可以看这篇文章:西储大学轴承诊断数据处理,matlab免费代码获取

    最后得到的数据是一个1000*2048的矩阵,其中1000是样本量,2048是特征。1000又等于100*10,10是指10种故障状态,100是指每种状态有100个样本。在代码中是data_total_1797.mat

二,对数据进行SWT和STFT变换

SWT变换结果:

ef0b1ac963c7cf5601ee38b2a674f5d1.png

STFT变换结果:

2e749c15b09d4de716e21b6e5c3df20f.png

三,结果展示

本期模型数据中,一共取了10种状态的数据,每种状态数据有100个样本。下面分别对每个样本选取70,30,20个作为训练集,其余样本作为测试集,对四种方法进行对比验证。

为了有效对比,设定四种方法的CNN参数全部一致!

①当训练集中每个样本量为70个时,即700个样本作为训练集,剩余300个为测试集:

同步压缩小波变换(SWT)-CNN诊断结果

2cb1da1d55c63b8f9010ce5c2d346de9.png

短时傅立叶变换(STFT)-CNN诊断结果:

d05455e2c1f9cdd351237af39c3fd1ae.png

SWT-STFT-双流CNN诊断结果:

107f8a0fa7fc330d85701f31e2d190e0.png

SWT-STFT-双流CNN-SVM诊断结果:

44400589259854eb3ac325bc946cfe9e.png

到这里,可以发现,当样本量为70%时,四种效果基本相当,不分上下。都能够达到一个比较不错的诊断效果。

提示:为节省篇幅,这里不再展示30%的训练结果。直接展示每个样本量为20个时的小样本训练结果。大家在写论文的过程中可以多考虑几种情况。

②当训练集中每个样本量为20个时,即200个样本作为训练集,剩余800个为测试集:

同步压缩小波变换(SWT)-CNN诊断结果

71e11a3f7f9987b9cc0c6a076d578bf1.png


短时傅立叶变换(STFT)-CNN诊断结果:

da182a8508402ff47f3230def37e4b13.png


SWT-STFT-双流CNN诊断结果:

22b40402e42f5370a08a01bd4d932f1d.png


SWT-STFT-双流CNN-SVM诊断结果:

dc53543d80fd7b5d68e0af1ae52f5301.png

可以看到,当采用小样本数据进行模型训练时,本文提出的SWT-STFT-双流CNN-SVM模型相比于其他模型精度很高,达到了97%以上。

同时为了证明上述结果的非偶然性,笔者对提到的《SWT-STFT-双流CNN-SVM模型》做了10次实验,实验准确率均在90%以上,平均准确率达到了95%以上,最高一次准确率达到98.875%。明显优于其他3种模型。

在写论文的时候,你也可以对上述模型做多次实验,对平均结果行一个统计,突出所提模型的优越性,这里就不再赘述。

本期所提出的并行CNN网络结构如下,与上面给出的示意图结构是一致的。

ef0dbdc47421ee4dc0b23524de435a4f.jpeg

此照程序代码每个文件夹都包含了一个说明.txt,请运行前仔细阅读,会帮助你更好的理解程序。步骤一步步执行即可。

在此承诺,以上实验均真实有效!

代码目录

7d1f5d305d4c9ce5aa9c98985ab6916c.png

代码获取

链接:https://mbd.pub/o/bread/ZZ6TmZhx

3545288fcef419484b9c43cb228a82e5.png

参考文献:

[1]余传粮,梁睿君,冉文丰,等.基于STFT和CNN的齿轮箱故障诊断[J].机械制造与自动化,2022,51(03):152-154+195.DOI:10.19344/j.cnki.issn1671-5276.2022.03.037.

[2]唐纪凯,卢一相,柏壮壮,等.基于同步压缩小波变换和CNN的滚动轴承故障诊断[J].传感器与微系统,2022,41(06):130-133.DOI:10.13873/J.1000-9787(2022)06-0130-04.

获取更多代码:

62148cb217e1c37ce05b5fa82bec92a3.png

或者复制链接跳转:
https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/716756.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c语言哈夫曼中英文混合编码

一.需求文档 c语言实现哈夫曼编码 1.中文编码 2.英文编码 3.中英文混合编码 4.从文件读取进行编码 5.编码生成编码文件 6.从生成的编码文件进行解码 二.运行截图

洗护用品行业怎么做到数据安全管理?迅软DSE加密软件避免数据泄露

项目背景 公司全研发中心内部专家联合外部专家组织,充分发挥联合研究、探讨技术发展带来的重要性,产品开发、核心技术开发、工艺技术研究和创新,已形成了坚实的研发后盾,已拥有了大量的核心信息数据,为防患于未然&…

程序员画图工具?那必然是你了!!【送源码】

作为一个程序员,画图是必不可少的技巧。当然此画图不是搞艺术,而是画各种架构图、流程图、泳道图以及各种示意图。 平时我不论是记笔记、写技术文章,还是工作中写文档,都需要配上各种各样的示意图。不管是帮助自己更好的掌握知识…

【Netty】nio阻塞非阻塞Selector

阻塞VS非阻塞 阻塞 阻塞模式下,相关方法都会导致线程暂停。 ServerSocketChannel.accept() 会在没有建立连接的时候让线程暂停 SocketChannel.read()会在没有数据的时候让线程暂停。 阻塞的表现就是线程暂停了,暂停期间不会占用CPU,但线程…

1:25万基础电子地图(云南版)

我们在《50幅1:25万基础电子地图(四川版)》一文中,为你分享过四川的50幅基础电子地图。 现在我们再为你分享云南的1:25万基础电子地图,你可以在文末查看该数据的领取方法。 基础电子地图云南版 下载后可以看到该数据…

【S32K 进阶之旅】 将 EB 配置生成的 MCAL 代码集成到 S32DS 中

本文介绍如何使用 S32DS 进行 AUTOSAR MCAL 工程的编译和调试,重点在于将 EB 配置生成的 MCAL 代码集成到 S32DS 中。 虽然配置过程较为繁琐,实操过一遍就会熟悉整个工程的框架。以后每次在 EB 中更新配置,生成代码的文件夹已经集成在 S32DS…

代码随想录——分割回文串(Leetcode 131)

题目链接 回溯 class Solution {List<List<String>> res new ArrayList<List<String>>();List<String> list new ArrayList<String>();public List<List<String>> partition(String s) {backtracking(s, 0);return res;}p…

博瓦科技产品亮相湖北安博会啦!!!

6月12日&#xff0c;第二十三届2024中国&#xff08;武汉&#xff09;社会公共安全产品暨数字城市产业展览会&#xff08;简称&#xff1a;湖北安博会&#xff09;在武汉国际会展中心隆重开幕。作为行业内最具影响力的展会之一&#xff0c;此次盛会将汇聚来自全球的顶尖企业、专…

AbMole带你探索细胞的“铁”门:Piezo1通道在椎间盘退变中的关键角色

在生物医学领域&#xff0c;铁是细胞功能不可或缺的元素&#xff0c;但铁的异常积累却可能成为细胞的“隐形杀手”。最近&#xff0c;一项发表在《Bone Research》上的研究&#xff0c;为我们揭开了铁代谢与椎间盘退变之间神秘联系的一角。这项研究不仅深化了我们对铁离子通道P…

长难句打卡6.17

At a time when Thomas Piketty and other economists are warning of rising inequality and the increasing power of inherited wealth, it is bizarre that wealthy aristocratic families should still be the symbolic heart of modern democratic states. 在托马斯皮凯…

深入理解MySQL字符集

一、字符集介绍 字符集&#xff08;Character Set&#xff09;是多个字符的集合&#xff0c;它规定了字符在计算机中的编码方式。以下是关于字符集的详细介绍&#xff1a; 1. 字符集的定义与作用 字符集是各种文字和符号的总称&#xff0c;包括各国家文字、标点符号、图形符号…

本地数据如何正确的导入SOLIDWORKS PDM系统

SOLIDWORKS 产品数据管理 (PDM) 解决方案可帮助您控制设计数据&#xff0c;并且从本质上改进您的团队就产品开发进行管理和协作的方式。使用 SOLIDWORKS PDM Professional&#xff0c;您的团队能够&#xff1a;1. 安全地存储和索引设计数据以实现快速检索&#xff1b;2. 打消关…

【Git】-- 添加公钥到 github 或者gitlab上

仅针对系统&#xff1a;mac os 、 unix、linux 1、检查是否有 id_rsa.pub $ cd ~ $ ls -al ~/.ssh 注意&#xff1a;若已有 id_rsa.pub&#xff0c;则必要执行 第二步&#xff0c;避免覆盖掉原有正常的公钥。 配置多个 git 账号请参考&#xff1a;同一台电脑配置多个git账…

使用RLHF推动翻译偏好建模:低成本实现“信达雅”

在机器翻译领域&#xff0c;“忠实度(信)”、“表现力(达)”、“优雅性(雅)”一直是研究者们不懈追求的目标。然而&#xff0c;传统的评估指标如BLEU并不能完全符合人类对翻译质量的偏好。为了解决这一挑战&#xff0c;复旦大学自然语言处理实验室与复旦大学外文学院携手合作&a…

利用原生HTML + CSS + JS实现歌词滚动

对于很多音乐APP&#xff0c;都有这么一个功能&#xff0c;就是根据歌曲的进度来控制对应的歌词滚动&#xff0c;如下图所示&#xff1a; 大概这样的效果&#xff0c;我此次是使用原生的HTMLCSSJS来实现的&#xff0c;以下是具体的实现过程。 1. 数据获取与处理 对于数据来源&…

Qt中利用QTextBrowser控件设计日志窗口

我们一般使用Qt开发应用程序时&#xff0c;都有将控制台窗口去掉。但是&#xff0c;有时候又需要查看一些调试信息&#xff0c;一般的处理方式是把log写到一个文件中。本文介绍以下日志窗口&#xff0c;可以更方便的查看日志信息。 UI设计 推拽UI控件&#xff0c;修改默认背景…

05眼动识别软件详情2波形优化

对应视频链接点击直达 01项目点击下载&#xff0c;可直接运行&#xff08;含数据库&#xff09; 05眼动识别软件详情2 对应视频链接点击直达期望的数据展示数据波形对比如何实现几种常用滤波介绍维纳滤波巴特沃斯滤波器中值滤波排序滤波 推荐 结语其他以下是废话 原始数据的波…

Objective-C 学习笔记 | KVC(key-value coding)

Objective-C 学习笔记 | KVC&#xff08;key-value coding&#xff09; Objective-C 学习笔记 | KVC&#xff08;key-value coding&#xff09;非对象类型Key 路径 Objective-C 学习笔记 | KVC&#xff08;key-value coding&#xff09; KVC 可以让程序通过名称直接存取属性&a…

CentOS 5(CentOS 6、Redhat 6)服务器配置VNC

一、配置服务器yum源 yum源&#xff08;本地、华为云、阿里云、网易&#xff09; 二、使用yum安装vnc服务 1、检查系统是否安装了vnc 和 vncserver&#xff0c; rpm -qa | grep vnc如果没有安装那就行自行下载安装&#xff08;我这里用yum安装了&#xff0c;vncserver安装需…

让你的网页动起来 - 轻松实现 JavaScript 拖拽功能

效果展示 实现 要实现该效果需要运用 HTML5 的 dragstart 拖放操作事件 通过去开启dragstart监听拖放操作事件就能实现图片的拖动 <div class"empty"><div class"fill" draggable"true"></div> </div>本例子中我们对…