8、加权递推平均滤波法ARDUINO代码复制打印/*A、名称:加权递推平均滤波法B、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权;通常是,越接近现时刻的数据,权取得越大。给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低。C、优点:适用于有较大纯滞后时间常数的对象,和采样周期较短的系统。D、缺点:对于纯滞后时间常数较小、采样周期较长、变化缓慢的信号;不能迅速反应系统当前所受干扰的严重程度,滤波效果差。E、整理:shenhaiyu2013-11-01*/intFilter_Value;voidsetup(){Serial.begin(9600);//初始化串口通信randomSeed(analogRead(0));//产生随机种子}voidloop(){Filter_Value=Filter();//获得滤波器输出值Serial.println(Filter_Value);//串口输出delay(50);}//用于随机产生一个300左右的当前值intGet_AD(){returnrandom(295,305);}//加权递推平均滤波法#defineFILTER_N12intcoe[FILTER_N]={1,2,3,4,5,6,7,8,9,10,11,12};//加权系数表intsum_coe=1+2+3+4+5+6+7+8+9+10+11+12;//加权系数和intfilter_buf[FILTER_N+1];intFilter(){inti;intfilter_sum=0;filter_buf[FILTER_N]=Get_AD();for(i=0;iFILTER_N;i++){filter_buf[i]=filter_buf[i+1];//所有数据左移,低位仍掉filter_sum+=filter_buf[i]*coe[i];}filter_sum/=sum_coe;returnfilter_sum;}