一种基于SSAE和BA-ELM的滚动轴承故障诊断方法与流程

文档序号:19184696发布日期:2019-11-20 01:22阅读:531来源:国知局
一种基于SSAE和BA-ELM的滚动轴承故障诊断方法与流程

本发明涉及滚动轴承故障诊断技术领域,尤其是一种基于ssae和ba-elm的滚动轴承故障诊断方法。



背景技术:

滚动轴承是旋转机械中重要的组成部件之一,高温高压、交变载荷等恶劣的工作环境使得滚动轴承是机械设备中最易损坏的零件之一。滚动轴承的健康状况与生产效益息息相关,一旦发生故障,必然造成一定的经济损失,严重的还会危及到人身安全。所以若能够及时、准确地对滚动轴承的工作状况做出反馈,将能够最大程度地减少损失。

振动信号包含了丰富的故障信息,滚动轴承故障诊断关键的一步是从振动信号中提取轴承状态信息,由于振动信号是非线性非平稳的,对有效信息的提取造成了一定的困难。时频分析是一种有效的信号处理方法,经验模态分解能够根据信号自身特性将信号分解为一组本征模态分量,但过包络、欠包络和模态混叠等问题使得在应用该方法处理信号时不能取得满意的效果。为解决这些问题,在经验模态分解的基础上,进一步提出了总体经验模态分解(eemd)、互补总体经验模态分解(ceemd)等,但这些方法在信号的处理效率方面依然有待提高。迭代滤波分解(ifd)是emd的一种改进方法,不仅处理效率高,对噪声的鲁棒性也明显由于emd方法,能够有效抑制模态混叠。

在分类处理中,特征维数过高,存在冗余特征与噪声特征会影响分类器的训练结果,对此需要对特征降维。堆叠稀疏自动编码器能够从大量数据中选取最有效的特征,因此堆叠稀疏自动编码器可以用于数据降维。

极限学习机是一种单隐层前馈神经网络,具有学习速度快、泛化性能好的优点,利用蝙蝠算法优化隐藏层的权值和偏置能够进一步提高极限学习机的性能。



技术实现要素:

本发明提出一种基于ssae和ba-elm的滚动轴承故障诊断方法,可以解决常用的信号处理方法缺乏足够的鲁棒性,数据降维方法难以保留最有效的特征以及不同故障程度分类精度低等问题。

本发明采用以下技术方案。

一种基于ssae和ba-elm的滚动轴承故障诊断方法,所述诊断方法包括以下步骤;

步骤a1:采集滚动轴承正常、滚动体故障、外圈故障、内圈故障四种类型的时域信号,确保采集得到的时域信号中,每种类型信号有n个样本,每个样本有n个数据采样点;

步骤a2:对每组时域信号的各个样本进行迭代滤波分解,从各样本中得到包含不同时间尺度的本征模态分量;

步骤a3:选取每个样本前k个本征模态分量,对每个分量计算相对能量和排列熵;

步骤a4:计算每组时域信号的时域特征,所述时域特征包含有量纲指标和无量纲指标;有量纲指标为:均值、均方根值、方根幅值、绝对平均值、偏斜度、峭度、方差、最大值、最小值和峰峰值;无量纲指标为:波形指标、峰值指标、脉冲指标、裕度指标、偏斜度指标和峭度指标;

步骤a5:利用堆叠稀疏自动编码器ssae对上述特征进行降维,将降维的结果作为故障特征;

步骤a6:以故障特征为待识别数据,利用蝙蝠算法优化极限学习机ba-elm实现滚动轴承工作状态和故障类型的识别。

所述步骤a1中,其采集方法为:在滚动轴承运行状态下,以设定好的采样频率,采集滚动轴承的正常运行、滚动体故障、外圈故障、内圈故障四种状态信号各n个样本,每种故障类型的状态信号包含在不同故障程度下采集的样本。

所述步骤a2中,其迭代滤波分解具体包括以下步骤;

步骤2.1:对于一个复杂信号x(t),t∈r,定义l(x)为信号x(t)的移动平均值:

式中:l表示滤波器长度,hj=(l+1-j)/(l+1)2

步骤2.2:原始信号x(t)减去l(x)得到一个差值信号:

γ(x)=x-l(x)

步骤2.3:若γ(x)不满足imf条件,则重复以上步骤2.1、步骤2.2直到满足条件,最终得到第一个imf分量:

i1=limn→∞γn(x)

式中:γn表示对信号x执行n次筛选算法;

