当前位置:文档之家› 基于BP神经网络的传感器非线性补偿

基于BP神经网络的传感器非线性补偿

2007年第21卷第1期测试技术学报V ol.21 N o.1 2007 (总第61期)JOURNAL OF TEST AND MEASUREMENT TECHNOLOGY(Sum N o.61)

文章编号:1671-7449(2007)01-0084-06

基于BP神经网络的传感器非线性补偿

田社平,赵 阳,韦红雨,王志武

(上海交通大学电子信息与电气工程学院,上海200030)

摘 要: 由于传感器本身的非线性特性以及传感器在测量过程中外界环境因素的影响,使得传感器的输入

输出特性呈现出非线性.讨论了BP神经网络模型在传感器非线性补偿中的应用.给出了相应的补偿方法,

即采用两个相同的传感器对同一被测量进行测量,其测量结果作为神经网络模型的输入,经过补偿后的传

感器具有线性的输入输出关系.采用递推预报误差算法训练神经网络,具有收敛速度快、收敛精度高的特

点.试验结果表明,应用神经网络对传感器的非线性进行动态补偿是一种行之有效的方法.

关键词: BP神经网络;R PE算法;传感器;非线性补偿

中图分类号: T P212 文献标识码:A

Nonlinear Compensation of Sensors Based on BP Neural Network T IAN She-ping,ZHAO Yang,W EI Hong-yu,WANG Zhi-w u

(Scho ol of Electro nics and Electr ic Engineer ing,Shanghai Jiao T ong U niv.,Shanghai200030,China) Abstract: M any sensors have nonlinear input-output characteristics because of their inner no nlinear pr operties and the influences of measur em ent circum stance.BP(Back Propagatio n)neural netw o rk models are applied to the nonlinearity compensation of sensor s in this paper.Tw o sensors with the sam e type are used to measur e the sam e m easurand and the outputs of the sensors ar e imported into the trained neur al netw ork model to obtain the linear input-output characteristics.A RPE(recursive predic-tio n error)algorithm w ith the advantage o f fast convergence is applied to training the recurr ent neur al netw ork.Ex perimental results show that the no nlinear compensation of sensors based on neur al netw o rk models is effective.

Key words:back propagation neural netw ork;recursive prediction error algorithm;sensor;no nlinear compensation

随着传感器在工业领域和自动化领域的应用越来越广泛,也对传感器的准确度、稳定性和抗干扰性有了更高的要求,需要利用更加深入的理论研究和实验方面的分析来设计低成本、高精度的传感器[1].影响传感器测量准确度的主要因素在于: 传感器本身的非线性特性; 传感器在测量过程中各种外界因素,如温度、湿度等的影响;传感器本身的动态特性,如频带宽度、响应速度等不够理想.目前,一般利用先进的计算机技术来进行传感器的校准、线性化和误差补偿[2-4].由于大部分的传感器本身就是非线性的,而且在测量过程中又受到各种环境因素的干扰,所以提高这类传感器的测量精度一直是检测技术中需要解决的问题.对于距离传感器而言,一种有希望的方法是在系统基础上增加一个相同传感器提供独立的信息,这样就可以利用这两个传感器的输出来建立非线性二维逆模型,这个模型描述了传感器测量范围和环境因素对传感器输出的综合影响.

收稿日期:2006-06-19

 作者简介:田社平(1967-),男,副教授,博士,主要从事动态检测、测试信号处理研究.

近年来,人工神经网络的应用越来越广泛,其中的一个重要的应用领域就是对复杂未知的非线性系统进行建模[5-7].本文应用神经网络对非线性传感器系统进行逆向建模,实现对距离传感器的非线性补偿.结合变磁阻距离传感器测量距离所得到的数据,通过计算机仿真证明了神经网络非线性补偿方法的有效性.

1 神经网络非线性补偿原理

不失一般性,假设传感器(测量时主要受温度的干扰)的模型是y =f (x ,p ),

(1)

式中,f (?)为某一非线性函数,一般未知;p 为干扰量,一般为温度量.

由式(1)可得

x =f -1

(y ,p ),

(2)

式中,f -1(?)为某一非线性函数,待求.

为了采用神经网络模型补偿传感器的非线性,可以将传感器的输出和环境参数作为神经网络的两个输入,将传感器的输入作为神经网络的输出,从而构成如图1所示的传感器非线性补偿系统.

从图1可知,为了使神经网络模型ANN 逼近函数f -1

(?),必须知道p 的大小,因此,采用上述补偿方案时,必须增加一个测量环境参数的传感器.但这使得补偿系统必须采用两种不同类型的传感器,从而增加了系统的复杂性.

