数字滤波技术
1.限幅滤波
限幅滤波又称为程序判断滤波,根据多次采集到的数据,如果当前采集值与前一次采集的数值相差般维持在一定的偏差△D内,则将每次采集到的数据和前一次的数据进行比较,如果他们的差的绝对值小于△D则本次采集到的数据有效,否则无效舍弃。以前次数据作为本次采祥值。
适应分析:
优点:
程序设计简单、运算速度快、占用RAM少,是种最简单的基本滤波方法。能够克服偶然因素引入的脉冲干扰,也可以消除波形上的尖峰毛刺;
缺陷:
不能抑制周期性的干扰,而且其完全削除大幅度的阶跃信号,容易造成控制失调;
2.中值滤波
其基本滤波思路是将原来的采样间隔△T进行细分,也就是在原来的采样间隔△T内采样N次,然后把N次采样值按照大小排序,取中间值为本次采样值。
适用分析:
优点:
能够有效的克服偶然因素引起的波动干扰;
缺陷:
对于快速变化的信号参数则不适合使用这种方法。中值滤波法的程序设计要稍复杂些,排序可以使用冒泡法或者选择排序法等,由于引入了排序算法,所以该方法不能处理速度要求很高的信号。其运算处理速度和占用的RAM直接受所选择的数值N决定;
3.算术平均滤波
该方法也是先将原来设计要求的采样间隔△T进行细分,在△T内采样N次,但是对于采集进来的数据不是进行排序,而是进行算术平均,算术平均的结果作为本次采样值。N值的选取比较关键,N值较大者处理信号的平滑度会较高,但是灵敏度降低;相反,N值较小者处理信号的灵敏度提高,但是平滑度降低。
适用分析:
优点:
适用于对具有随机干扰的信号进行处理,并且被处理的信号必须具有一个平均值,信号在这个平均值上下波动;
缺陷:
该方法对于高速信号并不适用。对于毛刺信号,可以看到均值滤波将其分担到了周围的采样点上,不如中值滤波那样能够完全去除。但是对于随机噪声信号,由于其理论均值为0,均值滤波对第段噪声有良好的滤除效果。该滤波方法运算处理速度和RAM的占用率也受所选择的数值N决定,可以使用时间复杂度较低的排序方法降低运算开销;
4.递推平均滤波
递推平均滤波又称为滑动平均滤波,是将连续N个采样值设为一个先入先出的队列,队列的长度为N,每次采样得到的新数据加入队尾,并扔掉原队列的队首,然后对队列中的N个数据进行算术平均,获得的结果作为此次采样值。
适用分析:
优点:
对于周期性干扰有良好的抑制作用,平滑度也很高。但是灵敏度较低;
缺陷:
对于偶然出现的脉冲干扰的抑制作用较差,不适用于脉冲干扰比较严重的场合,其运算处理速度和RAM的占用率也直接受N值影响;
另外,这种方法还有一个特殊用法:制作成软件陷波器,滤除某个单一频率信号的干扰(如工频干扰)。具体实现方法介绍如下:
由于正弦波一个周期内任取N个等分点的幅值和为零,其它周期波形的N等分点的幅值和为常数C,设每次采样值为Xi,采样的平均值为:Y=(X0+X1+…+Xn-2+Xn-1)/n
若取N= s/f (其中s为每秒的采样次数即采样率;f是要消除的波形的频率,s和N都取整数),这样最终的结果就是Y-C,对于50Hz的工频干扰,C为零,只要选择合适的N和s就可以直接将其消除,构成一个陷波器。
5.中值平均滤波
中值平均滤波也称为防脉冲干扰平均滤波,相当于中值滤波和算术平均滤波思想的结合。连续采样N个数据,去掉其中的最大值和最小值,求剩下的N-2个数据的算术平均作为一次采样值。
适用分析:
优点:
可以有效抑制、消除脉冲干扰,同时相对于纯中值滤波更加平滑;
缺陷:
但由于计算开销加上均值的延迟作用,它也只能用在速度比较慢的场合, 不适合高速环境,运算处理速度和RAM占有率由N决定;
6.递推中值滤波
递推中值平均滤波也称为滑动中值平均滤波,与上种不同的是采用滑动方法对序列采样,不降低系统采样率与采样速度。设定一个长度为N的先进先出队列,同时为了方便排序同时构造一个同样长度为N的已排序数组,每个周期采样一个新的数值 ,插入采样队列队尾并移除队首的旧值。对这个队列进行插入排序(其他快速排序方法均可),然后去掉用户指定个数的较大值与较小值,取中间剩下值的平均数作为最终结果。
适用分析:
优点:
综合性和平衡性好,被大量使用;
缺陷:
波形向后的延迟很高,差不多与滤波长度相当,这也是此方法的弊端。所以我们经常使用32点或者64点甚至更长的滑动中值平均滤波进行数据校准阶段的信号滤波,在恒压恒流等达到准确的稳态值后换用前面的中值滤波等高灵敏度方法进行PID的整定与调节,获得系统高速的动态响应;