第4章 2智能仪器的数据处理(系统误差校正和标度变换)_第1页
第4章 2智能仪器的数据处理(系统误差校正和标度变换)_第2页
第4章 2智能仪器的数据处理(系统误差校正和标度变换)_第3页
第4章 2智能仪器的数据处理(系统误差校正和标度变换)_第4页
第4章 2智能仪器的数据处理(系统误差校正和标度变换)_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二节减小系统误差的算法

1系统误差定义是指在相同条件下多次测量同一量时,存在着其大小和符号保持不变或按一定规律变化的误差。一系统误差概述

2系统误差分类恒定系统误差:恒定不变的误差称为恒定系统误差,例如,在校验仪器时,标准表存在的固有误差、仪器的基准误差等。变化系统误差:仪表的零点(或基线)和放大倍数的漂移、温度变化而引入的误差等;例如,由仪器的零点漂移、放大倍数的漂移以及热电偶冷端随室温变化而引入的误差等。系统非线性(非比例)误差:传感器及检测电路(如电桥)被测量与输出量之间的非比例关系;线性系统动态特性误差。

克服系统误差与抑制随机干扰不同,系统误差不能依靠概率统计方法来消除或削弱,它不像抑制随机干扰那样能导出一些普遍适用的处理方法,而只能针对某一具体情况在测量技术上采取一定的措施加以解决。1减小零位误差与增益误差的方法2复杂函数关系问题:如何建模、标准数据表3非理想系统动态特性误差修正4传感器的温度误差二减少系统误差的算法1仪器零位误差和增益误差的校正方法

由于传感器、测量电路、放大器等不可避免地存在温度漂移和时间漂移,所以会给仪器引入零位误差和增益误差。(1)选定增益

(2)将输入接地(即使输入为零),此时整个测量通道的输出即为零位输出N0(一般不为零);(3)将再把输入接基准电压Vr测得数据Nr,并将N0和Nr存于内存;(4)将入接Vx,测得Nx,则测量结果可用下式计算出来。

零位误差校正

增益误差的自动校正Vx

=A1*Nx+A0A1=Vr/(Nr­N0)A0=VrN0/(N0­Nr)

校正系数A1、A0

当通道是程控增益,每个增益档有一组系数。这种校正方法测得信号克服了放大器的漂移和增益变化的影响,降低了对电路器件的要求,达到与Vr等同的测量精度,但增加了测量时间。

这种校正方法测得信号克服了放大器的漂移和增益变化的影响,降低了对电路器件的要求,达到与Vr等同的测量精度,但增加了测量时间。由于上述过程是自动进行的,且每次测量过程很快,因此,即使各误差因子随时间有缓慢的变化,也可消除其影响,实现近似于实时的误差修正。

误差模型和校正电路图

(a)误差模型;(b)校正电路举例:图(a)所示的误差模型在电子仪器中是具有相当普遍意义的。

图(a)中的x是输入电压(被测量),y是带有误差的输出电压(测量结果),ε是影响量(例如零点漂移或干扰),i是偏差量(例如直流放大器的偏置电流),k是影响特性(例如放大器增益变化)。从输出端引一反馈量到输入端以改善系统的稳定性。在无误差的理想情况下,有ε=0,i=0,k=1,于是存在关系y=x。在有误差的情况下,则有

y=k(x+ε+y′)

由此可以推出

可改写成下列简明形式:

x=b1y+b0

其中,

x=b1y+b0即为误差修正公式,其中,b0、b1为误差因子。如果能求出b0、b1的数值,即可由误差修正公式获得无误差的x值,从而修正了系统误差。误差修正公式中含有两个误差因子b0和b1,因而需要做两次校正。假设建立的校正电路图(b)所示,图中E为标准电池,则具体校正步骤如下:

(1)零点校正:先令输入端短路,即S1闭合,此时有x=0,于是得到输出为y0。按照式可得方程如下 0=b1y0+b0

