主要内容GydF4y2Ba

多平台雷达探测融合GydF4y2Ba

此示例显示如何从多平台雷达网络融合雷达探测。该网络包括两个机载和一个陆基远程雷达平台。见GydF4y2Ba多平台雷达探测生成GydF4y2Ba详细信息示例。中央跟踪器以固定的更新间隔处理来自所有平台的检测。这使您能够根据目标类型、平台机动以及平台配置和位置评估网络性能。。GydF4y2Ba

加载跟踪场景的录制GydF4y2Ba

这个GydF4y2Ba多平台雷达检测生成GydF4y2BaMAT文件包含以前使用以下命令生成的跟踪场景记录GydF4y2Ba

录制=录制(场景,GydF4y2Ba“包括传感器”GydF4y2Ba符合事实的GydF4y2Ba“初始种子”GydF4y2Ba,2018,GydF4y2Ba“录制格式”GydF4y2Ba,GydF4y2Ba“录音”GydF4y2Ba)GydF4y2Ba

哪里GydF4y2Ba场景GydF4y2Ba是在多平台雷达探测生成示例中创建的跟踪场景。GydF4y2Ba

装载(GydF4y2Ba“MultiplatformScenarioRecording.mat”GydF4y2Ba);GydF4y2Ba

定义中央跟踪器GydF4y2Ba

使用GydF4y2Ba跟踪器GydF4y2Ba作为中央跟踪器,处理从场景中所有雷达平台接收到的探测。GydF4y2Ba

跟踪器使用GydF4y2Ba初始化过滤器GydF4y2Ba万博1manbetx支持函数为每个新轨迹初始化一个等速扩展卡尔曼滤波器。GydF4y2Ba初始化过滤器GydF4y2Ba修改由返回的筛选器GydF4y2BainitcvekfGydF4y2Ba匹配高目标速度。过滤器的过程噪声设置为1GydF4y2Ba GGydF4y2Ba (GydF4y2Ba GGydF4y2Ba =GydF4y2Ba 9GydF4y2Ba .GydF4y2Ba 8.GydF4y2Ba MGydF4y2Ba /GydF4y2Ba sGydF4y2Ba 2.GydF4y2Ba )能够跟踪场景中的机动目标。GydF4y2Ba

追踪器的GydF4y2Ba分配阈值GydF4y2Ba设置为50以使具有大范围偏差(由于长探测范围的大气折射效应)的探测与跟踪器中的轨迹关联。这个GydF4y2Ba删除阈值GydF4y2Ba设置为3以快速删除冗余轨迹。GydF4y2Ba

启用GydF4y2BaHasDetectableTrackIDsInputGydF4y2Ba指定自上次更新以来至少一个雷达视野内的轨迹。轨道逻辑仅在自上次跟踪器更新以来有检测机会的轨道上进行评估。GydF4y2Ba

跟踪器(GydF4y2Ba“FilterInitializationFcn”GydF4y2Ba,@initFilter,GydF4y2Ba...GydF4y2Ba“AssignmentThreshold”GydF4y2Ba, 50,GydF4y2Ba“删除阈值”GydF4y2Ba3.GydF4y2Ba...GydF4y2Ba“HasDetectableTrackIDsInput”GydF4y2Ba,对);GydF4y2Ba

通过在中央跟踪器中融合检测来跟踪目标GydF4y2Ba

以下循环运行跟踪场景记录,直到场景结束。对于场景中的每一步,中央跟踪器将收集检测以进行处理。跟踪器每2秒更新一次这些检测。GydF4y2Ba

