滑动滤波的问题

[复制链接]
3393|2
 楼主| victor3l 发表于 2012-7-12 15:41 | 显示全部楼层 |阅读模式
我用一个滑动滤波的程序程序

ulong  FilChOne()
{
uchar i;
static xdata  ulong datBuf[8] = {0};
xdata ulong   avrVal = 0;
datBuf[7] = RdChOne();
for(i = 0; i < 8; i++)
{
  datBuf[i] = datBuf[i+1];
  avrVal += datBuf[i];
}

avrVal = (avrVal >> 3);//这里是求平均值
return avrVal;  
}

当我不滤波时读数在1300左右,当我用8次滑动滤波后数据是1140左右,用16次滑动滤波时数据是1220,感觉到数据与没有滤波的差距较大,并且当用不个数的滑动滤波后得到的数据也会有真么大的差别是不是有问题啊?
另外请问。用滑动滤波和一阶滤波,能不能消除偶然的脉冲干扰啊?
AppBaby 发表于 2012-7-13 11:36 | 显示全部楼层
for(i = 0; i < 8; i++)
{
  datBuf[i] = datBuf[i+1];
  avrVal += datBuf[i];
}

当i=7时,您看是不是溢出来了?
 楼主| victor3l 发表于 2012-7-14 08:58 | 显示全部楼层
2# AppBaby   谢谢回复,粗心了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

308

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部