基于时域特征和频域特征组合的敏感特征集,再利用CNN进行轴承故障诊断(python编程)

1.文件夹介绍(使用的是CWRU数据集)

 0HP-3HP四个文件夹装载不同工况下的内圈故障、外圈故障、滚动体故障和正常轴承数据。

 2.模型

按照1024的长度分割样本,构建内圈故障、外圈故障、滚动体故障和正常轴承样本集

2.1.计算11种时域特征值


# 计算时域特征
def calculate_time_domain_features(signal):features = []# 均值features.append(np.mean(signal))# 标准差features.append(np.std(signal))# 方根幅值features.append(np.sqrt(np.mean(np.square(signal))))# 均方根值features.append(np.sqrt(np.mean(np.square(signal))))# 峰值features.append(np.max(signal))# 波形指标features.append(np.mean(np.abs(signal)) / np.sqrt(np.mean(np.square(signal))))# 峰值指标features.append(np.max(np.abs(signal)) / np.mean(np.abs(signal)))# 脉冲指标features.append(np.max(np.abs(signal)))# 裕度指标features.append(np.max(np.abs(signal)) / np.sqrt(np.mean(np.square(signal))))# 偏斜度features.append(skew(signal))# 峭度features.append(kurtosis(signal))return features

2.2.计算12种频域特征值

# 计算频域特征
def calculate_frequency_domain_features(signal, sample_rate):features = []# 快速傅里叶变换spectrum = fft(signal)spectrum = np.abs(spectrum)[:len(spectrum)//2] # 取一半频谱#频域指标1features.append(np.mean(spectrum))# 频域指标2features.append(np.var(spectrum))# 频域指标3features.append(np.sqrt(np.mean(np.square(spectrum))))# 频域指标4features.append(np.max(spectrum) / np.sqrt(np.mean(np.square(spectrum))))# 频域指标5features.append(kurtosis(spectrum))# 频域指标6features.append(skew(spectrum))# 频域指标7features.append(np.max(spectrum))# 频域指标8features.append(np.min(spectrum))# 频域指标9features.append(np.max(spectrum) - np.min(spectrum))# 频域指标10features.append(np.max(np.abs(spectrum)) / np.mean(np.abs(spectrum)))# 频域指标11features.append(np.max(np.abs(spectrum)) / np.sqrt(np.mean(np.square(spectrum))))# 频域指标12peak_index = np.argmax(spectrum)peak_frequency = peak_index * sample_rate / len(spectrum)features.append(peak_frequency)return features

2.3.构建评价指标,从时域和频域一共23个指标中选出对故障特征最敏感的前4个特征,这里用的是方差评价指标,也可以选用其它的评价指标

# 数据
samples = data  # 轴承振动信号样本数据列表
sample_rate = 12000  # 采样率# 构建特征集
feature_set = build_feature_set(samples, sample_rate)# 选择前4个敏感特征
import numpy as np
from sklearn.model_selection import train_test_split# 将特征集转换为NumPy数组
feature_set = np.array(feature_set)# 计算评价指标(这里以方差为例)
scores = np.var(feature_set, axis=0)# 选出最敏感的4个特征
selected_indices = np.argsort(scores)[-4:]
selected_features = feature_set[:, selected_indices]

最后选出 的敏感特征集

 

2.4.将每个样本的这4个特征输入CNN模型进行分类(也可以输入给SVM或KNN等分类器)

3.效果

0HP数据集

1HP数据集

 

 

2HP数据集

3HP数据集 

 

 

总的代码和数据集放在了压缩包里

plt.rcParams['font.size'] = 25
# 绘制损失曲线
plt.figure(figsize=(10, 8))
plt.plot(train_loss, label='训练集损失')
plt.plot(test_loss, label='测试集损失')
plt.xlabel('迭代次数')
plt.ylabel('损失')
plt.title('1HP训练集与测试集损失')
plt.legend()
plt.savefig('0.png', dpi=600,bbox_inches = "tight")
plt.show()
# 绘制准确率曲线
plt.figure(figsize=(10, 8))
plt.plot(train_accuracy, label='训练集准确率')
plt.plot(test_accuracy, label='测试集准确率')
plt.xlabel('迭代次数')
plt.ylabel('准确率')
plt.title('1HP训练集与测试集准确率')
plt.legend()
plt.savefig('1.png', dpi=600,bbox_inches = "tight")
plt.show()
#可以关注:https://mbd.pub/o/bread/ZJuXmZtt

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专题-【线索二叉树】

