基于神经网络的电子线路故障诊断.doc_第1页
基于神经网络的电子线路故障诊断.doc_第2页
基于神经网络的电子线路故障诊断.doc_第3页
基于神经网络的电子线路故障诊断.doc_第4页
基于神经网络的电子线路故障诊断.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 绪论随着现代化大生产的发展,电子线路故障诊断技术的研究越来越重要。根据电子线路的特点可将电子线路故障诊断分为模拟电路的故障诊断和数字电路的故障诊断。在现代电子设备中,绝大部分电子设备故障是由于模拟电路故障导致的,可以说,模拟电路的可靠性几乎决定了电子设备的可靠性。1.1 模拟电路故障诊断的背景意义目前,模拟电路在航天、通信、自动控制、家用电器等许多方面得到广泛地应用。随着电子技术的发展,模拟电路的集成程度越来越高,规模越来越大。因此,对模拟电路的工作的有效性、可靠性、可维修性等提出了更高的要求。在模拟电路故障发生后,要求能及时将导致故障的原因诊断出来,以便检修和替换。对模拟电路的生产部门来说,同样也要求能及时诊断出故障,以便改进工艺,提高产品的合格率。对于某些重要设备中的模拟电路,还要求进行故障的预测,即对正常工作中的模拟电路进行不断的检测,在元件发生故障前就进行替换,以避免故障的发生。根据电子技术的发展状况,由以下三点说明模拟电路故障诊断技术的紧迫性:第一,微电子学时代的到来,电子线路的复杂性和密集性明显增加, 成千上万个电路元器件集成在一个小芯片上,而对这些电路元器件的测试仅限于为数有限的引出端子之上,如此,通常的测量,微调的手段将不再实用甚至无济于事。第二,在无线电电子系统中, 数字电路不能完全取代模拟电路,数字电路的故障诊断方法也不能取代模拟电路的故障诊断方法。第三,现代电子系统复杂度的增加,系统的可靠性显得更为重要,因此,必须提高电子系统的可靠性。综上所述,工业生产对模拟电路提出了新的要求,微电子技术的快速发展对模拟电路的测试和诊断也提出迫切的要求,这就使得科技人员不得不进一步探索模拟电路的测试和诊断上的新理论和新方法,研发新的测试和诊断设备以适应时代的需求。所以,开展模拟电路故障诊断的研究是一项非常有意义的课题。1.2 模拟电路故障诊断的发展与现状相对于数字电路故障诊断而言,模拟电路故障诊断的发展较为缓慢,其中主要原因有以下六点:1)故障状态的多样性。模拟电路的输入、输出信号和元件参数都是连续的,电路中任何一个模拟元件都有可能具有无穷多种故障状态,因此,很难对模拟电路故障进行模拟和仿真。2)诊断的信息量有限。由于实际条件的限制,模拟电路中的电流通常不容易测量,可测量的电压节点也往往是有限的,所以模拟电路供诊断的特征信息是有限的,这就容易造成故障定位的模糊性。3)存在容差。实际应用中的模拟电路元件都会有容差,即电路元件参数在其容差范围内有随机的偏移。电路中普遍存在的容差通常可等效为一个或者多个元件的“大故障”,这就容易导致电路故障的可测性变差。4)非线性问题。模拟电路中通常含有非线性元件,因此模拟电路庞大的计算量是不可避免的。此外,模拟电路通常还包含大量的反馈回路,也增加了测试的复杂性。5)抗干扰能力差。模拟电路对环境变化非常敏感,易受热效应和外界噪声等环境因素的影响。其输出响应也容易受到因为工艺偏差而引起的电路元件参数变化的影响。6)故障模型化困难。模拟电路的输入与输出之间的关系较为复杂并且模型化困难。可以成功应用在数字电路故障诊断中的模型并不能适用于模拟电路故障诊断,而模拟电路故障诊断至今仍然缺乏有效的通用的故障模型。以上六个方面的问题是模拟电路中普遍存在的问题,也是模拟电路故障诊断的难点。尽管存在这些困难,但仍然有许多研究者们致力于模拟电路故障诊断的研究。1960年,R.S.Berkowitz提出了关于模拟电路故障诊断的可解性分析1,研究出了无源线性集总电路元件可解性的必要条件,从此模拟电路故障诊断的理论研究开始了。20世纪70年代出现了一些新的故障诊断原理和方法,其中最突出的成果是参数辨识法与故障字典法,1979年国际电气与电子工程师协会(IEEE)为这两项重要成果出版了模拟电路故障诊断的专辑2,使得模拟电路故障诊断领域得到进一步的发展。但是这些方法不足之处在于要求电路具有较多的测试点,并且计算量大,难以在实际中得到应用。20 世纪80年代提出了一种新的故障诊断方法,即故障验证法,该方法的出现给故障诊断领域增添了新的活力,故障诊断的研究者们从故障诊断的实际出发,将研究的重点从求解全部元件值转变到求解一部分的元件值,以此来确定故障元件或者故障区域,并将之分成故障元件求值与故障定位两部分,大大减小了计算量,削弱了诊断条件。1985年,J.W.Bandler与A.E.Salama对模拟电路故障诊断的理论做了系统的论述3,模拟电路故障诊断理论从此形成了。20世纪90年代初期,伴随人工智能技术的发展,尤其是人工神经网络在不同领域里的广泛运用,故障诊断技术也向着智能化的方向发展。利用神经网络来完成故障状态的分类和故障字典的查询,既提高了故障诊断效率,同时利用神经网络所具有的泛化能力,使得实现对电路软故障的诊断成为可能。在国内,对模拟电路的测试与故障诊断的研究一直都是被关注的研究方向。自80年代末以来,国内相继出版了杨士元4等人的专著。近年来发表了一系列关于应用神经网络的模拟故障诊断的学术论文。提出了基于神经网络的五种模拟电路故障诊断的方法:一是提出了采用模糊神经网络对模拟电路进行故障诊断的方法,但隶属度函数的选取问题仍然是一个难点;二是采用遗传算法对BP(Back-Proparga-tion) 网络进行辅助设计和优化之后,再进行模拟电路故障诊断的方法;三是构造了一种新型神经网络电路故障诊断专家系统,但仅给出理论框架,离实验还有一定的距离;四是分别使用小波变换和小波包变换对输出电压响应的故障特征进行提取,提出了基于小波变换和神经网络的模拟电路故障诊断方法;五是构造模糊 BP 网络故障分类器融合被诊断元件的2个物理量(温度和电压),以确定故障元件。本文采用两种方法进行模拟电路故障诊断研究:一种是基于BP神经网络的模拟电路故障诊断方法;另一种是先利用遗传算法优化BP神经网络,然后再利用优化后的网络进行模拟电路故障诊的方法。1.3 研究内容与论文组织本文主要是利用神经网络进行模拟电路故障诊断的研究,采用BP和GA-BP两种网络对模拟电路故障进行了诊断,仿真效果表明基于神经网络的模拟电路故障诊断系统不但诊断速度快而且准确度高,具有广阔的应用前景。本文的各章节组织安排如下:2 人工神经网络简介人工神经网络(Art1ficial Neural Network,简称ANN)是模仿生物大脑的结构和功能,由大量类似于生物神经细胞的非线性处理单元(人工神经元)相互联接而成的网络,简称神经网络。2.1 神经网络发展及其特点2.1.1 神经网络发展过程神经网络的研究至今已有七十多年的历史,下面分三点进行阐述。(1)发展初期心理学家W.Mcculloch和数学家W.Pitts在1943年合作提出了形式神经元的数学模型(MP模型)5,从此开创了神经网络的研究。心理学家D.Hebb在1949年指出6神经元之间突触联系强度可变的假设,即改变神经元连接强度的Hebb规则,为神经网络的学习算法奠定了基础。计算机学家Rosenblatt7 在1957年提出感知器(Perceptron)模型,第一次把神经网络研究从纯理论的探讨付诸于工程实践。Widrow在1960年提出了自适应线性元件(Adaline)8,它是连续取值的线性网络,主要应用在自适应系统中,这与当时占主导地位的以符号推理为特征的传统人工智能途径完全不同,因而形成了神经网络研究的高潮。(2)低潮时期Minsky和Papert在1969年出版了一本关于感知器的书籍9,发现了感知器存在一些不足,如对于求解异或问题,因而研究工作趋向低潮。不过仍有不少学者继续研究神经网络。Grossberg10提出了自适应共振理论;Kohonen提出了自组织映射网络模型111213;Fukushima提出了神经认知机网络理论等。这些都是在20世纪70年代和20世纪80年代初进行的工作。(3)第二次高潮时期进入世纪80年代,神经网络研究再次高潮。美国物理学家Hopfield在1982年提出了Hopfield神经网络模型 14,有力地推动了神经网络的研究。他引入了“计算能量函数”的概念,给出了网络稳定性判据。在1984年他用此模型成功地解决了复杂度为NP的旅行商问题(TSP)。Felemann和Balllard的连接网络模型指出了传统的人工智能计算与生物计算的区别,给出了并行分布的计算规则。1986年,Rumelhart等人提出并行分布处理(PDP)的理论,同时提出了多层网络的误差反向传播学习算法,简称BP算法15。这种算法根据学习的误差大仙,把学习的结果反馈到中间层次的隐单元,改变他们的权系数矩阵,从而达到预期的检测目的,解决了多层网络的学习问题。BP算法从实践上证明了神经网络的运算能力很强,可以完成许多学习任务,解决许多具体问题。BP网络时迄今为止最常用、最普通的网络。(4)新的发展阶段上世纪90年代,Narendra和Parthasarthy提出了推广动态神经网络系统及其连接权的学习算法16,其具有非线性特性,增强了神经网络的鲁棒性。另外,在1995年,Jenkins提出了光学神经网络17,可以发挥光学的互连能力和并行处理能力,加强了神经网络的自适应能力与学习能力,光学神经网络的神经元之间的连接权不但数量大而且动态控制结合强度,可以实现高速运算,极大地促进神经网络的发展。在国内,对神经网络的研究开始于20世纪80年代末,中科院的汪云九先生起到了先导作用18。1997年,申金媛提出了多目标旋转不变分类识别的新方法,也就是基于联想存储级联WTA模型的旋转不变识别19。在识别多模式时可以联想到一个模式,采用全单极的形式,对互连权值实行二值化截取,同时把联想存储模型和WTA模型级联起来,如此,提升了存储容量和容错性。1994年,廖晓昕对细胞神经网络提出了新的数学理论20,推动了该领域的发展。吴佑寿提出了传递函数可调的神经网络,这对神经网络理论的发展具有十分重要的意义。以上研究开拓了神经网络的应用领域。2.1.2 神经网络的特点神经网络模拟了生物神经系统的一些特征,从而具有一些与传统数字计算机不同的特点,具体有下面几点:(1)非线性映射从本质上而言,神经网络就是一个非线性系统,可以实现从输入空间到输出空间的非线性映射,具有较强的非线性信息处理能力。工程界普遍面临的问题就是寻求输入空间到输出空间之间的非线性关系模型,神经网络可以很好地模拟大部分无模型的非线性系统。(2)固有的并行结构神经网络在结构上是并行的,在信息处理顺序上也是并行的,神经网络同一层内的神经元都是同时工作的。因此,利用超大规模的集成硬件实现的神经网络可以大大提高信息处理速度。(3)泛化能力神经网络的泛化是指对不在训练样本集中的数据,网络也可以产生合理的输出。神经网络信息分布存储的特征,使之对外界输入信息和输入模式具有联想记忆的能力。(4)容错性神经网络具有天生容错的能力(也称鲁棒性),即其性能在不利于运行的条件下是逐渐下降的,如果一个神经元或者神经元的连接被损坏了,则存储模式的记忆能力将会降低。由于神经网络信息分布式存储的特性,在网络的严重恶化之前这种破损是分散的。因此,神经网络的性能是一个缓慢变化的过程而不是灾难性的改变。为确保神经网络的容错性,在设计神经网络的算法时应进行正确的度量。(5)自适应性由于神经网络经过学习可以调整自身的突触权值和阈值,从而具备适应外界变化的能力。神经网络的自适应性主要体现在学习性、可训练性、自组织能力以及推理能力这四个方面。2.2 神经网络原理2.2.1 神经网络基本结构单元神经元是神经网络的基本单元,它类似于生物体的神经系统基本单元,神经元是一个多输入单输出的结构,其功能是模拟生物神经元最基本的特征,图1为神经网络中的第个神经元的结构示意图。神经元是一个多输入、单输出的非线性元件,其输入输出关系可以描述为 (1)其中,为的输入信号, 为神经元单元阈值, 为神经元的连接输入信号的权值,为输入信号数目。为神经元输出, 为激活函数,也称为传递函数。激活函数不仅是一个神经元的核心也是神经网络的核心,其特性曲线光滑且可导,它是神经网络具有非线性分类能力的根源。通常,称一个神经网络是线性还是非线性是由神经网络神经元所具有的激活函数的线性或非线性来决定的。在实际应用中,最常用的输出函数是Sigmoid函数函数,常用的有线性型、阈值型和S型(Sigmoid)等。常用激活函数的表达式为:(1)线性型神经元函数连续取值,输入有连接矩阵加权产生输出,其激活函数表达式为: (2)线性激活函数可以获得较大值域范围。(2)阈值型这是一种非线性模型,改函数有两种不同取值情况:一种是当输入为,输出值为+1或-1时,的表达式为 (3)第二种情况是当输入为,输出值为1和0时,的表达式为: (4)(3) S型S型函数是连续单调可微的函数,也有两种表达式:一种是对数sigmoid函数,即logsig函数,输出取值范围为(0,1)。当输入为, 的表达式为 (5)第二种是正切sigmoid函数,即tansig函数,输出取值范围为(-1,1),输入为, 的表达式为: (6)2.2.2 神经网络的构成神经网络是由许多互相连接的神经元构成的网络。按神经元连接方式的特别痛可以把神经网络的拓扑结构分为两大类,即层状结构与网状结构。层状结构的神经网络是由若干层构成的,其中第一层是网络的输入层,最后一层是网络的输出层,在输入层与输出层之间的是网络的隐含层。神经网络的每一层都包含了一定量的神经元。每一层神经元与前一层神经元的输出相连接,而同一层内的神经元互不连接。按照层与层之间是否存在反馈连接,又可以把层状结构的神经网络分成两种,即前馈网络和反馈网络。前馈网络(又称前向网络)的特点是相邻两层之间的神经元互相连接,各神经元之间无反馈。网络中的每个神经元可接收来自前一层的多个输入,并产生一个输出传给下一层的神经元,输入信息只能从输入层开始一层一层向前传递。反馈网络在网络的输出层与隐含层之间或在隐含层与隐含层之间存在反馈连接,即网络中的神经元同时接收来自前一层神经元的前馈输入和来自后一层神经元的反馈输入。Hpofield网络就是一种最典型的反馈神经网络。此外,递归神经网络(Recurrent Neural Network,简称RNN)也是目前一种常用的反馈网络。网状结构的神经网络(又称互联网络)的特点是在任何两个神经元之间都具有双向的连接关系,即每个神经元既可以是输入节点,也可以是输出节点。因此,输入信号在各个神经元之间反复传递,从初始状态开始,直到趋于某一稳定状态或进入周期振荡状态为止。随着神经元个数的增加,互联网络的结构会快速复杂化,将会增加网络的计算量。2.2.3 神经网络的学习机制神经网络的权值和阈值反映了神经网络的存储信息,在神经网络的结构和激励函数确定了以后,必须经过学习,使网络权值和阈值的分布达到某种输入输出关系的要求。学习就是应用一系列的输入矢量样本,通过预先确定的学习算法来调整网络的权值和阈值。神经网络的学习算法可分为有监督学习和无监督学习两大类。有监督学习中,需要为学习规则提供一系列正确的网络输入/输出的实例,即训练样本。如,其中,分别表示网络的输入和相应的期望输出。当网络输入时,将网络输出和相应的期望值进行比较,然后应用学习规则调整权值和阈值,使网络的输出接近于期望值。误差反向传播算法,即BP算法是一种有监督学习算法。无监督学习中,权值和阈值的调整只与网络的输入有关系,没有有效的期望值。在学习过程中,根据某种规则反复调整网络权值和阀值,直到趋于某种稳定的状态。这类算法大多用聚类法,将输入模式归类于有限的类别,尤其应用于向量中。Hebb学习规则是一种典型的无监督学习算法。神经网络经过学习后,权值和阈值中储存了学习样本中信息,就可以根据新输入矢量,给出相应的输出矢量。3 基于BP神经网络的模拟电路故障诊断3.1 BP神经网络BP网络是一种多层前馈型神经网络,它可以实现从输入到输出的任意非线性映射。由于权值的调整采用误差反向传播,因此称其为BP网络。目前,在人工神经网络的应用中,绝大部分的神经网络模型都采用BP网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP网络主要用于以下四方面:函数逼近:用输入矢量和相应的输出矢量训练一个网络以逼近一个函数。模式识别:用一个待定的输出将它与输入联系起来。分类:把输入矢量所定义的合适方式进行分类。数据压缩:减少输出矢量维数以便于传输或存储。3.1.1 BP神经网络结构BP神经网络通常是由输入层、隐含层和输出层组成, 根据具体问题的需要,网络可以含有多个隐层。BP网络的层与层之间互相连接,每层神经元之间无连接。网络输入层的神经元个数取为输入向量的维数,网络输出层神经元的数目取为输出向量的维数。网络隐层神经元个数的取值目前还没有一个确定的标准来确定,其值通常是通过反复地试验试凑之后,将最适合网络的隐层节点数目作为最终选择。本论文选择具有双隐层的BP神经网络进行说明,其拓扑结构如图2所示。第一层为网络的输入层,有R个输入、s个神经元,第二层有s个输入、h个神经元,第三层有h个输入、k个神经元,第四层为网络的输出层。3.1.2 BP神经网络的训练(1)BP 算法基本思想BP神经网络主要由三大部分组成,即网络的拓扑结构、各层神经元的传递函数(也称激励函数)和学习规划。BP神经网络的学习过程如图3所示,一般工作顺序为:首先接收一组训练样本集的输入,再依次计算网络各层的输出,完成前向过程(Forward Pass);然后根据网络的实际输出值与期望输出值,计算网络的误差;最后根据误差反向传播的规则,依次调整输出层和隐层之间、各个隐层之间以及隐层与输出层之间的权值和阈值,以达到减少误差的目的,完成误差反向传播过程(Error Back Propagation)。由于网络输出误差是由网络的输入、输出以及期望输出所决定的,而网络的权值和阈值又是按照误差来调整的,所以这三者的所有信息都存储在网络的权值和阈值中。随着网络学习过程的进行,各层之间的权值不断地调整,误差会不断地减小,最后网络的输出将以设定的精度接近于网络的期望输出。网络学习过程结束以后,已被学习的样本的有效信息会被存储到网络的权值中,当有相似的输入时,BP神经网络就会有相近的输出。图3 BP神经网络学习过程(2) BP 算法BP神经网络学习规则的基本思想是:对网络的权值和阈值的调整是向着函数下降最快的那个方向,即负梯度方向。 (7)其中,表示为当前网络的权值和阈值矩阵,表示为当前表现函数的梯度,表示为网络学习速度。下面详细介绍BP算法的推导过程。本文以三层BP网络为例进行说明,设第个输入节点为,第个隐层节点为,第输出节点为。输入节点到隐层节点间的网络权值为,阈值为;隐层节点到输出节点间的网络权值为,阈值为。当网络输出节点期望值为,输出节点总数为个,模型的计算公式为: (50)BP网络学习算法的具体步骤如下:a) 网络初始化,主要包括确定网络各层的神经元个数,设定目标精度和迭代次数,进行权值和阈值初始化;b) 输入训练样本集供BP网络学习;c) 计算网络各层的输出;d) 将网络实际输出值与期望值比较,求各层的输出误差;e) 如果实际误差小于设置的误差精度或者迭代次数达到了预设的次数,则停止,否则,则继续下一步;f) 将计算误差进行反向反馈调整网络的权值和阈值;g) 重复进行步骤b)e)。BP算法的程序流程如图4所示。(3)BP算法特点从本质上来说,BP算法就是将样本的输入输出问题转变成非线性优化的问题,其使用了优化技术中的梯度下降算法,利用迭代运算来求解权值,就相当于学习记忆。其主要特点是实现起来简单,学习时间长。BP网络的学习过程就是求一个非线性函数的全局最优解的过程,倘若陷入局部最优值,则达不到学习目的。(4)改进的BP算法BP算法本质上为梯度下降法,其所要求的目标函数又较为复杂,这必会导致BP算法的效率较低。为加快BP网络的学习速度,研究者们提出了许多改进算法。BP算法的改进主要包括两种途径:一种是使用启发式学习算法,即分析表现函数的梯度,其中含有弹性梯度下降法(trainrp)、自适应学习速率梯度下降法(traingda)、有动量的梯度下降法(traingdm)等。另一种途径为基于数值最优化理论的学习算法,其中含有高斯-牛顿法、共轭梯度法和Levenberg-Marquardt方法。由于弹性梯度下降法具有简单易行、收敛速度快等优点,本文后面将用这种改进算法作为BP网络的训练函数,下面对该方法进行详细地介绍。将弹性梯度下降法作为BP网络的训练函数时,网络权值的调整仅由目标函数偏导数的符号决定,而不必考虑函数偏导数的幅值。其基本原理是:权值和阈值的变化大小由不同的修正值决定。当前两次训练时导数的正负号没有改变,权值和阈值的修正值随着参数增加;当前两次训练时导数的正负号有改变,权值和阈值的修正随着减小;如果导数为零,则修正值不变。这样调整的结果是,权值的变化呈震荡的趋势,不过权值的变化量逐步减小了。如果权值变化连续几次都在同一个方向,则增加权值的变化量级。弹性梯度下降法的迭代公式为: (51)其中,表示前一次的修正值,为目标函数的梯度。该算法通常比启发式学习算法中的其他算法的收敛速度要快,并且此算法简单易行,占用内存也较少。3.1.3 BP网络应用特点若把BP网络的功能视为一种从输入到输出的高度非线性映射,设输入节点数目为M个,输出节点数目为N个,那么BP网络就可以实现从M维的欧氏空间到N维的欧氏空间的映射,从原则上来讲,对M和N是没有大小限制的,因此,BP网络在众多领域中获得广泛的应用。BP网络的应用特点主要有下面几点:1)工作速度高。人工神经网络体系在结构上有两大特性:一是并行性的数据处理方式;二是数据存储的分布性可以解决冯诺依曼体系中的“处理器存储器瓶颈”。因此,BP网络的工作速度很高,便于使用超大规模集成电路(VLSI)的技术来实现可以充分利用到硬件的超高速。2)BP算法的采用。BP网络的拓扑结构是一个多层前馈性网络,各层神经元的传输函数是可导函数。BP网络能成为一种十分有效的有监督学习网络的原因是其获取知识的一种十分有效学习算法。3)泛化能力强。 泛化(又称推广)能力是指通过训练后的神经网络对没有在训练样本集中出现过的样本可以做出正确反应的一种能力。而BP网络的泛化能力主要依赖于网络的设计。例如利用足够的且具有代表性的样本训练出的网络的泛化能力较强。除此之外,还可通过在训练样本的输入信号中加入噪声的方法来提高BP网络的泛化能力。4)适用范围。BP网络适用于求解函数逼近、模式识别、分类、数据压缩等非精确解的问题。对于求解精确解一类的问题,其并不适用。5)对内部硬件故障具有良好的容错性。BP网络是一个分布式的并行处理系统,输入信息储存在整个系统中,网络中的每一个神经元以及每一个连接都对网络的整体性能有贡献,但是这种贡献往往又都是比较微小的。所以当出现一定比例的神经元或者连接损坏的情况时,仅可能使系统的整体性能有所下降,而很难使整个系统完全失效,因此BP网络具有较强容错性。3.2 基于BP神经网络的模拟电路故障诊断实例3.2.1 诊断电路选择与训练、测试样本集的采集(1)诊断电路选择功率放大器(Power Amplifier)在整个音响系统中起到了组织、协调的枢纽作用,在某种程度上主宰着整个系统能否提供良好的音质输出。设计功放电路的基本要求是在负载一定的情况下,输出的功率尽可能大,输出信号的非线性失真尽可能地小,效率尽可能的高。本文以功率放大器电路作为模拟电路故障诊断对象。如图5是一个功率放大器电路,本章将分别利用BP神经网络和基于遗传算法优化的BP网络对其进行仿真分析。(2)神经网络的训练样本集采集本文利用Multisim仿真软件对功率放大电路进行仿真,由于电路中的节点电压对电路中的故障状态较为敏感,因此本文以电路中的各节点电压的有效值作为模拟电路故障数据的特征参量,即在电路故障时,将电路中各节点的电压值作为体现该故障状态的参量。在图5中,功率放大器电路的输入信号Vi是幅度为200mv,频率为1Khz的正弦信号。通过分析电路的拓扑结构,根据电路元件的故障率以及模拟电路故障诊断的经验,了解到功率放大器电路产生多故障(一个或多个元件同一时间出现故障)的概率极少,通常为单故障(一个元件故障),功率放大器电路的所有典型的故障状态如表1所示。本文采集训练样本的方式为:首先选择功率放大器电路中标明的116号可测节点作为电压测试节点;然后在每一种故障状态下,测量电路中16个可测节点的电压值,并将测量数据保存在表2、表3中。完成上面两步即完成了BP网络训练样本的采集工作,表2、表3中的数据即为BP神经网络的训练样本集。需要说明的有以下三点:1)本文元件故障的设置是利用Multisim软件人为地设设置开路和短路状态。2)电阻R3和电位器Rp1在断路状态下各节点电压值相差无几,所以作为一种故障状态处理。电位器Rp2和二极管D1也做一样处理。3)电阻RL表示扬声器。功率放大器电路在工作正常和故障时各节点的电压数据以及各种状态下对应的二进制编码如表2、表3。电压值都以毫伏(mv)为单位,小数点后保留三位有效数字。由于电路的输入信号电压V17=141.419mv、直流电源Vcc=12V、直流负电源Vee=-12v在电路工作正常与故障时取值都不变,因此在表中不予给出。(3)测试样本集模拟电路元件普遍存在容差,因此在故障状态所测试的数据通常不会为恒定值。由于神经网络的训练样本都是理想值,为突出神经网络的泛化能力、鲁棒性等优点,本文等间隔地从训练样本集中选择几组训练样本,将选择的样本中的每一个数值的容差作为网络的测试样本。3.2.2 BP网络诊断模拟电路故障用BP网络实现对模拟电路故障诊断相当于在BP网络中建立故障字典。利用故障字典法进行模拟电路故障诊断的基本原理是:首先,提取模拟电路在各种可能的故障状态下的电路特征(如测试点的电压、电路的幅频特性等);然后,将电路特征与故障状态一一对应的关系制作成一个故障字典。在实际诊断时,只需要获取模拟电路的实时特征,就可以从所制作的故障字典中查出此时所对应的故障状态了。模拟电路的特征向量是一个可以反映电路状态(包括正常工作状态以及各种故障状态)特征的向量,一般由测试电路节点电压经过一定的数学处理获得,考虑到电路元件的容差,假设由测试值所获得的特征向量是维向量,电路的故障状态数目为,那么BP网络分类器就需要完成从维特征空间的点及其邻域到维空间的点及其邻域的映射。因此,可知用BP神经网络来实现模拟电路故障诊断的原理与故障字典法的有很多相似之处。本节将以一个功率放大器电路为例,对基于BP神经网络的模拟电路故障诊断进行分析。(1)BP网络的构建根据映射存在定理可确定BP神经网络的层数,该定理的基本含义是:任意连续函数都可由一个三层BP神经网络来逼近,对于一般的故障诊断问题,有一个或者两个隐含层的BP神经网络就已经够用了,所以确定神经网络结构主要就是确定网络隐含层的神经元数。根据以往的经验以及对本例的多次试验,本例选用双隐层的BP神经网络,第一层隐层神经元数目选为19,第二层隐层神经元数目选为25。如果待诊断的模拟电路有个可测试节点,那么BP神经网络的输入层可以选择个神经元。由于本例中有16个可测节点,故输入层的神经元数目为16。由于电路的故障状态是采用二进制编码,因此对于个故障状态的模式,需要将满足不等式的作为BP网络输出层的神经元个数,所以本例中的输出层数目为5。综上所述,本系统构成了一个16-19-25-5的BP神经网络。(2)网络训练样本集网络训练样本集如表2和表3所示,共有25组样本,每组有16个不同节点的电压值组成。在25组样本中,第一组为正常状态,第2组至第25组分别为功放电路的24种单故障状态。为加快网络的收敛速度,训练样本在输入网络之前进行了归一化处理。(3)训练函数与激活函数采用不同的训练函数对网络的性能有较大的影响,如收敛速度、存储占用等。由于多层BP网络大部分使用的是S型的激励函数,这类函数又被称为“挤压”函数,它们可以将无限范围内的输入压缩至有限范围的输出,当输入值很大或 很小时,输出 函数的斜率将会接近于0。因此,当使用梯度下降法来训练多层神经网络时,它的梯度数量级将会非常小,从而减小网络的权值和阈值的调整范围,即使没有达到最优解,也会出现训练 停止的结果。而弹性梯度下降法(trainrp)就能避免这种影响。而且弹性梯度下降法训练多层的神经网络,收敛速度快,网络的训练误差也比较小。因此,本例采用的训练算法为弹性梯度下降法。BP网络的传递函数通常采用log-sigmoid型函数logsig()、tan-sigmoid型函数tansig()以及纯线性函数purelin(),本文在隐层中采用的激励函数为tansig函数,在输出层中采用的激励函数为logsig函数。由于本例所构建的BP网络的期望输出是一组二进制数,故本文在输出神经元后添加了一个判决函数,公式为 (52)保证BP网络的输出为一组二进制数,故障类型如表1所示,其输出节点的二进制故障编码如表2和表3中的故障编码所示。设置诊断系统的目标精度为0.00001,网络训练次数为5000 次,根据试验,BP在5000次内可以达到目标精度的要求。在Matlab8.0中,调用newff函数创建一个BP神经网络,然后调用train函数对所建网络进行训练。训练完成后的调用sim函数对网络进行仿真。源序代码参看附录A。(4)网络的测试阶段由于电路元件普遍存在容差,因此本例在构建测试样本时,随机选择几组故障状态,然后将这些状态人为地加上一定比例的容差,构成测试样本。将测试样本输入到BP 神经网络中,即可得出分类结果。倘若期望的输出与实际输出一致,那么表明网络故障诊断是正确的,反之则不正确。本例随机从25组训练样本中抽取六组样本,将这六组样本中的每一个值的容差作为测试样本集。(5)结果分析1)网络训练结果分析本例所设计的BP神经网络的训练过程如图6所示,由图可看出在经过的3123迭代训练后网络输出达到了目标精度要求。仿真输出结果与期望输出如表4所示,表中的数据小数点后保留四位有效数字,例如在故障状态2情况下,网络仿真输出为0.0000,0.0014,0.0000,0.9786,0.0000五位浮点数,与期望输出0,0,0,1,0五位二进制数十分接近,即可判定为故障状态2故障。从表4中的网络实际输出数据与期望输出数据对比,即可发现,每一个实际输出值与其对应的期望输出值非常接近,网路的均方误差为,因此本文设计的BP神经网络达到了设计要求。2)测试结果分析本例中选取的是故障状态2、5、8、11、14、17的样本,将这六组样本中的每一个数据的容差构成测试样本。将测试样本输入已经训练好的BP网络,测试输出数据与期望输出数据存放在表5中,现举一例进行说明,当将第六组训练样本(即故障状态5下的16个电压值)的容差的情况下,网络输出为0.0000,0.0001,1.0000,0.0075,1.0000五位浮点数,与期望输出0,0,1,0,1五位二进制数十分接近,可判定为故障状态5故障。从测试结果可以发现,本设计的BP神经网络能够准确的诊断出功率放大器电路的故障状态。通过多次统计测试的输出结果,本文设计的BP神经网络故障诊断系统的正确率接近100%。(6)BP网络故障诊断系统的辅助设计为使本设计的故障诊断系统的更为完善,本文在细节方面做了进一步的工作,主要有:1)由于网络期望输出为一组五位的二进制数,但实际输出往往是五位浮点数,这使得在读取故障点时不是很直观,本文通过判决程序将浮点数转化为二进制数,然后将二进制转化为十进制数,方便测试人员一眼即可读出故障点。2)读出故障点之后,并不能立刻知道电路中哪个元件发生故障,还需要根据故障状态表查询,这会使得测试效率比较低,所以为方便测试员立刻知道故障点的具体位置,本文添加了语音报错的功能,即将网络诊断输出的二进制数转变为十进制数并通过Matlab程序驱动计算机声卡,当将一组特征向量输入本文所设计的诊断系统时,如果诊断电路处于正常状态,则会进行双语播报(中文和英文),如果存在故障,则会语音报出电路的故障点以及故障元件。4 基于GA-BP算法的模拟电路故障诊断神经网络具有很强的学习能力与适应能力,在实际应用中,大部分神经网络的模型采用的是BP神经网络,BP网络是前馈网络的主要部分,是神经网络的精华。但BP神经网络还不是一个十分完善的网络,具有收敛速度慢、不易收敛到全局最小值等缺陷。遗传算法的引入为人工神经网络的设计与训练提供了一条新的途径。其不受其搜索空间约束条件的限制、不需要导数等相关辅助信息,可以有效的克服BP网络存在的缺陷。4.1 遗传算法的基本原理及其特点遗传算法(Genetic Algorithm,简称GA)的基本原理是以英国博物学家达尔文(Darwin)的进化论与奥地利遗传学家孟德尔(Mendel)的基因遗传学原理25为根据的。进化论认为自然界中的每一种生物都是在不断发展的过程中逐渐变得更适应环境的。物种中的每一个个体的基本特征为后代所继承,但是后代又不会完全与父代相同,与父代的有差异特征如果能有利于后代适应环境,就被留存下来。在自然界中,适应环境能力强的个体存活下来,适应能力弱的将会被淘汰,这就是进化论中适者生存的原理。基因遗传学认为,基因杂交和基因突变会产生对自然环境有更强适应性的后代,基因杂交和突变后的个体经过优胜劣汰的自然选择后,适应性强的基因就会被保留下来。遗传算法在优化问题中,是将问题的解表示成“染色体”(编码产生字符串),从一群“染色体”串出发,按照适者生存的法则,将它们置于待解决的问题(环境)中,选择出适应性强的“染色体”进行复制,然后通过交叉、变异产生新一代更适应环境的“染色体”新种群。随着选择、交叉、变异的循环进行,适应性强的染色体会被一代一代选出并加以组合,进而不断地产生出更好的个体。整个这个过程就如同自然界的生物进化一样,更能适应环境的特征被不断继承下来,不适应环境的特征逐渐被淘汰掉。子代往往会包含父代的大量信息,但子代在总体特性上总会胜过父代,从而使整个种群向前进化,就遗传算法来说,这也就是一个不断接近最优解的过程。为突出遗传算法的优越性,下面先介绍三种传统的寻优算法类型。(1)解析法解析法是三种算法中研究的最多的一种方法,它又可以分为直接法和间接法。其中直接法又被称为爬山发,该算法的寻优方式是让梯度信息沿着最陡的方向逐次计算,以求得局部极值。间接法是先使目标函数的梯度为零,然后通过求解一组非线性方程以得到局部极值。以上两种方法的主要有两个缺点:一是它们最后求得的是局部极值而非全局极值;二是它们要求目标函数必须是连续光滑的,并需要导数的信息。(2)枚举法枚举法能够克服解析法的两个主要缺点,可以寻找到全局极值,也不要求目标函数需是连续光滑的。但枚举法最大不足是计算效率过低。在实际的问题中,往往有很大的搜索空间,而枚举法不可能搜索到所有的情况。即使著名的动态规划方法(其本质上属于枚举法)也常遇到指数爆炸的问题。枚举法对于中等规模的问题,往往也无能为力。(3)随机法因为上述两种寻优方法都有严重的不足,人们就更青睐随机搜索算法。该算法是在搜索空间中进行随机地取值并记录所取得的最好结果,考虑到效率问题,搜索到一定程度就终止搜索。所以,随机法的最终结果往往不是最优值。就本质上而言,随机法还是属于枚举法。在遗传算法中,虽然也用到了随机思想,但与上述的随机搜索方式不同。遗传算法是通过先对参数空间编码再用随机选择作为工具使得搜索过程沿着更高效的方向变化。所以,随机搜索并不一定就意味着是无序搜索。而且遗传算法不需要梯度信息,通过模拟自然的进化过程来搜索 最优解。与其它寻优算法相比,遗传算法的主要特点归纳为下面几点:1)对可行解表 示的广泛性。遗传 算法是将参数 的编码作为运算对象的,而传统的优化算法一般是 直接用参数的本身进行优化运算。遗传算法的这种对参数进行编码的操作方法,可以借鉴生物的遗传进化过程,也可以应用遗传操作算子,这使得遗传算法可以应用到广泛的领域中去。2)群体搜索性。许多传统的搜索方式都是单点搜索,而单点搜索一般提供的信息量不多,搜索效率也不高,对于那些多峰分布的搜索空间,该方法往往会陷入局部的某个极值点,使得搜索过程停滞不前。遗传算法则与之相反,采用的是同时处理种群中多个个体的方法,也就是对搜索空间的多个解同时进行评估,这使遗传算法具有良好的全局搜索能力,该方法也是遗传算法特有的一种隐含的并行性。3) 遗传算法使用启发式 概率 搜索技术。不少传统 算法采用确定性 的搜索 方法,该方法从一个 搜索点到另 一搜索点转移都 有确定的转 移规则,而这种确定性的规则有可能使得搜索 永远达不到所需的最优点,很大程度上限制了 算法的 应用。遗传算法用概率的变迁规则指导它的搜索方向, 而非采用确定性规则。概率也只是作为一种工具,用以引导搜索过程向着搜索空间中更优解的区域移动,表面上看起来这是一种盲目的搜索方法,实际上是有明确的搜索方向,而且具有隐含并行的搜索机制。 4) 遗传算法直接把目标函数值用作搜索信息。传统的优化算法不但需要借助目标函数值,而且还要目标函数的导数值等其他辅助的信息。遗传算法评估基因个体仅需要适应度函数的函数值就可以了,并且遗传操作也是在此基础上完成的。更为重要的是遗传算法确定进一步的搜索方向和搜索范围而不需要依靠目标函数的导数值和其他辅助信息。遗传算法对适应度函数的唯一的要求是编码必须与可行解的空间对应,而不能出现死码。由于限制条件较小,遗传算法的应用范围非常广泛。 5) 遗传算法具备独特的并行性和并行计算机制。 6) 遗传算法的可扩展性,使之易于同其他优化算法混合使用,从而提高处理问题的能力。4.2 遗传算法的实现4.2.1 基本遗传操作遗传算法的基本遗传操作主要由参数的编码、种群初始化、适应度函数设计、遗传算子操作构成,下面将一一详细地进行介绍。(1)参数的编码编码(Encoding)是对遗传算法进行应用时需要执行的首要问题,也是对遗传算法设计时的一个十分关键步骤。在进行参数编码时,应根据具体问题选择编码的方式,因为编码的好坏会直接影响到选择、交叉、变异等遗传操作。在遗传算法中描述问题的可行解,也就是把问题的可行解空间转换至遗传算法可以处理的搜索空间的方法就称为编码。反之,从遗传算法的解空间 向问题的解空间的转换被称为解码(又称译码,Decoding)。遗传算法的编码即为 可行解的遗传表示, 它是使用遗传算法求 解问题 的第一步 。传统的二进 制编码是0、 1字符构成的固定长度串。二进制 编码的缺点是存在汉明悬崖(Hamming Cliff),即在一些相邻整数的二进制代码之间存在很大的汉明距离,致使遗传算法的 交叉和变异都难以跨越 。 为解决这个问题而提出的格雷码(Gray Code),在相邻整数之间汉明距离都为1,然而汉明距离在整数之间的差并 非单调增加,引入另一层 次 的隐悬崖。对于一个具 体的应用问题,怎样设 计一种 完美的编码方案一直都是遗传 算法的应用难点之一,也是遗 传 算法的一个重要研究方向。由于遗传 算法应用的广泛性 ,迄今 为止人 们已经提出了许多 不同的编码方法,总的来说,可以分为三大类:二进制编码方法、 浮点数编码方法以及 符号编码方法。下面介绍几种主要的编码方法。1)二进制编码方法二进制编码方法是遗传算法中最主要的一种编码方法,它使用的编码符号集是由二进制符号0和1所组成的二值符号集0,1,它所构成的个体基因型是一个二进制编码符号串 。二进制编码串 的长度与问题 所要求 的求解精 度有关。二进 制编码的优点有四点:一是编 码、 解码操作简单 易行;二是交叉、 变异 等遗传操作 便于实现;三是符合最 小字符集编 码原则;四是便于利 用模式定 理对算法进行理 论分析,因为模式定 理是以二进 制编码为寄出的。二进制编码的缺点是:首先,二进制编码存在连续函数离散化时的映射误差。个体编码串的长度较短时,可能达不到精度的要求,而个体编码串的长度较大时,虽然能提高编码精度,但却会 使遗传 算法的搜 索空间 急剧扩大。其次 是它不能直 接反映出所求问 题的本身结 构特征,这样也就 不便于开发 针对问题的 专门知识的 遗传运算算子。2)格雷 码编码二进 制编码不便于 反映所求问题 的结构特征 ,对于一些 连续函数 的优化问题 等,也由于遗传 运算的随机 特性而使得 其局部搜素 能力较差。 为了改 进这个 特征, 人们提出 用格雷码来对 个体进行编码。 格雷码是这样 一种编码方法, 其连续的两个整数 所对应的编码之间 仅仅只有一个码位 是不同的,其余 码位都完全 相同。格雷码是二进制 编码方法的一 种变形。格雷 码编码的主要 优点有四点:一是 便于提高遗传 算法的局 部搜索能力;二是 交叉、变异等遗传操作 便于实现; 三是符合最小字 符集编码原则;四是便于利 用模式定理 对算法进 行理论分析。3)浮点数编码对于一些多维、高精度的连续函数优化问题,使用二进制编码来表示个体时会有一些不利之处。人们在一些经典算法的研究中所总结出的一些宝贵经验也就无法在这里加以利用,也不便于处理非平凡约束条件。为了克服二进制编码方法的缺点,人们提出了个体的浮点数编码方法。所谓浮点数编码方法,是指个体的每个个体的每个基因值用某一范围内的一个浮点数来表示,个体的编码长度等于其决策变量的个数。因为这种编码方法使用的是决策变量的真实值,所以浮点数编码方法也叫做真值编码方法。浮点数编码方法的优点有一下几点:a) 适合于在遗传 算法中表示范 围较大的数。b) 适合于精度 要求较高的 遗传算法。c) 便于较大 空间的遗传搜索。d) 改善了遗传 算法的计算复 杂性、提高了 运算效率。e) 便于遗传 算法与经典

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论