1.5加权平均滤波
算术平均滤波和去极值平均滤波均存在平滑性和灵敏性的矛盾。因为,采样次数太少,平滑效果差;采样次数太多,灵敏度下降,对参数的变化趋势不敏感。为协调两者的关系,可采用加权平均滤波。即对连续N次采样值分别乘上不同的加权系数之后再求累加和。加权系数一般先小后大,以突出后面若干采样的效果,来加强系统对参数变化趋势的辨识。各个加权系数均应是小于1的小数,且应满足总和等于1的约束条件。这样,加权运算之后的累加和即为有效采样值。为方便计算,可取各加权系数均为整数,且总和为256,加权运算之后的累加和再除以256后便是有效采样值。其参考程序如下:
1.6滑动平均滤波
以上介绍的各种平均滤波算法具有一个共同点,即每取得一个有效采样值都必须连续进行若干次采样,这些方法在采样速度较慢(如双积分型A/D转换)或目标参数变化较快时,系统的实时性往往不能得到保证。而滑动平均滤波算法只采样一次,它将这一次采样值和过去的若干次采样值一起求平均,然后所得到的有效采样值即可投入使用。这样,如果取N个采样值求平均,则RAM中必须开辟N个数据的暂存区。每新采集一个数据便存入暂存区,同时去掉一个最老的数据,以保持这N个数据始终是最近的数据。这种数据存放方式可以用环形队列数据结构来实现。其参考程序如下:
1.7低通滤波
将普通硬件RC低通滤波器的微分方程用差分方程来表示,便可用软件算法来模拟硬件滤波功能。经推导,对于低通滤波算法有:
式中Xn为本次采样值;Yn-1为上次的滤波输出值;α为滤波系数,其值<<1;Yn为本次滤波输出值。这种算法对变化缓慢的物理量是很有效的。但应注意一点,它不能滤除高于二分之一采样频率的干扰信号。比如采样频率为2 Hz,则对1 Hz以上的干扰信号通常应配合硬件滤波电路来滤除。该方法的参考程序如下:
2各种数字滤波方法对比
数字滤波的方法多种多样,表1给出了几种数字滤波算法的优缺点和适用对象。
3 结束语
基于嵌入式测控系统的数字滤波方法多种多样,因此,在选择滤波方法时,首先要考虑微控制器的存储量、运算时间、运算能力以及实时性是否满足实际要求。然后再根据主要的干扰源(对系统的测试精度影响最大的干扰源)和测试对象的特点来选择合适的滤波方法。