(十)联合概率数据互联原理及应用(JPDA)

目录

前言

一、JPDA原理及算法步骤

(一)算法步骤

1.确认矩阵计算

2.确认矩阵拆分

3.互联概率计算

4.状态及协方差更新

二、仿真验证

(一)模型构建

(二)仿真结果

总结

引用文献


前言

        本文主要针对数据关联算法中的联合概率数据互联算法(JPDA)进行了分析与介绍,介绍了其相应的原理与算法步骤,并且针对两个杂波下的匀速运动目标进行了仿真实验,验证了算法的准确性和有效性。后续会逐步介绍其他数据关联算法,读者可以根据自身需求对代码进行修改。


一、JPDA原理及算法步骤

        数据互联算法主要用于解决航迹起始之后点迹与航迹的正确互联问题,也就是要解决量测的不确定性问题,为各航迹下一时刻滤波提供正确的量测值。量测的不确定性主要来源于虚假航迹、目标虚警以及多目标点迹判断等原因。点击与航迹的数据互联算法主要包括两种,即极大似然类数据互联算法和贝叶斯类数据互联算法,我们主要研究贝叶斯类数据互联算法,包括以下几种算法:

最近邻域算法(NNSF)

概率数据互联算法(PDA)

综合概率数据互联算法(IPDA)

联合概率数据互联算法(JPDA)

全邻模糊聚类数据互联算法(ANFC)

……

        本文主要介绍联合概率数据互联(JPDA)算法,该算法是在联合概率数据互联(PDA)的基础上发展而来的,但是PDA主要用于解决杂波条件下的单雷达单目标问题,JPDA主要用于适用于杂波条件下的多目标数据互联。杂波条件下的多目标数据互联是多目标跟踪中重要但是难以处理的问题,当回波落入多个目标的跟踪波门中时,数据关联过程就要考虑到各个目标航迹对于量测值的竞争问题。

(一)算法步骤

1.确认矩阵计算

确认矩阵定义如下:

\Omega =[w_{jt}]=\begin{bmatrix} w_{10}&\cdots &w_{1T} \\ \vdots & \cdots & \vdots \\ w_{m_{k}0} & \cdots & w_{m_{k}T} \end{bmatrix}

其中,w_{jt}=1表示量测j(j = 1……m_{k})落入目标t(t = 0……T)的跟踪波门中,w_{jt}=0表示量测j未落入目标t的跟踪波门中,当t=0时表示量测为杂波或者虚警,不存在目标,且w_{j0}=1。如下图所示:

        对应部分代码程序为:

m1 = 0;
[~,n_z_total] = size(Z);
Q1 = zeros(10000,n_target+1); %每个时刻所有的量测点的数量不超过10000,预先准备矩阵
index_cal = [];
z_mid = [];
for k = 1:n_z_totalflag = 0;for q = 1:n_targetd= Z(:,k) - Z_mid_pre(:,q);D(k,q) = d'*inv(S_mid_pre{q})*d;if  D(k,q)<= g_sigmaflag = 1;Q1(m1+1,1)=1; %杂波虚警那一列,只有回波落入门内,才有可能是虚警Q1(m1+1,q+1)=1; %如果落入回波内,就进行对应的滤波endendif flag == 1m1 = m1+1;z_mid = [z_mid,Z(:,k)];index_cal = [index_cal,k];end
end
Q2 = Q1(1:m1,1:n_target+1);

2.确认矩阵拆分

        确认矩阵拆分的原则有两个:

基本假设拆分原则
每个量测有唯一的源,不考虑不可分辨的情况确认矩阵每行中仅选出一个1作为互联矩阵在该行的唯一非零元素
对于一个给定目标最多一个量测以其为源在互联矩阵中,除第一列外,其余各列最多只能有一个非零元素

        则上述矩阵可以拆分为以下:

        对应部分代码为:

%计算各个库
for i = 1 : n1k = 0;for j = 1:n2d = zeros(1,n2);      if Q2(i,j) == 1 k = k+1;d(1,j) = 1;c_lib{i}{k} = d;endend
end
%%
A = zeros(n1,n2,100000);
%拼接各个库并进行判断
num = 0;
for i  = 1:n_totalc_judge = [];for j =  1 : n1c_judge = [c_judge;c_lib{j}{index(i,j)}];endf = sum(c_judge(:,2:end));if max(f)<= 1num = num+1;A(:,:,num) = c_judge;end   
end
A1 = A(:,:,1:num);

