线性校正

2024-10-09

线性校正(共4篇)

线性校正 篇1

摄像机标定是为了确定摄像机的位置、属性参数和建立成像模型, 以确定空间坐标系中物点与它所在图像平面上像点之间的对应关系[1,2]。国内外学者对摄像机标定做了大量的研究, 提出了许多不同的标定方法[3,4]。鲁新国等[5]提出了线性摄像机标定技术, 其计算简单, 精度较高, 但只考虑了径向畸变, 当切向畸变较大时不适用。陈利红等[6]提出了摄像机标定与修正的简单方法, 考虑了镜头的径向畸变和切向畸变, 利用两步法, 计算精度较高, 但是方法复杂, 需要优化算法, 不易实现。

目前, 线性摄像机标定技术的研究集中在如何有效地、合理地确定非线性畸变校正模型的参数上[7]。本文采用的算法全面考虑了径向畸变和切向畸变, 通过建立和求解超定线性方程组计算出畸变系数, 然后利用约束方程求解线形方程组, 来确定摄像机外部参数和内部参数。该算法全部过程采用线性方法求解全部参数, 不仅简单快捷, 而且没有非线性算法中可能存在的不稳定性, 实用性较强。

1 双目摄像机标定模型与原理

1.1 摄像机标定模型

如图1所示, 计算机图像坐标系o0uv, 坐标系原点在图像左上角, 以像素为单位。图像平面坐标系o1xy, 原点位于摄像机光轴与图像平面坐标系的交点, 利用透视变换原理可知, 该原点与图像平面的几何中心重合, x轴平行于u轴, y轴平行于v轴。o1点在坐标系o0uv中的坐标为o1 (u0, v0) 。摄像机坐标系是以摄像机光心o为原点的坐标系, 记为XcYcZc。oo1之间的距离为摄像机的焦距f。P点为空间点, 在摄像机坐标系中的坐标为 (XcYcZc) 。P点与图像坐标系的交点为P′, P′点在小孔摄像机模型下的图像坐标为 (xu, yu) , 由透镜畸变引起的实际图像坐标为 (xd, yd) 。

摄像机标定包括四个坐标系之间的转换:即计算机图像坐标系、图像平面坐标系、摄像机坐标系和基准坐标系 (世界坐标系) 。

(1) 计算机图像坐标系与实际图像坐标系之间的转换:

su、sv分别表示x、y轴方向上单位长度上的像素点数。

(2) 像平面坐标系与摄像机坐标系是中继坐标系, 在小孔摄像机模型下, 由共线方程可得两者之间的关系式:

(3) 摄像机坐标系与世界坐标系之间的转换关系可以用旋转矩阵R和平移向量t来表示, 世界坐标系记为XwYwZw。其关系式如下:

(4) 畸变模型:图像坐标系中实际图像坐标与理想图像坐标之间的转换关系:

主要的畸变误差类型有两种:径向畸变和切向畸变, 其中径向畸变是关于摄像机镜头主光轴对称的, 其数学模型[8]为:

式中:rd2=xd2+yd2, k1为径向畸变系数, (δxr, δyr) 为径向畸变坐标。切向畸变不是关于摄像机镜头的主光轴对称, 其数学模型[9]为:

式中:k2、k3为切向畸变系数, (δxt, δyt) 为切向畸变坐标。所以得到总的畸变模型:

1.2 双目摄像机标定模型

双目立体摄像测量系统与单目摄像测量系统的一个主要区别是, 除了每个摄像机的内部参数需要标定之外, 还要精确确定两个摄像机之间的相对位置。如图2所示 (这里未画出畸变效应) , 选定左摄像机作为世界坐标系。左、右摄像机相对于世界坐标系的旋转矩阵分别为R1、R2, 平移向量分别为t1、t2, 则两摄像机相对位置关系式[10]:

R21表示从右摄像机坐标系到左摄像机坐标系的旋转矩阵, t21表示从右摄像机坐标系到左摄像机坐标系的平移向量。

2 摄像机参数标定

