设计原则
- 模块化:高内聚、低耦合设计,模块间以最小的接口进行通信;功能模块采用动态链接库方式提供功能,在工程主模块集成其他功能模块,实现目标发现、跟踪等功能;
- 并行处理:基于国产化需求,目前国产化计算板CPU以多核方式进行设计,其单核性能较Intel系列芯片有较大差距,系统设计时,尽量采用并行处理的方式,最大化利用系统性能,从而提升数据处理软件的性能;主要采用多线程以及线程池技术提升软件性能:
1、复杂独立功能且能异步执行的功能模块以独立线程运行;
2、对于各功能模块中耗时长且任务聚集的过程,通过线程池技术来提升处理过程的效率。
- 基于服务:数据处理软件功能模块化设计基于服务思想,使得每个功能模块能够独立开发,无论该功能模块能否正常工作,均不会导致其他功能模块的异常。主要针对可以异步输出、或者不需要向信息输入源返回处理结果的模块,模块独立运行,接收信息输入,并将处理结果或者无法处理的信息存放在缓冲区中,等待被取走。
不同模块仅报告自身信息,模块呈层次关系时,由下至上,逐层填充信息。如航迹上报信息,航迹对象填充批号、历史、状态等信息(站心坐标下),航迹管理对象对上一层信息进行封装(生成航向,收集多条航迹上报等),航迹跟踪层填充航迹高度(与站心有关)、索引波束信息等,消息发送层主要完成字段的量化,并填充报文格式相关信息(帧头,校验和,同步尾)。
系统内部处理时均采用标准计量单位,秒、弧度、米等。
多线程间变量读写的互斥性由其源头保证。
数据处理功能结构
工程目录
Qt子项目工程,可跨平台调试,同时具有Makefile文件。
Modules =
MainTool \
MainV2 \
Mod \
ModAssignment \
ModADSB \
ModBeam \
ModCoord \
ModCubTrans \
ModDopplerFilter \
ModFilter \
ModFilter1D \
ModInterface \
ModJam \
ModMessage \
ModMotion \
ModNet \
ModObsv \
ModOse \
ModPlotPool \
ModRadar \
ModRadarPara \
ModSector \
ModSimu \
ModTrackFile \
ModTracker \
ModXml \
ModReplay
模块功能简述
雷达数据处理 =
+ 工具软件:程序入口,内部调试用。
+ 主程序:程序入口,实现系统初始化(主要完成功能模块加载以及参数加载),为加载的模块之间提供通讯
+线程基类:以独立线程为核心,为各类独立运行的功能模块提供统一的对外接口,模块内部收集所有实例化对象的BITE信息 \
+ 点航分配模块,实现多点对多航的竞争配对\
+ ADSB 模块,完成民航报文转目标上报格式报文,并实现降数据率功能(民航信息在航迹跟踪模块中进行残差计算,采用滑窗方式决定民航与目标航迹的关联与解耦,民航与目标航迹并不是关联上就不再关注了)\
+ 波束参数管理模块,主要功能包括定义系统内部波束格式并保存一定数量的波束信息,点迹信息中仅携带波束序号,当航迹信息上报时,通过波束序号查询对应波束信息,填充至报文中\
+ 坐标转换模块,公有功能模块,提供各类坐标系之间的坐标转换功能,并提供一个坐标类,在该坐标对象中,包含各类坐标经纬高、地心地固、站心极坐标、直角坐标等,对外接口为设置坐标(输入坐标类型和坐标值)和获取坐标(输入坐标类型),同时生成网格索引值(主要用于性能提升)。
+ 容积变换,类似于不敏变换,用于非线性滤波;
+ 多普勒-距离滤波器,为能够进行多普勒测速的雷达提供距离-速度互耦滤波功能,同时提供(时间、距离、多普勒)计算归一化残差,可用于设置数据关联波门。
+ 滤波器模块,集成运动模型模块和观测模型模块,完成目标运动状态估计与预测等功能。
+ 基于当前统计模型/singer的一维滤波器,主要用于(干扰源)角度跟踪,当系统不具备多普勒测速时,可以用于距离维跟踪。
+接口模块,主要用于内部数据格式与外部格式之间的相互转化。
+ 干扰处理模块,独立线程工作,主要完成干扰源确认以及角度跟踪。
+ 消息模块,基于key-value思想设计的一个独立于基于结构体进行软件间交互的插件,目前仅用于数据处理工程内部。
+ 运动模型模块,从基类运动模型派生CV,CA,CSM,CT等运动模型,对外接口统一\
+ 网络收发模块,继承功能模块模板,分收、发两个模块,分别独立工作,含各自独立缓冲区\
+ 观测模型,非独立线程工作,主要用于观测模型的管理\
+ 系统扩展,功能包括:互斥数组模板类、互斥FIFO模板类、常用功能、文件管理、时间管理、线程池的功能\
+ 点迹管理模块,主要功能包括定义系统内部点迹格式以及点迹池,点迹池内部实现不同类型点迹的按序存储,以及按波位提取点迹集合功能,点迹提取优先级为跟踪点、验证点和搜索点\
+ 雷达模块,集成其他模块功能,实现数据处理功能。
+ 雷达参数管理模块,功能同名称。
+ 区域管理模块,主要实现区域的设置、清理以及提供区域查询功能(包括查询是否在某一类型区域内,某个位置对应多少区域类型)
+ 内部仿真模块。
+ 航迹文件模块,主要包含航迹、暂航以及二者的基类,基类中主要提供一直的接口及功能,包括插入新量测、状态更新等
+ 航迹处理模块,数据处理软件主要功能,按功能划分为目标跟踪模块、目标起始模块,继承功能模块模板,共两个线程。由于点航关联、航迹滤波等过程耗时较长,且任务过程一致,系统对此采用线程池方式进行处理;
+ 历史场景重演模块,提前准备历史场景的报文数据,由雷达模块输入时间来读取网络报文。
+ 配置文件加载模块,第三方库(含源码),用于配置文件读取