消除系统误差的软件算法的研究摘要:一般而言,由于测量步骤的不尽完善会引起测量结果的误差,其中有的来自系统误差,有的来自随机误差。
随机误差被假设来自无法预测的影响量或影响的随机的时间和空间变异。
系统误差和随机误差一样无法删除,但是通常我们可以采用适当的算法来降低系统误差对测量结果的影响。
本文探讨了几种消除系统误差的软件算法。
关键词:系统误差;零位误差;增益误差;非线性校正Research of Software algorithms to eliminate systematic errorsLou Benyue(School of Information and Electrical Engineering of CUMT,Xuzhou,Jiangsu 221008) Abstract:Generally speaking, measurement errors may be caused by imperfect measurement, some of them come from systematic errors, some from random error. Random error is assumed to come from the impact can not be predicted or influence the amount of random variation in time and space. Systematic error and random error all can not be deleted, but usually we can use appropriate algorithms to reduce system errors on the measurement results.Several software algorithms which can eliminate systematic errors was discussed in this article.Keywords:Systematic error; zero error; gain error; non-linear correction0引言系统误差(Systematic error)又叫做规律误差。
它是在一定的测量条件下,对同一个被测尺寸进行多次重复测量时,误差值的大小和符号(正值或负值)保持不变;或者在条件变化时,按一定规律变化的误差。
认识系统误差产生原因,重点是系统非线性校正,关键是建立误差模型。
我们往往无法预先知道误差模型,只能通过测量获得一组反映被测值的离散数据,利用这些离散数据建立起一个反应被测量值变化的近似数学模型(即校正模型)。
有时即使有了数学模型,例如n次多项式,但其次数过高,计算太复杂、太费时,常常要从系统的实际精度要求出发,用逼近法来降低一个已知非线性特性函数的次数,以简化数学模型,便于计算和处理。
因此,误差校正模型的建立,包括了由离散数据建立模型和由复杂模型建立简化模型这两层含义。
1系统误差分析(几个概念的介绍)系统误差:是指在相同条件下,多次测量同一量时其大小和符号保持不变或按一定规律变化的误差。
恒定系统误差:校验仪表时标准表存在的固有误差、仪表的基准误差等;变化系统误差:仪表的零点和放大倍数的漂移、温度变化而引入的误差等;非线性系统误差:传感器及检测电路(如电桥)被测量与输出量之间的非线性关系。
这些方法是较为常用的有效的测量校准方法,可消除或消弱系统误差对测量结果的影响。
2仪器零位误差和增益误差的校正方法由于传感器、测量电路、放大器等不可避免地存在温度漂移和时间漂移,所以会给仪器引入零位误差和增益误差。
需要输入增加一个多路开关电路。
开关的状态由计算机控制。
图1 自动校正电路零位误差的校正方法在每一个测量周期或中断正常的测量过程中,把输入接地(即使输入为零),此时整个测量输入通道的输出即为零位输出(一般其值不为零)N0;再把输入接基准电压Vr 测得数据Nr ,并将N0和Nr 存于内存;然后输入接Vx ,测得Nx ,则)(00N N N N v v x r rx --=测量结果可用上式计算出来。
增益误差的自动校正方法其基本思想是测量基准参数,建立误差校正模型,确定并存储校正模型参数。
在正式测量时,根据测量结果和校正模型求取校正值,从而消除误差。
需要校正时,先将开关接地,所测数据为X0,然后把开关接到Vr ,所测数据为X1,存储X0和X1,得到校正方程:Y=A1X+A0 A1=Vr/(X1-X0) A0=Vr X0/(X0-X1)这种校正方法测得信号与放大器的漂移和增益变化无关,降低了对电路器件的要求,达到与Vr 等同的测量精度。
但增加了测量时间。
3 系统非线性校正图2 系统非线性校正原理图3.1 校正函数法如果确切知道传感器或检测电路的非线性特性的解析式y=f(x),则就有可能利用基于此解析式的校正函数(反函数)来进行非线性校正。
例:某测温热敏电阻的阻值与温度之间的关系为:⎰=⋅=︒)(/25T e R R T C T βα()[])()/(ln /T T T R F R R T =⋅=αβ()[])/(ln //25C R k N k N F T z ︒⋅⋅===αβT C T R R /)ln(ln 25βα︒⋅=RT 为热敏电阻在温度为T 的阻值;α和β为常数,当温度在0~50℃之间分别约为1.44×610-K 和4016K 。
3.2 代数插值法建模代数插值:设有n+1组离散点:(x0,y0),(x1,y1),…,(xn,yn),x ∈[a ,b]和未知函数f(x),就是用n 次多项式去逼近f(x),使Pn(x)在节点xi 处满足0111)(a x a x a x a x P n nn n n ++⋅⋅⋅++=--系数an ,…,a1,a0应满足方程组i i i n y x f x P ==)()( i =0,1,…,n⎪⎪⎩⎪⎪⎨⎧=++⋅⋅⋅++=++⋅⋅⋅++=++⋅⋅⋅++----∙∙∙--nn n n n n n y a x a x a x a y a x a x a x a y a x a x a x a n n n n nn nn n 01110110011111111110100 用已知的(xi, yi ) (i = 0, 1, …, n)去求解方程组,即可求得ai(i = 0, 1, …, n),从而得到Pn(x)。
即为求出插值多项式的最基本的方法。
对于每一个信号的测量数值xi 就可近似地实时计算出被测量。
yi = f(xi)≈Pn(xi)最常用的多项式插值有:线性插值和抛物线(二次)插值。
提高插值多项式的次数可以提高校正准确度可采用提高校正精度的另一种方法—分段插值法:等距节点分段插值和不等距节点分段插值两类。
3.3 曲线拟合法建模曲线拟合,就是通过实验获得有限对测试数据(xi, yi ),利用这些数据来求取近似函数y=f(x)。
式中x 为输出量,y 为被测物理量。
与插值不同的是,曲线拟合并不要求y=f(x)的曲线通过所有离散点(xi,yi ),只要求y=f(x)反映这些离散点的一般趋势,不出现局部波动。
最小二乘法连续函数拟合自变量x 与因变量y 之间的单值非线性关系可以用自变量x 的高次多项式来逼近m x a x a a y m +⋅⋅⋅++=10对于n 个实验数据对(xi ,yi )(i =1,2,…,n ),则可得如下n 个方程1101210211101)()()(21V x a x a a y V x a x a a y V x a x a a y m n mm m n n m m =+⋅⋅⋅++-=+⋅⋅⋅++-=+⋅⋅⋅++-∙∙∙min ][),,,(210121→-==⋅⋅⋅∑∑∑===n i mj ji ni i x a y V a a a jimϕ02211=⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--=∂∂∑∑==ni j i n j ji x x a y a j i k ϕ ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅∑∑∑∑∑∑∑∑∑∑∑++i i i i mi iy x y x y a a a x x x xxx x xnm i m i m i mi m iimi 102112 拟合多项式的次数越高,拟合结果的精度也就越高,但计算量相应地也增加。
若取m = 1,则被拟合的曲线为直线方程 y = a0 + a1x ,n 个实验数据对(xi ,yi )(i = 1,2,…,n )⎪⎭⎫ ⎝⎛-∆=∑∑∑∑====n i ni n i ni i i i i i y x x y x a 1111210⎪⎭⎫ ⎝⎛-∆=∑∑∑==-ni n i ni i i i i y x y x n a 111112112⎪⎭⎫ ⎝⎛-=∆∑∑==n i ni ii x x n4系统误差的标准数据查表校正法当难以进行恰当的理论分析时,未必能建立合适的误差校正模型。
但此时可以通过实验,获得校正数据,然后把校正数据以表格形式存入内存。
实时测量中,通过查表来求得修正的测量结果。
实测值介于两个校正点之间时,若仅是直接查表,则只能按其最接近查找,这显然会引入一定的误差。
可进行如下误差估计,设两校正点间的校正曲线为一直线段,其斜率S=△X /△Y (注意,校正时Y 是自变量,X 是函数值),并设最大斜率为Sm ,可能的最大误差为△Xm=Sm △Y ,设Y 的量程为Ym ,校正时取等间隔的N 个校正点,则△Xm=SmY/N 点数越多,字长越长,则精度越高,但是点数增多和字节变长都将增加存储器容量。
5传感器温度误差的校正方法在高精度仪器仪表中,传感器的温度误差已成为提高仪器性能的严重障碍,对于环境温度变化较大的应用场合更是如此。
仅依靠传感器本身附加的一些简单的电路或其他装置来实现完善的传感器温度误差校正是困难且不便的。
但只要能建立起较精确的温度误差模型,就可能实现完善的校正。
温度本身就是一个需要检测的量,或在传感器内靠近敏感元件处附加一个测温元件(PN 二极管、热敏电阻)等。
它们的某些特性随温度而变化,经测温电路、ADC 后可转换为与温度有关的数字量,设为θ。
温度误差数学模型的建立,可采用前面已介绍的代数插值法或曲线拟合法等。
可采用如下较简单的温度误差校正模型:θθ∆+∆+=10)1(a a y y cy 为未经温度校正的测量值;c y 为经温度校正的测量值;Δθ为实际工作环境与标准温度之差;a0和a1为温度变化系数(a1用于校正由于温度变化引起的传感器零位漂移,a0用于校正由于温度变化引起的传感器标度的变化)。