需标定的参数为旋转矩阵R1, 平移向量t及三个畸变系数。本文提出的方法是通过求解线性方程组, 先计算出三个畸变系数, 再根据约束条件计算出旋转矩阵R, 最后求出平移向量t, 具体推导如下:

式 (5) 得:

(1) 求畸变系数:由式 (5) 可得到:

对于每一个标定点, 当已知其理想图像坐标及相应的实际图像坐标时, 可以列出一个如上的方程式。通过解超定线性方程组就可以得到k1、k2、k3。

(2) 求解旋转矩阵R和tz/f

将式 (7) 中等号右边的分子分母同除以tz/f, 令m=tz/f, X0=ftztx, Y0=ftzty[5], 其中X0和Y0是不考虑镜头畸变时, 三维世界坐标系的原点在图像坐标系中的投影, 通过整理即可得到以下矩阵形式的方程:

对每一个标定点, 当已知其三维坐标时就可以列出一个如上的方程, 式 (9) 中, 列向量的各个元素为未知数, 取6个标定点, 通过求解线性方程组, 可以计算出方程中的6个未知数, 但是为了使总误差减到最小, 取的标定点应该多于6个点, 按照最小二乘法[11]解出列矩阵。然后根据R中的矩阵约束条件, 进一步解出旋转矩阵R和m。

(3) 求解平移向量tx, ty

式 (7) 通过整理可得:

求解超定线性方程组就可以得到tx和ty。

(4) 求平移向量t和焦距f

由式 (7) 整理可得:

其中:M=r11Xw+r12Yw+r13Zw+tx, D=r21Xw+r22Yw+r23Zw+ty, N=r31Xw+r32Yw+r33Zw, 解以上线性方程组就可得到tz和f。

3 实验结果

双目立体测量系统实验设备:采用3 264×2 448像素的摄像机, 标定模板是一块具有20个同样大小方格的平面标定板, 大小为100 mm×80 mm, 如图3所示。利用Canny算子进行角点提取特征点, 并用Matlab实现。

(1) 标定实验

标定实验时, 手持标定板至少把标定板摆放在两个不同的位置, 在两幅图像中获得多于6对特征点, 最后得到左摄像机标定参数:

右摄像机标定参数:

左右两摄像机相对位置关系标定参数

(2) 将空间坐标点的实际空间坐标值与恢复后的三维空间坐标值进行比较, 利用绝对误差来表示实验精度, 如表1所示 (部分实验数据) 。

Xw、Yw表示真实三维坐标, X、Y表示标定后的三维坐标, 单位为mm。

本文提出的标定方法全面考虑了透镜的径向畸变和切向畸变, 当切向畸变较大时, 该标定方法的精度明显高于鲁新国等[5]提出的线性摄像机标定技术。文章的标定方法完全采用线性方法求解摄像机参数, 实验证明, 打接地孔[5], 这种接地方式屏蔽效果最好的。

串音现象在硬件系统中是难以完全消除的, 只能设法减小。本文只列出四种影响串音的因素, 实际上影响串音的因素很多。通过对这些因素的仿真分析, 可以得到如下几种减小串音的方法:

(1) 用平面作为返回路径, 尽量不要跨分割平面走线。

(2) 在布线空间允许的条件下, 尽可能增加信号线之间的间距。一般使线间距大于线宽三倍以上。可以使串音控制在5%以内, 这是个经验法则。

(3) 如果串扰要求严格, 信号隔离度要求比较高时, 可以采用信号线中间防护布线, 但是一定要在保护线两端或者整条线有多处接地孔。

(4) 尽量减小信号线的耦合长度。

(5) 良好的阻抗匹配可以大幅度减小串扰反射。

(6) 使用介电常数低的基板, 使用较小介电常数的材料可以使布线间距相同时的串扰减小, 或者对相同的串扰指标可以使其布线间距更小[6]。

摘要:利用透视变换原理建立双目立体摄像机数学模型, 全面考虑了镜头的径向畸变和切向畸变, 提出一种线性求解摄像机参数的标定方法, 改变了以往的摄像机标定依赖于非线性优化的缺点, 避免了非线性优化的不稳定性。该标定方法在单摄像机模型的基础上, 加入对双摄像机相对位置的确定, 通过成像过程中坐标系之间的转换, 较好地实现了双目立体摄像测量系统的标定。

