中英文网站设计,便民信息发布平台,给人做ppt的网站吗,建筑公司一般在哪里招人集中式多输入多输出CMIMO雷达作为一种新体制雷达#xff0c;能够实现对多个目标的同时多波束探测#xff0c;在多目标跟踪领域得到了广泛运用。自从2006年学者Haykin提出认知雷达理论#xff0c;雷达资源分配问题就成为一个有实际应用价值的热点研究内容。本文基于目标跟踪的…集中式多输入多输出CMIMO雷达作为一种新体制雷达能够实现对多个目标的同时多波束探测在多目标跟踪领域得到了广泛运用。自从2006年学者Haykin提出认知雷达理论雷达资源分配问题就成为一个有实际应用价值的热点研究内容。本文基于目标跟踪的后验克拉美罗下界PCRLBposterior Cramer-Rao lower bound实现了雷达多目标跟踪的功率资源分配。
1.目标运动模型
图1为CMIMO雷达对多个目标同时跟踪的场景示意图。 图1 CMIMO同时多波束跟踪 假设Q个彼此分离的目标做匀速直线CV运动第q个目标在第k时刻的运动模型定义 其中为状态向量。
状态转移矩阵为 为一个零均值的高斯白噪声其协方差表示为 是用来控制过程噪声大小的系数。
2.雷达量测模型 设CMIMO雷达坐标为0, 0。在k时刻对Q个目标进行跟踪第q个目标对应量测和状态向量之间的转换关系表示为 其中为量测噪声为量测和状态向量之间的映射过程分别为距离、速度与角度 量测噪声的协方差矩阵表示为 其中为目标RCS为实际功率为大小与距离4次方成反比的衰减系数。上式可以看出在跟踪过程中目标RCS和雷达发射参数均会影响量测协方差。
3.多目标跟踪PCRLB递推 跟踪滤波的无偏估计量与目标状态向量之间满足 其中为无偏估计量表示数学期望操作表示PCRLB矩阵对应逆矩阵为目标q所对应的Fisher Information Matrix。其递推公式为 其中表示目标状态先验分布对应的FIM为量测信息FIM。表示雅克比矩阵。对FIM求逆得到PCRLB矩阵 其中为k时刻对第q个目标分配的功率资源对角线元素对应目标状态向量的无偏估计方差下界可将其作为代价函数。进一步地可以跟踪实际物理约束构造资源调度模型我们采用MinMax准则优化多目标跟踪精度。 MinMax-PCRLB优化模型可以建模为 其中表示1范数。、、分别为总功率、最大分配功率与最小分配功率。已经证明上述问题是一个凸问题可以通过典型的优化算法进行求解得到下一帧的雷达资源调度方案。
4.仿真实验 CMIMO雷达对三个目标进行跟踪利用扩展卡尔曼滤波或者无迹卡尔曼滤波算法进行跟踪蒙特卡洛试验次数设置为100次。通过MATLAB进行仿真能够得到如下结果 图2 多目标与雷达的距离变化曲线图 图3 位置估计结果 图4 速度估计结果 图5 雷达资源调度结果 结合图2与图5可以看出在跟踪前期目标1距离雷达最远系统为了保证最远目标的跟踪精度分配绝大部分功率给目标1。随着目标1距离雷达越来越近系统分配给目标1的功率逐渐减小。而目标2距离雷达越来越远因此分配给目标2的功率越来越大。另外目标3的距离一直较小因此在跟踪全过程中分配给目标3的雷达资源最少。 另外从图3与图4中可以看出系统对多个目标的运动参数的估计是收敛的且PCRLB能够表征目标跟踪的估计下界。PCRLB能够指导雷达完成雷达资源的有效分配。如有代码问题加UltraNextYJ交流。
部分代码如下
%% PCRLB的计算与比较用上一时刻进行迭代
CR_pos_PCRLB zeros(N_tracking,TAR_NUM);
CR_vel_PCRLB zeros(N_tracking,TAR_NUM);
for tar_num 1:TAR_NUMJ inv(P_0); % pcrlb初始化for k 1:N_tracking% N为跟踪时间D11 sum(d11_pcrlb(:,:,k,:,tar_num),4)./MC; D12 sum(d12_pcrlb(:,:,k,:,tar_num),4)./MC;D22 sum(d22_pcrlb(:,:,k,:,tar_num),4)./MC;% PCRLBBound_CRLB inv(J);% 位置和速度的PCRLB的计算CR_pos_PCRLB(k,tar_num) sqrt(Bound_CRLB(1,1) Bound_CRLB(3,3)); CR_vel_PCRLB(k,tar_num) sqrt(Bound_CRLB(2,2) Bound_CRLB(4,4));end
end
%% 计算跟踪过程对应的RMSE将误差存入矩阵
position zeros(N_tracking,MC,TAR_NUM);
velocity zeros(N_tracking,MC,TAR_NUM);
rmse_position zeros(N_tracking,TAR_NUM);
rmse_velocity zeros(N_tracking,TAR_NUM);
for tar_num 1:TAR_NUMfor i 1:MCfor k 1:N_trackingerror(:) sV(:,k,i,tar_num) - eV(:,k,i,tar_num);% RMSEerror2(:) error(:).^2; error2_dis error2(1) error2(3); error2_vel error2(2) error2(4);position(k,i,tar_num) error2_dis; velocity(k,i,tar_num) error2_vel;endend
end
for tar_num 1:TAR_NUMrmse_position(:,tar_num) sqrt(sum(position(:,:,tar_num),2)./MC); rmse_velocity(:,tar_num) sqrt(sum(velocity(:,:,tar_num),2)./MC);
end