1、7.1 数字滤波技术数字滤波技术 7.2 量程自动转换和标度变换量程自动转换和标度变换 7.3 测量数据预处理技术测量数据预处理技术第七章:过程控制数据处理方法第七章:过程控制数据处理方法第七章:过程控制数据处理方法第七章:过程控制数据处理方法数据采集数据采集-在计算机控制系统中,是最基本的一种模式。在计算机控制系统中,是最基本的一种模式。一般是通过传感器、变送器把生产过程的各种物一般是通过传感器、变送器把生产过程的各种物理参数转换成电信号,然后经理参数转换成电信号,然后经A/DA/D通道或通道或DIDI通道,通道,把数字量送入计算机中。把数字量送入计算机中。数据处理数据处理-计算机在对这些数
2、字量进行显示和控制之前,计算机在对这些数字量进行显示和控制之前,还必须根据需要进行相应的数值计算即数据处理。还必须根据需要进行相应的数值计算即数据处理。为了满足不同系统的需要,设计出了许多有效的为了满足不同系统的需要,设计出了许多有效的数据处理技术方法,数据处理技术方法,如测量数据预处理,数字滤如测量数据预处理,数字滤波,量程自动转换和标度变换等。波,量程自动转换和标度变换等。7.1 数字滤波技术数字滤波技术引言:引言:l问题:环境干扰使采样值偏离真实值,问题:环境干扰使采样值偏离真实值,因此需要滤波;因此需要滤波;l目的:提高信目的:提高信/噪比;噪比;微机控制技术数字滤波技术的优点:数字滤
3、波技术的优点:(1)无需增加任何硬设备。)无需增加任何硬设备。(2)系统可靠性高,不存在阻抗匹配问题。)系统可靠性高,不存在阻抗匹配问题。(3)可多通道共享,从而降低了成本。)可多通道共享,从而降低了成本。(4)可以对频率很低)可以对频率很低(如如0.01Hz)的信号进行滤波。的信号进行滤波。(5)使用灵活、方便,可根据需要选择不同的)使用灵活、方便,可根据需要选择不同的滤波方法或改变滤波器的参数。滤波方法或改变滤波器的参数。数字滤波的几种常用方法:数字滤波的几种常用方法:(1)程序判断滤波程序判断滤波(2)中值滤波中值滤波(3)算术平均值滤波算术平均值滤波(4)加权平均值滤波加权平均值滤波(
4、5)滑动平均值滤波滑动平均值滤波(6)RC低通数字滤波低通数字滤波(7)复合数字滤波复合数字滤波 微机控制技术7.1.1 程序判断滤波程序判断滤波(1)方法:)方法:根据生产经验,确定出相邻两次采样信号之间根据生产经验,确定出相邻两次采样信号之间可能出现的最大允许偏差可能出现的最大允许偏差 Y。若两次采样信号之间的偏差若两次采样信号之间的偏差 超过超过Y:则表明:则表明该输入信号是干扰信号,去掉。小于该输入信号是干扰信号,去掉。小于Y:将信号作:将信号作为本次采样值。为本次采样值。(2)应用场合:)应用场合:当采样信号由于随机干扰,如大功率用电设备的当采样信号由于随机干扰,如大功率用电设备的启
5、动或停止,造成电流的尖峰干扰或误检测,以及变启动或停止,造成电流的尖峰干扰或误检测,以及变送器不稳定而引起的严重失真等,可采用程序判断法送器不稳定而引起的严重失真等,可采用程序判断法进行滤波。进行滤波。微机控制技术滤波方法滤波方法限幅滤波限幅滤波 和和 限速滤波限速滤波 1限幅滤波限幅滤波 作法:作法:l|Y(k)-Y(k-1)|Y,则取则取Y(k)=Y(k)l|Y(k)-Y(k-1)|Y,则则Y(k)=Y(k-1)(7-1)式中:式中:Y(k)第第 k 次采样值;次采样值;Y(k-1)第第(k-1)次采样值;次采样值;Y相邻两次采样值允许的最大偏差。相邻两次采样值允许的最大偏差。(大小取决于
6、采样周期T及Y值的变化动态响应)。微机控制技术7.1.1 程序判断滤波程序判断滤波2限速滤波限速滤波(1)基本原理)基本原理l最多可用三次采样值来决定采样结果。最多可用三次采样值来决定采样结果。l作法:当作法:当|Y(2)-Y(1)|Y时,再采样一次,取得时,再采样一次,取得Y(3),根据根据|Y(3)-Y(2)|与与Y的大小关系来决定本次采样值。的大小关系来决定本次采样值。l设在设在 t1、t2、t3 顺序采样值依次为为顺序采样值依次为为 Y(1)、Y(2)、Y(3),若若|Y(2)-Y(1)|Y,取,取 Y(2)输入计算机输入计算机 当当|Y(2)-Y(1)|y时,继续采样取得时,继续采样
7、取得 Y(3)若若|Y(3)-Y(2)|Y时,则取时,则取Y(3)输入计算机输入计算机 当当|Y(3)-Y(2)|Y时,则取时,则取Y(3)+Y(2)/2输入计算机输入计算机 微机控制技术(7-2)(7-2)7.1.1 程序判断滤波程序判断滤波用途:用途:l主要用于变化比较缓慢的参数,(温度、物位等)主要用于变化比较缓慢的参数,(温度、物位等)l门限值门限值Y的选取:的选取:Y太大,增大了系统误差允许的程度;太大,增大了系统误差允许的程度;Y太小,又会使计算机采样效率变低。太小,又会使计算机采样效率变低。(根据经验数据获得(根据经验数据获得,必要时也可由实验得出)。必要时也可由实验得出)。微机
8、控制技术7.1.1 程序判断滤波程序判断滤波l特点特点:限速滤波是一种折衷的方法,既照顾了采样限速滤波是一种折衷的方法,既照顾了采样的实时性,又顾及了采样值变化的连续性。的实时性,又顾及了采样值变化的连续性。缺点:缺点:Y的确定不够灵活,必须根据现场的情况不的确定不够灵活,必须根据现场的情况不断更换新值;断更换新值;不能反映采样点数不能反映采样点数 N3 时各采样数值受干扰时各采样数值受干扰 情况。情况。实际中,可取实际中,可取|Y(1)-Y(2)|+|Y(2)-Y(3)/2取代取代Y 这样既保持限速滤波的特性,又加大了灵活性。这样既保持限速滤波的特性,又加大了灵活性。(如图(如图7-1)微机
9、控制技术7.1.1 程序判断滤波程序判断滤波 图图7-1 7-1 限速滤波程序流程图限速滤波程序流程图微机控制技术取取Y(2)7.1.1 程序判断滤波程序判断滤波内存分配内存分配:l20H、21H、22H:Y(1)、Y(2)、Y(3)l23H、24H中间结果中间结果lLIMIT-Y Yl滤波结果存放在滤波结果存放在A累加器中。累加器中。l 限速滤波程序如下:限速滤波程序如下:微机控制技术7.1.1 程序判断滤波程序判断滤波ORG8000HPRODT2:MOVA,20H;AY(1)CLRC;进位位清零;进位位清零SUBBA,21H;计算;计算Y(1)-Y(2)JNCLOOP1;Y(1)-Y(2)
10、0,转,转LOOP1CPLA;负数,取反加负数,取反加1INCALOOP1:MOV23H,A;23HY(1)-Y(2)MOVA,21H;计算;计算Y(2)-Y(3)CLRCSUBBA,22HJNCLOOP2CPLA;负数,取反加负数,取反加1INCA(2 2)限)限 速速 滤滤 波波 程程 序序 微机控制技术LOOP2:MOV24H,A;24HY(2)-Y(3)ADDA,23H;Y=Y(1)-Y(2)|+|Y(2)-Y(3)/2RRCAMOVLIMIT,A;(LIMIT)YMOVA,23HCJNEA,LIMIT,DONE1AJMPDONE2;Y(1)-Y(2)Y,转,转DONE2DONE1:J
11、CDONE2;Y(1)-Y(2)Y,转,转DONE2MOVA,24H;A Y(2)-Y(3)CJNEA,LIMIT,DONE4AJMPDONE5;Y(2)-Y(3)Y,转,转DONE5DONE4:JC DONE5;Y(2)-Y(3)Y,取,取Y(3)+Y(2)/2ADD A,22HRRCAAJMPDONE3DONE2:MOVA,21H;Y(1)-Y(2)Y,取,取Y(2)DONE3:RETLIMIT EQU30H 算术平均值滤波是要寻找一个Y(k),使该值与各采样值间误差的平方和为最小,即 由一元函数求极值原理,得式(7-3)(7-3)式中,式中,第第k次次N个采样值的算术平均值;个采样值的算
12、术平均值;第第i次采样值;次采样值;N 采样次数。采样次数。7.1.2 算术平均值滤波算术平均值滤波 微机控制技术2121min()min()()NiNiSe iy ix i()Y k()x i算术平均值滤波浮点运算子程序算术平均值滤波浮点运算子程序 ORG 8000HFARIFT:MOV R6,#40H ;置初值置初值0 MOV R2,#00H MOV R3,#00H MOV A,COUNT PUSH A MOV R0,#DATA7.12 算术平均值滤波算术平均值滤波 LOOP LOOP:LCALL LOADXILCALL LOADXI;R7R7(阶)(阶)R4R5R4R5X X(i i)C
13、LRCLR 3AH 3AH;执行加法;执行加法LCALLLCALL FABP FABP;R6R6(阶)(阶)R2R3+R7R2R3+R7(阶)(阶)R4R5R4R5;R4R4(阶)(阶)R2R3R2R3MOVMOVA A,R4R4;送累加和到;送累加和到R6R6(阶)(阶)R2R3R2R3MOVMOVR6R6,A ADJNZDJNZCOUNTCOUNT,LOOPLOOP;N N0 0,继续相加,继续相加LCALLLCALLFSTRFSTR;N N次采样的累加和次采样的累加和送送(R1R1)指向的)指向的3 3个单元个单元POPPOPA A;恢复;恢复N NMOVMOVR2R2,#00H#00H
14、 ;送;送N N到到R2R3R2R3MOVMOVR3R3,A AMOVMOVA A,#MED2#MED2XCHXCHA A,R1R1MOVMOVR0R0,A A;累加和送(;累加和送(R0R0)指向的)指向的3 3个单元中个单元中CLRCLR3CH3CHLCALLLCALL INTF INTF;将;将N N转换成浮点数转换成浮点数微机控制技术7.12 算术平均值滤波算术平均值滤波LCALLLCALLFDIVFDIV;计算;计算N N次采样值累加和的平均值次采样值累加和的平均值MOVMOVA A,R0R0MOVMOVR1R1,A ALCALLLCALLFSTRFSTR;存放平均值;存放平均值RE
15、TRETLOADXILOADXI:MOVMOV36H36H,R6R6 ;保护中间结果;保护中间结果MOVMOV37H37H,R2R2MOVMOV38H38H,R3R3MOVMOVA A,R0R0MOVMOVR3R3,A AINC INC R0R0MOVMOVA A,R0R0MOVMOVR2R2,A AINC INC R0R0MOVMOVR1R1,#MED1#MED1CLR CLR 3AH3AH7.12 算术平均值滤波算术平均值滤波LCALL LCALL INTF INTF;转换成;转换成3 3字节浮点数字节浮点数MOVMOVA A,R1R1;把;把3 3字节浮点数送到字节浮点数送到R7R7(阶
16、)(阶)R4R5R4R5MOVMOVR7R7,A AINC INC R1R1MOVMOVA A,R1R1MOVMOVR4R4,A AINC INC R1R1MOVMOVA A,R1R1MOVMOVR5R5,A ADECDECR1R1DECDECR1R1MOVMOVR6R6,36H36H ;恢复中间结果;恢复中间结果MOVMOVR2R2,37H37HMOVMOVR3R3,38H38HRETRET7.12 算术平均值滤波算术平均值滤波DATADATA EQUEQU20H20HMED1MED1 EQUEQU30H30HCOUNTCOUNT EQUEQU33H33HMED2 EQU36H 7.12 算
17、术平均值滤波算术平均值滤波说明:说明:l算术平均滤波主要用于对周期脉动的采样值进行算术平均滤波主要用于对周期脉动的采样值进行 平滑加工(如压力、流量等)平滑加工(如压力、流量等)l对脉冲性干扰的平滑作用尚不理想。对脉冲性干扰的平滑作用尚不理想。l随着随着 N值的增大,平滑度将提高,灵敏度降低。值的增大,平滑度将提高,灵敏度降低。l经验数据:经验数据:流量参数滤波时,流量参数滤波时,N取取12次,压力取次,压力取4次,如无噪声干扰,温度可不取平均值。次,如无噪声干扰,温度可不取平均值。微机控制技术 7.1.3 加权平均值滤波加权平均值滤波l算术平均滤波法滤波结果中取每次采样值的算术平均滤波法滤波
18、结果中取每次采样值的1/N。l有时为提高滤波效果,将各采样值取不同的比例,求其和有时为提高滤波效果,将各采样值取不同的比例,求其和作为滤波结果,称为加权平均法。作为滤波结果,称为加权平均法。一个一个 n 项加权平均式为项加权平均式为 式中式中C0、Cl、Cn-l均为常数项,应满足下列关系:均为常数项,应满足下列关系:(7-5)式中式中 C0、Cl、C2、Cn-l 为各次采样值的系数。为各次采样值的系数。111niniXCkY)(110niiC(7-5)微机控制技术7.1.4 滑动平均值滤波滑动平均值滤波l算术平均值滤波,加权平均值滤波,适合于有脉算术平均值滤波,加权平均值滤波,适合于有脉动式干
19、扰的场合。动式干扰的场合。l采用滑动平均值滤波法,可加快平均滤波的速度。采用滑动平均值滤波法,可加快平均滤波的速度。作法:在作法:在RAM中建立一个数据缓冲区,中建立一个数据缓冲区,依顺序存放依顺序存放N次采样数据,每采进一个新数据次采样数据,每采进一个新数据 就将最早采集的那个数据丢掉,而后求包括新就将最早采集的那个数据丢掉,而后求包括新 数据在内的数据在内的N个数据的算术平均值或加权平均个数据的算术平均值或加权平均 值。值。这样,每一次采样,就可计算出一个新的平均值。这样,每一次采样,就可计算出一个新的平均值。微机控制技术7.14 滑动平均值滤波滑动平均值滤波滑动平均值滤波程序有两种:滑动
20、平均值滤波程序有两种:一种是一种是滑动算术平均值滤波滑动算术平均值滤波,一种是一种是滑动加权平均值滤波滑动加权平均值滤波。微机控制技术7.15 RC低通数字滤波低通数字滤波l前面讲的几种滤波方法基本上属于静态滤波,前面讲的几种滤波方法基本上属于静态滤波,适用于变化过程比较快的参数,适用于变化过程比较快的参数,如压力、流量如压力、流量等。等。l仿照模拟系统仿照模拟系统RC低通滤波器的方法,用数字形低通滤波器的方法,用数字形式实现低通滤波,可以提高滤波效果。式实现低通滤波,可以提高滤波效果。如图如图7-3所示。所示。微机控制技术7.15 RC低通数字滤波低通数字滤波图图7-3 RC7-3 RC低通
21、滤波器低通滤波器微机控制技术7.1.5 RC低通数字滤波低通数字滤波 由图由图7-3,写出模拟低通滤波器的传递函数,即,写出模拟低通滤波器的传递函数,即(7-6)其中,其中,为为 RC滤波器的时间常数滤波器的时间常数,RC。RC低通数字滤波软件实现:(7-7)式中,式中,X(k)第第k次采样值;次采样值;Y(k-1)第第k-1次滤波结果输出值;次滤波结果输出值;11ssYsXsG)()(kXkYkY11微机控制技术 Y(k)第第k次滤波结果输出值;次滤波结果输出值;滤波平滑系数,滤波平滑系数,T采样周期。采样周期。对于一个确定的采样系统而言,对于一个确定的采样系统而言,T为已知量,所为已知量,
22、所以由以由 ,可得,可得(7-8)当 1时,ln(1-)-1=,则式(7-8)可简化为 (7-9)7.15 RC低通数字滤波低通数字滤波TT或1lnT微机控制技术Te1Te17.1.6 复合数字滤波复合数字滤波 为进一步提高滤波效果,可以把两种或两种以为进一步提高滤波效果,可以把两种或两种以上不同滤波功能的数字滤波器组合起来,组成复上不同滤波功能的数字滤波器组合起来,组成复合数字滤波器,或称多级数字滤波器。合数字滤波器,或称多级数字滤波器。例如例如l算术平均滤波算术平均滤波/加权平均滤波加权平均滤波只能对周期性的脉动采样值只能对周期性的脉动采样值进行平滑加工。进行平滑加工。l中值滤波中值滤波可
23、以解决随机的脉冲干扰可以解决随机的脉冲干扰(电网的波动,变送器电网的波动,变送器的临时故障等的临时故障等)。l将二者组合起来,形成多功能的复合滤波。将二者组合起来,形成多功能的复合滤波。微机控制技术 1、防脉冲干扰的平均值滤波防脉冲干扰的平均值滤波 上述滤波方法的原理可由下式表示:上述滤波方法的原理可由下式表示:若若 X(1)X(2)X(N),3 N14 (7-10)2、双重滤波的方法双重滤波的方法 把采样值经过低通滤波后,再经过一次高通滤波,把采样值经过低通滤波后,再经过一次高通滤波,这实际上相当于多级这实际上相当于多级 RC 滤波器。滤波器。2132NNXXXkY)()()()(1221N
24、iiXN)(微机控制技术7.1.6 复合数字滤波复合数字滤波 多级数字滤波:多级数字滤波:第一级滤波:第一级滤波:第二级滤波:第二级滤波:式中,式中,Z(k)数字滤波器的输出值;数字滤波器的输出值;Z(k-1)上次数字滤波器的输出值。上次数字滤波器的输出值。)()()(kBXkAYkY1)()()(kBYkAZkZ1微机控制技术)()()()(kXBkABYkAZkZ211)()()()(kXBkZAkAZkZ222127.1.7 各种数字滤波性能的比较各种数字滤波性能的比较微机控制技术l1.滤波效果滤波效果l (1)变化比较慢的参数,如温度,用)变化比较慢的参数,如温度,用程序判断程序判断滤
25、波滤波及及RC低通数字滤波低通数字滤波方法。方法。l (2)变化比较快的脉冲参数,如压力、流量等,)变化比较快的脉冲参数,如压力、流量等,则可选择则可选择算术平均和加权平均滤波算术平均和加权平均滤波法,特别是加法,特别是加权平均滤波法更好。权平均滤波法更好。l (3)要求比较高的系统,需要用复合滤波法。)要求比较高的系统,需要用复合滤波法。7.1.7 各种数字滤波性能的比较各种数字滤波性能的比较微机控制技术注意:注意:(1)在算术平均滤波和加权平均滤波中,)在算术平均滤波和加权平均滤波中,其滤波效果与所选择的采样次数其滤波效果与所选择的采样次数N有关。有关。N越大,则滤波效果越好,但花费的时间
26、也愈越大,则滤波效果越好,但花费的时间也愈长。长。(2)高通及低通滤波程序是比较特殊的滤)高通及低通滤波程序是比较特殊的滤波程序,使用时一定要根据其特点选用。波程序,使用时一定要根据其特点选用。2滤波时间滤波时间(1)在考虑滤波效果的前提下,应尽量采用执行时间比较)在考虑滤波效果的前提下,应尽量采用执行时间比较 短的程序,短的程序,若计算机时间允许,可采用效果更好的复若计算机时间允许,可采用效果更好的复 合滤波程序。合滤波程序。(2)不适当地应用数字滤波)不适当地应用数字滤波(例如,可能将待控制的有用例如,可能将待控制的有用信号波滤掉信号波滤掉),反而会降低控制效果,以至失控,因此必,反而会降低控制效果,以至失控,因此必须给予注意。须给予注意。微机控制技术7.1.7 各种数字滤波性能的比较各种数字滤波性能的比较作业:作业:l第七章课后第七章课后l1)做在作业本上的:)做在作业本上的:4;6;18;19;20l2)做在书上的:)做在书上的:3;5;12;13;14;15