关键词:摄像机标定,双目立体摄像,镜头畸变

参考文献

[1]CHANG C C, JI Y F.Flexible videogammeric technique for three-dimensional structural vibration measurement.Journal of Engineering Mechanics, 2007, 133 (6) :656-664.

[2]HU Jiuxiang, RAZDAN A, ZEHNDER J A.Geometric cal-ibration of digital cameras for3D cumulus cloud measure-ments[J].Journal of Atmospheric and Oceanic Technology, 2009, 26 (2) :200-214.

[3]SALVI J, ARMANGUE X, BATLLE J.A comparative re-view of camera calibration methods with accuracy evaluation[J].Pattern Recognition, 2002, 35 (6) :1617-1635.

[4]邱茂林, 马颂德, 李毅.计算机视觉中摄像机标定综述[J].自动化学报, 2000, 26 (1) :43-55.

[5]鲁新国, 王琰, 杨大为.基于计算机视觉的线性摄相机标定技术研究[J].沈阳理工大学学报.2007, 26 (5) :43-46.

[6]陈利红, 毛剑飞, 诸静.CCD摄像机标定与修正的简单方法[J].浙江大学学报 (工学版) , 2003, 37 (4) :406-409.

[7]高立志, 方勇, 林志航.立体视觉测量中摄像机标定的新技术[J].电子学报.1999, 27 (2) :12-14.

[8]TSAIRY.An efficient and accurate camera calibration tech-nique for3D machine vision[J].IEEE Transactions on Pat-tern Analysis and Machine Inteligence, 1986.364-374.

[9]WENG Y, COHEN P, HERNIOU M.Camera calibration with distortion models and accuracy evaluation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14 (10) :965-980.

[10]张辉, 张丽艳, 陈江, 等.基于平面模板自由拍摄的双目立体测量系统的现场标定[J].航空学报, 2007, 28 (3) :695-701.

[11]丁丽娟, 程杞元.数值计算方法[M].北京:北京理工大学出版社, 2005.

线性校正 篇2

《自动控制原理》是自动化、电气工程及其自动化和电子信息工程类各专业的教学计划中一门重要的专业基础主干课程, 实验课程安排与理论教学紧密结合。实验课的开设有助于理论与实践的统一, 培养学生分析问题、解决问题的能力。

目前大多高校开设的《自动控制原理》实验课程都是验证性实验, 对培养学生分析问题、解决问题的能力有一定的局限性。本文提出线性定常系统的串联校正实验教学方法探讨, 希望实验课程能加强学生能力的培养。

2. 实验原理

2.1 系统校正原理

串联校正系统的方块图如图1所示。图中Gc (S) 是校正装置, G0 (S) 是需校正的实验电路, 两者相串联。

串联校正装置有两种:一种是超前校正, 它是利用超前校正装置的相位超前特性来改善系统的动态性能, 另一种是滞后校正, 它是利用滞后校正装置的高频幅值衰减特性, 使系统在满足静态性能的前提下又能满足其动态性能的要求。本实验采用串联超前校正, 使校正后的系统同时能满足动态和稳态性能的要求。

2.2 期望特性校正法

根据给定的性能指标, 确定期望的开环对数幅频特性L (w) , 并令它等于校正装置的对数幅频特性Lc (w) 和未校正系统开环对数幅频特性L0 (w) 之和, 即L (w) =Lc (w) +L0 (w) 。

当知道期望开环对数幅频特性L (w) 和未校正系统的开环幅频特性L0 (w) , 就可以求出校正装置的对数幅频特性Lc (w) =L (w) -L0 (w) 。

2.3 未校正系统分析

未校正系统如图2所示, 其传递函数为:。

图中T1=1s, T2=0.2s, K=K1K2=2, 则相应的模拟电路如图3所示。

要求校正后系统具有下列的性能指标:Mp≤10%, Kv≥2。

2.4 实验教学方法分析

