## 粒子滤波概述 转

工号107

1.MCMC改进策略

2.Unscented粒子滤波器(UPF)

UnscentedKalman滤波器(UKF)Julier等人提出的。EKF(ExtendedKalmanFilter)使用一阶Taylor展开式逼近非线性项，用高斯分布近似状态分布。UKF类似于EKF，用高斯分布逼近状态分布，但不需要线性化只使用少数几个称为Sigma点的样本。这些点通过非线性模型后，所得均值和方差能够精确到非线性项Taylor展开式的二阶项，从而对非线性滤波精度更高。Merwe等人提出使用UKF产生PF的重要性分布，称为Unscented粒子滤波器(UPF)，由UKF产生的重要性分布与真实状态PDF的支集重叠部分更大，估计精度更高。

3.RaoBlackwellised粒子滤波器(RBPF)

clc

clear all

close all

% Particle filter example, adapted from Gordon, Salmond, and Smith paper.

x = 0.1; % initial state

Q = 1; % process noise covariance

R = 1; % measurement noise covariance

tf = 50; % simulation length

N = 200; % number of particles in the particle filter

xhat = x;

P = 2;

xhatPart = x;

% Initialize the particle filter.

for i = 1 : N

xpart(i) = x + sqrt(P) * randn;

end

xArr = [x];

yArr = [x^2 / 20 + sqrt(R) * randn];

xhatArr = [x];

PArr = [P];

xhatPartArr = [xhatPart];

for k = 1 : tf

% System simulation

x = 0.5 * x + 25 * x / (1 + x^2) + 8 * cos(1.2*(k-1)) + sqrt(Q) * randn;%×′ì?·?3ì

y = x^2 / 20 + sqrt(R) * randn;%1?2a·?3ì

% Particle filter

for i = 1 : N

xpartminus(i) = 0.5 * xpart(i) + 25 * xpart(i) / (1 + xpart(i)^2) + 8 * cos(1.2*(k-1)) + sqrt(Q) * randn;

ypart = xpartminus(i)^2 / 20;

vhat = y - ypart;%1?2aoí?¤2aμ?2?

q(i) = (1 / sqrt(R) / sqrt(2*pi)) * exp(-vhat^2 / 2 / R);

end

% Normalize the likelihood of each a priori estimate.

qsum = sum(q);

for i = 1 : N

q(i) = q(i) / qsum;%1éò??ˉè¨??

end

% Resample.

for i = 1 : N

u = rand; % uniform random number between 0 and 1

qtempsum = 0;

for j = 1 : N

qtempsum = qtempsum + q(j);

if qtempsum >= u

xpart(i) = xpartminus(j);

break;

end

end

end

% The particle filter estimate is the mean of the particles.

xhatPart = mean(xpart);

% Save data in arrays for later plotting

xArr = [xArr x];

yArr = [yArr y];

xhatPartArr = [xhatPartArr xhatPart];

end

t = 0 : tf;

figure;

plot(t, xArr, 'b.', t, xhatPartArr, 'k-');

set(gca,'FontSize',12); set(gcf,'Color','White');

xlabel('time step'); ylabel('state');

legend('True state', 'Particle filter estimate');

xhatPartRMS = sqrt((norm(xArr - xhatPartArr))^2 / tf);

disp(['Particle filter RMS error = ', num2str(xhatPartRMS)]);

### 工号107

2017/07/06
0
0

CWY_007
2017/11/28
0
0
gmapping论文阅读笔记以及对涉及的相关概念卡尔曼滤波等的理解

qq91752728
2018/03/17
0
0

yushupan
2017/12/19
0
0

lchphyy
2012/03/19
409
3

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间，处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

19分钟前
2
0
Allegro快捷键设置-PCB环境

demyar
20分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

24分钟前
2
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架（只有0.1Mb哦） 源码：https://github.com/noear/weed3 源码：https://gitee.com/noear/weed3 查询可是个复杂的话题了，可能我们80%的数据库处理都在查询。 今天先...

24分钟前
2
0
【Android JetPack系列】数据绑定：DataBinding

Agnes2017
32分钟前
3
0