这个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条回答
R88
2020-02-10 14:30
我改了一下不知道这样是否还是“递推平均滤波法”:
  1. uint ad_filter(uchar channel)
  2. {
  3.         /*递推平均滤波法(又称滑动平均滤波法)*/
  4.         #define N 12 //滤波初始化
  5.         uint value_buf[N];       
  6.         uchar count;
  7.         uint sum=0;
  8.         uchar i=0;
  9.         for(count=0;count<N;count++)
  10.                 {
  11.                         value_buf[i++]=MessAD(channel);
  12.                         sum+=value_buf[count];
  13.                 }
  14.         return (sum/N);
  15. }
复制代码

一周热门 更多>