当前位置: 首页 > >

第四章-2克服系统误差的软件算法和标度变换选编_图文

发布时间:

第四章 智能仪器的基本数据处理算法
基本数据处理算法之二
减小系统误差的算法:
? 减小零位误差与增益误差的方法 ? 复杂函数关系问题:如何建模、标准数据表 ? 非理想系统动态特性误差修正 ? 传感器的温度误差
工程量的标度变换:

第二节 减小系统误差的算法
? 系统误差: 是指在相同条件下多次测量同一量时, 存在着其大小和符号保持不变或按一定 规律变化的误差。

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

一、仪器零位误差和增益误差的校正方法
? 由于传感器、测量电路、放大器等不可避 免地存在温度漂移和时间漂移,所以会给 仪器引入零位误差和增益误差。
?需要输入增加一个多路开关电路和基准电压。 开关的状态由计算机控制。

1.零位误差校正

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

Vx

?

Vr Nr ?No

(N

x?

No)

2.增益误差的自动校正

增益误差校正与零位误差校正过程相同

Vx

?

Vr Nr ?No

(N

x?

No)

这种校正方法测得信号

Vx =A1*Nx +A0
A1=Vr/(Nr-N0) A0=Vr N0/(N0-Nr) 校正系数A1、A0 当通道是程控增益,

克服了放大器的漂移和 增益变化的影响,降低 了对电路器件的要求, 达到与Vr等同的测量精 度,但增加了测量时间

每个增益档有一组系数。

二、系统复杂关系建模算法

传感器的输出电信号与被测量之间的关系呈非 比例关系(非线性);仪器采用的测量电路是 非线性的 。
传统仪器的模拟表头或数字显示输出结果:

传感器或检测电 路非比例关系

采用硬件校正电 路实现比例关系

按比例关系刻度 或显示

智能仪器采用软件算法:建模或查表

建立被测量与采集数据之间的关系,给出被测量

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

