一种适用于场面监视雷达的目标凝聚方法及装置的制造方法

文档序号:10723173阅读:242来源:国知局
一种适用于场面监视雷达的目标凝聚方法及装置的制造方法
【专利摘要】本发明涉及雷达数据处理技术,尤其是涉及一种适用于场面监视雷达的目标凝聚方法及装置。本发明针对现有技术存在的问题,提供一种目标凝聚方法及装置。以雷达所在位置为系统中心点,雷达威力范围为边界,将管制空间投影为一个直角坐标系平面。首先按一个方向的坐标值将原始点迹集分配到相应的空间单元里,再依次对空间单元进行凝聚处理,得到该方向上的聚类结果,在此基础上,对第一次的聚类结果再进行另一个方向的凝聚处理,便得到了最终的凝聚结果。由于该算法一次凝聚只对一维方向进行线性扫描,优于传统的考虑两个维度的算法,故而称为降维算法。另外,由于不用计算任意两点间的距离,它的算法时间复杂度是线性的,因此效率很高。
【专利说明】
一种适用于场面监视雷达的目标凝聚方法及装置
技术领域
[0001]本发明涉及雷达数据处理技术,尤其是涉及一种适用于场面监视雷达的目标凝聚方法及装置。
【背景技术】
[0002]场面监视雷达用来监视机场地面交通状况,以实现对地面航空器和机动车辆的调度,出现危险情况时能及时发出警报。场面监视雷达的功能决定了它的高精度和实时性。距离分辨率达3米,方位分辨率小于等于0.6°,周期是I秒。雷达扫描飞机、汽车等目标时,录取的目标原始点迹通常存在多个,不同目标的原始点迹数据与虚警混在一起,目标点迹凝聚处理就是把原始点迹数据进行归类,把同一目标产生的点迹数据划为一个集合再进行凝聚处理产生唯一的目标点迹,并剔除杂波残余、干扰或无关紧要的目标引起的点迹,以便后续的航迹处理。场面监视雷达的数据处理流程图如图1所示;
目标凝聚的本质是对雷达扫描视频点进行归类,将属于同一个目标的数据划为一个集合。常用的方法有聚类算法、连通区域标记算法等。
[0003]聚类分析是通过将有限未标记数据集分成有限离散“自然”数据集来发现数据的结构信息,是统计模式分类中无监督分类的一个重要分支。聚类分析是按照某个特定标准把一个数据集分成若干个不同的子类,使得在同一类内的样本相似性尽可能的大,不同类的样本差异性也尽可能的大。场面监视雷达系统对实时性的要求高。K-均值聚类、模糊聚类,虽然这些聚类算法的聚类效果比较好,但由于需要迭代,计算量很大。
[0004]目标凝聚问题还可以转化为二值图像的连通区域标记问题。
[0005]二值图像指仅包含背景像素和目标像素的数字图像。对二值图像而言,紧邻的点即认为是连通的。二值图像连通区域标记指将图像中符合某种连通规则的目标像素点用相同的标号表不出来。
[0006]到目前为止,常用的连通区域标记方法主要有以下几类:
I)双向反复扫描法:第一次扫描时,将每个目标像素点标记为一个唯一的标号。然后,通过正向和反向扫描标号图像,并在每个像素的邻域内传播最小标号,直到没有标号变化时为止。
[0007]2)两次扫描法:第一次扫描时,将临时标号存储在一个与图像大小一样的二维数组中并形成等价对。扫描结束时,通过某种搜索方法合并等价标号;第二次扫描时,用等价标号中最小的标号值赋予所有等价标号对应的像素点。详细的算法描述是:首先对一幅二值图像从左到右、从上到下进行扫描。假如当前像素的灰度值为0,就移到下一个扫描位置。假如当前像素的灰度值为1,检查它左、左上、上、右上这4个相邻像素。如果上述4个相邻像素的灰度值都为0,就给当前像素一个新的标记值。如果4个相邻像素中只有一个像素P的灰度值为1,就把P像素的标记值赋给当前像素。如果4个相邻像素中有m(l〈m〈=4)个像素的灰度值为I,则按照左、左上、上、右上的优先顺序,确定当前像素的标记值。然后对这m个像素所拥有的标记值做等价对,并将其归入一个等价对数组中。第一次扫描结束后,所有灰度值为I的点都已经被标记过,但有些标记是等价的。整理等价对数组,把等价对整理为等价关系。进行第二次图像扫描,根据整理所得的等价关系来进行重新标记。第二次扫描结束后,所有灰度值为I的目标区域都被标记了不同的标记值。
[0008]3)区域增长法:依次扫描二值图像的每一个像素点。当找到某个未标记的目标像素点时,将其压入堆栈并从该点开始反复标记其区域,直到堆栈为空。详细的算法描述为:首先,对输入的二值图像施行逐行扫描,找到一个未标记区域的第一点,标记该点。检查该点的八邻域点并标记满足连通性要求的,且尚未被标记的点,同时将新增的标记点记录下来作为“区域增长”的种子点。在后续的标记过程中,不断地从记录种子点的数组中取出一个种子,施行上述操作,如此循环,直到记录种子点的数组为空。一个连通区域标记结束,接着再标记下一个未标记区域,直到输入二值图像的所有连通区域都被标记。
[0009]以上几种常用的连通区域标记算法的运行效率不高,双向反复扫描法由于扫描次数过多,导致时间效率不高;区域增长法不但对目标像素需要扫描多次,目标像素点的邻域比较次数也较多,而且需要较多的堆栈操作时间;两次扫描法对于阶梯形的连通区域由于等价对太多而效率很低。其次,这些算法严格地按照行列扫描,不能根据实际情况设置波门,灵活性不大。

【发明内容】