步骤2.4:将i1从原始信号中分离出来,得到一个去除高频分量的差值信号

r1=x-i1;

步骤2.5:对差值信号r1重复以上步骤,直到求出n-1个imf分量和一个残余分量rn(rn至多只有一个局部极值点)满足终止条件时,分解过程结束。信号x(t)经迭代滤波分解后可表示为

ik=limn→∞γn(x-i-···-ik-1)。

在步骤a3中,所述相对能量和排列熵的计算的具体步骤为:

步骤3.1.1:原始信号经过迭代滤波分解得到一组imf分量,计算前k个分量的能量:

步骤3.1.2:各分量与总能量的比值:

得到相对能量:

p=[p1,p2,…pk]

步骤3.2.1:对于一维时间序列{x(i),i=1,2...n},对其进行相空间重构:

x(i)={x(i),x(i+τ),…x(i+(m-1)τ)}

式中:m为嵌入维数,τ为延迟时间;

步骤3.2.2:对x(i)升序重新排列,得到一个反映x(i)中元素大小顺序的符号序列:

k(l)=(l1,l2,…lm)

其中:l=1,2,…g,g≤m!,k(l)为全排列m!中的一种;

步骤3.2.3:统计序列x(i)各种排列情况并计算其概率pl,计算序列的排列熵:

在步骤a5中,所述堆叠稀疏自动编码器ssae训练过程为:

步骤5.1:设置学习率、迭代次数、稀疏参数、训练次数、每个稀疏自动编码器的隐藏层神经元个数,随机初始化隐藏层权重和偏置,训练过程包括预训练(逐层贪婪训练)和微调两个阶段;

步骤5.2:预训练:

以步骤a3、步骤a4得到的组合特征作为第一层自动编码器的输入,将解码器的输出与输入的重构误差为目标函数进行训练,然后将第一层的编码结果作为第二层的输入进行训练,以此类推直到第n个自动编码器训练结束,最后将第n个编码器的编码结果作为softmax分类器的输入,以softmax分类器预测结果与期望的误差为目标函数训练softmax分类器的权值和偏置。稀疏自动编码器的损失函数如下:

α为权值激活参数,β为稀疏参数,s为隐藏层神经元个数;

步骤5.3微调:

将步骤a3、步骤a4得到的组合特征作为步骤5.2经过预训练的堆叠稀疏自动编码器的输入,以softmax分类器预测结果与期望的误差为目标函数,通过反向传播算法调整整个网络的权值和偏置,取第n个编码器的输出特征集作为降维后的特征集。

在步骤a6中,所述蝙蝠算法优化极限学习机ba-elm工作的具体步骤为:

步骤6.1:种群初始化,设定最大脉冲音量a0、最大脉冲率r、搜索脉冲频率范围[qmin,qmax]、音量衰减系数α、搜索频率增强系数β、最大迭代次数n等。

步骤6.2:将隐藏层神经元权重和偏置作为待优化粒子,初始化粒子初始值,以极限学习机的错误率为适应度值,将步骤五得到的特征集分为训练集与测试集作为极限学习机的输入,求得最小适应度值fmin和群体极值gbest和个体极值pbest

步骤6.3:更新搜索脉冲频率,速度和位置更新:

q(i)=qmin+(qmax-qmin)*ρ

v(i)t+1=v(i)t+(x(i)t-pbest)*q(i)

x(i)t+1=x(i)t+v(i)t+1

其中ρ是[0,1]之间的随机数;

步骤6.4:生成随机数rand,若rand>r,则产生一个新的解f;

步骤6.5:如果满足f<fmin且rand>a(i),则接受这个解,并更新最大脉冲音量和最大脉冲率:

a(i)t+1=α*a(i)t

r(i)t+1=r(i)(1-exp(-γt));

步骤6.6:更新最优解、个体极值pbest与群体极值gbest;

步骤6.7:重复步骤6.2-步骤6.6直到取得最佳适应度值或达到最大迭代次数;

步骤6.8:求得最优隐藏层权重和偏置;

步骤6.9:极限学习机ba-elm对故障特征进行分类。

本发明的优点与积极效果在于:充分利用迭代滤波分解鲁棒性强的优点,将复杂信号分解为一组包含不同时间尺度的本征模态分量,相比与emd和eemd等方法,有效抑制了模态混叠,信号处理的效率更高;利用堆叠稀疏自动编码器作为特征降维降维方法,相比于一些常用方法更能保留有效信息;利用蝙蝠算法优化极限学习机,大大提高了故障诊断的准确性。

