发明内容
针对现有技术中存在的问题,本发明提供了一种适用于射线追踪信道建模的角度Z缓冲区优化方法,对传统的AZB算法进行改进,解决由于计算不准确导致的路径遗漏的问题,使其适用于三维复杂场景。在本发明角度Z缓冲区优化方法中,将空间中所有物体的表面都划分成三角面元,同时将整个空间划分成多个三角锥,以便利用三角形的特性,同时也便于复杂场景的建模。
为实现上述目的,本发明采用如下技术方案:一种适用于射线追踪信道建模的角度Z缓冲区优化方法,具体包括如下步骤:
步骤S1、在射线追踪信道建模的空间环境中,以当前的虚拟源为中心,按照方位角步长dazi以及俯仰角步长dele,将空间环境划分成N个四棱锥立体角;
步骤S2、将每个四棱锥立体角以对应的虚拟源为顶点,将四棱锥立体角划分成两个三角锥;
步骤S3、将射线追踪信道建模的空间环境中的物体表面划分成三角面元,以三角锥的虚拟源为投影中心,将所有三角面元投影到三角锥的底面上,得到投影三角形,并计算投影三角形中每个顶点的坐标;
步骤S4、依次判断所有投影三角形与三角锥底面是否有公共区域,若有公共区域,则将该三角面元作为可见面,将该三角面元的序号以及三角锥中心线方向上虚拟源到可见面的距离分别存进M×2的Zb矩阵的第一列和第二列,取Zb矩阵第二列非0部分中距离最小的三角面元作为该三角锥的可见面,其中,M为射线追踪信道建模的空间环境中三角面元总数;
步骤S5、遍历所有三角锥,重复步骤S3-步骤S4,获得当前虚拟源在整个射线追踪信道建模的空间环境内的可见面;
步骤S6、将空间环境中的所有虚拟源依次重复步骤S1-步骤S5,得到所有虚拟源的可见面。
进一步地,所述虚拟源为:在射线追踪信道建模的空间环境中的发射端以及由发射端出发的射线到接收端之间每与射线追踪信道建模的空间环境中物体发生作用的点。
进一步地,所述发生作用的点具体分为:
(1)若由发射端出发的射线以后与射线追踪信道建模的空间环境中物体发生反射作用,则虚拟源为上一个虚拟源相对于反射面的镜像点;
(2)若由发射端出发的射线以后与射线追踪信道建模的空间环境中物体发生绕射作用,则虚拟源为绕射劈的两个端点,其中,劈表示两个不共面的三角面元形成的楞。
进一步地,所述四棱锥立体角的数量N的计算过程为:
其中,为方位角数量,,为俯仰角数量,。
进一步地,所述四棱锥立体角的顶点坐标为:
其中,表示第个四棱锥立体角,i表示方位角数量的索引,,j表示俯仰角数量的索引,,表示第个四棱锥立体角
中公共顶点球坐标,表示虚拟源的球坐标,表示第个四棱锥立体角的
底面第一顶点球坐标,表示第个四棱锥立体角的底面第二顶点球坐标,表示第个四棱锥立体角的底面第三顶点球坐标,表示第个四棱锥
立体角的底面第四顶点球坐标,r 0 表示四棱锥立体角的棱长。
进一步地,所述投影三角形中每个顶点的坐标表示为:
其中,为三角面元中任一点投影前的坐标,为投影三角形中对应点的
坐标,S为虚拟源坐标,n为三角锥底面的单位法向量,d为常数,T表示转置,三角锥底面的方
程满足为。
进一步地,步骤S4中判断投影三角形与三角锥底面是否有公共区域的方法包括:判断投影三角形与三角锥底面是否相交,若相交,则认为有公共区域;否则判断投影三角形与三角锥底面是否相互包含,若相互包含,则认为有公共区域,否则没有公共区域。
进一步地,判断投影三角形与三角锥底面是否相交的方法包括如下步骤:
(a)分别以投影三角形的一条边和三角锥底面的一条边为对角线作矩形,记x 1min =min(x A ,x B ),x 1max =max(x A ,x B ),y 1min =min(y A ,y B ),y 1max =max(y A ,y B ),x 2min =min(x D ,x E ),x 2max =max(x D ,x E ),y 2min =min(y D ,y E ),y 2max =max(y D ,y E ),其中,x A 、x B 、x D 、x E 分别为投影三角形的一条边的顶点A、B、三角锥底面的一条边的顶点D、E的x轴坐标,y A 、y B 、y D 、y E 分别为投影三角形的一条边的顶点A、B、三角锥底面的一条边的顶点D、E的y轴坐标;
(b)判断逻辑值I 1是否为真:,
若为真,则投影三角形的一条边与三角锥底面的一条边不相交,否则判断I 2 是否为真:
,若为真,则投影
三角形的一条边与三角锥底面的一条边相交,投影三角形与三角锥底面有公共区域,停止
执行;其中,表示或,表示且,A表示A点坐标(x A ,y A ,z A ),B表示B点坐标(x B ,y B ,z B ), D表示
D点坐标(x D ,y D ,z D ), E表示E点坐标(x E ,y E ,z E );
(c)否则,依次对投影三角形的边和三角锥底面的边重复步骤(a)-(b),直至完成对所有投影三角形的边和三角锥底面的边的相交判断。
进一步地,判断投影三角形与三角锥底面是否相互包含的方法具体为:
(e)计算投影三角形顶点到三角锥底面任一顶点的向量,将任意两个向量叉乘,若所有叉乘的结果同号,则待测的三角锥底面的顶点在投影三角形内部;否则,执行步骤(g);
(f)对于三角锥底面的另两个顶点重复步骤(e),当满足三角锥底面的三个顶点均在投影三角形的内部时,则投影三角形与三角锥底面有公共区域;否则执行步骤(g);
(g)计算三角锥底面顶点到投影三角形任一顶点的向量,将任意两个向量叉乘,若所有叉乘的结果同号,则待测的投影三角形顶点在三角锥底面内部;
(h)对于投影三角形的另两个顶点重复步骤(g),当满足投影三角形的三个顶点均在三角锥底面的内部时,则投影三角形与三角锥底面有公共区域;否则投影三角形与三角锥底面之间没有公共区域。
进一步地,所述三角锥中心线方向上虚拟源到可见面的距离t的计算过程具体为:
其中,S为虚拟源的坐标,P0为三角锥底面三角形的中心的坐标,n为三角锥底面的单位法向量,d为常数,T表示转置。
与现有技术相比,本发明具有如下有益效果:本发明将射线追踪信道建模的空间环境分割为多个三角锥,将寻找整个射线追踪信道建模的空间环境中的可见面的问题转化为寻找单个三角锥范围内可见面的问题;同时利用三角面元的投影,将判断三维空间物体可见性的问题简化为判断二维平面三角形相交的问题。本发明在保持AZB算法对镜像法的加速效果的同时,解决了传统的AZB算法路径遗漏的问题,因而便于对信道进行高效且准确地建模。由于本发明利用了三角面元的特性,而任何物体都可以切割为多个三角面元,因此本发明适用于各种类型的三维场景,且能够有效地处理复杂场景。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步地解释说明。
射线追踪镜像法包括寻找可见面、建立搜索树、遍历搜索树以及计算具体路径,其中,寻找可见面是十分关键的一步,寻找到的可见面的正确性与完整性直接关系着射线追踪结果的准确性。本发明适用于射线追踪信道建模的角度Z缓冲区优化方法是一种寻找可见面的方法,在进行射线追踪时,射线从发射端出发,然后会与射线追踪信道建模的空间环境中的物体发生作用,出现反射、绕射等现象,直至到达接收端。虚拟源指的是在射线追踪信道建模的空间环境中的发射端以及由发射端出发的射线到接收端之间每与射线追踪信道建模的空间环境中物体发生作用的点;而发生作用的点具体分为:
(1)若由发射端出发的射线以后与射线追踪信道建模的空间环境中物体发生反射作用,则虚拟源为上一个虚拟源相对于反射面的镜像点;
(2)若由发射端出发的射线以后与射线追踪信道建模的空间环境中物体发生绕射作用,则虚拟源为绕射劈的两个端点,其中,劈表示两个不共面的三角面元形成的楞。
如图1为本发明适用于射线追踪信道建模的角度Z缓冲区优化方法的流程图,该角度Z缓冲区优化方法具体包括如下步骤:
步骤S1、在射线追踪信道建模的空间环境中,以当前的虚拟源为中心,按照方位角步长dazi以及俯仰角步长dele,将空间环境划分成N个四棱锥立体角,使得射线追踪信道建模的空间环境能够进行较为均匀地划分,保证空间环境中的每个区域都被考虑在内;且通过四棱锥立体角的划分,将判断整个空间环境内可见面的问题转化为判断每个四棱锥立体角内可见面的问题,实现了问题简化。
本发明中四棱锥立体角的数量N的计算过程为:
其中,为方位角数量,,为俯仰角数量,。
本发明中四棱锥立体角的顶点坐标为:
其中,表示第个四棱锥立体角,i表示方位角数量的索引,,j表示俯仰角数量的索引,,表示第个四棱锥立体角
中公共顶点球坐标,表示虚拟源的球坐标,表示第个四棱锥立体角的
底面第一顶点球坐标,表示第个四棱锥立体角的底面第二顶点球坐标,表示第个四棱锥立体角的底面第三顶点球坐标,表示第个四棱锥
立体角的底面第四顶点球坐标,r 0 表示四棱锥立体角的棱长。
步骤S2、将每个四棱锥立体角以对应的虚拟源为顶点,将四棱锥立体角划分成两个三角锥,由于三角锥的底面为三角形,使得后续步骤中可以更好地利用三角形的特性。
步骤S3、将射线追踪信道建模的空间环境中的物体表面划分成三角面元,以三角锥的虚拟源为投影中心,将所有三角面元投影到三角锥的底面上,得到投影三角形,并计算投影三角形中每个顶点的坐标;通过上述方法将判断三维空间环境内物体可见性的问题转化为判断二维平面上三角形是否相交的问题,实现问题简化。
本发明中投影三角形中每个顶点的坐标表示为:
其中,为三角面元中任一点投影前的坐标,为投影三角形中对应点的
坐标,S为虚拟源坐标,n为三角锥底面的单位法向量,d为常数,T表示转置,三角锥底面的方
程满足为。
步骤S4、依次判断所有投影三角形与三角锥底面是否有公共区域,若有公共区域,则将该三角面元作为可见面,将该三角面元的序号以及三角锥中心线方向上虚拟源到可见面的距离分别存进M×2的Zb矩阵的第一列和第二列,取Zb矩阵第二列非0部分中距离最小的三角面元作为该三角锥的可见面,可以有效地筛除由于被遮挡而不可见的面元,降低了射线追踪后续步骤的计算量,其中,M为射线追踪信道建模的空间环境中三角面元总数。
本发明中三角锥中心线方向上虚拟源到可见面的距离t的计算过程具体为:
其中,S为虚拟源的坐标,P0为三角锥底面三角形的中心的坐标,n为三角锥底面的单位法向量,d为常数,T表示转置。
本发明中判断投影三角形与三角锥底面是否有公共区域的方法包括:判断投影三角形与三角锥底面是否相交,若相交,则认为有公共区域;否则判断投影三角形与三角锥底面是否相互包含,若相互包含,则认为有公共区域,否则没有公共区域。
具体地,判断投影三角形与三角锥底面是否相交的方法包括如下步骤:
(a)分别以投影三角形的一条边和三角锥底面的一条边为对角线作矩形,记x 1min =min(x A ,x B ),x 1max =max(x A ,x B ),y 1min =min(y A ,y B ),y 1max =max(y A ,y B ),x 2min =min(x D ,x E ),x 2max =max(x D ,x E ),y 2min =min(y D ,y E ),y 2max =max(y D ,y E ),其中,x A 、x B 、x D 、x E 分别为投影三角形的一条边的顶点A、B、三角锥底面的一条边的顶点D、E的x轴坐标,y A 、y B 、y D 、y E 分别为投影三角形的一条边的顶点A、B、三角锥底面的一条边的顶点D、E的y轴坐标;
(b)判断逻辑值I 1是否为真:,
若为真,则投影三角形的一条边与三角锥底面的一条边不相交,否则判断I 2 是否为真:
,若为真,则投影
三角形的一条边与三角锥底面的一条边相交,投影三角形与三角锥底面有公共区域,停止
执行;其中,表示或,表示且,A表示A点坐标(x A ,y A ,z A ),B表示B点坐标(x B ,y B ,z B ), D表示D点
坐标(x D ,y D ,z D ), E表示E点坐标(x E ,y E ,z E );
(c)否则,依次对投影三角形的边和三角锥底面的边重复步骤(a)-(b),直至完成对所有投影三角形的边和三角锥底面的边的相交判断。
本发明中判断投影三角形与三角锥底面是否相互包含的方法具体为:
(e)计算投影三角形顶点到三角锥底面任一顶点的向量,将任意两个向量叉乘,若所有叉乘的结果同号,则待测的三角锥底面的顶点在投影三角形内部;否则,执行步骤(g);
(f)对于三角锥底面的另两个顶点重复步骤(e),当满足三角锥底面的三个顶点均在投影三角形的内部时,则投影三角形与三角锥底面有公共区域;否则执行步骤(g);
(g)计算三角锥底面顶点到投影三角形任一顶点的向量,将任意两个向量叉乘,若所有叉乘的结果同号,则待测的投影三角形顶点在三角锥底面内部;
(h)对于投影三角形的另两个顶点重复步骤(g),当满足投影三角形的三个顶点均在三角锥底面的内部时,则投影三角形与三角锥底面有公共区域;否则投影三角形与三角锥底面之间没有公共区域。
步骤S5、遍历所有三角锥,重复步骤S3-步骤S4,获得当前虚拟源在整个射线追踪信道建模的空间环境内的可见面;
步骤S6、将空间环境中的所有虚拟源依次重复步骤S1-步骤S5,得到所有虚拟源的可见面。
本发明适用于射线追踪信道建模的角度Z缓冲区优化方法将空间环境中的四棱锥立体角分割为三角锥,将空间环境中的物体表面分割为三角形面片,从而利用参与运算的几何对象均为三角形的特点,将判断三维空间中物体可见性的问题简化为判断二维平面上三角形是否相交的问题。在进行三角形是否相交的判断时,也只需进行一些简单的数学运算,不涉及复杂的运算。同时,由于任何物体表面都可以直接划分或近似划分为多个三角形面元,本发明的角度Z缓冲区优化方法可以有效地应用于复杂的场景,具有简单易行、灵活的特点。
实施例
如图3给出了本实施例中射线追踪信道建模的空间环境的场景,场景大小为8m×6m×3.5m,空间环境中的发射端与接收端如图4所示,其中,发射端Tx的坐标为(1.15,3.15,1.5)、第一个接收端Rx1的坐标为(0.3,0.4,1.5),第二个接收端Rx2的坐标为(5.9,0.6,1.5),第三个接收端Rx3的坐标为(3.3,2.6,1.5),第四个接收端Rx4的坐标为(6.7,3.2,1.5),第五个接收端Rx5的坐标为(1.9,5.0,1.5),第六个接收端Rx6的坐标为(0.8,5.5,1.5)。本实施例中角度Z缓冲区优化方法的具体过程为:
S1、以虚拟源为中心,设置方位角步长,俯仰角步长为,将空间划分
为18×18个四棱锥立体角;
S2、将每个四棱锥立体角以对应的虚拟源为顶点,将四棱锥立体角划分成两个三角锥;
S3、对每个三角锥,以虚拟源为投影中心,将空间环境中的三角面元投影到三角锥的底面上。如图3,S为虚拟源,SDEF为以S为顶点的三角锥,ABC为空间内的一个三角面元,将ABC投影到DEF所在的平面w,为方便表示,将三角锥的棱等比例延长,得到D’E’F’;
S4、判断三角锥底面三角形与投影三角形的位置关系,即判断二者是否有公共区域,若有公共区域,则可判断为可见面,将可见面的序号和其到虚拟源的距离存在一个矩阵内。对于图3所描述的例子,即判断三角形A’B’C’与三角形D’E’F’的位置关系。图3中三角形A’B’C’与三角形D’E’F’相交,因此面元ABC在该三角锥范围内可见。算得面元ABC在三角锥中线上到虚拟源S的距离t,将面元ABC的序号index 1 及距离t index1 分别存进Zb矩阵的第一列和第二列。对空间环境中的所有三角面元进行相同的操作,找出该三角锥范围内的所有可见面。最终得到Zb矩阵:
Zb为一个M×2的矩阵,其中M为空间内面元的数目,三角锥范围内有m个可见面,m ≤M,Zb未被填满的位置用0补齐,取Zb矩阵第二列非0部分中距离最小的三角面元作为该三角锥的可见面,
步骤S5、遍历所有三角锥,重复步骤S3-步骤S4,获得当前虚拟源在整个射线追踪信道建模的空间环境内的可见面;
步骤S6、将空间环境中的所有虚拟源依次重复步骤S1-步骤S5,得到所有虚拟源的可见面。
为了对适用于射线追踪信道建模的角度Z缓冲区优化方法进行评价,将同样空间场景下的参数应用于原始的镜像法和使用传统AZB方法的镜像法中,如图5-10给出了射线追踪在接收端为Rx1- Rx6的不同情况下应用原始的镜像法、使用传统AZB方法的镜像法以及使用本发明方法的镜像法得到的时延功率谱密度图,从图5-10中可以看出,利用传统AZB方法,在不同接收端均遗漏了部分路径,而应用本发明的方法得到的路径与原始镜像法得到的路径一致,且由于进行了可见面的筛选,不可见的面元将不再参与射线追踪后续步骤的运算,避免了大量的无效计算,因此本发明的运行效率远高于原始镜像法。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。