一种反向射线追踪方法和装置与流程

文档序号:14949067发布日期:2018-07-17 22:08阅读:307来源:国知局

本发明涉及定位领域,特别是涉及一种反向射线追踪方法和装置。



背景技术:

随着网络技术和通信技术的发展,位置服务变得日益重要,人们在陌生的城市可以非常容易的找到的目的地点,并能随时获得基于位置的服务推荐,产生了巨大的社会效益和经济效益。目前越来越多的应用需求,要求室内与室外一样可以获得精准的位置服务,例如机场商店的礼品位置推送、地下车库的自动泊车等。

目前室内定位主要有两种途径:一种是统计模型,由大量测量数据统计分析后导出信号强度在室内服从某种分布,但是一个传播模型只对应一个特定环境,无法应用到其他环境。

另一种是射线跟踪方法,基于几何光学理论,通过模拟射线的传播路径来分析空间中信号强度。反向射线跟踪算法是一种最常用的射线跟踪方法,该算法把空间中所有物体看作是有平面构成的,曲面可以有多个平面进行近似拼装,其次,以二次反射为例,网元(一级节点)关于全部平面做镜像点(二级节点),若有n个平面,则产生n个二级原点,再将这n个二级原点再次关于n个平面做镜像点,则产生n×n个二级镜像点。

实现的过程中,由接收点出发,反向追踪每一条能够从源点到达接收点的路径。但是当考虑多次反射如5次以上时,由于需要遍历空间中的每一个平面,由于空间中平面较多,导致计算过程非常复杂,射线跟踪效率较低。



技术实现要素:

本发明提供一种反向射线追踪方法和装置,用以解决现有技术的如下问题:反向射线跟踪算法在实现时,由于空间中平面较多,导致计算过程非常复杂,射线跟踪效率较低。

为解决上述技术问题,一方面,本发明提供一种反向射线追踪方法,包括:按照预定规则确定预定室内空间中所有反射面中的有效反射面,其中,所述有效反射面为会发生反射的反射面;基于所有的有效反射面按照反向射线追踪算法和虚拟镜像点算法确定待定位终端的位置。

可选的,按照预定规则确定预定室内空间中所有反射面中的有效反射面,包括:判断网元与第一预定物体预定平面中心点连接的线段之间是否存在与所述第一预定物体的其他交点;在不存在其他交点的情况下,确定所述中心点所在平面为有效反射面。

可选的,判断网元与第一预定物体预定平面中心点连接的线段之间是否存在与所述第一预定物体的其他交点,包括:为预定室内空间建立空间直角坐标系;在已建立的所述空间直角坐标系中确定所述网元的空间坐标、所述第一预定物体各个平面所包含的各个顶点的空间坐标和所述第一预定物体各个平面的平面方程;根据每个平面各个顶点的空间坐标确定每个平面对应的中心点的空间坐标;根据所述中心点的空间坐标和所述网元的空间坐标建立所述中心点与所述网元的直线方程;判断所述中心点与所述网元所在所述直线方程对应的线段上是否存在与所述第一预定物体的其他交点。

可选的,所述方法还包括:判断第一预定物体各个平面的平面方程和第二预定物体各个平面的平面方程中是否存在相同的平面方程;在存在相同的平面方程的情况下,获取平面方程相同的两个平面各自的顶点空间坐标;判断两个平面中的有效反射面各个顶点空间坐标是否处于另一平面的各个顶点空间坐标的范围内;在所述有效反射面各个顶点空间坐标处于所述另一平面的各个顶点空间坐标的范围内的情况下,将所述有效反射面重新确定为无效反射面。

可选的,基于所有的有效反射面按照反向射线追踪算法和虚拟镜像点算法确定待定位终端的位置,包括:按照虚拟镜像点算法依次根据每个有效反射面确定所述待定位终端与每个网元之间的多条反射路径;按照预定合成算法将每个网元与所述待定位终端间的多条反射路径合成为一条合成反射路径;在所述待定位终端存在四条合成反射路径的情况下,按照反向射线追踪算法根据所述四条合成反射路径对应的网元位置确定所述待定位终端的位置。

另一方面,本发明还提供一种反向射线追踪装置,包括:确定模块,用于按照预定规则确定预定室内空间中所有反射面中的有效反射面,其中,所述有效反射面为会发生反射的反射面;定位模块,用于基于所有的有效反射面按照反向射线追踪算法和虚拟镜像点算法确定待定位终端的位置。

