1-实物展示
图1.1
图1.2
图1.1演示为未滤波模拟输入值,可以看出上位机图形演示整体波值较小,但差别极大从1-9不等(可能高于9,但无法演示)。
图1.2演示为滤波后模拟输入值,可以看出这次演示效果相比之下,波形相对稳定很多,可根据实际做出相应事件。
2-算法展示
int data[10];
int Algo_average(int in_data)
{
int sum = 0;
for(int j=0; j<9; j++)
{
data[j]=data[j+1];
sum = sum + data[j];
}
data[9] = in_data;
sum = sum + data[9];
return(sum/10);
}
注:(该算法有所缺陷,可将整形改为浮点型)
3-代码讲解
data[]数组首先收集前10个数据作为和,Algo_averag函数通过第十个以外的数据进行依次收集,并作为data[]数组的前九个值进行加和,并将10个数据求和的平均值进行返回(滤波后数据)。
4-使用场景
该算法形式简单,可应用于频率较高波形场所。
5-缺陷
当求和值较大时,有明显的延迟,导致相位之后,但其波形也会更加顺滑。