资源简介
基于高斯和的概率假设密度滤波算法的实现程序,测试过,有注释。用于多对象连续位置估计等应用。
代码片段和文件信息
function [w_km_kP_kJ_k] = extendedTargetPHDfilter(w_k1m_k1P_k1J_k1ZkF_k1Q_k1H_kR_k)
% Probabilities of survival and detection
global p_S_k p_D_k
% The spontaneous birth distributions
global w_gam_k m_gam_k P_gam_k J_gam_k
% The spawn distributions
global w_beta_k d_beta_k F_beta_k1 Q_beta_k1 J_beta_k
% Expected number of measurements
global beta_D
% Allocate some memory
w_kk1 = zeros(1J_gam_k+J_beta_k*J_k1+J_k1);
m_kk1 = zeros(size(m_k11)J_gam_k+J_beta_k*J_k1+J_k1);
P_kk1 = zeros(size(P_k11)size(P_k12)J_gam_k+J_beta_k*J_k1+J_k1);
nu_kk1 = zeros(size(H_k1)J_gam_k+J_beta_k*J_k1+J_k1);
S_k = zeros(size(R_k1)size(R_k2)J_gam_k+J_beta_k*J_k1+J_k1);
K_k = zeros(size(P_kk11)size(S_k2)J_gam_k+J_beta_k*J_k1+J_k1);
P_kk = zeros(size(P_kk11)size(P_kk12)J_gam_k+J_beta_k*J_k1+J_k1);
nZk = size(Zk2);
w_k = zeros(1(nZk+1)*(J_gam_k+J_beta_k*J_k1+J_k1));
m_k = zeros(size(m_kk11)(nZk+1)*(J_gam_k+J_beta_k*J_k1+J_k1));
P_k = zeros(size(P_kk11)size(P_kk12)(nZk+1)*(J_gam_k+J_beta_k*J_k1+J_k1));
gam = zeros(1J_gam_k+J_beta_k*J_k1+J_k1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Step 1: Prediction for birth targets spontaneous birth and spawn.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
i = 0;
for j = 1:J_gam_k
i = i+1;
w_kk1(1i) = w_gam_k(1j);
m_kk1(:i) = m_gam_k(:j);
P_kk1(::i) = P_gam_k(::j);
end
for j = 1:J_beta_k
for l = 1:J_k1
i = i+1;
w_kk1(1i) = w_k1(1l)*w_beta_k(1j);
m_kk1(:i) = d_beta_k(:j) + F_beta_k1(::j)*m_k1(:l);
P_kk1(::i) = Q_beta_k1(::j) + F_beta_k1(::j)*P_k1(::l)*F_beta_k1(::j)‘;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Step 2: Prediction for existing targets
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for j = 1:J_k1
i = i+1;
w_kk1(1i) = p_S_k*w_k1(1j);
m_kk1(:i) = F_k1*m_k1(:j);
P_kk1(::i) = Q_k1 + F_k1*P_k1(::j)*F_k1‘;
end
J_kk1 = i;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Step 3: Construction of PHD update components
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for j = 1:J_kk1
% Expected number of measurements
gam(j) = beta_D;
nu_kk1(:j) = H_k*m_kk1(:j);
S_k(::j) = R_k + H_k*P_kk1(::j)*H_k‘;
H_k_invS_k = H_k‘/S_k(::j); % instead of H_k‘*inv(S_k(::j))
K_k(::j) = P_kk1(::j)*H_k_invS_k;
P_kk(::j) = (eye(size(P_kk1(::j)))-K_k(::j)*H_k)*P_kk1(::j);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Step 4: Update
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for j = 1:J_kk1
w_k(1j) = (1-(1-exp(-gam(j)))*p_D_k)*w_kk1(1j);
m_k(:j) = m_kk1(:j);
P_k(::j) = P_kk1(::j);
end
% l is an index
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6073 2010-05-19 00:44 fusion2010_gmphd_for_extended_target_tracking\extendedTargetPHDfilter.m
文件 5473 2010-05-19 00:48 fusion2010_gmphd_for_extended_target_tracking\extendedTargetTrackingPHD.m
文件 6965 2010-05-19 00:38 fusion2010_gmphd_for_extended_target_tracking\extendedTargetTrackingPHD_mulitpleTargets.m
文件 488 2010-03-08 23:07 fusion2010_gmphd_for_extended_target_tracking\generateClutter.m
文件 911 2010-03-09 17:49 fusion2010_gmphd_for_extended_target_tracking\generateExtendedMeasurements.m
文件 1113 2010-05-19 00:42 fusion2010_gmphd_for_extended_target_tracking\initParameters_project.m
文件 4709 2010-05-19 00:45 fusion2010_gmphd_for_extended_target_tracking\partitionMeasurementSet_4.m
文件 3715 2010-05-19 00:45 fusion2010_gmphd_for_extended_target_tracking\phdFilter.m
文件 1036 2010-05-19 00:46 fusion2010_gmphd_for_extended_target_tracking\phdPruning.m
文件 266 2010-05-19 00:46 fusion2010_gmphd_for_extended_target_tracking\phdStateExtraction.m
文件 951 2010-05-19 00:29 fusion2010_gmphd_for_extended_target_tracking\plotPHDsurface.m
文件 760 2010-05-24 19:39 fusion2010_gmphd_for_extended_target_tracking\README.txt
文件 245 2010-05-19 00:27 fusion2010_gmphd_for_extended_target_tracking\Sigmacircle.m
目录 0 2013-04-12 16:01 fusion2010_gmphd_for_extended_target_tracking
----------- --------- ---------- ----- ----
32705 14
- 上一篇:HMC5883L-STM32驱动程序
- 下一篇:一个很好的中值滤波C程序
相关资源
- 一个很好的中值滤波C程序
- 图像复原代码,运动模糊图像复原、
- labview滑动平均滤波.vi
- 周东华教授强跟踪滤波器程序
- F_OFDM通信系统的多子带可变滤波器设
- 小波重构+高频滤波
- 维纳滤波应用
- 中位值平均滤波-PLC程序
- 卡尔曼滤波用于单目标定位的程序
- Kalman滤波原理及程序手册.doc282116
- 论文研究-基于卡尔曼滤波与PID控制的
- 卡尔曼滤波书籍
- 几种滤波整流电路的介绍总结一
- IDL SG滤波批处理
- MSCAN标识符接收滤波器配置讲解
- 车辆轨迹预测经典模型
- 各种滤波方法代码
- 相当不错的扩展卡尔曼和无迹卡尔曼
- 经典有用的SLAM卡尔曼滤波入门资料中
- 基于同态滤波的遥感影像去云雾处理
- 基于VHDL的FIR16阶滤波器
- 基于频域的图像去噪方法
- 有效去除图像中脉冲噪声的新型滤波
- 基于卡尔曼滤波的行人检测
- IIR数字低通滤波器
- 分段块频域自适应滤波器算法
- 有源切比雪夫低通滤波器详细设计步
- 交互式多模型滤波Imm代码
- 二阶带通滤波电路原理图
- 最优估计大作业:基于kalman滤波的组
评论
共有 条评论