加权递推平均滤波法
1.方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
通常是,越接近现时刻的数据,权取得越大
给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
2.优点
用于有较大纯滞后时间常数的对象
和采样周期较短的系统
3.缺点:
对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
不能迅速反应系统当前所受干扰的严重程度,滤波效果差
4.示例
/* coe 数组为加权系数表,存在程序存储区。*/
#define N 12 char code coe = {1,2,3,4,5,6,7,8,9,10,11,12};
char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;
char filter() {
char count;
char value_buf;
int sum=0;
for (count=0,count<N;count++)
{
value_buf = get_ad();
delay();
}
for (count=0,count<N;count++)
sum += value_buf*coe;
return (char)(sum/sum_coe);
}
这种滤波算法效率有点低了 加权递推平均滤波法是一种常用的数字滤波技术,通过为不同时刻的数据分配不同的权重,使新数据对结果影响更大,旧数据影响逐渐减小,从而提高数据稳定性和抑制噪声。 在实际应用中,可以选择一个合理的初始值,或者在滤波器运行一段时间后忽略初始值的影响。
页:
[1]