trackUpdateRate=0.5;GydF4y2Ba%每2秒更新一次跟踪器GydF4y2Ba%创建一个显示以显示设备的真实、测量和跟踪位置GydF4y2Ba%检测到目标和平台。GydF4y2BatheaterDisplay=helperMultiPlatFusionDisplay(录制,GydF4y2Ba“PlotAssignmentMetrics”GydF4y2Ba,对);GydF4y2Ba%构造一个对象以分析分配和错误度量GydF4y2Batam=轨迹分配度量(GydF4y2Ba“距离函数格式”GydF4y2Ba,GydF4y2Ba“习俗”GydF4y2Ba,GydF4y2Ba...GydF4y2Ba“AssignmentDistanceFcn”GydF4y2Ba,@truthAssignmentDistance,GydF4y2Ba...GydF4y2Ba“发散距离FCN”GydF4y2Ba,@truthAssignmentDistance);GydF4y2Ba%初始化缓冲区GydF4y2BadetBuffer={};sensorConfigBuffer=[];allTracks=[];detectableTrackIDs=uint32([]);assignmentTable=[];GydF4y2Ba%初始化下一个跟踪器更新时间GydF4y2BanextTrackUpdateTime=2;GydF4y2Ba虽然GydF4y2Ba~isDone(录音)GydF4y2Ba%读取录制的下一条记录。GydF4y2Ba[时间、真实姿势、covcon、dets、senscon、sensPlatIDs]=读取(记录);GydF4y2Ba%缓冲所有检测和传感器配置,直到下一次跟踪器更新GydF4y2BadetBuffer=[detBuffer;dets];GydF4y2Ba%#好的GydF4y2BasensorConfigBuffer=[sensorConfigBuffer;senscon'];GydF4y2Ba%#好的GydF4y2Ba%按照trackUpdateRate更新跟踪器GydF4y2Ba如果GydF4y2Ba时间>=nextTrackUpdateTime | | isDone(录制)GydF4y2Ba如果GydF4y2Baisempty(detBuffer)lastDetectionTime=时间;GydF4y2Ba其他的GydF4y2BalastDetectionTime=detBuffer{end}.Time;GydF4y2Ba终止GydF4y2Ba如果GydF4y2Ba已锁定(跟踪器)GydF4y2Ba%收集至少在一个雷达范围内的航迹列表GydF4y2Ba%自上次跟踪器更新以来的视图GydF4y2Bapredictedtracks=predictTracksToTime(跟踪器,GydF4y2Ba“全部”GydF4y2Ba,lastDetectionTime);DetectableTrackID=detectableTracks(所有Tracks、predictedtracks、sensorConfigBuffer);GydF4y2Ba终止GydF4y2Ba%更新跟踪程序。仅在位于的范围内的轨道上运行轨道逻辑GydF4y2Ba%自上次跟踪器更新以来,至少有一个雷达的视野GydF4y2Ba[confirmedTracks,~,allTracks]=跟踪器(detBuffer,lastDetectionTime,DetectableTrackID);GydF4y2Ba%分析并检索当前跟踪真相分配指标GydF4y2Batam(确认跟踪,truePoses);GydF4y2Ba%将分配度量存储在表中GydF4y2BacurrentAssignmentTable=trackMetricsTable(tam);行时间=秒(时间*个(大小(currentAssignmentTable,1),1));assignmentTable=cat(1,assignmentTable,table2timetable)(当前assignmentTable,GydF4y2Ba“划船时间”GydF4y2Ba,划船次数);GydF4y2Ba%使用检测、覆盖范围和轨迹更新显示GydF4y2Ba剧院显示器(detBuffer、covcon、confirmedTracks、assignmentTable、truePoses、sensPlatIDs);GydF4y2Ba%空缓冲区GydF4y2BadetBuffer={};sensorConfigBuffer=[];GydF4y2Ba%更新下一曲目更新时间GydF4y2BanextTrackUpdateTime=nextTrackUpdateTime+1/TrackUpdateTime;GydF4y2Ba终止GydF4y2Ba终止GydF4y2Ba

图中包含两个轴对象。轴对象1包含20个面片、线、文本类型的对象。这些对象表示地面、平台1、探测1、平台2、探测2、平台3、探测3、目标、轨迹(历史)。轴对象2和标题平台跟踪指定包含19个类型为line、text的对象。GydF4y2Ba

在场景结束时,您会看到多个轨迹已被删除和替换。您还可以看到场景期间轨迹与平台的关联。在该场景中,该图有七行用于七个平台。每条轨迹显示为一条水平线。轨迹编号标注在直线的开头。无论何时删除轨迹,其线都会停止。每当将新轨迹指定给平台时,都会将新线添加到平台的行中,当一个平台同时显示多条线时,平台会为其指定多条轨迹。在这些情况下,与平台关联的较新轨道被视为GydF4y2Ba冗余的GydF4y2Ba.GydF4y2Ba

