并行射线跟踪算法及其在城市电波预测的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文章编号 1005 0388(2004)05 0581 05

并行射线跟踪算法及其在城市

电波预测的应用

刘海涛 黎滨洪 谢 勇 戚冬生

(上海交通大学电子工程系,liuht@sj ,上海200030)

摘 要 射线跟踪算法的计算量较大,耗时较长。针对这一问题提出并研究了对等模式和主从模式两类并行射线跟踪算法,结合MPI 并行运算函数库,在局域网计算机簇中,实现了城市复杂微蜂窝环境的电波预测。结果表明,并行算法在精度相同的情况下,大大缩减了计算机运行时间。而且,主从模式在异类网络中具有更好的并行加速增益和负载均衡。

关键词 并行射线跟踪,电波预测,MPI,并行加速增益,负载均衡中图分类号 TN011 文献标识码 A

Parallel ray tracing algorithm and its application for propagation prediction in urban microcellular environments

LIU Hai tao LI Bin hong XIE Yong QI D ong sheng

(Department of Electronic Engineering,Shan ghai Jiao T ong University ,

liuht @sj ,Shan ghai 200030,China)

Abstract Ray tracing algorithm needs a great deal of c omputation time.To improve its effi ciency,two kinds of parallel ray tracing algorithm:Peer to Peer Model (PPM)and Master/

Slaves Model (MSM)are presented in this paper.Propagation prediction simulation in urban microcellular environments is made in LAN workstation cluster by using MPI parallel func tions library.The comparison among numeric results indicates that the parallel algorithm consider ably reduces the computation time without losing precision,and that the MSM can achieve bet ter parallel speedup gain and load balancing than PP M.

Key words parallel ray tracing algorithm,propagation prediction,MPI,speedup,load bal ancing

1 引 言

基于几何光学和一致性绕射理论的射线跟踪算法是目前城市电波预测中最有效的方法之一[1]~

[4]

。该算法不同于传统的经验预测模型,它

是根据具体的地形几何特点,实现精确的路径损耗预测。但是这种数值算法耗时较长,特别是针对建筑物密集的城市中心区。国内外众多学者已经提出

了许多加速算法,如区域分块法、角度的Z 缓存区算法等[5]

,这些算法都有效的缩短了计算时间。

近年来,随着高性能分布式计算技术的发展,并行计算成为解决巨大而耗时问题的主要技术[6]。而且随着计算机硬件价格的降低,使用局域网计算机簇取代昂贵的并行计算机作为并行仿真环境,将成为廉价省时的电波预测解决方案。本文就是依据基于SBR(Shooting and B ouncing Ray Launching)的射线

收稿日期:2003 08 14

第19卷 第5期2004年10月

电 波 科 学 学 报

CH INESE JOURNAL OF RADIO SCIE NCE

Vol.19,No.5 Oc tober,2004

跟踪算法的自然并行性,提出了对等模式和主从模式两种并行算法,而且通过使用MPI [7](Message Passing Interface)并行函数库,在局域网计算机簇中仿真预测了上海浦东地区的电波传播路径损耗,取得了很好的效果。

2 并行射线跟踪算法

2.1 串行SBR 算法描述及其并行化条件

以两维平面为例,源点的辐射角度范围为2 ,假设以角度 为间隔,则辐射区域可以用m 条覆盖全平面方向的发射射线来代替,其中:

m =2 / (1)发射射线遇到建筑物面时会发生反射,遇到建筑物棱角时,会发生绕射,针对新的反射线和绕射线,再进行递归跟踪,如果射线碰到接收小球(用于判别是否接收到射线的假设小球),则记录下来,当到达一定的递归深度时(衰减到一定的值),本发射射线跟踪完毕,再根据路径中和射线相交的建筑物电参数信息,就可以确定这条发射射线对所有接收点的场强贡献。SB R 的串行算法的计算机运行时间如下:

T 总=T 地形初始化+T 射线跟踪+

T 场强计算+T 场强合并

(2)

由以上过程可知,在SBR 算法中,每条发射射线的跟踪几乎是独立的,也就是说具有自然的并行性。但是,严格的说,发射射线之间也具有耦合关系。当采用固定半径的接收小球接收某条射线时,必须检验是否有任何其他先前已经接收的,具有相似方向和相同变换次数(发射或折射的次数)的射线,如果有的话,新射线是重复的,必须不予考虑。这个耦合关系可以称为双计数误差[8]。为了避免双计数误差,在固定半径接收小球的前提下,跟踪一条射线时必须已知或者能够查到以前跟踪过的射线的相关信息,由此,必然会带来并行计算中多个处理器间的通信查询耗费。本文采用动态接收小球半径替代固定半径接收小球的方法,可以避免双计数误差。比如,在2.5维SBR 算法中,令接收小球半径为:r =l /2,其中,l 是此射线已经走过的路程, 是发射射线角度间隔。而且,当射线遇到建筑物拐角发生绕射时,因为绕射点看作虚拟的源,所以将l 置为零。这样就实现了各发射射线的独立接收性。这是采用并行射线跟踪算法的基础。2.2 对等模式的并行射线跟踪算法

对等模式的射线跟踪算法,就是将所有发射射

线,平均分配给n 个处理器,当每个处理器跟踪计算完各自分配的射线后,计算出这部分射线在所有接收点产生的场强,然后第1,2,3, ,n -1号处理器将结果传递回0号处理器,由0号进程对场强统一进行汇总。得到最终的总的预测值。图1描述了对等模式下,并行射线跟踪算法的流程。从中可以看出,并行计算时间为

图1 对等模式流程

T 总=T 地形初始化+ma x {T 射线跟踪+T 场强计算}+

T 场强合并+T 进程间通信

(3)

假设有m 条射线需要跟踪,采用n 个处理器进程计算,则max{T 射线跟踪+T 场强计算}是每个进程都跟踪m /n 条射线时所需的最大时间,在理想情况下,各进程所用时间相等,则

max {T 射线跟踪+T 场强计算}

=

1

n

(T 射线跟踪+T 场强计算)(4) 在对等模式中,(4)式是难以实现的。因为SBR 射线跟踪算法的耗时主要在跟踪绕射过程。一般情况下,所跟踪的某条发射射线路径中有绕射情况发生时,跟踪这条路径的时间是仅有反射发生时的102~104倍。对等模式的并行初始化时,按发射射线的数目平均分配给各进程,预先并不知道哪条发射射线会有绕射现象发生。这样,对于所有进程来说,虽然初始分配的发射射线数目是相同的,但是各自包含的有绕射发生的射线数目不同,也就是计算任务量不同,引起了计算时间的差异,由此,带来了负载不均衡,降低了并行加速增益。

但是对等模式也有自己的优势。首先,编程简单,易于实现;其次,除0处理器进程外,其他处理器

582电 波 科 学 学 报 第19卷

相关文档
最新文档