根据数据受干扰性质及干扰后果的不同,采取的软件对策各不相同,没有固定的模式。对于实时数据采集系统,为了消除传感器通道中的干扰信号,在硬件措施上常采取有源或无源RLC网络,构成模拟滤波器对信号实现频率滤波。同样,运用CPU的运算、控制功能也可以实现频率滤波,完成模拟滤波器类似的功能,这就是数字滤波。在许多数字信号处理专著中都有专门论述,可以参考。随着计算机运算速度的提高,数字滤波在实时数据采集系统中的应用将愈来愈广。在一般数据采集系统中,可以采用一些简单的数值、逻辑运算处理来达到滤波的效果。下面介绍几种常用的方法。
1.算术平均值法
对于一点数据连续采样多次,计算其算术平均值,以其平均值作为该点采样结果。这种方法可以减少系统的随机干扰对采集结果的影响。一般3~5次平均即可。
2.比较取舍法
当控制系统测量结果的个别数据存在偏差时,为了剔除个别错误数据,可采用比较取舍法,即对每个采样点连续采样几次,根据所采数据的变化规律,确定取舍,从而剔除偏差数据。例如,“采三取二”即对每个采样点连续采样三次,取两次相同的数据为采样结果。
3.中值法
根据干扰造成采样数据偏大或偏小的情况,对一个采样点连续采集多个信号,并对这些采样值进行比较,取中值作为该点的采样结果。
4.一阶递推数字滤波法
这种方法是利用软件完成RC低通滤波器的算法,实现用软件方法代替硬件RC滤波器。一阶递推数字滤波公式为Yn=QXn+(1-Q)Yn-1
式中Q -数字滤波器时间常数;
Xn-第n次采样时的滤波器输入;
Yn-第n次采样时的滤波器输出。
采用软件滤波器对消除数据采集中的误差可以获得满意的效果。但应注意,选取何种方法应根据信号的变化规律选择。
(转载)