一种用RBF神经网络改善传感器测量精度的新方法
javascript:window.open(this.src);" style="cursor:pointer;"/>
其中,J为误差函数,Y(k)代表希望的输出,Y(W,k)为网络的实际输出,W是网络的所有权值组成的向量。
隐层一输出层连接权值矩阵的调整算法为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
其中,μ(k)为学习率,α(k)为动量因子,也称为遗忘因子,又称动量项或阻尼项。将其称为遗忘因子可从对于新旧信息的学习与遗忘的角度来理解;称为动量项或阻尼项是因为在网络的学习训练中,此项相当于阻尼力,当训练误差迅速增大时,它使网络发散得越来越慢。总之,它使网络的变化趋于稳定,有利于网络的收敛。
3 测试方法及推广应用分析
实验中以测量压力为例,采用Honeywell的24PCG—FAlG型压力传感器。将传感器测量值和DSl8B20的输出值作为网络输入层节点的输入,与其对应的压力是网络输出层节点的输出。采用的RBF神经网络为三层网络结构,其中,输入层有2个节点,隐含层有8个节点,输出层有1个节点。基于上一节中提到的网络参数调整算法,通过调整RBF网络中的可调参数(隐层节点数、学习速率、遗忘因子和网络权值、隐层标准偏差等)进行网络的训练和测试,并采用均方根(RMS)计算其训练精度和测试精度。共采集样本数据120组,其中72组作为网络训练样本,48组作为网络测试样本,在环境温度变化范围为-5℃~75℃时,最佳RBF的神经网络的训练精度为0.048%,测试精度为0.062%。同时基于获得的实验数据,采用最小二乘拟合方法建立的数学模型,其拟合精度为0.170%;用单片机直接预存线性插值补偿的方法,测试精度为0.280%。
javascript:window.open(this.src);" style="cursor:pointer;"/>
对于其它参数的检测,如流量、浓度或温度本身,也可采用增加温度或其它辅助传感器来实现补偿的方法。对于同时存在温、湿度漂移的测量场合,可以采用温湿度一体化传感器进行补偿。在本文图3所示的神经网络中增加一个X3输入代表湿度,只是会增加具体计算的复杂性。
DSl8B20测温已普遍应用,且有着价格低廉、同基于单片机的智能仪器或测控系统接口简单的突出优点,本文将其引入作辅助测量传感器,在传感器温度补偿领域是一种有益的尝试。RBF网络是一种性能良好的前向网络,它不仅有全局逼近性质,而且具有最佳逼近性能。将带遗忘因子的梯度下降算法应用于RBF神经网络的参数调整,该算法具有良好的非线性映射能力、自学习和泛化能力,鲁棒性好、收敛较快,特别适用于传感器数学模型的建立。论文采用软硬件相结合的方法实现了高精度的温度补偿。与最小二乘拟合方法及线性插值补偿方法相比,其精度提高了2~5倍。