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编程运算与人进行计算的思路和表达方式完全一致.它集一般数值分析、矩阵运算、数字信号处理、建模、系统控制及优化等应用程序和图形于集成环境中,对所要求解的问题,只要简单地列出数学表达式,其结果便以数值或图形方式显示出来.由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在诸如信号处理、建模、系统识别、控制及优化等领域的问题求解时,显得简捷、高效和方便.
相关文章
- 2024-06-11Cymbal单元的薄型低频宽带水声发射换能器设计
- 2024-02-02智能水压降试验装置
- 2024-02-19氟利昂饱和蒸汽在热能表中的应用
- 2024-04-26超声波声速测量技术及其在材料评价中的应用
- 2024-07-01基于力学状态反馈的聚合物微器件超声波精密联接系统



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