本发明属于模拟电路故障诊断
技术领域:
,更为具体地讲,涉及一种基于改进正余弦算法的模拟电路单故障诊断方法。
背景技术:
:随着集成电路的快速发展,为了提高产品性能、降低芯片面积和费用,需将数字和模拟元件集成在同一块芯片上。据资料报道,虽然模拟部分仅占芯片面积的5%,但其故障诊断成本却占总诊断成本的95%,模拟电路故障诊断一直是集成电路工业中的一个“瓶颈”问题。目前,在模拟电路故障诊断领域,主要有测前仿真(如故障字典方法)和测后仿真方法。测前仿真是在测试前根据电路图和参数等对电路的可能故障进行仿真,并将故障响应存储起来,当电路发生故障后,用此前构建字典时采用的激励,测量故障响应。然后在故障字典中查找与之最相近的响应,从而找到故障源。这种方法的优点是故障诊断速度较快,但缺点同样明显,即构建字典时,需要穷举所有故障。加之模拟元件参数是连续变化的,因此穷举法的空间复杂度较高。此外,模拟电路的元器件具有容差特性,且很多故障是软故障(元器件参数值超过容差范围),使用故障字典难以覆盖所有故障,导致故障诊断准确率较低。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种基于改进正余弦算法的模拟电路单故障诊断方法,对正余弦算法进行改进,以优化个体进化过程,从而提高故障诊断的准确率。为了实现上述发明目的,本发明基于改进正余弦算法的模拟电路单故障诊断方法包括以下步骤:s1:获取模拟电路在预设测点t处的传输函数,将模拟电路中元件数量记为c,记每个元件参数的标称值为i=1,2,…,c;对c个元件进行经测点t进行故障诊断的模糊组分析,将得到的模糊组数量记为n,每个模糊组选取一个元件作为代表性故障元件,记其他非代表性故障元件的数量为m;s2:当模拟电路出现故障时,在预设激励信号下测量得到测点t处的故障电压相量s3:以x={x1,…,xn,xn 1,…,xn m}作为粒子群中的粒子位置,其中前n个xn表示第n个代表性故障元件的参数值,n=1,2,…,n,后m个xm表示第m个非代表性故障元件的参数值,m=n 1,n 2,…,n m;对每个代表性故障元件分别生成1个分种群pn,在分种群pn中的每个个体中,第n个代表性故障元件的参数值xn在该代表性故障元件的故障范围内取值,其他故障元件的参数值在容差范围内取值;然后将n个分种群pn合并,构成种群p,记种群p中个体数量为d,第d个个体为xd,d=1,2,…,d;s4:初始化迭代次数g=1;s5:基于改进正余弦算法进行种群进化,具体步骤包括:s5.1:分别计算种群p中每个个体的适应度值,计算方法为:根据传输函数分别计算个体在测点t处的输出电压相量,然后计算输出电压相量与故障电压相量的欧式距离作为每个个体对应的适应度值;s5.2:从种群p的d个个体xd中选择适应度值最小的个体作为老师个体xteacher,基于老师监督策略对每个个体xd进行进化,得到个体x′d:其中,c1为[0,1]内的随机数,tf表示学习因子;s5.3:对于步骤s5.2生成的每个个体x′d,基于正余弦算法进行优化得到优化个体x″d,优化计算公式如下:其中,r1、r2为[0,2π]内的随机数,r3为[-2,2]内的随机数,r4为[0,1]内的随机数;s5.4:计算步骤s5.3得到的每个个体x″d的适应度值,将个体按照适应度值从小到大进行排序;对于步骤s5.3生成的每个个体x″d进行反思学习得到个体其计算公式如下:其中,是从较个体x″d适应度值更小的个体中选择的个体,当x″d为适应度值最小的个体时,当x″d为适应度值次小的个体时,和的其中一个为x″d;rf为反思因子;s5.5:对于步骤s5.4得到的每个个体进行边界检查,具体方法为:判断个体的父个体xd所属的分种群pn,将个体中第n个代表性故障元件的参数值xn限制在该代表性故障元件的故障范围内,将其他故障元件的参数值限制在容差范围内;将边界检测后的d个体构成子种群q;s6:将种群p和种群q进行合并,构成种群s,即s=p∪q;s7:分别计算种群s中每个个体的适应度值,根据适应度值从种群s中优选出适应度值较小的d个个体s8:对步骤s7筛选出的d个个体分别基于反向学习进行个体优化,得到优化后的反向个体反向学习的计算公式如下:其中,r6、r7分别为[0,1]内的随机数;w为进化权重;为的边界反向解,中各个参数值的计算公式如下:其中,表示中第n′个元件的参数值,n′=1,2,…,n m,表示中第n′个元件的参数值,un′、ln′分别为当前d个个体中第n′个元件参数值的最大值和最小值;为的种群反向解,计算公式为:其中为当前d个个体中的两个随机个体;s9:对于步骤s7得到的d个个体和步骤s8得到的d个反向个体分别计算每个个体的适应度值,根据适应度值从中优选出适应度值较小的d个个体构成下一代种群p′;s10:判断是否迭代次数g<gmax,如果是,进入步骤s11,否则进入步骤s12;s11:令p=p′,g=g 1,返回步骤s5;s12:从种群p′中筛选出适应度值最小的个体,该个体中参数值位于故障范围内的代表性故障元件即为故障诊断结果。本发明基于改进正余弦算法的模拟电路单故障诊断方法,首先分析得到模拟电路的传输函数和模糊组,每个模糊组选择一个代表性故障元件,当模拟电路出现故障时测量得到故障电压相量,初始化种群时每个代表性故障元件对应一个分种群,代表性故障元件参数值在对应分种群的个体中在故障范围内取值,其他故障元件在容差范围内取值,在个体进化过程中采用老师监督策略、正余弦算法、反思学习,生成子种群与父种群合并后,将每个个体根据传输函数计算得到的输出电压相量和故障电压相量之间的欧式距离作为适应度值,结合反向学习确定下一代种群,最后一代种群中最优个体中参数值位于故障范围内的代表性故障元件即为故障诊断结果。本发明利用改进的正余弦算法找出与故障响应最接近的模拟电路传输函数参数,进而准确确定故障源,通过对个体进化过程的改进提高故障诊断的准确率。附图说明图1是本发明基于改进正余弦算法的模拟电路单故障诊断方法的具体实施方式流程图;图2是本发明中基于正余弦算法生成子种群的流程图;图3是本实施例中二阶托马斯模拟滤波电路的电路图。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。为了更好地说明本发明的技术方案,首先对本发明的技术思路进行简要说明。假定模拟电路在预设测点上的传输函数为h(j,ω),其中j表示虚数单位,ω表示角频率,x表示元件参数向量,x=[x1,x2,…,xc],xi表示第i个元件的参数,i=1,2,…,c,c表示模拟电路的元件数量。那么传输函数h(j,ω)可以表示为:其中,表示输入电压相量,表示测点的输出电压相量,an,an-1,…,a0、bm,bm-1,…,b0表示以元件参数值为变量的函数。如果频率不变,那么传输函数h(j,ω)仅由参数向量x确定,从而可以将故障诊断转化为最优化问题。当电路发生单故障,即某个故障元件c超过容差范围其中表示故障元件c的元件参数标称值,α表示容差系数,其取值范围一般为α∈(0,0.05]。测得电路实际故障电压相量为则故障诊断就是找到一组最佳的元件参数,使得下式取得最小值:其中,e表示误差,||||表示二范数,即为欧氏距离;由传递函数计算得到。故可以通过测点的实际输出测量值与传递函数值的误差e作为适应度函数。基于以上思路,提出本发明基于改进正余弦算法的模拟电路单故障诊断方法。图1是本发明基于改进正余弦算法的模拟电路单故障诊断方法的具体实施方式流程图。如图1所示,本发明基于改进正余弦算法的模拟电路单故障诊断方法的具体步骤包括:s101:获取模拟电路信息:获取模拟电路在预设测点t处的传输函数,将模拟电路中元件数量记为c,记每个元件参数的标称值为i=1,2,…,c。对c个元件进行经测点t进行故障诊断的模糊组分析,将得到的模糊组数量记为n,每个模糊组选取一个元件作为代表性故障元件,记其他非代表性故障元件的数量为m。s102:确定模拟电路当前输出:当模拟电路出现故障时,在预设激励信号下测量得到测点t处的故障电压相量为了使故障状态下的输出电压更加准确,可以在多次测量故障电压相量后进行平均,从而得到故障电压相量。s103:初始化种群:以x={x1,…,xn,xn 1,…,xn m}作为粒子群中的粒子位置,其中前n个xn表示第n个代表性故障元件的参数值,n=1,2,…,n,后m个xm表示第m个非代表性故障元件的参数值,m=n 1,n 2,…,n m;对每个代表性故障元件分别生成1个分种群pn,在分种群pn中的每个个体中,第n个代表性故障元件的参数值xn在该代表性故障元件的故障范围内取值,其他故障元件(即其他n-1个代表性故障元件和m个非代表性故障元件)的参数值在容差范围内取值;然后将n个分种群pn合并,构成种群p,记种群p中个体数量为d,第d个个体为xd,d=1,2,…,d。s104:初始化迭代次数g=1。s105:基于改进正余弦算法进行种群进化:图2是本发明中基于改进正余弦算法进行种群进化的流程图。如图2所示,本发明中基于正余弦算法生成子种群的具体步骤包括:s201:计算个体适应度值:分别计算种群p中每个个体的适应度值,本发明中适应度值的计算方法为:根据传输函数分别计算个体在测点t处的输出电压相量,然后计算输出电压相量与故障电压相量的欧式距离作为每个个体对应的适应度值。s202:基于老师监督策略进行个体进化:从种群p的d个个体xd中选择适应度值最小的个体作为老师个体xteacher,基于老师监督策略对每个个体xd进行进化,得到个体x′d:其中,c1为[0,1]的随机数,tf表示学习因子,决定学生群体的学习力度。本实施例中,考虑到在迭代前期,学员与老师之间的差距较大,这是由于学员对所学知识比较陌生,所以学员学习效率高,学到的知识多而快.经过一段学习时间后,学员掌握的知识越来越多,与老师的差距就变得越来越小,学习效率明显下降,学到的知识少且慢。因此设计一种非线性递减策略确定学习因子,以进行学习引导。学习因子tf的计算公式为:其中,c2为[0,1]的随机数,gmax表示预设的最大迭代次数。s203:基于正余弦算法对个体进行优化:对于步骤s202生成的每个个体x′d,基于正余弦算法进行优化得到优化个体x″d,优化计算公式如下:其中,r1、r2为[0,2π]内的随机数,r3为[-2,2]内的随机数,r4为[0,1]内的随机数。为了提高种群迭代效率,本实施例中参数r1采用以下公式计算得到:s204:反思学习:计算步骤s203得到的每个个体x″d的适应度值,将个体按照适应度值从小到大进行排序。对于步骤s203生成的每个个体x″d进行反思学习得到个体其计算公式如下:其中,是从较个体x″d适应度值更小的个体中选择的个体,当x″d为适应度值最小的个体时,当x″d为适应度值次小的个体时,和的其中一个为x″d。rf为反思因子。本实施例反思因子rf采用如下公式计算得到:其中,c为预设的常数,经实验发现其优选取值范围为[6,15],r5为[0,2π]内的随机数。反思因子rf较大时可以使生成的群体具有高度多样性,取小可以使算法更快地收敛。s205:边界检查:对于步骤s204得到的每个个体进行边界检查,具体方法为:判断其父个体xd所属的分种群pn,将个体中第n个代表性故障元件的参数值xn限制在该代表性故障元件的故障范围内,将其他故障元件的参数值限制在容差范围内。将边界检查后的d个体构成子种群q。s106:合并种群:将种群p和种群q进行合并,构成种群s,即s=p∪q,显然合并种群中个体数量为2d。s107:个体优选:分别计算种群s中每个个体的适应度值,根据适应度值从种群s中优选出适应度值较小的d个个体本实施例中个体优选采用锦标赛优选方法。s108:基于反向学习进行个体优化:对步骤s107筛选出的d个个体分别基于反向学习进行个体优化,得到优化后的反向个体反向学习的计算公式如下:其中,r6、r7分别为[0,1]内的随机数;w为进化权重;为的边界反向解,即基于边界信息计算得到的反向解,中各个参数值的计算公式如下:其中,表示中第n′个元件的参数值,n′=1,2,…,n m,表示中第n′个元件的参数值,un′、ln′分别为当前d个个体中第n′个元件参数值的最大值和最小值。为的种群反向解,即基于种群的内部信息计算得到的反向解,计算公式为:其中为当前d个个体中的两个随机个体。本实施例中进化权重w从0到1非线性递增,其计算公式为:w=1/(1 exp(-a×(g/gmax-b)))(11)其中,a、b分别表示预设的权重控制参数,exp表示以自然常数e为底的指数函数。s109:确定下一代种群p′。对于步骤s107得到的d个个体和步骤s108得到的d个反向个体分别计算每个个体的适应度值,根据适应度值从中优选出适应度值较小的d个个体构成下一代种群p′。s110:判断是否迭代次数g<gmax,如果是,进入步骤s111,否则进入步骤s112。s111:令p=p′,g=g 1,返回步骤s105。s112:确定故障诊断结果:从种群p′中筛选出适应度值最小的个体,该个体中参数值位于故障范围内的代表性故障元件即为故障诊断结果。实施例为了更好地说明本发明的技术方案和技术效果,采用一个具体模拟电路对本发明进行实验验证。图3是本实施例中二阶托马斯模拟滤波电路的电路图。如图3所示,本实施例中二阶托马斯模拟滤波电路包括6个电阻元件,2个电容以及3个放大器,各元件参数的标称值如图3中标示。本实施例中以vout作为测点,其传输函数如下式所示:根据符号分析法和传输函数可知,该电路的模糊组情况为:{r1},{r2},{r4,r5,r6,c2},{r3,c1}。模糊组内部元件的故障不可区分,模糊组之间的故障理论上都能被区分。本实施例中4个模糊组的代表性故障元件分别为r1,r2,r3,r4。随机设置一个故障,例如r2=1108ω,其它元件在容差范围内随机取值:r1=9842ω、r3=10236ω、r4=10479ω、r5=10100ω、r6=9946ω、c1=9.5093nf、c2=10.301nf,得到激励信号作用下的故障电压相量设置种群数目为d=100,最大迭代次数gmax=100。经过本发明中遗传算法优化后得到最优个体,其中各元件参数值为:r1=9529ωω、r2=1095ωω、r3=10312ωω、r4=9900ωω、r5=9592ωω、r6=9504ωω、c1=10.443nfnf、c2=9.693nf。显然只有电阻r2超出了容差范围,故障诊断正确。接下来对每个代表性故障元件分别设置100次故障,每次故障为不同故障值,其他无故障元件在容差范围内随机设置,对本发明的诊断准确率进行统计。表1是本实施例中各个代表性故障元件的诊断准确率统计表。元件r1r2r3r4诊断准确率97%98%95%96%表1如表1所示,本实施例中各个代表性故障元件的诊断准确率均达到95%以上,完全可以满足应用需求。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域:
的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域:
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。当前第1页1 2 3 
技术特征:1.一种基于改进正余弦算法的模拟电路单故障诊断方法,其特征在于,包括以下步骤:
s1:获取模拟电路在预设测点t处的传输函数,将模拟电路中元件数量记为c,记每个元件参数的标称值为对c个元件进行经测点t进行故障诊断的模糊组分析,将得到的模糊组数量记为n,每个模糊组选取一个元件作为代表性故障元件,记其他非代表性故障元件的数量为m;
s2:当模拟电路出现故障时,在预设激励信号下测量得到测点t处的故障电压相量
s3:以x={x1,…,xn,xn 1,…,xn m}作为粒子群中的粒子位置,其中前n个xn表示第n个代表性故障元件的参数值,n=1,2,…,n,后m个xm表示第m个非代表性故障元件的参数值,m=n 1,n 2,…,n m;对每个代表性故障元件分别生成1个分种群pn,在分种群pn中的每个个体中,第n个代表性故障元件的参数值xn在该代表性故障元件的故障范围内取值,其他故障元件的参数值在容差范围内取值;然后将n个分种群pn合并,构成种群p,记种群p中个体数量为d,第d个个体为xd,d=1,2,…,d;
s4:初始化迭代次数g=1;
s5:基于改进正余弦算法进行种群进化,具体步骤包括:
s5.1:分别计算种群p中每个个体的适应度值,计算方法为:根据传输函数分别计算个体在测点t处的输出电压相量,然后计算输出电压相量与故障电压相量的欧式距离作为每个个体对应的适应度值;
s5.2:从种群p的d个个体xd中选择适应度值最小的个体作为老师个体xteacher,基于老师监督策略对每个个体xd进行进化,得到个体x′d:
其中,c1为[0,1]内的随机数,tf表示学习因子;
s5.3:对于步骤s5.2生成的每个个体x′d,基于正余弦算法进行优化得到优化个体x″d,优化计算公式如下:
其中,r1、r2为[0,2π]内的随机数,r3为[-2,2]内的随机数,r4为[0,1]内的随机数;
s5.4:计算步骤s5.3得到的每个个体x″d的适应度值,将个体按照适应度值从小到大进行排序;对于步骤s5.3生成的每个个体x″d进行反思学习得到个体其计算公式如下:
其中,是从较个体x″d适应度值更小的个体中选择的个体,当x″d为适应度值最小的个体时,当x″d为适应度值次小的个体时,和的其中一个为x″d;rf为反思因子;
s5.5:对于步骤s5.4得到的每个个体进行边界检查,具体方法为:判断个体的父个体xd所属的分种群pn,将个体中第n个代表性故障元件的参数值xn限制在该代表性故障元件的故障范围内,将其他故障元件的参数值限制在容差范围内;将边界检测后的d个体构成子种群q;
s6:将种群p和种群q进行合并,构成种群s,即s=p∪q;
s7:分别计算种群s中每个个体的适应度值,根据适应度值从种群s中优选出适应度值较小的d个个体
s8:对步骤s7筛选出的d个个体分别基于反向学习进行个体优化,得到优化后的反向个体反向学习的计算公式如下:
其中,r6、r7分别为[0,1]内的随机数;w为进化权重;为的边界反向解,中各个参数值的计算公式如下:
其中,表示中第n′个元件的参数值,n′=1,2,…,n m,表示中第n′个元件的参数值,un′、ln′分别为当前d个个体中第n′个元件参数值的最大值和最小值;
为的种群反向解,计算公式为:其中为当前d个个体中的两个随机个体;
s9:对于步骤s7得到的d个个体和步骤s8得到的d个反向个体分别计算每个个体的适应度值,根据适应度值从中优选出适应度值较小的d个个体构成下一代种群p′;
s10:判断是否迭代次数g<gmax,如果是,进入步骤s11,否则进入步骤s12;
s11:令p=p′,g=g 1,返回步骤s5;
s12:从种群p′中筛选出适应度值最小的个体,该个体中参数值位于故障范围内的代表性故障元件即为故障诊断结果。
2.根据权利要求1所述的模拟电路单故障诊断方法,其特征在于,所述步骤s5.2中学习因子tf的计算公式为:
其中,c2为[0,1]内的随机数,gmax表示预设的最大迭代次数。
3.根据权利要求1所述的模拟电路单故障诊断方法,其特征在于,所述步骤s5.3中参数r1采用以下公式计算得到:
4.根据权利要求1所述的模拟电路单故障诊断方法,其特征在于,所述步骤s5.3中反思因子rf采用如下公式计算得到:
其中,c为预设的常数,r5为[0,2π]内的随机数。
5.根据权利要求4所述的模拟电路单故障诊断方法,其特征在于,所述常数c的取值范围为[6,15]。
6.根据权利要求1所述的模拟电路单故障诊断方法,其特征在于,所述步骤s9中进化权重w的计算公式为:
w=1/(1 exp(-a×(g/gmax-b)))
其中,a、b分别表示预设的权重控制参数,exp表示以自然常数e为底的指数函数。
技术总结本发明公开了一种基于改进正余弦算法的模拟电路单故障诊断方法,首先分析得到模拟电路的传输函数和模糊组,每个模糊组选择一个代表性故障元件,当模拟电路出现故障时测量得到故障电压相量,将元件参数向量作为种群个体,在个体进化过程中采用老师监督策略、正余弦算法、反思学习,生成子种群与父种群合并后,将每个个体根据传输函数计算得到的输出电压相量和故障电压相量之间的欧式距离作为适应度值,结合反向学习确定下一代种群,最后一代种群中最优个体中参数值位于故障范围内的代表性故障元件即为故障诊断结果。本发明利用改进的正余弦算法找出与故障响应最接近的模拟电路传输函数参数,进而准确确定故障源。
技术研发人员:鲜航;杨成林;杨小燕
受保护的技术使用者:电子科技大学
技术研发日:2020.12.09
技术公布日:2021.03.12