基于BP神经网络的数字式涡流传感器特性曲线拟合的实现

发布者:自由探索者最新更新时间:2012-11-03 来源: 现代电子技术 关键字:BP神经网络  涡流传感器  曲线拟合  MATLAB语言 手机看文章 扫描二维码
随时随地手机看文章
    数字式涡流传感器工作在正常条件下,保持某些参数值恒定不变的前提下,线圈等效电感L就是位移d的单值函数。因此,传感器输出信号的频率f与微小位移信号d之间就会呈现正比例关系。若被测试件位移产生变化时,数字式涡流传感器频率f变化就直接反映被测试件位移d
的情况。
    但是在实际中利用涡流传感器进行位移测量时,输入和输出特性曲线存在较为严重的非线性关系,影响到传感器的测量精度,为了提高传感器的测量精度,实际中经常通过计算机利用最小二乘法、查表法、线性插值等方法解决非线性问题。为准确反映数字式涡流传感器d-f间的非线性关系,实现精确测量,需要拟合出一条曲线尽可能逼近数字式涡流传感器实际的输入、输出特性。
    笔者将BP(Back Propagation)神经网络算法引入到涡流传感器输入输出非线性特性曲线的拟合中,采用MATLAB语言编程建立神经网络,基于实验测得数据对数字式涡流传感器实际的非线性特性进行拟合,利用神经网络自身具有良好的非线性处理能力、自适应学习能力和容错性逼近得出最佳关系曲线。

1 数字式涡流传感器的工作原理
1.1 涡流传感器基本原理
   
若有一线圈中的铁心是由整块铁磁材料制成的,此铁心可以看成是由许多与磁通相垂直的闭合细丝所组成,因而形成了许多闭合的回路。当给线圈通入交变的电流时,由于通过铁心的磁通是随着电流做周期性变化的,所以在这些闭合回路中必有感应电动势产生。在此电动势的作用下,形成了许多漩涡形的电流,这种电流就称为电涡流。电涡流形成原理如图1所示。


    当线圈中通过高频电流I时,线圈周围产生高频磁场,该磁场作用于金属体,但由于趋肤效应,不能透过具有一定厚度的金属体,而仅作用于金属表面的薄层内。在交变磁场的作用下金属表面产生了感应电流Ie,即为涡流。感应电流也产生一个交变磁场并反作用于线圈上,其方向与线圈原磁场方向相反。根据图1(b)所示的等效电路,按KVL可列出电路方程组如(1)式所示:

    这两个磁场相互叠加,就改变了原来线圈的电感L,L的变化仅与金属导体的电阻率ρ、导磁率μ、激励电流强度I、频率f、线圈的几何形状r以及线圈与金属导体之间的位移d有关。当被测对象的材料一定时,ρ、μ为常数,仪表中的I、f、d也为定值,于是等效电感L就是位移d的单值函数。[page]

1.2 测量原理
   
数字式涡流传感器的测量原理方框图如图2所示。


    为了尽可能使数字式涡流传感器输出频率达到稳定,实验过程中选用性能稳定的集成LC振荡器MC1648。在探头接近破测试件时,因为探头线圈L和谐振电容器C构成谐振回路,谐振频率表达式如(5)式所示:
   
    上式中L为探头线圈自感值,C为谐振电容器电容值。因为电感L是位移d的单值函数,所以传感器输出信号的频率f与被测试件的位移量d之间成正比。传感器输出信号经电压比较器和整形电路输出为符合TTL电平规范的脉冲数字信号,最后由计算机显示输出。

2 BP神经网络原理
2.1 人工神经元结构
   
人工神经元是人工神经网络中最基本组成单位。常用的人工神经元模型可用图3模拟。


    当神经元j有多个输入xi(i=1,2,…,m)和单个输出yj时,输入和输出的关系如(6)式所示:
   
    式中θj为阈值,wij为从神经元i到神经元j的连接权重因子,f(·)为传递函数或称为激励函数。
2.2 BP网络学习过程
   
