在本学习笔记中,作者列举并详细解释了四种常见的数字滤波方法,用于处理数据抖动问题。这些滤波方法,通常在软件层面实现,适用于各种简单场景中的数据平滑处理。 首先提到的是限幅滤波法(程序判断滤波法),它通过程序判断新采集的数据值是否与上一次的数据值偏差过大,以此决定是否接受本次数据或用上一次的数据替代。这种方法的判断标准是一个事先设定的最大偏差值A,如果新数据与旧数据的差值超过A,则认为新数据是由于偶然因素引起的脉冲干扰,从而拒绝接受,继续使用旧数据。这种方法的优点是能有效去除偶然性的干扰脉冲,但缺点在于无法抑制周期性的干扰,并且在信号平滑度上有所欠缺。代码实现上,限幅滤波通过设定一个阈值A,然后对新值与旧值的差的绝对值进行比较,如果超过阈值则用旧值代替新值。 接下来是中值滤波法,该方法取一定数量的连续采样值,然后将这些值按大小排列,取中间的值作为本次有效值。因为这种方法主要去除的是偶然的波动干扰,所以对于变化缓慢的参数,如温度和液位,滤波效果比较好。中值滤波法的缺点是对快速变化的参数,例如流量和速度等,不太适合,因为它可能会削弱真实信号的快速变化部分。代码实现上,中值滤波通过对采样值进行排序,然后选取中间值作为新的滤波结果。 算术平均滤波法是连续取N个采样值并计算它们的算术平均值作为滤波结果。这种滤波方法适用于具有一定随机干扰的信号,当N值较大时,信号更加平滑但灵敏度低;N值较小时,信号平滑度低但灵敏度高。在实际应用中,N值的选取需要根据具体情况调整,例如流量测量时N为12,压力测量时N为4。算术平均滤波法的优点是能够有效地平滑随机干扰的信号,缺点是对于数据处理速度要求较高或需要快速响应的应用场合不太适用,因为计算平均值会消耗较多的RAM资源。 最后一种滤波方法是递推平均滤波法(又称滑动平均滤波法),它将连续采样到的N个数据值视作一个队列,每次采样到新的数据就放入队尾,同时扔掉原来队首的一个数据,之后对队列中的N个数据进行算术平均运算。这种滤波方法对周期性干扰有很好的抑制作用,适用于高频振荡的系统,但其缺点是灵敏度较低,难以消除脉冲干扰所引起的采样值偏差,且在脉冲干扰比较严重的场合不太适用。在数据处理速度要求较高或需要快速响应的场合,它也不是一个好选择。 以上四种数字滤波方法各有其优势和局限性,适用于不同的应用场景。在实际选择和应用中,需要根据被测对象的特性、数据变化的特征以及系统对实时性的要求等因素综合考虑,选择最适合的滤波方法。
剩余11页未读,继续阅读
- 粉丝: 1w+
- 资源: 33
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助