(2)增益校正:再令输入端接上标准电压,即S2闭合(S1、S3断开),此时有x=E,于是得到输出为y1。同样可得方程如下:E=b1y1+b0联立求解上述两个方程,即可求得误差因子为

(3)实际测量:最后,令S3闭合(S1、S2断开),此时得到输出为y(结果)。于是,由上述已求出的误差因子b0和b1可获得被测量的真值为

2系统复杂关系建模算法

传感器的输出电信号与被测量之间的关系呈非比例关系(非线性);仪器采用的测量电路是非线性的。智能仪器采用软件算法:建模或查表建立被测量与采集数据之间的关系,给出被测量传感器或检测电路非比例关系采用硬件校正电路实现比例关系按比例关系刻度或显示传统仪器的模拟表头或数字显示输出结果2.1系统误差的模型校正法

在某些情况下,对仪表的系统误差进行理论分析和数学处理,可以建立仪表的系统误差模型,从而可以确定校正系统误差的算法和表达式。

2.1.1反函数法

如果知道传感器或检测电路的非线性特性的解析式y=f(x),则就有可能利用基于此解析式的校正函数(反函数)来进行非线性校正。例:某测温用热敏电阻的阻值与温度之间的关系为

RT为热敏电阻在温度为T的阻值。当温度在0~50℃之间:α=1.44×10-6,β=4016K2.1.2建模方法:代数插值法