附图说明

下面结合附图和具体实施方式对本发明进一步详细的说明:

附图1是本发明基于ssae与ba-elm滚动轴承故障诊断方法流程图;

附图2是轴承正常状态振动时域信号迭代滤波分解结果;

附图3是轴承内圈故障振动时域信号迭代滤波分解结果;

附图4是轴承外圈故障振动时域信号迭代滤波分解结果;

附图5是轴承滚动体故障振动时域信号迭代滤波分解结果;

附图6是三层堆叠稀疏自动编码器训练网络结构;

附图7是原始特征pca可视化结果;

附图8是ssae降维后pca可视化结果。

具体实施方式

如图1-8所示,一种基于ssae和ba-elm的滚动轴承故障诊断方法,所述诊断方法包括以下步骤;

步骤a1:采集滚动轴承正常、滚动体故障、外圈故障、内圈故障四种类型的时域信号,确保采集得到的时域信号中,每种类型信号有n个样本,每个样本有n个数据采样点;

步骤a2:对每组时域信号的各个样本进行迭代滤波分解,从各样本中得到包含不同时间尺度的本征模态分量;

步骤a3:选取每个样本前k个本征模态分量,对每个分量计算相对能量和排列熵;

步骤a4:计算每组时域信号的时域特征,所述时域特征包含有量纲指标和无量纲指标;有量纲指标为:均值、均方根值、方根幅值、绝对平均值、偏斜度、峭度、方差、最大值、最小值和峰峰值;无量纲指标为:波形指标、峰值指标、脉冲指标、裕度指标、偏斜度指标和峭度指标;

步骤a5:利用堆叠稀疏自动编码器ssae对上述特征进行降维,将降维的结果作为故障特征;

步骤a6:以故障特征为待识别数据,利用蝙蝠算法优化极限学习机ba-elm实现滚动轴承工作状态和故障类型的识别。

所述步骤a1中,其采集方法为:在滚动轴承运行状态下,以设定好的采样频率,采集滚动轴承的正常运行、滚动体故障、外圈故障、内圈故障四种状态信号各n个样本,每种故障类型的状态信号包含在不同故障程度下采集的样本。

所述步骤a2中,其迭代滤波分解具体包括以下步骤;

步骤2.1:对于一个复杂信号x(t),t∈r,定义l(x)为信号x(t)的移动平均值:

式中:l表示滤波器长度,hj=(l+1-j)/(l+1)2

步骤2.2:原始信号x(t)减去l(x)得到一个差值信号:

γ(x)=x-l(x)

步骤2.3:若γ(x)不满足imf条件,则重复以上步骤2.1、步骤2.2直到满足条件,最终得到第一个imf分量:

i1=limn→∞γn(x)

式中:γn表示对信号x执行n次筛选算法;

步骤2.4:将i1从原始信号中分离出来,得到一个去除高频分量的差值信号

r1=x-i1;

步骤2.5:对差值信号r1重复以上步骤,直到求出n-1个imf分量和一个残余分量rn(rn至多只有一个局部极值点)满足终止条件时,分解过程结束。信号x(t)经迭代滤波分解后可表示为

ik=limn→∞γn(x-i-···-ik-1)。

在步骤a3中,所述相对能量和排列熵的计算的具体步骤为:

步骤3.1.1:原始信号经过迭代滤波分解得到一组imf分量,计算前k个分量的能量:

步骤3.1.2:各分量与总能量的比值:

得到相对能量:

p=[p1,p2,…pk]

步骤3.2.1:对于一维时间序列{x(i),i=1,2...n},对其进行相空间重构:

x(i)={x(i),x(i+τ),…x(i+(m-1)τ)}

式中:m为嵌入维数,τ为延迟时间;

步骤3.2.2:对x(i)升序重新排列,得到一个反映x(i)中元素大小顺序的符号序列:

k(l)=(l1,l2,…lm)

其中:l=1,2,…g,g≤m!,k(l)为全排列m!中的一种;

步骤3.2.3:统计序列x(i)各种排列情况并计算其概率pl,计算序列的排列熵:

在步骤a5中,所述堆叠稀疏自动编码器ssae训练过程为:

步骤5.1:设置学习率、迭代次数、稀疏参数、训练次数、每个稀疏自动编码器的隐藏层神经元个数,随机初始化隐藏层权重和偏置,训练过程包括预训练(逐层贪婪训练)和微调两个阶段;

步骤5.2:预训练:

