300 likes | 443 Views
6.3 测量数据预处理技术. 引言 很多参数是非线性的 很难找出准确的的数学表达式 即便有表达式,但计算也非常复杂 系统大多都允许一定的误差 用软件补偿方便. 微机控制技术. 6.3 测量数据预处理技术. 6.3.1 线性插值算法 6.3.2 分段插值算法程序的设计方法 6.3.3 插值法在流量测量中的应用 6.3.4 系统误差的自动校正. 6. 3. 1 线性插值算法. 用计算机处理非线性函数应用最多的方法是线性插值法。线性插值法是代数插值法中最简单的形式。假设变量和自变量的关系如图 7-13 所示。. 微机控制技术.
E N D
6.3 测量数据预处理技术 引言 • 很多参数是非线性的 • 很难找出准确的的数学表达式 • 即便有表达式,但计算也非常复杂 • 系统大多都允许一定的误差 • 用软件补偿方便 微机控制技术
6.3 测量数据预处理技术 6.3.1 线性插值算法 6.3.2 分段插值算法程序的设计方法 6.3.3 插值法在流量测量中的应用 6.3.4 系统误差的自动校正
6. 3. 1线性插值算法 用计算机处理非线性函数应用最多的方法是线性插值法。线性插值法是代数插值法中最简单的形式。假设变量和自变量的关系如图7-13所示。 微机控制技术
6. 3. 1线性插值算法 图7-11 线性插值法示意图 微机控制技术
6. 3. 1线性插值算法 知在点x0和x1的对应值分别为y0和y1,现在用直线AB代替弧线,由此可得直线方程 (7-28) 根据插值条件,应满足: { (7-29) 解方程组(7-29),可求出直线方程的参数a和b。由此可求出该直线方程的表达式为 (7-30) 微机控制技术
6. 3. 1线性插值算法 式中, ,称为直线方程的斜率。 或 (7-31) 式(7-30)为点斜式直线方程,式(7-31)为两点式直线方程。 微机控制技术
6. 3. 1线性插值算法 讨论: • 插值点0和1之间的间距越小,那么在这一区间和之间的误差越小。 • 只要误差在允许的范围内,即可用几条直线来代替曲线。 此方法称为分段插值法。 微机控制技术
6. 3.2 分段插值算法程序设计方法 分段插值法的基本思想是将被逼近的函数(或测量结果)根据其变化情况分成几段,为 了提高精度及缩短运算时间,各段可根据精度要求采用不同的逼近公式。最常用的是线性插值和抛物线插值。在这种情况下,分段插值的分段点的选取可按实际曲线的情况灵活决定。 关于抛物线插值算法,读者可参阅[2]。 微机控制技术
6. 3.2 分段插值算法程序设计方法 分段插值法程序设计步骤如下: (1)用实验法测量出传感器的输出变化曲线,[或各插值节点的值 ]。为使测量结果更接近实际值,要反复进行测量,以便求出 一个比较精确的输入输出曲线。 (2)将上述曲线进行分段,选取各插值基点。为了使基点的选取更合理,可根据不同的方法分段。主要有两种方法: 微机控制技术
6. 3.2 分段插值算法程序设计方法 ①等距分段法 插值基点等距离。优点是使 常数, 过程简化。但是,当函数的曲率和斜率变化比较大时,将会产生一定的误差。要想减小误差,必须把基点分得很细,这样,势必占用更多的内存,并使计算机的开销加大。 ②非等距分段法 函数基点的分段不是等距的,而是根据函数曲线形状的变化率的大小来修正插值间的距离。曲率变化大的,插值距离小一点。也可以使常用刻度范围插值距离小一点,而非常用刻度区域距离大一点,但是非等距插值点的选取比较麻烦。 微机控制技术
6. 3.2 分段插值算法程序设计方法 (3)根据各插值基点的 值,使用相应的插值公式,求出模拟 的近似表达式 。 (4)根据 编写出汇编语言应用程序。 用式(7-30)进行计算比较简单,只须进行一次减法,一次乘法和一次加法运算即可。 微机控制技术
6. 3.2 分段插值算法程序设计方法 在用分段法进行程序设计之前,必须首先判断输入值处于哪一段。为此,需将与各分点值进行比较,以便判断出该点所在的区间。然后,转到该段逼近公式进行计算。 值得说明的是,分段插值法总的来讲光滑度都不太高,这对于某些应用是有缺陷的。但是,就大多数工程要求而言,也能基本满足需要。在这种局部化的方法中,要提高光滑度,就得采用更高阶的导数值,多项式的次数亦需相应增高。为了只用函数值本身,并在尽可能低的次数下达到较高的精度,可以采用样条插值法。 微机控制技术
6. 3.3 插值法在流量测量中的应用 图7-14所示为某流量测量系统的流量与查压的实测变化曲线。 由图7-14可以看出,流量差压变化曲线是非线性的。由于该曲线变化比较平滑,因此可以采用多项式插值公式,也可以选用分段线性插值法完成。下面以分段线性插值法求解 微机控制技术
6. 3.3 插值法在流量测量中的应用 图7-12 流量—差压变化曲线 微机控制技术
6. 3.3 插值法在流量测量中的应用 由于流量在低端变化较为陡直,高端变化比较平缓,所以我们采用不等距分段法。假设三个插值基点分别为,和,其对应的流量值分别为,如图7-15所示现在,用图7-15中的折线 来代替曲线OA,AB,BC。根据式(7-30),可写出图7-15流量测量中各段的线性插值公式为: (7-32) 微机控制技术
6. 3.3 插值法在流量测量中的应用 图7-13 用分段线性插值法求解流量图 微机控制技术
6. 3.3 插值法在流量测量中的应用 式中, —折线 的斜率, ; —折线 的斜率, ; —折线 的斜率, 。 设检测值经数字滤波后存放于以DATA为地址的储存单元中,系数k1、k2、k3、各插值基点△P1、△P2,△P3以及各点所对应的流量值Q1、Q2、Q3分别存放在程序存储器ROM中。 微机控制技术
6. 3.3 插值法在流量测量中的应用 根据公式(7-32),可画出用插值法计算流量流程图,如图7-16所示。根据图7-16可写出汇编语言程序如下: 微机控制技术
6. 3.3 插值法在流量测量中的应用 图7-14 用插值计算法计算流量Q的子程序框图 微机控制技术
ORG 8000H • START: ACALL LOAD ;传送数据 • MOV A,DATA ; (R2R3)←△P • MOV R3,A • MOV R2,#00H • MOV A,R2 ;判断△P和△P3的大小 • CJNE A,27H,AA1 • MOV A,R3 • CJNE A,26H,BB1 • BIGG1: AJMP Q3 ; △P= △P3 ,转Q3 • AA1: JNC BIGG1 • AJMP LESS1
BB1: JNC BIGG1 • LESS1: MOV A,R2 ;判断△P和△P2的大小 • CJNE A,29H,AA2 • MOV A,R3 • CJNE A,28H,BB2 • BIGG2: AJMP Q2 ; △P 2≤△P≤ △P3,转 Q2 • AA2: JNC BIGG2 • AJMP LESS2 • BB2: JNC BIGG2 • LESS2: MOV A,R2 ;判断△P和△P1的大小 • CJNE A,2BH,AA3 • MOV A,R3 • CJNE A,2AH,BB3
BIGG3: AJMP Q1 ; △P 1≤△P≤ △P2,转 Q1 • ,转 • AA3: JNC BIGG3 • AJMP LESS3 • BB3: JNC BIGG3 • LESS3: MOV R7,24H ; (R6R7)←K1 • MOV R6,25H • LCALL QKMULT ;计算K1· △P • MOV R4,R6 • MOV R5,R7 • DONE: RET
Q3: MOV DPTR,#100CH ;Q=Q3 • MOV A,#00H • MOVC A,@ADPTR • MOV R5,A • INC DPTR • MOV A,#00H • MOVC A,@ADPTR • MOV R4,A • AJMP DONE
Q2:MOV R6,29H ; (R6R7)← △P2 • MOV R7,28H • LCALL NSUB ;计算 △P- △P2 • MOV R2,21H ; • MOV R3,20H • MOV R6,R4 ; • MOV R7,R5 • LCALL QKMULT ;计算 • MOV DPTR,#100EH • MOV A,#00H • MOVC A,@A+DPTR • MOV R3,A • INC DPTR • MOV A,#00H • MOVC A,@A+DPTR • MOV R2,A • LCALL NADD ;计算 • AJMP DONE
Q1: MOV R6,2BH ; • MOV R7,2AH • LCALL NSUB ;计算 • MOV R2,23H ; • MOV R3,22H • MOV R6,R4 ; • MOV R7,R5 • LCALL QKMULT ;计算 • MOV DPTR,#1010H ; • MOV A,#00H • MOVC A,@ADPTR • MOV R3,A • INC DPTR • MOV A,#00H • MOVC A,@ADPTR • MOV R2,A • LCALL NADD ;计算 • AJMP DONE
6. 3.3 插值法在流量测量中的应用 • LOAD: MOV DPTR,#1000H ;传送数据 • MOV A,#00H • MOV R2,#0CH • MOV R0,#20H • LOOP: MOVC A,@ADPTR • MOV @R0,A • INC DPTR • INC R0 • MOV A,#00H • DJNZ R2,LOOP • RET 微机控制技术
6. 3.4 系统误差的自动校正 系统误差是指在相同条件下,经过多次测量,误差的数值(包括大小符号)保持恒定,或按某种已知的规律变化的误差。这种误差的特点是,在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。因此,原则上讲,系统误差是可以通过适当的技术途径来确定并加以校正的。在系统的测量输入通道中,一般均存在零点偏移和漂移,产生放大电路的增益误差及器件参数的不稳定等现象,它们会影响测量数据的准确性,这些误差都属于系统误差。有时必须对这些系统误差进行校准。下边介绍一种实用的自动校正方法。 微机控制技术
6. 3.4 系统误差的自动校正 这种方法的最大特点是由系统自动完成,不需人的介入,其电路如图7-15所示。 微机控制技术
6. 3.4 系统误差的自动校正 该电路的输入部分加有一个多路开关。系统在刚上电时或每隔一定时间时,自动进行一次校准。这时,先把开关接地,测出这时的输入值xo;然后把开关接标准电压VR,测出输入值xl,设测量信号x与y的关系是线形关系,即y=a1x+a0,以此得到两个误差方程 (7-34) 解此方程组,得 (7-35) 微机控制技术
6. 3.4 系统误差的自动校正 从而可得校正公式 采用这种方法测得 的y与放大器的漂移和增益变化无关,与VR的精度也无关。这样可大大提高测量精度,降低对电路器件的要求。 微机控制技术