为了简化系统的设计,建立以下模型,即利用两个相同的传感器对两个输入量x ,S -x 进行测量,其中S 为已知的固定值,也就是说,这两个传感器的输出值y 1和y 2是两个完全独立的数据.由式(1)可知,两个传感器的输出分别为

y 1=f (x ,p ),y 2=f (S -x ,p

).

(3)

假设对于不同的p ,y 1,y 2都是x 的单值函数,由式(3)就可以得到式(4)的逆函数

x =f -1(y 1,p ),

S -x =f

-1

(y 2,p ).

(4)

式(3),(4)相加可以得到

S =f

-1

(y 1,p )+f -1(y 2,p ).

(5) 假设由式(

5)可以形式上解出p (为y 1,y 2的函数),则将p 带入式(4)即可求出x .不妨设

p =f 1(y 1,y 2),(6)

式中,f 1(?)为某一非线性函数,待求.将式(6)代入(4)就可以得到

x =f

-1

[y 1,g (y 1,y 2)].

(7)

由式(7)可知,如果已知y 1,y 2及f

-1

(?),f 1(?),

就可以准确地求出x .一般无法准确得获得f -1(?),f 1(?)的解析表达式,但是借助于神经网络模型则可以较容易地逼近f

-1

(?),f 1(?).

基于上述原理,得到如图2所示为利用神经网络进行非线性补偿的原理图.f 1(?),f -1(?)分别由神经网络模型NN 1,NN 2逼近,它们构成一个总的神经网络模型NN .

2 神经网络模型及其训练

2.1 BP 神经网络

可以选择各种各样的神经网络模型来逼近图3中的NN .本文利用BP 神经网络来进行建模,其模

85

(总第61期)

基于BP 神经网络的传感器非线性补偿(田社平等)

型结构如图3所示.

BP 神经网络的输出为

y = n 1j =1w 2j x 1j = n 1j =1w 2j g ( n

k =1

w 1jk x k +b 1j ),(8)

式中,w 2j ,w 1j k ,b 1

j 分别为神经网络模型的权值和阈值;n 0和n 1分别为模型的输入节点数和隐层节点数.对隐层中的神

经元,激励函数取如式(4)形式

g (z )=

11+e

-z

.(9)

2.2 BP 神经网络的训练方法

为了使神经网络模型能够逼近所要表示的对象,必须对神经网络模型进行训练,对权值和阈值赋予合适的数值,使式(8)所代表的模型尽可能地与建模对象相吻合.对多层网络而言,最常用的学习算法是BP 算法及其变种.BP 学习算法本质上是一种基于最速下降法的算法,由于该算法仅利用负梯度信息作为极小化的下降方向,该算法至多具有线性收敛速度,因而其学习速度很慢,通常要几千步迭代或更多[5].学习参数的选择也将比较大地影响算法的收敛速度.为此本文采用一种递推预报误差(RPE )算法来训练神经网络[8].RPE 的基本思想是沿目标函数的Gauss -New to n 搜索方向来修正未知参数向量,从而使目标函数达到极小.

假设目标函数为

J ( )=12N N i =1

2

(i , )(10)

式中,N 为数据长度; 为参数向量,即神经网络模型的权值和阈值; (i , )=y -y (i , )为预报误差.

参数向量的基本表达式为 (i )= (i )=s (i ) [ (i -1)],

(11)式中,s (t )为步长因子; ( )为Gauss -New ton 搜索方向,其表达式为

( )=-[H ( )]-1 J ( ),

(12)式中,J ( )为J ( )关于 的梯度;H ( )为J ( )的二阶导数,即关于J ( )的Hessian 矩阵.显然有

J ( )= J ( ) =-1N N

i =1

!(i , ) (i , ),(13)式中

!(i , )=[d y ~(i , )d ]T .(14)

H ( )的计算则由式(15)给出

[8]

H ( )=1N

N

i =1!(i , )!T (i , ).(15)

基于上述推导过程的RPE 算法的标准形式可由式(16)给出[7,8]

(i )=y (i )-y

(i ),P (i )=

1?(i )

{P (i -1)-P (i -1)#(i )[?(i )I +#(i )P (i -1)#T (i )]-1#T (i )P (i -1)},

(i )= (i -1)+P (i )#(i ) (i ),

(16)

式中,P (i )为中间矩阵,当i →∞时为参数向量的协方差矩阵,其初始值可取为P (0)=104~105I ;I 为单位矩阵;的?(i )为遗忘因子,一般在迭代初期置?(i )<1,从而实现算法的自适应性;而当i →∞时,取?(i )→1,取式(17)即可达到上述目的

?(i )=?0?(i -1)+(1-?0),

(17)

式中,?0,?(0)根据需要设置,可取?0=0.99,?(0)=0.95.

运用RPE 算法训练神经网络的步骤如下:

1)取权和阈值为较小的随机值;取P (0)为对角阵,对角线上的元素为104左右;取?0,?(0)合适的

