碧波液压网 欢迎你,游客。 登录 注册

BPANN在仪表线性化中的应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  仪表的非线性误差,引起仪表分度的不便.不管是数字显示仪表、模拟显示仪表,还是用于DCS或现场总线的传感器和仪表,都必须在获得信号后,立即进行线性化处理(除非是线性特性的仪表)再进行转换和传输.目前仪表线性化方法大多采用硬件电路,故增加了设备的复杂性及重量.在大型的计算机自动化系统中,使用着大量各种非线性仪表.因此,寻找合适的计算机软件实现仪表线性化就显得尤为重要.半导体热敏电阻(SCTR)[1]测温有许多优点,如灵敏度高,体积小,热惯性也小,可用于测量点温、快变温度和表面温度等,它的缺点是非线性大,互换性较差.上海医用仪表厂生产多种型号的半导体热敏电阻.本文研究了其中102GT半导体热敏电阻线性化用的反向逆传播人工神经网络(BPANN),线性化的温度区间为20~120℃,SCTR的原温度-电阻特性曲线的数据由上海医用仪表厂提供.本文通过采用三层正向前馈BPANN[2,3],并用MATLAB语言编程,经上万次反复训练,调整了BPANN的有关参数,获得了102GT的线性化特性,误差ε达,并用中间插值方法选取其他温度点检验,其结果也落在线性特性曲线上,证明了训练后BPANN的有效性.

  1 三层BPANN参数及训练程序图

  在BPANN中选择3个输入温度p1,p2,p3和3个实际输出点t1,t2,t3,原来的3个输入输出关系具有很大的非线性特性,且SCTR的整个特性都是非线性的.

  三层BPANN的隐层选取4个神经元见图1,输入输出关系为

 

  转移函数采用Sigmoid函数(也称S函数),S函数表达的输入输出关系式有

 

  式中 xi———输入,即本网络中的pi

  θi———第i个神经元的阈值

  wi———第i个神经元的权值,在连接两神经元时写为wij,如连接p1b1神经元的连接权写为wp1b1,其余类推

  ui———单个神经元输出

  yi———网络的最终输出,即本网络中的ti

 

  S函数表示输入输出间呈S曲线关系.本文所选网络见图1,所用转移函数为用MATLAB神经网络函数表达的曲线[4,5]logsig和线性的purelin.图1中,bi为隐层神经元.

  在训练中根据实际输出值和期望输出值之差(即误差),经正逆向反复训练,以调整各神经元间的连接权值和各神经元的阈值,使误差逐步收敛缩小,直至达到用户的要求.对网络训练的程序框图[6]见图2.

 

  2 MATLAB神经网络函数

  2.1 MATLAB简介

  MATLAB是一套高性能数值计算的可视化数学软件.使用MATLAB编程运算与人进行计算的思路和表达方式完全一致.它集一般数值分析、矩阵运算、数字信号处理、建模、系统控制及优化等应用程序和图形于集成环境中,对所要求解的问题,只要简单地列出数学表达式,其结果便以数值或图形方式显示出来.由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在诸如信号处理、建模、系统识别、控制及优化等领域的问题求解时,显得简捷、高效和方便.

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论