BP算法是一种监督式的学习算法。BP神经网络算法的主要思想是:假设输入样本为P1,P2,…,Pn,目标样本为T1,T2,…,Tn,网络的输出为A1,A2,…,An。当输出与目标样本产生误差之后,利用误差反向传播回去进行调整权值,尽可能使输出A1,A2,…,An与目标样本T1,T2,…,Tn相近,使误差达到最小值,权值调整结束。BP算法是由两部分组成:信息的正向传递与误差的反向传播。在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层没有得到期望输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各神经元的权值直至达到期望目标。

3 BP神经网络的MATLAB设计
   
设计一个BP网络需要确定神经元的特性和网络的输入层、隐层、输出层以及各层之间的传输函数。
3.1 网络层数
   
反向传播网络是基于BP误差传播算法的多层前馈网络。多层BP网络不仅有输入节点、输出节点,而且还有一层或多层隐含节点。一个三层的BP网络理论上可逼近任意的非线性映射,为避免网络规模过大,隐含层层数不宜多,因此文中在实现对于数字式涡流传感器实验数据曲线拟合时,采用三层的BP网络就可以满足需要。三层BP网络的拓扑结构如图4所示,包括输入层、隐含层和输出层,层与层之问采用全连接方式。各神经元与下一层所有的神经元联结,同一层单元之间不存在相互连接,用箭头表示信息的流动。


3.2 输入层、输出层的节点数
   
BP网络的输入层的神经元数由输入数据变量个数确定。
    本文以数字式涡流传感器的输入(被测位移量)作为输入节点,输入层的节点数为1;以数字式涡流传感器的输出(输出频率f)作为输出节点,输出层的节点数为1。

[page]

3.3 训练函数的选择
   
考虑到LM(Levenberg Marquardt)算法是一种利用标准的数值优化技术的快速算法,该方法是一种将最陡下降法和牛顿法相结合的算法,可以克服神经网络收敛速度慢、易陷入局部极小值的缺点,并且在网络参数相对较少的情况下具有收敛速度极快、稳定性能强等优点,因此本文采用trainlm(LM)算法函数对网络进行训练,大大减少了网络训练的迭代次数。
3.4 传输函数
   
BP网络传递函数,又称为激活函数必须是连续可微的,通常采用S型的对数函数logsig、双曲正切函数tansig或线性函数purelin。前两种为非线性函数,分别将X∈(-∞,+∞)的输入压缩为Y∈[-1,1]和Y∈[0,1]的输出,因此,对本文的非线性拟合问题,输入层和隐层采用非线性传递函数tansig,输出层采用线性函数purelin,以保持输出的范围。
3.5 隐层的节点数
   
隐含层神经元数目是根据网络收敛性能好坏来确定的。
    目前对于隐含层数目的确定没有严格的规定。一个公认的指导原则是样本点的偏差在允许范围条件下用最平滑的函数去逼近未知的非线性映射。隐含层神经元个数过少可能训练不出网络,即网络的鲁棒性差,抗噪声能力不强,不能辨识以前没有遇到的模式;但是隐含层神经元个数过多,又会使学习时间过长,误差不一定最小,出现过度吻合问题。因此通常采用“试凑法”,通过比较网络输出误差与期望误差之间的拟合程度,选择仿真效果最好时所选择的隐含层节点数。一般对于三层网络隐含层节点数可以根据(7)式所示的经验公式大致确定最佳隐含层单元的数目。
   
    式中M为输入层节点个数,N为输出层节点个数,H为隐含层输入个数。由此隐含层节点数应该在3~12这个范围之内,训练次数为2 000,训练误差为0.000 1。在学习率初定为0.1且不变的情况下对网络进行训练。经过试验,不同隐含层节点数的训练情况如表1所示,得到最好的隐含层节点个数为11。


    如图5所示,隐层节点数为11时的网络训练过程误差变化情况,可以看出,网络经初始化,利用函数trainlm对网络进行23次训练后,网络就达到了目标误差的要求。训练过程中,目标误差随着训练次数增大逐渐减小,直至达到所规定的期望误差0.000 1停止训练。

[page]

4 仿真研究
   