可选的,所述确定模块,具体用于:判断网元与第一预定物体预定平面中心点连接的线段之间是否存在与所述第一预定物体的其他交点;在不存在其他交点的情况下,确定所述中心点所在平面为有效反射面。

可选的,所述确定模块,具体用于:为预定室内空间建立空间直角坐标系;在已建立的所述空间直角坐标系中确定所述网元的空间坐标、所述第一预定物体各个平面所包含的各个顶点的空间坐标和所述第一预定物体各个平面的平面方程;根据每个平面各个顶点的空间坐标确定每个平面对应的中心点的空间坐标;根据所述中心点的空间坐标和所述网元的空间坐标建立所述中心点与所述网元的直线方程;判断所述中心点与所述网元所在所述直线方程对应的线段上是否存在与所述第一预定物体的其他交点。

可选的,所述确定模块,还用于:判断第一预定物体各个平面的平面方程和第二预定物体各个平面的平面方程中是否存在相同的平面方程;在存在相同的平面方程的情况下,获取平面方程相同的两个平面各自的顶点空间坐标;判断两个平面中的有效反射面各个顶点空间坐标是否处于另一平面的各个顶点空间坐标的范围内;在所述有效反射面各个顶点空间坐标处于所述另一平面的各个顶点空间坐标的范围内的情况下,将所述有效反射面重新确定为无效反射面。

可选的,所述定位模块,具体用于:按照虚拟镜像点算法依次根据每个有效反射面确定所述待定位终端与每个网元之间的多条反射路径;按照预定合成算法将每个网元与所述待定位终端间的多条反射路径合成为一条合成反射路径;在所述待定位终端存在四条合成反射路径的情况下,按照反向射线追踪算法根据所述四条合成反射路径对应的网元位置确定所述待定位终端的位置。

本发明按照预定规则确定预定室内空间中所有反射面中的有效反射面,后续,基于所有的有效反射面进行计算和处理,该过程大大减少了预定空间中需要跟踪的反射面的数量,计算量大大减少,提高了射线跟踪效率,解决了现有技术的如下问题:反向射线跟踪算法在实现时,由于空间中平面较多,导致计算过程非常复杂,射线跟踪效率较低。

附图说明

图1是本发明第一实施例中反向射线追踪方法的流程图;

图2是本发明第二实施例中反向射线追踪装置的结构示意图;

图3是本发明第三实施例中有效反射面的确定过程的示意图;

图4是本发明第三实施例中无效反射面确定过程的示意图。

具体实施方式

为了解决现有技术的如下问题:反向射线跟踪算法在实现时,由于空间中平面较多,导致计算过程非常复杂,射线跟踪效率较低;本发明提供了一种反向射线追踪方法和装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明第一实施例提供了一种反向射线追踪方法,该方法的流程如图1所示,包括步骤s102至s104:

s102,按照预定规则确定预定室内空间中所有反射面中的有效反射面,其中,有效反射面为会发生反射的反射面;

s104,基于所有的有效反射面按照反向射线追踪算法和虚拟镜像点算法确定待定位终端的位置。

本发明实施例按照预定规则确定预定室内空间中所有反射面中的有效反射面,后续,基于所有的有效反射面进行计算和处理,该过程大大减少了预定空间中需要跟踪的反射面的数量,计算量大大减少,提高了射线跟踪效率,解决了现有技术的如下问题:反向射线跟踪算法在实现时,由于空间中平面较多,导致计算过程非常复杂,射线跟踪效率较低。

在按照预定规则确定预定室内空间中所有反射面中的有效反射面的过程中,需要判断网元与第一预定物体预定平面中心点连接的线段之间是否存在与第一预定物体的其他交点;如果不存在其他交点,确定中心点所在平面为有效反射面。当然了,相对应的,如果存在其他交点,就可以确定中心点所在平面为无效反射面,无效反射面是与有效反射面相对应的,是后续不需要考虑的反射面。

在判断网元与第一预定物体预定平面中心点连接的线段之间是否存在与第一预定物体的其他交点的过程中,可以为预定室内空间建立空间直角坐标系;随后,在已建立的空间直角坐标系中确定网元的空间坐标、第一预定物体各个平面所包含的各个顶点的空间坐标和第一预定物体各个平面的平面方程;再根据每个平面各个顶点的空间坐标确定每个平面对应的中心点的空间坐标;根据中心点的空间坐标和网元的空间坐标建立中心点与网元的直线方程;最后再判断中心点与网元所在直线方程对应的线段上是否存在与第一预定物体的其他交点。通过上述过程,可以简单的建立网元与预定室内空间中任何物体的关系,操作过程简单。

