论文部分内容阅读
弹跳射线法是计算复杂目标多次散射的高频近似算法,已经广泛应用于具有角结构、腔体等复杂电大尺寸目标的耦合散射,并且计算精度满足工程的要求。但是,弹跳射线法的显著缺点就是射线管数量多,而且射线与面元的求交计算效率低下。特别是在超电大尺寸复杂目标的散射场计算时,射线追踪耗时将会更大。在保证精度的前提下,提高弹跳射线法的效率有两个基本的途径:减少射线管的数量和加快射线与面元的求交速度。论文的研究重点在于通过提高射线与面元的求交效率来减少射线追踪耗时。KD-tree是一种特殊的二叉查找树。在计算机图形学中,KD-tree是光线追踪算法中常用的加速数据结构,常常用来加快光线与景物的求交速度。基于弹跳射线法和光线追踪算法的相似性,论文根据电大尺寸复杂目标剖分后的三角面元信息来构建高质量的带线索的KD-tree。带线索的KD-tree构建完成后,利用无栈遍历算法依次更新每一根射线的反射次数、反射点位置、反射方向等信息。在射线管出射面处,运用物理光学法计算射线管在远区的辐射场,最后叠加每一根射线管的辐射场,即得到目标总的散射场。论文的主要工作有:1.根据传统弹跳射线方法的基本原理,实现了该算法,并且对方法的实现过程进行局部的修改。经过对比,算法结果与软件仿真结果十分接近。2.根据目标的几何结构构建高质量的线索KD-tree,解决了面元与包围盒的相交测试问题,简化了线索生成技术,并且基于线索实现了射线的遍历过程,最终得到目标总的散射场。与传统方法相比,KD-tree的引入显著提高了弹跳射线法的计算效率,算法仿真计算结果显示弹跳射线法效率最高时有近百倍的提升,证明了KD-tree的“软加速”作用。3.结合CUDA并行编程技术,实现弹跳射线并行算法。鉴于目标电尺寸的增大,射线管数量急速增加,计算耗时仍然很长。CUDA多线程并行编程技术的引入为解决这一问题提供了可能,而且弹跳射线法中的每一根射线的射线追踪过程很容易映射到GPU硬件的每一个线程中。论文也讨论了CUDA核函数不同参数配置和KD-tree高度不同对程序计算效率的影响。最后仿真结果证明了GPU的加速作用,实现“硬加速”和“软加速”的协同作用。