APP下载

一种基于压缩感知的故障诊断方法∗

2019-06-01训李鉴孙

计算机与数字工程 2019年5期
关键词:范数向量故障诊断

许 训李 鉴孙 罡

(1.中国电子科技集团公司第三十研究所 成都 610000)(2.电子科技大学信息与通信工程学院 成都 612731)

1 引言

故障诊断的目的是根据观测数据来确定系统是否存在故障节点,如果存在,需要进一步确认故障节点的数量和位置。在航空航天、工业过程控制、汽车系统、计算机系统、无线通信网络等领域都具有重要应用。考虑到实际情况,我们能够得到的观测数据往往小于系统内的节点数量,所以故障诊断问题可以抽象成一个欠定方程的求解问题。如果继续考虑到节点发生故障是一个小概率事件,那么故障状态向量则具有稀疏性,可以借助压缩感知的方法来完成。

近年来,出现了不少利用压缩感知来实现故障诊断的论文,并且取得了一些研究成果。利用压缩感知提出了一种针对带噪声干扰的情况下电气系统的故障诊断问题的解决方法[1];基于压缩感知框架下压缩采集的信号,提出了一种能够在降低平均采样速率的同时用更少的数据量表现故障特征,实现故障诊断的方法[2];提出了一种基于压缩感知和深度学习理论,利用随机高斯矩阵实现轴承信号的变换域压缩采集的轴承故障诊断方法[3],能够实现对不同故障位置和缺损程度的故障特征自动提取与准确故障诊断;利用压缩感知实现的建筑电气系统故障诊断方法,能够满足小样本数据的建筑电气故障诊断工程应用的需求[4];基于压缩感知理论,开展的振动信号稀疏采样重构方法、故障特征压缩检测方法以及多源耦合信号分离与诊断信号的研究[5]。利用压缩感知实现在旋转机械远程故障诊断中的应用[6]。对于系统节点只具有正常或者故障两种状态的常态情况时,当前对于二值故障状态向量的研究大多只利用单范数考虑到了故障状态向量的稀疏性,而忽略了故障状态向量的二值性。本文提出一种利用ℓ1,ℓ∞范数混合优化的方法,既保证了故障状态向量的稀疏性,又同时考虑到了故障状态向量的二值性,并且方法也对故障状态向量的稀疏度依赖程度也得到了极大的优化。

2 理论基础

压缩感知理论是由 David L:Donoho[7],Emmanuel Candes,Justin Romberg 和 Terence Tao[8]等提出的,其基本思想是,原始信号经过某一变换(小波变换、傅立叶变换等)使其在某一正交空间具有稀疏性,再乘以一个投影矩阵(测量矩阵),便得到压缩后数据,可以用于进行存储、传输等。而解压过程,则可表示为根据压缩数据和压缩矩阵求欠定方程最稀疏解问题。

x代表原始信号的稀疏表示,y代表压缩数据(观测信号),A代表投影矩阵,压缩感知问题即可表示为

这是一个NP难问题,具有指数复杂度,Terence Tao在文献[9]中指出,当观测矩阵A满足限制等距性质(RIP),即存在常数 δs∈(0,1)使

就可将上述非凸问题松弛为

从而可以利用凸优化的方法进行求解。

3 数学模型

结合故障诊断的实际问题,本文主要考虑二值故障状态向量所对应的数学模型。

假设系统一共有N个节点,x∈χN表示系统故障状态向量,χ为系统分状态可能的取值,一般情况下 χ={0,1},0表示正常工作,1表示存在故障;如xi=1表示系统第i个节点故障,xi=0表示系统第i个节点正常工作。同时,节点发生故障的概率为 p,且某节点是否发生故障不受其他节点状态影响,即xi独立同分布于Bernuolli(p)。

y∈RM表示观测数据,M<N;ω∈RM表示观测噪声,通常为高斯噪声,ωi相互独立且和x也相互独立,可以假设ωi~Normal(0,σ2ω);A∈RM×N表示故障观测矩阵,为了使矩阵满足RIP性质,我们选择Gaussian随机矩阵作为观测矩阵,即A所有元素aij独立同分布于Normal(0,1/M)。故障诊断的线性测量模型可以表示为

