戴洪德,陈强强,戴邵武,朱 敏
(1.海军航空大学 航空基础学院,烟台 264000; 2.海军航空大学 岸防兵学院,烟台 264000)
随着科技的发展,航空发动机等机械设备在民用及军用中占据着较大的比重并发挥着重要的作用。滚动轴承是各类机械设备的“基石”,其运行状态对整个设备的性能而言至关重要。因此,为了提高机械设备的稳定性与可靠性,实现对机械设备的故障诊断具有重要的理论意义和实际意义。
随着非线性理论的深入发展,许多非线性方法被应用于机械设备的故障诊断。Logan通过对关联维数进行展开研究,并成功将其运用于滚动轴承故障分析[1]。文献[2]结合经验模态分解,利用分形维数对转子系统故障诊断进行了研究分析。文献[3]结合非线性理论,将混沌和Lyapunov指数等理论进行结合,实现了汽轮发动机的故障诊断。文献[4]提出了近似熵概念,并将其应用于机械系统的健康状态管理。然而,在这些非线性理论中,如分形维数、近似熵等研究方法存在着计算量过大,运行速度较慢等缺点,而Lyapunov等理论存在着精度不高等缺点,这在一定程度上制约了其发展。
排列熵(Permutation Entropy,PE)由Bandt和Prompe提出[5],最早应用于检测时间序列的随机性和动力学突变行为[6]。文献[7]通过对信号进行排列熵分析,证明了通过排列熵可有效放大各信号的动态变化,从而实现不同状态下滚动轴承的状态分析。文献[8]将排列熵应用于转子碰摩数据,并成功实现转子碰摩数据的故障诊断。文献[9]将排列熵概念引入至肌电信号的分析中并取得了很好的效果。但排列熵理论只是用于检测时间序列在单一尺度上的随机性和动力学突变,在精密的机械系统中,故障数据可能较为复杂,此时单一的排列熵无法保证信息的完整性,无法实现准确的特征提取。
为提升排列熵的性能,在排列熵的基础上,文献[10]提出了多尺度排列熵(Multiscale Permutation Entropy,MPE)的概念,衡量了时间序列在不同尺度下的复杂性与随机性。文献[11]提出了复合多尺度熵(Composite Multiscale Entropy,CMSE),通过对同一尺度下的不同时间序列的样本熵值进行均值处理以得到特征信息。然而,多尺度化的不足之处在于基于粗粒化方式定义的多尺度计算方法依赖于时间序列的长度。随着粗粒化序列长度的改变,熵值也会发生变化。第二点不足之处在于,无论是PE、MPE以及CMSE,在计算过程中都需要确定嵌入维数、时间延迟等参数。这些参数的选择对于熵值的计算影响较大且一般均通过经验选取,这在一定程度上影响着算法的自适应性,不利于后续故障维护工作的进行。
基于上述原因,本文提出了一种新的衡量时间序列复杂程度的方法—样本分位数排列熵,并将其运用于滚动轴承非线性故障特征提取。通过引入样本分位数概念于排列熵计算中,克服了排列熵及其他熵值计算中的参数选择问题,有效提高了故障特征提取的自适应性;同时利用实验数据进行验证,在相同实验条件下,样本分位数排列熵方法能够有效提取出不同故障数据的特征,实现了滚动轴承故障类型的区分,是一种新型有效的故障诊断特征提取方法。
针对长度为N的时间序列{x(i),i=1,2,…,N},对x(i)进行相空间重构[12]:
(1)
式中:m为嵌入维数,τ为延迟时间,k=N-(m-1)τ为重构向量的个数。
将Xj中的元素按升序排列得:
x[i+(j1-1)τ]≤…≤x[i+(jm-1)τ]
(2)
式中:j1,j2,…,jm为各元素在排序之前位于相空间所在列的索引。
若Xj中有两元素相等,则按原始顺序排列。通过对相空间重构后的时间序列分析,对于任意一个Xj,均能得到相应的符号序列Sl={j1,j2,…,jm},其中,l=1,2,…,k,且k≤m!。可定义排列熵为[13]:
(3)
(4)
此时,Hp的取值为[0,1],可反映出时间序列的复杂度。Hp越大,则序列复杂程度越高。
在排列熵计算过程中,嵌入维数m和时间延迟τ的取值是计算中的主要参数。一般情况下均根据经验取得:若m取值过小,则重构向量所包含的状态信息过少,导致不能完全反映系统特征,从而失去算法意义;若m取值过大,则时间序列被均匀化,此时不仅扩大了计算量,时间序列的微小变化也会被忽略[14]。排列熵算法参数的选择,在一定程度上制约了其算法的有效性。
目前文献对于排列熵算法中参数的选择,一般通过经验获得。通过以往学者的多次仿真实验,认为时间序列长度N越小,m取值越小[15];对于长度大于1 024的数据,通常选取嵌入维数m=6。而τ对计算的影响较小,一般取τ=1。这种经验选取方式不具有普适性,不利于故障特征提取。
文献[16]对排列熵算法的参数优化进行了系统的分析,提出了利用重构时间序列最佳相空间的方法来确定模型参数,并介绍了m和τ独立确定和联合确定的方法。但其局限之处在于一是增加了计算量及复杂程度,二是在于未能本质上改变排列熵对于复杂信号的特征提取能力。排列熵的扩展形式如多尺度排列熵、复合多尺度熵在确定参数m和τ之外还需考虑粗粒化因子的大小,为确定输入参数增加了难度。为了提高排列熵对于复杂信号的特征提取能力,同时避免参数选择的困难,本文提出了一种新的方法-样本分位数排列熵。
分位数将一个随机变量的概率分布范围分为等份的数值点,不考虑时间序列x(i)的时间维度特征,直接有效的刻画信号时间序列数据波动的特征[17]。排列熵信号数据没有明显的周期性及变化规律,因此,可采用分位数特征提取对排列熵值的内部特征进行深度挖掘。
设X1,X2,…,Xn为来自某总体的一个样本,定义次序统计量为X(1)≤X(2)≤…≤X(n)。该样本的p分位数可定义为[18]:
(5)
式中:[·]表示取整运算符号。p∈(0,1),常用的有0.25分位数及0.75分位数[18],本文选择0.75分位数进行数据分析。
通过公式的分析可知,样本分位数具有计算简单、运算量小等优势。且样本分位数是一个非参数统计量,可以在缺乏总体分布先验信息的情况下,准确反映出数据在某一分位数点的聚集特征。
结合样本分位数具有对极值点不敏感的特征,可在一定程度上缓解由于嵌入维数m选择过大或过小而对排列熵值造成的影响。同时,样本分位数克服了排列熵计算过程中所出现的离群点,提高了利用样本分位数进行排列熵值提取的能力。
结合样本分位数原理与排列熵定义准则,定义样本分位数排列熵SQPE为:
(1) 针对时间序列x(i),结合排列熵定义,计算其在不同嵌入维数m下的PE值,构建由原始时间序列的不同嵌入维数下的排列熵值所组成的向量,记为:
T=[PE1,PE2,…,PEn]
(6)
式中:结合故障诊断背景,不同的故障状态对应不同的时间序列,因此可将不同故障状态下的向量T进行细致划分,如Tnorm、Tfault。
(2) 针对向量T,对其进行样本分位数求解,得到向量T对应的样本分位数:
SQT=quantile(T)
(7)
式中:quantile表示公式(5)中的样本分位数计算过程,为样本分位数求解的Matlab函数实现。
(3) 利用不同状态下的样本分位数排列熵SQT*(i),构建故障诊断特征向量集,采用分类算法实现故障诊断。其中,*和i分别代表不同状态下不同序列的样本分位数排列熵值。
通过样本分位数排列熵算法,可以提高对复杂故障信号的特征值提取能力,通过对样本分位数排列熵所构建的特征向量进行训练,即可实现故障诊断。基于样本分位数排列熵的故障诊断方法流程图如图1所示。
图1 基于样本分位数排列熵的故障诊断算法流程图
由图1可知,基于样本分位数排列熵算法的故障诊断过程简单,无须参数调整,只需要通过计算不同嵌入维数下,由时间序列的排列熵值所构建的特征量的样本分位数值,即可确定新的特征量,从而构建不同故障状态下的特征信息,在参数选择上具有更好的自适应性,解决了排列熵在应用过程中的复杂性问题,证明了样本分位数排列熵的优越性。下面,通过实验数据以验证样本分位数排列熵对于复杂故障信号的特征提取能力。
为验证样本分位数排列熵在故障诊断方面的可行性,采用滚动轴承试验数据进行算法验证。数据来源为美国Case Western Reserve University的电气工程实验室滚动轴承公开数据集[19]。轴承型号为6205-2RS JEM SKF深沟球轴承,电机负载为735.5 W,轴承转速为1 772 r/min;除正常状态(记为norm)外,三种故障状态分别记为滚动体故障(rolling)、内圈故障(inner)和外圈故障(outer);故障通过电火花技术布置,直径为0.355 6 mm,深度为0.279 4 mm,4种状态的振动信号采样频率为12 kHz;取正常状态、滚动体故障、内圈故障及外圈故障4中状态的样本各30组,数据样本长度为2 048,共计120组数据。
根据文献[12]中训练集及测试集选取准则,选择4种状态下30组数据中的20组作为训练集,余下10组作为测试集,以验证算法的可行性。4种状态下轴承的振动加速度信号,如图2所示。
正常状态
内圈故障
滚动体故障
外圈故障
图2 正常和具有故障轴承的振动信号
首先对图2中的4×30组数据进行排列熵计算,按照文献[12]中的参数选取方法,选择嵌入维数m=6,得到4种状态下分别对应的30个排列熵,分别作为对应样本的特征量,如图3所示。
图3 正常和具有故障轴承的振动信号排列熵
如图3所示,针对本文所选择的实验数据,正常状态下滚动轴承的振动信号排列熵值较小,与其他3种故障状态具有较为明显的区别。结合排列熵度量时间序列复杂程度的特性[12],这是因为当滚动轴承发生故障时,信号的随机性发生改变,振动信号的动力学行为也发生了较大突变,从而导致熵值变大。但如果选择排列熵作为特征量,正常状态和滚动体故障状态具有明显特征,而内圈故障和外圈故障则不易区分。为了对比说明样本分位数排列熵的优越性,下面统一选择同一种分类方法即支持向量机(Support Vector Machine,SVM)分类器对训练集进行训练(其中标签1,标签2,标签3,标签4分别对应正常状态、内圈故障、滚动体故障及外圈故障);其中,训练集的输入为训练样本的排列熵值,输出为训练样本对应的标签值,将待识别的测试集放入SVM分类器中进行识别验证,识别输出结果如图4所示。
图4 故障分类结果(PE)
如图4所示,结合图3结果进行分析,测试集的分类精度为85%(34/40),其中,被错分的6个样本分别为标签2和标签4,即对应内圈故障和外圈故障,这与图3中的分析一致,反映出排列熵算法在复杂信号特征提取方面的不足。
为验证样本分位数排列熵的有效性,选择相同的样本作为训练集和测试集,分类器选择SVM进行故障诊断。
针对选择的120个数据集,在样本分位数排列熵计算过程中,无需确定嵌入维数大小,直接计算其在不同嵌入维数下的排列熵大小(本文选择m=2,3,…,8),则每一个数据序列得到其对应的不同嵌入维数下的排列熵向量T=[PE1,PE2,…,PE7]。
对得到的样本分位数排列熵向量T,计算其样本分位数值,得到SQT=quantile(T)。用得到的样本分位数排列熵SQT代替排列熵,作为新的特征量并组成特征向量,用于后续的测试集分类,以验证样本分位数排列熵在故障信号特征提取方面的优势。其中,训练集的输入为训练样本的样本分位数排列熵值,输出为训练样本对应的标签值,将待识别的测试集放入SVM分类器中进行识别验证。采用样本分位数排列熵对4×30组数据进行特征提取的结果,如图5所示。
图5 正常和具有故障轴承的振动信号样本分位数排列熵
Fig.5 The sample quantile permutation entropy of vibration signals from the normal and fault bearing
如图5所示,样本分位数排列熵仍保留着如图3所示的信号基本信息,即正常状态下滚动轴承的振动信号熵值较小,遵循了信号的基本内部信息。所不同的是样本分位数排列熵更加明显的刻画了时间序列内部波动的特征,准确的反映出由不同嵌入维数下的排列熵所组成的样本的聚集特征,将不同故障下的状态信息更加明显的区分出来。选择SVM分类器对训练集进行训练,最后将测试集放入SVM分类器中进行识别验证,识别输出结果如图6所示。
如图6所示,结合图5结果进行分析,测试集的分类精度为100%(40/40),其中,选取排列熵作为特征量时被错分的6个样本均完全识别,这与图5中的分析一致,反映出样本分位数排列熵算法在复杂信号特征提取方面的优势,论证了样本分位数排列熵的有效性及可行性。
图6 故障分类结果(SQPE)
本文结合样本分位数与排列熵原理,提出了样本分位数排列熵概念,并将其应用于滚动轴承故障数据诊断。排列熵可用于信号的随机性及动力学突变性的检测,在多个领域均有应用,但受限于振动信号的不同尺度下动力学突变,在滚动轴承故障诊断方面表现较差。本文采用样本分位数原理提取滚动轴承故障数据排列熵的特征,构建基于样本分位数的排列熵信息作为故障特征。并将其作为特征量输入SVM分类器,实现滚动轴承的故障诊断。在同等条件下,采用SVM分类器进行对比验证,实验结果表明:
(1) 相比排列熵算法而言,样本分位数排列熵方法无需确定参数,只需提取不同嵌入维数下排列熵值的样本分位数,即可提取出故障诊断所需的特征量,算法具有较好的自适应性,有效提高了排列熵算法的应用范围。
(2) 在同等条件下,采用样本分位数排列熵方法可以有效提取出不同状态下的特征信息,识别率由85%提高至100%,有效实现了对滚动轴承故障数据的诊断。
(3) 样本分位数排列熵方法计算简单,理论清晰,具有一定的工程实践意义。