CPU/GPU协同运算技术在舰载警戒雷达实验室模拟仿真中的应用
2017-08-16饶世钧邢忠臣
饶世钧,邢忠臣,洪 俊
(海军大连舰艇学院 信息作战系,辽宁 大连 116018)
CPU/GPU协同运算技术在舰载警戒雷达实验室模拟仿真中的应用
饶世钧,邢忠臣,洪 俊
(海军大连舰艇学院 信息作战系,辽宁 大连 116018)
针对舰载警戒雷达实验室建设雷达模拟仿真过程中模拟数据计算量大、模拟数据类型多、更新速度快及雷达回波显示难的问题,在分析雷达模拟数据处理特点的基础上,介绍了CPU/GPU协同运算技术的基本情况,提出了CPU/GPU协同运算技术在雷达模拟数据生成与回波显示方面的具体应用方法,明确了CPU/GPU协同运算基本流程与各自任务分工,建立了CPU雷达模拟仿真数据组织与生成模型,给出了GPU雷达回波渲染与显示方法,并采用向量元素的遍历查找算法完成雷达回波数据获取和雷达回波纹理数据更新。通过在通用计算机对传统CPU运算和CPU/GPU协同运算两种方法进行仿真,仿真结果证明了这一技术应用的可行性与先进性,这种技术的应用对于提高舰载警戒雷达模拟仿真效率与逼真度有着重要意义。
舰载警戒雷达; CPU/GPU协同运算; 回波渲染; 模拟仿真; 数据处理; 回波显示
0 引 言
舰载警戒雷达作为现代海战重要的传感器之一,是水面舰艇获取战场信息的主要途径,也是作战系统形成战场态势的关键信息源,在水面舰艇作战中扮演着极其重要的角色。由于雷达实装造价昂贵,目前难以将新型号实装配备到院校保障教学任务,故雷达模拟训练是雷达实验室保障实操教学的主要手段。
在雷达模拟训练中,通常采用软件化仿真方式,由于这种方式雷达缺乏前端发射信号,需要通过数据计算和可视化技术实现雷达数据生成与回波显示。文献[1-8]对GPU并行计算技术及并行优化处理进行了研究,文献[9-14]对雷达模拟仿真技术进行了探讨,主要采用多核CPU并行计算技术、OpenGL纹理映射技术、多线程处理技术等完成雷达模拟仿真。随着舰载警戒雷达技术的发展,雷达数据处理需求也越来越高,主要体现在数据处理量大、数据种类繁多和数据处理速度快等方面,在模拟仿真时易出现数据处理量与数据处理速度间的冲突,这在一定程度上增大了雷达模拟仿真的难度。本文针对这一问题,采用CPU/GPU协同运算技术进行数据计算与回波渲染,对于提高舰载警戒雷达实验室建设水平和模拟仿真逼真度有着重要意义。
1 雷达模拟仿真数据处理特点分析
1.1数据处理量大
雷达数据处理主要包括地物、目标、干扰、杂波等数据的处理,在雷达实际装备中通常由接收机来完成[15]。在雷达模拟仿真过程中,地物数据主要通过提取电子海图高程数据,并利用地物遮挡模型仿真生成,目标数据主要通过目标模拟仿真模型和电磁波传播模型计算生成,干扰数据通过干扰模型计算生成,杂波数据通过杂波分布模型仿真生成。这些数据叠加在一起,数据量将十分庞大,而且数据量随着目标数量、作战海区和气象条件变化动态变化。
1.2数据种类繁多
雷达回波数据主要包括地物、目标、干扰和杂波数据,目标数据主要包括水面舰艇、民用船只、战斗机、预警机、民航飞机、导弹、无人机、靶机等数据,干扰数据主要包括瞄准式窄带噪声、阻塞式宽带噪声、假目标、同频同步、同频异步、箔条等数据,杂波数据主要包括接收机噪声、海杂波、气象杂波等数据。这些数据特点各异,地物数据相对固定,目标数据统一控制,干扰数据动态变化,杂波数据分布范围广,在雷达显示器这些数据需要分层叠加显示。由于数据种类繁多,数据处理涉及的接口就会增多,受制约的条件和需要考虑的因素也会增多,也会在一定程度上增加雷达模拟仿真数据处理的难度。
1.3数据处理速度要求高
随着现代作战节奏加快,特别是反导作战对雷达数据率提出了更高要求。新型舰载警戒雷达数据更新率高达1~2 s,雷达高数据率会给雷达模拟仿真带来数据计算要求高、更新速度快等一系列问题,这些问题会给CPU带来一定负担。CPU既要完成大数据量计算和高数据率更新,又要完成纹理控制、回波渲染等视频处理,必然会出现实时计算与回波显示的冲突。
2 CPU/GPU协同运算技术
面对大数据量、快更新率和多样化任务,单纯依靠现有CPU计算技术难以解决,因此需要充分挖掘GPU的计算能力与显示能力,运用CPU/GPU协同运算技术来解决数据量大与更新率快之间的矛盾。
2.1GPU的通用计算能力
基于CPU/GPU异构协同的计算平台作为当今计算机异构混合平台的一种,因其强大的数字计算能力、图形处理能力、高性价比和高性耗比,受到越来越多的应用与关注。在这个平台中,GPU扮演着十分重要的角色,GPU除用于专业图形显示外,还可用于大量的通用数据计算,并因此形成了GPU通用计算研究领域。GPU在进行数据计算时,将大量晶体管作为数据计算单元,实现高强度数据计算,降低数据延迟[16]。
2.2CPU/GPU协同计算
CPU/GPU协同并行计算,其基础在于GPU的计算能力,其关键在于如何实现CPU和GPU的有机协同与高效配合。在协同时,CPU担负必要的GPU管理功能,同时还担负部分数据计算任务,与GPU进行配合共同完成计算。
3 具体应用
3.1协同运算流程
在应用CPU/GPU协同计算时,由CPU完成地物、杂波、目标等模拟数据的提取、生成与组织,由GPU完成数据转换、图层融合、纹理控制和回波渲染,以解决数据处理与回波显示之间的矛盾。具体协同流程与具体分工如图1所示。
图1 舰载雷达模拟仿真CPU/GPU协同运算流程
3.2CPU数据组织与生成
一般舰载雷达主要采用极坐标的方式表示目标的斜距和方位,其屏幕中心表示雷达所在位置,荧光屏上的亮点或亮弧表示目标回波。在雷达模拟仿真中,为实现对雷达回波数据的统一组织,创建一个二维动态数组m_RadarEcho[X][Y],其中X表示目标距离,Y表示目标方位,如图2所示。
图2 雷达回波数据组织形式
动态二维数组主要用于存贮所有回波数据,包括目标回波、海杂波、地物回波、干扰回波等。每个单元格用dB值来表示回波强弱,值越大,回波越强,值越小,回波越弱。数组大小根据雷达量程与回波数据量进行动态调整,兼顾回波显示逼真度和雷达扫描速度两方面的要求。
在数据生成时,通过高级电磁波传播模型计算出目标、海杂波、干扰、地物等数据,通过数据处理技术对这些数据进行归一化处理。
3.3GPU回波渲染与显示
目前,实装雷达光栅扫描显示主要是基于专用的图形处理芯片,并且采用了大量的硬件化设计,而模拟仿真的雷达图像显示只能依赖通用图形显示处理卡采用软件来实现。OpenGL是一种不依赖于硬件的直接写屏技术,利用OpenGL的渲染、α通道技术设置主平面和多个离屏平面、与GDI兼容的设备环境句柄,用API函数完成绘图功能,通过对不同平面象素设置关键色,在主平面完成叠加显示等,因此OPENGL能够实现雷达光栅扫描显示,扫描变换及显示余辉模拟是需要重点解决的两个问题。
实现扫描变换时,由于极坐标与直角坐标地址分辨率不同,会形成所谓显示盲区和显示死地址现象。显示盲区是由于在显示近区直角坐标的分辨率比极坐标低,使多个极坐标对应于同一直角坐标,这就造成在显示近区不同重复周期间的视频数据写在同一视频存储器地址上,在显示器近区的小目标一闪即逝,极易造成小目标丢失。显示死地址现象是由于在显示远区极坐标分辨率低于直角坐标,使得显示远端一些直角坐标地址始终不能被访问,从现象上看,在显示远端图像会存在一些黑点,这些黑点即死地址,死地址现象影响形成图像的质量,为此需合理地结合正向变换和逆向变换,从算法上保证扫描变换的质量。
由于光栅扫描与传统的随机扫描的扫描机制不同,光栅扫描无法自动产生随机扫描中荧光粉的余辉效应,故需要模拟雷达扫描线的余辉显示。通常实现扫描线的余辉方法包括画线法、固定扇扫法和逐点消隐法等。其中画线法较容易实现,原理是在屏幕上以画直线的方式画出每一角度的扫描线,但是当程序运行时,扫描线轨迹不断地在屏幕上转动,该方法不能无缝覆盖整个扇扫区域,从而产生一个辐射状的固定花纹。而固定扇扫法是在画线法基础上改进的一种仿真方法,它虽然消除了辐射状花纹,但对于没有目标到有目标信号时,由于数据量的增加会造成扫描线的转速不同。逐点消隐法产生的余辉效果比较逼真,扫描线转速也较稳定,因此采用此法来实现。具体实现方法是在一定的时间内,随机将视频存储器中的内容降低一个灰度等级,每个单元都必须被修改,这会导致整个屏幕画面亮度逐渐衰减。在设计时,每画一条扫描线就随机产生一些地址,按照随机产生的地址将保存在视频存储器中的颜色值取出,降低灰度值后再保存回原位置,由于采用此种方法使地址不会重复,这样扫描一周后就应该能将整个视频存储器遍历一遍,从而得到扫描线的余辉效果。因此要得到合理准确的效果,不重复随机地址的产生是亟需解决的问题,通过建立随机余辉地址表的方法可以解决这一问题。
3.4CPU和GPU协同方法
为形成雷达回波,需要将CPU生成的回波数据写入GPU的纹理内存,从而实现雷达扫描与回波显示。在实现过程中,首先根据雷达天线指向确定需要获取的回波数据.假定雷达天线为i,根据雷达天线扫描和余辉显示需要,确定需要获取的回波数据矩阵Vector[0,X-1][i,i+N]。然后通过向量元素的遍历查找算法在CPU内存中获取回波数据矩阵。最后,把此回波数据矩阵加载到纹理内存中,分配给GPU中的片段处理器进行处理,在回波更新同时运用纹理内存遍历查找算法进行对应更新。算法实现流程如图3所示。
4 模拟仿真
通过采用传统CPU运算和CPU/GPU协同运算两种方法,对舰载某型警戒雷达进行模拟仿真设定该舰载雷达天线架高28 m,量程20 km,天线最大转速60 r/min,初始位置纬度38°56′24″N,经度121°37′12″E,仿真机器配置为:
CPU:Pentium(R) Dual-Core E5400 2.7 GHz;
内存:2.0 GB;
图3 CPU和GPU协同生成雷达回波算法实现流程
显卡:Nvidia GeForce 210。
其模拟仿真结果如表1所示,雷达回波模拟效果如图4所示。
表1 传统方法与协同运算方法模拟仿真结果
图4 采用协同运算方法的雷达回波模拟效果
5 结 语
本文采用的CPU/GPU协同运算方法能够解决新型舰载警戒雷达模拟仿真数据处理量大与数据处理速度快的矛盾,提出的雷达回波数据生成、回波显示和协同运算方法对雷达模拟仿真有着较好的适用性,对于提高雷达模拟仿真效果和效率有着重要作用。
[1] 左颢睿,张启衡,徐 勇,等.基于GPU的并行优化技术[J].计算机应用研究,2009,26(11): 4115-4118.
[2] 林江宏,林锦贤,吕 暾.Accelerated molecular dynamics simulation using multi-core CPU and GPU [J].计算机应用,2011,31(3): 843-846.
[3] 陈孝良,程晓斌.基于GPU的多通道倍频程并行算法研究[J].仪器仪表学报,2010,31(7): 1674-1676.
[4] 叶 剑,李立新.基于GPU的AES快速实现[J].计算机工程与设计,2010,31(2): 256-258.
[5] Teodoro G,Sachetto R,Sertel O,etal.Coordinating the use of GPU and CPU for improving performance of compute intensive applications [C]//CLUSTERp09: Proceedings of 2009 IEEE International Conference on Cluster Computing and Workshops.New Orleans,LA: [s.n.],2009:1-10.
[6] Owensj D,Houston M,Luebke D,etal.GPU computing[J].Proceedings of the IEEE,2008,96 (5): 879-899.
[7] Nvidia Corporation.NVIDIA CUDA programming guide V3.0 [EB/OL].[2010-06-10 ].http: / /www.nvidia.com /cuda.
[8] Akhter S,Roberts J.Multi-core programming: Increasing performance through software multi-threading [M].[ S.l.]:Intel Corporation,2004:139-175.
[9] 王 磊,卢显良.基于多核计算的雷达并行仿真结构[J].电子科技大学学报,2014,43(1): 114-116.
[10] 王华兵,蒙 洁.雷达仿真运行效率优化方法研究 [J].电光与控制,2015,22(5): 29-31.
[11] 王胜正,黄玉贵.基于电子海图的真实感航海雷达图像仿真方法 [J].计算机应用,2014,34(10): 3024-3027.
[12] 姜忠龙,何小锋,金 虎.一种基于数字地形的雷达模拟器设计 [J].雷达科学与技术,2014,12(3): 321-324.
[13] 谭艳红,杨学惠,李志强.多线程技术在火控雷达模拟训练系统中的应用 [J].仪表技术,2008(11): 71-75.
[14] 张 辉,孙立国,李世丹,等.基于可编程显卡的信息化雷达终端显示系统 [J].信息与电子工程,2010,8(6): 652-654.
[15] 丁鹭飞,耿富录.雷达原理 [M].北京:电子工业出版社,2014: 64-69.
[16] 卢风顺,宋君强.CPU/GPU协同并行计算研究综述 [J].计算机科学,2011,38(3):5-8.
CPU/GPU Collaborative Computing Technology in the Application of Shipborne Alert Radar Lab Simulation
RAOShijun1,XINGZhongchen1,HONGJun1
(Department of Information Operate,Dalian Navy Academy,Dalian 116018,Liaoning,China)
In order to deal with the problems that large simulated data need large computing-capacity magnitude,there exist different types of data which update quickly and are difficult in radar echo display,based on analyzing the characteristics of the radar simulation data processing,the paper introduces the basic conditions of CPU/GPU collaborative computing technology,and puts forward the specific applying method of CPU/GPU collaborative computing technology in the radar simulation data generation and echo display,defines the basic workflow and the task of CPU/GPU collaborative computing,establishes the data organization and generation model of CPU radar simulation,gives out GPU radar echo shader and display methods,and uses the ergodic looking up algorithm of vector elements for radar echo data process and radar echo texture data update.Finally,through the computer simulation for the traditional CPU computing method and the CPU/GPU collaborative computing method,the feasibility and advance of this method are proved.The technology application has important significances to improve shipborne alert radar simulation efficiency and fidelity.
shipborne alert radar; CPU/GPU collaborative computing; echo shader; simulation; data processing; echo display
2016-10-12
饶世钧(1978-),男,湖北黄冈人,博士,副教授,硕士生导师,主要研究领域为雷达作战使用、雷达模拟仿真。
Tel.:0411-80856366;E-mail:rsj0207@163.com
TE 319;TN 959.1
:A
:1006-7167(2017)07-0118-04