插值法又称“内插法”。利用函数f(x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f(x)的近似值,这一法称为插值法。如果这特定函数是多项式,就称它为插值多项式。

最常用的多项式插值—性插值和抛物线插值

(1)线性插值:从一组数据(xi,yi)中选取两个有代表性的点(x0,y0)和(x1,y1),然后根据插值原理,求出插值方程。

yxVi=|P1(Xi)-f(Xi)|,i=1,2,…,n–1若在x的全部取值区间[a,b]上始终有Vi<ε(ε为允许的校正误差),则直线方程P1(x)=a1x+a0就是理想的校正方程。(2)抛物线插值(二阶插值):抛物线插值法的基本原理是通过特性曲线上的三个点作一抛物线,用它代替曲线。yxF(x)P(x)x0y0y1y2x2x1

如特性曲线y=f(x),用抛物线来逼近它,抛物线方程为三元一次方程,其一般形式为

y=k0+k1x+k2x2

(12-26)

式中,k0、k1、k2为待定系数,由曲线y=f(x)的三个点A、B、C的三元一次方程组联解求得。为了使计算简便,采用另外一种形式:

y=m0+m1(x-x0)+m2(x-x1)(12-27)式中,m0、m1、m2为待定系数,由A、B、C三点的值决定。

当x=x0,y=y0时,有y0=m0;当x=x1,y=y1时,有y1=m0+m1(x-x0),得

当x=x2,y=y2时,有

,得

(12-29)

分段插值法,即把非线性曲线的整个区间划分成若干段,将每一段用直线或抛物线去插值逼近。只要分点足够多,就完全可以满足精度要求,从而回避高阶运算,使问题化繁为简。

分段插值法

分段插值法基本思想如下:将曲线y=f(x)分成N段,每段用一个插值多项式Pni(x)进行非线性校正(i=1,2,…N)。分段基点的选取可按实际情况决定,既可采用等距分段法,也可采用非等距分段法。(1)等距节点分段插值适用于非线性特性曲率变化不大的场合。分段数N及插值多项式的次数n均取决于非线性程度和仪器的精度要求。非线性越严重或精度越高,则N取大些或n取大些,然后存入仪器的程序存储器中。实时测量时只要先用程序判断输入x(即传感器输出数据)位于折线的哪一段,然后取出与该段对应的多项式系数并按此段的插值多项式计算Pni(x),就可求得到被测物理量的近似值。(2)不等距节点分段插值对于曲率变化大的非线性特性,若采用等距节点的方法进行插值,要使最大误差满足精度要求,分段数N就会变得很大(因为一般取n≤2)。这将使多项式的系数组数相应增加。此时更宜采且非等距节点分段插值法。即在线性好的部分,节点间距离取大些,反之则取小些,从而使误差达到均匀分布。

非等距插值基点的选取比较麻烦,但在相等精度条件下,非等距插值基点的数目将小于等距插值基点的数目,从而节省了内存,减少了仪器的硬件投入。在处理方法的选取上,通过提高插值多项式的阶数来提高精度的方法,远不如采用分段曲线插值法更为恰当。分段插值的不足之处是光滑度不太高,这对某些应用是有缺陷的。

举例:分段直线插值设某传感器的输入输出特性下图所示。图中,x是测量数据,y是实际被测变量,分三段直线来逼近该传感器的非线性曲线。由于曲线低端比高端陡峭,因此采用不等距分段法。

由此可写出各端的线性差值公式为

y=k1x

当0≤x<x1时

y1+k2(x-x1) 当x1≤x<x2时

y2+k3(x-x2)当x2≤x<x3时

y3

当x≥x3时式中:

编程时将系数k1、k2、k3以及数据x1、x2、x3、y1、y2、y3分别存放在指定的ROM中。进行校正时,先根据测量值的大小找到所在的直线段,从存储器中取出该直线段的系数,然后通过计算,即可获得实际被测值y。分段直线插值程序流程图2.1.3建模方法之:曲线拟合法

连续函数一般采用多项式来进行拟合(当然也不排除采用解析函数,如ex、lnx和三角函数等),多项式的阶数应根据仪器所允许的误差来确定。一般情况下,拟合多项式的阶数愈高,逼近的精度也就愈高。但阶数的增高将使计算繁冗,运算时间也迅速增加,因此,拟合多项式的阶数一般采用二阶或三阶。

设有n+1组离散点:(x0,y0),(x1,y1),…,(xn,yn),x∈[a,b]和未知函数f(x),用n次多项式去逼近f(x),使Pn(x)在节点xi处满足系数an,…,a1,a0应满足方程组

用已知的(xi,yi)(i=0,1,…,n)去求解方程组,可求得ai(i=0,1,…,n),从而得到Pn(x)。对于每一个信号的测量数值xi就可近似地实时计算出被测量yi=f(xi)≈Pn(xi)。以热电偶的电势与温度之间的关系式为例,讨论连续函数拟合的方法。热电偶的温度与输出热电势之间的关系一般可用下列三阶多项式来逼近R=a+bx+cx2+dx3x由下式导出

x=xr+a’+b’T0+c’T20

式中,xr是被校正量,即热电偶输出的电压值。T0是使用者预置的热电偶环境(冷端)温度。上述公式中,系数a、b、c、d、a’、b’、c’是与热电偶材料有关的校正参数。R=a+bx+cx2+dx3

首先求出各校正参数a、b、c、d、a’、b’、c’。然后根据测得的x值并通过运算求出对应的R(温度值)。注意:多项式算法通常采用嵌套形式,对于一个n阶多项式一般需要进行次乘法。如果采用嵌套形式,只需进行n次乘法,从而使运算速度加快。

最小二乘法连续函数拟合自变量x与因变量y之间的单值非线性关系可由下式来逼近对于n个实验数据对(xi,yi)(i=1,2,…,n),则可得如下n个方程

解即为aj(j=0,…,m)的最佳估计值举例:分段抛物线拟合

若输入输出特性曲线很弯曲,而测量精度又要求比较高,可考虑采用多段抛物线来分段进行插值。该曲线可以把它划分成Ⅰ、Ⅱ、Ⅲ、Ⅳ四段,每一段都分别用一个二阶抛物线方程以下方程来描述y=aix+2+bix+ci(i=1,2,3,4)其中,抛物线方程的系数ai、bi和ci可以通过下述方法获得:每一段找出三个,即点xi1、xi1和xi(含两分段点),例如在线段Ⅰ中找出x0、x11和x1及对应的y0、y11和y1,在线段Ⅱ中找出x1、x21和x2点及对应的y值y1、y21和y2等。

yi-1=aix2i-1+bixi-1+ci

yi1=aix2i1+bixi1+ci

yi=aix2i+bixi+ci求出的系数ai、bi、ci与x0、x1、x2、x3、x4值一起存放在指定的ROM中。进行校正时,先根据测量值x的大小找到所在分段,再从存储器中取出对应段的系数ai、bi、ci最后运用公式y=ai

x2+bi

x+ci去进行计算就可得到y值。

图2-15分段抛物线拟合程序流程图2.2系统误差的标准数据校正法

当难以进行恰当的理论分析时,未必能建立合适的误差校正模型。但此时可以通过实验,即用实验手段获得校正数据,然后把校正数据以表格形式存入内存。实时测量中,通过查表来求得修正的测量结果。

利用校准曲线通过查表法修正系统误差

在较复杂的仪器中,对较多的误差来源往往不能充分的了解,因此难以建立适当的误差模型。这时可通过实验,即通过实际校准求得测量的校准曲线,然后将曲线上各校准点的数据存入存储器的校准表格中,在以后的实际测量中,通过查表求得修正了的测量结果。

校准过程(1)在仪器的输入端逐次加入输入量x1,x2,…xn,并得到实际测量结果y1,y2,…yn。(2)将实际测量得到的这些yn值作为存储器中的一个地址,把对应的xn值作为内容存入其中,从而建立校准表格。(3)在实际测量时测得一个yn值,就去访问这个地址yn,读出其内容xn,此xn即为被测量经修正过的值。(4)对于y值介于某两个校准点yn和yn+1之间时,可按最邻近的一个值yn或yn+1去查找对应的x值作为最后结果,那么这个结果将带有一定的残余误差。

残差分析在任意两个校准点之间的校准曲线段,可以近似地看成是一段直线段,设这段直线的斜率为s=dx/dy,(注意,校正时y是自变量,x是函数值),校准曲线的最大斜率为sm,由图(b)可见,可能引起的最大残余误差为

Δx=smΔy其中Δy=yn+1-yn若考虑取双向误差,残余误差的绝对值可减小一半,即为

±Δx=±smΔy/2设Y为y的量程,校准时取恒等间隔的N个校准点,即

yn+1-yn=Δy=Y/N

于是得Δx=smY/2N

此外,还应考虑到数据字长有限引起的误差,假定字长为B位2进制数,由此造成的误差将为数据字长的最低位的一半,即

这里X是x的量程,于是实际总误差应为校准表所占的存储空间为:M=N×B位M尽可能小以节约存储器。可得令dM/dB=0,有从而得最小存储空间为:式中S=X/Y。

存储空间分析(1)实测值介于两个校正点之间时,若仅是直接查表,则只能按其最接近查找,这显然会引入一定的误差。(2)可进行如下误差估计,设两校正点间的校正曲线为一直线段,其斜率S=△X/△Y,并设最大斜率为Sm,可能的最大误差为△Xm=Sm△Y,设Y的量程为Ym,校正时取等间隔的N个校正点,则△Xm=SmY/N(3)点数越多,字长越长,则精度越高,但是点数增多和字节变长都将大幅度增加存储器容量。

查表法总结3测量通道—非理想动态特性校正

理想线性特性非理想特性对被测量信号的影响如何校正如何获得通道实际特性4传感器温度误差的校正方法

在高精度仪器仪表中,传感器的温度误差已成为提高仪器性能的严重障碍,对于环境温度变化较大的应用场合更是如此。

仅依靠传感器本身附加的一些简单的电路或其他装置来实现完善的传感器温度误差校正是困难且不便的。但只要能建立起较精确的温度误差模型,就可能实现完善的校正。y为未经温度校正的测量值;yc为经温度校正的测量值;Δθ为实际工作环境与标准温度之差;a0和a1为温度变化系数(a1用于校正由于温度变化引起的传感器零位漂移,a0用于校正由于温度变化引起的传感器标度的变化)。

温度误差数学模型的建立,可采用前面已介绍的代数插值法或曲线拟合法等。采用如下较简单的温度误差校正模型:

三、标度变换

工业过程的各种测量不仅量纲不同,其数值变化范围往往也相差很大。为了采集数据,不管用何种传感器,测量何种被测量所得的信号,都要处理成与A/D转换器输入特性相匹配的电压信号(如0~5V),然后经过A/D转换(例如8位)后才能成为数字量(例如00~0FFH)进入智能仪器的微处理器。要使仪表的显示、记录、打印等结果能反映被测量的实际数值,就必须对A/D转换后的数字信号进行变换。这种测量结果的数字变化就是标度变换。1线性标度变换

若被测量的范围为A0~Am,A0对应的数字量为N0,Am对应的数字量为Nm,Ax对应的数字量为Nx;实际测量值为Ax。假设包括传感器在内的整个数据采集系统是线性的,则标度变换公式为:

1)线性仪器的标度变换