15年三-1) 20年一-11)

MYSQL表操作(DML,DDL)

建表并插入数据: mysql> create table worker(-> dept_id int(11) not null,-> emp_id int (11) not null,-> work_time date not null,-> salary float(8,2) not null,-> poli_face varchar(10) not null default 群众,-> name varchar(20) …

【云原生】k8s图形化管理工具之rancher

前言 在前面的k8s基础学习中,我们学习了各种资源的搭配运用,以及命令行,声明式文件创建。这些都是为了k8s管理员体会k8s的框架,内容基础。在真正的生产环境中,大部分的公司还是会选用图形化管理工具来管理k8s集群&…

『分割』 平面模型分割

PCL提供的几个常见模型: pcl::SACMODEL_PLANE:平面模型,用于拟合平面结构的点云数据。 pcl::SACMODEL_SPHERE:球体模型,适用于拟合球体结构的点云数据。 pcl::SACMODEL_CYLINDER:圆柱体模型,用…

Java阶段五Day08

Java阶段五Day08 文章目录 Java阶段五Day08内容回顾学习内容目的自动配置原理SPI-API:一对类似的概念 自定义Starter属性配置问题 网关组件SpringCloud Gateway网关架构微服务网关介绍Spring Cloud Gateway(技术选型)网关转发入门案例明确案例需求实现案…

LCD-STM32液晶显示中英文-(5.字符编码)

目录 字符编码 字符编码说明参考网站 字符编码 ASCII编码 ASCII编码介绍 ASCII编码表 中文编码 1. GB2312标准 区位码 2. GBK编码 3. GB18030 各个标准的对比说明 4. Big5编码 字符编码 字符编码说明参考网站 字符编码及转换测试:导航菜单 - 千千秀字 …

Linux5.17 Ceph应用

文章目录 计算机系统5G云计算第四章 LINUX Ceph应用一、创建 CephFS 文件系统 MDS 接口1.服务端操作2.客户端操作 二、创建 Ceph 块存储系统 RBD 接口三、创建 Ceph 对象存储系统 RGW 接口四、OSD 故障模拟与恢复 计算机系统 5G云计算 第四章 LINUX Ceph应用 一、创建 CephF…

C语言#define和宏

C语言#define和宏 #define定义标识符#define定义宏#define的替换规则# 和 ####的作用带副作用的宏参数宏和函数对比命名约定 #define定义标识符 #define MAX 1000 #define reg register //为 register这个关键字,创建一个简短的名字 reg #define do_forev…

不满足于RPC,详解Dubbo的服务调用链路

系列文章目录 【收藏向】从用法到源码,一篇文章让你精通Dubbo的SPI机制 面试Dubbo ,却问我和Springcloud有什么区别? 超简单,手把手教你搭建Dubbo工程(内附源码) Dubbo最核心功能——服务暴露的配置、使用…

代码随想录day20

654. 最大二叉树 思路:这道题的目的是从给定的nums数组中找到一个最大值当做二叉树的根节点,然后以最大值左右两边的元素分别构建二叉树。也就是一个左中右的顺序,所以构建二叉树这种题用前序遍历是再合适不过了,因为根节点把左右…

ETHERCAT转ETHERCAT网关西门子为什么不支持ethercat两个ETHERCAT设备互联

1.1 产品功能 远创智控YC-ECT-ECT是自主研发的一款ETHERCAT从站功能的通讯网关。该产品主要功能是将2个ETHERCAT网络连接起来。 本网关连接到ETHERCAT总线中做为从站使用。 1.2 技术参数 1.2.1 远创智控YC-ECT-ECT技术参数 ● 网关做为ETHERCAT网络的从站,可以连接…

将已删除的 Safari 历史记录恢复到 iPhone 的 6 种最佳方法

Safari 是 iPhone 上的默认浏览器。其直观且易于使用的界面是许多 iPhone 用户更喜欢 Safari 而非其他浏览器的原因之一。但是,如果您无意或故意删除了浏览历史记录,但发现稍后仍需要恢复已删除的 Safari 历史记录,这可能会给您带来一些麻烦。…