基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型

这篇具有很好参考价值的文章主要介绍了基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

往期精彩内容:

前言

1 快速傅里叶变换FFT原理介绍

2 轴承故障数据的预处理

2.1 导入数据

2.2 制作数据集和对应标签

3 基于FFT+CNN-Transformer的轴承故障识别模型

3.1 网络定义模型

3.2 设置参数,训练模型

3.3 模型评估


基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

往期精彩内容:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理_cwru数据集时域图-CSDN博客

Python轴承故障诊断 (一)短时傅里叶变换STFT

Python轴承故障诊断 (二)连续小波变换CWT

Python轴承故障诊断 (三)经验模态分解EMD_轴承诊断 pytorch-CSDN博客

Pytorch-LSTM轴承故障一维信号分类(一)_cwru数据集pytorch训练-CSDN博客

Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客

Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客

Python轴承故障诊断 (四)基于EMD-CNN的故障分类-CSDN博客

Python轴承故障诊断 (五)基于EMD-LSTM的故障分类-CSDN博客

Python轴承故障诊断 (六)基于EMD-Transformer的故障分类-CSDN博客

Python轴承故障诊断 (七)基于EMD-CNN-LSTM的故障分类-CSDN博客

Python轴承故障诊断 (八)基于EMD-CNN-GRU并行模型的故障分类-CSDN博客

基于FFT + CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客

前言

本文基于凯斯西储大学(CWRU)轴承数据,进行快速傅里叶变换(FFT)的介绍与数据预处理,最后通过Python实现基于FFT的CNN-Transformer模型对故障数据的分类。凯斯西储大学轴承数据的详细介绍可以参考下文: 

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理_cwru数据集时域图-CSDN博客

模型整体结构

模型整体结构如下所示,一维故障信号经过FFT变换的频域特征以及信号本身的时域特征分别经过CNN卷积池化操作,提取全局特征,然后再经过Transformer提取时序特征,再进行特征增强融合,最后经过全连接层和softmax输出分类结果。

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

1 快速傅里叶变换FFT原理介绍

傅里叶变换是一种信号处理和频谱分析的工具,用于将一个信号从时间域转换到频率域。而快速傅里叶变换(FFT)是一种高效实现傅里叶变换的算法,特别适用于离散信号的处理。

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

第一步,导入部分数据

fromscipy.ioimportloadmat
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='Microsoft YaHei')

# 读取MAT文件   
data1 = loadmat('0_0.mat')  # 正常信号
data2 = loadmat('21_1.mat') # 0.021英寸 内圈
data3 = loadmat('21_2.mat') # 0.021英寸 滚珠
data4 = loadmat('21_3.mat') # 0.021英寸 外圈
# 注意,读取出来的data是字典格式,可以通过函数type(data)查看。

第二步,故障信号可视化

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

第三步,故障信号经过FFT可视化

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

2 轴承故障数据的预处理

2.1 导入数据

参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

train_set、val_set、test_set 均为按照7:2:1划分训练集、验证集、测试集,最后保存数据

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

上图是数据的读取形式以及预处理思路

2.2 制作数据集和对应标签

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

3 基于FFT+CNN-Transformer的轴承故障识别模型

3.1 网络定义模型

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

注意:输入故障信号数据形状为 [32, 1024], batch_size=32,  ,1024代表序列长度。

3.2 设置参数,训练模型

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

50个epoch,准确率100%,用FFT+CNN-Transformer融合网络模型分类效果显著,模型能够充分提取轴承故障信号的空间和时序特征和频域特征,收敛速度快,性能优越,精度高。

3.3 模型评估

准确率、精确率、召回率、F1 Score

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

故障十分类混淆矩阵:

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能

代码、数据如下:

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型,信号处理,cnn,transformer,人工智能文章来源地址https://www.toymoban.com/news/detail-772981.html

