首页/文章/ 详情

渥太华大学变时变工况轴承数据集

2月前浏览179

本期给大家介绍渥太华大学变工况轴承数据集,该数据集提供五种健康状态、四种不同的变工况,适用于各种诊断任务。

论文基本信息

论文题目: Bearing vibration data collected under time-varying rotational speed conditions

论文期刊: Data in Brief
论文日期: 2018年
论文链接: 
https://doi.org/10.1016/j.dib.2018.11.019
数据链接: http://dx.doi. org/10.17632/v43hmbwxpm.2
作者: Huan Huangn*, Natalie Baddour

机构: Department of Mechanical Engineering, University of Ottawa, 161 Louis Pasteur, Ottawa, Ontario, Canada 

目录

1 摘要
2 数据价值
3 试验台及数据描述
    3.1 试验台描述
    3.2 数据采集设置
    3.3 数据描述
4 数据读取与时、频谱图绘制
    4.1 导入包和函数
    4.2 数据加载
    4.3 时、频域图
5 与2024年渥太华数据集区别

1 摘要

振动信号分析是轴承故障检测/诊断的重要手段,轴承经常在时变转速条件下运行。本文包含了在不同时变转速条件下不同健康状态下的轴承振动数据集。轴承的健康状况包括健康,有内圈缺陷的故障,有外圈缺陷的故障,球故障,组合故障(内圈、外圈、滚动体)。数据集的运行转速条件包括:加速、减速、先加速后减速、先减速后加速。(注意:该数据集在2018年发表过一部分,在2019年新增加了复合故障和球故障,而官方数据解读文件是2018年发布的。因此,在Data in Brief发表的论文,并未提供复合故障和球故障。)

2 数据价值

  • 不同于现有文献中在恒速条件下收集的数据集,这些数据是从在时变转速条件下运行的轴承收集的。

  • 所收集的数据可用于分析时变转速条件下不同健康状态轴承的频率特性。

  • 这些数据也可以用于评估新开发的轴承故障诊断或时变转速条件下状态监测方法的有效性

3 实验台及数据集描述

3.1 实验台描述

实验在SpectraQuest机械故障模拟器(MFS-PK5M)上进行。实验装置如图1所示。轴由电机驱动,转速由交流驱动器控制。安装两个ER16K球轴承支撑轴,左边一个是健康轴承,右边一个是实验轴承,用不同健康状态的轴承代替。一个ICP加速度计(型号623C01)安装在实验轴承的外壳上,用于收集振动数据。此外,一个增量编码器(EPC型号775)安装在轴上,用于测量轴的旋转速度。

图1试验台

通过观察故障特征频率(FCF)在频域中的表现,可以检测和诊断轴承故障。每种类型的故障都有特定的FCF,它与操作转速成正比,且系数由轴承的结构参数决定。实验中使用的轴承结构参数如表1所示。根据这些参数,轴承内圈的FCF系数为5.43,即内圈球通频率(BPFI)等于FCF系数(5.43)与轴的旋转频率    的乘积,即BPFI = 5.43 *    。同理,轴承外圈的FCF,即外圈球通频率(BPFO)= 3.57 *       

表1 轴承参数  

3.2 数据采集设置
数据通过NI数据采集板(NI USB-6212 BNC)进行采集。加速度计测量振动数据,编码器测量旋转速度数据。每个采样数据集包含两个通道,且这两个通道的数据保存在一个.mat文件中。‘Channel_1’是由加速度计测量的振动数据,‘Channel_2’是由编码器测量的旋转速度数据。在所有实验中,‘Channel_1’和‘Channel_2’的信号均以200,000 Hz的采样频率进行采样,采样时长为10秒。
3.3 数据描述
该数据集包含了滚动轴承不同故障类型的振动数据和转速数据,并且模拟了不同工况(升速、减速、升速再减速、减速再升速),具体不同工况下不同故障数据集表示如表2。
表2 数据集表示(故障类型-工况类型-数据集编号)
 

