本发明属于滚动轴承故障诊断技术领域,涉及一种基于学习字典与奇异值分解的滚动轴承故障识别方法。
背景技术:
滚动轴承是旋转机械中最常见也是最重要的零部件之一,因其特殊的结构和应用位置,滚动轴承极易受到损坏,进而引发严重的机械故障。据统计,旋转机械中由滚动轴承损坏引起的故障约有30%,这对企业的安全生产造成了严重的影响。因此,滚动轴承的故障监测与诊断对于保障机械设备安全运行、提高经济生产效益具有重大的现实意义。
在滚动轴承故障诊断领域,如何根据轴承的振动信号对轴承故障进行故障特征提取和分类是实现故障识别的关键。轴承故障多种多样,按其损伤位置,可分为内环、外环、滚动体故障等,而每类故障的故障程度又有轻重之分,常规的故障识别分类方法将各类、各程度下的轴承故障信号进行训练,得到一个故障诊断模型,然后再用该模型去识别诊断待测信号的故障类型。常规方法具有一定的可行性,但在故障识别模型的训练过程中需要大量的轴承故障数据,同时训练过程中的计算量较大,所用时间也较长,因此具有一定的局限性。
技术实现要素:
针对现有技术的不足,本发明提供一种基于学习字典与奇异值分解的滚动轴承故障识别方法,可以在某一程度故障数据学习训练的基础上实现对其他程度故障类型的识别,利用k-svd算法训练某单一故障程度下各故障类型信号的学习字典,并将得到的各类型学习字典组合成新字典,采用奇异值分解对待测故障数据进行去噪处理,同时构建去噪数据的测试样本集,之后求解该测试样本集在组合字典下的稀疏表示系数矩阵,根据其中非零系数在各故障类型区域的分布概率进行轴承故障类型的识别判断,从而有效识别其他故障程度下的故障类型。
本发明是这样实现的:
一种基于学习字典与奇异值分解的滚动轴承故障识别方法,其具体包括以下步骤:
s1、将正常轴承的振动信号以及内环故障、外环故障和滚动体故障类型的振动信号各自进行分割截取,构建他们各自的训练样本集;
s2、利用k-svd方法分别对上述4个训练样本集进行训练,得到它们各自的学习字典,并将4个字典组合成新的组合字典:
s21、利用k-svd方法得到学习字典:
以正常轴承为例,字典学习的数学描述表示为:
其中,d1=[d1,d2...dp]∈rm×p为学习字典,di∈rm×1为字典的第i个原子且p>>n,其中,p、m和n均为实数,p表示学习字典中原子的个数,n表示稀疏表示系数的个数;a1=[α1,α2...αn]∈rp×n为训练样本集x1在学习字典d1下的稀疏表示系数矩阵,αi∈rp×1为某单个样本xi的稀疏表示系数;k为稀疏度;||·||f表示矩阵的f范数,
字典学习需要同时求解字典d1和稀疏表示系数矩阵a1,k-svd方法先初始化字典d1,然后求解样本集在学习字典d1下的稀疏表示系数矩阵a1,该过程用表达式表示为:
在得到稀疏表示系数矩阵a1之后,再对学习字典d1进行更新,更新过程表示为:
k-svd方法采用逐个原子跟新的方式来实现整个字典的更新,当对字典的第i个原子di,即第i列进行更新时,需要将
e′l=usvt
更新完成后,字典原子di=ui,ui为左奇异阵u的第一列,而非零系数向量
s22、构建组合字典:
组合字典d的表达式为:
d=[d1,d2,d3,d4];
s3、对某待测振动信号进行奇异值分解去噪处理,并构建去噪信号的测试样本集:
对于任意一个m×n矩阵z,通过奇异值分解的方法将其分解为3个矩阵相乘的形式:
z=usvt
其中,u和v分别代表m×m和n×n的正交矩阵,它们又称为左右奇异阵,s=diag(λ1,λ2,...,λk,0...)代表一个m×n的对角矩阵,λ1、λ2、λk为矩阵z的奇异值,并且满足λ1≥λ2≥...≥λk≥0;
对于一维的振动信号,为了使用奇异值分解方法对其进行处理,需要利用该一维信号构建相应的矩阵;假设振动信号的数字序列为z(i),i=1,2,3,...n,其中n为该一维信号的长度,则构造的矩阵如下表示:
令m=n-n+1,则得到的矩阵z维数为m×n,即z∈rm×n,矩阵z称为重构的吸引子轨迹矩阵;
根据奇异值分解去噪理论:奇异值中前r个较大值代表有用信号,而剩余较小值代表噪声信号,因此去除若干较小奇异值,然后按照奇异值分解的逆过程得到去噪后的矩阵
s4、设定稀疏度,利用omp算法求解测试样本集在组合字典下的稀疏表示系数矩阵;
s5、统计稀疏表示系数矩阵中非零系数在各故障类型区域出现的概率,非零系数出现概率最大区域的故障类型为待测振动信号的故障类型。
优选地,步骤s1中构建的训练样本集包括三个参数:单个样本长度l、平移参数τ以及训练样本个数n,所述单个样本长度l由轴承振动信号的采样频率fs与轴承故障的特征频率f确定,具体为:
l≥fs/f
在确定样本长度l时,轴承故障的特征频率f为内环、外环和滚动体故障特征频率三者中的最小值;
平移参数τ和训练样本个数n结合原始振动信号长度与单个样本的长度l确定。
优选地,步骤s4中利用omp算法求解测试样本集在组合字典下的稀疏表示系数矩阵的具体方法为:
s41、单个测试样本稀疏表示系数的求解为:
在正常状态下,训练样本集为x1,学习字典为d1,某样本的稀疏表示系数a=(a1,a2...an);
在内环故障状态下,训练样本集为x2,学习字典为d2,某样本的稀疏表示系数b=(b1,b2...bn);
在外环故障状态下,训练样本集为x3,学习字典为d3,某样本的稀疏表示系数c=(c1,c2...cn);
在滚动体故障状态下,训练样本集为x4,学习字典为d4,某样本的稀疏表示系数d=(d1,d2...dn);
某单个测试样本在组合字典d下的稀疏表示可以用β0表示:
β0=(a1...an,b1...bn,c1...cn,d1...dn)
理想情况下,样本x在组合字典d的稀疏表示中非零稀疏应全部出现在样本所属的故障类型区域,而其他区域的元素均为零,如内环故障信号在字典d下的稀疏表示应为:
β0=(0...0,b1...bn,0...0,0...0)
其中,b1、b2和bn不全为零;在稀疏求解的过程中,选用omp算法求解某样本的稀疏表示系数,同时将稀疏度k设置为1,便于轴承故障的分类;
s42、测试样本集在组合字典下的稀疏表示系数矩阵β的求解为:
其中,m表示测试样本集中样本的个数。
与现有技术相比,本发明具有以下有益效果:
本发明可以在某一程度故障数据学习训练的基础上实现对其他程度故障类型的识别,减少了模型训练过程中所需的数据量,降低了训练的复杂度。
本发明的轴承故障识别方法首先利用k-svd算法训练某一故障程度下各故障类型数据的学习字典,并将得到的字典组合成新字典,然后求解测试样本集在该字典下的稀疏表示系数矩阵,根据其中非零系数在各故障类型区域的分布概率进行故障类型的判断。为进一步提高故障识别的准确性,在求解测试样本集的稀疏表示之前,使用奇异值分解的方法对待测信号进行去噪预处理,该方法可以有效识别其他故障程度下的故障类型。而且训练过程无需大量的轴承故障数据,训练过程计算量小,所用时间较短,而且识别的准确度高,简单易行。
附图说明
图1是本发明的基于学习字典与奇异值分解的滚动轴承故障识别方法的流程图;
图2是学习字典训练过程中迭代次数与信号间均方根误差的关系图;
图3a原始信号时域波形图;
图3b是利用学习字典重构的信号时域波形图;
图4是组合字典中部分字典原子的示意图;
图5a是未进行奇异值分解去噪时各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图5b是未进行奇异值分解去噪时各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图5c是未进行奇异值分解去噪时各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图5d是未进行奇异值分解去噪时各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图5e是未进行奇异值分解去噪时各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图5f是未进行奇异值分解去噪时各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图6a是奇异值分解去噪后各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图6b是奇异值分解去噪后各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图6c是奇异值分解去噪后各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图6d是奇异值分解去噪后各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图6e是奇异值分解去噪后各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况;
图6f是奇异值分解去噪后各测试样本集稀疏表示系数矩阵中非零系数在各区域的分布概率情况。
具体实施方式
以下将结合附图详细说明本发明的示例性实施例、特征和性能方面。
如图1所示,本发明提供一种基于学习字典与奇异值分解的滚动轴承故障识别方法,其具体包括以下步骤:
s1、将正常轴承的振动信号以及某一故障程度下的内环故障、外环故障和滚动体故障类型的振动信号各自进行分割截取,构建他们各自的训练样本集;构建的训练样本集包括三个参数:单个样本长度l、平移参数τ以及训练样本个数n,单个样本长度l由轴承振动信号的采样频率fs与轴承故障的特征频率f确定,具体为:
l≥fs/f
在确定样本长度l时,轴承故障的特征频率f为内环、外环和滚动体故障特征频率三者中的最小值;
平移参数τ和训练样本个数n结合原始振动信号长度与单个样本的长度l确定。
s2、利用k-svd方法分别对上述4个训练样本集进行训练,得到它们各自的学习字典,并将4个字典组合成新的组合字典,具体为:
s21、利用k-svd方法得到学习字典:
以正常轴承为例,字典学习的数学描述表示为:
其中,d1=[d1,d2...dp]∈rm×p为学习字典,di∈rm×1为字典的第i个原子且p>>n,其中,p、m和n均为实数,p表示学习字典中原子的个数,n表示稀疏表示系数的个数;a1=[α1,α2...αn]∈rp×n为训练样本集x1在学习字典d1下的稀疏表示系数矩阵,αi∈rp×1为某单个样本xi的稀疏表示系数;k为稀疏度;||·||f表示矩阵的f范数,
字典学习需要同时求解字典d1和稀疏表示系数矩阵a1,k-svd方法先初始化字典d1,然后求解样本集在学习字典d1下的稀疏表示系数矩阵a1,该过程用表达式表示为:
在得到稀疏表示系数矩阵a1之后,再对学习字典d1进行更新,更新过程表示为:
k-svd方法采用逐个原子跟新的方式来实现整个字典的更新,当对字典的第i个原子,即第i列进行更新时,需要将
e′l=usvt
更新完成后,字典原子di=ui,ui为左奇异阵u的第一列,而非零系数向量
s22、构建组合字典:
组合字典d的表达式为:
d=[d1,d2,d3,d4]。
s3、对某待测振动信号进行奇异值分解去噪处理,并构建去噪信号的测试样本集:
进行奇异值分解去噪的方法为:
对于任意一个m×n矩阵z,可以通过奇异值分解的方法将其分解为3个矩阵相乘的形式:
z=usvt
其中,u和v分别代表m×m和n×n的正交矩阵,它们又称为左右奇异阵,s=diag(λ1,λ2,...,λk,0...)代表一个m×n的对角矩阵,λ1、λ2、λk为矩阵z的奇异值,并且满足λ1≥λ2≥...≥λk≥0;
对于一维的振动信号,为了使用奇异值分解方法对其进行处理,需要利用该一维信号构建相应的矩阵;假设振动信号的数字序列为z(i),i=1,2,3,...n,其中n为该一维信号的长度,则构造的矩阵如下表示:
令m=n-n+1,则得到的矩阵z维数为m×n,即z∈rm×n,矩阵z称为重构的吸引子轨迹矩阵;
根据奇异值分解去噪理论:奇异值中前r个较大值代表有用信号,而剩余较小值代表噪声信号,因此可以去除若干较小奇异值,然后按照奇异值分解的逆过程得到去噪后的矩阵
s4、设定稀疏度,利用omp算法求解测试样本集在组合字典下的稀疏表示系数矩阵:
s41、单个测试样本稀疏表示系数的求解为:
有某故障程度下内环、外环、滚动体三种故障类型的轴承振动数据以及正常状态下轴承的振动数据,它们的稀疏表示相关信息如表1所示。
表1四种类型振动数据的稀疏表示相关信息
某单个测试样本在组合字典d下的稀疏表示可以用β0表示:
β0=(a1...an,b1...bn,c1...cn,d1...dn)
理想情况下,样本x在组合字典d的稀疏表示中非零稀疏应全部出现在样本所属的故障类型区域,而其他区域的元素均为零,如内环故障信号在字典d下的稀疏表示应为:
β0=(0...0,b1...bn,0...0,0...0)
其中,b1、b2和bn不全为零;在稀疏求解的过程中,选用omp算法求解某样本的稀疏表示系数,同时将稀疏度k设置为1,便于轴承故障的分类;
s42、测试样本集在组合字典下的稀疏表示系数矩阵β的求解为:
其中,m表示测试样本集中样本的个数。
s5、在获得稀疏表示系数矩阵之后,统计稀疏表示系数矩阵中非零系数在各故障类型区域出现的概率,其中a、b、c以及d分别表示正常区域、内环故障区域、外环故障区域以及滚动体故障区域,非零系数出现概率最大区域的故障类型为待测振动信号的故障类型。
实施例1
以美国某大学轴承数据为例,说明基于学习字典与奇异值分解的滚动轴承故障识别的实现方法:
(1)实验数据
本次实验的实验数据来源于某大学的滚动轴承故障模拟平台,该平台利用电火花技术在滚动轴承上人为制造单点故障,故障直径分别为0.007、0.014、0.021英寸,本实验依次将其定义为轻度、中度、重度故障,其中每种程度的故障数据都包含多种故障类型,另外还有正常状态下的轴承振动数据,所用数据的列表如下:
表2实验数据信息表
(2)训练样本集的构建以及学习字典的生成
本实验分别利用轻度故障和正常状态下的数据构建训练样本集,其中训练样本长度l=400,平移参数τ=20,样本集的样本个数n=5000。
在获得上述4个训练样本集之后,利用k-svd算法分别训练4个样本集的学习字典,训练过程中将系数度k=1,迭代次数t=150。图2是字典训练过程中迭代次数与信号间均方根误差的关系图,可以发现,当迭代次数达到某一数值之后,均方根误差再无明显变换。图3a是原始信号时域波形图,图3b是利用学习字典重构信号的时域波形图,对比两图可以看出,利用学习字典作为稀疏变换字典具有较好的重构效果。
然后将上述的4个学习字典组合成新的组合字典d,图4是组合字典d中部分原子的示意图。
(3)奇异值分解去噪和测试样本集的构建
本部分利用奇异值分解的方法对表2中剩余的6组数据进行奇异值分解去噪,然后利用去噪后的数据构建6个测试样本集,在本实验中,测试样本集的长度为400。
(4)稀疏表示系数矩阵的求解和故障类型的判断
为验证奇异值分解对故障识别准确率的提高,本实验首先直接利用待测信号构建测试样本集,求解其在组合字典d下的稀疏表示系数矩阵,求解过程中将稀疏度设置为1,并对其中非零系数出现在各故障类型区域的概率进行统计,图5a-图5f是未进行奇异值分解去噪时各测试样本集的稀疏表示系数矩阵中非零系数在各区域的分布情况。
对图5a-图5f进行分析,观察最大概率值对应的区域,依次将测试数据(a)、(b)、(c)、(d)、(e)、(f)判断为内环故障、滚动体故障、外环故障、内环故障、滚动体故障以及外环故障。
然后求解去噪后测试样本集在组合字典d下的稀疏表示系数矩阵,然后对其中非零系数在各故障类型区域的分布情况,其结果如图6a-图6f所示。根据图6a-图6f对测试数据的故障类型进行判断,判断结果与图5a-图5f的结果相同,这里不再重复叙述。
(5)实验结果分析
已知各测试数据的来源,其中测试数据(a)为中度内环故障、测试数据(b)为中度滚动体故障、测试数据(d)为重度内环故障、测试数据(e)为重度滚动体故障、测试数据(c)和(f)为重度外环故障。
将轴承故障的诊断结果与各测试数据的来源进行对比可以发现,诊断结果与轴承的实际故障类型相符合,这证明了学习字典在轴承故障诊断方面的可行性。
表3稀疏表示系数矩阵中非零系数分布在对应故障类型区域的概率
另外,对奇异值分解去噪前后非零系数分布在对应故障类型区域的概率进行对比,其结果如表3所示。可以发现奇异值分解去噪后,非零系数分布在对应故障类型区域的概率明显增加,表明了奇异值分解去噪可以明显提高学习字典在轴承故障诊断方面的准确性。
综上所述,基于学习字典与奇异值分解的滚动轴承故障识别方法,首先构建某一故障程度下几种故障类型数据以及正常轴承振动数据的训练样本集,随后利用k-svd算法训练它们各自的学习字典,并将其组合成新字典,然后利用奇异值分解的方法对待测数据进行去噪,构建去噪后信号的测试样本集,最后求解测试样本集在组合字典下的稀疏表示系数矩阵,根据其中非零系数在各故障类型区域的分布情况进行轴承故障类型的判断。本方法对滚动轴承的故障识别具有重要意义。
最后应说明的是:以上所述的各实施例仅用于说明本发明技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。