当前位置: 首页 > article >正文

关于离子滤波小记

粒子滤波(Particle Filter, PF)

粒子滤波是一种基于蒙特卡洛方法的贝叶斯滤波算法,主要用于解决非线性、非高斯的状态估计问题。它广泛应用于机器人定位、目标跟踪、金融建模等领域。


1. 粒子滤波的基本概念

粒子滤波的核心思想是用一组加权的**随机样本(粒子)**来近似后验概率分布,而非采用卡尔曼滤波那样的参数化分布假设(如高斯分布)。

设系统的状态模型如下:

x k = f ( x k − 1 , u k , w k ) x_k = f(x_{k-1}, u_k, w_k) xk=f(xk1,uk,wk)

z k = h ( x k , v k ) z_k = h(x_k, v_k) zk=h(xk,vk)

其中:

  • x k x_k xk 是系统在时间 k k k 时刻的状态,
  • u k u_k uk 是控制输入,
  • w k w_k wk 是过程噪声,
  • z k z_k zk 是观测值,
  • v k v_k vk 是观测噪声,
  • f ( ⋅ ) f(\cdot) f() h ( ⋅ ) h(\cdot) h() 分别是状态转移函数和观测函数。

目标是估计后验分布:

p ( x k ∣ z 1 : k ) p(x_k | z_{1:k}) p(xkz1:k)

由于状态转移和观测过程可能是高度非线性的,并且噪声可能是非高斯的,无法用解析方法直接求解,因此粒子滤波采用蒙特卡洛方法进行近似计算。


2. 粒子滤波的算法步骤

(1) 初始化

初始化 N N N 个粒子 { x k i } i = 1 N \{x_k^i\}_{i=1}^{N} {xki}i=1N 及其权重 { w k i } i = 1 N \{w_k^i\}_{i=1}^{N} {wki}i=1N

x 0 i ∼ p ( x 0 ) x_0^i \sim p(x_0) x0ip(x0)

w 0 i = 1 N w_0^i = \frac{1}{N} w0i=N1


(2) 预测(重要性采样)

根据状态转移模型,对每个粒子进行采样:

x k i ∼ p ( x k ∣ x k − 1 i ) x_k^i \sim p(x_k | x_{k-1}^i) xkip(xkxk1i)


(3) 更新(计算权重)

利用观测值 z k z_k zk 计算每个粒子的权重:

w k i = w k − 1 i ⋅ p ( z k ∣ x k i ) q ( x k i ∣ x k − 1 i , z k ) w_k^i = w_{k-1}^i \cdot \frac{p(z_k | x_k^i)}{q(x_k^i | x_{k-1}^i, z_k)} wki=wk1iq(xkixk1i,zk)p(zkxki)

如果选择 q ( x k i ∣ x k − 1 i , z k ) = p ( x k ∣ x k − 1 i ) q(x_k^i | x_{k-1}^i, z_k) = p(x_k | x_{k-1}^i) q(xkixk1i,zk)=p(xkxk1i),则简化为:

w k i = w k − 1 i ⋅ p ( z k ∣ x k i ) w_k^i = w_{k-1}^i \cdot p(z_k | x_k^i) wki=wk1ip(zkxki)

归一化权重:

w k i = w k i ∑ j = 1 N w k j w_k^i = \frac{w_k^i}{\sum_{j=1}^{N} w_k^j} wki=j=1Nwkjwki


(4) 重采样(Resampling)

根据粒子的权重进行重采样,以避免退化问题。

常见方法包括:

  • 系统重采样(Systematic Resampling)
  • 多项式重采样(Multinomial Resampling)

新粒子的权重均设为:

w k i = 1 N w_k^i = \frac{1}{N} wki=N1


(5) 估计状态

最终状态估计可通过加权平均计算:

x ^ k = ∑ i = 1 N w k i x k i \hat{x}_k = \sum_{i=1}^{N} w_k^i x_k^i x^k=i=1Nwkixki


3. 关键技术与优化方法

(1) 选择合适的粒子数

  • 过少:近似误差大
  • 过多:计算量高

(2) 重要性分布优化

利用观测信息优化采样,提高效率。

(3) 自适应重采样

根据有效粒子数 N eff N_{\text{eff}} Neff 判断是否重采样:

N eff = 1 ∑ i = 1 N ( w k i ) 2 N_{\text{eff}} = \frac{1}{\sum_{i=1}^{N} (w_k^i)^2} Neff=i=1N(wki)21

N eff < N thresh N_{\text{eff}} < N_{\text{thresh}} Neff<Nthresh,则执行重采样。


4. 粒子滤波的优缺点

优点

  • 适用于非线性非高斯问题。
  • 可逼近任何分布。
  • 能够跟踪多模态分布。

缺点

  • 计算复杂度较高。
  • 可能出现粒子退化
  • 需要大量粒子来逼近真实分布。

5. 应用案例

  • 机器人定位
  • 视觉目标跟踪
  • 金融数据分析
  • 信号处理

总结

粒子滤波是一种强大的贝叶斯滤波方法,适用于非线性和非高斯环境。通过合理选择粒子数、优化重要性采样和自适应重采样,可以提高算法的效率和准确性。


http://www.kler.cn/a/587958.html

相关文章:

  • 数据库管理-第302期 国产类RAC架构数据库网络连接方式(20250314)
  • RabbitMQ:业务幂等、死信交换机
  • C++基础——从C语言快速入门
  • matlab 自适应模糊PID在反应釜温度控制中的应用
  • 每日定投40刀BTC(9)20250312 - 20250315
  • Python 鼠标轨迹算法 - 防止游戏检测
  • Unity小框架之单例模式基类
  • 掌阅iReader全球首款 7 英寸 Carta 1300 墨水屏阅读器即将发布
  • Starship:快速且高度可定制的命令行框架!!
  • 线段树解析题型
  • android 新闻客户端和springboot后台开发(二)
  • linux——计算机内存详解通俗理解
  • CmBacktrace的cmb_cfg.h
  • java学习总结(五)MyBatis动态sql
  • 让 Deepseek 写一个计算器(网页)
  • SQL Server性能分析利器:SET STATISTICS TIME ON 详解与实战案例
  • Python数据结构 ——字符串
  • Go语言os标准库
  • 中考英语之09从句
  • Dubbo 服务发现