4 数据读取与时、频谱图绘制

下面以升速工况为例,对各个故障类型进行时域图和频域图绘制
4.1 导入包和绘图函数















import numpy as npimport pandas as pdfrom scipy.io import loadmatimport matplotlib.pyplot as pltfrom matplotlib import rcParamsfrom nptdms import TdmsFile
config = {    "font.family"'serif'# 衬线字体    "font.size"15# 相当于小四大小    "font.serif": ['SimHei'], # 宋体    "mathtext.fontset"'stix'# matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大    'axes.unicode_minus'False # 处理负号,即-号}rcParams.update(config)





##========绘制时域信号图========##def plt_time_domain(arr, fs=1600, c='Amp(mg)', title='原始数据时域图', img_save_path=None, x_vline=None, y_hline=None):    """    :fun: 绘制时域图模板    :param arr: 输入一维数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    import matplotlib.pyplot as plt    plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文    plt.rcParams['axes.unicode_minus'] = False  # 显示负号    font = {'family''Times New Roman''size''20''color''0.5''weight''bold'}
    plt.figure(figsize=(12,4))    length = len(arr)    t = np.linspace(0, length/fs, length)    plt.plot(t, arr, c='g')    plt.xlabesl('t(s)')    plt.ylabel(ylabel)    plt.title(title)    if x_vline:        plt.vlines(x=x_vline, ymin=np.min(arr), ymax=np.max(arr), linestyle='--', colors='r')    if y_hline:        plt.hlines(y=y_hline, xmin=np.min(t), xmax=np.max(t), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    plt.show()##========绘制时域信号图========##





##========绘制频域信号图========##def plt_fft_img(arr, fs, ylabel='Amp(mg)', title='频域图', img_save_path=None, vline=None, hline=None, xlim=None):    """    :fun: 绘制频域图模板    :param arr: 输入一维时域数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    # 计算频域幅值    length = len(arr)    t = np.linspace(0, length/fs, length)    fft_result = np.fft.fft(arr)    fft_freq= np.fft.fftfreq(len(arr), d=t[1]-t[0])  # FFT频率    fft_amp= 2*np.abs(fft_result)/len(t)                     # FFT幅值    # 绘制频域图    plt.figure(figsize=(12,4))    plt.title(title)    plt.plot(fft_freq[0int(len(t)/2)], fft_amp[0int(len(t)/2)], label='Frequency Spectrum', color='b')    plt.xlabel('频率 (Hz)')    plt.ylabel('幅值')    plt.legend()    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()    return fft_freq, fft_amp






##========绘制包络谱图========##def plt_envelope_spectrum(data, fs, ylabel='Amp(mg)', title='包络谱图', img_save_path=None, vline=None, hline=None, xlim=None):    '''    fun: 绘制包络谱图    param data: 输入数据,1维array    param fs: 采样频率    param xlim: 图片横坐标xlim,default = None    param vline: 图片垂直线,default = None    '''    from scipy import fftpack    #=========做希尔伯特变换=======#    xt = data    ht = fftpack.hilbert(xt)    at = np.sqrt(xt**2+ht**2)   # 获得解析信号at = sqrt(xt^2 + ht^2)    at = at - np.mean(at)       # 去直流分量    fft_amp = np.fft.fft(at)         # 对解析信号at做fft变换获得幅值    fft_amp = np.abs(fft_amp)             # 对幅值求绝对值(此时的绝对值很大)    fft_amp = fft_amp/len(fft_amp)*2    fft_amp = fft_amp[0int(len(fft_amp)/2)]  # 取正频率幅值    fft_freq = np.fft.fftfreq(len(at), d=1 / fs)  # 获取fft频率,此时包括正频率和负频率    fft_freq = fft_freq[0:int(len(fft_freq)/2)]  # 获取正频率    # 绘制包络谱图    plt.figure(figsize=(12,4))    plt.title(title)    plt.plot(fft_freq, fft_amp, label='Envelope Spectrum', color='b')    plt.xlabel('频率 (Hz)')    plt.ylabel('幅值')    plt.legend()    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()
4.2 数据加载





import osfrom scipy.io import loadmatimport numpy as npimport matplotlib.pyplot as pltimport matplotlib# 设置字体matplotlib.rc("font", family='Microsoft YaHei')# 数据文件夹路径data_dir = r'G:\Ottawa数据集\experimental_data'# 这里列出文件名file_names = [    'H-A-1.mat',    'B-A-1.mat',    'I-A-1.mat',    'O-A-1.mat',    'C-A-1.mat',]# 加载并存储数据data1 = loadmat(os.path.join(data_dir, file_names[0]))  data2 = loadmat(os.path.join(data_dir, file_names[1]))  data3 = loadmat(os.path.join(data_dir, file_names[2]))  data4 = loadmat(os.path.join(data_dir, file_names[3]))  data5 = loadmat(os.path.join(data_dir, file_names[4]))# Channel1数据data_list1 = data1['Channel_1'].reshape(-1data_list2 = data2['Channel_1'].reshape(-1)  data_list3 = data3['Channel_1'].reshape(-1data_list4 = data4['Channel_1'].reshape(-1data_list5 = data5['Channel_1'].reshape(-1time_step= 102400# 划窗取值,前102400做可视化·data_list1 = data_list1[0:time_step]data_list2 = data_list2[0:time_step]data_list3 = data_list3[0:time_step]data_list4 = data_list4[0:time_step]data_list5 = data_list5[0:time_step]
4.3 时、频域图
4.3.1 健康




vib_arr=data_list1plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=200000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=20000, xlim=2000)
4.3.2 球故障




vib_arr=data_list2plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=200000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=200000, xlim=2000)
4.3.3 内圈故障