在验证性实验中, 一般实验指导手册会给出具体的校正步骤, 给出设计好的校正环节, 学生按要求连接电路, 得到校正前和校正后的输出图形, 做比较分析即完成实验了。很多学生没有认真去学习如何设计校正环节, 从而错过了提高分析问题、解决问题能力的机会。

本文认为, 实验指导手册应给出校正环节设计步骤的五个步骤, 如下所示:

设计步骤:

(1) 绘制未校正系统的开环对数幅频特性L0 (w) ;

(2) 绘制期望的开环对数幅频特性L (w) (取ω1=51/s, ωc=2.3, Kv=2.5) ;

(3) 求Lc (w) ; (Lc (w) =L (w) -L0 (w) )

(4) 确定校正装置GC (S) 的参数;

(5) 画出校正后系统的结构图。

设计步骤中的第一、第二和第三步, 均是理论课中频域分析法要求学生必须掌握的基础知识, 因此线性定常系统校正前、校正后的幅频特性曲线 (如图4所示) 完全可以让学生自己动手完成。第四步, 校正装置GC (S) 参数的求解是纯理论的计算, 为提高学生解决问题的效率, 可以为学生提供设计校正环节时所需的公式后让学生自己计算。第五步, 校正后系统的结构图 (如图5所示) 可以为学生提供应相应环节所对应的模拟电路, 在此基础上让学生自己动手、动脑完成, 这样才能真正达到培养学生理论联系实际能力的目的。

2.5 实验结果分析

最后, 让学生自己连接电路, 得到校正前和校正后的输入输出信号图形, 如图6和图7所示。对照校正后系统性能指标要求:Mp≤10%, Kv≥2, 进行分析可知系统校正前不满足性能指标要求, 校正后达到性能指标要求。

3. 结语

线性定常系统的串联校正实验中如果实验指导手册全部给出了系统校正前、后的模拟电路图, 实验过程中学生就仅仅是连接电路, 获取实验图形, 无法真正学会系统校正的方法。如果让学生自己在指导下完成设计校正环节, 就能提高学生生理论联系实际的能力。

参考文献

线性校正 篇3

水轮机调节系统是一个集水力、机械、电气为一体的复杂的控制系统, 它包括引水系统、水轮机、调速器、发电机及励磁系统等几个部分, 其基本的任务是根据电力系统负荷的不断变化来调节水轮发电机组的有功功率输出, 并维持机组频率在规定的范围之内。由于压力引水系统的水流惯性、水轮发电机组各个环节的非线性特性、水轮机传递系数随工况而改变的时变特性以及随时发生的电力系统负荷扰动使得水轮机调节系统的控制较为困难。

从调速器所采用的调节规律来看, 传统的模拟式调速器的调节规律是PI或PID调节, 而且只有空载和负荷两组参数。近年来, 随着计算机调速器硬件水平的提高和控制理论的发展, 水轮机调节规律的研究也取得了很大进展, 许多先进的调节规律相继出现。随着计算机技术的迅猛发展, 计算机控制技术逐步应用于水轮机调节系统, 计算机调速器采用先进的电子调节器式系统结构, 由转速测量单元、电子调节单元和电液执行单元组成。其特点是转速测量、调节规律的形成和驱动导水机构的职能分别由上述3个功能单一的单元实现, 其控制规律由软件形成, 这使复杂控制规律的研究和实现成为可能。而自动控制系统的计算机仿真是一门涉及计算机技术、计算数学与控制理论、系统辨识、控制工程及系统科学的综合性学科。它为控制系统的分析、计算、研究、综合设计及自动控制的计算机辅助教学提供了快速、经济、科学、有效的手段。本文则对水轮机调节系统用新型系统仿真软件M a t l a b/Simulink进行常规PID控制器的校正仿真和新型非线性PID控制器校正的改进仿真设计。

2 常规PID控制系统的Matlab/Simulink仿真设计方法

水轮机调节系统中被控对象本身就是一个较复杂的系统。它可以分为两个子系统:水轮机组子系统和发电机子系统, 或者说可分为水力、机械和电气三个子系统。实践证明, 当水轮机调节系统中有被调节对象水轮发电机组, 有积分控制器两级液压放大装置, 而没有校正装置时, 不仅动态品质不好, 甚至还有可能是不稳定的, 但是只要加入校正装置测频微分回路, 就能提高稳定性, 改善动态品质。