86

测试技术学报2007年第1期

初值;输入层节点数为n 0=2;选取合适的隐层层节点数为n 1;输出层节点数为n 2=1;

2)根据网络的输入,由式(8)计算隐层节点的输出及输出节点的输出;

3)按式(14)构成#阵如下

#=d y d =

x 1j ,

当 i =w 2

j ,1≤j ≤n 1,x 1j (1-x 1j )w 2j ,当 i =b 1j ,1≤j ≤n 1,

x 1j (1-x 1j )w 2j x k ,

当 i =w 1j k ,1≤j ≤n 1,1≤k ≤2.

(18)

4)按式(16)计算预报误差 (i ),P (i )阵及参数序列 (i ).

其中步骤2)~4)反复进行,直到参数 (i )收敛.

3 数值计算结果

3.1 数值仿真实验

为了验证上述方法的有效性,进行如下数值仿真实验.取非线性函数为

y 1=p x 2,y 2=

p (12-x )2

.

(19)

为了生成训练数据,令x =[2,3,4,5,6,7,8,9,10]T

,p 取0.1,0.15和0.2,由式(19)算得y 1,y 2作为神经网络的输入.取隐层节点数

n 1=10,经过200代的训练神经网络模型即可收敛.图4(a )~(c)分别示出了p 为0.1,0.15和0.2时的计算结果,其中曲线

为未补充的输入输出曲线,曲线 为接入已训练神经网络模型后的输入输出关系,可以看出,补偿之后的输入输出关系为线性关系,且不受p 值变化的影响.

图4 非线性补偿结果

Fig .4 Res ults of nonlinear compensation

为了评价模型的合理性及学习算法的收敛性,引入表征模型拟合精度的指标,即误差指数(E I ),E I 的定义为

EI =

[y

(i )-y (i )]2 y 2(i )

.

(20)

图5表示了n 1=10时EI 随训练代数的收敛曲线,第200代时的E I =3.9×10-3.

87

(总第61期)

基于BP 神经网络的传感器非线性补偿(田社平等)

通过p 取不同值时模型的输入输出关系可以考察神经网络模型的泛化能力.在仿真实验中,取p =0.1+0.01k (k =0,1,…,10),模型均有很好的线性输入输出关系.图6给出了p =0.175时的输入输出关系曲线,其中曲线 为未补充的输入输出曲线,曲线 为接入已训练神经网络模型后的输入输出关系.从图6可以看出,尽管训练神经网络时p 取0.1,0.15和0.2,但对其它的p 值该模型的非线性补偿性能也是非常理想的.3.2 距离传感器的非线性补偿

将上述神经网络模型应用于非线性距离传感器的补偿.应用两个变磁阻距离传感器,分别对已知距离x 和S -x 进行测量,两个传感器的输出不仅与被测的物理量有关,而且与环境温度有关,在同一温度值下,传感器的输出具有良好的重复性.实验标定数据如表1所示.其中,x 为标定的被测距离(单位是mm ),y 1为传感器1的实际输出,y 2为传感器2的实际输出(这里的输出为电压值,单位是V ),t 为环境温度(单位是℃).从表1中可以看出,两个传感器的输出对于环境环境温度的变化有较大的波动,所以需要对该测量系统进行非线性补偿,消除温度对传感器输出的影响.

表1 两个变磁阻距离传感器的输入输出实验标定值(S =8mm )Table 1 Calibrated input-output data of tw o rang e sensors

标定值t =7℃

t =12℃

t =20

x /mm y 1/V y 2/V y 1/V y 2/V y 1/V y 2/V 0.00 3.6108.713 3.6448.770 3.6167.6370.50 3.7608.706 3.6448.715 3.6167.6571.00 3.9908.700 3.6458.419 3.617 6.7571.50 4.5508.684 3.6558.357 3.618 6.0242.00 5.1788.660 3.6977.991 3.619 5.7122.50 5.9398.610 3.917 6.912 3.636 4.6303.00 6.7208.502 4.158 6.010 3.642 4.4883.50 6.9308.462 4.9572 5.583 3.647 4.1504.008.1278.032 5.083 5.079 3.730 3.7204.508.4787.490 5.778 4.447 4.075 3.4645.008.609 6.695 6.592 3.951 4.420 3.4645.508.644 5.9287.301 3.593 4.810 3.4656.008.664 4.9147.937 3.503 5.212 3.4646.508.674 4.2868.380 3.502 5.842 3.4657.008.679 3.8208.672 3.502 6.356 3.4647.508.685 3.4648.780 3.501 6.985 3.4648.00

