约束:数据必须大于等于数组的个数才能滚动,否则计算是错误的;优点:对周期性干扰有抑制作用;缺点:对偶发性脉冲干扰无抵制作用。
/*核心是循环队列保持数组中的数据是最新的且个数是设定好的*/
#define ArrySIZE 20
unsigned int Filet[ArrySIZE]={0};
unsigned int filet_Roll(void)
{
unsigned char cnt,returnValue;
Filet[cnt++]=GetData(); /*获得数据*/
if(cnt>=ArrySIZE)
{
ArrySIZE=0;
}
/*停止条件*/
if(ArrySIZE==0)
{
ArrySIZE=20;
}
returnValue=Average(Filet,ArrySIZE);/*求平均算法*/
return (Average)
}