基于改进遗传算法的模拟电路多故障诊断方法与流程

文档序号:17828128发布日期:2019-06-05 22:49阅读:168来源:国知局
基于改进遗传算法的模拟电路多故障诊断方法与流程
本发明属于模拟电路故障诊断
技术领域
,更为具体地讲,涉及一种基于改进遗传算法的模拟电路多故障诊断方法。
背景技术
:目前,在模拟电路故障诊断领域,主要有测前仿真(如故障字典方法)和测后仿真方法。测前仿真是在测试前根据电路图和参数等对电路的可能故障进行仿真,并将故障响应存储起来,当电路发生故障后,用之前构建字典时采用的激励,测量故障响应。然后从字典去查找与之最相近的响应,从而找到故障。这种方法的优点是故障诊断速度较快,但缺点同样明显,即构建字典时,需要穷举所有故障。而模拟元件参数是连续变化的,因此穷举法的空间复杂度较高。对于一个含有c个器件的模拟电路,如果每个元件均匀采样100个故障存入故障字典,则需要100c个存储单位来存储这100个单故障。如果考虑多故障组合情况,则需要存储100c×100c=104c2个存储单位。此外,构建这样的字典,需要的测前仿真工作量也是几乎无法完成的。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种基于改进遗传算法的模拟电路多故障诊断方法,对遗传算法进行改进,实现多故障的准确诊断。为实现上述发明目的,本发明基于改进遗传算法的模拟电路多故障诊断方法包括以下步骤:s1:获取模拟电路在m个测点tm处的传输函数,m=1,2,…,m;s2:当模拟电路出现故障时,在k个不同频率激励信号下测量得到m个测点tm处的输出电压分别表示输出电压的实部和虚部,j为虚数单位,k=1,2,…,k,构成故障输出电压向量s3:以x={x1,x2,…,xn}作为遗传算法中的个体,其中xn表示第n个元件的参数值,n=1,2,…,n;随机初始化g个个体构成初始种群p,每个个体中随机选择h个元件的参数值在故障范围内随机取值,h≤h,h表示模拟电路中最多同时发生故障的元件数量,其余元件参数值在容差范围内随机取值;s4:判断是否达到遗传算法的迭代结束条件,如果是,进入步骤s10,否则进入步骤s5;s5:对种群p中的个体进行交叉操作,得到种群p′,交叉操作的具体方法如下:将种群p中需要进行交叉的两个个体分别记为pi和pj,个体中故障元件数量分别记为λi和λj;当λi+λj<h,任意选择交叉位置;当λi+λj=h且λi×λj=0,在包含故障元件的个体中任意选择一个故障元件作为交叉位置;当λi+λj=h且λi×λj≠0,统计得到个体pi和pj中参数值超过容差范围的故障元件集合φ,记元件集合φ中的元件数量为|φ|,如果|φ|<h,任意选择交叉位置,如果|φ|=h,任意选择故障元件集合φ中的一个故障元件作为交叉位置;当h<λi+λj≤2h,统计得到个体pi和pj中参数值超过容差范围的故障元件集合φ,记元件集合φ中的元件数量为|φ|,如果|φ|<λi+λj,则说明两个个体的故障元件存在相同元件,在相同故障元件中任意选择一个作为交叉位置,否则任意选择故障元件集合φ中的一个故障元件作为交叉位置;在交叉完毕后,如果得到的两个个体中有个体中的故障元件数量λ′大于h,则将任意λ′-h个故障元件的参数值重置为其容差范围内的随机值;s6:对种群p′中的个体进行变异操作,得到种群q,如果变异得到的个体的故障元件数量λ′大于h,则将任意λ′-h个故障元件的参数值重置为其容差范围内的随机值;s7:将种群p和种群q进行合并,构成种群s;s8:将种群s中的每个个体分别代入模拟电路的传输函数,得到k个不同频率激励信号下在m个测点tm处的输出电压分别表示输出电压的实部和虚部,g=1,2,…,2g,构成输出电压向量然后采用以下公式计算第g个个体输出电压向量ug与当前模拟电路的故障输出电压向量之间的欧式距离dg,计算公式如下:s9:根据欧式距离dg从种群s中优选g个个体作为下一代种群p,返回步骤s4;s10:从当前种群中选择输出电压向量与故障输出电压向量之间欧式距离最小的个体,该个体中参数值位于故障范围内的元件即为故障诊断结果。本发明基于改进遗传算法的模拟电路多故障诊断方法,首先分析得到模拟电路在不同测点处的传输函数,测量得到模拟电路在不同频率激励信号下这些测点处的输出电压,构成故障输出电压向量,将元件参数值向量作为遗传算法中的个体,在进行个体交叉时,根据个体中故障元件数量分不同情况选择交叉位置,将最后一代种群中最优个体中参数值位于故障范围内的代表性故障元件作为故障诊断结果。本发明利用遗传算法找到与模拟电路故障输出电压向量最接近的输出电压向量,从而得到故障诊断结果,对个体交叉的方法进行改进以提高遗传算法的效率。采用本发明可以能够找到事前没有存储的故障源,提高故障诊断准确率。附图说明图1是本发明基于改进遗传算法的模拟电路多故障诊断方法的具体实施方式流程图;图2是本实施例跳耦滤波电路的电路图;图3是本实施例中{r9,c2}和{r4,r9}两个双故障的三维特征图。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。实施例为了更好地说明说明本发明的技术方案,首先对本发明的技术原理进行简要说明。用f=[f1,f2,…,ff]表示故障特征。特征向量f的维数f决定了能诊断的并发故障数目h,一维特征只能诊断离散的几个特定参数故障。考虑到模拟电路元件参数连续性,一维特征是不能进行真正意义上的模拟电路故障诊断的。诊断的故障数目与特征维数f之间的关系应该遵循自变量与方程自由度的关系。即:|f|≥h+1(1)故障特征维数必须比并发故障数目多一以上,才能实现模拟电路多故障诊断。特征维数可以通过增减测点数目来增减。对于含有动态元件的模拟电路,根据系统传输函数,测点电压可以分解为实部和虚部两部分,因此一个测点的电压就能构成二维特征向量。本发明需要诊断多故障,假设并发故障数量为h,根据式(1)知道需要h+1维以上的特征向量,需要多个测点同时测量。此外,经研究发现,增加测试频率虽然不能改变电路的可测试性,但是能提高诊断精度,缓解容差影响,因此本发明采用多频激励。图1是本发明基于改进遗传算法的模拟电路多故障诊断方法的具体实施方式流程图。如图1所示,本发明基于改进遗传算法的模拟电路多故障诊断方法的具体步骤包括:s101:获取传输函数:获取模拟电路在m个测点tm处的传输函数,m=1,2,…,m。s102:确定模拟电路当前输出:当模拟电路出现故障时,在k个不同频率激励信号下测量得到m个测点tm处的输出电压分别表示输出电压的实部和虚部,j为虚数单位,k=1,2,…,k,构成故障输出电压向量为了使故障状态下的输出电压更加准确,可以在对应频率下多次测量输出电压后进行平均,从而得到各个频率下各个测点的输出电压。s103:初始化遗传算法种群:以x={x1,x2,…,xn}作为遗传算法中的个体,其中xn表示第n个元件的参数值,n=1,2,…,n。随机初始化g个个体构成初始种群p,每个个体中随机选择h个元件的参数值在故障范围内随机取值,h≤h,h表示模拟电路中最多同时发生故障的元件数量,其余元件参数值在容差范围内随机取值。经研究发现,三故障一般认为是模拟电路故障并发数的上限,因此h=2,3。s104:判断是否达到遗传算法的迭代结束条件,如果是,进入步骤s110,否则进入步骤s105。遗传算法的迭代结束条件一般有两种,一是达到最大迭代次数,一是目标函数值达到预设阈值,可以根据实际需要进行设置。s105:个体交叉:对种群p中的个体进行交叉操作,得到种群p′。对于本发明的个体而言,可以采用sbx(仿二进制)交叉。记种群p中需要进行交叉的两个个体分别为pi和pj,个体中超过容差范围的基因数目即故障元件数量分别记为λi和λj。由于本发明针对的是多故障诊断,根据规则,任意个体中,参数值超过容差范围的故障元件数目不能大于h,即λi≤h、λj≤h,那么在两个个体进行交叉时,这两个个体中参数值超过容差范围的故障元件数目之和λi+λj不会超过2h。而交叉后的个体中,参数值超过容差范围的故障元件数目仍然不能大于h。基于以上需要,本发明对个体交叉的不同情况分别提出了交叉方式,具体方法如下:(1)λi+λj<h;当λi+λj<h,即个体pi和pj包含的故障元件数量小于等于h,因此任意选择交叉位置即可,交叉后得到的两个个体中单个个体所包含的故障元件数量也小于h,交叉后的个体满足要求。(2)λi+λj=h且λi×λj=0:当λi+λj=h且λi×λj=0,即个体pi和pj只有一个个体包含故障元件,且故障元件数量之和等于h,而另一个个体不包含故障元件,因此在包含故障元件的个体中任意选择一个故障元件作为交叉位置即可,交叉后得到的两个个体中单个个体中故障元件数量小于h,交叉后的个体满足要求。(2)λi+λj=h且λi×λj≠0:当λi+λj=h且λi×λj≠0,即个体pi和pj的两个个体均包含故障元件,且故障元件数量之和等于h,此时需要通过故障元件所处的位置来选择交叉位置,具体方法为:统计得到个体pi和pj中参数值超过容差范围的故障元件集合φ,记元件集合φ中的元件数量为|φ|,如果|φ|<h,则说明两个个体的故障元件存在相同元件,即因此任意选择交叉位置即可,交叉后得到的两个个体中单个个体也最多只会存在h个元件故障,交叉后的个体满足要求。如果|φ|=h,则说明两个个体的故障元件不存在相同元件,为了使交叉后得到的两个个体满足要求,需要任意选择故障元件集合φ中的一个故障元件作为交叉位置。(3)h<λi+λj≤2h当h<λi+λj≤2h,即个体pi和pj的两个个体均包含故障元件,且故障元件数量之和大于h但不超过2h(个体中故障元件数量不会超过h),此时需要通过故障元件所处的位置来选择交叉位置,具体方法为:统计得到个体pi和pj中参数值超过容差范围的故障元件集合φ,记元件集合φ中的元件数量为|φ|,如果|φ|<λi+λj,则说明两个个体的故障元件存在相同元件,在相同故障元件中任意选择一个作为交叉位置,否则任意选择故障元件集合φ中的一个故障元件作为交叉位置。在交叉完毕后,如果得到的两个个体中有个体中的故障元件数量λ′大于h,则将任意λ′-h个故障元件的参数值重置为其容差范围内的随机值。本发明中之所以采用以上方式对不同情况的个体交叉进行具体设置,而不是采用选择任意位置交叉,当得到的两个个体中故障元件数量大于h时将多余故障元件的参数值重置为其容差范围内的随机值这种方式,是为了更好地继承父种群的基因,使遗传算法收敛更快。s106:个体变异:对种群p′中的个体进行变异操作,得到种群q,如果变异得到的个体的故障元件数量λ′大于h,则将任意λ′-h个故障元件的参数值重置为其容差范围内的随机值。本实施例中采用pol(多项式变异)进行个体变异。s107:合并种群:将种群p和种群q进行合并,构成种群s,即s=p∪q,显然合并种群中个体数量为2g。s108:计算个体目标函数值:接下来需要对种群s中的每个个体分别计算目标函数值,对于本发明而言,采用每个个体在不同频率激励信号下得到的输出电压与当前模拟电路的输出电压之间的欧式距离作为目标函数,具体计算方法如下:将种群s中的每个个体分别代入模拟电路的传输函数,得到k个不同频率激励信号下在m个测点tm处的输出电压分别表示输出电压的实部和虚部,g=1,2,…,2g,构成输出电压向量然后采用以下公式计算第g个个体输出电压向量ug与当前模拟电路的故障输出电压向量之间的欧式距离dg,计算公式如下:显然就故障诊断而言,应当是距离越小,表示输出电压与当前模拟电路和输出电压越接近,个体越优。s109:生成下一代种群:根据欧式距离dg从种群s中优选g个个体作为下一代种群p,返回步骤s104。s110:确定故障诊断结果:从当前种群中选择欧式距离最小的个体,该个体中参数值位于故障范围内的元件即为故障诊断结果。实施例为了更好地说明本发明的技术方案,以跳耦滤波电路为例对本发明进行详细说明。图2是本实施例跳耦滤波电路的电路图。如图2所示,本实施例进行双故障诊断,在跳耦滤波电路中选择t1和t2两个测点,这两个点相对于输入点的传输函数分别为:其中,s=jω,ω表示角频率;a0=-r2r3r4r5r8r10r12a1=-r2r3r4(r6r7r9r11r13c2+r5r8r10r11r12c4)a2=-r2r3r4r6r7r8r10r12r13c2c3a3=-r2r3r4r6r7r8r10r12r13r11c2c3c4b0=r1r3r4r5r8r10r12+r1r2r5r7r9r11r13b1=r1r3r4r5r8r10r11r12c4+r1r3r4r6r7r9r11r13c2+r1r2r3r4r5r8r10r12c1+r1r2r5r7r8r10r12r13c3b2=r1r3r4r6r7r8r10r12r13c2c3+r1r2r5r7r8r10r11r12r13c3c4+r1r2r3r4r6r7r9r11r13c1c2+r1r2r3r4r5r8r10r11r12c1c4b3=r1r3r4r6r7r8r10r12r13c2c3(r11c4-r2c1)b4=r1r2r3r4r6r7r8r10r11r12r13c1c2c3c4a′1=r2r3r5r6r7r9r11r13c2a′2=r2r3r5r6r7r8r10r12r13c2c3a′3=r2r3r5r6r7r8r9r10r11r12r13c2c3c4表1是本实施例的双故障信息表。双故障{r9,c2}{r4,r9}{r5,c1}{r3,r4}{r5,r6}{r7,r9}{r4,r12}表1图3是本实施例中{r9,c2}和{r4,r9}两个双故障的三维特征图。图3中展示了测点t1的实部和虚部,以及测点t2的实部。为了验证本发明,本实施例实验分两步进行:1、对指定故障设置故障范围内任意的故障参数值,然后对故障电路进行仿真(激励为1000hz和2000hz的正弦信号)获得两个测点的故障输出电压(共2测点×2频率=4个复电压),构成故障输出电压向量;2、采用本发明方法对电路进行仿真,目标函数为各个个体的输出电压向量与故障仿真获得的故障输出电压向量的欧式距离。当遗传算法运行结束,具有与故障输出电压向量有最小欧式距离的染色体给出电路元件参数值,超出容差范围的元件参数即为故障源。每对双故障随机产生100次不同故障值,然后进行诊断,并统计诊断正确率。表2是本实施例中的诊断结果统计表。故障诊断正确率{r9,c2}97{r4,r9}98{r5,c1}99{r3,r4}91{r5,r6}99{r7,r9}89{r4,r12}95表2根据表2可知,本发明可以对双故障进行有效诊断。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1