基于传感器温度补偿方法的双指数函数模型的温度补偿算法设计
时间:2023-02-26 21:30:00
描述
0 引言
目前,基于传感器的温度补偿方法主要分为模拟硬件设计和数字信号处理。通常使用模拟硬件PTAT 和CTAT 设计读出电路等技术。数字信号处理通常包括线性拟合、最小二乘多项 拟合、BP神经网络 、卡尔曼滤波 、支持向量机等算法。在这些算法的基础上,提出了双指数函数模型的温度补偿算法,具有以下优点:
(1)指数函数具有无限阶泰勒展开式,因此双指数函数可以在拟合传感器温度系数曲线等非线性曲线时达到较高的精度。
(2)本文提出了一种具有高精度初值的交替迭代方法 ,也就是说,分离系数法。首先,使用4组数据点和联立方程组线性系数的初始值,然后采用交替迭代法计算优化的线性和非线性系数。整个算法解决了交替迭代计算产生的迭代不收敛、精度低、迭代次数多的问题。
(3)在传感器温度补偿中,由于双指数函数系数只有4个,可以使用CORDIC算法设计硬件补偿电路来集成到传感器中,其中系数保存在ROM中即可,因此具有很好的工程实用价值。
1 交替迭代法拟合双指数函数
基于传感器温度补偿的双指数函数模型为(1)。
(5)重复步骤(2)、(3)和(4)交替计算线性系数和非线性系数,直到均方误差Δ直到达到给定的范围。
交替迭代法只使用非线性系数作为初始值,在一定程度上降低了初始值选择的难度,但仍然依赖于非线性系数。因此,非线性系数初始值的选择在拟合过程中起着至关重要的作用。
2 非线性系数初值计算分离系数法
非线性初始值采用分离系数法9计算。具体算法如下:
(1)在数据点中选择4组数据点{(Vtempi,Vouti)},i=一、二、三、四。Vtemp1《Vtemp2《Vtemp3《Vtemp4,且Vouti同号。
(2)将点1和点2带入双指数函数式(1)中得到式(4)和式(5):
(4)将点2和点3带入式(1)可以得到与式(6)类似的方程,二者联立可以消去线性参数α2.获得式(8),其中T2由式(7)下标加1获得。
(5)将公式(8)两侧取对数,然后近似带入中点微分消除对数可得式(9)A1、B1、C1、D表达式由公式(10)表示:
(6)再利用点2、3、4也可以导出类似于公式(9)的方程,如公式(11)。其中系数为公式(10)下标加1。
(7)消除非线性系数的联立式(9)和式(11)β2.一元二次方程组得到另一个非线性系数β1的两个解,然后通过公式(9)得到β2。
采用数据点对系数进行分离,最终将超过函数方程转换为一元二次方程求解。在使用这种方法时,可以多次尝试不同的4点来比较拟合结果。一般来说,当观测点相对密集和均匀时,误差相对较小。在获得高精度非线性系数的初始值后,通过第一节介绍的交替迭代法计算和优化结果,可以获得高精度拟合的双指数函数方程,为温度补偿提供更准确的函数模型。
3 模拟实验与分析
3.1 拟合双指数函数
对两组数据(x1,y1)和(x2,y2)实验测试,具体数据见表1。
采用matlabR2013软件对数据(x1,y1)和(x2,y2)拟合。拟合结果如图1、图2所示。图1(a)和图2(a)本文提出的算法首先计算出高精度非线性系数的初始值β1=17.614 6、β2=1.314 7和β1=-0.092 9、β2=7.568 5,图1和图2(b)、图2(c)采用不同的线性初始值进行对比。表2和表3分别定量分析图1和图2的拟合效果(RMSE)和确定系数(R_square)作为评价指标。
从表中可以看出,本文提出的算法提高了初始值的准确性,减少了均方误差,提高了确定系数,具有良好的拟合效果。
3.2 基于传感器温度补偿
在本节中,使用一个来验证本文的算法和模型在传感器温度补偿中的有效性MEMS加速度计,在温箱中进行零位温度循环试验。具体步骤如下:
(1)导入实验数据MATLAB取温度循环实验中的全温实验一段Vtemp从0.4 V~0.67 V(实际温度相当于-40 ℃~60 ℃)。
(2)对数据进行小波降噪异常值。
(3)采用移动平均法平滑处理,等间隔采样50个数据点作为待拟合数据。结果如图3所示(a)、图3(b)、图3(c)、图3(d)所示。
图4(a)、图4(b)拟合结果图和最终补偿结果图。拟合结果RMSE=4.874 2×10-5,R_square=0.994 3。将MEMS补偿加速度计原输出后,最大误差(峰值)从1开始.851 3×10-5下降到1.735 0×10-5。数量级减少了。
4 结束语
在现有温度补偿算法的基础上,首先提出了双指数函数模型的温度补偿方法。其次,考虑到传统交替迭代法在双指数函数拟合过程中初始值选择不当导致迭代不收敛、精度低、迭代次数多的问题,提出了分离系数法 ,该方法能有效计算高精度初始值,从而获得高精度拟合结果。该算法最终应用于传感器温度补偿,表明温度系数曲线的最大误差降低了一个数量级。具有一定的实用价值。下一步可以采用CORDIC算法实现双指数函数模型硬件,存储系数ROM在传感器芯片中补偿电路集成到传感器芯片中,只需改变四个系数,而不是单片机,实现自动温度补偿。
打开APP阅读更多精彩内容
点击阅读全文