3.互联概率计算

        联合概率数据互联就是计算每个量测与多个目标互联的概率,假设\theta _{jt}\left ( k \right )表示量测j源自目标t的事件,其中0\leq t\leq T\theta _{j0}\left ( k \right )表示量测来源于虚警或者杂波。

        按照单目标概率数据互联中条件概率的定义为:\beta _{jt}\left ( k \right )=P_{r}\left ( \theta _{jt}\left ( k \right )\mid Z^{k} \right )

        则其满足\sum_{j=0}^{m_{k}}\beta _{jt}\left ( k \right )=1

        假设确认矩阵按照拆分原则最终拆分为n_{k}个矩阵,则表示有n_{k}个联合事件,则第j个量测与目标互联的概率为:

\beta _{jt}\left ( k \right )=P_{r}\left ( \theta _{jt}\left ( k \right )\mid Z^{k} \right )=P_{r}\left ( \bigcup_{i=1}^{n_{k}}\theta _{jt}^{i}\left ( k \right ) \mid Z^{k}\right )=\sum_{i=1}^{m_{k}}\omega _{jt}^{i}\left [ \theta _{k} \right ]P_{r}\left ( \theta _{i}\left ( k \right ) \mid Z^{k}\right )

其中,\theta _{jt}^{i}\left ( k \right )表示量测j在第i个联合事件中源于目标t的事件,\theta _{i}\left ( k \right )表示第i个联合事件。