对于具有线性特性的仪器,其标度变换可用如下公式表示,即(7.1)一般测量下限A0所对应的数字量N0为0,即N0=0,这样,式(7.1)可简化为(7.2)例如,某热处理炉温度测量仪表的量程设定为200~800℃,在某一时刻仪表进行数据采集所得的结果为CDH(8位)。按标度变换公式(7.2)可知,A0=200℃,Am=800℃,Nm=FFH,Nx=CDH,因此通过标定变换计算可以确定此时的温度为(7.3)显然标度变换需要进行加、减、乘、除算术运算。为了实现上述运算,可以设计一个专用的标度变换子程序,需要时调用这一子程序即可。变换运算中所需常数可由程序到存储器中约定单元提取。例如约定Ao、Am、No、Nm分别存放在相应的内存单元中,于是,可用图7.8所示程序框图设计程序,进行适合式7.1的标度变换。图7.8线性刻度和流量的标度变换程序流程图

2)非线性测量的标度变换

当测量传感器的特性为非线性时,仪表进行标度变换就不能再用式(7.1)或式(7.2)了,而必须根据具体情况确定标度变换公式。例如流量与差压的关系为(7.4)(7.5)可得差压式流量测量时的标度变换公式为(7.6)式中:Qx为实测流量值;Nx为实际测得数据;Qm为测量上限;Nm为与上限对应的数字量;Qo为测量下限;No为与下限对应的数字量。如果下限取0,即Q0=0,N0=0,则式(7.6)变为(7.7)根据式(7.7)可绘出流量标度变换的程序流程图,如图7.8(b)所示。需要说明的是,非线性测量的标度变换也是一种线性化措施。只要有确定的输入、输出非线性特性模型,通过变换计算,就能获得正确的被测量,这相当于进行了线性化处理。

