粒子滤波原理及应用

matlab中求方差的函数有var()和std()两种,var()得到的为方差,std()得到的为标准差,两者都有有偏和无偏之分,除以样本总个数N为无偏(unbiased),除以N-1为有偏(bessel’s correction);
用法为R=var(X)=var(X,0)——有偏
R=var(X,1)——无偏
协方差Cov(X,Y)=E{[X-E(X)]*[Y-E(Y)]}

蒙特卡洛方法
1.构造或描述概率过程(将不具有随机性质的问题转化为随机性质的问题)
2.从已知概率分布中抽样
3.建立各种估计量(确定一个随机变量,作为所要求问题的解,即无偏估计)

蒙特卡洛方法的收敛性
根据中心极限定理
在这里插入图片描述
α很小时,成为显著水平,1-α称为置信水平,如果标准差不为0,蒙特卡洛方法的误差为在这里插入图片描述
正态差与显著水平是一一对应的 ,由在这里插入图片描述
可得
在这里插入图片描述
设产生一个x的成本为C,那么总成本在这里插入图片描述
所以提高效率方法的方向是减小标准差的同时兼顾费用,使方差和费用C的成绩尽可能小
蒙克卡洛方法的误差只与标准差和样本容量有关

例子滤波
粒子是随机试验的一个样本x,粒子集是样本集合X,粒子数是样本集合的数目。
在这里插入图片描述
系统状态方程,X(k)表示k时刻的状态,W表示过程噪声
当过程噪声符合均值为0,方差为Q的高斯分布时
在这里插入图片描述
观测方程和测量噪声
在这里插入图片描述
粒子滤波是一种基于蒙特卡洛仿真的近似贝叶斯滤波算法,核心思想是用离散随机采样点近似系统随机变量的概率密度函数,以样本均值代替积分运算,实现状态的最小方差估计。

均值思想——利用粒子集合的均值作为滤波器的估计值,要很好地“覆盖”真实值
权重计算——实现对“优质”粒子的复制和对“劣势”粒子的淘汰
做加权平均在这里插入图片描述
计算权值:
可以通过预测值与观测值的绝对值来计算权重
在这里插入图片描述
高斯函数为
在这里插入图片描述
将其变为
在这里插入图片描述
假定均值为0,标准差为1,可得分布图,把x=dz代入公式
在这里插入图片描述
在这里插入图片描述
优胜劣汰——重采样算法,对样本重新采样,大量繁殖权重高的粒子,淘汰权值低的粒子,从而抑制退化。
在这里插入图片描述
重采样之前粒子集合与权重的有序对为在这里插入图片描述
重采样之后变为
在这里插入图片描述
粒子总数保持不变,权重大的粒子分成了多个粒子,权值特别小的被抛弃,每个粒子权值相同,均为1/N
重采样算法:随机采样,系统采样,残差采样,多项式采样

随机重采样:
(1)在[0,1]上均匀分布随机数组,粒子总数为N
(2)产生粒子权重累计函数cdf在这里插入图片描述
(3)计算,需要调用cumsum()函数,如果A是一个向量,cumsum(A)返回一个向量,该向量第m行元素为A中第1行到第m行所有元素累加和

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
粒子滤波(Particle Filter),也被称为蒙特卡洛滤波(Monte Carlo Filter),是一种基于随机采样的非线性滤波算法。它能够在非线性、非高斯系统中进行状态估计。粒子滤波通过使用一组随机粒子来表示概率密度函数,根据观测数据对粒子进行重采样和权重更新,从而近似地估计目标系统的状态。 粒子滤波的基本原理如下: 1. 初始化:根据先验信息,生成一组初始粒子,并为每个粒子赋予相应的权重。 2. 预测:通过系统的动力学方程对每个粒子进行预测,得到下一个时刻的状态。 3. 更新:根据观测数据,计算每个粒子的权重,并进行归一化。 4. 重采样:根据粒子的权重,以一定概率进行重采样,得到新的粒子集合。 5. 重复步骤2-4,直到达到所需的估计精度或满足停止准则。 粒子滤波在许多领域有广泛的应用,包括目标跟踪、机器人定位与导航、信号处理等。它的优点是能够处理非线性、非高斯的系统,并且不需要对系统进行线性化或假设高斯分布。但同时,粒子滤波的计算复杂度随粒子数目增加而增加,且粒子采样可能存在退化问题。 在MATLAB中,可以使用以下步骤进行粒子滤波的仿真: 1. 初始化粒子集合和权重。 2. 根据系统动力学方程,对每个粒子进行预测。 3. 根据观测数据,计算每个粒子的权重。 4. 对权重进行归一化。 5. 根据粒子的权重进行重采样。 6. 重复步骤2-5,直到达到停止准则。 通过编写MATLAB脚本或函数,可以实现粒子滤波算法的仿真。在每个步骤中,需要根据具体问题和系统模型进行相应的计算和更新。 请注意,以上是粒子滤波的基本原理和步骤,具体的实现细节会根据不同的应用和问题而有所差异。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值