以步骤a3、步骤a4得到的组合特征作为第一层自动编码器的输入,将解码器的输出与输入的重构误差为目标函数进行训练,然后将第一层的编码结果作为第二层的输入进行训练,以此类推直到第n个自动编码器训练结束,最后将第n个编码器的编码结果作为softmax分类器的输入,以softmax分类器预测结果与期望的误差为目标函数训练softmax分类器的权值和偏置。稀疏自动编码器的损失函数如下:

α为权值激活参数,β为稀疏参数,s为隐藏层神经元个数;

步骤5.3微调:

将步骤a3、步骤a4得到的组合特征作为步骤5.2经过预训练的堆叠稀疏自动编码器的输入,以softmax分类器预测结果与期望的误差为目标函数,通过反向传播算法调整整个网络的权值和偏置,取第n个编码器的输出特征集作为降维后的特征集。

在步骤a6中,所述蝙蝠算法优化极限学习机ba-elm工作的具体步骤为:

步骤6.1:种群初始化,设定最大脉冲音量a0、最大脉冲率r、搜索脉冲频率范围[qmin,qmax]、音量衰减系数α、搜索频率增强系数β、最大迭代次数n等。

步骤6.2:将隐藏层神经元权重和偏置作为待优化粒子,初始化粒子初始值,以极限学习机的错误率为适应度值,将步骤五得到的特征集分为训练集与测试集作为极限学习机的输入,求得最小适应度值fmin和群体极值gbest和个体极值pbest

步骤6.3:更新搜索脉冲频率,速度和位置更新:

q(i)=qmin+(qmax-qmin)*ρ

v(i)t+1=v(i)t+(x(i)t-pbest)*q(i)

x(i)t+1=x(i)t+v(i)t+1

其中ρ是[0,1]之间的随机数;

步骤6.4:生成随机数rand,若rand>r,则产生一个新的解f;

步骤6.5:如果满足f<fmin且rand>a(i),则接受这个解,并更新最大脉冲音量和最大脉冲率:

a(i)t+1=α*a(i)t

r(i)t+1=r(i)(1-exp(-γt));

步骤6.6:更新最优解、个体极值pbest与群体极值gbest;

步骤6.7:重复步骤6.2-步骤6.6直到取得最佳适应度值或达到最大迭代次数;

步骤6.8:求得最优隐藏层权重和偏置;

步骤6.9:极限学习机ba-elm对故障特征进行分类。

实施例

本实例采用6205-2rs深沟球轴承,实验平台包括一台2马力的电机、一个扭矩传感器、一个功率计和电子控制设备。使用电火花加工技术模拟故障深度为0.18mm、0.36mm、0.54mm的单点故障,采集正常状态与不同故障深度下的内圈故障、外圈故障、滚动体故障信号对基于ssae与ba-elm滚动轴承故障诊断方法进行验证。具体步骤如下:

步骤一:在轴承运行状态下,以设定的采样频率采集正常、内圈故障、外圈故障、滚动体故障四种轴承状态时域信号,如表一所示

表1.滚动轴承故障实验数据

步骤二:将每组信号进行迭代滤波分解,得到一组包含不同时间尺度的本征模态分量;

步骤三:选取每个样本前8个本征模态分量,对每个分量计算相对能量和排列熵,排列熵参数m=6,τ=1

步骤四:计算每组时域信号的时域特征,包含有量纲指标和无量纲指标。有量纲指标为:均值、均方根值、方根幅值、绝对平均值、偏斜度、峭度、方差、最大值、最小值和峰峰值;无量纲指标为:波形指标、峰值指标、脉冲指标、裕度指标、偏斜度指标和峭度指标;

步骤五:利用三层稀疏自动编码器(ssae)对上述组合特征进行降维,ssae节点数设置为32-16-12-10,将降维的结果作为故障特征,ssae结构如图所示;利用主成分分析对特征集实现可视化,图表示原始特征,图是降维后特征,从两张图中可以看出经过ssae处理后去除了大量冗余和噪声特征,降维后的结果更有利于轴承状态识别。

步骤六:利用蝙蝠算法优化极限学习机(ba-elm)实现滚动轴承工作状态和故障类型的识别。设定种群数50、最大脉冲音量a0=3.2、最大脉冲率r=0.001、搜索脉冲频率范围[0,3]、音量衰减系数α=0.8,搜索频率增强系数β=0.9、最大迭代次数为100。

表2是利用softmax分类器、elm、ba-elm的分类准确率,通过比较可以看出ba-elm的优势。

表2.滚动轴承故障诊断方法比较

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1