endTime=assignmentTable.Time(结束);assignmentTable(结束){GydF4y2Ba“TrackID”GydF4y2Ba,GydF4y2Ba“指定的露丝”GydF4y2Ba,GydF4y2Ba“总长度”GydF4y2Ba,GydF4y2Ba“发散计数”GydF4y2Ba,GydF4y2Ba“冗余计数”GydF4y2Ba,GydF4y2Ba“冗余长度”GydF4y2Ba})GydF4y2Ba
ans=GydF4y2Ba9×6时刻表GydF4y2Ba时间追踪,时间追踪,时间追踪,时间分配,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间,时间追踪,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,总计,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌第60节41 3 10 0 0 0GydF4y2Ba

请注意,难以维护轨道的平台(平台4和平台7)也是距离雷达最远的平台。这种较差的跟踪性能归因于测量噪声的高斯分布假设。该假设适用于短距离目标,但在长距离,测量不确定度偏离高斯分布。下图比较了与实际目标分布和雷达传感器给出的目标分布相对应的1西格玛协方差椭圆。传感器距离目标5公里,角度分辨率为5度。实际测量不确定度为凹形,这是由球形传感器检测坐标系造成的,雷达在该坐标系中估计目标的位置。GydF4y2Ba

maxCondNum=300;图形helperPlotLongRangeCorrection(maxCondNum)GydF4y2Ba

图中包含一个轴对象。标题为“长期协方差”的轴对象包含3个line类型的对象。这些对象表示报告的协方差、实际协方差、校正的协方差。GydF4y2Ba

为了解释长距离实际协方差的凹面形状GydF4y2Ba远程校正GydF4y2Ba万博1manbetx支持函数约束报告的测量噪声的条件数。上面所示的校正测量协方差被约束为最大条件数300。换句话说,测量协方差中的特征值不能小于协方差最大特征值的300倍。此处理扩展测量噪声沿距离标注,以更好地匹配实际测量不确定度的凹度。GydF4y2Ba

模拟远程协方差校正GydF4y2Ba

使用GydF4y2Ba远程校正GydF4y2Ba万博1manbetx支持在长范围内校正报告的测量噪声的功能。GydF4y2Ba

[确认跟踪,修正分配表,CTHEATER显示]=GydF4y2Ba...GydF4y2Ba运行MultiplatfusionSim(记录、跟踪器、@longRangeCorrection);GydF4y2Ba

图中包含两个轴对象。轴对象1包含20个面片、线、文本类型的对象。这些对象表示地面、平台1、探测1、平台2、探测2、平台3、探测3、目标、轨迹(历史)。轴对象2和标题平台跟踪指定包含15个类型为line、text的对象。GydF4y2Ba

endTime=已更正的分配表。时间(结束);已更正的分配表(结束时间{GydF4y2Ba“TrackID”GydF4y2Ba,GydF4y2Ba“指定的露丝”GydF4y2Ba,GydF4y2Ba“总长度”GydF4y2Ba,GydF4y2Ba“发散计数”GydF4y2Ba,GydF4y2Ba“冗余计数”GydF4y2Ba,GydF4y2Ba“冗余长度”GydF4y2Ba})GydF4y2Ba
ans=GydF4y2Ba7×6时刻表GydF4y2Ba时间追踪,时间追踪,时间追踪,时间分配,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间追踪,时间,时间追踪,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,总计,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,时间,乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌GydF4y2Ba

上图显示,通过应用远程校正,在整个场景中不会产生轨迹下降或多条轨迹。在这种情况下,监控网络检测到的每个平台只有一条轨迹。GydF4y2Ba

allDetections=vertcat(recording.RecordedData.Detections);ctheaterDisplay(allDetections,covcon,confirmedTracks,correctedAssignmentTable,truePoses,SensPlatId)轴(ctheaterDisplay.TheaterPlot.Parent)图例(GydF4y2Ba“关”GydF4y2Ba)xlim([-1000 5000]);ylim([-41000-36000]);兹利姆([-50000]);视图([-90])轴GydF4y2Ba广场GydF4y2Ba头衔(GydF4y2Ba“喷射执行水平转弯”GydF4y2Ba)GydF4y2Ba

图中包含两个轴对象。轴对象1(带有标题平台跟踪指定)包含15个类型为line、text的对象。标题为“水平旋转”的轴对象2包含20个面片、线条和文本类型的对象。这些对象表示地面、平台1、探测1、平台2、探测2、平台3、探测3、目标、轨迹(历史)。GydF4y2Ba

