可以验证第一段直线最大绝对误差发生在130℃处,误差值为0.836℃。第二段直线最大绝对误差发生在250℃处,误差值为0.925℃。对比7.3.1.1节中用两段折线校正的结果,采用最小二乘法所得的校正方程的绝对误差要小得多。
除用m次多项式来拟合外,也可以用其他函数如指数函数、对数函数、三角函数等来拟合。另外拟合曲线还可用这些实验数据点作图,从各个数据点的图形(称之为散点图)的分布形状来分析,选配适当的函数关系或经验公式来进行拟合。当函数类型确定后,函数关系中的一些待定系数,仍常用最小二乘法来确定。
7.3.2系统误差的标准数据校正法
在难以进行恰当理论分析的情况下,未必能建立仪器的误差校正模型,但这时往往可以通过实验,即用实际的校正手段来求得校正曲线,然后把曲线上的各个校正点的数据以表格形式存入仪器内存。一个校正点的数据对应一个(或几个)内存单元,在以后的实时测量中,通过查表来求得修正了的测量结果。
譬如对一个模拟放大器的系统误差机理一无所知,但总可以在它的输入端逐次加入已知电压x1,x2,…,xn,在它的输出端测出相应的结果y1,y2,…,yn,并做出一条校正曲线。
然后在内存中建立一张校正数据表,把yi(i=1,2,…,n)作为EPROM的地址,把对应的xi(i=1,2,…,n)作为内容存入这些EPROM中。实时测量时,若测得一个yi,就令仪器主校正的误差机去访问yi这个地址,读出它的内容xi,这个xi就是被测量的真值。
这种方法的问题在于,当实测量y介于两个校正点yi和yi-1之间时,若仅是直接查表,则只能按其最接近的yi或yi-1查,这显然会引入一定的误差。误差可作如下估计:设两校正点间的校正曲线为一直线段,其斜率为S=Δx/Δy(注意,校正时y是自变量,x是函数值),并设最大斜率为Sm,则知可能的最大误差为:
Δxm=Sm·Δy
考虑取双向误差时误差的绝对值可减半,则最大误差为±Δxm=±Sm·Δy/2
设y的量程为Y,校正时取等间隔的N个校正点,则yi-1-yi=Δy=Y/N
于是:
Δxm=Sm·Y/2N
显然,用校准数据校正系统误差,既取决于校正点数N,也取决于运算时的字长。点数越多,字长越长,则精度越高。但是点数增多和字节变长都将大幅度增加存储容量,这对一般智能仪器来说,是不太现实的。
为此通常取较少的校正点,而在校正点之间进行内插,以达到既节约内存,又减小误差,提高测量精度的目的。常用的插值方法是线性插值。
7.3.3仪器零位误差和增益误差的校正方法
智能仪器与常规仪器一样,由于传感器、测量电路、信号放大器等不可避免地存在温度漂移和时间漂移,给整个仪器引入零位误差和增益误差。这类误差均属系统误差。下面介绍这些误差的校正方法。
7.3.3.1零位误差的校正方法
智能仪器中零位校正的原理是很简单的。在中断正常的测量过程中,在需要作零位校正时,可把输入端短路(即使输入为零),这时包括传感器在内的整个测量输入通道的输出即为零位输出(由于存在零位误差,其值不为零),把这一零位输出存于内存单元中。在正常测量过程中,仪器在每次测量后均从采样值中减去原先存入的零位输出值,从而实现了零位校正。这种零位校正法在智能数字电压表、数字欧姆表等仪器中已得到广泛应用。
对于其他一些非电量测量仪器,例如力、位移、速度、加速度和转速等,同样可用上述原理实现零位校正.但对其他一些非电量仪器,例如温度、湿度和绝对压力等仪器,要实现零位校正就不那么容易了,因此这些物理量的“零”基准信号难以人为提供,对于这类仪器,传感器零位漂移的补偿比较困难。
7.3.3.2增益误差的校正方法
在智能仪器的测量输入通道中,除了存在零点偏移外,放大电路的增益误差及器件的不稳定,也会影响测量数据的准确性,因而必须对这些误差进行校正。校正的基本思想是在仪器开机后或每隔一定时间去测量一次基准参数,如数字电压表的基准电压和零电压,然后用前面介绍的建立误差校正模型的方法,确定并存储校正模型的参数。在正式测量时,根据测量结果和校正模型求取校正值,从而消除误差。校正的方法多种多样,下面介绍两种较常用的方法。
1.全自动校正
全自动校正由仪器自动完成,无需人的介入,。
该电路的输入部分有一个多路开关,由仪器内的主机电路控制。需要校正时,先把开关接到地,测出这时的输入x0,然后把开关接到VR,测出输出值x1,并存放x0和x1,从而得到式(7-15)所示的校正方程。
采用这种方法测得的信号与放大器的漂移和增益变化无关,与VR的精度也无关,因而可大大提高测量精度,降低对电路器件的要求。
2.人工自动校正
全自动校正只适用于基准参数是电信号的场合,并且这种方法不能校正由传感器引入的误差,为了克服这一弱点,可采用人工自动校正。
人工自动校正的原理与全自动校正差不多,只不过不是自动定时进行校正,而是由人工在需要时接入标准的参数进行校正测量,把测得的数据存放起来,供以后使用。一般人工自动校正只测一个标准信号yR,零信号的补偿由数字调零来完成。设数字调零后测得的数据分别为xR(接标准输入yR时)和x(接被测输入y时),则可按下式来计算y:
y=yR/xR·x(7-32)
如果在校准时,计算并存放yR/xR的值,则测量时只需一次乘法即可。
有时标准输入信号yR不容易得到,这时可采用现时的输入信号yi。校正时测出这时的对应输入xi,而操作者采用其他高精度仪器测出这时的yi,并输入仪器中,然后仪器计算并存放yi/xi值,代替前面的yR/xR作校正系数。
人工自动校正特别适用于传感器特性随时间变化的场合。如常用的湿敏电容等湿度传感器,其特性随时间变化而变化。一般一年以上变化会大于精度允许值,这时可采用人工自动校正,即每隔一定时间(例如一个月或三个月)用其他方法测出湿度值,然后把它作为校正值输入仪器,以后测量时,仪器将自动用该值来校正以后的测量值。
7.3.4传感器温度误差的校正方法
在高精度仪器中,传感器的温度误差已成为提高性能指标的严重障碍。对于环境温度变化较大的场合,更是如此。依靠传感器本身附加一些简单的电路或其他装置来实现完善的补偿是很困难的,仪器中微处理器的引入为解决这一问题提供了新的途径。只要能建立起较精确的温度误差数学模型,就有可能实现完善的补偿。一个可行的方法是在传感器内靠近敏感元件处,安装一个测温元件,以感受传感器的工作环境温度。常用的测温元件是PN二极管、热敏电阻等,它们的某些特性随温度而变化,经测温电路、A/D转换电路转换为与温度有关的数字量θ,θ作为仪器在计算温度误差时的补偿量。
对于某些传感器,可以采用较简单的温度误差校正模型:
yC=y(1+α0Δθ)+α1Δθ(7-33)
式中:y——未经温度误差校正的测量值;
yC——经校正后的测量值;
Δθ——实际工作环境温度与标准温度之差;
α0和α1——温度变化系数,α1补偿零位漂移,α0补偿传感器灵敏度的变化。
7.4消除粗大误差的软件算法
粗大误差是指在一定的测量条件下,测量值明显地偏离实际值所形成的误差。粗大误差明显地歪曲了测量结果,应予以剔除。在测量次数比较多时(N≥20),测量结果中的粗大误差宜采用莱特准则判断。若测量次数不够多时,宜采用格拉布斯准则。当对仪器的系统误差采取了有效技术措施后,对于测量过程中所引起的粗大误差一般可按下列步骤处理:
(1)求测量数据的算术平均值
(2)求各项的剩余误差:
υi=xi-x
(3)求标准误差
(4)判断粗大误差(坏值):可以运用公式|υi|>Gσi进行判断,其中G为系数。
在测量数据为正态分布情况下,如果测量次数足够多,习惯上采用莱特准则判断,取G=3。如果测量次数不够多,宜采用格拉布斯准则判断,系数G需要通过查表求出。
对于非正态测量数据,应根据具体分布形状来确定剔除异常数据的界限。
(5)如果判断存在粗大误差,应予剔除,然后重复上述步骤(1)~(4)(每次只允许剔除其中最大的一个)。
为了削弱随机误差的影响,提高测量结果的可靠性,应尽量增加测量次数,即增大样品的容量。但随着测量数据增加,人工计算就显得相当繁琐和困难,若在智能仪器软件中设置一段程序,便可在测量进行的同时也能对测量数据进行处理。
值得说明的是,只有当被测参数要求比较精确或者某项误差影响比较严重时,才需对数据按上述步骤进行处理。在一般情况下,可直接将采样数据作为测量结果,或进行一般滤波处理即可,这样有利于提高速度。
思考与练习题7
1.为什么智能仪器要具备自检功能?自检方式有哪几种?常见的自检内容有哪些?
2.自拟一个具有外扩RAM的智能仪器,并编写ROM和RAM的自检程序。
3.采用数字滤波算法克服随机误差具有哪些优点?
4.什么是仪器的系统误差?智能仪器如何克服仪器的系统误差?
5.常用的数字滤波方法有哪些?说明各种滤波算法的特点和使用场合。
6.试述仪器零位误差和增益误差的校正方法。
7.什么是仪器的粗大误差?智能仪器如何克服仪器的粗大误差?