在确定了一个物体的无效反射面和有效反射面之后,还需要看该物体是否被遮挡或遮挡其他物体等,因此,还需要判断第一预定物体各个平面的平面方程和第二预定物体各个平面的平面方程中是否存在相同的平面方程。

在存在相同的平面方程的情况下,说明两个物体有一个平面是相互挨靠着的,因此,就可能导致其中的一个物体的一个平面被遮挡,所以,需要获取平面方程相同的两个平面各自的顶点空间坐标;判断两个平面中的有效反射面各个顶点空间坐标是否处于另一平面的各个顶点空间坐标的范围内;在有效反射面各个顶点空间坐标处于另一平面的各个顶点空间坐标的范围内的情况下,将有效反射面重新确定为无效反射面。

在确定了有效反射面后,就可以基于所有的有效反射面按照反向射线追踪算法和虚拟镜像点算法确定待定位终端的位置,其过程如下:按照虚拟镜像点算法依次根据每个有效反射面确定待定位终端与每个网元之间的多条反射路径;按照预定合成算法将每个网元与待定位终端间的多条反射路径合成为一条合成反射路径;在待定位终端存在四条合成反射路径的情况下,就可以按照反向射线追踪算法根据四条合成反射路径对应的网元位置确定待定位终端的位置。

本发明第二实施例提供了一种反向射线追踪装置,该装置的结构示意如图2所示,包括:确定模块10,用于按照预定规则确定预定室内空间中所有反射面中的有效反射面,其中,有效反射面为会发生反射的反射面;定位模块20,与确定模块10耦合,用于基于所有的有效反射面按照反向射线追踪算法和虚拟镜像点算法确定待定位终端的位置。

其中,确定模块10具体用于:判断网元与第一预定物体预定平面中心点连接的线段之间是否存在与第一预定物体的其他交点;在不存在其他交点的情况下,确定中心点所在平面为有效反射面。

实现时,上述确定模块10具体用于:为预定室内空间建立空间直角坐标系;在已建立的空间直角坐标系中确定网元的空间坐标、第一预定物体各个平面所包含的各个顶点的空间坐标和第一预定物体各个平面的平面方程;根据每个平面各个顶点的空间坐标确定每个平面对应的中心点的空间坐标;根据中心点的空间坐标和网元的空间坐标建立中心点与网元的直线方程;判断单元,用于判断中心点与网元所在直线方程对应的线段上是否存在与第一预定物体的其他交点。

进一步,上述的确定模块10,还可以用于判断第一预定物体各个平面的平面方程和第二预定物体各个平面的平面方程中是否存在相同的平面方程;在存在相同的平面方程的情况下,获取平面方程相同的两个平面各自的顶点空间坐标;判断两个平面中的有效反射面各个顶点空间坐标是否处于另一平面的各个顶点空间坐标的范围内;在有效反射面各个顶点空间坐标处于另一平面的各个顶点空间坐标的范围内的情况下,将有效反射面重新确定为无效反射面。

上述定位模块20具体用于:按照虚拟镜像点算法依次根据每个有效反射面确定待定位终端与每个网元之间的多条反射路径;按照预定合成算法将每个网元与待定位终端间的多条反射路径合成为一条合成反射路径;在待定位终端存在四条合成反射路径的情况下,按照反向射线追踪算法根据四条合成反射路径对应的网元位置确定待定位终端的位置。

基于上述实施方式的描述,本领域技术人员可以知晓上述反向射线追踪装置可以以一个独立的设备存在,其在设置时可以是一个单独的存储介质,上述的确定模块和定位模块都可以集成在设备的处理器中,以程序代码的方式实现。

本发明第三实施例提供了一种反向射线跟踪的预处理方法。在网元位置及数量不变的情况下,只需进行一次预处理,删除物体的不可见面,减少在定位过程中计算的反射面(同理折射、绕射),能够极大提高射线跟踪效率;同时通过本方法能够有效地排除无效的反射面,加快射线跟踪的速度。该方法包括如下步骤:

步骤1:首先对室内空间建立空间直角坐标系。以房屋左侧后端顶点为坐标原点o,以原点o指向南的方向为x坐标轴的正方向,以原点o指向西的方向为y坐标轴的正方向,以原点o指向地心的反方向为z坐标轴的正方向。

步骤2:对室内的任意物体ω(假设为六面体)建立一个属性元组a=(b,c),其中,b为六面体的6个面的平面方程的集合,c为六面体中每个面所包含的四个顶点的集合。

步骤3:确定网元(空间中发射信号的成为网元,多为基站)的空间坐标。