根据系统的工作原理, 确定有关参数后, 可得水轮机发电机组的传递函数G (s) =5 (1-0.8s) / (1+0.4s) (1+4.8s) , 此二阶被控对象, 其分子中有正零点, 故为非最小相位系统。运行Matlab程序仿真, 可得其阶跃响应波形如图1所示。

从图1显见, 非最小相位系统的动态特性差, 超调和调节时间均较大, 对整个水轮机调节系统动态特性有劣化作用。非最小相位系统的瞬态响应在起始时刻有负调现象, 整个调节过程延长, 而且还出现稳态误差, 所以对系统应作适当的校正。

常规PID控制是比例、积分、微分控制的总体, 其传递函数Gc (s) =kp+ki/s+kds=kp (1+1/Tis+Tds) , 而比例环节的放大倍数Kp, 积分时间常数Ti微分时间常数Td等参数的大小不同, 则比例、微分、积分所起作用强弱不同。因此在PID控制器中, 如何确定kp, ki, kd三个参数的值, 是对系统进行控制的关键。在控制中如何把三参数调节到最佳状态需要深入了解PID控制中三参数对系统动态性能的影响。

被控对象水轮机发电机组的传递函数为上述的G (s) , 加入PID控制器后, 在Matlab中用Simulink搭建的仿真结构模型如图2所示。

在实际仿真时反复调试参数, 可得水轮机系统PID控制器的3个参数分别为:

运行仿真得出的阶跃响应波形如图3所示, 与图1相比, 可以看出控制系统不仅没有超调, 而且调节时间缩短, 负调峰值变小, 过渡过程更为平稳, 还消除了稳态误差。

3 非线性PID控制系统的Simulink仿真设计方法

在水轮机调节系统这一非最小相位系统校正中, 为了在减小负调、缩短调节时间和减小超调之间达到合理的折中, 取得更好的控制效果, 现采用一种新型非线性PID控制器简单结构对水轮机调节系统进行校正。MALAB不但有用于动态系统仿真的Simulink工具箱, 还有一个专用于非线性控制系统优化设计的工具箱NCD。借助于工具箱NCD, 可以自动实现系统参数kp、ki、kd的优化设计, 直到系统阶跃响应指标满足要求为止。

在非线性PID控制器中, 参数Kp、Ki、Kd (与常规PID控制器中比例、积分和微分的三个参数有所区别) 是不确定的, 其选用的值, 即参考值的变化会影响最终的仿真效果, 需要在参数整定中确定最优值。

在实际控制中, 不允许控制信号过大, 所以经常存在一个驱动限幅非线性环节, 并设置饱和限幅为1。然后建立如图4所示的仿真模型框图, 并设置终止仿真时间为20s。在框图中, 系统输出口附加了一个NCD Outport模块。可以用下面的语句设置各个参数的初值

双击NCD Outport模块则得出一个界面, 在其对话框中允许用户用图形的方式选择系统阶跃响应的各个指标, 如超调量、上升时间、调节时间等, 调整方式很简单, 只需拖动水平或垂直滚动栏就可以设置希望的响应区域。

如果想获得最优的PID控制参数, 则需选择其Optimization/Parameters菜单项, 得出对话框, 在其中的T u n a b l e parameters (可调参数列表) 栏目中填写待定的参数kp, ki和kd, 同时将这些变量的最小值都设置为0, 按下Done关闭对话框, 可以单击约束设置界面的Start按钮, 就可以寻优并动态显示结果, 如图5所示。该图形中显示两条曲线, 效果差的白线是初始响应结果, 经过寻优过程, 将得出较满意的绿线响应曲线。

给出如下命令则可以显示出最优的P I D参数:

还可以通过调整约束区域的方法更改设置再进行寻优过程, 则最终将得到如图6所示的结果。得出的PID参数为:

再通过示波器观察得到如图7所示的阶跃响应结果。

