基于人工免疫诊断网络的模拟电路故障诊断方法与流程

文档序号:17736805发布日期:2019-05-22 03:17阅读:192来源:国知局
基于人工免疫诊断网络的模拟电路故障诊断方法与流程
本发明涉及故障诊断
技术领域
,具体涉及一种基于人工免疫诊断网络的模拟电路故障诊断方法。
背景技术
:随着科学技术的飞速发展,工业设备的复杂性越来越高,对设备的故障诊断研究具有重要意义,直接关系到设备和人员的安全。在电子设备领域,虽然数字电路应用日益广泛,但客观世界信号的特点决定了模拟电路仍然必不可少。在复杂环境下,模拟电路出现故障的概率远大于数字电路。但由于故障现象多样、容差的普遍存在、不易建立解析模型以及非线性等因素的影响,模拟电路故障诊断技术却远远落后于数字电路的故障诊断技术,严重制约着电路故障诊断技术甚至电路工业的发展。随着智能信息处理技术的不断发展,神经网络、支持向量机等机器学习方法相继应用于模拟电路故障诊断领域,推动了模拟电路故障诊断技术的发展,但与工业界对模拟电路的故障诊断要求还存在一定的差距,模拟电路故障诊断理论和方法研究仍然是故障诊断领域亟待攻克的难题。现有基于人工免疫系统的智能方法中,应用于故障诊断领域的主要有:否定选择算法、克隆选择算法、变异实值否定选择算法以及利用免疫机理改进已有的其它智能算法。上述算法同样是受生物免疫系统启发,但在结构、机理等方面与人工免疫网络存在较大区别。而人工免疫网络目前主要应用于数据聚类、网络入侵检测等,其中文献1“decastroln,vonzubenfj,anevolutionaryimmunenetworkfordataclustering,2000braziliansymposiumonneuralnetworks”公开了一种名为ainet的人工免疫网络,以解决数据聚类问题,获得了很好的效果,随后被其他学者应用于解决多种数据聚类问题,如文本聚类、网络数据聚类、空间数据聚类等。ainet免疫网络在数据聚类分析中表现出的对数据类“描述数据结构”的思路,可以用来解决模拟电路故障诊断中容差带来的影响。但数据聚类问题与模拟电路故障诊断问题有相同之处,也存在不同之处。现有的ainet免疫网络是在二维空间内描述和解决问题,在数据聚类中应用效果较好,但是不能将其直接应用于故障诊断领域,因为二维空间中的ainet免疫网络只能将数据聚类,而且是无导师学习,所以并不知道每类数据具体属于哪种类型。而在故障诊断中,网络学习完成后不但要“描述数据结构”,即描述电路在各种故障状态下特征值的分布规律,而且要记忆电路的故障类型信息,即明确知道每类数据结构所属的电路故障类型,这样才能实现电路的故障定位。技术实现要素:本发明的目的就是针对现有技术的缺陷,提供一种基于人工免疫诊断网络的模拟电路故障诊断方法,使网络训练完成后能够记忆电路的故障类型信息,具有故障识别能力,有效处理容差的影响,以在不建立待诊断电路解析模型的情况下实现故障诊断。本发明提供了一种基于人工免疫诊断网络的模拟电路故障诊断方法,其特征在于包括以下步骤:第一步,获取记忆抗体集;第二步,采集实际待诊断电路的响应信号,提取响应信号的特征值构成新抗原;采集实际待诊断电路的响应信号,提取信号的特征值构成特征向量xnew={x1,x2,…,xn},作为新抗原。第三步,计算新抗原xnew与记忆抗体集ap×m’×n中各种故障类型记忆抗体的总亲和力;即将新抗原激活人工免疫诊断网络中的记忆抗体,第四步,根据新抗原与各种故障类型记忆抗体的总亲和力大小判断待诊断电路的具体故障类型;即根据被激活的记忆抗体所属的故障类型判断被测电路的故障类型;其中,第一步中包括以下步骤:s1、提取训练样本中电路响应信号的特征值,构成训练抗原集;s2、对每种故障类型的训练抗原分别进行有导师的数据聚类,得到记忆抗体集。上述技术方案中:步骤s1中的训练抗原集,用3维矩阵xp×m×n表示,p为待诊断电路的总故障类型数量,m为训练抗原数量,n为电路响应信号的特征值数量,即在三维空间中表示了电路故障类型信息。上述技术方案中:步骤s2中对每种故障类型的训练抗原分别利用一个ainet免疫网络进行有导师的数据聚类,即以矩阵x的第一维为基准,利用p个ainet并行处理,完成有导师的学习过程,以发挥其“描述数据结构”的特点,对受容差影响的某种故障类型的数据群进行聚类,学习、归纳出数据结构的特征,克服电路容差的影响。通过有导师数据聚类,得到记忆抗体集,记为ap×m’×n,m’为相应的记忆抗体数量的最大值,表示电路各种故障类型下响应信号特征值的分布规律,这样通过有导师学习过程使其能够记忆电路的故障类型信息。上述技术方案中:步骤s1中训练样本是历史经验数据、电路仿真数据、实际电路实验数据的一种,或者上述数据的组合。上述技术方案中:第二步中提取的特征值类型与步骤s1中提取的特征值类型相同。上述技术方案中:步骤s1还包括特征值数据标准化。上述技术方案中:步骤s2包括以下步骤:s2.1设定算法参数,并初始化记忆抗体集,随机产生m个非记忆抗体,并任意选择一定数量的抗原构成记忆抗体集ai(1≤i≤p),然后对记忆抗体集进行净化,删除抗体集中亲和力大于网络抑制阈值σs的记忆抗体;s2.2选择电路第i种故障类型的抗原子集xi(1≤i≤p),对该种故障类型中的抗原进行训练,完成后选择电路下一种故障类型并对该种故障类型中的抗原进行训练,直至对电路所有故障类型的抗原进行训练,从而完成aidn进化的一代;s2.3增加进化代数,重新随机产生一定数量的新抗体加入抗体集,重复步骤s2.2进行下一代进化;每一代进化后,计算每种故障类型所有抗原与所有记忆抗体间的平均亲和力,直至训练过程满足停止准则,即达到预设的最大进化代数nmax,或者平均亲和力连续k代进化未得到改善;最后得到总记忆抗体集a∈rp×m’×n(p为电路的故障类型数量,m’为记忆抗体数量的最大值,n为故障特征值数量)。上述技术方案中:步骤s2.2包括以下步骤:步骤1:选择电路第i种故障类型的抗原子集xi(1≤i≤p),执行以下步骤。步骤1.1:选择该故障类型中的一个抗原xij(1≤i≤p,1≤j≤m),执行以下步骤。步骤1.1.1:计算亲和力。根据式(1)计算抗原与记忆抗体集中每个抗体的亲和力,对于一个抗原x和一个抗体a,定义它们的亲和力函数为:f(x,a)=(1+||x-a||)-1(1)式中,||x-a||表示抗体-抗原的欧氏距离,距离越小,亲和力越大。步骤1.1.2:选择高亲和力抗体;选择亲和力最高的nbest个抗体,准备进行克隆和变异。步骤1.1.3:抗体克隆;对亲和力最高的nbest个抗体进行克隆,根据式(2)进行,克隆总数为nc,得到克隆抗体集ac。式中,round表示取整操作,cr是克隆率,f是亲和力。可见,克隆按照亲和力越高,抗体克隆规模越大的原则进行。步骤1.1.4:抗体变异;对克隆后的抗体进行变异,根据式(3)进行,得到变异抗体集ap。a′=a-α·(a-xij)(3)α=b·sig(||a-xij||)(4)式中,a表示一个记忆抗体,a’表示变异后的抗体,所有变异后的抗体组成变异抗体集ap,α是学习率,或称变异率,其值根据式(4)确定,b是(0,1)之间的随机数,sig表示模糊sigmoid函数,即sig(x)=1/(1+e-x);步骤1.1.5:计算抗原xij与变异抗体集ap中每个抗体的亲和力。步骤1.1.6:选择高亲和力抗体;选择亲和力最高的ξ%个抗体作为该抗原的过渡抗体集aq;步骤1.1.7:计算过渡抗体集aq中抗体与抗体之间的亲和力;步骤1.1.8:克隆抑制;删除过渡抗体集aq中亲和力大于克隆抑制阈值σd的记忆抗体;步骤1.1.9:选择成熟抗体加入记忆抗体集;过渡抗体集aq中克隆抑制后剩余的抗体便是亲和力成熟抗体,将它们加入记忆抗体集ai中;步骤1.2:选择下一个抗原,重复步骤1.1.1-1.1.9,直至对该种故障类型中的每个抗原进行训练;步骤1.3:网络抑制,删除记忆抗体集中亲和力大于网络抑制阈值σs的记忆抗体,以减少记忆抗体之间的相似度,从而减少故障定位过程的计算量,至此完成电路第i种故障类型的训练;步骤2:选择电路下一种故障类型,重复步骤1.1-1.3,直至对电路所有故障类型的抗原进行训练,完成aidn进化的一代。上述技术方案中:第四步包括以下步骤:从记忆抗体集中选取n个亲和力最大、且亲和力值大于一定阈值的记忆抗体,它们投票决定新抗原的故障类型;将新抗原与记忆抗体之间的亲和力作为该记忆抗体的投票权重,根据式(5)计算新抗原与被选中记忆抗体的总亲和力:式中,i表示电路的第i种故障类型(1≤i≤p),aij表示第i种故障类型中的第j个记忆抗体被选中,ni表示第i种故障类型中被选中的记忆抗体数(n=n1+n2+…+np),fi表示电路第i种故障类型的总亲和力;某种电路故障类型的总亲和力越大,该故障类型即为被测电路的故障类型。上述技术方案中:第三步中根据式(1)计算新抗原与记忆抗体集中每个抗体的亲和力。本发明的有益效果是:1、能够有效处理模拟电路容差的影响。容差是模拟电路的固有属性,也是公认的实现模拟电路正确诊断的最大困难。分析模拟电路容差带来的影响可知,电路处于标称值状态时其响应的某个特征值是固定的,可以看做是一个点;而在各种容差情况下,电路响应的特征值是分散的,但是散布在标称状态下电路响应特征值的附近。人工免疫诊断网络利用训练后的记忆抗体表示容差影响下电路特征值的分布情况,为处理模拟电路的容差问题提供了有效途径。2、人工免疫诊断网络结构透明,抗原、抗体在模拟电路故障诊断中具有明确的物理意义。在人工免疫诊断网络中,一个抗原或者抗体的表示形式为x={x1,x2,…,xn},n为特征值的数量,是由电路响应的特征值xi构成的向量,具有明确的物理意义,而且人工免疫诊断网络在推理过程中结构透明,相对于神经网络的“黑箱”式结构,具有非常明显的优势。3、利用人工免疫诊断网络进行模拟电路的故障诊断能够克服模拟电路的建模困难。利用人工免疫诊断网络进行故障诊断不需要建立电路的解析模型,而是根据电路各种故障状态下的样本数据建立电路的模型,将样本数据作为抗原对人工免疫诊断网络训练,得到记忆抗体集合能充分表示各种故障状态下电路的特征值分布规律,所以克服了建立模拟电路解析模型的困难。4、对训练抗原的适应性强,对于大量样本的情况能够起到压缩作用,对于少量样本的情况则能够起到扩充作用。人工免疫诊断网络是通过训练而进化的,训练得到的记忆抗体在描述数据结构、获得聚类形状方面具有明显优势,正是这些进化特性使其对训练抗原的适应性强。当电路的训练抗原较多时,人工免疫诊断网络能够对样本起到压缩作用,利用较少的记忆抗体表示原始样本的数据特征;而当电路的训练抗原较少时,人工免疫诊断网络能够对样本起到扩充作用,这种扩充作用是通过训练过程中的克隆和变异过程实现的,也使得记忆抗体具有多样性,增加泛化能力和适应性,附图说明图1是本方法的总体思路;图2是网络训练过程的过程框图;图3是故障定位过程的过程框图;图4是具体实施例的电路示意图。具体实施方式下面结合附图和具体实施例对本发明作进一步的详细说明,便于清楚地了解本发明,但它们不对本发明构成限定。图1是本方法的总体思路,包括两个过程:网络训练过程和故障定位过程。网络训练过程是在ainet的无导师学习的基础上,将二维空间中的ainet扩展到三维空间,以表示电路的故障类型信息;同时将无导师学习转变为有导师学习,以记忆电路的故障类型信息。图2是网络训练过程的过程框图,具体步骤如下:步骤1:收集训练样本。训练样本可以是历史经验数据、电路仿真数据、实际电路实验数据等,或者几种数据的组合。步骤2:提取特征值。提取训练样本中电路响应信号的特征值,构成训练抗原集,又称训练样本集。记训练抗原数量为m,待诊断电路的总故障类型数量为p,电路响应信号的特征值数量为n,构成的训练抗原集用3维矩阵xp×m×n表示。步骤3:特征值数据标准化。步骤4:初始化。设定算法参数,并初始化记忆抗体集。随机产生m个非记忆抗体,并任意选择一定数量的抗原构成记忆抗体集ai(1≤i≤p),然后对记忆抗体集进行净化,删除抗体集中亲和力大于网络抑制阈值σs的记忆抗体。步骤5:检验是否满足停止准则。步骤6:对于每一代进化,执行以下步骤。步骤6.1:选择电路第i种故障类型的抗原子集xi(1≤i≤p),执行以下步骤。步骤6.1.1:选择该故障类型中的一个抗原xij(1≤i≤p,1≤j≤m),执行以下步骤。步骤6.1.1.1:计算亲和力。根据式(1)计算抗原与记忆抗体集中每个抗体的亲和力,对于一个抗原x和一个抗体a,定义它们的亲和力函数为:f(x,a)=(1+||x-a||)-1(1)式中,||x-a||表示抗体-抗原的欧氏距离,距离越小,亲和力越大。步骤6.1.1.2:选择高亲和力抗体。选择亲和力最高的nbest个抗体,准备进行克隆和变异。步骤6.1.1.3:抗体克隆。对亲和力最高的nbest个抗体进行克隆,根据式(2)进行,克隆总数为nc,得到克隆抗体集ac。式中,round表示取整操作,cr是克隆率,f是亲和力。可见,克隆按照亲和力越高,抗体克隆规模越大的原则进行。步骤6.1.1.4:抗体变异。对克隆后的抗体进行变异,根据式(3)进行,得到变异抗体集ap。a′=a-α·(a-xij)(3)α=b·sig(||a-xij||)(4)式中,a表示一个记忆抗体,a’表示变异后的抗体,所有变异后的抗体组成变异抗体集ap,α是学习率,或称变异率,其值根据式(4)确定,b是(0,1)之间的随机数,sig表示模糊sigmoid函数,即sig(x)=1/(1+e-x)。步骤6.1.1.5:计算亲和力。计算抗原xij与变异抗体集ap中每个抗体的亲和力。步骤6.1.1.6:选择高亲和力抗体。选择亲和力最高的ξ%个抗体作为该抗原的过渡抗体集aq。步骤6.1.1.7:计算亲和力。计算过渡抗体集aq中抗体与抗体之间的亲和力。步骤6.1.1.8:克隆抑制。删除过渡抗体集aq中亲和力大于克隆抑制阈值σd的记忆抗体。步骤6.1.1.9:选择成熟抗体加入记忆抗体集。过渡抗体集aq中克隆抑制后剩余的抗体便是亲和力成熟抗体,将它们加入记忆抗体集ai中。步骤6.1.2:选择下一个抗原,重复步骤6.1.1.1-6.1.1.9,直至对该种故障类型中的每个抗原进行训练。步骤6.1.3:网络抑制。删除记忆抗体集中亲和力大于网络抑制阈值σs的记忆抗体,以减少记忆抗体之间的相似度,从而减少故障定位过程的计算量。至此,步骤6.1.1-6.1.3完成电路第i种故障类型的训练。步骤6.2:选择电路下一种故障类型,重复步骤6.1.1-6.1.3,直至对电路所有故障类型的抗原进行训练。至此,步骤6.1-6.2完成aidn进化的一代。步骤6.3:增加进化代数,重新随机产生一定数量的新抗体加入抗体集,重复步骤6.1-6.2,进行下一代进化。每一代进化后,计算每种故障类型所有抗原与所有记忆抗体间的平均亲和力,直至训练过程满足停止准则,最后得到总记忆抗体集a∈rp×m’×n(p为电路的故障类型数量,m’为记忆抗体数量,n为故障特征值数量)。故障定位过程是利用训练后的人工免疫诊断网络对待诊断电路进行故障定位,图3是网故障定位过程的过程框图,具体步骤如下:步骤1:获取待诊断电路的测试数据,提取特征值。采集被测电路的响应信号,提取响应信号的特征值,构成新抗原xnew={x1,x2,…,xn},n为特征值的数量。步骤2:特征值数据标准化。采用与网络训练过程同样的方法对新抗原的特征值数据标准化。步骤3:计算新抗原与记忆抗体的亲和力。根据式(1)计算新抗原与记忆抗体集a中每个抗体的亲和力。步骤4:邻近定位法。从记忆抗体集中选取n个亲和力最大、且亲和力值大于一定阈值的记忆抗体,它们投票决定新抗原的故障类型。为了在定位过程中考虑被选中记忆抗体亲和力的影响,体现不同记忆抗体(投票专家)的重要性,将新抗原与记忆抗体之间的亲和力作为该记忆抗体的投票权重,根据式(5)计算新抗原与被选中记忆抗体的总亲和力。式中,i表示电路的第i种故障类型(1≤i≤p),aij表示第i种故障类型中的第j个记忆抗体被选中,ni表示第i种故障类型中被选中的记忆抗体数(n=n1+n2+…+np),fi表示电路第i种故障类型的总亲和力。某种电路故障类型的总亲和力越大,该故障类型即为被测电路的故障类型。由故障定位过程可知,只需要提取待诊断电路响应信号的特征值构成新样本,计算它与人工免疫诊断网络中记忆抗体的欧氏距离,即可判断被测电路所属的故障类型。所以,电路的实际故障定位过程简单,计算复杂度小,不但适合于离线测试,也适合于在线测试。以某型传感器用滤波放大电路为诊断对象,图4为其原理图,各元器件的标称值均于图上标出。根据元器件灵敏度分析结果,选择故障模式为r1↓、r1↑、r2↓、r2↑、r4↓、r4↑、r5↓、r5↑、r6↓、r6↑、c1↓、c1↑,其中↓表示该元器件发生了小于标称值50%的软故障,↑表示该元器件发生了大于标称值50%的软故障。这样共有12种故障状态,可将电路正常状态认为是故障状态的特殊情况,因此,故障类型共13种,各种故障类型的故障代码和故障符号见表1。表1故障代码故障符号故障类型故障代码故障符号故障类型f0nor无故障f7r5↓电阻r5减小f1r1↓电阻r1减小f8r5↑电阻r5增大f2r1↑电阻r1增大f9r6↓电阻r6减小f3r2↓电阻r2减小f10r6↑电阻r6增大f4r2↑电阻r2增大f11c1↓电容c1减小f5r4↓电阻r4减小f12c1↑电容c1增大f6r4↑电阻r4增大采用实际电路实验的方法验证本发明方法的有效性,为模拟表1中的各种故障类型,专门设计了相应的实验电路板。为研究电路容差在实验中的影响,每种电路板分别生产12块,从某批次元器件产品中随机安装标称值相同的元器件,这样所选元器件的实际值是不完全相同的,可以体现电路容差的影响。激励信号采用幅值为±2v、频率为1mhz的正弦波信号。采集各电路板在激励信号作用下的瞬态输出电压响应信号,每块电路板在每种故障状态下可以采集一个瞬态输出电压响应信号,12块电路板共采集156个瞬态输出电压响应信号,作为故障诊断方法研究的原始数据。首先利用1~7号板各种故障状态下的实验数据对人工免疫诊断网络进行训练,训练样本数量为7。对各输出电压响应信号进行小波变换,把小波分解后各尺度空间的信号能量作为特征值,选取特征值数量为6,构成训练抗原集x13×7×6。利用x对人工免疫诊断网络进行训练,设置网络抑制阈值σs为0.95。网络训练每种故障类型的记忆抗体个数见表2。表2为了验证人工免疫诊断网络的训练效果,分别利用该网络训练过的电路板的实验数据(1~7号板各种故障状态下的实验数据)和新电路板的实验数据(8~12号板各种故障状态下的实验数据)进行故障定位。前者的故障定位准确率为97.8022%,后者的故障定位准确率为86.1538%,所有12块电路板的总故障定位准确率为92.9487%。可见,无论是人工免疫诊断网络训练过的电路板实验数据,还是未训练过的新电路板实验数据,利用该专利方法能够取得比较好的故障定位效果。本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1