vib_arr=data_list3plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=200000, xlim=100000)plt_envelope_spectrum(vib_arr, fs=200000, xlim=100000,)
4.3.4 外圈故障




vib_arr=data_list4plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=200000, xlim=100000)plt_envelope_spectrum(vib_arr, fs=200000, xlim=10000)
4.3.5 复合故障




vib_arr=data_list5plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=200000, xlim=100000)plt_envelope_spectrum(vib_arr, fs=200000, xlim=100000)

5 与2024年渥太华数据集区别

本篇渥太华轴承数据集侧重于轴承故障在不同转速下的诊断。2024年渥太华大学电机数据集则包含了多种电动机故障类型,并提供了定速和变速条件下的数据,可以用于电机的故障诊断和区分机械与电气故障,区别如表3。
表3 不同数据集区别


编辑:赵栓栓

校核:陈凯歌、李正平、曹希铭、赵学功、白亮、任超、Tina、陈宇航、陈莹洁、王金、赵诚、肖鑫鑫

该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除



来源:故障诊断与python学习
Mechanical振动旋转机械航空UGpythonUM声学电机传动数字孪生控制渲染
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-08-02
最近编辑:2月前
故障诊断与python学习
硕士 签名征集中
获赞 87粉丝 133文章 245课程 0
点赞
收藏
作者推荐

应对小样本挑战:基于改进辅助分类生成对抗网络的汽轮机转子故障诊断研究