从图7中可以看出非线性PID控制器的参数能跟随误差大小和误差变化率的大小自适应调节, 故非线性PID控制器在解决非最小相位系统的超调、调整时间和负调之间的矛盾方面, 起到很好的调节作用。仿真结果表明, 其控制效果优于常规PID控制。

4 结语

本文采用Matlab/Simulink仿真软件对水轮机调节系统进行了常规PID控制器和非线性PID控制器的校正仿真设计, 还对非线性PID控制器进行了优化设计。仿真结果表明, 非线性PID控制器校正的改进设计, 对于克服非最小相位系统的超调、负调和调节时间之间的矛盾, 起到了很好的作用, 其控制效果优于常规PID控制。但由于水轮机对象的复杂性和不确定性, 本文只对二阶水轮机对象进行了仿真试验, 难以描述完全。单一控制策略还存在着一定的局限性, 将多种控制策略合理的结合在一起, 发挥各自的优点, 形成复合控制, 将是水轮机调节系统控制策略的发展方向。

摘要:水轮机调节系统是一个复杂的非最小相位系统。本文首先采用常规PID控制器进行仿真校正, 控制效果一般。为了在减小负调、缩短调节时间和减小超调之间达到合理的折中, 提出一种新型非线性PID控制器简单结构, 并以Matlab/Simulink仿真的方法, 利用非线性PID控制器的非线性特性, 抑制非最小相位系统的右半平面零点所造成的负调问题, 克服非最小相位系统的超调、负调和调节时间之间的矛盾。仿真结果表明, 其控制效果优于常规PID控制。

关键词:Matlab/Simulink,仿真,水轮机调节,非最小相位系统,非线性PID控制

参考文献

[1]沈祖诒.水轮机调节系统分析[M].水利电力出版社.1991.

[2]韩京清.利用非线性特性改进PID控制率[J].信息与控制.1995 (12) .

[3]薛定宇, 陈阳泉.基于Matlab/Simulink的系统仿真技术与应用[M].清华大学出版社.2002

线性校正 篇4

传感器是仪器仪表和测量系统的核心部件,是过程控制的首要环节,其输出特性直接影响整个系统的性能,提高传感器的精度具有十分重要的意义。然而,传感器输出特性大都为非线性,受诸如温度、湿度、电源波动等环境因素的影响,故存在多种误差因素,而且这些因素通常同时存在、相互作用,使得传感器的输出信号不能准确地反映被测物理量,造成测量精度不高、稳定性差等问题[1]。传统的硬件补偿方法,往往效果不佳有时还会出现交叉干扰现象,而传统的软件补偿方法如回归法,效果也不明显,都很难达到预期的目的。BP网络是目前应用最为广泛的一种网络模型[2],但传统的BP网络采用的是沿梯度下降的搜索求解算法,这就不可避免地出现了网络学习收敛速度慢、容易陷入局部极小的问题。本文采用自适应学习速率和附加动量法进行了改进,并通过实例验证了该方法的适用性和正确性。

1 BP网络及其改进算法

1.1 BP算法

BP算法是一种建立在梯度下降法基础上的有导师的学习算法,是应用最多、较为成熟的算法之一。其学习过程由正向传播和反向传播组成。在正向传播中,输入信号从输入层通过作用函数,向隐含层、输出层传播,每一层神经元的状态只影响下一层的状态。如果在输出层得不到期望的输出,则转入反向传播,将误差沿原来的连接通路返回,通过修改各层神经元的连接权值,使得输出误差信号趋向最小。它通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标。基于BP算法的神经网络结构由一个输入层、一个输出层和若干个隐含层组成,同一层内各神经元(即结点)互不相连,且每一神经元都与相邻层的所有神经元相连。第j个神经元的输出f(sj)为S型函数:

f(Sj)=11+e-SjSj=i=0nwijxi(1)

式中xi为该神经元第i个输入;wij为前一层结点i至该结点j的连接权值,i=0时的权值称为阈值。

1.2 BP算法的缺陷

