陈 云 徐亚军
(中国民航飞行学院 四川 广汉 618307)
甚高频通信系统(VHF COMM)担负着飞机与飞机、飞机与地面台之间的通信,是目前在飞机上应用最为广泛也是最为重要的无线电通信设备。该系统主要由发射电路和接收电路两部分组成。发射电路主要用话音音频调制RF载波信号并送往甚高频天线;接收电路将从甚高频天线上接受到的RF信号进行解调,从中检出音频并送往机组和其它飞机系统使用。
对于发射电路而言只要电路中任一个电子元件出了问题就会导致发射机发射的信号距离近、信号不稳定等故障现象。因此,迅速地诊断出故障元件就成了关键的任务。
目前对甚高频通信系统发射电路故障元件的诊断方法还停留在过去的方法上,比如:依靠一些仪表,按照跟踪信号逐点寻找原因的思路,再根据人的逻辑思维来判断故障的所在。这样的诊断技术在很大程度上要依赖于维修人员的经验和专业技术水平,可以说几乎没有形成一套科学的、成熟的办法。
因此,针对上述甚高频通信系统发射电路故障诊断的缺点本文提出了一种新的、快速、有效的诊断方法——基于虚拟仪器的甚高频通信系统发射电路故障诊断技术。该方法是在以虚拟仪器为平台,以神经网络为算法,专门针对甚高频通信系统发射电路故障诊断而设计。该方法能迅速地诊断出相应的故障元件,且不依赖于维修人员的经验和技术。
虚拟仪器最早是由美国NI公司提出,通过将计算机的硬件资源与仪器硬件资源结合起来,操作人员可以通过相应的软件制作成自己熟悉的、友好的界面并结合相应的图形化程序来操作仪器面板,完成对被测物的数据采集、分析、显示、存储等功能。其基本结构如图1所示。
图1 虚拟仪器的基本结构
虚拟仪器继承了PC技术的优点,与传统仪器相比具有以下特点:
(1)智能化程度高,处理能力强。
(2)复用性强,经济合理。
(3)灵活自如,操作性强。
人工神经网络就是模拟生物大脑的功能和结构,采用物理和数学的方法进行研究的一种信息处理系统。在人工神经网络中应用的最多、最为普遍的网络就是BP(Error Back Propagation Network)神经网络[1]。
BP神经网络是基于误差反向传播的一种监督式学习算法的人工神经网络,其结构图如图2所示。
图2 BP网络结构
从图中可以看出,x1…xn为网络的输入,y1…ym为网络的输出,其中设d1…dj为隐含层的输出,o1…om为网络的期望输出,wij为输入层神经元i与隐含层神经元j的连接权值,vjt为隐层神经元j与输出层神经元t的连接权值。
2.3.1 初始权值
BP网络的初始权值很重要,初始权值不同会导致每次训练的结果也不同。初始值过大或者过小都会影响学习的速度。一般情况,初始权值要取较小的随机值,这样既能保证各节点的输入值较小,也可以防止多次连续学习后某些权值的绝对值成不合理的增长趋势[2]。
2.3.2 权值的修正
一般BP网络是一个三层神经网络,因此对权值的修正包括两个部分:隐含层与输出层之间的权值修正和输入层与隐含层之间的权值修正。
隐含层神经元j与输出层神经元t之间的权值修正量为:
其中,η为学习率,Δvjt为权值修正量。
输入层神经元i与隐含层神经元j之间的权值修正为:
2.3.3 激励函数
BP网络的激励函数有很多,一般采用单极Sigmoid函数,即
也可以采用双极Sigmoid函数,此时
2.3.4 学习步长
学习步长也叫学习率,在实际应用中,很难确定始终都合适的最佳学习率。一般当训练到误差曲面的平坦区时,使之增大以便加快收敛,当训练到误差曲面的变化剧烈区时,使之减小以防止过学习。一个较为理想的方法就是加入“动量项”,使学习率该大时增大,该小时减小[4]。
含有动量项的表达式为:
α 为动量系数,一般有 α∈(0,1)。
使用BP网络对故障进行诊断时,训练样本和目标样本的选取尤为重要。对于甚高频通信系统的发射电路来说,容易 产 生 故 障 的 元 件 主 要 有 电 阻 R802、R803、R804、R805、R806和电感L805、L806、L807、L808的开路故障。其中有5个关键电压测试点,它们分别是电容C836、C840、二极管CR804负极、三极管Q803基极、Q804基极上的电压。这5个电压值在上述电子元件发生故障时与正常值相比变化相对较大,足以反映相应的故障类型。如表1所示。
目标样本为表2所示。
对于三层BP网络来说,隐含层神经元数目的确定是非
表1 训练样本
表2 目标样本
表3 不同神经元数的误差对比
常重要的。由于隐含层神经元数的选择无统一标准,所遵守的一般原则是:为了追求网络结构的简单,我们在能正确反映输入输出关系的基础上,选择尽可能少的神经元节点[5]。因此,根据学者提供的大量实验研究选择了公式作为选取隐含层神经元数的依据[6,7]。其中,N为隐含层神经元数,a为输入层神经元个数,b为输出层神经元个数,δ为1-10之间的整数。初步估计本课题的BP网络隐含层神经元数应该在9-18之间,经过反复对网络进行训练得出如表3所示的结果。
从表中可以看出当N=15时网络误差最小,训练步数较少,精度最高。因此,在本课题的BP网络结构选择为5-15-10。
利用Labview语言制作的测试界面分为5大部分:网络训练面板、测试数据输入面板、故障指示面板、诊断误差显示面板、系统停止面板。如图3所示。
网络训练面板:该面板主要是用于提供多种训练函数来训练网络,以便选择最优的一个。
测试数据输入面板:该面板主要是用于输入需要诊断的故障数据。
故障指示面板:该面板主要用于将诊断出的故障信息用指示灯和文字显示出来。
诊断误差显示面板:该面板主要用于显示并计算出本次故障诊断的实际输出与相应的目标样本输出的误差值,根据该误差值可以初步判断诊断结果的可靠性。
系统停止面板:该面板用于停止这个系统的运行。
在此采用LabView和Matlab语言混合编程来制作诊断程序。诊断程序共分为2大部分:网络训练部分和故障诊断部分,如图4,5所示。
该部分主要用于实现测试界面中网络训练面板的功能。
该部分主要用于实现测试界面中测试数据输入面板、故障指示面板和诊断误差显示面板的功能。
需要诊断的故障数据如表4所示。
表4
将两组故障数据分别输入到测试界面的测试数据输入面板中得到如图6,7所示的诊断结果。
从图中可以看出该系统通过对两组需要诊断的故障数据进行迅速地处理并诊断出设备中R802和R805的开路故障,同时用故障指示灯和文字直观地告诉给用户。
图3 测试界面
图4 网络训练部分程序
图5 故障诊断部分程序
本课题将虚拟仪器和BP网络算法相结合应用于甚高频通信系统发射电路的故障诊断中是一项新的尝试。不过尽管本课题在这方面进行了有益的探讨,但需要做的工作还有很多,也有很多的工作还没有到位。比如:由于甚高频通信系统是飞机上的重要电子设备,关于这方面的资料具有一定的保密性,所以能查阅的重要资料较少,收集的故障样本数也相对较少,有很多故障都还没有进行系统的分析和研究。甚高频通信系统的故障类型很多,该诊断方法能否成功地应用于其他故障诊断尚待验证,能够用于工程实际的诊断系统也有待开发。
图6 第一组数据诊断情况
图7 第二组数据诊断情况
[1]廖薇,许春冬,刘锦高.基于神经网络的模拟电路故障诊断研究[J].微电子学与计算机,2010,27(5):125-128.
[2]董长虹.Matlab神经网络与应用[M].北京:国防工业出版社,2007.
[3]赵争鸣,刘建政,孙晓瑛.太阳能光伏发电及其应用[M].北京:科学出版社,2005.
[4]王恩亮,沈元隆.基于神经网络的混合电路故障检测[J].通信技术,2010,43(6):241-245.
[5]李云红.基于BP神经网络的模拟电路故障诊断[J].计算机与数字工程,2009,37(6):192-194.
[6]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005:44-52.
[7]张春红,陆绮荣.LabVIEW在液压系统故障检测中的应用[J].大众科技,2008(2):26-27.
[8]姚文俊,游正红.基于神经网络的模拟电路的故障诊断[J].中南民族大学学报:自然科学版,2004,23(3):50-53.