到了这里,关于基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2018年电赛A题 软件部分 STM32 FFT 时域到频域 STM32cubeMX HAL

    题目要求:任意波信号发生器输出非正弦信号时,基波频率范围为50Hz~200Hz,测量电流信号基波频率,频率测量精度优于1%;测量基波及各次谐波分量的幅度(振幅值),电流谐波测量频率不超过1kHz,测量精度优于5% 。 实现方式:利用STM32单片机内置ADC对待测信号进行采集,

    2024年02月15日
    浏览(88)
  • 【老生谈算法】基于matlab时域频域处理的语音信号变声处理系统设计与算法原理(论文+程序源码+GUI图形用户界面)——变声算法

    大家好,今天给大家介绍基于matlab的语音信号变声处理系统设计与算法原理(论文+程序源码)。 运用matlab软件实现对声音的变声处理,利用离散付里叶变换进行频谱分析;设计数字滤波器组;通过时域和频域方法做出各种音效效果,实现变速(慢放、快放),变调(频谱左

    2024年02月04日
    浏览(57)
  • Python轴承故障诊断 (四)基于EMD-CNN的故障分类

    目录 前言 1 经验模态分解EMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 2.3 故障数据的EMD分解可视化 2.4 故障数据的EMD分解预处理 3 基于EMD-CNN的轴承故障诊断分类 3.1 训练数据、测试数据分组,数据分batch 3.2 定义EMD-VGG1d网络模型 3.3 设置参数

    2024年04月27日
    浏览(34)
  • 【轴承RUL预测代码】基于TCN、TCN和多头注意力(TCN和Transformer的encoder结合)、Transformer模型的轴承RUL预测代码(精华)

    这里以PHM2012轴承特征数据集为例,采样频率为25.6kHz,采样持续时间是0.1s,采样点数是2560 原始特征集 类型 振动数据 2560维度 FFT预处理数据 1280维度 STFT预处理数据 1281维度 后续还可以将上述的原始特征集数据作为深度自编网络的输入,进行无监督学习,提取深度特征数据 自

    2024年02月12日
    浏览(41)
  • Python轴承故障诊断 (六)基于EMD-Transformer的故障分类

    目录 前言 1 经验模态分解EMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 2.3 故障数据的EMD分解可视化 2.4 故障数据的EMD分解预处理 3 基于EMD-Transformer的轴承故障诊断分类 3.1 训练数据、测试数据分组,数据分batch 3.2 定义Transformer分类网络模型

    2024年02月04日
    浏览(51)
  • ADS笔记,时域和频域绘图

    为防止遗忘,记录一下ADS的时间域和频谱图的绘制 在ADS中想得到电路的时域和频域图的话,可以用谐波平衡仿真HB或者选择一个准瞬态仿真控制器插入到原理图中来实现。 然后点击仿真,选择如下 时域设置 得到时域图如下 频域设置 选择幅度谱 得到幅度谱如下 时域设置 这

    2024年02月12日
    浏览(51)
  • 基于小波时频图和2D-CNN的滚动轴承故障检测

    目录 一、研究思路  1、基于小波时频图和CNN的滚轴故障诊断方法的研究思路如下: 二、数据集介绍与数据处理   1、数据集介绍 2、数据集分割与合并 3、数据集分析 三、小波时频图导出 四、CNN网络的构建和测试 1、CNN网络构建  2、训练参数的优化 4、训练结果  1、基于小

    2023年04月19日
    浏览(44)
  • 基于Pytorch框架的CNN-LSTM模型在CWRU轴承故障诊断的应用

    目录 1. 简介 2. 方法 2.1数据集 2.2模型架构 1. 简介 CWRU轴承故障诊断是工业领域一个重要的问题,及早发现轴承故障可以有效地减少设备停机时间和维修成本,提高生产效率和设备可靠性。传统的基于信号处理和特征提取的方法通常需要手工设计特征,这在某些情况下可能无法

    2024年04月15日
    浏览(66)
  • Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类

    目录 往期精彩内容: 前言 模型整体结构 1 变分模态分解VMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 故障VMD分解可视化 2.3 故障数据的VMD分解预处理 3 基于VMD-CNN-BiGRU-Attenion的轴承故障诊断分类 3.1 定义VMD-CNN-BiGRU-Attenion分类网络模型 3.2 设置参数,训练模型 3.3 模

    2024年01月19日
    浏览(48)
  • 一篇文章讲清楚什么是频率、频域、时域

            在1s内完成周期性变化的次数叫做 频率 ,常用f表示。 简单的说是一个周期内能够重复的次数 ,无论是正玄波也好,还是点阵也好,最基本的要求是在一个周期内必须要具备可重复的能力,否则就没办法计算频率,勉强计算的话频率为1Hz;总体来说,频率越高,

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包