步骤4:确定六面体的每个面的中心点位置,坐标e=(x1,y1,z1)。

步骤5:在确定每个面的中心坐标后,计算每个面中心点与网元的直线方程,通过平面可见方法判定物体的哪个面为有效反射面。

其中,平面可见方法如下:确定物体的每个面中四个顶点的坐标的取值范围,分别求出任意一个面的中心点与网元所确定的直线方程分别与物体六个面中可能存在的交点;若交点在六个面中任意一个面的四个顶点的范围内,则继续判断该点指向网元的方向线段上是否还有其他交点落在物体上;如果没有,则说明该中心点所在的平面为可见的有效反射面;否则为不可见的无效反射面。

步骤6:记录每个网元和每个物体所具有的可见面。

在实现过程中,还需要看该物体是否被遮挡或遮挡其他物体,因此,还需要进行如下处理过程:

步骤1:判断任意两个物体的任意面的平面方程是否相等。如果相等,则执行步骤2;否则执行步骤5。

步骤2:获取两个平面的顶点坐标,计算两个平面的面积。

步骤3:将面积较小平面中的每一个点空间坐标与面积较大平面的所有点中相应的x坐标、y坐标、z坐标进行最大值和最小值比较。实现时,如果两个面积相等,则随意取一个平面作为面积较小的平面来进行判断。

步骤4:若面积较小面中的所有点均满足x坐标、y坐标、z坐标均大于等于面积较大物体中的x坐标、y坐标、z坐标的最小值,且小于等于x坐标、y坐标、z坐标的最大值,则判定面积较小的平面为无效反射面,并将其删除。否则,为有效反射面。实现的过程中,不论面积较小的平面之前是否为有效反射面,都进行重新判定。

步骤5:结束。

本实施例在网元位置及数量不变的情况下,只需进行一次预处理,能够大大提高射线跟踪效率;还能够有效地排除无效的反射平面,加快射线跟踪的速度。

下面结合附图对上述过程进行详细说明。

如图3所示,图中由任意物体ω和网元q组成,在图3中将房屋省略。

首先,对室内空间建立空间直角坐标系,以房屋左侧后端顶点为坐标原点o,以原点o指向南的方向为x坐标轴的正方向,以原点o指向西的方向为y坐标轴的正方向,以原点o指向地心的反方向为z坐标轴的正方向。对室内的任意物体ω建立一个属性元组a=(b,c),其中b为六面体的6个面的平面方程的集合,c为六面体中每个面所包含的四个顶点的集合。

根据室内的物体(假设为六面体)以及网元所在的空间位置,确定物体的每个顶点以及网元的空间坐标,假设顶点ai=(ai(x),ai(y),ai(z))网元q的坐标为(q1,q2,q3)。找到六面体的每个面的中心点位置,并确定其坐标假设中心点bi=(bi(x),bi(y),b(z))。

在确定每个面的中心坐标后,计算每个面中心点与网元的直线方程,假设中心点bi与网元q的直线方程为li,以直线l1为例,直线l1与平面a1a4a7a6交于点b1,同时也与底面a1a2a3a4交于s点。因为b1点坐标落在面a1a4a7a6内(记大于相应坐标的最小值同时又小于相应坐标的最大值),且b1q的线段上没有其它交点落在物体上,则中心点b1所在的平面为可见的有效反射面。同时,再以直线l5为例,直线l5与平面a1a2a3a4交于b5,同时又与平面a1a4a7a6交于s1,b5坐标落在平面a1a2a3a4内(记大于相应坐标的最小值同时又小于相应坐标的最大值)。但在线段b5q上还有交点s1,则说明中心点所所在的平面a1a2a3a4为不可见的无效反射面。

如图4所示,图中包含两个物体,网元在靠近物体2的一侧,在图4中将房屋省略。

首先,判断室内任意两个物体的任意面的平面方程是否相等。在本实例中,物体1的面a3b3c3d4与物体2的面abcd相同,则获取两个平面的顶点坐标,计算两个平面的面积。在本实例中物体1的面积小于物体2。

然后,将平面a3b3c3d4的物体中每一个点的空间坐标与面积较大的平面abcd的物体中相应的x坐标,y坐标,z坐标进行最大值和最小值比较。在本实例中,平面a3b3c3d4中的所有点均满足,x坐标、y坐标、z坐标大于等于面abcd物体中的x坐标、y坐标、z坐标的最小值,且小于等于x坐标、y坐标、z坐标的最大值,所以判定面平面a3b3c3d4为无效反射面并将其删除。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明上述各个实施例。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1