这个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就付了一次值,如何求平均?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
R88
1楼-- · 2020-02-11 23:17
 精彩回答 2  元偷偷看……
R88
2楼-- · 2020-02-12 00:31
asdmaill 发表于 2013-10-26 10:25
干脆贴出来,滑动排序,去极值,然后取平均

我觉得还是楼主位的程序比较简单哈。。。去极值在这个语句value_buf[i++] = get_ad();后面加上判断即可了。。。
albert_w
3楼-- · 2020-02-12 01:50
R88 发表于 2013-10-26 12:45
我刚看懂,原来头12次的函数执行读取的值都是不对的。。。

嗯, lz位开机会逐渐逼近. 所以我写了个变长的, 缓存多少个就计算多少个, 理解出数据
R88
4楼-- · 2020-02-12 02:24
albert_w 发表于 2013-10-26 13:09
嗯, lz位开机会逐渐逼近. 所以我写了个变长的, 缓存多少个就计算多少个, 理解出数据 ...

贴得代码太少了,没怎么看懂哈。。
1125526801
5楼-- · 2020-02-12 06:54
asdmaill 发表于 2013-10-26 10:24
for(k=0;k>3;  //计算母线电压

谢谢分享

一周热门 更多>