基于BP神经网络的加速度计温度补偿方法研究
2014-04-29郭慧斌郑宾
郭慧斌 郑宾
【摘要】本文章基于CS-3LAS-03加速度计,提出了利用BP神经网络来进行加速度计温度补偿,并在MATLAB环境下建立了基于BP神经网络的温度补偿模型,首先介绍了加速度和温度的采集系统的设计,然后对采集到的加速度值进行温度补偿,经过对实验数据的融合处理表明,该方法可极大的减小温度漂移,具有广泛的应用前景。
【关键词】加速度计;温度补偿;BP神经网络;MATLAB
1.引言
在测试领域,加速度计的应用非常广泛,加速度计的精度对测试具有很重要的作用。而温度是影响加速度计测量精度的重要干扰因素,如何准确分析环境温度的影响规律,提出高效的温度补偿方法,对提高加速度计的测量精度有着重大的现实意义。
传统的温度补偿方法尽管已经十分成熟,但在实际应用中总不可避免的存在着弊端。这些方法一般需要有确定的被补偿传感器的精确数学模型,这个要求对于加速度计来说,很难做到。而BP神经网络具有良好的自适应性,自组织性和很强的学习能力[1]。从理论上说,人们无需事先知道传感器的数学模型,只需知道其对应的输入和输出数据,就能通过对神经网络的训练和神经网络的自我学习掌握传感器系统的数学模型和输入输出关系[2]。这就为我们设计一种基于BP神经网络的加速度计温度补偿模型奠定了基础。
2.系统设计
加速度计的温度补偿,需要系统能够采集到加速度计的输出值以及对应的温度值,并且将这些数据实时的记录。所以基于这些要求,设计了一个加速度和温度采集系统。
CS-3LAS-03中星测控公司推出的一款三轴加速度计,该传感器为模拟输出,其量程为-100g~+100g。本设计以CS-3LAS-03为核心传感器,采用ALTERA公司的EP2C8Q208C8N作为控制芯片、AD公司的AD7606为数据采集单元,SHT15作为温度传感器,SAMSUNG公司的K9HCG08U1M作为FLASH存储单元。EP2C8Q208C8N控制AD7606[3]采集CS-3LAS-03加速度计三个轴的输出电压值,并且读取SHT15的温度值,将得到的数据存储在K9HCG08U1M中[4]。实验结束后,FPGA读取FLASH中的加速度以及温度值,经由USB传输至上位机,系统结构图如图1所示,实物图如图2所示。
图1 系统结构图
图2 系统实物图
3.BP神经网络温度补偿模型设计
建立BP网络模型,首先要确定网络结构。在数学上已经证明对于任何在闭区间内的一个连续函数,都可以用单隐层的BP网络逼近。虽然增加网络层数可以进一步降低误差提供精度,同时也使网络复杂化,增加了网络的训练时间。因此本网络采用三层BP神经网络,即只含有一个中间隐层[5]。
理论上,隐层神经元的个数越多,则网络输出精度越高[8]。然而,神经元越多,网络局部极小点可能增加,网络学习收敛至局部极小点的几率也增高,精度反而下降,网络的容错性能也在下降,而且计算量大为增加,对硬件的要求也提高了。因此隐层具体的神经元个数要根据具体的仿真结果而定[6]。
为了得到非线性的映射关系,隐层的传输函数采用对数S型传递函数logsig函数h(x)=[1+exp(-x)]-1,输出层用线性传递函数purelin函数[7]。
本文选取的输入层有两个神经元,分别为加速度计输出的X轴(Y轴或Z轴)温度漂移数据A和SHT15传感器输出的温度数据T。隐层神经元的个数拟定为N,输出层只有一个神经元,为加速度计实际的X轴(Y轴或Z轴)的温度漂移数据P,即为补偿后的漂移数据。结构模型如图3所示:
图3 三层BP网络温度补偿原理图
4.实验分析
4.1 数据采集
将待测加速度计和标准水平传感器固定在一个安装平台上,然后将安装平台放在基座平台上,通过调整基座位置,使标准水平传感器近似达到水平状态。如圖4所示。
图4 实验安装平台
然后将两个传感器连同安装平台一同放入低温箱进行冷冻(-40°),低温保持4小时后,拿出安装平台将其固定于初始调零位置,开始加速度值和温度值的采集。当温度由-45℃回到常温25摄氏度时,结束采集工作。将FLSAH中的加速度和温度值经由USB模块传输至上位机,我们可以得到三四个矩阵X、Y、Z和T,分别表示从低温-45℃到常温25℃的回温过程中加速度计X轴、Y轴、Z轴的温度漂移数据和温度传感器记录温度数据。重复上述过程,得到X1、Y1、Z1、T1,用已验证温度补偿神经网络的重复性。然后变换安装平台的初始位置,重复上述过,得到X2、Y2、Z2、T2,用来验证不同情况下温度补偿神经网络的可行性。
4.2 数据处理
4.2.1 将矩阵X-X(count-1) 即温度漂移和T作为输入矩阵,隐层神经元个数N,我们根据经验公式N=2n+1 (n为输入单元数),N取5,然后利用BP网络进行训练,仿真结果如图5所示。
从图5可以看出当N=5时,经过98步训练,误差可收敛到0.001以内。同时我们得到了-50°到25°的温度补偿模型的BP训练网络net。
4.2.2 将隐层神经元个数N调整为10,再次训练仿真,结果如图6所示。
可以看出,当N=10的时候,仿真效果相比于N=5的时候略好,但训练次数明显增多,相应的训练时间增加。因此我们取N=5,足以满足实验误差要求。
4.2.3 利用步骤1中N=5时训练好的BP网络net来对矩阵X1-X1(count-1)和T1进行训练仿真,训练仿真结果如图7所示。
图5 N=5时的训练仿真图
图6 N=10时的训练仿真图
图7 训练仿真图
从图7可以看出,步骤1中训练好的网络对同一加速度计的同一角度下的温度补偿具有重复性。
4.2.4 利用步骤1中训练好的网络来对矩阵X2和T2进行训练仿真,训练仿真结果如图8所示。
图8 训练仿真图
从图8中可以看出,步骤1中训练好的网络可以适应同一加速度计在多角度下的温度补偿。
5.小结
BP神经网络是人工神经网络中最为重要的网络之一,实践证明这种基于误差反传递算法的BP网络有很强的映射能力,可以解决许多实际问题,而且精度很高。本文以环境温度和加速度计的输出为变量,基于BP神经网络建立了加速度计温度补偿模型,仿真效果良好,具有广泛的应用前景。
参考文献
[1]陶海军,张一鸣,曾志辉. 基于AD7606的多通道数据采集系统设计[J].工矿自动化,2013,12:110-113.
[2]李萍,曾令可,税安泽,金雪莉,刘艳春,王慧.基于MATLAB的BP神经网络预测系统的设计[J].计算机应用与软件,2008,04:
149-150+184.
[3]陶海军,张一鸣,曾志辉. 基于AD7606的多通道数据采集系统设计[J].工矿自动化,2013,12:110-113.
[4]苏高利,邓芳萍. 论基于MATLAB语言的BP神经网络的改进算法[J].科技通报,2003,02:130-135.
[5]樊振宇.BP神经网络模型与学习算法[J].软件导刊,2011,07:66-68.
[6]石云.Bp神经网络的Matlab实现[J].湘南学院学报,2010,05:86-88+111.
[7]张鹏飞,王宇,龙兴武,汤建勋,李革,许光明. 加速度计温度补偿模型的研究[J].传感技术学报,2007,05:1012-1016.
作者简介:
郭慧斌,中北大学计算机与控制工程学院在读研究生,研究方向:动态测试计量技术及仪器。
郑宾,中北大学教授,研究方向:测试计量技术及仪器。