目录
为什么要写这篇
为什么要用队列实现
程序是怎么实现的
程序实现结果
程序代码
为什么要写这篇
仍记得当初写了一篇去除极值的均值滤波算法相关的博客,该算法用在了ADC采样上面。当初偶然看见还有一种递推均值滤波算法,用在了实时波形输出上面。没有代码实现,本着早晚会用到以及要使用抽象数据类型队列的想法,开始了这篇博客的筹划。
递推均值滤波算法实现方式不见得只有一种方式。环形队列 或 链式队列,先实现自认为比较难一点儿的,之后再有时间则实现相对容易点的。
后期补充:今天我看到了最简单可行的递推均值滤波算法,简单到一目了然,比链式队列更常用。
为什么要用队列实现
主要因为递推这两个字吧,前面的要出去,后面的要进来,然后就自然而然想到了队列的出队和入队。
程序是怎么实现的
- 假设已经有了队列的数据类型以及常用的操作,可以直接调用。
- 先初始化队列,不知道队列初始化是为什么,总知道指针初始化是为什么吧,队列的实现需要指针。
- 然后判断队列是否为满,队列有设置项数最大值,均值滤波的实现需要几个数做均值就设置项数最大值为多少,若没有最大值限制,既极大占用空间,也不适合队列遍历。
- 产生随机数存放到队列中。
- 如果队列为满了,这才是需要的,先从队列中删除一项,然后再将随机数存放到队列中。
- 调试需要:查看产生的随机数。
- 在一个合适的时间,遍历队列ÿ