发布时间:2008-11-25阅读:1125
中值滤波的含义
中值滤波是滤波算法中非常重要的一种,在实际单片机系统巾,采用中值滤波对输入信号进行处理十分适用,尤其对输入的窄脉冲干扰的抑制作用非常明显。
中值滤波算法是把输入信号进行连续″次采样后,从大到小排序,选取其中间值作为输出信号。一般来讲,由于单片机系统的处埤速度不快,n值不能选得太大。另外,刀值也不能选得太小,当然这与系统采样时间有关,如果系统采样的时问月朋比较长,则可以将n选为3或者5 如果系统的采样时间比较短,则可以将″选为11或者13,或者主设置得更大,当然要根据系统的各个参数进行综合选定。
算法功能模块
在本实例中实现的是n为3的中值滤波算法.首先对模拟输入信号的进行采集,然后对其进行排序,排序后再选取其中间值作为输出.具体的功能模块有如下几个部分:
· 对模拟输入的A/D量化:
· 计数器模块;
· 16位数据大小的比较;
· 排序的实现。
中值滤波要在一定的时间内对输入信号进行连续地采样,然后取几次采样值的中间值。中值滤波对于脉冲干扰有很好的抑制作用。另外,中值滤波的实现也很简单,利于读者掌握和使用。在工程实践中,刀的取值取决于系统的参数,除了上面提到的采样时间和处理速度外,还应该给系统的其他功能留下足够的处理时间。总之,n的取值要综合系统的各项指标来决定。
本实例将对RA0端口的模拟输入进行3次连续采样,再将其中间值求出,作为结果输出。
上一篇:智能卡的系统考虑