一种基于二进制模式和PBA-ANN的电机故障诊断方法
未命名
07-27
阅读:79
评论:0
一种基于二进制模式和pba-ann的电机故障诊断方法
技术领域
1.本发明涉及电机故障诊断技术领域,具体涉及一种基于二进制模式和pba-ann的电机故障诊断方法。
背景技术:
2.感应电机是工业领域中经常用到的设备。但在,使用过程中,如果操作不当或电机长时间运行会导致其发生故障。一般情况,常见的电机故障有机械故障和电源故障。机械故障通常又分为线圈位移故障、轴承故障、动态和静态偏心故障。电气故障分为绝缘故障、定子故障、转子棒断裂故障和磁路故障等。这些故障的发生会直接导致工业生产的停滞,因此,早期的电机故障检测对工业生产具有很大的促进和辅助作用。
3.在以上故障中,最为常见的是定子故障、转子故障和轴承故障。对于这些故障类型的检测,一般会使用振动、电流、电压、声音和热图像的检测方法。除此以外,基于机器学习的方法也已经被用于确定各种故障的类型。例如,一些学者提出检测电机转子、定子故障的方法,使用电流和振动传感器检测轴承和偏心故障。还有学者提出基于电流、电压的定子和转子故障检测方法,使用电流信号检测感应电动机的轴承故障。除此以外,也出现了使用声学信号和振动信号来检测电机故障的方法。例如,通过使用速度为0.8kw的感应电机获得转速、声学、电流、电压和振动信号,用于辨别电机转子和轴承故障。对于故障分类算法,目前,神经网络已经被用于故障诊断的过程中,例如,有学者提出基于lstm神经网络的三相感应电动机的转子和轴承故障检测方法。通过收集六个不同位置的电机状态样本数据,使用振动传感器对电机进行状态检测,利用长短期记忆(lstm)深度分类方法来完成分类。
4.对于上述的电机故障诊断的方法虽然比较多,但是,总体来看,以上的方法的故障诊断精度有限,且操作复杂。另一方面,在故障诊断中,涉及到深度学习算法,这是一种新兴的人工智能的分支,在故障诊断中发挥了重要作用,在分类算法方面,不合适的深度学习算法只会增加诊断的复杂度,且诊断精度有限。始终需要选择更为合适的深度学习算法,从而有效完成针对不同电机故障类型的分类。另外,特征参数的选择是深度学习应用的主要关注点之一,若不对特征参数进行有效的选择,其会对诊断结果有较大的影响的同时还增加了深度学习算法训练的复杂度。
技术实现要素:
5.发明目的:针对传统的电机故障诊断方法的精度有限且操作复杂的问题,提出一种基于二进制模式和pba-ann的电机故障诊断方法,可以实现对五台感应电机状态的正确诊断,包括一个健康电机、一个转子棒断裂故障、两个转子棒断裂故障、三个转子棒断裂故障、一个轴承故障,能实现对电机故障的有效判别。
6.技术方案:本发明公开了一种基于二进制模式和pba-ann的电机故障诊断方法,包括以下步骤:
7.步骤1:对电机故障数据进行采集,建立两种电机故障的声音数据集,即近故障声
音信号数据集、远故障声音信号数据集;
8.步骤2:基于dwt与1d-bp技术,利用多级一维离散小波变换1d-dwt技术对电机故障声音信号进行分解和降噪,获得电机故障的原始特征信号;采用1d-bp方法完成对电机故障信号的特征提取,并使用近邻成分分析法nca完成对电机故障特征的有效选取;
9.步骤3:基于pba-ann深度学习进行电机故障诊断分类,通过pba算法优化ann的权重,建立pba-ann分类模型,并将其应用于电机故障的诊断中。
10.进一步地,所述步骤1中对电机故障数据进行采集,具体步骤如下:
11.步骤1a:确定并产生故障类型,包括一个健康电机和四个故障电机,共有4种故障类型,即一个转子断条故障、两个转子断条故障、三个转子断条故障以及轴承故障;
12.步骤1b:采集电机故障数据,建立并存储故障声音数据集
13.录制电机故障声音数据,对五种不同故障条件下的电机的声音信号进行录制,完成两种情况下的实验数据的采集;其一是近程故障声音采集;其二是远程故障声音采集;最后,每秒采样44000个实验样本,从而建立两种电机故障的声音数据集,即近故障声音信号数据集及远故障声音信号数据集,将声音数据分成1秒样本,作为声音样本,并将声音数据进行存储和处理。
14.进一步地,所述步骤2中利用多级一维离散小波变换1d-dwt技术对电机故障声音信号进行分解和降噪,获得电机故障的原始特征信号的过程为:
15.使用多级一维离散小波变换1d-dwt技术,获得电机故障声音数据的频率系数,再进行信号分解;使用小波变换中的symlets 6滤波器完成5个级别的1d-dwt变换,在5个级别上获得5个低通滤波器,多级离散小波变换的数学定义具体如下:
16.[low1,high1]=dwt(vol,sym6)
[0017]
[lowi,highi]=dwt(lo
i-1
,sym6),i=2,3,4
[0018]
dwt(
·
)是1d-dwt函数,symlets 6是所使用的滤波器;由此,通过以上低通滤波器子带和故障声音信号获得电机故障的原始特征信号。
[0019]
进一步地,所述步骤2中采用1d-bp方法完成对电机故障信号的特征提取,在1d-bp中,由于信号是一维的,通过使用长度为9的重叠块来提取其邻域关系;1d-bp由分块处理、生成二进制特征、构建bp信号几个步骤组成,具体步骤如下:
[0020]
(1)采集并加载三相感应电机的故障声音信号;
[0021]
(2)进行分块处理,将故障声音信号分成长度为9的块,具体计算式子如下:
[0022]
block=vol(i:i+8);i=2,
…
,length-8
[0023]
其中,length为信号的采样长度。
[0024]
(3)计算bp位,使用signum函数计算二进制bp位,具体如下:
[0025]
bitsk=signum(blocki,block5);i=1,2,
…
,9;i≠5;k=1,2,
…
,8
[0026][0027]
其中,bitsk是提取的第k个二进制值,x和y是signum函数的输入信号,由此可见,块的每个值与块的第5个值(中心)进行比较,以提取块间的关系;
[0028]
通过以上bp(
·
)函数生成的低通滤波器系数,从原始信号中提取特征信号,具体如下:
[0029]
f1=bp(vol)
[0030]
f2=bp(low1)
[0031]
f3=bp(low2)
[0032]
f4=bp(low3)
[0033]
f5=bp(low4)
[0034]
f6=bp(low5)
[0035]
其中,f1、f2、f3、f4、f5、f6表示每个级别的大小为256的特征;
[0036]
(4)计算十进制的特征值,计算所提取的二进制特征对应的十进制值,具体如下:
[0037][0038]
其中,decval是对应的十进制特征值;
[0039]
(5)特征级联整合,将以上提取的特征进行级联整合,级联过程按照下式完成;
[0040]
ff=conc(f1,f2,f3,f4,f5,f6)
[0041]
其中,ff是最终的特征向量,大小为1536,conc(
·
)是级联函数;
[0042]
(6)归一化处理,对ff的每一列数据进行规一化处理,具体如下:
[0043][0044]
其中,fn是归一化后特征,ff
min
和f
max
是ff的最小值和最大值。
[0045]
进一步地,所述步骤2中利用近邻成分分析法nca完成电机故障特征的选取,随机选择近邻,通过优化留一法的交叉检验结果来求得马氏距离中的变换矩阵,具体如下:
[0046]
(1)计算两个样本之间的马氏距离
[0047]
对于以上获取的n个输入特征样本,x1,x2,
…
,xn,xi∈rd,i=1,2,
…
,n,分别具有类标签c1,c2,
…
,cn,为了找到一种距离使得近邻分类的效果最优,设定马氏距离变换矩阵q是一个对称半正定矩阵,即q=a
t
a,那么,两个样本之间的马氏距离定义为:
[0048][0049]
其中,i=1,2,
…
,n;
[0050]
(2)利用留一法来计算分类误差,引入可微的softmax函数,如下式:
[0051][0052]
p
ij
定义的含义是样本点xi随机选择一个近邻,最终选择另一个样本点xj作为其近邻,并继承其类标签cj的概率,由此,样本xi的正确分类概率为:
[0053][0054]
其中,ci={j|ci=cj};
[0055]
(3)最大化目标函数,完成对特征数据的降维及选取,目标函数是使得正确分类点的数目最大,定义如下:
[0056][0057]
该定义是一个连续可微的矩阵函数,通过最大化该目标函数来完成算法的优化任务,通过共轭梯度法来求取a,共轭梯度计算如下式:
[0058][0059]
其中,x
ij
=x
i-xj;
[0060]
当a是d
×
d的非方阵,将样本降低到rd维,从而完成对特征数据的降维及排序;
[0061]
(4)选择128个最典型的特征,使用nca方法,选择128个最典型的特征,具体如下:
[0062]fs
(i)=fn(indice(i)),i=1,2,
…
,128
[0063]
其中,fs是所选择的特征,indice是利用nca方法实现的排序后的特征。
[0064]
进一步地,所述步骤3中通过pba算法优化ann的权重,建立pba-ann分类模型,具体步骤如下:
[0065]
步骤3a:更新模型每一层的权重和偏差,分别使用下列方程来更新模型的每一层权重和偏差:
[0066][0067][0068]
其中,w,b、l、λ、x、n、m、t、o表示权重、偏置、层数,正则化参数、学习率、训练总数样本、动量、更新步骤和成本函数;输出单元g和隐藏单元h在数学上表示为以下方程:
[0069]
g=δb
l
+∑hδw
l
[0070]
h=δb
l
+∑(di)w
ij
[0071]
其中,w
ij
表示输入和隐藏层之间的权重;
[0072]
步骤3b:利用甲虫算法pba优化神经网络ann的权重值。
[0073]
进一步地,所述步骤3b中利用甲虫算法pba优化神经网络ann的权重值具体包含以下步骤:
[0074]
(1)完成对样本数据的随机采样,采用随机采样技术rst来确保所有搜索空间都能正确表示n
pop
个样本;
[0075]
(2)初始化,整个算法处于优化的第0代,pba的优化个体被任意放置在与全局搜索空间相关的超体积当量内,用于搜索最佳位置向量这些个体为先驱个体,初始种群的每个先驱个体被任意放置到全局搜索空间中,其具体定义如下:
[0076][0077]
l=[l1,l2,
…
,ld],u=[u1,u2,
…
,ud]
[0078]
其中,u和l表示优化变量的上限和下限变量,d为数据维度;
[0079]
当所有个体识别超体积位置(解向量)时,n
pop
个解将被一一比较,并获得最佳个体,第一个种群就在该超体积空间位置上产生;初始种群的每个先驱个体用来表示输入层
和隐藏层之间的权重值,由此,权重参数和成本函数被初始化;
[0080]
(3)新建超空间选择模式
[0081]
在该阶段,每一个新出现的个体将在搜索空间内搜索新解,用于创造属于个体本身的总群;其中,具有如下五种超体积选择模式:相邻搜索,全局搜索,中等规模搜索,大规模搜索,考虑内存搜索;
[0082]
利用以上搜索方法,建立最佳个体位置,新的先驱粒子被任意放置在通过随机采样技术rst获取的搜索空间,具体如下:
[0083][0084][0085]
其中,i表示第j
th
个体解向量lj的元素组成,e表示生成(追踪)代数,是第i
th
个出生位置或解向量的元素,和是第e
th
次搜素的第i
th
维的上下限,f
pat
表示模式参数;根据上述方程进行迭代,在每次迭代期间,通过评估适应度函数来分析权重和成本函数,并与先前迭代的适应度函数比较,用以检测最优值,从而重新初始化权重和成本参数;
[0086]
(4)更新种群位置
[0087]
通过更新种群中所有个体的位置,对种群的位置进行更新,除了存储在内存中的信息,其他信息都会被删除;具体而言,所有先前的种群都会消失,新发现的位置变成了新一代总群的出生地;基于之前的规则,由这种超体积模式产生新群体,重复此过程,直到pba达到停止条件。
[0088]
进一步地,采用随机采样技术rst,每个变量的均匀分布函数被划分为多个具有相等边界概率的段,这些段为每个变量随机选择,并通过在不同变量之间的随机混选来定义样本,即通过将每d个变量的范围划分为n
pop
个非重叠的相等分段来构建样本,然后通过随机分配所有参数的值来创建维度为d的样本;因此,d维空间被划分为段,并且从每个单元中随机选择单个值,产生一组大小为d的样本;
[0089]
针对由d个独立的均匀分布的变量(x
i,j
∈[li,ui],i=1,2,
…
,d,j==1,2,
…
,n
pop
),每d个变量被划分为n
pop
个相等区间,从而产生个单元,其中,每行和每列仅包含一个样本,且满足以下表达式:
[0090][0091]
其中,rxi∈[li,ui]是随机数,f
x
是x
i,j
的累积分布函数。在n
pop
段和d个变量的条件下,采样样本的最大组合数为:
[0092][0093]
通常,变量xi被定义到给定的搜索空间中,由全局边界l和u定义,特别的,和是第gth步的第ith个维度的低和高边界,而样本的最大距离(也称为追踪距离)
由以下表达式计算:
[0094][0095]
由此,第gth次的追踪步骤的采样技术rst可以描述为:
[0096]
xj=rst(l
(g)
,u
(g)
,d,n
pop
)
[0097]
在采样过程中,需要在[l(
g)
,u
(g)
]范围内采样,并位于全局搜索空间范围内,即x
i,j
∈[li,ui],而位于该范围外的任何点都会被校正。
[0098]
进一步地,利用甲虫算法pba优化神经网络ann的权重值时的更新种群位置,根据下式来实现超体积模式的选择:
[0099][0100]
其中,f
ls
表示大规模因子,f
ms
表示中等规模因子,f
nb
表示相邻因子。
[0101]
有益效果:
[0102]
本发明提出的一种基于二进制模式和pba-ann的电机故障诊断方法,收集了两种故障的声音数据集,并从这些声音信号中提取特征。首先,提出了一种多级特征生成方法,该方法将离散小波变换(dwt)和一维的二进制模式(1d-bp)结合在一起,来完成对电机故障声音信号的特征提取,然后使用nca方法来选择特征,从而获得最有代表性的电机故障特征。其次,提出一种基于pba-ann深度学习的电机故障诊断方法,利pba算法优化ann的权重,从而建立pba-ann模型,并用于电机故障诊断与预测系统中,获得了良好的电机故障诊断效果。本发明针对4种电机故障类型,即一个转子断条故障、两个转子断条故障、三个转子断条故障以及轴承故障,在近程故障声音检测的电机故障分类中,所提出方法的分类平均精度uap=97.5,在远程故障声音检测的电机故障分类中,所提出方法的分类平均精度uap=94.5,可见,所提出方法的电机故障诊断精度均高于94%,该方法具有良好的故障诊断效果,并且,这种基于声音的故障诊断方法,适用性好,易于实现,具有良好的推广能力。
附图说明
[0103]
图1是基于二进制模式和pba-ann的电机故障诊断方法实现过程;
[0104]
图2是所用的多级1d-dwt原理框图;
[0105]
图3是1d-bp的示例;
[0106]
图4是完整的基于二进制模式和pba-ann的电机故障特征提取流程;
[0107]
图5是pba-ann分类器网络结构;
[0108]
图6是完整的基于二进制模式和pba-ann的电机故障诊断流程。
具体实施方式
[0109]
为了更好解释本发明,以便于理解,下面对本发明的技术方案作详细描述。以下实施例是对本发明的解释,而本发明并不局限于以下实施例。
[0110]
针对常规电机故障诊断方法精度有限且操作复杂的问题,本发明提出一种基于二进制模式和pba-ann的电机故障诊断方法,该方法适用性好,易于实现。首先,利用声学的处理方式,完成基于dwt及1d-bp的多级特征提取,其次,提出基于pba-ann的分类方法,利用pba算法优化ann的权重,从而建立pba-ann模型,并用于电机故障诊断与预测系统中。
[0111]
图1所示为本发明实施例中基于二进制模式和pba-ann的电机故障诊断方法的实现过程。
[0112]
首先,提出一种多级的特征提取方法,使用离散小波变换(dwt)和多级一维离散小波变换(1d-dwt)完成电机故障声音信号的特征提取,再利用邻域成分分析方法(nca)从中选择有意义的特征,共选择128个特征,最后将这些特征用作分类器的输入。
[0113]
结合图1,基于二进制模式和pba-ann的电机故障诊断方法,包括以下步骤:
[0114]
步骤1:实现对电机故障数据的采集,建立两种电机故障的声音数据集,即近故障声音信号数据集及远故障声音信号数据集。具体处理步骤如下:
[0115]
步骤(1)a:选取电机实验对象,确定并产生故障类型
[0116]
采用鼠笼式三相感应电动机为实验对象,有功功率为0.75/kw,标称电压为380/v,实验用到的感应电动机的特性如表1。
[0117]
表1感应电动机的特性
[0118]
参数取值有功功率0.75/kw标称电压380/v转速1380/转/分标称电流2.2/a极数4转子棒数量22标称频率50/hz
[0119]
实验对象包括一个健康电机和四个故障电机,共有4种故障类型,即一个转子断条故障、两个转子断条故障、三个转子断条故障以及轴承故障。在创建故障时,针对所用电机,使用钻头在电机上转孔,使其出现一个、两个或三个转子横杆断裂故障,此外,使用钻头在轴承上转孔,使其出现轴承故障。
[0120]
步骤(1)b:采集电机故障数据,建立并存储故障声音数据集
[0121]
实施过程中,对五台感应电机进行故障检测,获得不同工作状态电机的声音数据,包括一个健康电机、一个转子棒断裂故障、两个转子棒断裂故障、三个转子棒断裂故障、一个轴承故障。在录音过程中,创建电机的近程声音数据集和远程声音数据集,并将声音数据分成1秒样本(44000),然后将声音数据传输到matlab程序中,在matlab环境下,利用dwt和1d-bp方法进行特征提取,获得1536个特征,接下来,使用nca方法进行特征选择,从而获得最有意义的128种最佳特征,最后,使用分类算法对电机的不同工作状态进行辨识,完成对所提出的电机故障诊断方法的验证。
[0122]
为了收集不同故障类型的声音数据,通过手机的录音程序录制电机的故障声音数据。录制格式为m4a,编码器比特率为320kbps,在录音程序中选择采样率为44khz,对五种不同条件下的电机声音信号进行录制,完成两种实验数据的采集,其一是近程故障声音数据的采集,即将手机电话固定在实验电机10cm距离处,录制330秒。其二是远程故障声音数据的采集,即将麦克风放置在实验电机100cm之外,录制270秒的声音数据,最后,根据录音程序中的设置,每秒采样44000个实验样本。
[0123]
步骤2:完成基于dwt与1d-bp的多级电机故障特征的提取,并使用近邻成分分析法(nca)完成对电机故障特征的有效选取。具体步骤如下:
[0124]
步骤(2)a:利用多级一维离散小波变换(1d-dwt)技术对电机故障声音信号进行分解和降噪
[0125]
首先采集三相感应电动机的故障声音信号,并将其作为特征提取的对象,然后对其进行预处理,主要目的是获得故障声音信号的频率系数数据,在此阶段,使用了多级一维离散小波变换技术(1d-dwt),将其用于故障声音信号的分解和降噪。利用1d-dwt获得故障声音数据的频率系数,再进行信号的分解。本专利共使用了5个级别的1d-dwt,并计算出5个低通滤波器子带。
[0126]
所用的多级1d-dwt原理框图如图2所示。
[0127]
在实现过程中,在5个级别上应用1d-dwt获得了5个低通滤波器,其中,使用了小波变换中的symlets 6滤波器。多级离散小波变换的数学定义具体如下:
[0128]
[lo1,hi1]=dwt(vol, sym6)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0129]
[loi,hii]=dwt(lo
i-1
, sym6),i=2,3,4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0130]
其中,dwt(
·
)是1d-dwt函数,symlets 6是所使用的滤波器。通过以上的低通滤波器子带和声音信号获得电机故障的原始特征信号。
[0131]
步骤(2)b:采用1d-bp方法完成电机故障信号的特征提取
[0132]
在特征提取的第二个阶段,采用1d-bp方法来完成,1d-bp是一种一维的局部二进制模式,主要使用开窗的方法提取来自不同信号且大小不同的特征信号。其主要优势是具有简单的数学结构,易于编码,工作速度快,可以提取独立于信号大小的特征。
[0133]
在1d-bp中,由于信号是一维的,通过使用长度为9的重叠块来提取其邻域关系。1d-bp由分块处理、生成二进制特征、构建bp信号等几个步骤组成,具体如下:
[0134]
(1)采集并加载三相感应电机的故障声音信号。
[0135]
(2)进行分块处理
[0136]
将故障声音信号分成长度为9的块,具体计算式子如下:
[0137]
block=vol(i:i+8); i=2,
…
,length-8
ꢀꢀꢀꢀ
(3)
[0138]
其中,length为信号的采样长度。
[0139]
(3)计算bp位
[0140]
使用signum函数计算二进制bp位,具体如下:
[0141]
bitsk=signum(blocki,block5); i=1,2,
…
,9; i≠5;k=1,2,
…
,8
ꢀꢀꢀꢀꢀꢀꢀ
(4)
[0142][0143]
其中,bitsk是提取的第k个二进制值,x和y是signum函数的输入信号。
[0144]
由此可见,块的每个值与块的第5个值(中心)进行比较,以提取块间的关系。利用以上bp(
·
)函数生成低通滤波器系数,从原始信号中提取特征信号,具体如下:
[0145]
f1=bp(vol)
ꢀꢀꢀꢀꢀꢀ
(6)
[0146]
f2=bp(low1)
ꢀꢀꢀꢀꢀꢀꢀ
(7)
[0147]
f3=bp(low2)
ꢀꢀꢀꢀꢀꢀ
(8)
[0148]
f4=bp(low3)
ꢀꢀꢀꢀ
(9)
[0149]
f5=bp(low4)
ꢀꢀꢀꢀꢀꢀ
(10)
[0150]
f6=bp(low5)
ꢀꢀꢀꢀꢀꢀ
(11)
[0151]
其中,f1、f2、f3、f4、f5、f6表示每个级别的大小为256的特征。
[0152]
(4)计算十进制的特征值
[0153]
计算以上二进制特征所对应的十进制值,具体如下:
[0154][0155]
其中,decval是对应的十进制特征值。
[0156]
(5)特征级联整合
[0157]
将上步提取的特征进行级联整合,级联过程按照下式完成;
[0158]
ff=conc(f1,f2,f3,f4,f5,f6)
ꢀꢀꢀꢀꢀ
(13)
[0159]
其中,ff是最终的特征向量,大小为1536,conc()是级联函数。
[0160]
(6)归一化处理
[0161]
对ff的每一列数据进行规一化处理,具体如下:
[0162][0163]
其中,fn是归一化后特征,ff
min
和f
max
是ff的最小值和最大值
[0164]
通过以上公式计算出的十进制值特征编码为8位,因此,每个参数的1d-bp具有256个特征。
[0165]
1d-bp的示例如图3所示。
[0166]
在这项研究中,由于采用五层的小波变换进行特征提取,从而获得对应的6个层参数,在每层中,通过使用低通滤波子带,提取了256个电机故障特征,然后将这些特征进行融合,最后获得256*6=1536个特征序列。
[0167]
步骤(2)c:利用nca方法完成电机故障特征的选取
[0168]
在特征选择阶段,采用了nca方法从1536个特征中选择128个最显著的特征。nca是近邻成分分析法(neighbourhoodcomponentanalysis,nca),是一种基于距离的特征加权方法。该方法基于曼哈顿距离的适应度函数,通过计算特征和目标之间的相关性来选择特征。在选择期间,首先随机分配初始权重,接下来,在曼哈顿距离函数的基础之上,使用梯度下降方法进行权重的更新,从而为每个特征生成正权重。
[0169]
nca是一种简单有效的距离测度学习算法,该算法随机选择近邻,通过优化留一法的交叉检验结果来求得马氏距离中的变换矩阵,具体步骤如下:
[0170]
(1)计算两个样本之间的马氏距离
[0171]
针对以上获取的n个输入特征样本,x1,x2,
…
,xn,xi∈rd,i=1,2,
…
,n,这些样本分别具有类标签c1,c2,
…
,cn,为了找到一种距离使得近邻分类的效果最优,设定马氏距离变换矩阵q是一个对称半正定矩阵,即q=a
t
a,那么,两个样本之间的马氏距离定义为:
[0172][0173]
其中,i=1,2,
…
,n。
[0174]
(2)利用留一法来计算分类误差
[0175]
接下来,利用留一法来计算分类误差,引入可微的softmax函数,如下式:
[0176][0177]
p
ij
定义式的含义是样本点xi随机选择一个近邻,最终会选择另一个样本点xj作为其近邻并继承其类标签cj的概率,由此,样本xi的正确分类概率为:
[0178][0179]
其中,ci={j|ci=cj}。
[0180]
(3)最大化目标函数,从而完成对特征数据的降维及选取
[0181]
目标函数是确保正确分类点的数目最大,定义如下:
[0182][0183]
该定义是一个连续可微的矩阵函数,通过最大化该目标函数来完成算法的优化任务,这是一个无约束优化问题,通过共轭梯度法来求取a,共轭梯度计算如下式:
[0184][0185]
其中,x
ij
=x
i-xj。
[0186]
当a是d
×
d的非方阵,可以将样本降低到rd维,从而完成对特征数据的降维及排序。
[0187]
(4)选择128个最典型的特征
[0188]
最后,使用nca方法选择128个最典型的特征,具体如下:
[0189]fs
(i)=fn(indice(i)),i=1,2,
…
,128
ꢀꢀꢀꢀꢀ
(20)
[0190]
其中,fs是所选择的特征,indice是利用nca方法实现的排序后特征。
[0191]
完整的基于二进制模式和pba-ann的电机故障特征提取流程如图4。
[0192]
步骤3:实现了基于pba-ann深度学习的电机故障诊断方法,通过pba算法优化ann的权重,建立pba-ann分类模型,并将其应用于电机故障诊断中。
[0193]
人工神经网络(ann)一般只包含一个隐藏层(hl),这将会消耗很多训练时间,增加泛化误差,准确性较低,导致过拟合。另外,传统神经网络的权重被随机初始化,这也会使得分类器生成高错误率的分类效果。因此,本专利提出使用五个隐藏层来克服训练和准确性的问题,并且,在输入层和隐藏层之间,隐藏层和输出层之间,利用甲虫算法(pity beetle algorithm,pba)优化网络权重值,从而完成对各层间权重值的初始化,建立pba-ann模型。
pba-ann结构如图3所示,其中,{s1,s2,
…
,sn}为感测数据,作为分类器的输入。
[0194]
pba-ann分类器网络结构如图5。
[0195]
所提出的分类器由不同层组成,输入层、隐藏层和输出层。其中,基于分类精度来设定隐藏层数,由于该系统使用了大量的电机故障声音数据,因此,使用五个隐藏层来提高其分类效果,并利用pba算法对每层初始权值进行优化,然后计算每个权重值的适应度值,再基于最佳适应度值,最终获取优化后的权重值。分类器的最终输出决策基于前几层的权重和偏差。
[0196]
具体步骤如下:
[0197]
步骤(3)a:更新模型的每一层的权重和偏差
[0198]
在所提出的分类方法中,分别使用方程(21)和方程(22)更新模型的每一层权重和偏差:
[0199][0200][0201]
其中,w,b、l、λ、x、n、m、t、o表示权重、偏置、层数,正则化参数、学习率、训练总数样本、动量、更新步骤和成本函数。输出单元g和隐藏单元h在数学上表示为方程(23)和(24),具体如下所示:
[0202]
g=δb
l
+∑hδw
l
ꢀꢀꢀꢀꢀ
(23)
[0203]
h=δb
l
+∑(di)w
ij
ꢀꢀ
(24)
[0204]
其中,w
ij
表示输入和隐藏层之间的权重。
[0205]
步骤(3)b:利用pba算法优化神经网络权重值
[0206]
具体包含以下步骤:
[0207]
(1)完成对样本数据的随机采样(rst)
[0208]
首先,提出随机采样技术(rst),用以确保所有搜索空间都能正确表示n
pop
个样本。根据rst采样技术,每个变量的均匀分布函数被划分为多个具有相等边界概率的段,这些段为每个变量随机选择,并通过在不同变量之间的随机混选来定义样本,即通过将每d个变量的范围划分为n
pop
个非重叠的相等分段来构建样本,然后通过随机分配所有参数的值来创建维度为d的样本。因此,d维空间被划分为段,并且从每个单元中随机选择单个值,产生一组大小为d的样本。
[0209]
针对由d个独立的均匀分布的变量(x
i,j
∈[li,ui],i=1,2,
…
,d,j==1,2,
…
,n
pop
),每d个变量被划分为n
pop
个相等区间,从而产生个单元,其中,每行和每列仅包含一个样本,且满足以下表达式:
[0210][0211]
其中,rxi∈[li,ui]是随机数,f
x
是x
i,j
的累积分布函数。在n
pop
段和d个变量的条件下,采样样本的最大组合数为:
[0212][0213]
通常,变量xi被定义到给定的搜索空间中,由全局边界l和u定义,特别的,和是第gth步的第ith个维度的低和高边界,而样本的最大距离(也称为追踪距离)由以下表达式计算:
[0214][0215]
由此,第gth次的追踪步骤的采样技术(rst)可以描述为:
[0216]
xj=rst(l
(g)
,u
(g)
,d,n
pop
)
ꢀꢀꢀꢀꢀ
(28)
[0217]
在采样过程中,需要在[l
(g)
,u
(g)
]范围内采样,并位于全局搜索空间范围内,即x
i,j
∈[li,ui],而位于该范围外的任何点都会被校正。
[0218]
(2)初始化
[0219]
此时,整个算法处于优化的第0代,pba的优化个体被任意放置在与全局搜索空间相关的超体积当量内,用于搜索最佳位置向量这些个体为先驱个体。初始种群的每个先驱个体被任意放置到全局搜索空间中,其具体定义如下。
[0220][0221]
l=[l1,l2,
…
,ld],u=[u1,u2,
…
,ud]
ꢀꢀꢀ
(30)
[0222]
其中,u和l表示优化变量的上限和下限变量,d为数据维度。
[0223]
当所有个体识别超体积位置(解向量)时,n
pop
个解将被一一比较,并获得最佳个体,第一个种群就在该超体积空间位置上产生。初始种群的每个先驱个体用来表示输入层和隐藏层之间的权重值,由此,权重参数和成本函数被初始化。
[0224]
(3)新建超空间选择模式
[0225]
在该阶段,每一个新出现的个体将在搜索空间内搜索新解,用于创造属于个体本身的总群。其中,具有如下五种超体积选择模式:相邻搜索,全局搜索,中等规模搜索,大规模搜索,考虑内存搜索。
[0226]
利用以上搜索方法,建立最佳个体位置,新的先驱粒子被任意放置在通过随机采样技术(rst)获取的搜索空间,具体如下:
[0227][0228][0229]
其中,i表示第j
th
个体解向量lj的元素组成,e表示生成(追踪)代数,是第i
th
个出生位置或解向量的元素,和是第e
th
次搜素的第i
th
维的上下限,f
pat
表示模式参数。根据上述方程进行迭代,在每次迭代期间,通过评估适应度函数来分析权重和成本函数,并与先前迭代的适应度函数比较,用以检测最优值,从而重新初始化权重和成本参数。
[0230]
(4)更新种群位置
[0231]
在本步骤中,通过更新种群中所有个体的位置,对种群的位置进行更新,除了存储在内存中的信息,其他信息都会被删除。具体而言,所有先前的种群都会消失,新发现的位置变成了新一代总群的出生地。基于之前的规则,由这种超体积模式产生新群体,重复此过程,直到pba达到停止条件,具体地,根据下式来实现超体积模式的选择:
[0232][0233]
其中,f
ls
表示大规模因子,f
ms
表示中等规模因子,f
nb
表示相邻因子。
[0234]
利用以上pba该算法,获得神经网络(ann)的最佳权重值,由于pba该算法比其他算法具有更强的鲁棒性和效率,因此,优化ann网络权值的效果更好。在具体执行过程中,首先进行初始化,然后开始执行超体积空间选择模式,在此期间,基于分类器的准确性,需要计算适应度值。最后,更新群体位置,由此获得最优成本和权重。该算法的个体代表神经网络的输入层和隐层间的权重值。
[0235]
完整的基于二进制模式和pba-ann的电机故障诊断流程如图5。
[0236]
步骤4:基于以上技术,搭建实验平台,完成对电机故障分类的具体实施,主要完成以下测试实验:
[0237]
(1)实验准备
[0238]
实施过程中,所用到的实验对象是鼠笼式三相感应电动机,对五台感应电机进行了故障检测,获得不同的电机工作声音数据,包括健康电机、一个转子棒断裂故障、两个转子棒断裂故障、三个转子棒断裂故障、轴承故障。在录音过程中,创建了故障电机的近程声音数据和远程声音数据两种情况,将声音数据分成1秒样本(44000),作为声音样本,并将声音数据传输到matlab程序中,在matlab环境下,利用dwt和1d-bp方法进行特征提取,获得1536个特征,接下来,使用nca方法进行特征选择,从而获得最有意义的128种最佳特征,最后,使用分类算法,对不同情况下的电机工作状态进行分类,完成对所提出的电机故障检测方法的验证。
[0239]
在实施过程中,实验对象包括一个健康电机和四个故障电机,共有4种故障类型,即一个转子断条故障、两个转子断条故障、三个转子断条故障以及轴承故障。在创建故障时,针对所用电机,使用钻头在电机上转孔,使其出现一个、两个或三个转子横杆断裂故障,此外,使用钻头在轴承上转孔使其出现轴承故障。
[0240]
为了收集不同故障类型的声音数据,通过手机的录音机程序来录制电机故障声音数据。录制格式为m4a,编码器比特率为320kbps,在录音程序中选择采样率为44khz,对五种不同的故障条件下的电机的声音信号进行录制,完成两种情况下的实验数据采集,其一是近程故障声音采集,即将手机电话固定在实验电机10cm的距离处,录制330秒。其二是远程
故障声音采集,即麦克风被放置在实验电机100cm之外,录制270秒的声音数据,最后,根据录音程序中的设置,每秒采样44000个实验样本。
[0241]
(2)性能分析
[0242]
在实施中,为了验证所提出分类算法的故障诊断效果,设计了线性支持向量机svm、bp神经网络以及本专利提出的dwt-lbp分类算法对以上电机故障进行分类,对于每种实验情况,运行各种算法1000次,并主要考察以下统计参数:精度(cacc),未加权平均精度(uap)、f-测度(f1)和计算几何平均值(gm),具体定义如式子(34)-(38):
[0243][0244][0245][0246][0247][0248]
其中,tpc,tnc,fpc,fnc分别为正确的正数及负数的个数,以及错误的正数及负数的个数,nc是分类数。
[0249]
(3)实验结论
[0250]
最后,利用以上方法完成对故障电机的状态分类,获得1000次算法运行迭代的分类结果,如表2、表3所示。其中,表2是近程故障声音检测情形下的电机故障分类结果,表3是远程故障声音检测情形下的电机故障分类结果。
[0251]
表2电机故障分类结果(近程故障声音检测)
[0252][0253]
表3电机故障分类结果(远程故障声音检测)
[0254][0255][0256]
从以上表中可以看出,在近程故障声音检测的电机故障分类中,dwt-lbp方法的uap=97.5,在远程故障声音检测的电机故障分类中,dwt-lbp方法的uap=94.5,所提出的故障分类方法分类准确率均高于94%。这些结果表明,所提出的方法是具有有效性,由此,这种基于声音的故障诊断方法,适用性好,易于实现。
[0257]
上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,包括以下步骤:步骤1:对电机故障数据进行采集,建立两种电机故障的声音数据集,即近故障声音信号数据集、远故障声音信号数据集;步骤2:基于dwt与1d-bp技术,利用多级一维离散小波变换1d-dwt技术对电机故障声音信号进行分解和降噪,获得电机故障的原始特征信号;采用1d-bp方法完成对电机故障信号的特征提取,并使用近邻成分分析法nca完成对电机故障特征的有效选取;步骤3:基于pba-ann深度学习进行电机故障诊断分类,通过pba算法优化ann的权重,建立pba-ann分类模型,并将其应用于电机故障的诊断中。2.根据权利要求1所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,所述步骤1中对电机故障数据进行采集,具体步骤如下:步骤1a:确定并产生故障类型,包括一个健康电机和四个故障电机,共有4种故障类型,即一个转子断条故障、两个转子断条故障、三个转子断条故障以及轴承故障;步骤1b:采集电机故障数据,建立并存储故障声音数据集录制电机故障声音数据,对五种不同故障条件下的电机的声音信号进行录制,完成两种情况下的实验数据的采集;其一是近程故障声音采集;其二是远程故障声音采集;最后,每秒采样44000个实验样本,从而建立两种电机故障的声音数据集,即近故障声音信号数据集及远故障声音信号数据集,将声音数据分成1秒样本,作为声音样本,并将声音数据进行存储和处理。3.根据权利要求1所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,所述步骤2中利用多级一维离散小波变换1d-dwt技术对电机故障声音信号进行分解和降噪,获得电机故障的原始特征信号的过程为:使用多级一维离散小波变换1d-dwt技术,获得电机故障声音数据的频率系数,再进行信号分解;使用小波变换中的symlets 6滤波器完成5个级别的1d-dwt变换,在5个级别上获得5个低通滤波器,多级离散小波变换的数学定义具体如下:[low1,high1]=dwt(vol,sym6)[low
i
,high
i
]=dwt(lo
i-1
,sym6),i=2,3,4dwt(
·
)是1d-dwt函数,symlets 6是所使用的滤波器;由此,通过以上低通滤波器子带和故障声音信号获得电机故障的原始特征信号。4.根据权利要求1所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,所述步骤2中采用1d-bp方法完成对电机故障信号的特征提取,在1d-bp中,由于信号是一维的,通过使用长度为9的重叠块来提取其邻域关系;1d-bp由分块处理、生成二进制特征、构建bp信号几个步骤组成,具体步骤如下:(1)采集并加载三相感应电机的故障声音信号;(2)进行分块处理,将故障声音信号分成长度为9的块,具体计算式子如下:block=vol(i:i+8);i=2,
…
,length-8其中,length为信号的采样长度。(3)计算bp位,使用signum函数计算二进制bp位,具体如下:bits
k
=signum(block
i
,block5);i=1,2,
…
,9;i≠5;k=1,2,
…
,8
其中,bits
k
是提取的第k个二进制值,x和y是signum函数的输入信号,由此可见,块的每个值与块的第5个值(中心)进行比较,以提取块间的关系;通过以上bp(
·
)函数生成的低通滤波器系数,从原始信号中提取特征信号,具体如下:f1=bp(vol)f2=bp(low1)f3=bp(low2)f4=bp(low3)f5=bp(low4)f6=bp(low5)其中,f1、f2、f3、f4、f5、f6表示每个级别的大小为256的特征;(4)计算十进制的特征值,计算所提取的二进制特征对应的十进制值,具体如下:其中,decval是对应的十进制特征值;(5)特征级联整合,将以上提取的特征进行级联整合,级联过程按照下式完成;ff=conc(f1,f2,f3,f4,f5,f6)其中,ff是最终的特征向量,大小为1536,conc(
·
)是级联函数;(6)归一化处理,对ff的每一列数据进行规一化处理,具体如下:其中,f
n
是归一化后特征,ff
min
和f
max
是ff的最小值和最大值。5.根据权利要求1所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,所述步骤2中利用近邻成分分析法nca完成电机故障特征的选取,随机选择近邻,通过优化留一法的交叉检验结果来求得马氏距离中的变换矩阵,具体如下:(1)计算两个样本之间的马氏距离对于以上获取的n个输入特征样本,x1,x2,
…
,x
n
,x
i
∈r
d
,i=1,2,
…
,n,分别具有类标签c1,c2,
…
,c
n
,为了找到一种距离使得近邻分类的效果最优,设定马氏距离变换矩阵q是一个对称半正定矩阵,即q=a
t
a,那么,两个样本之间的马氏距离定义为:其中,i=1,2,
…
,n;(2)利用留一法来计算分类误差,引入可微的softmax函数,如下式:p
ij
定义的含义是样本点x
i
随机选择一个近邻,最终选择另一个样本点x
j
作为其近邻,并继承其类标签c
j
的概率,由此,样本x
i
的正确分类概率为:
其中,c
i
={j|c
i
=c
j
};(3)最大化目标函数,完成对特征数据的降维及选取,目标函数是使得正确分类点的数目最大,定义如下:该定义是一个连续可微的矩阵函数,通过最大化该目标函数来完成算法的优化任务,通过共轭梯度法来求取a,共轭梯度计算如下式:其中,x
ij
=x
i-x
j
;当a是d
×
d的非方阵,将样本降低到r
d
维,从而完成对特征数据的降维及排序;(4)选择128个最典型的特征,使用nca方法,选择128个最典型的特征,具体如下:f
s
(i)=f
n
(indice(i)),i=1,2,
…
,128其中,f
s
是所选择的特征,indice是利用nca方法实现的排序后的特征。6.根据权利要求1所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,所述步骤3中通过pba算法优化ann的权重,建立pba-ann分类模型,具体步骤如下:步骤3a:更新模型每一层的权重和偏差,分别使用下列方程来更新模型的每一层权重和偏差:和偏差:其中,w,b、l、λ、x、n、m、t、o表示权重、偏置、层数,正则化参数、学习率、训练总数样本、动量、更新步骤和成本函数;输出单元g和隐藏单元h在数学上表示为以下方程:g=δb
l
+∑hδw
l
h=δb
l
+∑(d
i
)w
ij
其中,w
ij
表示输入和隐藏层之间的权重;步骤3b:利用甲虫算法pba优化神经网络ann的权重值。7.根据权利要求6所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,所述步骤3b中利用甲虫算法pba优化神经网络ann的权重值具体包含以下步骤:(1)完成对样本数据的随机采样,采用随机采样技术rst来确保所有搜索空间都能正确表示n
pop
个样本;(2)初始化,整个算法处于优化的第0代,pba的优化个体被任意放置在与全局搜索空间相关的超体积当量内,用于搜索最佳位置向量这些个体为先驱个体,初始种群的每个先驱个体被任意放置到全局搜索空间中,其具体定义如下:
l=[l1,l2,
…
,l
d
],u=[u1,u2,
…
,u
d
]其中,u和l表示优化变量的上限和下限变量,d为数据维度;当所有个体识别超体积位置(解向量)时,n
pop
个解将被一一比较,并获得最佳个体,第一个种群就在该超体积空间位置上产生;初始种群的每个先驱个体用来表示输入层和隐藏层之间的权重值,由此,权重参数和成本函数被初始化;(3)新建超空间选择模式在该阶段,每一个新出现的个体将在搜索空间内搜索新解,用于创造属于个体本身的总群;其中,具有如下五种超体积选择模式:相邻搜索,全局搜索,中等规模搜索,大规模搜索,考虑内存搜索;利用以上搜索方法,建立最佳个体位置,新的先驱粒子被任意放置在通过随机采样技术rst获取的搜索空间,具体如下:术rst获取的搜索空间,具体如下:其中,i表示第j
th
个体解向量l
j
的元素组成,e表示生成(追踪)代数,是第i
th
个出生位置或解向量的元素,和是第e
th
次搜素的第i
th
维的上下限,f
pat
表示模式参数;根据上述方程进行迭代,在每次迭代期间,通过评估适应度函数来分析权重和成本函数,并与先前迭代的适应度函数比较,用以检测最优值,从而重新初始化权重和成本参数;(4)更新种群位置通过更新种群中所有个体的位置,对种群的位置进行更新,除了存储在内存中的信息,其他信息都会被删除;具体而言,所有先前的种群都会消失,新发现的位置变成了新一代总群的出生地;基于之前的规则,由这种超体积模式产生新群体,重复此过程,直到pba达到停止条件。8.根据权利要求7所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,采用随机采样技术rst,每个变量的均匀分布函数被划分为多个具有相等边界概率的段,这些段为每个变量随机选择,并通过在不同变量之间的随机混选来定义样本,即通过将每d个变量的范围划分为n
pop
个非重叠的相等分段来构建样本,然后通过随机分配所有参数的值来创建维度为d的样本;因此,d维空间被划分为段,并且从每个单元中随机选择单个值,产生一组大小为d的样本;针对由d个独立的均匀分布的变量(x
i,j
∈[l
i
,u
i
],i=1,2,
…
,d,j==1,2,
…
,n
pop
),每d个变量被划分为n
pop
个相等区间,从而产生个单元,其中,每行和每列仅包含一个样本,且满足以下表达式:其中,rx
i
∈[l
i
,u
i
]是随机数,f
x
是x
i,j
的累积分布函数。在n
pop
段和d个变量的条件下,采
样样本的最大组合数为:通常,变量x
i
被定义到给定的搜索空间中,由全局边界l和u定义,特别的,和是第gth步的第ith个维度的低和高边界,而样本的最大距离(也称为追踪距离)由以下表达式计算:由此,第gth次的追踪步骤的采样技术rst可以描述为:x
j
=rst(l
(g)
,u
(g)
,d,n
pop
)在采样过程中,需要在[l
(g)
,u
(g)
]范围内采样,并位于全局搜索空间范围内,即x
i,j
∈[l
i
,u
i
],而位于该范围外的任何点都会被校正。9.根据权利要求7所述的基于二进制模式和pba-ann的电机故障诊断方法,其特征在于,利用甲虫算法pba优化神经网络ann的权重值时的更新种群位置,根据下式来实现超体积模式的选择:z=1,2,k,d;w=1,2,k,n
pop
其中,f
ls
表示大规模因子,f
ms
表示中等规模因子,f
nb
表示相邻因子。
技术总结
本发明公开了一种基于二进制模式和PBA-ANN的电机故障诊断方法,包括:对电机故障数据采集,建立两种电机故障的声音数据集,即近故障声音信号数据集及远故障声音信号数据集;使用离散小波变换DWT和一维的二进制模式1D-BP来完成对电机故障声音信号的特征提取,使用近邻成分分析法NCA来选取最具有代表性的电机故障特征,从而获得可以有效表征电机故障的典型特征;利用PBA算法优化ANN的权重,建立PBA-ANN分类模型,并将其应用于电机故障的诊断与预测中。与现有技术相比,本发明完成对五台感应电机的工作状态及故障的诊断,包括健康、一个转子棒断裂故障、两个转子棒断裂故障、三个转子棒断裂故障、轴承故障。结果表明本发明诊断性能良好,可以显著提高电机故障的预测精度。可以显著提高电机故障的预测精度。可以显著提高电机故障的预测精度。
技术研发人员:付丽辉 钱浩 何佳晨 皇甫立群 陈良海
受保护的技术使用者:淮阴工学院
技术研发日:2023.04.23
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
