这个AD滤波算法是不是有问题啊?

2020-02-10 08:58发布

递推平均滤波法(又称滑动平均滤波法)
#define N 12
char value_buf[N];
char i=0;
char filter()
{
   char count;
   int  sum=0;
   value_buf[i++] = get_ad();
   if ( i == N )   i = 0;
   for ( count=0;count<N,count++)
      sum = value_buf[count];//?????
   return (char)(sum/N);
}

那个value_buf就付了一次值,如何求平均?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
albert_w
2020-02-11 19:17
R88 发表于 2013-10-26 09:09
的确,我该之后的程序只是平均,没有滑动。。但是楼主位的程序看起来真的不对,原帖如下:
http://www.am ...

我也是先进先出的, 看temp[iter], 在转圈. 缓冲区其实可以理解为32成员的环形. 刚被替换的位置iter要转一圈才再次轮到.
只是求和的时候偷懒了下, 利用上次的和,直接运算了两个元素. 坏处就是你要上带符号数了

一周热门 更多>