这篇论文由上海海事大学张青雷老师团队在《Measurement》发表,针对汽轮机转子故障诊断振动数据因密封结构极难获取,传统诊断方法在样本稀缺时准确率骤降的行业难题,提出的SA-ACWGAN 智能诊断网络,在两个公开转子数据集上平均准确率超97%,数据不平衡场景(正常样本:故障样本=2:1)下仍保持96%+准确率,为电力、航空、船舶等领域的汽轮机预防性维护提供了解决方案。论文链接:通过点击本文左下角的阅读原文进行在线阅读及下载。论文基本信息论文题目:Research of turbine rotor fault diagnosis based on improved auxiliary classification generative adversarial network.论文期刊:Measurement 论文日期:2025年论文链接:https://doi.org/10.1016/j.measurement.2025.116991作者:Qinglei Zhang(a),Xinwei Lian(b),Jiyun Qin(a),Jianguo Duan(a),Ying Zhou(a)机构:(a) China Institute of FTZ Supply Chain, Shanghai Maritime University, Pudong, Shanghai 201306 China (b) School of Logistics Engineering, Shanghai Maritime University, Pudong, Shanghai 201306 China 作者简介: 张青雷,博士/教授,主要从事人工智能技术与系统、智能制造系统与应用等领域的教学研究工作。多次获得上海市一等奖/二等奖科技奖励,主持国家重点研发计划课题、国家自然科学基金面上项目、上海市经信委/科委等重要课题,出版人工智能领域专著,发表六十余篇SCI/EI高水平论文,并授权多项发明专利。(学校官网)目录1 摘要2 引言3 方法 3.1 GAN网络 3.2 Wasserstein距离与梯度惩罚 3.3 辅助分类生成对抗网络(ACGAN) 3.4 自注意力机制 3.5 SA-ACWGAN框架4 实验验证 4.1 实验室转子数据集  4.1.1 数据集简介  4.1.2 结果讨论 4.2 武汉大学转子数据集  4.2.1 数据集简介  4.2.2 结果讨论5 结论1 摘要转子是汽轮机的重要部件,但转子的振动信息难以获取,使得汽轮机转子振动数据十分稀少,导致故障诊断精度受限。本文针对这一问题,提出一种基于改进辅助分类生成对抗网络(SA-ACWGA)的数据增强方法,通过结合ACGAN、Wasserstein距离和自注意力机制,生成高质量且均衡的故障数据,用于汽轮机转子故障诊断的数据增强。在不同的转子数据集上进行了实验。结果表明,该方法能有效识别汽轮机转子的故障,两个数据集的准确率均高于97%。关键词:故障诊断、汽轮机转子、数据扩增、生成对抗、注意力模块2 引言汽轮机作为主要的动力设备,广泛应用于电力、航空、航运、化工等领域[1]。它不仅是现代能源和工业系统的核心部件,也是推动社会和经济发展的关键技术[2]。确保汽轮机的稳定运行对保障生产安全和提高经济效益具有重要意义[3]。然而:由于运行环境复杂性和设备高精度,汽轮机长期运行中易发生故障[4];转子振动信号因密封结构难以大量获取,样本稀缺导致诊断准确性低。传统故障诊断方法存在局限性:依赖专家系统与物理模型:处理简单故障有效,但面对复杂非线性问题时效率低。特征提取依赖人工:适用性和泛化能力有限,处理大规模数据时计算复杂度高。深度学习虽在故障诊断中取得进展(如CNN[13][17]、迁移学习[15][16]),但仍需大量标签数据,小样本场景下表现不佳。生成对抗网络(GAN) 成为解决数据稀缺的关键技术[20]:例如Wang等提出的多域协作GAN[21]、Zhao的CAMCNN[22]证明了GAN在故障诊断中的潜力。但传统GAN存在训练不稳定、模式崩溃、梯度消失等问题,且难以保证生成数据的多样性与全局一致性。表1 方法对比 方法类型 代表技术 缺陷 传统方法 FFT, STFT, SVM 非线性问题适应性差 深度学习 CNN[13], 迁移学习[15] 依赖大规模标注数据 GAN增强 WGAN[27], ACGAN[6] 训练不稳定、模式崩溃 本文贡献:提出 SA-ACWGAN 方法,通过融合 ACGAN、Wasserstein距离、梯度惩罚(GP) 和自注意力机制:增强故障特征捕获能力;提升模型稳定性;生成高质量均衡故障数据;在多个数据集上实现>97% 的诊断准确率。3 方法3.1 GAN网络生成对抗网络(GAN)的核心思想是通过训练生成器 G 和判别器 D 来补充数据,GAN由生成器 (G) 和判别器 (D) 组成[24]。GAN 的目标函数如下所示:目标函数: 训练过程:生成器生成虚假数据欺骗判别器,判别器区分真伪,二者对抗优化。3.2 Wasserstein距离与梯度惩罚Wasserstein距离:GAN 中使用 Wasserstein 距离代替 J-S 散度来评估真实样本和生成样本之间的分布距离,极大地提高了 GAN 的训练稳定性。Wasserstein 距离表示为: 其中, 是真实数据 的分布, 是生成数据 的分布。 是所有联合分布 的集 合。 Wasserstein 生成对抗网络的目标函数可以表示为: 梯度惩罚(GP):实现1-Lipschitz约束[38]: 其中, 为惩罚因子, 为真实与生成样本的随机插值。3.2 辅助分类对抗生成网络(ACGAN)辅助分类生成对抗网络(ACGAN)是 GAN 的一种改进模型[26],其结构如图所示。在随机噪声和真实图像样本中添加故障类别标签,一方面可以使生成器生成的图像样本更加真实,另一方面,由于判别器和辅助分类的结合,改进后的判别器不仅可以判断图像的真实性,还可以区分图像的故障类别。因此,可以使用 ACGAN 生成特定故障类别的二维时频域图像。 图1 ACGAN网络框架由于添加了辅助分类,ACGAN 的损失函数不仅包括真实/虚假损失,还包括由辅助分类生成的分类损失。损失函数为: 其中,对于判别器,目标是最大化两个对数似然值的和,即 ,而生成器的目标是最大化 。 3.4 自注意力机制核心思想:是利用输入序列中每个元素的信息,计算该位置与其他位置的相似度,并根据相似度对所有位置的信息进行加权求和,从而将局部区域与全局信息的关系统一起来: 为了改善网络的整体特征表示和最终性能,同时保留输入特征的原始细节,有必要将输出与原始输入特征建立关联。因此,最终输出是: 其中, 为可学习参数,初始为0。引入 提供了一种逐步整合两种信息的机制。最初关注原始特征,随着训练的进行逐渐增加对全局信息的关注。这有助于模型在训练初期保持稳定,并在训练过程中优化性能,使其逐渐学会完成复杂任务。3.5 SA-ACWGAN框架本文专注于汽轮机转子的不平衡、不对中和摩擦故障诊断。所提出方法的整体架构如图所示。将汽轮机转子的一维振动信号通过短时傅里叶变换(STFT)转换为二维时频域信号图。然后,将二维时频域信号图及其对应的故障标签输入到改进的辅助分类生成对抗网络(SA-ACWGAN)中,以生成准确、可靠且分布均匀的数据集。接下来,将生成的数据集输入到故障诊断网络中进行训练。最后,将部分原始二维时频域图像数据样本与部分生成图像数据样本一起输入到训练好的故障诊断网络中进行验证。具体的SA-ACWGAN结构如表所示。 图2 网络整体框架输入:一维振动信号→STFT转换为二维时频图。SA-ACWGAN结构:基础:ACGAN + Wasserstein距离 + 梯度惩罚生成器/判别器加入自注意力模块表2 SA-ACWGAN网络结构 故障诊断网络:使用了引入自注意力机制的卷积神经网络(CNN)。其结构如表3所示。与一些常见的自注意力机制不同,本文中使用的自注意力机制更适合于获取图像信息。这种自注意力机制专注于如何在图像中捕获全局依赖关系。在处理图像时,它同时关注图像的空间维度和特征维度,以便更高效地识别图像各部分的特征信息。将自注意力机制引入CNN,使得网络模型能够专注于当前任务更重要的区域。在图像分类中,它允许模型更多地关注包含目标分类信息的区域,帮助其捕获更多详细信息,从而提高诊断的准确性。 表3 SA-CNN网络结构 4 实验验证4.1 实验室转子数据集4.1.1 数据集本节主要使用实验室模拟数据集。实验装置的物理图如图3所示。转子总长度为1240毫米,直径为60毫米,两端由轴承支撑。轴承处的轴直径为50毫米,转子中心包含一个直径为350毫米、厚度为50毫米的圆盘。通过在转子模型中添加离心力来模拟转子不平衡故障;通过调整转子的振动频率来模拟转子的平行不对中故障;通过在转子上施加三角脉冲力来模拟转子的摩擦故障。转子转速设置为1000转/分钟,采样频率设置为2000赫兹,采样长度为30秒,测试在不同的转子状态(正常、摩擦、不平衡和不对中)下进行。 图3 转子实验平台 (a)装置的总体结构;(b)传感器分布4.1.2 结果SA-ACWGAN训练损失:300轮后稳定,生成器波动源于自注意力机制对细节敏感。 图4 SA-ACWGAN损失函数数据集扩展:以300个训练周期后生成的图像作为生成数据样本。从中选取每种类型的900个样本,与原始数据集中的100个样本混合,作为训练故障诊断网络的新数据集,如表所示。测试数据集中的"+20"表示来自原始数据集但未混入新数据集的20个样本。原始样本+生成样本混合训练。 不同故障诊断方法的训练过程准确率如下图所示。可以看出,SA-CNN达到了最高的准确率97.7%,并且在稳定后波动较小,而LSTM-CNN的准确率略低于SA-CNN,为96.7%。各方法的混淆矩阵显示了每种故障类型的具体诊断结果。混淆矩阵主对角线上的值代表不同故障的识别准确率,该值越大,表明神经网络模型的分类效果越好。从结果可以看出,SA-CNN对各类故障的识别效果最好,每种故障的识别准确率都达到了97%以上;LSTM-CNN的效果也很好,准确率超过95%。这表明由SA-ACWGAN生成的数据集具有良好的准确性和可靠性。 图5 不同网络准确率 对于目标方法中使用的SA-CNN模型,其对不同故障的评估指标如表5所示。可以看出,每项指标均在0.97以上,这充分展示了该网络优异的诊断性能,证实了所提出方法的有效性。评估指标:精确率/召回率/F1值均>0.97。表5 所提方法对于不同故障类别的评估指标 对比不同分类器的ROC和AUC指标,用于评估四种不同故障的表现。ROC是测试二元分类器性能的有效方法,而AUC则是用于评估分类器模型性能的数值指标。由于ROC仅适用于二元分类,无法直接对数据集中的四个类别进行ROC可视化。因此,我们采用将每个类别视为正类,其余类别归为负类的方式进行处理。下图展示了四种不同故障类别的ROC曲线和AUC值。结果显示,0类的AUC为0.98,1类为0.96,2类和3类均为0.97。这进一步表明了所提出方法的网络模型具有良好的鲁棒性和稳定性。ROC曲线:AUC值0.96–0.98,验证模型鲁棒性。 图7 所提方法的ROC 数据增强方法对比:SA-ACWGAN准确率超出ACGAN15%,并且优于W-CGAN/WGANML。下图展示了使用四种不同网络(SA-ACWGAN、ACGAN、W-CGAN和WGANML)生成的数据集在故障诊断准确率方面的变化。并且这四种方法在多次实验后的平均准确率也展现在图中。使用W-CGAN和WGANML对不同故障的识别准确率低于本文提出的方法,而使用ACGAN方法的准确率则显著低于本文提出的方法。这进一步证明了所提出方法的优越性。 图8 不同数据扩充方法生成数据集训练过程的准确率 图9 不同数据扩充网络的平均准确率 图10 不同数据增强方法的混淆矩阵:(a)SA-ACWGAN;(b)ACGAN;(c)W-CGAN;(d)WGANML不平衡数据实验:为了进一步探索目标方法的适用性,接下来讨论了数据不平衡情况下目标方法的有效性。实验中设置了正常状态故障样本数量与其他各类故障样本数量的比例分别为1:1、2:1、5:1和10:1,实验结果如下面三张图所示。从结果可以看出,当不平衡比例为2:1时,目标方法仍然表现出较好的效果,平均准确率约为97%,各类故障识别的准确率也都在96%以上;当比例为5:1时,准确率略有下降,各类故障识别的准确率在80%左右;而当比例降至10:1时,准确率大幅下降,仅为65%左右。 图13 不同平衡比的混淆矩阵:(a)SA-ACWGAN;(b)ACGAN;(c)W-CGAN;(d)WGANML造成这一结果的原因可能是:在比例降低后,其他故障的样本数量过少,导致数据增强网络无法充分识别图像特征。虽然健康状态的样本数量保持不变,但其他故障样本数量过少可能导致判别器对生成图像的真实性和类别判断出现误判,从而使生成图像的质量变低。使用质量较差的图像数据集训练的故障诊断网络,其准确率自然会大幅降低。然而,即使在10:1的不平衡比例下,其准确率仍然高于使用GAN作为数据增强网络的方法,这表明所提出的SA-ACWGAN数据增强方法具有良好的实用性。4.2 武汉大学转子数据集4.2.1 数据集简介该数据集由武汉大学的实验旋转机械系统测量的振动信号组成[12]。该系统包括转子试验台、速度控制器、前端处理器和计算机。转子由直流电机驱动,涡流传感器用于采集信号,在传输到计算机进行分析和存储之前,对信号进行放大和滤波。该数据集包含四种不同条件下的转子信号:正常、不平衡、不对中和摩擦。在数据采集过程中,转子转速设置为1200转每分钟(rpm),采样频率为2048 Hz,采样长度为1s。4.2.2 结果讨论在处理振动信号后,采用了不同的数据增强方法来扩充数据集,并使用SA-CNN对扩充后的数据集进行训练。从故障诊断准确率和平均准确率的变化可以看出,由SA-ACWGAN生成的数据集仍然具有最高的准确率,这充分证明了所提出方法在转子故障诊断中的适用性。如下各图显示了训练过程以及不同网络生成的各个数据集的具体准确率。SA-ACWGAN、W-CGAN和WGANML都取得了令人满意的结果。然而,由于原始数据集规模较小,W-CGAN和WGANML的准确率仍略低于SA-ACWGAN。 图14 不同数据扩充方法生成数据集训练过程的准确率(武汉大学转子数据集) 图15 不同数据增强网络的平均准确度(武汉大学转子数据集) 图16 不同数据增强方法的混淆矩阵(武汉大学转子数据集):(a)SA-ACWGAN;(b)ACGAN;(c)W-CGAN;(d)WGANML5 结论本文提出了一种基于改进的辅助分类生成对抗网络(SA-ACWGAN)的汽轮机转子故障诊断方法,旨在解决小样本汽轮机转子故障诊断问题。在整个故障诊断模型中,首先将少量现有的转子故障一维振动信号转换为二维时频图,作为原始数据集。然后,使用数据增强网络SA-ACWGAN模型扩展数据集,以解决样本数据不足的问题。最后,使用带有自注意力机制的卷积神经网络(SA-CNN)提取特征信息,对转子故障类型进行分类。为了验证所提出方法的准确性和鲁棒性,我们在不同的转子数据集上进行了多次实验。结果表明,该方法在识别汽轮机转子故障方面非常有效,两个数据集的准确率均高于97%。此外,我们还在不同平衡比例的数据集上进行了实验。结果表明,所提出的方法在数据不平衡的情况下仍具有一定的准确性。然而,该模型在识别转子不平衡故障方面表现较差,相对于其他故障类型,其准确率较低。在所有实验中,对于原始数据集不平衡比例较大的情况,准确率也较低。未来,我们可以继续深入探讨其对转子不平衡故障识别效果不佳的原因,并继续改进模型,使其能够应对稍微更大不平衡比例的数据集。编辑:肖鑫鑫校核:李正平、陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、海洋、Tina、陈宇航、陈莹洁、赵诚、王金该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除来源:故障诊断与python学习

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