ln RT ? ln(? ? R 25?C ) ? ? / T
T ? ? / ln[(RT /(? ? R25?C )] ? F(RT )
z ? T ? F(N / k) ? ? / ln[N /(k ? ? ? R25?C )]
当温度在0~50℃之间: α =1.44×10-6 β =4016K

2.建模方法之一:代数插值法
? 代数插值:
设 有 n+1 组 离 散 点 : (x0, y0) , (x1, y1),…,(xn, yn),x∈[a,b]和未知函 数f(x),就是用n次多项式
Pn (x) ? a n xn ? a n?1xn?1 ? ? ? a1x ? a0
去逼近f(x),使Pn(x)在节点xi处满足
Pn (xi ) ? f (xi ) ? yi i ? 0, 1, ?, n

系数an,…,a1,a0应满足方程组

?a ? ?a ?

n n

x

n 0

x1n

?

? ?

a

n

xn
?1 0

?1

?

?a1x10

a

n

xn
?1 1

?1

?

?a1x11

?

? a0 ? a0

? ?

y0 y1

??a

n

x

n n

?

a

n

?1x

n n

?1

? ?a1x1n

?

a0

?

yn

要用已知的(xi, yi) (i = 0, 1, …, n)去求 解方程组,即可求得ai(i = 0, 1, …, n),从 而得到Pn(x)。此即为求出插值多项式的最基本 的方法。 对于每一个信号的测量数值xi就可近 似地实时计算出被测量yi = f(xi)≈Pn(xi)。

最常用的多项式插值有:

线性插值和抛物线(二次)插值。

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

P1(x)

?

x ? x1 x0 ? x1

y0

?

x ? x0 x1 ? x0

y1

?

a1x

?

a0

a1

?

y1 x1

? ?

y0 x0

, a0

?

y0

? a1x0

x

Vi = | P1 (Xi)-f (Xi) |, i = 1, 2, …, n – 1若 在x的全部取值区间[a, b]上始终有Vi<ε(ε为允许 的校正误差),则直线方程P1(x) = a1x+a0就是理想 的校正方程。

线性插值举例
? 0~490℃的镍铬—镍铝热电偶分度表如表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℃。另外,在 240~360℃范围内校正误差均大3℃。即用直线方程 进行非线性校正不能满足准确度要求。

? (2)抛物线插值(二阶插值):

在一组数据中选取(x0, y0),(x1, y1), (x2, y2)三点,相应的插值方程

P2

(

x)

?

(x (x0

? ?

x1)(x ? x2) x1)(x0 ? x2)

y0

?

(x (x1

? ?

x0 x0

)(x ? x2) )(x1 ? x2)

y1

?

(x (x2

? ?

x0 x0

)(x ? x1) )(x2 ? x1)

y2

y y2 y1 y0

P(X) f(x)

x0

x1 x2

x

? 现仍以表4.1所列数据说明抛物线插值的个 体作用。节点选择(0,0),(10.15,250) 和(20.21,490)三点

P2

(x)

?

x(x ? 20.21) 10.15(10.15 ? 20.21)

?

250

?

x(x ?10.15) 20.21(20.21 ?10.15)

?

490

? ?0.038 x2 ? 25.02 x

可以验证,用此方程进行非线性较正,每点误 差均不大于3℃,最大误差发生在130℃处,误 差值为2.277℃

? 提高插值多项式的次数可以提高校正准确度。 考虑到实时计算这一情况,多项式的次数一般 不宜取得过高,当多项式的次数在允计的范围 内仍不能满足校正精度要求时,可采用提高校 正精度的另一种方法—
(3) 分段插值法:
? 这种方法是将曲线y = f (x) 分成N段, 每性段校用正一(个i=插1,值2多, 项…式N)Pn。i (x)进行非线
等距节点分段插值和不等距节点分段插 值两类。

① 等距节点分段插值:
适用于非线性特性曲率变化不大的场合。分 段数N及插值多项式的次数n均取决于非线性 程度和仪器的精度要求。非线性越严重或精 度越高,则N取大些或n取大些,然后存入仪 器的程序存储器中。实时测量时只要先用程 序判断输入x(即传感器输出数据)位于折 线的哪一段,然后取出与该段对应的多项式 系数并按此段的插值多项式计算Pni (x),就 可求得到被测物理量的近似值。

② 不等距节点分段插值对于曲率变化大的 非线性特性,若采用等距节点的方法进行 插值,要使最大误差满足精度要求,分段 数N就会变得很大(因为一般取n≤2)。这 将使多项式的系数组数相应增加。此时更 宜采且非等距节点分段插值法。即在线性 好的部分,节点间距离取大些,反之则取 小些,从而使误差达到均匀分布 。

? 在表4.1中所列的数据中取三点(0,0), (10.15,250),(20.21,490),并用 经过这三点的两个直线方程来近似代替整 个表格。通过计算得:

?24.63x P1(x) ? ??23.86x ? 7.85

0 ? x ? 10.15 10.15 ? x ? 20.21

可以验证,用这两个插值多项式对表4.1中所列的数据 进行非线性校正时,第一段的最大误差发生在130℃处 ,误差值为1.278℃,第二段最大误差发生在340℃处, 误差1.212℃。显然与整个范围内使用抛物线插值法相 比,最大误差减小约1℃。因此,分段插值可以在大范 围内用较低的插值多项式(通常不高于二阶)来达到很 高的校正精度。

3.建模方法之二:曲线拟合法
? 曲线拟合,就是通过实验获得有限对测试 数据(xi, yi),利用这些数据来求取近似 函数y= f ( x )。式中x为采集结果,y为 被测物理量。与插值不同的是,曲线拟合 并不要求y= f ( x )的曲线通过所有离散 点(xi, yi),只要求y= f ( x )反映这些 离散点的一般趋势,不出现局部波动。

最小二乘法连续函数拟合
自变量x与因变量y之间的单值非线性关系可以自变量 x的高次多项式来逼近
y ? a0 ? a1x ??amxm
对于n个实验数据对(xi,yi)(i =1,2,…,n), 则可得如下n个方程
y1 ? (a0 ? a1x1 ??? a mx1m ) ? V1
y2 ? (a0 ? a1x2 ??? a mx2m ) ? V2
yn ? (a0 ? a1xn ??? a mxn m ) ? Vn

n

n

m

? ? ? ?(a 0 , a1,?, a m ) ?

Vi2 ?

[yi ?

a

j

x

j i

]

2

?

min

i?1

i?1

j?0

? ? ??
?ak

n
? ?2
i?1

??????

y i

?

n j ?1

2

a

j

xj i

???

xk i

? ??

?0

? ? ? ?n
?

xi ?

? ? ? ? ? xi

x

2 i

?

??? ?

?

?
? ? ? ? ?

x

m i

x

m?1 i

?

x

m i

x m?1 i

?

x

2m i

? ? ? ? ? ? ?

?

?a 0 ??a1 ?? ? ?a m

? ? ? ? ? ?

?

? ? ? ??? ??

yi xi yi

x

m i

y

i

? ? ? ? ? ??

解即为aj(j = 0,…,m)的最佳估计值

? 拟合多项式的次数越高,拟合结果的精度也就越 高,但计算量相应地也增加。若取m = 1,则被 拟合的曲线为直线方程 y = a0 + a1x n个实验数据对(xi,yi)(i = 1,2,…,n)

? ? ? ? a0

?

1( ?

n

n

x

2 i

yi

i?1

i?1

?

n

n

xi xiyi

i?1 i?1

)

? ? ? 1 n

n

n

a1

?

?

(

n
i?1

x i yi

?

i?1

xi

i?1

yi )

n

n

? ? ? ? n

x

2 i

?(

xi )2

i ?1

i ?1

分段直线拟合
分段n次曲线 拟合

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

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

四.测量(采集)通道 非理想动态特性校正
? 理想线性特性 ? 非理想特性对被测量信号的影响 ? 如何校正 ? 如何获得通道实际特性

五、传感器温度误差的校正方法
在高精度仪器仪表中,传感器的温度误差已 成为提高仪器性能的严重障碍,对于环境温 度变化较大的应用场合更是如此。
仅依靠传感器本身附加的一些简单的电路或其 他装置来实现完善的传感器温度误差校正是困 难且不便的。但只要能建立起较精确的温度误 差模型,就可能实现完善的校正。

? 温度本身就是一个需要检测的量,或在传感器内 靠近敏感元件处附加一个测温元件(二极管、热 敏电阻)等。它们的某些特性随温度而变化,经 测温电路、ADC后可转换为与温度有关的数字量, 设为θ。
?温度误差数学模型的建立,可采用前面 已介绍的代数插值法或曲线拟合法等。
可采用如下较简单的温度误差校正模型:
yc ? y(1 ? a0??) ? a1??
y为未经温度校正的测量值;yc为经温度校正的测量值; Δθ为实际工作环境与标准温度之差;a0和a1为温度变化系 数(a1用于校正由于温度变化引起的传感器零位漂移,a0用 于校正由于温度变化引起的传感器标度的变化)。

第三节 标度变换
? 仪器采集的数据并不等于原来带有量纲的参 数值,它仅仅对应于参数的大小,必须把它 转换成带有量纲的数值后才能显示、打印输 出和应用,这种转换就是工程量变换,又称 标度变换。
? 例:测量机械压力时,当压力变化为0-100N时,压力传感器输出的电压为0--10mV, 放大为0--5V后进行A/D转换,得到00H--FFH 的数字量(假设也采用8位ADC)。

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

应用实例:
? 某智能温度测量仪采用8位ADC,测量范围为 10~100℃,仪器采样并经滤波和非线性校正 后(即温度与数字量之间的关系已为线性)的 数 字 量 为 28H 。 此 时 , 式 ( 4.32 ) 中 的 A0=10℃,N0=0FH , Am=100℃ , Nm=FFH=255 , Nx=28H=40。 计算 AX

二、非线性参数的标度变换
? 许多智能仪器所使用的传感器是非线性的。 此时,一般先进行非线性校正,然后再进行 标度变换。
实例:利用节流装置测量流量时,流量与节流 装置两边的差压之间有以下关系
G ? K ?P
Gx ? [( Nx ? N0 ) /( Nm ? N0 )](Gm ? G0 ) ? G0

思考题与习题
1..与硬件滤波器相比,采用数字滤波器有何优点? 2.常用的数字滤波算法有哪些?说明各种滤波算法的
特点和使用场合。 3.各种常用的滤波算法能组合使用吗?若能,请举例
说明;若不能,请说明理由。 4.设检测信号是幅度较小的直流电压,经过适当放大
和A/D转换,由于50Hz工频干扰使测量数据呈现周期 性波动。设采样周期Ts=1ms,采用算数平均滤波算 法,是否能够消除工频干扰?平均点数N如何选择?

? 5.采用51系列单片机实现4题,请画出算法流程图, 编写汇编程序,加以详细注释。
? 6.在4题中又增加了脉冲干扰,设计复合滤波算法, 画出算法流程图,编写汇编程序,加以详细注释。
? 7.中值数绝对偏差决策滤波器与中值滤波器有哪些 特点?画算法流程图。
? 8.什么是系统误差?有哪几种类型?简要说明系统 误差与随机误差根本区别。
? 9.产生零位误差的原因有哪些?产生增益误差的原 因有哪些?简述校正方法。
? 10.基准电压Vr的精度和稳定性是否影响零位误差、 增益误差的校正效果?

11.系统非线性误差校正的思路与方法。
12.通过测量获得一组反映被测值的离散数据, 建立起一个反应被测量值变化的近似数学 模型。有哪些常用的建模方法?
13.什么是代数插值法?简述线性插值和抛物 线插值是如何进行的。
14.什么是线性拟合法?如何利用最小二乘法 来实现多项式拟合。
15.试建立标准数据校正表,采用查表内插方 法实现系统误差校正,画出流程图,设计 程序。
16.举例说明什么是标度变换?

人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。




友情链接: