【航迹关联】基于matlab NNDA+PDA+JPDA算法航迹关联【含Matlab源码 1928期】
一、JPDA简介
1 引 言
航迹融合处于信息融合系统[1]JDL/DFS五级功能模型的第二级, 属于探测目标的位置级融合, 目前该技术已在空、海战场监视系统中得到广泛的常态化值勤应用。航迹融合的主要任务之一, 就是将源于同一目标的多条传感器航迹融合成为单一的、更精确的和更可信的系统航迹[2]。在实际工作运行中, 由于各雷达探测结果存在着系统误差, 使得一个真实目标会产生多条位置“平行”或“交叉”的航迹。因此, 在进行航迹融合处理时, 首先需要进行系统误差校正和时空配准等数据预处理工作。系统误差校正的方法有标定、瞄星、校飞等, 一个正常运转的系统, 必然需要对各传感器信息进行校正处理, 然而随着使用过程或时间的推移, 受多种因素影响, 系统误差有可能重新生长, 或者也会出现系统误差校正不彻底, 存在系统误差“残差”的现象。当区域内目标间距较大, 运动状态互不一致时, 航迹融合处理过程具有一定的“容错”能力, 可以解决系统误差残差问题带来的影响, 然而, 当雷达的系统误差残差相比于目标间距已无法再被忽略时, 例如多架飞机或多艘舰船联合编队运动时, 目标间距较小, 目标运动趋势相似, 此时则会容易出现航迹关联错误的现象。
本文基于此类问题, 以编队运动的多批目标为例, 研究存在系统误差“残差”情况下的航迹关联问题, 以期提高信息融合系统在实际工程使用中应对非理想输入状况的能力。
2 航迹关联方法
航迹融合中非常重要的一步就是如何判断来自不同传感器的两条航迹是否代表同一个目标, 也就是航迹关联问题。用于航迹关联的算法有:基于统计数学的方法、基于模糊数学的方法、基于灰色理论的方法、基于神经网络的方法等[3]。无论采用哪类方法, 都需要计算两条航迹之间的相似程度, 通过比较相似度, 选取适当的判断准则进行相关。
由于传感器测量误差、目标分布情况、目标运动规律及数据处理方法等因素的影响, 特别是当系统包含有较大的导航、传感器校准及转换和延迟误差时, 在航迹关联判决中存在着较大的模糊性, 基于统计数学的方法有时会显得力不从心, 而这种模糊性则可以用模糊数学的隶属度函数来表示, 也就是说, 可使用隶属度概念来描述两个航迹的相似程度。
本文即采用基于模糊数学的航迹关联方法[4], 采取目标批量处理的方式, 以其中一部雷达的源航迹作为基准航迹, 其他雷达的源航迹分别与基准航迹相关联, 使用正态型分布进行隶属度函数计算, 利用高斯密度公式[5]进行确认门内待关联源航迹的选择和似然值的计算。
航迹关联隶属度计算公式
Gti=exp[-12 (Yi-Xt) TΣ-1 (Yi-Xt) ] (1)
式中:Xt为基准航迹t的航迹点坐标向量;Yi为待关联航迹i的航迹点坐标向量 (需与基准航迹进行时间上的校准处理) ;Σ为与位置误差有关的协方差矩阵, 该值大小表征了航迹关联确认门的大小。
实践证明, 该方法在多站共同探测区内, 能够较好的完成大部分目标航迹的正确关联, 满足日常值班使用的需求, 但是在传感器信息出现一定的系统误差残差时, 对于编队运动目标的关联能力则可能出现显著下降的问题。
二、部分源代码
function JPDAF(target_position,n,T,MC_number,c)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 程序功能 :采用JPDA数据关联算法实现两个个匀速运动目标的点迹与航迹的关联 输入变量 :
% -target_position: 目标的初始位置 - n: 采样次数 - T: 采样间隔
% -MC_number:仿真次数 - c: 目标个数
% 输出变量 :
% 无
% 参考文献 :
% 黄玲,数据挖掘及融合技术研究与应用,西北工业大学硕士学位论文,2004年
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
%%%%% 参数定义 %%%%%
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
Pd=1; %检测概率
Pg=0.99; %正确量测落入跟踪门内得概率
g_sigma=9.21; %门限
lambda=2;
gamma=lambda*10^(-6); %每一个单位面积(km^2)内产生lambda个杂波
Target_measurement=zeros(c,2,n); %目标观测互联存储矩阵
target_delta=[100 100]; %目标对应的观测标准差
P=zeros(4,4,c); %协方差矩阵
P1=[target_delta(1)^2 0 0 0;0 0.01 0 0;0 0 target_delta(1)^2 0;0 0 0 0.01]; %初始协方差矩阵
P(:,:,1)=P1;
P(:,:,2)=P1;
A = [1 T 0 0;0 1 0 0;0 0 1 T;0 0 0 1]; %状态转移矩阵
C = [1 0 0 0;0 0 1 0]; %观测矩阵
R=[target_delta(1)^2 0;0 target_delta(1)^2]; %观测协方差矩阵
Q=[4 0;0 4]; %系统过程噪声协方差
G=[T^2/2 0;T 0;0 T^2/2;0 T]; %过程噪声矩阵
x_filter=zeros(4,c,n); %存储目标的各时刻的滤波值
x_filter1=zeros(4,c,n,MC_number); %MC_number次Montle Carlo仿真所得全部结果存储矩阵
data_measurement=zeros(c,2,n); %观测存储矩阵
data_measurement1=zeros(c,4,n); %实际位置坐标x,y矩阵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% 产生目标的实际位置 %%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data_measurement1(:,:,1)=target_position; %实际位置矩阵初始化
for i=1:c
for ii=2:n %实际位置
data_measurement1(i,:,ii)=(A*data_measurement1(i,:,ii-1)')'+(G*sqrt(Q)*(randn(2,1)))';
end
end
a=zeros(1,n);
b=zeros(1,n);
for i=1:n
a(i)=data_measurement1(1,1,i);
b(i)=data_measurement1(1,3,i);
end
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]王刚,汪秋莹.利用JPDA进行编队目标的多雷达航迹关联应用研究[J].现代雷达. 2019,41(04)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/125648565
- 点赞
- 收藏
- 关注作者
评论(0)