>
首页 » 技术文章 » 基于BP神经网络的压力传感器非线性校正方法

基于BP神经网络的压力传感器非线性校正方法

作者:蒋小燕,徐大诚  时间:2006-10-12 01:14  来源:
摘 要:采用BP多层前馈神经网络及其改进算法对传感器特性进行补偿,有效地改善了BP传统算法收敛慢、容易收敛到局部最小点的缺陷,并编制了训练程序。结果表明,经BP改进算法处理后,传感器性能大幅度改善,网络的收敛速度更快,精度更高。

关键词:BP神经网络;LM算法;传感器;非线性误差

引言

传感器是信息采集的重要工具,广泛应用于各行各业,它的误差大小直接影响到测控系统的性能和测量精度。提高传感器精度具有十分重要的意义,但传感器的输出特性受许多环境因素的影响,如温度、电源波动、磁场、噪声等。对传感器非线性特性校正的方法很多。总体上分为硬件和软件技术两种补偿方法。硬件补偿是采用适当的电子线路和元器件进行的校正,但由于受到技术和电子器件漂移的影响,可靠性差、测量精度低、应用受限。近年来,随着计算机技术的发展,各种数据处理的软件方法应运而生。用神经网络方法进行传感器线性化处理的方法引人注目。人工神经网络的一个基本用途是函数逼近,人工神经网络理论已经证明:对于任意的连续函数或影射关系,总存在一个三层的前向网络,可以任意精度逼近此函数或影射关系。本文采用BP神经网络实现传感器逆向建模,通过LM算法使BP算法在改善传感器性能方面更有效、更可靠。

图1  非线性度校正

非线性校正原理

一个受多个参量影响的传感器系统可表示为
 
其中,x 为待测目标参量; t1 ,t2 ,…,t k 为k 个非目标参量; y 为传感器输出

为了消除非目标参量对传感器输出的影响,一般采用逆向建模的方法,如图1 所示。

实际测量的数据由于受非目标参量的影响,它与目标参量之间的函数关系不再是线性的,即
  
逆向建模的目的就是通过神经网络的非线性映射能力,把非线性函数关系X=f-1 ( y ,t1 ,t2 ,。,t k) 向线性函数关系x = y/k 的不断逼近。在模型中,测量数据y 及非目标向量的测量值作为神经网络的输入,p= kx 作为网络的期望输出,按照一定的算法原则,不断调整网络的权值和偏置量,使得网络的输出误差在允许的范围之内。

补偿原理

BP算法即多层网络误差反传算法,网络结构为:一个输入层、一个输出层、若干个隐含层,一般隐含层取1,每层由多个神经元组成,网络结构如图2 所示。BP算法学习过程由正向传播和反向传播组成。正向传播:输入信号输入层向隐含层、输出层传播。

图2  BP网络结构
  
其中,xi为输入信号; yh,f1为隐层输出及转移函数;yf,f2 为输出层输出及转移函数; wih为输入层至隐含层连接权值; whj 为隐含层至输出层连接权值。反向传播:如输出层得不到目标值,将目标值与输出值之差反向传播,逐层修改各层神经元连接权值,使输出误差减小至允许范围内。其权值修正公式为
  
其中,

其中,

式中,whj (n+1) ,wih(n+1) 分别表示第(n+1) 次权值系数; whj(n) ,wih(n) 分别表示第n 次权值系数;t j 为输出层第j 个结点目标值;η为训练速度系数,取值0~1。

BP神经网络是目前应用最广泛的一种多层前馈网络,它具有很强的非线性映射能力和泛化能力。研究表明,两层BP网络在其隐含层中使用S型传输函数,在输出层中使用线性传输函数,就几乎可以以任意准确度逼近对象函数,只要隐含层中包含足够多的神经元节点。传统的BP神经网络收敛速度特别慢,而且容易收敛到局部极小值,一般不能直接应用到系统中。为了改善这种状况,人们对BP神经网络的算法改进作了大量的研究工作。这里介绍一种收敛速度快、对初始值的设定鲁棒性强的LM算法。LM算法是一种基于标准数值优化技术的算法,它是牛顿法的变形。在这种算法中,一般用平方误差代替均方误差进行计算,假设迭代运算产生的误差曲面方程用下式表示:
  
其中,N = P×Q ,P为输出层节点的个数;Q为输入样本组数,矢量X 表示网络神经元节点之间的连接权值和偏置量。每次迭代运算,各权值和偏置量按下式调整:
  
其中,μk 为修正因子。如果某一步不能减小F( X) 的值,则将μk 乘以一个因子θ(θ> 1),再重复这一步运算;如果产生更小的F(X)的值,则μk在下一步中除以因子θ。这样依靠μk在每次迭代中的调整,保证了该算法具有快速收敛和稳定性好的特点。从算法中可以发现LM 算法每次迭代运算都要计算矩阵的逆,即使如此,它仍是中等规模多层神经网络训练算法中最快的一种。

仿真及结果比较

传感器标定数据
本文采用中压力传感器数据库,以便与其进行对比。压力传感器输出u 不仅与被测压力p有关,且与工作温度t、电源波动γ有关,即u = f ( p ,ut ,γ)

建立学习样本库
将传感器p=f-1( u ,ut ,γ) 中,u,ut,γ作为BP网络的输入,p 作为网络输出,故选输入层含三个结点,输出层含一个结点,对应于被测量修正值。隐含层采用常用的S 型激活函数,输出层采用线性激活函数。因S型激活函数的需要,对输入模式作归一化处理,归一化公式:。式中,xi,x max ,xmin分别代表归一化前任意输入值、输入变量最大值、输入变量最小值。为归一化后的值。归一化后的数据见表1。

表1  网络学习样本库



图3  神经网络训练误差曲线

最大相对波动α=| Δy | max/yFS= 0.16 % ,Δymax 为传感器输出电压最大绝对波动值,y FS 为传感器满量程输出电压,传感器稳定性进一步提高,平均收敛次数28。BP神经网络的训练过程如图3 所示。实验9次就收敛,误差小于10-3

结论

本文采用改进的BP算法对压力传感器进行了仿真实验。仿真结果表明:改进BP收敛速度快,精度高。该方法能有效地提高传感器的输出准确度,消除非目标参量对传感器输出结果的影响。

相关推荐

SMI推出高精度、超低量程的压力传感器

产品与技术 2019-07-24

elmos在2019传感器+测试展会展示多款卓越的半导体解决方案

传感器融合为什么会对制造业有利?

传感器  自动化  2013-12-31

如何让高整合传感器降低平均功耗

传感器  太阳能电池  2013-12-04

自动化生产中传感器的重要性

飞行器  传感器  2013-12-03

智能尘埃:随时随地追踪一切的传感器

智能尘埃  传感器  2013-11-26
在线研讨会
焦点