观测数据 y和观测数据A已知,需要求解状态故障向量x。

考虑到系统节点发生故障是一个小概率事件(p<0.1),故障状态向量x具有稀疏性,进一步考虑到xi智能取0或1,可以设计如下目标函数:

其中,||x||1保证了 x的稀疏性,而||x-0.5||∞保证了x的二值性[10],显然目标函数是一个凸函数,可以利用凸优化的方法解决该问题,具体实现步骤将在第四节中详细论述。

4 算法实现

考虑用内点法[11]来处理式(5),将不等式约束的优化问题转换为形式如下的无约束优化问题:

从式(6)中可以看出,当x在式(5)的约束范围以外时,目标函数的值会趋于无穷。γ是惩罚因子,在迭代过程中会逐渐变小,当γ取很小时,式(6)和式(5)的解十分接近。进一步考虑用ℓp范数逼近的方法来处理 λ||x-0.5||∞[12],式(6)又可以进一步写成如下形式:

随着 p的逐渐增大,式(6)的解将会逐渐逼近式(5)的解。而式(6)则可以通过牛顿迭代来求解,需要求取优化目标的梯度以及Hessian矩阵。令

优化目标可以写成

梯度如下:

具体实现步骤如下:

1)数据初始化:迭代初值xiter=AT(AAT)-1y,p的初始值、步长、上限值分别为 pmin、Δp、pmax,惩罚因子 γ的初始值为 γ0,衰减系数 γ-∈(0,1);

2)进行n次牛顿迭代(无论是否收敛),具体步骤如下:

3)更新:xiter=x*,p=p+Δp ;

4)判断条件:p<pmax,如果成立则返回2),否则继续进行下一步;

5)牛顿迭代,具体步骤如下:

上面方法步骤2)中,牛顿迭代没有必要一定要出目标函数的最优解,只要进行固定次迭代,能够保证算法正常进行即可。参数λ表示ℓ∞范数项的权重,λ越小,表示目标函数中ℓ∞范数项所占比重越小,ℓ1范数项所占比重越大,得到的优化结果就越偏重于稀疏性约束。λ越大,表示目标函数中范数项ℓ∞所占比重越大,ℓ1范数项所占比重越小,得到的优化结果就越偏重于有限字符集约束。

本文希望得到一个同时受稀疏性和有限字符集约束的优化结果,并且两个约束程度应该比较接近。将原始信号x带入目标函数,可以得到 ℓ1范数项的值约为几十(跟故障概率有关),ℓ∞范数项的值为0.5λ,希望二者是一个数量级,故本次试验考虑取λ=100。

经过上面一系列计算,可以得到一个初步的故障状态向量xiter,这并不是一个二值向量,其中几乎都是小数,严格为0或者严格为1的部分很少,所以需要想办法将xiter进行二值化,从而得到最终结果。

本文首先考虑了两种二值化的办法。最简单的一种是,直接设定一个硬阀值如0.5,将xiter大于阀值的部分置1,小于的部分置0。这种做法很简单,在噪声较小如SNR=1000的时候,能取得不错的效果。但噪声增大以后,效果很差,并且硬阀值具体取多少很难确定。

另一种是,简单的认为xiter中值越大的位置,为1概率越大,如果原始信号的稀疏度K已知,那么可以将xiter中最大的K位置1,其余的全部置0。这种方法比第一种效果要好很多,在仿真试验中,采用这种方法进行二值恢复,大概能够有90%的概率完全恢复出原始信号。(在故障概率 p=0.05,SNR=10的情况下,重复仿真100次,能够完全恢复x90次)但是这种方法需要对先对稀疏度即故障个数进行估计,虽然稀疏度K的估计并不难求,且在能够获得多次观测数据的情况下估计的准确率很高。

本文进一步考虑,提出一种更好的且不用顾忌系数度K的二值化办法。可以借助正交匹配追踪算法[13~15]将现行观测方程 (4)写成如下形式:

其中Γ表示x的支撑集,ai为观测矩阵A的列向量,也称原子。

上面说过,可以简单地认为xiter中值越大的位置,为1的概率越大,可以先构造一个所有元素均为0的N维列向量x*。