尽管BP算法已成功地解决了许多问题,但也有其自身的不足:如1)如果学习速率选择不当,训练可能要花很长时间,甚至有的根本不能训练;2)BP算法采用梯度下降法,即训练过程从某一起始点沿误差函数的斜面逐渐达到最小点。对于复杂的网络,其误差函数面在多维空间,就像一个碗,碗底是最小点。但这个碗的表面凹凸不平因而在训练过程中可能陷入某一小谷区,由次点向各个方向变化均使误差增加,以至无法逃出这局部最小点;3)网络的隐含层结点数的选取尚缺少统一而完整的理论指导(即没有很好的解析式来表示)。

1.3 BP算法的改进

为了加快训练速度、避免陷入局部极小值和改善其它能力,本文采用附加动量法和自适应学习速率优化网络结构,加快算法收敛速率,从而对BP网络进行改进。

1.3.1 附加动量法

附加动量法是在反向传播法的基础上,在每一个权值的变化上加上一项正比于前次权值变化量的值,并根据反向传播法来产生新的权值变化。它使得网络在修正权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响。利用附加动量的作用滑过那些局部极小值。带有附加动量因子的权值调节公式为:

Δwij(k+1)=(1-mc)ηδipj+mcΔwij(k) (2)

Δbi(k+1)=(1-mc)ηδi+mcΔbi(k) (3)

其中k为训练次数;Δwij为权值变化量;δi为误差项;pj为输入矢量;η为学习速率; Δbi为偏差变化量;mc为动量因子,一般取值为0.95左右。

1.3.2 自适应学习速率

对于一个特定的问题,要选择合适的学习速率不是一件容易的事情。尽管有时不变学习速率在训练过程中可能一开始效果好,但是到了后来不见得合适。通常调节学习速率的准则是:检查权值的修正值是否真正降低了误差函数,如果确实如此,则说明所选取的学习速率值小了,可以对其增加一个量: 若不是这样,而产生了过调,那么就应该减小学习速率的值。调整公式如下:

