基于C++的雷达数据处理系统设计

设计原则

  1. 模块化:高内聚、低耦合设计,模块间以最小的接口进行通信;功能模块采用动态链接库方式提供功能,在工程主模块集成其他功能模块,实现目标发现、跟踪等功能;
  2. 并行处理:基于国产化需求,目前国产化计算板CPU以多核方式进行设计,其单核性能较Intel系列芯片有较大差距,系统设计时,尽量采用并行处理的方式,最大化利用系统性能,从而提升数据处理软件的性能;主要采用多线程以及线程池技术提升软件性能:

1、复杂独立功能且能异步执行的功能模块以独立线程运行;

2、对于各功能模块中耗时长且任务聚集的过程,通过线程池技术来提升处理过程的效率。

  1. 基于服务:数据处理软件功能模块化设计基于服务思想,使得每个功能模块能够独立开发,无论该功能模块能否正常工作,均不会导致其他功能模块的异常。主要针对可以异步输出、或者不需要向信息输入源返回处理结果的模块,模块独立运行,接收信息输入,并将处理结果或者无法处理的信息存放在缓冲区中,等待被取走。

不同模块仅报告自身信息,模块呈层次关系时,由下至上,逐层填充信息。如航迹上报信息,航迹对象填充批号、历史、状态等信息(站心坐标下),航迹管理对象对上一层信息进行封装(生成航向,收集多条航迹上报等),航迹跟踪层填充航迹高度(与站心有关)、索引波束信息等,消息发送层主要完成字段的量化,并填充报文格式相关信息(帧头,校验和,同步尾)。

系统内部处理时均采用标准计量单位,秒、弧度、米等。

多线程间变量读写的互斥性由其源头保证。

数据处理功能结构

工程目录

        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模板类、常用功能、文件管理、时间管理、线程池的功能\

    + 点迹管理模块,主要功能包括定义系统内部点迹格式以及点迹池,点迹池内部实现不同类型点迹的按序存储,以及按波位提取点迹集合功能,点迹提取优先级为跟踪点、验证点和搜索点\

    + 雷达模块,集成其他模块功能,实现数据处理功能。

    + 雷达参数管理模块,功能同名称。

    + 区域管理模块,主要实现区域的设置、清理以及提供区域查询功能(包括查询是否在某一类型区域内,某个位置对应多少区域类型)

    + 内部仿真模块。

    + 航迹文件模块,主要包含航迹、暂航以及二者的基类,基类中主要提供一直的接口及功能,包括插入新量测、状态更新等

    + 航迹处理模块,数据处理软件主要功能,按功能划分为目标跟踪模块、目标起始模块,继承功能模块模板,共两个线程。由于点航关联、航迹滤波等过程耗时较长,且任务过程一致,系统对此采用线程池方式进行处理;

    + 历史场景重演模块,提前准备历史场景的报文数据,由雷达模块输入时间来读取网络报文。

    + 配置文件加载模块,第三方库(含源码),用于配置文件读取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值