本帖最后由 nethopper 于 2014-7-31 17:01 编辑
公式不大对,若做N点移动平均, Pseudocode 为:
//初始化:
i=0;
j=0;
flag=false;
averg_temp=0;
定义数组temp[N];
sum=0;
//每次采集到一个ADC数据:
temp[ i ]=ADC;
j=i+1;
if(j>N-1) j=0;
if(flag) averg_temp =(averg_temp*N-temp[ j ]+temp [ i ])/N,
else
{
sum + = temp [ i ];
averg_temp =sum / (i+1);
}
if(i<N-1) i++;
else
{
i=0;
flag=true;
}
|