資源簡介
這是一個小程序matlab:主要為了說明非線性、非高斯系統的跟蹤問題:擴展的卡爾曼濾波算法與粒子濾波算法比較。理解它,對于理解這兩宗算法很有幫助。
代碼片段和文件信息
function?ParticleEx1
%?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?=?100;?%?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];%?基于KF的狀態序列
PArr?=?[P];%?KF的均方誤差序列
xhatPartArr?=?[xhatPart];%?基于PF的狀態序列
close?all;
for?k?=?1?:?tf
????%?System?simulation
????x?=?0.5?*?x?+?25?*?x?/?(1?+?x^2)?+?8?*?cos(1.2*(k-1))?+?sqrt(Q)?*?randn;%狀態方程
????y?=?x^2?/?20?+?sqrt(R)?*?randn;%觀測方程
????%?Extended?Kalman?filter
????F?=?0.5?
- 上一篇:數字圖像處理MATLAB版工具箱
- 下一篇:語音情感識別1
評論
共有 條評論