yinlb1987 发表于 2011-12-1 17:38:23

请教大家这个AD采样滤波算法

long last=0,cur=0;//全局变量
int AdcFilter(int dat)
{
int ret=0;
cur=last;
cur+=dat;

ret=cur/20;
cur-=ret;

last=cur;

return ret;

}

ADCfilter放在AD采样中断程序中,dat是AD采样的结果,返回的是滤波之后的结果。
现在主要有个疑问:
初始化时last cur为什么是0,应该时前19个数据的和才对

packer 发表于 2011-12-1 19:00:49

你程序没读全吧,初始化应该last=dat

yinlb1987 发表于 2011-12-1 19:26:45

回复【1楼】packer
-----------------------------------------------------------------------

初始化的时候还没开始采样,dat就不存在,程序是这样的
页: [1]
查看完整版本: 请教大家这个AD采样滤波算法