HTML
-
随着红外探测器件性能的提高以及大规格、多波段红外焦平面阵列技术的日益成熟,红外探测技术在目标探测预警、跟踪识别等方面得到广泛应用,而通过数值计算的方法,快速准确的仿真飞机、导弹等空中目标蒙皮和尾焰辐射经大气传输后到达探测器形成的红外图像,是开展目标红外特性研究、评估红外探测设备性能的有效手段[1]。
蒙皮和尾焰是空中目标红外辐射的主要来源,蒙皮辐射计算采用普朗克公式计算,尾焰辐射计算相对复杂,又分为辐射组分光谱辐射特性计算和辐射传输计算两部分互相关联的内容。在HITEMP、CDSD等光谱数据库的基础上,国内外学者采用逐线计算、谱带模型等辐射特性计算方法和离散坐标、蒙特卡洛等辐射传输方法开展了计算研究和验证工作[2-4],基于OpenGL等软件包,张建奇团队[5-6]、黄建峰[7]等实现了红外图像的生成。
CUDA是NVIDIA公司提供的GPU并行编程环境,国外许多学者已成功用于大气、云层等的辐射传输计算[8-9],国内西安电子科技大学的Guo Xing[10]实现了空中目标对太阳和环境反射辐射的并行计算,中国科学院大学的蔡方伟[11]实现了目标和背景在探测器入瞳处的辐射照度的并行实时计算,以上研究均表明:CUDA的计算速度可提高百倍以上,是一种有效提高计算效率的并行方法。
文中以空中目标蒙皮和大尺度三维尾焰的红外辐射特性为研究对象,以目标蒙皮温度分布和三维尾焰流场作为输入,根据蒙皮和尾焰不同的几何成像关系并结合红外辐射算法建立了目标二维成像算法,解决了蒙皮对尾焰辐射的遮挡、以及蒙皮辐射穿过尾焰流场时的辐射传输问题,开发了红外辐射计算软件,最终实现目标辐射经大气传输后到达探测器入瞳前的红外图像仿真,并对计算结果进行了分析。此外,在程序中的蒙皮投影计算和尾焰光谱辐射计算部分采用CUDA并行计算方法,提高了计算速度,并分析了不同运算量下的并行计算加速比。
-
基于建立的目标红外辐射成像计算软件,以某型号飞机为例计算了其红外图像,对计算结果进行了验证,并对CUDA并行加速性能进行分析。
-
飞机蒙皮温度分布和尾焰流场作为计算输入,如图5所示,图5中左图为飞机蒙皮温度分布,右图上为尾焰流场的温度分布,右图下为尾焰流场CO2浓度分布。
设定观测方位角、俯仰角均为40°,软件计算结果如图6所示。整体上,蒙皮和尾焰的辐射分布与其温度分布一致,另取机身长度和翼展长度为特征值,目标成像的尺度与特征值大小误差在一个像素的尺度范围内,表明投影成像算法准确。
依据Avital等人对BEM发动机尾焰的地面红外辐射实验数据[14]对尾焰辐射计算进行了验证,选取与实验相同的边界条件计算了发动机流场,使用建立的红外成像软件计算1.5~5.5 μm波段内的尾焰光谱辐射强度,计算结果与实验结果的对比如图7所示,整体上计算结果与实验结果吻合较好,其中,3.5 μm为HCl气体辐射带,由于辐射计算所用数据库光谱分辨率较测量仪器更高,因此,计算结果较实验结果起伏变化较大,但辐射总量基本符合。
-
如图4所示,由于程序中既有串行代码部分,又有并行代码部分,对软件的整体计算速度进行统计分析并不能准确体现CUDA并行的加速能力,因此,以本体网格投影子程序为对象,统计该子程序的运行时间,编写相同功能、相同算法的串行程序并统计运行时间,以此分析CUDA的加速性能。测试电脑CPU为i7-7700,主频为3.6 GHz,显卡为NVIDIA GTX 1060,频率1.6 GHz,显存6 G,CUDA核心数为1280。
将面元细分为不同数量,记录相应串行程序和并行程序的运行时间,并定义加速比为二者运行时间之比,结果如表1所示。
从表1中可以看出,并行程序计算耗时始终小于串行程序,且随着面元细分数的增加,加速比增大,当面元细分数达50 000时,加速比达563.91,CUDA并行加速效果明显。此外,当提分面元数从500增大至50 000时,串行程序计算耗时增大100倍,与面元细分倍数一致,而并行程序计算耗时增大约2.4倍,原因在于并行程序中,需要将计算参数从主机内存拷贝至显卡内存,GPU计算完成后还需将计算结果从显卡内存拷贝至主机内存,两次内存拷贝会耗费一定的时间,而在统计并行程序计算时间时,将内存拷贝时间统计在内,导致并行耗时的增大倍数与计算量不一致。
Subdivision counts Serial program runtime/s Parallel program runtime/s Ratio 500 2.48 0.18 13.78 2 000 9.98 0.19 52.53 5 000 24.82 0.21 118.19 10 000 49.51 0.22 225.05 50 000 248.12 0.44 563.91 Table 1. CUDA computation speed ratio of skin projection module