3.数字线性化

设计智能仪器时,总希望得到线性的输入输出关系,这样不仅可以使显示、记录的刻度均匀,读数清楚方便,而且能使仪器在整个测量范围内的灵敏度一致。

实际上,很多变量与测量转换所得的电信号都呈非线性关系(往往因传感器的特性是非线性的)。例如热电偶在测温中产生的毫伏信号与温度之间为非线性关系,纸浆浓度变送器在测量中输出的电流信号与纸浆浓度之间是非线性关系等。为了最后获得输入输出之间的线性关系,模拟式仪器仪表不得不采用校正结构或线性化电路,对测量特性进行补偿校正。这些硬件补偿措施的效果不可能很好,且增加了成本,降低了可靠性。智能仪器充分利用微处理器的运算能力,通过测量算法进行非线性校正,而不需要任何硬件补偿装置,与硬件补偿方法比较,既可大大提高精度,又能降低成本,提高可靠性。

线性化算法的关键是找到一个合适的校正函数。根据对传感器特性的标定情况,线性化方法可有连续函数拟合、插值、查表以及上面讲到的非线性标度变换等多种方法,非线性标度变换法仅适用于非线性关系可用数学公式确切描述的情况。

例如:一个数字温度计的测量范围为-50℃~150℃,则Ymin=-50℃,Ymax=150℃,而且当Ymin=-50℃时,Nmin=0;Ymax=150℃时,Nmax=1800,则四、极值判断

