论文部分内容阅读
海面微波遥感和海面雷达隐身和反隐身领域里,海面电磁散射以及海面复合电磁散射是微波遥感和雷达海面表面目标和掠海飞行目标探测的主要研究对象。在海面散射研究中,由于海面属于随机粗糙面,海面等粗糙表面本身属于超电大尺寸的目标,在实践中常采用高频方法来实现对这类大尺寸目标的快速求解。这类高频方法,包括物理光学法(PO)、弹跳射线法(SBR),计算过程相对简单,但是具有很高的并行性。由于CPU计算单元较少,因此其并不能充分利用高频算法具有的并行性和拓展性。然而,GPU具有远多于CPU的计算单元数目。如何利用GPU来实现这类高频算法,使得GPU能够充分利用高频算法的并行性,是一个很有价值的课题。围绕这一主题,本文展开的研究工作主要包括:首先,细致考察了几何光学、物理光学、弹跳射线法以及物理光学—弹跳射线法的基本原理、计算过程。由于射线追踪作为弹跳射线法的重要组成部分,本文也细致考察了弹跳射线法中的射线追踪过程。其次,详细介绍了GPU并行编程的原理、GPU并行编程平台CUDA所采用的并行编程模型。GPU具有与CPU完全不同的硬件架构。一方面,GPU具有相对简单的流水线结构,并不能高效执行复杂的逻辑指令。另一方面,CPU通过GPU硬件中的DMA(Direct Memory Access)引擎通过PCIe接口与GPU进行通信,其具有高延迟、高流量的特点。在GPU并行计算中,合理地分配计算任务,充分地利用CPU和GPU的优势特性,有效地压缩CPU和GPU通信的额外时间消耗是GPU并行算法实现的核心问题。因此,本文详细介绍了GPU编程与CPU编程在软件、硬件上的区别联系和GPU编程的注意事项。随后,详细介绍了基于CUDA并行编程平台实现并行化物理光学—弹跳射线法的主要原理;其中,细致考察了多种射线追踪算法的原理,并对它们的优缺点进行了分析。此外,由于电磁散射计算结果的可视化是电磁散射特性研究中常见的需求,因此本文基于OpenGL图形渲染API,独立地研发了一套满足电磁散射仿真可视化需求的、通用的、跨平台的渲染引擎。本文借助了该渲染引擎实现了电磁散射结果中散射体表面感应电流的可视化功能。至此,本文将物理光学—弹跳射线法的算法实现、平台实现形成了一套较完整的高频方法研究工具链,其对后续的研究工作提供了较好的研究平台。最后,通过一些典型电磁散射算例,验证了本文算法实现、平台实现的准确性和高效性。