η(k+1)={1.05η(k)E(k+1)<E(k)0.7η(k)E(k+1)>1.04E(k)η(k)(4)

2 用BP神经网络对传感器输出特性进行补偿

2.1 基本原理

用BP神经网络对传感器非线性误差进行补偿的连接方法如图1所示[3]。

传感器模型为:

y=f(x,t1,t2,…,tk) (5)

式中:y为传感器输出信号值;x为被测物理量; t1,t2,…,tkk个环境参数。

yt1,t2,…,tk都是被测物理量x的单值函数,则式(5)的反函数存在,即:

x=f-1(y,t1,t2,…,tk) (6)

通常,式(6)表达的函数关系模型相当复杂,难以用数学公式描述。但可通过实验测得传感器实验数据集,根据BP神经网络具有极强的输入—输出非线性映射能力的特点,以实验数据集的yiti为输入样本,以对应的xi为输出样本,对神经网络进行训练来逼近式(6)表达的非线性函数关系。

2.2 原始数据的处理

因神经网络学习时加在输入端的数据太大,会使神经元结点迅速进入饱和,导致网络出现麻痹现象。此外,由于在神经网络中采用S型函数(式(1)),输出范围为(0,1),且很难达到0或1。故神经网络学习之前,应对原始数据进行归一化处理,使输入样本和输出样本的值分别在区间[0,1]和[0.05,0.95]内。归一化处理公式为:

xi¯=xi-xminxmax-xmin(7)

yi¯=0.9(yi-ymin)ymax-ymin+0.05(8)

式中:xi¯yi¯分别作为神经网络输入输出样本的原始数据。xiyi分别为传感器任意输入、输出标定值。xmax、xmin、ymax、ymin分别为传感器输入、输出最大、最小标定值

2.3 神经网络结构的确定以及隐层结点数的选取

人工神经网络理论已经证明,含有一个隐含层的BP网络可以实现以任意精度近似任何连续非线性函数[4],所以可选取隐含层为1。

从理论上讲,结点数取的越多,所能达到的精度就越高。但同时带来了计算时间的延长。同时,在实际中发现,当结点数取到一定值时,精度提高很小,而时间大量延长。为了合理选择隐层结点数用式(9)作为停止迭代条件[5],对计算结果进行比较,从而选择最优的隐层结点数(其中,ε为方差)。

|ε(s)-ε(s-1)ε(s)|εr(9)

3 应用实例

3.1 实验数据标定

设有一传感器,其输出信号不仅与被测物理量有关,而且还与其工作温度、供电电源波动有关。通过标定实验数据示于表1。其中p为被测压力(kpa);u为传感器响应电压(mv);ut为工作温度检测响应电压(mv);γ为传感器供电电源波动。

由表1可见,对同一被测压力p,传感器输出u随工作温度和供电电源波动的不同而变化,由工作温度与供电电源变化产生的传感器输出电压相对波动值a为:

a=max|Δy|yFS(10)

式中:max|Δy|为传感器输出电压的最大绝对波动值;yFS为传感器满量程输出电压。由表1数据可求出a=11.9%,可见该传感器受工作温度和电源电压波动的影响很大,需要补偿。

3.2 样本库的建立

用式(7)和式(8)对表1中数据进行归一化处理,得出神经网络训练样本库。

选择神经网络输入层含3个结点,分别对应传感器响应电压、工作温度检测响应电压和传感器供电电源波动;输出层一个输出结点,对应于被测物理量的修正值。

隐层结点数的确定由式(9)作为停止迭代条件,当εr=10-2时,其计算结果如表2。从表2可看出,当N从1上升到16时,方差呈下降趋势;但当N大于16后方差反而略有所上升,这表明,结点数越多时,虽然从理论上可达到更高的精度,但其收敛性将受到一定的影响;同时,随着结点数的增加,每步迭代所需计算量也大大增加。从计算结果来看,N取14—18较合适,本文取16。

训练程序中对采用动量法的判断条件为:

mc={0SSE(k)>SSE(k-1)×1.040.95SSE(k)<SSE(k-1)mc(11)

SSE(k):第k次误差平方和。

4 仿真结果分析

用MATLAB语言编制训练程序,设定目标函数为10-2 ,自适应学习率取0.1,利用传统BP算法和改进后的BP算法得出的训练误差曲线如图2和图3,同时得出被测压力修正值示于表3和表4。

经过补偿后被测压力的相对波动a′如下:

a´=max|ΔΡ|ΡFS(12)

式中: max|ΔP| 为被测压力修正最大绝对波动值;PFS为被测压力满量程值。由表3数据得a′=0.39%,由表4数据得a″=0.13%。

由a=11.9%、a′=0.39%、a″=0.13%比较可知,在相同工作温度和电源波动情况下,用神经网络进行特性补偿,传感器的稳定性可大大提高。而经改进后的BP网络对传感器的拟合精度较高。对于传统BP网络要学习27368步才收敛,而改进后的BP网络只需要学习8224步就可收敛,节省了大量时间。

5 结 论

本文在用BP神经网络对传感器输出特性进行补偿的基础上,采用附加动量法和自适应学习率算法对传统BP算法进行了改进,并将其用于对一压力传感器的输出特性进行补偿。仿真实验结果表明,改进后的BP算法收敛速度快、精度高。

摘要:针对传统BP网络收敛速度慢、容易陷入局部最小点等问题,采用附加动量因子和自适应学习速率进行了改进,并将其用于对传感器的非线性误差进行补偿。用MATLAB语言编制相应的训练程序,仿真结果表明,在相同的条件下,改进后算法节省了大量的训练时间,同时提高了数据拟合的精度。

关键词:神经网络,BP算法,附加动量因子,传感器,非线性补偿

参考文献

[1]Carey W P,Yee SS.Calibration of nolinear solid-state sensor arrays u-sing multivariate regression models.Sensors and Actuators,1992,B(9):113.

[2]陈敏,刘君.BP网络的改进及其应用[J].湖南文理学院学报:自然科学版,2005,17(2).

[3]汪晓东,万旭,等.基于神经网络的传感器静态误差综合修正法[J].仪器仪表学报,1997,18(3):310-313.

[4]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].中国科学技术出版社,1998.

上一篇:阴道泡腾片下一篇:护士素质的培养