8.693

3.465

8.830

3.501

7.867

3.464

在上述数据中,传感器在某些区域处于饱和区,为了防止训练时矩阵成为奇异的,从而影响训练的效果,需要把这些饱和区的数值剔除,剔除后的数据如表1所示.

88

测试技术学报2007年第1期

图9 隐层节点数对补偿精度的影响Fig .9 Influence of th e number of hidden nodes

on compensation pr ecis ion

选择神经网络的输入层含两个输入节点,分别对应两个传感器的输出电压y 1和y 2.输出层含一个输出节点,对应实验测量的输入标定值x .取隐层节点数n 1=40,经过100代的训练神经网络模型即可收敛.图7给出了t 分别为7℃,12℃=,20℃时非线性补偿结果,可以看出,补偿后的输入输出之间具有非常好的线性关系,此时EI =9.6×10-6

.图8示出了n 1=40时的EI 随训练代数的收敛曲线,可以看出,训练的收敛性非常稳定.

隐层节点数n 1的大小对神经网络模型的补偿精

度具有一定的影响,图9给出了不同的n 1在训练

100代后的EI 曲线,可以看出,随着隐层节点数的增加,模型的精度将会提高,当n 1>10时,

EI <0.08;当n 1>35时,EI <10-4

.当补偿的精度要求不高时,可取n 1为25左右即可.

4 结 论

1)讨论了神经网络模型在传感器非线性补偿中的应用,从试验结果可知,经过补偿后的传感器具有线性的输入输出关系,说明本文的方法是行之有效的.

2)神经模型的训练存在泛化问题,为了保证正确地补偿传感器的非线性特性,所选取的训练数据必须具有典型性.本文对变磁阻距离传感器非线性补偿的温度范围为(7~20)℃,如果要在更大温度范围内进行补偿,则训练数据必须覆盖整个温度范围.

3)增加神经网络模型的隐层节点数,有助于提高补偿的精度,但会增加网络训练的时间.

4)传感器非线性补偿可看作是传感器逆模型的逼近问题,其神经网络模型也可以选择其它的形式,这有待于进一步的研究.

参考文献:

[1] 徐科军,陈荣保,张崇巍.自动检测和仪表中的共性技术[M ].北京:清华大学出版社,2000:26-27.

X u K ejun,Chen R ongbao ,Zhang Cho ngw https://www.doczj.com/doc/2a11734654.html,m on T echniques in A uto matic measur ement and Instr ument [J].Beijing:T sing hua U niv er sity P ress,2000:26-27.(in chinese )

[2] K u C C,L ee K Y.Diag onal recurr ent neur al net wo rk fo r dynamic sy st ems co nt ro l[J].I EEE T rans on N N 1995,6

(1):144-155.

[3] 戴先中,殷铭,王勤.传感器动态补偿的神经网络逆系统方法[J].仪器仪表学报,2004,25(5):593-594.

D ai X ianzho ng,Y in M ing ,W ang Q ing.A no vel dynamic compensat ing method based o n A N N inv erse sy stem fo r sensor s[J].Chinese Jour nal of Scientific Instrument.2004,25(5):593-594.(in Chinese)

[4] 侯立群,仝卫国,何同祥.基于RBF 神经网络的传感器静态误差综合校正方法[J ].传感技术学报,2004,12(4):

643-645.

Hou L iqun,T ong Weiguo ,He T ongx iang.T he static err or s co mpr ehensive co rr ecting method o f senso r s ba sed o n r adial basis funct ion neural netw or k [J ].Jo ur nal of T r anscluctio n T echno lo gy ,2004,12(4):643-645.(in Chinese )[5] 王永骥,涂健.神经元网络控制[M ].北京:机械工业出版社,1999:1-10.

[6] Pasquale A ,P asquale D,Do menico G.A N N -Based err or r eduction fo r ex per imentally modeled sensor s[J].IEEE

T r ans.on Instr u.&M ea.,2002,51(1):23-30.

[7] T ian S P ,Ding G Q ,Y an D T .N onlinear dynamic mo deling o f sensor s based on recur rent neur al net wo rk [J ].Chi-nese Jo urnal of T est a nd M easurement T echno lo gy ,2004,18(2):99-103.[8] L jung L.System I dentificatio n:T heo ry for the U ser[M ].T sing hua U niver sity Pr ess,2002:363-368.

89

(总第61期)

基于BP 神经网络的传感器非线性补偿(田社平等)

相关主题
文本预览
相关文档 最新文档