\omega _{jt}^{i}\left ( \theta _{i}\left ( k \right ) \right )=\left\{\begin{matrix} 1,\theta _{jt}^{i}\left ( k \right )\subset \theta _{i}\left ( k \right )\\0, other \end{matrix}\right.

        公式表示在第i个联合事件中,如果量测j源于目标q,则为1,否则为0。

\theta _{i}\left ( k \right )=\bigcap_{j=1}^{m_{k}}\theta _{jt}^{i}\left ( k \right )

        公式表示计算联合事件i的发生概率。

        该部分的核心思想为:先计算每个联合事件发生的概率(即将联合事件中为1的时间概率相乘,取交集);之后进行归一化(即使得所有联合事件概率相加为1);之后计算量测j源于目标t的概率(即将各个联合事件中涉及到量测j源于目标q的概率相加,取并集)。

        量测互联指示:

\tau _{j}\left [ \theta _{i}\left ( k \right ) \right ]=\sum_{i=1}^{T}\omega _{jt}^{i}\left ( \theta _{i}\left ( k \right ) \right )=\left\{\begin{matrix} 1\\ 0 \end{matrix}\right.

        公式表示量测j在\theta _{i}\left ( k \right )中是否与一个真实目标相联。

        目标检测指示:

\sigma _{j}\left [ \theta _{i}\left ( k \right ) \right ]=\sum_{i=1}^{m_{k}}\omega _{jt}^{i}\left ( \theta _{i}\left ( k \right ) \right )=\left\{\begin{matrix} 1\\ 0 \end{matrix}\right.

        公式表示任意量测在联合事件\theta _{i}\left ( k \right )中是否与目标t互联,亦是否被检测到。

        假量测数量:

\phi _{j}\left [ \theta _{i}\left ( k \right ) \right ]=\sum_{j=1}^{m_{k}}\left ( 1- \tau _{j}\left [ \theta _{i}\left ( k \right ) \right ]\right )

         \phi _{j}\left [ \theta _{i}\left ( k \right ) \right ]表示在联合事件\theta _{i}\left ( k \right )中假量测的数量。

        互联概率计算:

        JPDA联合概率数据计算具有两种形式,根据假量测数量\phi _{j}\left [ \theta _{i}\left ( k \right ) \right ]的概率质量函数不同而不同(即杂波的分布方式不同而不同)[1]:

        泊松分布:

P_{r}\left ( \theta _{i}\left ( k \right ) \mid Z^{k}\right )=\frac{\lambda^{\phi _{j}\left [ \theta _{i}\left ( k \right ) \right ]} }{c}\prod_{j=1}^{m_{k}}N_{tj}\left [ z_{j}\left ( k \right ) \right ]^{\tau _{j}\left [ \theta _{i}\left ( k \right ) \right ]}\prod_{t=1}^{T}\left ( P_{D}^{t}\right )^{\sigma _{j}\left [ \theta _{i}\left ( k \right ) \right ]}\left ( 1-P_{D}^{t}\right )^{1-\sigma _{j}\left [ \theta _{i}\left ( k \right ) \right ]}

        其中,\lambda 为泊松分布参数,c为归一化常数   

        均匀分布:

P_{r}\left ( \theta _{i}\left ( k \right ) \mid Z^{k}\right )=\frac{\phi _{j}\left [ \theta _{i}\left ( k \right ) \right ]\textsc{!}}{V^{\phi _{j}\left [ \theta _{i}\left ( k \right ) \right ] }c}\prod_{j=1}^{m_{k}}N_{tj}\left [ z_{j}\left ( k \right ) \right ]^{\tau _{j}\left [ \theta _{i}\left ( k \right ) \right ]}\prod_{t=1}^{T}\left ( P_{D}^{t}\right )^{\sigma _{j}\left [ \theta _{i}\left ( k \right ) \right ]}\left ( 1-P_{D}^{t}\right )^{1-\sigma _{j}\left [ \theta _{i}\left ( k \right ) \right ]}

        其中,c为归一化常数  ,V为确认区域的体积

        其中,n_{z}为量测向量的维数,N[z_{j}(k)]的具体形式为:

f(z_{j}(k))=\frac{1}{\left ( 2\pi \right )^{n_{z}}\left | S\left (k \right ) \right |^{1/2}}exp\left \{ -\frac{1}{2} \left ( z_{j}(k)-z_{j}(k\mid k-1) \right ){}'S^{-1}\left ( k \right )\left ( z_{j}(k)-z_{j}(k\mid k-1) \right )\right \}

        对应部分代码为:

% target_indicator =  %目标指示器
Pr = zeros(1,num);
for i1 = 1:num %对每个关联矩阵的概率进行计算False_num = m1;N=1;for j = 1:m1mea_indicator =  sum(A_matrix(j,2:end,i1));%观测指示器if mea_indicator ==1False_num = False_num-1;m0 = find(A_matrix(j,2:end,i1));b=(z_mid(:,j)-Z_mid_pre(:,m0))'*inv(S_mid_pre{m0})*(z_mid(:,j)-Z_mid_pre(:,m0));N=N/sqrt(det((2*pi)^(nz/2)*S_mid_pre{m0}))*exp(-1/2*b);endendif Pd==1a=1;elsea=1;for j=1:ctarget_indicator=sum(A_matrix(:,j+1,i));                               %参考文献中式4-49a=a*Pd^target_indicator*(1-Pd)^(1-target_indicator);                   %计算检测概率endend%       V = sum(ellipse_Volume)*clutter_density;                                         %表示整个空域的体积Pr(i1)=N*a*(0.00000000000000000000000001)^False_num;
end
Pr=Pr/sum(Pr);

4.状态及协方差更新

        在得到最终互联概率矩阵之后,利用卡尔曼滤波对目标的状态进行更新,公式如下:

状态向量更新:

x^{t}\left ( k\mid k \right )=x^{t}\left ( k\mid k-1 \right )+K^{t}\left ( k \right ) V^{t}\left ( k \right )

其中,V^{t}(k)=\sum_{j=0}^{m_{k}}\beta _{jt}\left ( k \right )V_{j}^{t}(k)为k时刻对目标t用j个量测组合而成的新息向量。

协方差更新:

P^{t}\left ( k\mid k \right )=P^{t}\left ( k\mid k-1 \right )-(1-\beta _{0t})K^{t}\left ( k \right )S^{t}\left ( k \right )\left [ K^{t}\left ( k \right ) \right ]^{\top }+K^{t}\left ( k \right )\left [ \sum_{j=0}^{m_{k}}\beta _{jt}(k)V_{j}^{t}\left ( k \right )\left (V_{j}^{t}\left ( k \right )\right )^{\top } -V^{t}\left ( k \right )\left (V^{t}\left ( k \right )\right )^{\top } \right ]\left ( K^{t}\left ( k \right ) \right )^{\top }

二、仿真验证

(一)模型构建

        建立两个匀速目标的CV模型,模型具体构建方法见之前的博客:

(四)交互式多模型(IMM)中二维平面CV/CA/CT模型构建icon-default.png?t=N7T8https://blog.csdn.net/h320130/article/details/135141783        设置杂波密度,跟踪门限等参数,具体代码如下:


sim_time=150;        %仿真时间
T=1;                %T为采样间隔
n_sim = sim_time/T; %仿真次数
MC_number=5;        %Monte Carlo仿真次数
n_target=2;         %目标个数
initial_v=[1500 30 500 40; 500 40 1500 30];%初始目标状态
nf = 0.1; %过程噪声强度
P0 = 1*eye(4);     %各目标的初始跟踪误差
clutter_density = 0.000001; %杂波密度
R = 1*eye(2); %目标量测误差
%生成目标的运动
X_location = cell(1,n_target);
X_location(:) = {zeros(4,n_sim)};
for q = 1:n_target[X_location{q},F,Q] = track(initial_v(q,:)',n_sim,T,nf,P0);
end

(二)仿真结果

        从仿真结果中可以看出,JPDA能够实现杂波中点迹与航迹的良好互联,解决了目标跟踪过程中量测的不确定性问题,但是联合概率数据互联不能实现航迹的管理,需要配合航迹管理算法进行使用,之后的一篇文章将详细介绍航迹管理算法的原理及使用。


总结

        本文针对JPDA算法的原理以及算法步骤进行了介绍,同时针对其核心思想进行了总结。并且结合算法步骤进行了仿真实验,结果验证了算法的有效性和实用性。


引用文献

[1]雷达数据处理及应用,何友……, p160

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3281023.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

微软:警惕利用VMware ESXi进行身份验证绕过攻击

微软于7月29日发布警告&#xff0c;称勒索软件团伙正在积极利用 VMware ESXi 身份验证绕过漏洞进行攻击。 该漏洞被追踪为 CVE-2024-37085&#xff0c;由微软安全研究人员 Edan Zwick、Danielle Kuznets Nohi 和 Meitar Pinto 发现&#xff0c;并在 6 月 25 日发布的 ESXi 8.0 …

吴恩达机器学习C1W2Lab05-使用Scikit-Learn进行线性回归

前言 有一个开源的、商业上可用的机器学习工具包&#xff0c;叫做scikit-learn。这个工具包包含了你将在本课程中使用的许多算法的实现。 目标 在本实验中&#xff0c;你将: 利用scikit-learn实现使用梯度下降的线性回归 工具 您将使用scikit-learn中的函数以及matplotli…

c#中使用数据验证器

前言 在很多情况下&#xff0c;用户的输入不一定满足我们的设计要求&#xff0c;需要验证输入是否正确&#xff0c;传统的方案是拿到控件数据进行逻辑判定验证后&#xff0c;给用户弹窗提示。这种方法有点职责延后的感觉&#xff0c;数据视图层应该很好的处理用户的输入。使用…

STM32DMA数据传输

我估计大多数人学这么久连听说都没听说过DMA&#xff0c;更不用提知道它是干嘛的。其实DMA的本质就是一个数据的搬运工。平常的时候当我们没有配置的时候&#xff0c;一直都是CPU在搬运数据&#xff0c;但是这个活又累又没有技术含量&#xff0c;所以DMA的重要性还是有的。 1.…

YOLOv9最新最全代码复现(论文复现)

YOLOv9最新最全代码复现&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 YOLOv9最新最全代码复现&#xff08;论文复现&#xff09;引言YOLOv9模型概述模型框架图环境搭建及训练推理环境配置数据集准备训练过程测试和评估实践应用 报错修…

【机器学习西瓜书学习笔记——神经网络】

机器学习西瓜书学习笔记【第四章】 第五章 神经网络5.1神经元模型5.2 感知机与多层网络学习感知机学习率成本/损失函数梯度下降 5.3 BP神经网络&#xff08;误差逆传播&#xff09;5.4 全局最小与局部极小5.5 其他常见神经网络RBF网络RBF 与 BP 最重要的区别 ART网络 第五章 神…

Vue组件库移动端预览实现原理

引言 大家如果使用过移动端组件库&#xff08;比如&#xff1a;Vant&#xff09;&#xff0c;会发现在网站右侧有一个手机端的预览效果。 而且这个手机端预览的内容和外面的组件代码演示是同步的&#xff0c;切换组件的时候&#xff0c;移动端预览的内容也会发生相应的变化。 …

守护线程(Daemon Threads)详解:与非守护线程的区别

守护线程&#xff08;Daemon Threads&#xff09;详解&#xff1a;与非守护线程的区别 1、守护线程是什么&#xff1f;2、守护线程与非守护线程的区别2.1 JVM关闭行为2.2 任务性质2.3 线程设置2.4 示例代码 3、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收…

pytorch 绘制Depth Anything网络结构

pytorch 绘制模型的网络结构有很多中方法&#xff0c;个人比较喜欢 torchview 生成的 Graphviz 风格的图片。 Graphviz介绍 Graphviz是一款开源的图形可视化软件&#xff0c;其名称来源于“Graph Visualization Software”的缩写。它通过使用一种名为DOT的描述语言来定义图形…

不踩雷的护眼大路灯有哪些?五款盲选不踩雷的护眼大路灯推荐

不踩雷的护眼大路灯有哪些&#xff1f;作为一名专业的实测博主温馨提示大家&#xff0c;虽然护眼落地灯是个好东西&#xff0c;它能够提供柔和舒适的环境光&#xff0c;减少对眼睛的伤害&#xff0c;但是千万别乱买跟风&#xff0c;盲目入手踩雷率80%以上。那么如何辨别一盏护眼…

创客项目秀 | 基于 XIAO 开发板的语音向导

背景 柴火创客空间作为大湾区科技创新的窗口&#xff0c;每年到访空间的社区伙伴众多&#xff0c;为了更好的进行空间信息交互&#xff0c;我们希望有一个装置是可以解决&#xff1a;当空间管理员不在现场的时候&#xff0c;到访者可以通过装置获得清晰的介绍与引导。 为了解…

vue2 封装插槽组件

安装 element-ui npm install element-ui --save ---force main.js 导入 import Vue from vue; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; import App from ./App.vue; Vue.use(ElementUI); new Vue({ el: #app, render: h > h(Ap…

全渠道AI数字化商品管理 零售品牌增长“超级引擎”

随着“流量红利”时代的终结 品牌面临增速放缓、利润下滑的双重挑战。 消费者的诉求日益理性和个性化&#xff0c; 国内外品牌角逐市场份额 A1、大数据等先进技术迅猛发展 品牌商品计划管理变得更加复杂而多维。 零售品牌正加速数字化与全渠道融合以应对挑战。 可持续盈利…

对于一家企业来说,电气数字化是否有那么重要?

时代大背景下&#xff0c;尤其是在复杂的国际与社会环境交织之中&#xff0c;全社会的“数字化”转型已成必然之势。对于电子产业而言&#xff0c;“数字化”无疑是重大机遇。 众所周知&#xff0c;在蒸汽机时代&#xff0c;身为机械工程师堪称幸运&#xff0c;彼时涌现出众多…

MySQL 将查询结果导出到文件(select … into Statement)

我们经常会遇到需要将SQL查询结果导出到文件&#xff0c;以便后续的传输或数据分析的场景。为了满足这个需求&#xff0c;MySQL的select语句提供了into子句可以将的查询结果直接导出到文本文件。本文就MySQL中select…into的用法进行演示。 文章目录 一、select…into语句简介…

AWS账号注册:AWS 用借记卡注册是否有风险?

亚马逊云服务&#xff08;Amazon Web Services&#xff0c;简称 AWS&#xff09;作为全球领先的云服务提供商&#xff0c;吸引了众多企业和个人用户。注册 AWS 账户时&#xff0c;提供支付方式是必要的步骤&#xff0c;许多用户会选择使用借记卡来完成注册。那么&#xff0c;使…

idea、webstorm、navicat等2024大佬总结亲测可用

宝藏网址&#xff0c;亲测可用。 关于JetBrains全家桶激活。 扫码关注&#xff1a;JAVA和人工智能。回复 idea 或 webStorm 或 navicat 获取 仅学习使用&#xff0c;不要用于商业用途&#xff01;

【剑指offer】

剑指offer 面试题67&#xff1a;字符串转成整数面试题1&#xff1a;赋值运算符函数面试题3&#xff1a;数组中重复的数字 面试题67&#xff1a;字符串转成整数 LeedCode&#xff1a;LCR 192. 把字符串转换成整数 (atoi) 测试atoi的功能和异常效果 #include <iostream> #…

二叉树的介绍及其顺序结构的实现

Hello, 亲爱的小伙伴们&#xff0c;你们的作者菌又回来了&#xff0c;之前我们学习了链表、顺序表、栈等常见的数据结构&#xff0c;今天我们将紧跟之前的脚步&#xff0c;继续学习二叉树。 好&#xff0c;咱们废话不多说&#xff0c;开始我们今天的正题。 1.树 1.1树的概念和…

vue3框架Arco Design输入邮箱选择后缀

使用&#xff1a; <a-form-item field"apply_user_email" label"邮箱&#xff1a;" ><email v-model"apply_user_email" class"inputborder topinputw"></email> </a-form-item>import email from /componen…