逻辑运算是简单而又十分有用的一种数据处理手段,智能仪表常用它进行极值判别与报警、测量范围分段、根据测量结果对物体进行分选控制等工作。

例如进行极值判别时,仪表先对数据采集的结果进行适当处理,然后将处理结果与预先设定的上、下限极值(极大值和极小值)进行比较,如果测量结果超过预定的极值,微机将转而执行报警处理程序,使仪表产生声、光报警和保护措施。

软件设计实例

下面以一个配料控制仪为例,说明软件系统的规划方法。该仪器控制一个配料系统,将3种原料按配方要求的比例进行混合。为了提高效率,3个电子秤(压力传感器)同时进行工作,如图7.13所示。3种原料分别装入3个原料仓,原料仓的下端有电磁阀门,可控制原料的加料过程。3个电子秤分别测量3个料斗中原料的质量,当达到配方要求的比例时即停止加料。3个料斗的下端也有电磁阀门,阀门打开后即可将原料排入混合容器中,完成一次配料过程。该系统的功能有:可以输入3种原料的配方和配料次数等工作参数;可以人工控制配料过程,也可以启动自动配料功能;3个电子秤可以同时工作,且控制精度满足要求;能够实时显示系统的各种数据;能够与计算机通信,接收计算机的控制指令和上传配料过程的相关信息。

图7.13配料装置示意图硬件电路

本系统需要处理的数据比较少,CPU采用最普通的89C5l即可,也不需要外挂RAM。键盘部件用来输入操作者的控制命令和技术参数,显示部件用来显示3个电子秤的数据和其它数据。3个传感器和A/D转换部件(包含信号调理电路)完成配料过程中的质量信号采集。输出锁存、光电隔离、功率驱动和电磁阀组成输出控制部件,完成配料过程的各种动作。通信部件完成单片机与上位机通信的信号电气转换。如果单机运行,也可以不要通信部件,可增加一片E2PROM,或采用片内集成有E2PROM的单片机,用来保存配方数据和其它配料技术参数。图配料控制仪硬件系统框图软件系统规划

软件系统规划的前提是实现系统所有预定功能。自检模块、初始化模块和时钟模块是必须使用的模块。为了对系统进行操作,需要监控模块和显示模块;为了完成配料过程,需要信息采集模块、数据处理模块、控制决策模块和信号输出模块;为了和上位机进行通信,需要通信模块。

为了提高系统的可靠性和运行效率,主程序在完成自检和初始化后就进入休眠状态,系统所有工作均在各种中断子程序中完成。这时的主程序具有如下形式:MAIN:;设置堆栈

;调用自检模块

;对系统进行初始化

LOOP:ORLPCON,#01H ;进入休眠状态

LJMPLOOP ;无限循环本系统用定时器作为时钟源,以采样周期作为定时间隔,每次定时中断依次调用时钟模块、信息采集模块、数据处理模块、控制决策模块、监控模块、显示打印模块和信号输出模块。通信模块在通信中断子程序中实现。软件系统规划如图7.15所示。为了在一个定时间隔内执行完众多的模块,在各模块中均不能包含延时子程序和查询等待环节。图7.15配料控制仪软件系统规划软件系统框架

根据软件系统规划的结果,软件系统框架如下(为减少篇幅,省略很多内容):

;地址常量定义:

ADCH EQU 0EDFFH;读取A/D转换结果高字节的地址

ADCL EQU 0EEFFH;读取A/D转换结果低字节的地址

OUTBUF EQU 0BFFFH;输出锁存器的地址

……

;变量定义与资源分配:

ZLH DATA18H ;当前的采样质量(双字节十六进制)

ZLL DATA19H

……;标志定义与资源分配:

FLAG DATA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论