简单滤波算法

一.一阶滞后滤波

     公式:f(x)=(1-a)*x+a*f(x-1)

   f(x):滤波后得到的值

   f(x-1):上一次的结果

   a:越小越灵敏,越大曲线越光滑

  带入值:a=0.3 f(0)=0

x101010101010101010
f(x)79.19.739.9199.97579.992719.99789.999349.99999

可以发现,每次采集都会逼近,采集次数无限,则会无限逼近。如果中间有个干扰出现,那么他会震荡一下,然后再次逼近,可以根据数据的采集频率来适当的选取a的值。

数据跳变一下:

101010101510101010
79.19.739.91913.511.0510.31510.09410.02

总结:可以按照实时性和数据干扰的跳变范围来选取合适的a值。在温度采集中,一秒可以采集上千次,然后将上千次数据处理,得到这一秒比较可靠的温度值。

二.卡尔曼滤波

    f(x):估计值

    x:测量值

    k:卡尔曼增益

    e_m:测量误差,一般固定,

    e_est :估计误差,每次计算都会更新

   公式: k=e_est/(e_est+e_m)  计算卡尔曼增益

               f(x)=f(x-1)-k(f(x-1)-x)    计算估计值

               e_est=(1-k)*e_est        更新估计误差

    推导的话涉及的数学基础比较高,涉及到状态矩阵,正态分布等相关知识。

总结:测量值不准确,估计值也不准确,然后卡尔曼滤波将测量值和估计值相融合,按照测量误差和估计误差的协方差来进行多次迭代逼近真实值。

三.FIR滤波

    f(x)=a/(a+b+c)*f(x)+b/(a+b+c)*f(x-1)+c/(a+b+c)*f(x-2)

   a+b+c=1

   f(x):当前采集的值

   f(x-1):上一次采集的值

   f(x-2):上上次采集的值

   a,b,c:每一次采集的权重系数

  这是三次采集计算,可以根据噪声来决定要不要采集更早的数据来决定当前的值。

 

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分布式卡尔曼滤波(Distributed Kalman Filter, DKF)是在多传感器系统中应用卡尔曼滤波的一种扩展形式,主要用于估计和跟踪多个动态目标,同时考虑了传感器网络的结构和信息交互。DKF的核心思想是将单体卡尔曼滤波的过程分布式到网络中的各个节点,每个节点负责处理局部信息,并通过通信共享信息以获得全局最优估计。 基本的分布式卡尔曼滤波公式包括以下几个步骤: 1. **预测(Prediction)**: - 每个节点根据自己的状态方程和过程噪声预测下一个时间步的状态。 - 各节点更新自身的预测误差协方差。 2. **数据融合(Information Fusion)**: - 每个节点接收其他节点的观测信息,并利用它们更新自己的状态估计。 - 数据融合可能通过加权平均、信息增益或其他融合方法进行。 3. **局部测量更新(Local Measurement Update)**: - 每个节点使用自身的传感器测量数据和预测状态,进行局部的卡尔曼增益计算和状态更新。 4. **通信(Communication)**: - 节点间可能需要交换部分状态信息或误差协方差,以达到整体最优估计。 5. **状态传播(State Propagation)**: - 更新后的状态信息传递给其他节点,为下一轮迭代做准备。 相关问题: 1. 分布式卡尔曼滤波的主要应用场景是什么? 2. 如何设计合理的数据融合策略以优化整体性能? 3. 在分布式系统中,如何处理节点间的延迟和不完全同步问题?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值