由于工业生产的现场环境非常恶劣,各种干扰源很多,计算机系统通过输入通道采集到的数据信号,虽经硬件电路的滤波处理,但仍会混有随机干扰噪声。因此,为了提高系统性能,达到准确的测量与控制,一般情况下还需要进行数字滤波。
数字滤波,就是计算机系统对输入信号采样多次,然后用某种计算方法进行数字处理,以削弱或滤除干扰噪声造成的随机误差,从而获得一个真实信号的过程。
这种滤波方法只是根据预定的滤波算法编制相应的程序,实质上是一种程序滤波。因而可靠性高,稳定性好,修改滤波参数也容易,而且一种滤波子程序可以被多个通道所共用,因而成本很低。另外,数字滤波可以对各种干扰信号,甚至极低频率的信号进行滤波。它的不足之处是需要占用CPU的机时。
总之,数字滤波与硬件滤波器相比优点甚多,因此得到了普遍的应用。常用的数字滤波方法有:平均值滤波、中值滤波、限幅滤波和惯性滤波等。
一、平均值滤波
平均值滤波就是对多个采样值进行平均算法,这是消除随机误差最常用的方法。具体又可分为如下几种。
1. 算术平均滤波
算术平均滤波是在采样周期T内,对测量信号y 进行m次采样, 把m个采样值相加后的算术平均值作为本次采样的有效值。
采样次数m决定了信号的平滑度和灵敏度。提高m的值,可提高平滑度,但系统的灵敏度随之降低,采样次数m的取值随被控对象的不同而不同。一般情况下,流量信号可取10左右,压力信号可取4左右,温度、成分等缓变信号可取2甚至不进行算术平均。
在编制算法程序时,m一般取2、4、8等2的整数幂,以便于用移位来代替除法求得平均值。
这种算法适用于存在周期性干扰的信号滤波
2.去极值平均滤波
算术平均滤波不能将明显的偶然的脉冲干扰消除,只是把其平均到采样结果中,从而降低了测量精度。去极值平均滤波是对连续采样的m个数据进行比较,去掉其中的最大值与最小值,然后计算余下的m-2个数据的算术平均值。
在编制算法程序时,为便于用移位来代替除法求得平均值,m-2应取2、4、8等,故m取4、6、10等。
这种算法适用于工业场合经常遇到的尖脉冲干扰的信号滤波。
3.加权平均滤波
算术平均滤波和去极值平均滤波都存在平滑性和灵敏度的矛盾。采样次数太少则平滑效果差,次数太多则灵敏度下降,对测量参数的变化趋势不敏感。为协调两者关系,可采用加权平均滤波。
加权平均滤波是对每次采样值乘以不同的权系数,越新的数据采样值的权重越大。所有数据的权值之和为1。
这种算法能协调系统的平滑度和灵敏度的矛盾,提高灵敏度,更适用于纯滞后较大的对象。
4.滑动平均滤波
前三种的平均滤波算法有一个共同点:即每取得一个有效采样值必须连续进行若干次采样。 当系统的采样速度较慢或采样信号变化较快时,系统的实时性就无法得到保证。滑动平均滤波是在每个采样周期只采样一次,将这一次采样值和过去的若干次采样值一起求平均,所得结果即为有效采样值。
滑动平均滤波算法的最大优势就是实时性好,提高了系统的响应速度。
二、中值滤波
中值滤波是将信号y的连续m次采样值按大小进行排序,取其中间值作为本次的有效采样值。本算法为取中值,故采样次数m应为奇数,一般3~5次即可。
编制中值滤波的算法程序,首先把m个采样值从小到大(或从大到小)进行排队,这可采用几种常规的排序算法如冒泡算法,然后再取中间值。
中值滤波对缓变过程中的偶然因素引起的波动或采样器不稳定造成的误差所引起的脉动干扰比较有效,而对快速变化过程(如流量)的信号采样则不适用。
三、限幅滤波
经验说明,生产过程中许多物理量的变化需要一定的时间,因此相邻两次采样值之间的变化幅度应在一定的限度之内。限幅滤波就是把两次相邻的采样值相减,求其增量的绝对值,再与两次采样所允许的最大差值Y进行比较,如果小于或等于Y,表示本次采样值y(k)是真实的,则取y(k)为有效采样值;反之,y(k)是不真实的,则取上次采样值y(k1)作为本次有效采样值。
当|y(k)y(k1)|<Y时,则取y(k)=(k)
当|y(k)y(k1)|>Y时,则取y(k)=y(k-1)
式中:y(k)──t=kT时的采样值;
y(K-1) ──t=(k-1)T时的采样值;
Y──相邻两次采样值所允许的最大偏差,其大小取决于控制系统采样周期T和信号Y的正常变化率。
限幅滤波对随机干扰或采样器不稳定引起的失真有良好的滤波效果。
以上讨论了几种数字滤波方法,各有其特点。在实际应用中,究竟采用不采用、以及采用哪一种数字滤波,都应视具体情况而定。可能有的系统并不需要进行数字滤波或者应用得不恰当,非但达不到滤波效果还会降低控制品质,而有的系统采用了复合滤波方法──即把几种滤波方法结合起来使用,可能会取得更好的滤波效果。