完成系统硬件连接,并对系统进行调试,通过实验测得某数字式涡流传感器系统输出电压和被测位移量之间对应关系的一组数据如表2所示。由实验数据可知:d—f变化趋势在被测试件位移量较小时基本上成线性关系;但是在被测试件位移量较大时,线性度较差,呈现非线性关系,这主要因为影响传感器特性的因素有很多;被测试件表面平整度、表面磁效应、表面镀层、表面尺寸以及传感器的安装和工作温度等诸多因素都会对涡流传感器的特性产生影响。为了验证BP神经网络对于位移一频率关系拟合的正确性,本文采用最小二乘算法进行仿真对比研究。最小二乘算法拟合后残差平方和的大小决定了多项式拟合的效果,为了尽可能降低各测量点的残差平方和的数值,要合理选择拟合的阶次。拟合阶次的选择既要兼顾拟合曲线的光滑程度,又要注重考虑真实反映传感器输入、输出之间的变化规律。利用MATIAB语言编写最小二乘算法程序。误差准则为:目标误差rose(均方误差)的计算公式如(8)式所示:
   
    上述两式中N为样本长度。


    取m=6阶,最小二乘算法拟合结果如(10)式所示:

    为了提高神经网络的训练速度,文中将实验测得数据进行归一化处理,将所收集的数据映射到指定的区间[0,1]之中,根据上述过程利用MATLAB语言编程建立BP神经网络、并对网络初始化、进行网络训练和仿真测试。基于BP神经网络和最小二乘算法拟合曲线如图6所示,仿真结果对比如表3所示。数字式涡流传感器特性曲线拟合效果如图6所示。



5 结论
   
仿真结果表明,只要实验测得数据足够多,就可利用所建BP神经网络实现涡流传感器输入和输出之间的非线性映射,从而得到涡流传感器的特性曲线。基于MATLAB建立BP神经网络拟合数字式涡流传感器的特性曲线的程序设计简单,且具有较强非线性处理能力和函数逼近能力,网络运算速度快、性能稳定。

关键字:BP神经网络  涡流传感器  曲线拟合  MATLAB语言 引用地址:基于BP神经网络的数字式涡流传感器特性曲线拟合的实现

上一篇:基于BP神经网络的数字式涡流传感器特性曲线拟合的实现
下一篇:单芯片编码器实现精确运动控制

推荐阅读最新更新时间:2024-05-02 22:24

基于BP神经网络的数字式涡流传感器特性曲线拟合的实现
    数字式涡流传感器工作在正常条件下,保持某些参数值恒定不变的前提下,线圈等效电感L就是位移d的单值函数。因此,传感器输出信号的频率f与微小位移信号d之间就会呈现正比例关系。若被测试件位移产生变化时,数字式涡流传感器频率f变化就直接反映被测试件位移d 的情况。     但是在实际中利用涡流传感器进行位移测量时,输入和输出特性曲线存在较为严重的非线性关系,影响到传感器的测量精度,为了提高传感器的测量精度,实际中经常通过计算机利用最小二乘法、查表法、线性插值等方法解决非线性问题。为准确反映数字式涡流传感器d-f间的非线性关系,实现精确测量,需要拟合出一条曲线尽可能逼近数字式涡流传感器实际的输入、输出特性。     笔者将BP(Bac
[嵌入式]
r语言matlab有什么区别
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fort
[嵌入式]
空调系统传感器故障诊断方法
    随着空调系统发展越来越复杂,传感器的数量也随之增多。传感器故障是供热、通风、空气调节系统(HVAC)中典型故障之一。传感器发生故障,则会导致控制系统得到错误的信号,使得控制系统做出不准确的调节。空调系统是高度复杂的系统,如果能及时地检测、诊断系统中出现的各种传感器故障,对降低能耗,保持室内环境的舒适性和提高室内空气质量,具有重要意义。     目前,对传感器故障诊断的方法主要有基于数学模型和基于非数学模型方法。基于数学模型的方法就是对整个系统能够得到精确的数学模型。在这方面,基于解析模型的方法是最直接有效的方法,它又可分为观测器方法、等价空间法和参数估计法。 但是,空调系统本身是一个复杂的非线性系统,无法得到精确的数学模型。
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved