lzmm 发表于 2025-5-24 17:07

加权递推平均滤波法

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);
}


zhouyong77 发表于 2025-5-25 11:16

这种滤波算法效率有点低了

lihuami 发表于 2025-7-2 11:45

加权递推平均滤波法是一种常用的数字滤波技术,通过为不同时刻的数据分配不同的权重,使新数据对结果影响更大,旧数据影响逐渐减小,从而提高数据稳定性和抑制噪声。

bartonalfred 发表于 2025-7-3 16:45

在实际应用中,可以选择一个合理的初始值,或者在滤波器运行一段时间后忽略初始值的影响。
页: [1]
查看完整版本: 加权递推平均滤波法