1、基本数据处理算法内容提要,消除系统误差的算法、非线性校正工程量的标度变换。诸如频谱估计、相关分析、复杂滤波等算法,阅读数字信号处理方面的文献。,第四章 智能仪器的基本数据处理算法,第二节 消除系统误差的软件算法,系统误差:是指在相同条件下,多次测量同一量时其大小和符号保持不变或按一定规律变化的误差。恒定系统误差:校验仪表时标准表存在的固有误差、仪表的基准误差等;变化系统误差:仪表的零点和放大倍数的漂移、温度变化而引入的误差等;非线性系统误差:传感器及检测电路(如电桥)被测量与输出量之间的非线性关系。常用有效的测量校准方法,这些方法可消除或消弱系统误差对测量结果的影响。,一、仪器零位误差和增益误
2、差的校正方法,由于传感器、测量电路、放大器等不可避免地存在温度漂移和时间漂移,所以会给仪器引入零位误差和增益误差。,需要输入增加一个多路开关电路。开关的状态由计算机控制。,1零位误差的校正方法在每一个测量周期或中断正常的测量过程中,把输入接地(即使输入为零),此时整个测量输入通道的输出即为零位输出(一般其值不为零)N0;再把输入接基准电压Vr测得数据Nr,并将N0和Nr存于内存;然后输入接Vx,测得Nx,则测量结果可用下式计算出来。,即在正常测量过程中,均从采样值中减去原先存入的零位输出值,从而实现零位校正。,2增益误差的自动校正方法,其基本思想是测量基准参数,建立误差校正模型,确定并存储校正
3、模型参数。在正式测量时,根据测量结果和校正模型求取校正值,从而消除误差。需要校正时,先将开关接地,所测数据为X0,然后把开关接到Vr,所测数据为X1,存储X0和X1,得到校正方程:Y=A1X+A0 A1=Vr/(X1X0) A0=Vr X0/(X0X1)这种校正方法测得信号与放大器的漂移和增益变化无关,降低了对电路器件的要求,达到与Vr等同的测量精度。但增加了测量时间。,二、系统非线性校正,传感器的输出电信号与被测量之间的关系呈非线性 ;仪器采用的测量电路是非线性的 。,模型方法来校正系统误差的最典型应用是非线性校正。,模型方法来校正系统误差的最典型应用是非线性校正。,1校正函数法,如果确切知
4、道传感器或检测电路的非线性特性的解析式y = f(x),则就有可能利用基于此解析式的校正函数(反函数)来进行非线性校正。,例:某测温热敏电阻的阻值与温度之间的关系为RT为热敏电阻在温度为T的阻值;,和为常数,当温度在050之间分别约为1.4410-6和4016K。,2、建模方法之一:代数插值法,代数插值:设有n + 1组离散点:(x0, y0),(x1, y1),(xn, yn),xa,b和未知函数f(x),就是用n次多项式去逼近f(x),使Pn(x)在节点xi处满足,系数an,a1,a0应满足方程组,要用已知的(xi, yi) (i = 0, 1, , n)去求解方程组,即可求得ai(i =
5、 0, 1, , n),从而得到Pn(x)。此即为求出插值多项式的最基本的方法。 对于每一个信号的测量数值xi就可近似地实时计算出被测量yi = f(xi)Pn(xi)。,最常用的多项式插值有:线性插值和抛物线(二次)插值。,(1).线性插值:从一组数据(xi, yi)中选取两个有代表性的点(x0, y0)和(x1, y1),然后根据插值原理,求出插值方程,x,Vi = | P1 (Xi)f (Xi) |, i = 1, 2, , n 1若在x的全部取值区间a, b上始终有Vi(为允许的校正误差),则直线方程P1(x) = a1x+a0就是理想的校正方程。,线性插值举例,0490的镍铬镍铝热电
6、偶分度表如表4.1。若允许的校正误差小于3,分析能否用直线方程进行非线性校正。取A(0, 0)和B(20.21, 490)两点,按式(4.23)可求得a1 = 24.245,a0 = 0,即P1(x) = 24.245x,此即为直线校正方程。显然两端点的误差为0。通过计算可知最大校正误差在x = 11.38mV时,此时P1(x) = 275.91。误差为4.09。另外,在240360范围内校正误差均大3。即用直线方程进行非线性校正不能满足准确度要求。,(2)抛物线插值(二阶插值):在一组数据中选取(x0, y0),(x1, y1),(x2, y2)三点,相应的插值方程,y,现仍以表4.1所列数
7、据说明抛物线插值的具体作用。节点选择(0,0),(10.15,250)和(20.21,490)三点,可以验证,用此方程进行非线性较正,每点误差均不大于3,最大误差发生在130处,误差值为2.277,提高插值多项式的次数可以提高校正准确度。考虑到实时计算这一情况,多项式的次数一般不宜取得过高,当多项式的次数在允计的范围内仍不能满足校正精度要求时,可采用提高校正精度的另一种方法(3) 分段插值法:这种方法是将曲线 y = f (x)分成N段,每段用一个插值多项式Pni (x)来进行非线性校正 (i=1, 2, N)。等距节点分段插值和不等距节点分段插值两类。,等距节点分段插值适用于非线性特性曲率变
8、化不大的场合。分段数N及插值多项式的次数n均取决于非线性程度和仪器的精度要求。非线性越严重或精度越高,则N取大些或n取大些,然后存入仪器的程序存储器中。实时测量时只要先用程序判断输入x(即传感器输出数据)位于折线的哪一段,然后取出与该段对应的多项式系数并按此段的插值多项式计算Pni (x),就可求得到被测物理量的近似值。,.不等距节点分段插值对于曲率变化大的非线性特性,若采用等距节点的方法进行插值,要使最大误差满足精度要求,分段数N就会变得很大(因为一般取n2)。这将使多项式的系数组数相应增加。此时更宜采且非等距节点分段插值法。即在线性好的部分,节点间距离取大些,反之则取小些,从而使误差达到均
9、匀分布 。,在表4.1中所列的数据中取三点(0,0),(10.15,250),(20.21,490),并用经过这三点的两个直线方程来近似代替整个表格。通过计算得:,可以验证,用这两个插值多项式对表4.1中所列的数据进行非线性校正时,第一段的最大误差发生在130处,误差值为1.278,第二段最大误差发生在340处,误差1.212。显然与整个范围内使用抛物线插值法相比,最大误差减小约1。因此,分段插值可以在大范围内用较低的插值多项式(通常不高于二阶)来达到很高的校正精度。,3.建模方法之二:曲线拟合法,曲线拟合,就是通过实验获得有限对测试数据(xi, yi),利用这些数据来求取近似函数y= f (
10、 x )。式中x为输出量,y为被测物理量。与插值不同的是,曲线拟合并不要求y= f ( x )的曲线通过所有离散点(xi, yi),只要求y= f ( x )反映这些离散点的一般趋势,不出现局部波动。,最小二乘法连续函数拟合,自变量x与因变量y之间的单值非线性关系可以自变量x的高次多项式来逼近对于n个实验数据对(xi,yi)(i =1,2,n),则可得如下n个方程,解即为aj(j = 0,m)的最佳估计值,拟合多项式的次数越高,拟合结果的精度也就越高,但计算量相应地也增加。若取m = 1,则被拟合的曲线为直线方程 y = a0 + a1x n个实验数据对(xi,yi)(i = 1,2,n),,
11、分段拟合:是把曲线 y= f ( x )的整个区间划分成若干段,每段用一个多项式来拟合 1)分段直线拟合 2)分段n次曲线拟合,1)分段直线拟合 将y= f ( x )曲线分段,每段用一条直线来拟合。思路是利用每段曲线上的若干组实验数据来求得最佳拟合直线。 将各转折点及每段的a,b参数计算出来并存入内存,进行校正时,首先应根据采样获得的测量值大小来确定被测量在那一段范围内,然后通过查表得出该段的a,b参数,并利用校正公式y=a+bx求得校正后的被测量。,2)分段曲线拟合 对于有些非线性特性可以用n次多项式进行拟合,一般取n=2,即二次抛物线拟合。 有时为了使效果最佳,各段也可选择不同的多项式进
12、行拟合。各段的拟合表达式与相应的系数可利用计算机离线计算,然后再存入智能仪器微机系统的内存中。,一般的对于同样的分段数N及相同的多项式次数n,曲线拟合的校正精度要优于插值法。,例如:在整个区间仍取相同的三个点(0,0),(10.15,250),(20.21,490),分成两段,若每段用线性方程拟合,可得:,可以验证,第一段直线最大绝对误差发生在130处,误差值为0.836,第二段最大误差发生在250处,误差0.925。而线性插值第一段和第二段的最大误差分别为1.278 和1.212 。显然采用最小二乘法所得到的校正方程的绝对误差要小得多。 这主要是因为曲线拟合不要求被拟合的曲线通过所有的点。,
13、三、系统误差的标准数据校正法,当难以进行恰当的理论分析时,未必能建立合适的误差校正模型。但此时可以通过实验,即用实际的校正手段来求得校正数据,然后把校正数据以表格形式存人内存。实时测量中,通过查表来求得修正的测量结果。,实测值介于两个校正点之间时,若仅是直接查表,则只能按其最接近查找,这显然会引入一定的误差。可进行如下误差估计,设两校正点间的校正曲线为一直线段,其斜率S=XY(注意,校正时Y是自变量,X是函数值),并设最大斜率为Sm,可能的最大误差为Xm=SmY,设Y的量程为Ym,校正时取等间隔的N个校正点,则Xm=SmYm/N,点数越多,字长越长,则精度越高,但是点数增多和字节变长都将大幅度
14、增加存储器容量。,四、传感器温度误差的校正方法,在高精度仪器仪表中,传感器的温度误差已成为提高仪器性能的严重障碍,对于环境温度变化较大的应用场合更是如此。仅依靠传感器本身附加的一些简单的电路或其他装置来实现完善的传感器温度误差校正是困难且不便的。但只要能建立起较精确的温度误差模型,就可能实现完善的校正。,温度本身就是一个需要检测的量,或在传感器内靠近敏感元件处附加一个测温元件(PN二极管、热敏电阻)等。它们的某些特性随温度而变化,经测温电路、ADC后可转换为与温度有关的数字量,设为。温度误差数学模型的建立,可采用前面已介绍的代数插值法或曲线拟合法等。,可采用如下较简单的温度误差校正模型:,y为
15、未经温度校正的测量值;yc为经温度校正的测量值;为实际工作环境与标准温度之差;a0和a1为温度变化系数(a1用于校正由于温度变化引起的传感器零位漂移,a0用于校正由于温度变化引起的传感器标度的变化)。,第三节 标度变换,仪器采集的数据并不等于原来带有量纲的参数值,它仅仅对应于参数的大小,必须把它转换成带有量纲的数值后才能显示、打印输出和应用,这种转换就是工程量变换,又称标度变换。例:测量机械压力时, 常利用压力传感器,当压力变化为0-100N时,压力传感器输出的电压为0-10mV,放大为0-5V后进行A/D转换,得到00H-FFH的数字量(假设也采用8位ADC)。,一、线性标度变换,若被测量的
16、变换范围为A0AmA0对应的数字量为N0,Am对应的数字量为Nm,Ax对应的数字量为Nx;实际测量值为Ax;假设包括传感器在内的整个数据采集系统是线性的,则标度变换公式为:,通过一定的处理可使A0对应的数字量N0为零,某智能温度测量仪采用8位ADC,测量范围为10100,仪器采样并经滤波和非线性校正后(即温度与数字量之间的关系已为线性)的数字量为28H。此时,上式中的A0=10,Am=100,Nm=FFH=255,Nx=28H=40。则,应用实例:,二、非线性参数的标度变换,许多智能仪器所使用的传感器是非线性的。此时,一般先进行非线性校正,然后再进行标度变换。实例:利用节流装置测量流量时,流量
17、与节流装置两边的差压之间有以下关系,许多非线性传感器并不像流量传感器那样,可以写出简单的公式,或者虽然能够用数学表达式描述,但计算相当困难。这时可采用多项式插值法、线性插值法或查表法进行标度变换。,思考题与习题,1与硬件滤波器相比,采用数字滤波器有何优点?2常用的数字滤波算法有哪些?说明各种滤波算法的特点和使用场合。3各种常用的滤波算法能组合使用吗?若能,请举例说明;若不能,请说明理由。,4中值数绝对偏差决策滤波器与中值滤波器有哪些特点?画算法流程图。5什么是系统误差?有哪几种类型?简要说明系统误差与随机误差根本区别。6产生零位误差的原因有哪些?产生增益误差的原因有哪些?简述校正方法。7基准电压Vr的精度和稳定性是否影响零位误差、增益误差的校正效果?,8.系统非线性误差校正的思路与方法。9通过测量获得一组反映被测值的离散数据,建立起一个反应被测量值变化的近似数学模型。有哪些常用的建模方法? 10什么是代数插值法?简述线性插值和抛物线插值是如何进行的。 11什么是线性拟合法?如何利用最小二乘法来实现多项式拟合。 12试建立标准数据校正表,采用查表内插方法实现系统误差校正,画出流程图,设计程序。 13例说明什么是标度变换?,