将 x*的 k1位置1,假设ki表示 xiter中第i大元素所在位置,k1即表示xiter中最大元素所在位置。如果k1∈Γ,

由于aij独立同分布于 Normal(0,1/M),wi独立同分布于Normal(0,σ2w),根据式(20)可以推出此时r中每一个元素ri独立同分布于Normal{0,(k-1)/M+a2w}。

如果k1∉Γ

同理可知,r中每一个元素ri独立同分布于

可以发现,如果将支撑集中的元素置1,r的方差会变小,由于r中每一个元素ri独立同分布于某一均值为0的正态分布,可以将r看作该正态分布的观测样本,r的方差看作样本方差,为分布方差的无偏估计量,可以依此设计如下二值化算法。

1)数据初始化:x*=0,ki,i=1,其中i只取到n,n表示xiter大于0的元素个数;

2)计算置1前的方差sbefore=sd(y-Ax*),sd表示计算方差函数;3)置1后并计算置1后的方差:

4)判断条件:safter<sbefore,若满足则继续下一步,若不满足则令=0后继续下一步;

5)如果 i=<n,i=i+1,返回步骤2),否则停止跌单。

该算法经测试十分有效,完全恢复率在97%左右,(在故障概率 p=0.05,SNR=10的情况下,重复仿真100次,能够完全恢复x97次),比稀疏度已知的时候还要高。

将ℓp逼近的牛顿迭代算法和上述二值化办法结合,即可通过观测值求出故障状态向量x。

5 仿真与结果分析

本节将利用Matlab会对前文所设计的算法HybirdOptimize,进行仿真测试并且将与利用OMP和MAP-OMP算法进行压缩感知的支撑恢复实现故障诊断方案进行对比。

图1表示不同故障概率下,算法对故障状态向量的恢复效果(信噪比SNR=10)。其中a的横坐标表示发生故障的概率,纵坐标表示完美诊断的概率,完美诊断代表通过算法推断出的状态故障向量和真实的状态故障向量完全一样。b的纵坐标表示平均每次试验中,发生错误诊断的节点个数,可以用下式表示。

n表示试验次数,实验共进行了1000次仿真,n=1000。通常情况下,信号的恢复效果,还需要用均方误差(MSE)来衡量,但是考虑到x的二值性,均方误差(MSE)和错误诊断数量(QWD)只相差一个N的倍数而已。

图1 故障概率对故障诊断效果的影响

由图1可以看出ℓ1,ℓ∞范数混合优化的效果最好,尤其是在稀疏度较高的时候,其对故障状态向量的恢复效果要优于用OMP和MAP-OMP来进行支撑恢复的方法。

图2表示不同信噪比下,算法对故障状态向量的恢复效果(故障概率p-fault=0.05)。其中a,b纵坐标含义与图1相同,横坐标则表示信噪比。

图2 信噪比对故障诊断效果的影响

由仿真结果可以看出,ℓ1,ℓ∞范数混合优化在噪声较大的情况下,效果并不理想。其原因是在设计目标函数的时候,并没有考虑对噪声的抑制,只有在二值化的过程中稍微考虑的噪声的影响,所以其抗噪能力较弱,这也是需要继续研究提高的地方。

6 结语

对于二值故障状态向量来说,ℓ1,ℓ∞范数混合优化能够取得非常好的效果。并且,ℓ1,ℓ∞范数混合优化算法有一个很大的优势是,它不需要事先知道故障状态向量x的稀疏度K就能取得很好的效果,这是MAP-OMP和OMP很难做到的。从空间复杂度和时间复杂度来说,本文所涉及的算法比起支撑恢复算法也要稍显复杂一点,因此算法很多部分还值得继续探究。

猜你喜欢

范数向量故障诊断
比亚迪秦EV充电系统故障诊断与排除
基于神经网络的船舶电力系统故障诊断方法
迈腾B81.8T起动机无法启动故障诊断分析
向量的分解
基于同伦l0范数最小化重建的三维动态磁共振成像
聚焦“向量与三角”创新题
基于加权核范数与范数的鲁棒主成分分析
向量垂直在解析几何中的应用
基于非凸[lp]范数和G?范数的图像去模糊模型
向量五种“变身” 玩转圆锥曲线