[0010]本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种适用于场面监视雷达的目标凝聚方法及装置。以雷达所在位置为系统中心点,雷达威力范围为边界,将管制空间投影为一个直角坐标系平面。然后将X轴从一个方向到相对的另一个方向分为若干个竖直带状空域,作为X方向凝聚的基本单元;再将Y轴从一个方向到相对的另一个方向分为若干效果个水平带状空域,作为Y方向凝聚的基本单元。凝聚处理时,首先将要处理的原始点迹集合投影到系统直角坐标系平面,再依次进行单方向的凝聚处理。首先按一个方向的坐标值将原始点迹集分配到相应的空间单元里,再依次对空间单元进行处理,得到该方向上的聚类结果,在此基础上,对第一次的聚类结果再进行另一个方向的凝聚处理(方法一致),便得到了最终的凝聚集合,最后将各个凝聚的点集合加权平均后输出,得到聚类结果。由于该算法一次凝聚只对一维方向进行线性扫描,优于传统的考虑两个维度的算法,故而称为降维算法。另外,由于不用计算任意两点间的距离,它的算法时间复杂度是线性的,因此效率很高。
[0011]本发明采用的技术方案如下:
一种适用于场面监视雷达的目标凝聚方法包括:
步骤1:以雷达所在位置为系统中心点,雷达威力范围(-MaxRange?MaxRange )为边界,X方向门限值XThreshold为X方向基本单位,Y方向门限值YThreshold为方向基本单元,将管制空间投影为一个直角坐标系平面;将管制空间沿X轴从一个方向到相对的另一个方向划分为2N个竖直带状空域带,作为X方向凝聚的基本单元,其中N=MaxRange/Xthreshold;再将管制空间沿Y轴从一个方向到相对的另一个方向划分为2M个水平带状空域带,作为Y方向凝聚的基本单元,其中M=MaxRange/Ythreshold ;
步骤2:获得当前时刻雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合,执行步骤3或步骤6再依次进行单方向的凝聚处理,得到凝聚后的点迹; 步骤3:将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行X方向凝聚,获得X方向凝聚点迹集合PointSet;每个凝聚点迹集合PointSet以索引index为键值,存储在X方向的凝聚原始点迹集合RawPointSets; index为点集所属X方向空域带索引号;
步骤4:从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,对其进行Y方向凝聚处理,所述Y方向凝聚处理与X方向凝聚处理方法相同;
对OnePointSet进行Y方向的凝聚处理后,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,执行步骤5,否则,从RawPointSets中删除该点迹集合OnePointSet,执行步骤4;
步骤5:遍历LastPointSets中的原始点迹集合,计算各集合的质心点,S卩加权平均值,便得到凝聚后的点迹;
步骤6:将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行先进行Y方向凝聚,获得Y方向凝聚点迹集合PointSet;每个凝聚点迹集合Po intSet以索引index为键值,存储在Y方向的凝聚原始点迹集合RawPointSets; index为点集所属Y方向空域带索引号;
步骤7:从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,对其进行X方向凝聚处理,所述X方向凝聚处理与Y方向凝聚处理方法相同;
对OnePointSet进行X方向的凝聚处理后,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,执行步骤8,否则,从RawPointSets中删除该点迹集合OnePointSet,执行步骤7 ;
步骤8:遍历LastPointSets中的原始点迹集合,计算各集合的质心点,即加权平均值,便得到凝聚后的点迹。
[0012]进一步的,所述步骤2中获得当前时刻雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合具体过程是:
步骤21:获得当前时刻雷达原始点迹作为输入;
步骤22:对当前时刻原始点迹进行X方向的凝聚,获得X方向归并点迹集合PointSet,每个点迹集合以X方向索引index为键值,存储在RawPointSets中;
步骤23:获取X方向凝聚后的原始点迹集合RawPointSets ;
步骤24:从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的凝聚处理;所述Y方向凝聚处理与X方向凝聚处理方法相同;
步骤25:对OnePointSet进行Y方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets;
步骤26:判断RawPointSets的点迹集合是否已经处理完,若RawPointSets处理完毕,贝丨J执行步骤27,否则,执行步骤24;
步骤27:获得归并后的集合LastPointSets;遍历LastPointSets中的原始点迹集合;若该点迹集合中的点迹个数大于门限值iDensity,则将该点迹集合中的点迹加入待凝聚点迹集合;否则,删除该点迹集合。
[0013]进一步的,所述步骤3中对待凝聚原始点迹数据进行X方向凝聚,具体过程是:
步骤31:清空Al IAarrayMap,获取当前时刻的待凝聚所有原始点迹points并存入数据缓存,得到无序的待凝聚的所有原始点迹P ο i n t s; A11 Aarr ayMap指的是所有点迹集合的映射关系;
步骤32:取points中一个待凝聚原始点迹的point,根据point的极坐标计算笛卡尔坐标,以此便将待凝聚所有原始点迹points投影到直角坐标系平面;根据point的X坐标point.X计算point所属空域带,index=point.x/XThreshold+1 ;
步骤33:将point存入空域带对应的点迹集合pointArray[index],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray[ index]为值,建立点迹集合的映射关系AlIAarrayMap[index,pointArray[index]];Spoint不是所有原始点迹points中的最后一个点迹,贝1J从points中删除point,执行步骤32;
步骤34:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合;
步骤35:依次遍历keys,取一个键值index和index的下一个健值next;根据index、next分别取出与其对应的点迹集合po int Array [ index ]、点迹集合po int Array [next];
步骤 36:若 pointArray [next].Xmin -pointArray [ index].Xmax〈Xthreshold,贝丨J 执行步骤37,否则 index=next,执行步骤35;其中 pointArray [ index].Xmax与point Array[inext].Xmin 分别是 pointArray [index]中点迹 X 坐标最大值和pointArray [next]中点迹 X坐标值最小值;
步骤37:将pointArray [next ]中的点迹并入pointArray [ index]中,并且更新pointArray [ index].Ymax=po int Array [ next ].Ymax,在 AllAarrayMap 中删除next 对应的存储记录;其中point Array [ index].Ymax为point Array [ index]中点迹Y坐标最大值,pointArray [next].Ymax 为pointArray [next]中点迹 Y坐标值最大值;
步骤38:若next到达key s的最大值,则执行步骤310,否则执行步骤39 ;
步骤39:next=next+l,跳转到步骤36;
步骤310:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入RawPointSets0
[0014]进一步的,所述步骤4对待凝聚原始点迹数据进行Y方向凝聚,具体过程是:
步骤41:清空Al IAarrayMap,从RawPo intSets 中取一个点迹集合 OnePo intSet;AI IAarrayMap指的是所有点迹集合的映射关系;
步骤42:取OnePointSet中一个待凝聚原始点迹的point,根据point的Y坐标point, y计算point所属空域带,index=point.Y/Threshold+1 ;
步骤43:将point存入空域带对应的点迹集合pointArray[index],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray[ index]为值,建立点迹集合的映射关系AlIAarrayMap[index,pointArray[index]];若point不是OnePointSet的最后一个点迹,则从OnePointSet删除point,执行步骤42 ;
步骤44:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合;
步骤45:依次遍历keys,取一个键值index和index的下一个健值next;根据index、next分别取出与其对应的点迹集合PO int Array [ index ]、点迹集合po int Array [next];
步骤 46:若 pointArray [next].Ymin- pointArray [ index].Ymax〈Ythreshold,贝丨J 执行步骤47,否则,index=next,执行步骤45 ;其中 pointArray [ index].Ymax 与 point Array[next].Ymin 分别是 pointArray [index]中点迹Y坐标最大值和pointArray [next]中点迹Y坐标值最小值;
步骤47:将pointArray [next ]中的点迹并入pointArray [ index]中,并且更新pointArray [ index].Ymax=po int Array [ next ].Ymax,在 AllAarrayMap 中删除next 对应的存储记录(其中po int Array [ index].Ymax为point Array [ index]中点迹Y坐标最大值,pointArray [next].Ymax 为pointArray [next]中点迹 Y坐标值最大值);
步骤48:若next到达key s的最大值,则执行步骤410,否则执行步骤49 ;
步骤49:next=next+l,跳转到步骤46;
步骤410:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入LastPointSets;
步骤411:判断OnePointSet是否已经是凝聚原始点迹集合RawPointSets的最后一个点迹集合,若是,则凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,执行步骤5,否贝丨J,从RawPointSets中删除OnePointSet,执行步骤41。
[0015]进一步的,所述步骤5中遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的点,具体过程:
步骤51:获得凝聚后的原始点迹集合LastPointSets;
步骤52:遍历LastPointSets,获得一个原始点迹集合PointSet ;
步骤53:计算PointSet中所有原始点迹的质心点pt,pt的坐标值计算公式为:pt的X轴坐标pt.X=Epoint.x/M,pt.y= Σ point.y/M,M为Po intSet中原始点迹个数,质心pt的坐标便是凝聚后的点迹坐标,将Pt存入输出点迹缓存MergedPointList ;
步骤54:若LastPointSets已经遍历完,则结束,MergedPointLi st便是凝聚后的点迹集合,否则执行步骤52。
[0016]—种适用于场面监视雷达的目标凝聚装置包括:
直角坐标系平面建立1?块:以雷达所在位置为系统中七、点,雷达威力沮围(_MaxRange?MaxRange)为边界,X方向门限值XThreshoId为X方向基本单位,Y方向门限值YThreshold为Y方向基本单元,将管制空间投影为一个直角坐标系平面;将管制空间沿X轴从一个方向到相对的另一个方向划分为2N个竖直带状空域带,作为X方向凝聚的基本单元,其中N =MaxRange/Xthreshold;再将管制空间沿Y轴从一个方向到相对的另一个方向划分为2M个水平带状空域带,作为Y方向凝聚的基本单元,其中M=MaxRange/Ythreshold。
[0017]滤波处理及投影模块:用于获得当前时刻雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合,然后通过X-Y凝聚模块或Y-X凝聚模块处理再依次进行单方向的凝聚处理,得到凝聚后的点迹;
X-Y凝聚模块:用于将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行X方向凝聚,获得X方向凝聚点迹集合PointSet;每个凝聚点迹集合PointSet以索弓I index为键值,存储在X方向的凝聚原始点迹集合RawPointSets; index为点集所属X方向空域带索引号;从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向凝聚处理;所述Y方向凝聚处理与X方向凝聚处理方法相同;
然后对OnePointSet进行Y方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,则遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的原始点;否则,从RawPointSets中取一个点迹集合OnePo intSet,准备进行Y方向的凝聚处理。
[0018]Y-X凝聚模块:用于将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行Y方向凝聚,获得Y方向凝聚点迹集合PointSet;每个凝聚点迹集合PointSet以索引index为键值,存储在Y方向的凝聚原始点迹集合RawPointSets; index为点集所属Y方向空域带索引号;从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,准备进行X方向凝聚处理;所述X方向凝聚处理与Y方向凝聚处理方法相同;然后对OnePointSet进行X方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,则遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的原始点;否则,从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的凝聚处理。
[0019]进一步的,所述滤波处理及投影模块获得当前周期雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合,具体包括:
步骤71:获得当前时刻雷达原始点迹作为输入;
步骤72:对当前时刻原始点迹进行Y方向的凝聚,获得Y方向归并点迹集合PointSet,每个点迹集合以Y方向索引index为键值,存储在RawPointSets中;
步骤73:获取Y方向凝聚后的原始点迹集合RawPointSets ;
步骤74:从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的凝聚处理;所述X方向凝聚处理与Y方向凝聚处理方法相同;
步骤75:对OnePointSet进行X方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets;
步骤76:判断RawPointSets的点迹集合是否已经处理完,若RawPointSets处理完毕,贝丨J执行步骤77,否则,执行步骤74;
步骤77:获得归并后的集合LastPointSets;遍历LastPointSets中的原始点迹集合;若该点迹集合中的点迹个数大于门限值iDensity,则将该点迹集合中的点迹加入待凝聚点迹集合;否则,删除该点迹集合。
[0020]进一步的,所述步骤X-Y凝聚模块中对待凝聚原始点迹数据进行Y方向凝聚,具体过程是:
步骤81:清空Al IAarrayMap,获取当前时刻的待凝聚所有原始点迹points并存入数据缓存,得到无序的待凝聚的所有原始点迹P ο i n t s; A11 Aarr ayMap指的是所有点迹集合的映射关系;
步骤82:取points中一个待凝聚原始点迹的point,根据point的极坐标计算笛卡尔坐标,以此便将待凝聚所有原始点迹points投影到直角坐标系平面;根据point的Y坐标point.y 计算 point 所属空域带,index=point.y/YThreshold+1 ; 步骤83:将point存入空域带对应的点迹集合pointArray[index],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray [index]为值,建立点迹集合的映射关系AlIAarrayMap[index,pointArray[index]];Spoint不是所有原始点迹points中的最后一个点迹,则从points中删除point,执行步骤82 ;
步骤84:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合;
步骤85:依次遍历keys,取一个键值index和index的下一个健值next;根据index、next分别取出与其对应的点迹集合口0:1的八1'作7[;!_11(161]、点迹集合。0;!_的八1'作7[1^1幻;
步骤 86:若 pointArray [next].Ymin -pointArray [ index].Ymax〈Ythreshold,贝丨J 执行步骤8 7,否则 index=next,执行步骤85 ;其中 pointArray [ index].Ymax与point Array[inext].Ymin 分别是 pointArray [ index]中点迹 Y坐标最大值和pointArray [next ]中点迹 Y坐标值最小值;
步骤87:将pointArray [next]中的点迹并入pointArray [ index]中,并且更新pointArray [index].Ymax=pointArray[next].Ymax,在AllAarrayMap中删除next对应的存储记录(其中po int Array [ index].Ymax为point Array [ index]中点迹Y坐标最大值,pointArray [next].Ymax 为pointArray [next]中点迹 Y坐标值最大值);
步骤88:若next到达key s的最大值,则执行步骤810,否则执行步骤89 ;
步骤89: next=next+l,跳转到步骤36;
步骤810:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入RawPointSets ο
[0021 ]进一步的,所述X-Y凝聚模块对待凝聚原始点迹数据进行X方向凝聚,具体过程是:步骤91:清空Al IAarrayMap,从 RawPo intSets 中取一个点迹集合 One Po intSet;Al IAarrayMap指的是所有点迹集合的映射关系;
步骤92:取OnePointSet中一个待凝聚原始点迹的point,根据point的X坐标point.X计算point所属空域带,index=point.x/XThreshold+1 ;
步骤93:将point存入空域带对应的点迹集合pointArray[index],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray [index]为值,建立点迹集合的映射关系 Al I AarrayMap [index ,pointArray [index]]; Spoint 不是 OnePo intSet 中的最后一个点迹,贝1J从OnePointSet中删除point,执行步骤92;
步骤94:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合;
步骤95:依次遍历keys,取一个键值index和index的下一个健值next;根据index、next分别取出与其对应的点迹集合口0:1的八1'作7[;!_11(161]、点迹集合。0;!_的八1'作7[1^1幻;
步骤 96:若 pointArray [next].Xmin- pointArray [ index].Xmax〈Xthreshold,贝丨J 执行步骤 97,否则,index=next,执行步骤 9 5 ;其中 pointArray [ index].Xmax 与 point Array[next].Xmin 分别是 pointArray [index]中点迹X坐标最大值和pointArray [next]中点迹X坐标值最小值;
步骤97:将pointArray [next]中的点迹并入pointArray [ index]中,并且更新pointArray [index].Xmax=pointArray[next].Xmax,在AllAarrayMap中删除next对应的存储记录(其中po int Array [ index].Xmax为point Array [ index]中点迹X坐标最大值,pointArray [next].Xmax 为pointArray [next]中点迹 X 坐标值最大值);
步骤98:若next到达key s的最大值,则执行步骤910,否则执行步骤99 ;
步骤99:next=next+l,跳转到步骤96;
步骤910:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入LastPointSets;
步骤911:判断OnePointSet是否已经是凝聚原始点迹集合RawPointSets的最后一个点迹集合,若是,则凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,遍历L a s t P ο i n t S e t s中的原始点迹集合,计算质心,S卩加权平均值,得到凝聚后的点,否则,从RawPointSets中删除该点迹集合OnePointSet,执行步骤91。
[0022]进一步的,所述步骤X-YX-Y凝聚模块中遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的点,具体过程:
步骤101:获得凝聚后的原始点迹集合LastPointSets;
步骤102:遍历LastPointSets,获得一个原始点迹集合PointSet ;
步骤103:计算PointSet中所有原始点迹的质心点pt,pt的坐标值计算公式为:pt的X轴坐标pt.X=Epoint.x/M,pt.y= Σ point.y/M,M为Po intSet中原始点迹个数,质心pt的坐标便是凝聚后的点迹坐标,将Pt存入输出点迹缓存MergedPointList ;
步骤104:若LastPo intSets已经遍历完,则结束,MergedPointLi st便是凝聚后的点迹集合,否则执行步骤102。
[0023]综上所述,由于采用了上述技术方案,本发明的有益效果是:
以雷达所在位置为系统中心点,雷达威力范围为边界,将管制空间投影为一个直角坐标系平面。然后将X轴从一个方向到相对的另一个方向分为若干个竖直带状空域,作为X方向凝聚的基本单元;再将Y轴从一个方向到相对的另一个方向分为若干个水平带状空域,作为Y方向凝聚的基本单元。凝聚处理时,首先将要处理的原始点迹集合投影到系统直角坐标系平面,再依次进行单方向的凝聚处理。首先按一个方向的坐标值将原始点迹集分配到相应的空间单元里,再依次对空间单元进行处理,得到该方向上的聚类结果,在此基础上,对第一次的聚类结果再进行另一个方向的凝聚处理(方法一致),便得到了最终的凝聚集合,最后将各个凝聚的点集合加权平均后输出,得到聚类结果。由于该算法一次凝聚只对一维方向进行线性扫描,优于传统的考虑两个维度的算法,由于该算法一次凝聚只对一维方向进行线性扫描,优于传统的考虑两个维度的算法,故而称为降维算法。另外,由于不用计算任意两点间的距离,它的算法时间复杂度是线性的,因此效率很高。
【附图说明】
[0024]本发明将通过例子并参照附图的方式说明,其中:
图1是现有技术中场面监视雷达的数据处理流程图。
[0025]图2是本发明降维聚类算法示意图。
[0026]图3是本发明算法流程图。
[0027]图4是图3所示实施例步骤302对杂波过滤的流程图。
[0028]图5是图3所示实施例步骤303的X方向凝聚流程示意图。
[0029]图6a是X轴空域带划分示意图。
[0030]图6b是Y轴空域带划分示意图。
[0031 ]图7是图3所示实施例步骤309的示意图。
【具体实施方式】
[0032]本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0033]本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0034]场面监视雷达一般工作于边扫描边跟踪方式,观测的主要对象是机场的运动目标,如飞机和汽车,对这类目标的雷达回波进行检测并形成原始点迹,得到的不是一个而是一组点迹数据,点迹处理就是要对原始点迹数据进行滤除、归并和凝聚,获取表征目标物理位置参数的点迹凝聚估计值,要求一个目标只产生一个精确点迹。点迹数据处理的进一步要求为:抑制虚假点迹,提供目标距离、方位等参数的估值精度,并能有效地把目标点迹与杂波点迹区分开,为后续的航迹跟踪创造一个好的环境。
[0035]算法方案如下:以雷达所在位置为系统中心点,雷达威力范围为边界,将管制空间投影为一个直角坐标系平面。然后将X轴从一个方向到相对的另一个方向分为若干个竖直带状空域,作为X方向凝聚的基本单元;再将Y轴从一个方向到相对的另一个方向分为若干个水平带状空域,作为Y方向凝聚的基本单元。凝聚处理时,首先将要处理的原始点迹集合投影到系统直角坐标系平面,再依次进行单方向的凝聚处理。首先按一个方向的坐标值将原始点迹集分配到相应的空间单元里,再依次对空间单元进行处理,得到该方向上的聚类结果,在此基础上,对第一次的聚类结果再进行另一个方向的凝聚处理(方法一致),便得到了最终的凝聚集合,最后将各个凝聚的点集合加权平均后输出,得到聚类结果。由于该算法一次凝聚只对一维方向进行线性扫描,优于传统的考虑两个维度的算法,故而称为降维算法。另外,由于不用计算任意两点间的距离,它的算法时间复杂度是线性的,因此效率很高。流程图如图2所示。
[0036]步骤一、以雷达所在位置为系统中心点,雷达威力范围为边界,将管制空间投影为一个直角坐标系平面;
步骤二、将X轴从一个方向到相对的另一个方向分为若干个竖直带状空域,作为X方向凝聚的基本单元;
步骤三、再将Y轴从一个方向到相对的另一个方向分为若干个水平带状空域,作为Y方向凝聚的基本单元;
步骤四、获得当前周期雷达原始点迹数据,将要处理的原始点迹集合投影到系统直角坐标系平面,再依次进行单方向的凝聚处理,可以先X方向凝聚处理再Y方向凝聚处理,或先Y方向凝聚处理再X方向凝聚处理,下面以先X方向再Y方向的凝聚处理为例;
步骤五、横向排序:设置X方向的波门WaveThreshold _ X,以波门为标准尺寸将雷达扫描数据按X坐标分单元映射存储,序号和存储列表对应;将扫描数据按X坐标分成M个小单元,同时记录下每个小单元中X坐标的最小值和最大值; 步骤六、横向凝聚:在X方向上,比较相邻单元中的X (i)max和X (i +l)min值,若差值小于门限WaveThreshold _ X,则将后一个单元并入前一个单元,同时删除后一单元,完成横向凝聚;
步骤七、单元内纵向排序:设置y方向的波门大小WaveThreshold _Y,对横向上的每个单元Χ1,Χ2,……,ΧΜ分别在单元内进行纵向排序。例如,对Xl进行纵向排序后,根据y坐标将单元分成N个集合1Y1,1Y2,……,1ΥΝ,将单元内的点按规则映射到这些小集合。同时记录下每个小集合中y坐标的最小值和最大值;
步骤八、单元内纵向凝聚:在Y方向上,比较相邻单元的Y( j)max和Y( j +l)min值,若差值小于WaveThreshold _Y则将两单元合并,即将后一集合并入前一集合,同时删除后一集合,完成某个单元内纵向凝聚后,将集合内的点坐标进行加权平均,统计点个数,如果大于iDensity,则输出加权平均值,否则删除。输出的点进行后续的航迹处理;
步骤九、按照步骤八的方法,依次完成XI,X 2,……,XM的单元内纵向凝聚,最后当前周期雷达原始点迹数据的凝聚完成。
[0037]由于该算法一次凝聚只对一维方向进行线性扫描,优于传统的考虑两个维度的算法,故而称为降维算法。通过降维来减小运算复杂度,将二维运算转化为一维运算,其次,不用计算任意两点间的距离,因此它的算法时间复杂度是线性的,效率很高。
[0038]为了调试方便,可通过设置参数来调整算法的精度和速度,三个最重要的参数是:WaveThreshold _ X、WaveThresholdaWaveThreshold _ X 是横向排序和凝聚时的波门大小,WaveThreshold _Y是单元内纵向排序和凝聚时的波门大小,iDensity是输出点的密度门限。iDensity为O则输出所有点迹,iDensity可以认为是过滤杂波点的一个门限。仿真表明,在相同的运行环境下,使用常用的连通区域标记算法,每秒钟只能处理500多个目标(包括航迹处理等后续处理),使用降维聚类算法的目标处理能力可达数十万点/秒。
[0039]具体实施例:
图3为本发明提供的一种基于双向空域带划分进行快速目标凝聚的的降维聚类算法的实施例流程示意图,包括以下步骤:
步骤301:获得当前时刻待凝聚的原始点迹;
步骤302:杂波过滤,剔除杂波残余、干扰或无关紧要的目标引起的原始点迹;
步骤303:对待凝聚原始点迹进行X方向的凝聚,获得X方向各凝聚点迹集合,每个点迹集合PointSet以索引index(点集所属空域带号)为键值,存储在RawPointSets中;
步骤304:获取X方向凝聚后的原始点迹集合RawPo int Se t s ;
步骤305:从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的凝聚处理;
步骤306:对OnePointSet进行Y方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets;
步骤307:判断RawPointSets的点迹集合是否已经处理完,若是,则执行步骤308,否则,执行步骤305 ;
步骤308:遍历LastPointSets中的原始点迹集合,计算质心,也就是加权平均值,便得到了凝聚后的点。[0040 ]步骤309:输出凝聚后的点。
[0041]图4为图3所示实施例步骤302对杂波过滤的流程图。用于剔除杂波残余、干扰或无关紧要的目标引起的点迹,以免影响后续处理。杂波过滤的算法和点迹凝聚基本一致(详细算法步骤见后文),需要先对当前时刻的原始点迹进行归并,划分为一个个原始点迹集合,区别在于若某个原始点迹集合内的点迹个数小于门限值时,判为杂波,该集合内的原始点迹全被删除掉。杂波处理可根据需要设置杂波过滤需要的参数。
[0042]RawPointSets、OnePo intSet、LastPointSets均为算法中的临时变量,算法包括以下步骤:
步骤401:当前时刻待凝聚的原始点迹集合作为输入;
步骤4 O 2:对待凝聚原始点迹集合进行X方向的归并,获得X方向归并点迹集合PointSet,每个点迹集合以索引index(点集所属空域带号)为键值,存储在RawPointSets中;
步骤403:获取X方向归并后的原始点迹集合RawPointSets ;
步骤404:从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的归并处理;
步骤405:对OnePo intSet进行Y方向的归并处理,方法同步骤402,归并产生的点迹集合全部加入集合LastPointSets ;
步骤406:判断RawPointSets是否已经处理完,若是,则执行步骤407,否则,执行步骤404;;
步骤407:获得归并后的集合LastPointSets ;
步骤408:遍历LastPointSets中的原始点迹集合;
步骤409:若该点迹集合中的点迹个数大于门限值iDensity,则执行步骤410,否则,执行步骤411;
步骤410:将该点迹集合中的点迹加入待凝聚点迹集合;
步骤411:删除该点迹集合。
[0043]图5为图3所示实施例步骤303的流程示意图,对待凝聚原始点迹集合进行X方向的凝聚,Y方向凝聚处理流程相同。包括以下步骤:
步骤501:划分空域带,以雷达所在位置为中心,雷达有效探测范围(-MaxRange?MaxRange)为限,X方向门限值XThreshold为基本单位,将管制空间平面沿X轴划分为若干带状区域,区域数为21#1^?1^1^6/^111作81101(1,¥方向空域带划分类似,区域数为21,1=MaxRange/YThreshold,如图 6 所不;
步骤502:获取当前时刻待凝聚的原始点迹,存入数据缓存;
步骤503:坐标变换,取一个原始点迹point,根据它的极坐标计算笛卡尔坐标;
步骤504:根据point的X坐标计算point所属空域带,空域带索引号为index=point.x/XThreshold+I;
步骤505:将point存入空域带对应的点迹集合pointArray[index],若当前还没有该点迹集合,则新创建一个;
步骤506:以index为键,pointArray [ index]为值,建立点迹集合的映射关系Al IAarrayMap [ index,pointArray [ index]],计算 po int Array 中所有点迹的最小、最大 X 坐标xmin、xmax;
步骤507:取出AllAarrayMap的键值集合keys,以升序排列;
步骤508:依次遍历keys,取一个键值key和它的下一个键值next,分别取出它们对应的点迹集合X[key]、X[next];
步骤509:判断X[next].xmin-X[key].xmax是否小于门限值Xthreshold,若不是,执行步骤510,若是,执行步骤511;
步骤510: key=next,跳转到步骤508开始执行;
步骤511:将X[next]中的点迹并入X[key]中,并且更新X[key].xmax=X[next].xmax,在A11 Aar ray Map中删除n e X t对应的存储记录;
步骤512:若next到达keys的末尾,则执行步骤514;
步骤513:next=next+l,跳转到步骤509执行;
步骤514:按键值升序,将Al IAarrayMap中的点迹集合存入RawPointSets。
[0044]图7为图3所示实施例步骤308的流程示意图,将判断为同一目标的原始点迹合并为一个点迹,包括以下步骤:
步骤701:获得凝聚后的原始点迹集合LastPointSets;
步骤702:遍历LastPointSets,获得一个原始点迹集合PointSet ;
步骤703:计算Po intSet中原始点迹的质心点pt,pt的坐标值计算公式为:pt.χ= Σpoint.x/N,pt.y= Epoint.y/N,N为PointSet中原始点迹个数,pt的坐标便是凝聚后的点迹坐标,将Pt存入输出点迹缓存MergedPointList ;
步骤704:若LastPointSets已经遍历完,则结束,否则执行步骤702 ;
本发明并不局限于前述的【具体实施方式】。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
【主权项】
1.一种适用于场面监视雷达的目标凝聚方法,其特征在于包括: 步骤I:以雷达所在位置为系统中心点,雷达威力范围(-MaxRange?MaxRange)为边界,X方向门限值XThreshold为X方向基本单位,Y方向门限值YThreshold为方向基本单元,将管制空间投影为一个直角坐标系平面;将管制空间沿X轴从一个方向到相对的另一个方向划分为2N个竖直带状空域带,作为X方向凝聚的基本单元,其中N=MaxRange/Xthreshold;再将管制空间沿Y轴从一个方向到相对的另一个方向划分为2M个水平带状空域带,作为Y方向凝聚的基本单元,其中M=MaxRange/Ythreshold ; 步骤2:获得当前时刻雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合,执行步骤3或步骤6再依次进行单方向的凝聚处理,得到凝聚后的点迹; 步骤3:将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行X方向凝聚,获得X方向凝聚点迹集合PointSet;每个凝聚点迹集合PointSet以索引index为键值,存储在X方向的凝聚原始点迹集合RawPointSets; index为点集所属X方向空域带索引号; 步骤4:从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,对其进行Y方向凝聚处理,所述Y方向凝聚处理与X方向凝聚处理方法相同; 对OnePointSet进行Y方向的凝聚处理后,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,执行步骤5,否则,从RawPointSets中删除该点迹集合OnePointSet,执行步骤4; 步骤5:遍历LastPointSets中的原始点迹集合,计算各集合的质心点,即加权平均值,便得到凝聚后的点迹; 步骤6:将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行先进行Y方向凝聚,获得Y方向凝聚点迹集合PointSet;每个凝聚点迹集合PointSet以索引index为键值,存储在Y方向的凝聚原始点迹集合RawPointSets; index为点集所属Y方向空域带索引号; 步骤7:从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,对其进行X方向凝聚处理,所述X方向凝聚处理与Y方向凝聚处理方法相同; 对OnePointSet进行X方向的凝聚处理后,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,执行步骤8,否则,从RawPointSets中删除该点迹集合OnePointSet,执行步骤7 ; 步骤8:遍历LastPointSets中的原始点迹集合,计算各集合的质心点,即加权平均值,便得到凝聚后的点迹。2.根据权利要求1所述的一种适用于场面监视雷达的目标凝聚方法,其特征在于所述步骤2中获得当前时刻雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合具体过程是: 步骤21:获得当前时刻雷达原始点迹作为输入; 步骤22:对当前时刻原始点迹进行X方向的凝聚,获得X方向归并点迹集合PointSet,每个点迹集合以X方向索引index为键值,存储在RawPointSets中; 步骤23:获取X方向凝聚后的原始点迹集合RawPointSets ; 步骤24:从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的凝聚处理;所述Y方向凝聚处理与X方向凝聚处理方法相同; 步骤25:对OnePointSet进行Y方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets; 步骤26:判断RawPointSets的点迹集合是否已经处理完,若RawPointSets处理完毕,贝Ij执行步骤27,否则,执行步骤24; 步骤27:获得归并后的集合LastPointSets;遍历LastPointSets中的原始点迹集合;若该点迹集合中的点迹个数大于门限值iDensity,则将该点迹集合中的点迹加入待凝聚点迹集合;否则,删除该点迹集合。3.根据权利要求1所述的一种适用于场面监视雷达的目标凝聚方法,其特征在于所述步骤3中对待凝聚原始点迹数据进行X方向凝聚,具体过程是: 步骤31:清空Al IAarrayMap,获取当前时刻的待凝聚所有原始点迹points并存入数据缓存,得到无序的待凝聚的所有原始点迹P ο i n t s; A11 Aarr ayMap指的是所有点迹集合的映射关系,以点迹所属空域带号index为键,位于该空域带的点迹集合为值; 步骤32:取points中一个待凝聚原始点迹的point,根据point的极坐标计算笛卡尔坐标,以此便将待凝聚所有原始点迹points投影到直角坐标系平面;根据point的X坐标point.X计算point所属空域带,index=point.x/XThreshold+1 ; 步骤33:将口0;[111:存入空域带对应的点迹集合口0;[1^41^^7[;[11(161],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray[ index]为值,建立点迹集合的映射关系AlIAarrayMap[index,pointArray[index]];Spoint不是所有原始点迹points中的最后一个点迹,贝1J从points中删除point,执行步骤32; 步骤34:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合; 步骤35:依次遍历key s,取一个键值index和index的下一个健值next ;根据index、next分别取出与其对应的点迹集合po int Array [ index ]、点迹集合po int Array [next]; 步骤 36:若 po int Array [next].Xmin -pointArray[ index].Xmax〈Xthreshold,贝丨J 执行步骤37,否则 index=next,执行步骤35;其中 point Array [ index].Xmax与point Array[inext].Xmin分别是pointArray[index]中点迹X坐标最大值和pointArray[next]中点迹X坐标值最小值; 步骤37:将pointArray [next]中的点迹并入pointArray [ index]中,并且更新po int Array [ index].Ymax=po int Array [ next ].Ymax,在 AllAarrayMap 中删除next 对应的存储记录;其中point Array [ index].Ymax为point Array [ index]中点迹Y坐标最大值,pointArray [next].Ymax 为pointArray [next]中点迹 Y坐标值最大值; 步骤38:若next到达keys的最大值,则执行步骤310,否则执行步骤39 ; 步骤39:next=next+l,跳转到步骤36; 步骤310:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入RawPointSets04.根据权利要求1所述的一种适用于场面监视雷达的目标凝聚方法,其特征在于所述步骤4对待凝聚原始点迹数据进行Y方向凝聚,具体过程是: 步骤41:清空AI IAarrayMap,从RawPo intSet s 中取一个点迹集合 OnePo intSet;AlIAarrayMap指的是所有点迹集合的映射关系,以点迹所属空域带号index为键,位于该空域带的点迹集合为值; 步骤42:取OnePointSet中一个待凝聚原始点迹的point,根据point的Y坐标point.y计算point所属空域带,index=point.y/YThreshold+1 ; 步骤43:将point存入空域带对应的点迹集合pointArray [index],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray[ index]为值,建立点迹集合的映射关系AlIAarrayMap[index,pointArray[index]];若point不是OnePointSet的最后一个点迹,则从OnePointSet删除point,执行步骤42 ; 步骤44:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合; 步骤45:依次遍历key s,取一个键值index和index的下一个健值next ;根据index、next分别取出与其对应的点迹集合po int Array [ index ]、点迹集合po int Array [next];步骤 46:若 po int Array [next].Ymin- pointArray [ index].Ymax〈Ythreshold,贝丨J 执行步骤47,否则,index=next,执行步骤45 ;其中 pointArray [ index].Ymax 与 point Array[next].Ymin 分别是 pointArray [index]中点迹Y坐标最大值和pointArray [next]中点迹Y坐标值最小值; 步骤47:将pointArray [next]中的点迹并入pointArray [ index]中,并且更新pointArray [ index].Ymax=po int Array [ next ].Ymax,在 AllAarrayMap 中删除next 对应的存储记录(其中po int Array [ index].Ymax为point Array [ index]中点迹Y坐标最大值,pointArray [next].Ymax 为pointArray [next]中点迹 Y坐标值最大值); 步骤48:若next到达keys的最大值,则执行步骤410,否则执行步骤49 ; 步骤49:next=next+l,跳转到步骤46; 步骤410:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入LastPointSets; 步骤411:判断OnePointSet是否已经是凝聚原始点迹集合RawPointSets的最后一个点迹集合,若是,则凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,执行步骤5,否贝丨J,从RawPointSets中删除OnePointSet,执行步骤41。5.根据权利要求1所述的一种适用于场面监视雷达的目标凝聚方法,其特征在于所述步骤5中遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的点,具体过程: 步骤51:获得凝聚后的原始点迹集合LastPointSets ; 步骤52:遍历LastPointSets,获得一个原始点迹集合PointSet ; 步骤53:计算PointSet中所有原始点迹的质心点pt,pt的坐标值计算公式为:pt的X轴坐标pt.X=Epoint.x/M,pt.y= Σ point.y/M,M为Po intSet中原始点迹个数,质心pt的坐标便是凝聚后的点迹坐标,将Pt存入输出点迹缓存MergedPointList ; 步骤54:若LastPointSets已经遍历完,则结束,MergedPointLi st便是凝聚后的点迹集合,否则执行步骤52。6.—种适用于场面监视雷达的目标凝聚装置,其特征在于包括: 直角坐标系平面建立1?块:以雷达所在位置为系统中七、点,雷达威力沮围(_MaxRange?MaxRange)为边界,X方向门限值XThreshoId为X方向基本单位,Y方向门限值YThreshold为Y方向基本单元,将管制空间投影为一个直角坐标系平面;将管制空间沿X轴从一个方向到相对的另一个方向划分为2N个竖直带状空域带,作为X方向凝聚的基本单元,其中N =MaxRange/Xthreshold;再将管制空间沿Y轴从一个方向到相对的另一个方向划分为2M个水平带状空域带,作为Y方向凝聚的基本单元,其中M=MaxRange/Ythreshold; 滤波处理及投影模块:用于获得当前时刻雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合,然后通过X-Y凝聚模块或Y-X凝聚模块处理再依次进行单方向的凝聚处理,得到凝聚后的点迹; X-Y凝聚模块:用于将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行X方向凝聚,获得X方向凝聚点迹集合PointSet;每个凝聚点迹集合PointSet以索弓I index为键值,存储在X方向的凝聚原始点迹集合RawPointSets; index为点集所属X方向空域带索引号;从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向凝聚处理;所述Y方向凝聚处理与X方向凝聚处理方法相同; 然后对OnePo intSet进行Y方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,则遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的原始点;否则,从RawPointSets中取一个点迹集合OnePo intSet,准备进行Y方向的凝聚处理; Y-X凝聚模块:用于将待凝聚原始点迹集合投影到直角坐标系平面,对待凝聚原始点迹集合进行Y方向凝聚,获得Y方向凝聚点迹集合PointSet;每个凝聚点迹集合PointSet以索弓I index为键值,存储在Y方向的凝聚原始点迹集合RawPointSets; index为点集所属Y方向空域带索引号;从凝聚原始点迹集合RawPointSets中取一个点迹集合OnePointSet,准备进行X方向凝聚处理;所述X方向凝聚处理与Y方向凝聚处理方法相同;然后对OnePointSet进行X方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets;判断凝聚原始点迹集合RawPointSets的点迹集合是否已经处理完,若凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,则遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的原始点;否则,从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的凝聚处理。7.根据权利要求6所述的一种适用于场面监视雷达的目标凝聚装置,其特征在于所述滤波处理及投影模块获得当前周期雷达原始点迹,进行杂波处理得到待凝聚原始点迹集合,具体包括: 步骤71:获得当前时刻雷达原始点迹作为输入; 步骤72:对当前时刻原始点迹进行Y方向的凝聚,获得Y方向归并点迹集合PointSet,每个点迹集合以Y方向索引index为键值,存储在RawPointSets中; 步骤73:获取Y方向凝聚后的原始点迹集合RawPointSets ; 步骤74:从RawPointSets中取一个点迹集合OnePointSet,准备进行Y方向的凝聚处理;所述X方向凝聚处理与Y方向凝聚处理方法相同; 步骤75:对OnePointSet进行X方向的凝聚处理,凝聚产生的点迹集合全部加入集合LastPointSets; 步骤76:判断RawPointSets的点迹集合是否已经处理完,若RawPointSets处理完毕,贝丨J执行步骤77,否则,执行步骤74; 步骤77:获得归并后的集合LastPointSets;遍历LastPointSets中的原始点迹集合;若该点迹集合中的点迹个数大于门限值iDensity,则将该点迹集合中的点迹加入待凝聚点迹集合;否则,删除该点迹集合。8.根据权利要求6所述的一种适用于场面监视雷达的目标凝聚方法,其特征在于所述步骤X-Y凝聚模块中对待凝聚原始点迹数据进行Y方向凝聚,具体过程是: 步骤81:清空Al IAarrayMap,获取当前时刻的待凝聚所有原始点迹points并存入数据缓存,得到无序的待凝聚的所有原始点迹P ο i n t s; A11 Aarr ayMap指的是所有点迹集合的映射关系,以点迹所属空域带号index为键,位于该空域带的点迹集合为值; 步骤82:取points中一个待凝聚原始点迹的point,根据point的极坐标计算笛卡尔坐标,以此便将待凝聚所有原始点迹points投影到直角坐标系平面;根据point的Y坐标point.y 计算 point 所属空域带,index=point.y/YThreshold+1 ; 步骤83:将point存入空域带对应的点迹集合pointArray [index],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray[ index]为值,建立点迹集合的映射关系AlIAarrayMap[index,pointArray[index]];Spoint不是所有原始点迹points中的最后一个点迹,贝1J从points中删除point,执行步骤82; 步骤84:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合; 步骤85:依次遍历key s,取一个键值index和index的下一个健值next ;根据index、next分别取出与其对应的点迹集合po int Array [ index ]、点迹集合po int Array [next];步骤 86:若 po int Array [next].Ymin -pointArray [ index].Ymax〈Ythreshold,贝丨J 执行步骤 87,否则 index=next,执行步骤85 ;其中 pointArray [ index].Ymax与point Array[inext].Ymin 分别是 pointArray [index]中点迹 Y坐标最大值和pointArray [next]中点迹 Y坐标值最小值; 步骤87:将pointArray [next]中的点迹并入pointArray [ index]中,并且更新pointArray [ index].Ymax=po int Array [ next ].Ymax,在 AllAarrayMap 中删除next 对应的存储记录(其中pointArray [ index].Ymax为point Array [ index]中点迹Y坐标最大值,pointArray [next].Ymax 为pointArray [next]中点迹 Y坐标值最大值); 步骤88:若next到达keys的最大值,则执行步骤810,否则执行步骤89 ; 步骤89:next=next+l,跳转到步骤36; 步骤810:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入RawPointSets09.根据权利要求6所述的一种适用于场面监视雷达的目标凝聚方法,其特征在于所述X-Y凝聚模块对待凝聚原始点迹数据进行X方向凝聚,具体过程是: 步骤91:清空八1 IAarrayMap,从RawPo intSet s 中取一个点迹集合 OnePo intSet;AlIAarrayMap指的是所有点迹集合的映射关系,以点迹所属空域带号index为键,位于该空域带的点迹集合为值; 步骤92:取OnePointSet中一个待凝聚原始点迹的point,根据point的X坐标point.x计算point所属空域带,index=point.x/XThreshold+1 ; 步骤93:将point存入空域带对应的点迹集合pointArray [index],若当前还没有该点迹集合,则新创建一个;以index为键值,pointArray[ index]为值,建立点迹集合的映射关系AlIAarrayMap[ index ,pointArray [ index] ]; Spoint不是OnePointSet 中的最后一个点迹,则从OnePointSet中删除point,执行步骤92 ; 步骤94:取出AlIAarrayMap的键值集合keys,将键值keys中所有index进行升序排列;keys指的是所有index的集合; 步骤95:依次遍历key s,取一个键值index和index的下一个健值next ;根据index、next分别取出与其对应的点迹集合po int Array [ index ]、点迹集合po int Array [next]; 步骤 96:若 po int Array [next].Xmin- pointArray [ index].Xmax〈Xthreshold,贝丨J 执行步骤97,否则,index=next,执行步骤9 5 ;其中 pointArray [ index].Xmax 与 point Array[next].Xmin 分别是 pointArray [index]中点迹X坐标最大值和pointArray [next]中点迹X坐标值最小值; 步骤97:将pointArray [next]中的点迹并入pointArray [ index]中,并且更新pointArray [ index].Xmax=po int Array [ next ].Xmax,在 AllAarrayMap 中删除next 对应的存储记录(其中po int Array [ index].Xmax为point Array [ index]中点迹X坐标最大值,pointArray [next].Xmax 为pointArray [next]中点迹 X 坐标值最大值); 步骤98:若next到达keys的最大值,则执行步骤910,否则执行步骤99 ; 步骤99:next=next+l,跳转到步骤96; 步骤910:按键值keys中index大小进行升序排列,将Al IAarrayMap中的点迹集合存入LastPointSets; 步骤911:判断OnePointSet是否已经是凝聚原始点迹集合RawPointSets的最后一个点迹集合,若是,则凝聚原始点迹集合RawPointSets的点迹集合已经处理完毕,遍历L a s t P ο i n t S e t s中的原始点迹集合,计算质心,S卩加权平均值,得到凝聚后的点,否则,从RawPointSets中删除该点迹集合OnePointSet,执行步骤91。10.根据权利要求6所述的一种适用于场面监视雷达的目标凝聚方法,其特征在于所述步骤X-YX-Y凝聚模块中遍历LastPointSets中的原始点迹集合,计算质心,即加权平均值,得到凝聚后的点,具体过程: 步骤101:获得凝聚后的原始点迹集合LastPointSets ; 步骤102:遍历LastPointSets,获得一个原始点迹集合PointSet ; 步骤103:计算PointSet中所有原始点迹的质心点pt,pt的坐标值计算公式为:pt的X轴坐标pt.X=Epoint.x/M,pt.y= Σ point.y/M,M为Po intSet中原始点迹个数,质心pt的坐标便是凝聚后的点迹坐标,将Pt存入输出点迹缓存MergedPointList ; 步骤104:若LastPointSets已经遍历完,则结束,MergedPointLi st便是凝聚后的点迹集合,否则执行步骤102。
【文档编号】G01S13/89GK106093946SQ201610359146
【公开日】2016年11月9日
【申请日】2016年5月27日
【发明人】冯翔, 陈俊
【申请人】四川九洲空管科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1