放大喷气机执行水平转弯的视图,轨迹相对较好地跟踪机动目标,即使本例中使用的运动模型是恒定速度。通过使用交互式多模型(IMM)过滤器(如GydF4y2Ba跟踪IMMGydF4y2Ba滤器GydF4y2Ba

视图([-60-25])GydF4y2Ba

图中包含两个轴对象。轴对象1(带有标题平台跟踪指定)包含15个类型为line、text的对象。标题为“水平旋转”的轴对象2包含20个面片、线条和文本类型的对象。这些对象表示地面、平台1、探测1、平台2、探测2、平台3、探测3、目标、轨迹(历史)。GydF4y2Ba

从喷气机执行水平转弯的另一个视图中,您可以看到,尽管传感器的高度测量不准确,但高度估计是正确的。从大型垂直椭球体可以看出,其中一个传感器根本不报告高度,而另外两个传感器低估了高度的不确定性。GydF4y2Ba

xlim([-25000-9000]);ylim([-31000-19000]);zlim([-9000-2000]);视图([-45-10])标题(GydF4y2Ba“交叉航班”GydF4y2Ba)GydF4y2Ba

图中包含2个轴对象。带有标题平台至轨道分配的轴对象1包含15个类型为line、text的对象。带有标题交叉航班的轴对象2包含20个类型为patch、line、text的对象。这些对象表示地面、平台1、探测1、平台2、探测2、平台3、探测3、目标、轨道、,(历史)。GydF4y2Ba

将视角切换到交叉航班上,同样的不准确高度测量也被描绘出来。请注意,红色探测如何集中在8公里的高度,而两架飞机分别在3公里和4公里的高度飞行。高度中使用非常大的协方差允许跟踪器忽略错误高度从红色探测中读取高度,并使用其他两台雷达跟踪高度。观察轨道T07和T08的不确定度协方差,您可以看到它们分别提供平台P04和P05的一致估计。GydF4y2Ba

xlim([-10000]);ylim([-010000]);zlim([-12000-5000]);视图([-1510])标题(GydF4y2Ba“机载雷达平台”GydF4y2Ba)GydF4y2Ba

图中包含2个轴对象。带有标题平台至轨道分配的轴对象1包含15个类型为line、text的对象。带有标题机载雷达平台的轴对象2包含20个类型为patch、line、text的对象。这些对象表示地面、平台1、探测1、平台2、探测2、平台3、探测3、目标、轨道、,(历史)。GydF4y2Ba

最后一个图集中在两个机载雷达平台上。每个平台都被另一个平台以及地面雷达探测到。平台轨迹相互交叉,高度相隔1000米,其轨迹与地面真相一致。GydF4y2Ba

总结GydF4y2Ba

此示例显示了如何在中央跟踪器中处理跨多个机载和陆基雷达平台收集的检测。在本示例中,您了解了如何用高斯分布精确模拟远程测量噪声。这些远程测量噪声的1-sigma椭圆的凹度会导致在跟踪性能较差的情况下,丢失的轨迹和分配给单个平台的多个轨迹。您还学习了如何校正远距离检测的测量噪声,以改善报告轨迹的连续性。GydF4y2Ba

万博1manbetx辅助功能GydF4y2Ba

初始化过滤器GydF4y2Ba此函数修改函数GydF4y2BainitcvekfGydF4y2Ba处理更高速度的目标,如场景中的客机。GydF4y2Ba

作用GydF4y2Bafilter=initFilter(检测)filter=initcvekf(检测);classToUse=class(filter.StateCovariance);GydF4y2Ba%客机可以以900公里/小时左右的速度飞行。速度已初始化GydF4y2Ba%到0,但需要能够快速适应飞机以GydF4y2Ba%这些速度。使用900 km/h作为速度的1个标准偏差GydF4y2Ba%噪音。GydF4y2Baspd=900*1e3/3600;GydF4y2Ba%米/秒GydF4y2BavelCov=cast(spd^2,classToUse);cov=filter.StateCovariance;cov(2,2)=velCov;cov(4,4)=velCov;filter.StateCovariance=cov;GydF4y2Ba%设置过滤器的过程噪声,以允许一些水平机动GydF4y2BascaleAccel=cast(10,classToUse);Q=blkdiag(scaleAccel^2,scaleAccel^2,1);filter.ProcessNoise=Q;GydF4y2Ba终止GydF4y2Ba

可探测轨道GydF4y2Ba此函数用于返回至少位于一个传感器视野内的轨迹的ID。传感器相对于轨道坐标系的视野和方向存储在传感器配置结构阵列中。配置结构由雷达传感器返回,可用于将航迹位置和速度转换为传感器的坐标系。GydF4y2Ba

作用GydF4y2BaTrackID=可检测轨道(轨道、预测轨道、配置)GydF4y2Ba%识别哪些轨迹落在传感器的视野内GydF4y2BanumTrks=大小(轨迹,1);[numsteps,numSensors]=大小(配置);allposTrack=零(3,numsteps);isDetectable=假(numTrks,1);GydF4y2Ba对于GydF4y2BaiTrk=1:numTrksGydF4y2Ba%在当前位置和预测位置之间插值轨迹位置GydF4y2Ba%每个模拟步骤的位置GydF4y2BaposTrack=轨道(iTrk).状态(1:2:结束);posPreditedTrack=predictedtrack(iTrk).状态(1:2:end);GydF4y2Ba对于GydF4y2BaiPos=1:3 allposTrack(iPos,:)=linspace(posTrack(iPos)、posPreditedTrack(iPos)、numsteps);GydF4y2Ba终止GydF4y2Ba对于GydF4y2BaiSensor=1:numSensors thisConfig=configs(:,iSensor);GydF4y2Ba对于GydF4y2Bak=1:numstepsGydF4y2Ba如果GydF4y2BathisConfig(k).IsValidTime pos=跟踪传感器(allposTrack(:,k),thisConfig(k));GydF4y2Ba%检查预测的轨道位置是否在传感器字段中GydF4y2Ba%看法GydF4y2Ba[az,el]=cart2sph(位置(1)、位置(2)、位置(3));az=az*180/pi;el=el*180/pi;inFov=abs(az)如果GydF4y2BainFov是可检测的(iTrk)=inFov;k=numsteps;GydF4y2Ba%#正常GydF4y2BaiSensor=numSensors;GydF4y2Ba%#正常GydF4y2Ba终止GydF4y2Ba终止GydF4y2Ba终止GydF4y2Ba终止GydF4y2Ba终止GydF4y2BaTrackID=[tracks.TrackID]';TrackID=TrackID(可检测);GydF4y2Ba终止GydF4y2Ba

跟踪传感器GydF4y2Ba此函数用于返回轨迹在传感器坐标系中的位置。轨道结构由GydF4y2Ba跟踪器GydF4y2Ba对象,雷达对象返回定义传感器相对于轨道坐标帧的方向的配置结构。GydF4y2Ba

作用GydF4y2Bapos=跟踪传感器(pos,配置)帧=配置测量参数;GydF4y2Ba对于GydF4y2Bam=numel(帧):-1:1旋转垫=帧(m)。方向;GydF4y2Ba如果GydF4y2Ba~frames(m)。IsParentToChild rotmat=rotmat';GydF4y2Ba终止GydF4y2Ba偏移量=帧(m).初始位置;位置=bsxfun(@减号,位置,偏移量);位置=旋转垫*位置;GydF4y2Ba终止GydF4y2Ba终止GydF4y2Ba

远程校正GydF4y2Ba此功能限制雷达报告的测量噪声精度不超过最大条件数。条件数定义为测量噪声的特征值与最大特征值的比率。GydF4y2Ba

当从雷达远距离检测到目标时,测量不确定度的表面曲率不再由椭球很好地近似,而是呈现为凹椭球的表面曲率。测量噪声必须沿距离尺寸增加,以考虑凹度,从而产生一个平面椭圆,其中包含凹椭球。文献中有几种技术可以解决这一问题。在这里,通过增加最小特征值来限制测量噪声的最大条件数,以满足最大条件数约束。这会增加沿范围尺寸的不确定度,产生一个更好地封闭凹面不确定性。GydF4y2Ba

作用GydF4y2Badets=长范围校正(dets,最大秒)GydF4y2Ba对于GydF4y2Bam=1:numel(dets)R=dets{m}.MeasurementNoise;[Q,D]=eig(R);Q=真实(Q);d=实(diag(d));dMax=最大值(d);condNums=dMax./d;iFix=condNums>maxCond;d(iFix)=dMax/maxCond;R=Q*diag(d)*Q';dets{m}.MeasurementNoise=R;GydF4y2Ba终止GydF4y2Ba终止GydF4y2Ba