【数据融合】基于AIS和雷达的多传感器航迹融合matlab代码
1 简介
AIS船舶自动识别系统能提供精确的船舶位置与属性信息,通过信息融合技术能有效弥补雷达测向精度不高的影响。为了对更大范围内的海域进行监视,本文对升空AIS与雷达信息融合技术进行了研究,以提高平台对海的跟踪探测能力。本文主要涉及的工作:1、对升空平台AIS系统出现的问题进行研究。本文介绍了AIS系统的工作原理与SOTDMA协议过程,分析了升空AIS监视范围与出现信号冲突的问题,并且根据信号区别接收原理得到了时隙冲突、检测容量与发现概率之间的关系。分析分区域接收提高发现概率的可行性,并在matlab下仿真验证。2、通过对AIS数据报的编解码原理进行学习,分析了AIS主要的数据报文类型,并且通过软件实现AIS数据包的解析,并在电子海图上显示,为融合中心利用AIS信息提供支撑。3、本文基于信息融合系统的理论知识,分析了数据融合的模型与基本过程。利用拟合的航向信息对航迹平滑,提升海面目标航迹质量。在不同的测量噪声环境下,从插值精度与算法耗时方面仿真对比分析了最小二乘与拉格朗日插值方法的优缺点。推导存在测量噪声的基于AIS的三维空间配准算法,利用kalman滤波对系统误差进行估计,仿真分析了该算法配准精度与收敛速度。提出了基于DS理论的灰色航迹关联方法,该方法通过利用冗余的历史数据的组合证据进行判决,提高了正确关联概率。通过将其与统计双门限、模糊双门限关联算法在正确关联率、运行效率、适用环境等方面进行对比,为操作员选择算法提供参考。
2 部分代码
function [gmm,variance,likelihood,isactive] = PHD_update(gmm,z,isactive,cst)% PHD_UPDATE executes the update step of a GM-PHD filter on a given % Gaussian Mixture. % % IN gmm input mixture % cst the constant structure % % OUT gmm updated mixture % % AUTHOR Isabel Schlangen, (c) 2016Nmeas = size(z,1); % number of measurements active_pred = find(isactive); % collect all componentsgmmtable = repmat(gmm(active_pred),1,Nmeas);%% update all active components normtable = cst.pFA*ones(Nmeas,1); % ASSOCIATIONS for jj=1:Nmeasfor ii=1:length(active_pred)% innovation:y = z(jj,:)'-cst.H*gmm(active_pred(ii)).m;S = cst.H * gmm(active_pred(ii)).C * cst.H' + cst.R;% Kalman gain:K = (gmm(active_pred(ii)).C * cst.H')/S;gate = y'/S*y;% discard the combination if we want gating and m is outside of the% threshold around z:if ~(cst.gating && gate>cst.tgate) if cst.Nz == 2detS = S(1,1)*S(2,2)-S(2,1)*S(1,2);elsedetS = det(S);end q = exp(-0.5 * gate)/sqrt((2*pi)^(cst.Nz)*abs(detS));%update the Gaussian:gmmtable(ii,jj).w = q * cst.pD * gmm(active_pred(ii)).w;gmmtable(ii,jj).m = gmm(active_pred(ii)).m + K*y;gmmtable(ii,jj).C = (eye(cst.Nx)-K*cst.H) * gmm(active_pred(ii)).C;gmmtable(ii,jj).i = 1;elsegmmtable(ii,jj).w = 0;gmmtable(ii,jj).i = 0;endend% normalise per measurementnormtable(jj) = cst.pFA + sum([gmmtable(:,jj).w]);for ii=1:length(active_pred)gmmtable(ii,jj).w = gmmtable(ii,jj).w/normtable(jj);if gmmtable(ii,jj).w > 1keyboard;endend end if sum(sum([gmmtable(:).w]))>Nmeaskeyboard; end% MISSED DETECTIONS mol_mdterm = 0; for ii=active_predmol_mdterm = mol_mdterm + cst.pD*gmm(ii).w; %for the likelihoodgmm(ii).w = (1-cst.pD)*gmm(ii).w; %for weight update endlikelihood = exp(-mol_mdterm)*prod(normtable);%% variance allweights = zeros(size(gmmtable)); for ii=1:size(gmmtable,1)allweights(ii,:) = [gmmtable(ii,:).w]; end variance = sum([gmm(ii).w]) + sum(sum(allweights.*(1-allweights)));%% save all components that are still active for the next iteration inactive = find(~isactive); % collect indices of free space in gmm activateind = 0; for ii=1:length(active_pred)for jj=1:Nmeasif gmmtable(ii,jj).w > cst.pruning*cst.tpruneactivateind = activateind+1;if activateind>length(inactive)error('Maximum number of Gauss components reached.\n'); endgmm(inactive(activateind)) = gmmtable(ii,jj);isactive(inactive(activateind)) = 1;endend end%% Pruning active_up = find(isactive); prunedweights = 0; for ii=active_upif gmm(ii).w<cst.pruning*cst.tpruneprunedweights = prunedweights + gmm(ii).w;gmm(ii).w = 0;gmm(ii).i = 0;isactive(ii) = 0;end end active_pruned = find(isactive); ncomp = length(active_pruned); for ii=active_prunedgmm(ii).w = gmm(ii).w + prunedweights/ncomp; end% fprintf('MD: %g AS: %g, pruned:%g, total:%g\n',sum([gmm(active_pred).w]),sum([gmm(setdiff(active_up,active_pred)).w]),prunedweights,sum([gmm([gmm.i]==1).w]));%% Merging [gmm,isactive] = merging(gmm,isactive,cst);% fprintf('total weight after merging: %g\n', sum([gmm([gmm.i]==1).w]));
3 仿真结果
4 参考文献
[1]陈芳淮. 升空AIS与雷达航迹信息融合技术研究. Diss. 电子科技大学.
【数据融合】基于AIS和雷达的多传感器航迹融合matlab代码相关推荐
- 【数据融合】基于AIS和雷达的多传感器航迹融合附matlab代码
1 简介 AIS船舶自动识别系统能提供精确的船舶位置与属性信息,通过信息融合技术能有效弥补雷达测向精度不高的影响.为了对更大范围内的海域进行监视,本文对升空AIS与雷达信息融合技术进行了研究,以提高平 ...
- 【数据融合】基于AIS和雷达的多传感器航迹融合matlab源码
多传感器融合--MATLAB跟踪器介绍 MATLAB通过多目标跟踪器可以融合多传感器检测到的目标信息,常用到的多目标跟踪器有trackerGNN.trackerJPDA.trackerTOMHT .t ...
- Matlab基于AIS和雷达的多传感器航迹融合
多传感器融合--MATLAB跟踪器介绍 MATLAB通过多目标跟踪器可以融合多传感器检测到的目标信息,常用到的多目标跟踪器有trackerGNN.trackerJPDA.trackerTOMHT .t ...
- matlab仿真点目标,sar合成孔径雷达图像点目标仿真报告(附matlab代码).docx
sar合成孔径雷达图像点目标仿真报告(附matlab代码).docx SAR图像点目标仿真报告徐一凡1SAR原理简介合成孔径雷达(SyntheticApertureRadar,简称SAR)是一种高分辨 ...
- 基于STM32的无刷直流电机无传感器调速系统代码和原理图
说明:有代码和原理图 项目代码很全(是两个大项目,两个项目的区别是一个有传感器一个没有,其余实现功能都相同) 无感方波有 有传感器(霍尔元件)的编程也有 1: 基于STM32的无刷直流电机无传感器调速 ...
- 【图像检测】基于 AlexNet 和 SVM 实现异常螺母检测附matlab代码
1 内容介绍 考虑到异常检测问题中正负样本严重失衡,难以满足卷积神经网络训练对样本的要求,提出了基于AlexNet模型的异常检测模型.在数据预处理阶段,通过隔帧采样的方式生成3组训练数据,并利用预训练 ...
- 【通信】基于 ADMM 的大规模 MIMO 无穷范数检测附matlab代码
1 内容介绍 在本文中,我们为大规模多用户 (MU) 多输入多输出 (MIMO) 无线系统提出了一种新颖的数据检测算法和相应的 VLSI 设计.我们的算法使用基于交替方向乘法器 (ADMM) 的无限范 ...
- 【图像隐藏】基于混合 DWT-HD-SVD 的数字图像水印方法技术附matlab代码
1 内容介绍 文章提出一种基于离散小波变换(DWT),Hessenberg分解(HD)和奇异值分解(SVD)的图像水印方法.在嵌入过程中,对原始载体图像进行多级DWT分解,并将得出的子带系数作为HD的 ...
- 【优化求解】基于和声搜索算法对IEEE33节点进行无功优化matlab代码
1 简介 在和声搜索算法( HSA) 中,为了寻找全局最优,需要进行初始化和声记忆库,通过和声保留.随机产生.音调调节 3 种方式对变量进行更新,如果新产生的解优于记忆库中最劣的解,则更新记忆库,经过 ...
最新文章
- 【 MATLAB 】DFS 和 DTFT 之间的关系
- FishEye for Silverlight
- Apache RocketMQ在linux上的常用命令
- noip模拟赛 都市
- J-UI框架踩过的坑
- visio插入箭头_visio流程图中画箭头
- JDK API文档中文版(1.6、1.8、1.9)(附百度网盘下载地址)
- spire.pdf使用
- num转大写中文(零壹贰叁肆伍陆柒捌玖)
- 计算机登录网站慢手机快,电脑上网慢但手机很快有什么解决方法
- 健康生活无需等待,松下罗密欧系列洗衣机守护你的四月天
- 如何通过命令行使Linux设备进行网页认证(WEB认证)
- Amazon CloudWatch 介绍/学习
- Python 绘制五角星 【初识Python】
- 将软键盘的回车按钮变为搜索按钮
- [Git]git命令
- 排序---小白鼠排队
- 知识产权(二)——检索流程和要素表达
- 安全的发展趋势-物联网安全参考模型
- KNN实现鸢尾花分类
热门文章
- 利用NoneBot结合酷q打造qq机器人
- 三菱PLC曝出严重漏洞,面临黑客远程攻击
- PCIe——LTSSM
- windows下安装Ganache
- 基于单片机的六足机器人控制系统设计【100010379】
- Linux学习笔记——ubuntu必会背景知识及系统目录结构详解
- tomcat 默认编码的设置
- Key Scan Codes - 键盘按键 扫描码 表 - KeyCode 码 KeyAscII 码 - HackerJLY
- not find or load Qt Platform plugin “windows“ 报错
- Android TextWatcher 避免死循环