基于协作节点的定位方法、待定位节点及协作节点与流程

文档序号:14685255发布日期:2018-06-12 23:22
基于协作节点的定位方法、待定位节点及协作节点与流程

本申请涉及定位技术领域,更具体的说,尤其涉及基于协作节点的定位方法、待定位节点及协作节点。



背景技术:

室内定位技术是指在室内环境中对室内对象进行导航和跟踪的技术,其中室内定位技术中常用的一种定位技术是测距定位技术,所述测距定位技术的原理是:对待定位节点和锚节点之间进行距离测量,得到多组距离信息,再利用多组距离信息通过类似三角定位等定位算法来定位待定位节点的位置。其中待定位节点是需要通过室内定位技术来获取位置信息的节点,锚节点是已知位置信息,且用于与待定位节点进行距离测量的节点。

如图1协作定位框架,在此协作定位框架中以AP(Access Point,接入节点)作为锚节点,以STA为待定位节点,位于AP和待定位节点周围的协作节点Sn(具体来说可以是图1中的S2、S3或S4)可以作为监听节点,其中监听节点是用来协同AP对STA进行定位的节点,定位过程如下:

STA向AP发起FTM请求,AP在接收到FTM请求后发起FTM测量,由AP发送FTM action frame(精确时间测量帧);STA在接收到FTM action frame后发送精确时间测量响应帧,如发送精确时间测量响应帧的一种可行方式ACK(Acknowledgement,确认字符)。在AP发送FTM action frame和STA发送ACK的过程中,AP会获取FTM action frame的发送时刻以及ACK的接收时刻,STA会获取FTM action frame的接收时刻以及ACK的发送时刻,同样的各个协作节点Sn也会各自获取t2_Sn和t3_Sn,其中t2_Sn是各个协作节点Sn各自接收FTMaction frame的接收时刻,t3_Sn是各个协作节点Sn各自接收ACK的接收时刻。

之后各个协作节点Sn会将各自获取的时刻信息(t2_Sn和t3_Sn)和各自的位置信息发送至AP,由AP将所有的时刻信息、AP的位置信息和各个Sn各自的位置信息发送给STA,由STA根据这些信息来计算得到STA的位置信息,其中AP发送的所有的时刻信息包括:各个Sn各自获取的时刻信息、AP获取的FTMaction frame的发送时刻以及ACK的接收时刻。

但是在图1中AP无法侦测其通信范围之外的其他AP的发送动作,故其他AP成为图1中AP的隐藏终端,在AP向STA发送FTM action frame以及STA向AP反馈ACK帧的过程中,其他AP也可能向STA发送FTM action frame,导致多个AP发送的FTM action frame同时到达STA,导致信息冲突,最终使得发送至STA的信息都丢失,因此在目前室内定位技术中如何降低隐藏终端威胁的概率是亟需解决的技术问题。



技术实现要素:

本申请提供一种基于协作节点的定位方法、待定位节点及协作节点,以降低隐藏终端威胁的概率。技术方案如下:

本申请的第一方面提供一种基于协作节点的定位方法,所述方法由待定位节点执行,所述方法包括:获取可与所述待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,所述协作定位节点列表中记录有可与所述协作定位节点列表对应的所述协作节点直接通信的节点的信息,所述可与所述协作定位节点列表对应的所述协作节点直接通信的节点是:可与所述写作定位节点列表对应的所述协作节点进行通信时不需要其他节点中转的节点;从各个协作节点各自对应的协作定位节点列表中,选取与所述待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点,所述待定位节点的目标列表中记录有可与所述待定位节点直接通信的协作节点的节点信息;通过锚节点和各个监听节点对所述待定位节点进行定位,所述锚节点为所选取的所述协作节点,所述各个监听节点为所述锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点,以使定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

本申请的第二方面提供一种待定位节点,所述待定位节点包括:获取单元,用于获取可与所述待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,所述协作定位节点列表中记录有所述协作定位节点列表对应的所述协作节点的直接通信范围内可进行协作定位的节点信息;选取单元,用于从各个协作节点各自对应的协作定位节点列表中,选取与所述待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点,所述待定位节点的目标列表中记录有可与所述待定位节点直接通信的协作节点的节点信息;定位单元,用于通过锚节点和各个监听节点对所述待定位节点进行定位,所述锚节点为所选取的所述协作节点,所述各个监听节点为述锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点,以使定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

在一种实现方式中,所述获取可与所述待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,包括:广播发送协作定位请求,所述协作定位请求用于获取协作定位节点列表;接收可与所述待定位节点直接通信的各个协作节点各自发送的协作定位响应消息,所述协作定位响应消息中至少携带有:所述协作定位节点列表和所述协作节点的位置信息;或者所述获取可与所述待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,包括:接收各个协作节点各自推送的消息,所述消息中携带有:所述协作节点对应的协作定位节点列表,以在各个协作节点的协作节点列表更新后,能够及时获取更新后的协作定位节点列表。

在一种实现方式中,所述从各个协作节点各自对应的协作定位节点列表中,选取与所述待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点,包括:将各个协作定位节点列表中的各个协作节点的标识信息依次与所述待定位节点的目标列表中的各个协作节点的标识信息进行比对,获取标识信息相同的协作节点;计算各个协作定位节点列表中标识信息相同的协作节点的数量;选取标识信息相同的协作节点的数量最多的协作定位节点列表对应的协作节点。

在一种实现方式中,所述从各个协作节点各自对应的协作定位节点列表中,选取与所述待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点,包括:获取各个协作定位节点列表中所包括的协作节点的数量;从所包括的协作节点的数量最多的所述协作定位节点列表开始,将所述协作定位节点列表中的各个协作节点的标识信息与所述待定位节点的目标列表中的各个协作节点的标识信息进行比对,获取标识信息相同的协作节点;当比对的协作定位节点列表中标识信息相同的协作节点的数量大于或等于剩余的且未比对的协作定位节点列表中协作节点的数量时,选取标识信息相同的协作节点的数量大于或等于剩余的协作定位节点列表中协作节点的数量的协作定位节点列表对应的协作节点,以降低比对次数,提高定位效率。

在一种实现方式中,所述方法还包括:更新可与所述待定位节点可直接通信的各个协作节点的信息,以确保节点之间的通信正常。

在一种实现方式中,所述通过所述锚节点和各个监听节点以对所述待定位节点进行定位,包括:获取锚节点的位置信息、锚节点发送精确时间测量帧的发送时刻和锚节点接收精确时间测量响应帧的第二接收时刻;获取待定位节点接收所述精确时间测量的第一接收时刻和待定位节点发送所述精确时间测量响应帧的发送时刻;获取各个监听节点各自的位置信息、各个监听节点各自接收所述精确时间测量帧的接收时刻和各个监听节点各自接收所述精确时间测量响应帧的接收时刻;根据所述锚节点的位置信息、锚节点发送精确时间测量帧的发送时刻、锚节点接收精确时间测量响应帧的第二接收时刻、待定位节点接收所述精确时间测量的第一接收时刻、待定位节点发送所述精确时间测量响应帧的发送时刻、各个监听节点各自的位置信息、各个监听节点各自接收所述精确时间测量帧的接收时刻和各个监听节点各自接收所述精确时间测量响应帧的接收时刻,得到所述待定位节点的位置信息,以消除待定位节点、锚节点和各个监听节点各自内部时钟无法对齐引起的误差,从而提高计算精度。

本申请的第三方面提供一种基于协作节点的定位方法,所述方法由与待定位节点进行通信的一个协作节点执行,所述方法包括:向所述待定位节点发送所述协作节点的协作定位节点列表,所述协作定位节点列表中记录有用于协助所述协作节点对所述待定位节点进行定位的其他协作节点各自的信息;当所述协作节点的协作定位节点列表与所述待定位节点的目标列表中相同协作节点的数量多于其他协作节点的协作定位节点列表与所述目标列表中相同协作节点的数量时,所述协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,所述各个监听节点为所述锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点,所述待定位节点的目标列表中记录有可与所述待定位节点直接通信的协作节点的节点信息,以使定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

本申请的第四方面提供一种协作节点,所述协作节点为与待定位节点进行通信的一个协作节点,所述协作节点包括:发送单元,用于向所述待定位节点发送所述协作节点的协作定位节点列表,所述协作定位节点列表中记录有用于协助所述协作节点对所述待定位节点进行定位的其他协作节点各自的信息;定位单元,用于当所述协作节点的协作定位节点列表与所述待定位节点的目标列表中相同协作节点的数量多于其他协作节点的协作定位节点列表与所述目标列表中相同协作节点的数量时,所述协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,所述各个监听节点为所述锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点,所述待定位节点的目标列表中记录有可与所述待定位节点直接通信的协作节点的节点信息,以使定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

在一种实现方式中,所述向所述待定位节点发送所述协作节点的协作定位节点列表,包括:在接收到待定位节点广播发送的协作定位请求后,向所述待定位节点发送协作定位响应消息,所述协作定位响应消息中至少携带有:所述协作定位节点列表和所述协作节点的位置信息;或者所述向所述待定位节点发送所述协作节点的协作定位节点列表,包括:向所述待定位节点推送消息,所述消息中携带有:所述协作节点的协作定位节点列表,以在各个协作节点的协作节点列表更新后,能够及时获取更新后的协作定位节点列表。

在一种实现方式中,所述方法还包括:更新所述协作节点的协作定位节点列表,以确保节点之间的通信正常。

在一种实现方式中,所述协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,包括:向各个监听节点发送监听指示,以触发各个监听节点各自获取接收精确时间测量帧的接收时刻和各个监听节点各自获取接收精确时间测量应答帧的接收时刻;获取所述锚节点的位置信息、所述锚节点发送精确时间测量帧的发送时刻和所述锚节点接收精确时间测量应答帧的第二接收时刻;发送所述锚节点的位置信息、所述锚节点接收精确时间测量帧的发送时刻和所述锚节点接收精确时间测量应答帧的第二接收时刻,以消除待定位节点、锚节点和各个监听节点各自内部时钟无法对齐引起的误差,从而提高计算精度。

本申请的第五方面提供一种待定位节点,包括:通信组件、存储器和处理器,所述处理器用于执行第一方面以及上述应用于待定位节点的所有实现方式提供的定位方法。

本申请的第六方面提供一种存储介质,所述存储介质上记录有用于执行第一方面以及上述应用于待定位节点的所有实现方式提供的定位方法的程序代码。

本申请的第七方面提供一种协作节点,包括:通信组件、存储器和处理器,所述处理器用于执行第三方面以及上述应用于协作节点的所有实现方式提供的定位方法。

本申请的第八方面提供一种存储介质,所述存储介质上记录有用于执行第三方面以及上述应用于待定位节点的所有实现方式提供的定位方法的程序代码。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。

图1为协议定位框架的示意图;

图2为AP成为隐藏终端的示意图;

图3为本申请实施例提供的基于协作节点的定位方法的流程图;

图4为本申请实施例提供的一种应用场景的示意图;

图5为本申请实施例提供的另一种应用场景的示意图;

图6为本申请实施例提供的再一种应用场景的示意图;

图7为本申请实施例提供的待定位节点的一种结构示意图;

图8为本申请实施例提供的待定位节点的另一种结构示意图;

图9为本申请实施例提供的待定位节点的再一种结构示意图;

图10为本申请实施例提供的待定位节点的再一种结构示意图;

图11为本申请实施例提供的待定位节点的再一种结构示意图;

图12为本申请实施例提供的协作节点的一种结构示意图;

图13为本申请实施例提供的协作节点的另一种结构示意图;

图14为本申请实施例提供的协作节点的再一种结构示意图。

具体实施方式

在图1所示的基于AP和STA之间进行FTM通信的协作定位框架中,协作节点Sn对待定位节点STA和锚节点AP之间的FTM测量进行监听,具体的,待定位节点STA和锚节点AP之间的FTM测量包括:AP向STA发送FTMaction frame,STA在接收到FTM action frame后向AP反馈ACK帧。

但是在无线通信领域中,每个AP的无线通信范围有限,导致多个AP向STA发送的信息冲突,如图2所示。在图2中圆圈所示范围为一个AP(记为AP1)的无线通信范围,另一个AP(记为AP2)位于AP1的无线通信范围之外,这样AP1在向STA发送FTM action frame时,AP2无法侦测到AP1何时向STA发送FTM action frame,使得AP2成为AP1的隐藏终端,使得AP1和AP2可能同时将FTMaction frame发送至STA,导致信息冲突,最终使得发送至STA的信息都丢失,因此如何降低隐藏终端威胁的概率是亟需解决的技术问题。

图3所示为本申请实施例所提供的基于协作节点的定位方法的流程图,应用于上述图2和图1所示待定位节点STA和协作节点Sn中,用以降低隐藏终端威胁的概率,在对待定位节点STA的位置信息进行定位时,STA、锚节点和协作节点执行以下步骤:

301:STA广播发送协作定位请求,用于获取协作定位节点列表。其中STA采用协作定位请求标识来表明发送的请求时协作定位请求,且未对协作定位请求中携带信息不做特殊规定。

302:协作节点接收协作定位请求并能参与协作定位的协作节点,如图3中的协作节点Sn(n=a)和Sm(m≠a)向STA发送协作定位响应消息,其中协作定位响应消息中携带:协作节点自身的协作定位节点列表和自身的位置信息,所述协作定位节点列表中记录有与所述协作定位节点列表对应的所述协作节点的直接通信的节点的信息。而接收协作定位请求并能参与协作定位的协作节点为可与STA直接通信的协作节点,即不需要其他节点中转的协作节点。

STA通过上述步骤301至步骤302获取可与STA直接通信的各个协作节点各自对应的协作定位节点列表,当然STA还可以通过其他方式来获取各个协作节点的协作定位节点,如图3中的步骤401:接收各个协作节点各自推送的消息,其中消息中携带有:所述协作节点的协作定位节点列表。

303:STA从各个协作节点各自对应的协作定位节点列表中,选取与待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点,如图3中协作节点Sn(n=a)的协作定位节点列表中与目标列表中具有相同协作节点的数量最多。其中目标列表中记录有可与STA直接通信的协作节点的节点信息。

304:STA将所选取的协作节点确定为STA的锚节点,将锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点分别确定为监听节点,如将协作节点Sn(n=a)确定为锚节点,而锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点Sm(m≠a)分别确定为监听节点。

305:STA向Sn(n=a)发送FTM请求。

306:Sn(n=a)发送ACK,以指示对STA进行定位。Sn(n=a)的各个监听节点Sm(m≠a)在接收到ACK后,可以在对STA进行定位时STA和Sn(n=a)之间交互的FTM_K和ACK_K进行监听。即Sn(n=a)在接收到FTM请求发送的ACK可以作为触发监听节点进行监听的监听指令的一种实现方式。其中FTM_K表示Sn(n=a)第K次发送FTMaction frame,ACK_K表示STA第K次发送ACK。

307:Sn(n=a)发送FTM_K,并获取FTM_K的发送时刻t1。

308:STA获取接收FTM_K的第一接收时刻t2。

309:各个Sm(m≠a)获取各自接收FTM_K的接收时刻t2_Sm。

310:STA发送ACK_K,并获取ACK_K的发送时刻t3。其中ACK_K是精确时间测量响应帧的一种实现方式。

311:Sn(n=a)获取接收ACK_K的第二接收时刻t4。

312:各个Sm(m≠a)获取各自接收ACK_K的接收时刻t3_Sm。

313:Sn(n=a)获取自身的坐标,并向STA发送自身的坐标、ACK_K的发送时刻t3和第一接收时刻t2。

314:各个Sm(m≠a)获取各自对应的坐标,并向STA发送各自对应的坐标、各自接收FTM_K的接收时刻t2_Sm和各自接收ACK_K的接收时刻t3_Sm。

315:STA根据公式1:TOF(Sn-STA)=((t4-t1)-(t3-t2))/2(公式1),计算Sn和STA间的飞行时间。

316:STA根据公式2:

TOP(STA-Sm)-TOF(Sn-Sm)=t3_Sm-t2_Sm+(t2-t3)-TOP(Sn-STA)(公式2),计算监听节点Sm和Sn的飞行时间与监听节点Sm和STA的飞行时间的差。

317:STA根据公式3:

计算STA的坐标。其中(x,y)表示STA的坐标,(an,bn)表示锚节点Sn的坐标,(am,bm)表示监听节点Sm的坐标,c是光速,且c等于3*10^8。从公式1、公式2和公式3可知,公式3的等式右侧可以根据上述各个时刻和光速相乘得到,且公式3中包括两个未知量,分别是x和y,因此至少需要两个方程式,即在计算STA的坐标时,至少需要一个锚节点和一个监听节点,并且在本申请实施例中,以坐标表示各个节点的位置信息。

在这里需要说明的一点是:STA、Sn(n=a)和Sm(m≠a)需要更新可通信的各个协作节点的信息,更新信息的目的在于对应的协作节点是否仍然可以进行通信,以确保节点之间的通信正常,

318:STA更新可与其直接通信的各个协作节点的信息。

319:Sn(n=a)和Sm(m≠a)分别更新自身的协作定位节点列表,以更新协作定位节点列表中各个协作节点的信息。

在本申请实施例中,如何更新则是根据协作节点的使用时间来定,比如协作节点的信息中添加有时间戳,所述时间戳用于指示协作节点的使用时间,当时间戳指示的使用时间在当前时间内时增加对应的协作节点,而当时间戳指示的使用时间不再当前时间内时删除对应的协作节点;又或者为每个协作节点设置定时器,如果超时则删除对应的协作节点;又或者在获取协作节点的信息时就知道协作节点的使用时间,当使用时间在当前时间内时增加对应的协作节点,而当使用时间不在当前时间内时删除对应的协作节点。

从图3所示过程可知,本申请实施例中获取可与待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,从各个协作节点各自对应的协作定位节点列表中,选取与待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点;通过锚节点和各个监听节点对待定位节点进行定位,锚节点为所选取的协作节点,各个监听节点为锚节点对应的协作定位节点列表与目标列表中相同的各个协作节点,使得定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

下面以三个应用场景来阐述如何选取协作节点来降低隐藏终端威胁的概率:

一个应用场景:针对协作节点的类型相同,且协作节点的类型均是AP或者STA的情况,如图4所示,u是待定位节点,S1-S5是u能直接通信的协作节点,其中每个协作节点的协作定位节点列表中记录的可参与协作定位的协作节点各不相同,比如S1的可参与协作定位的协作节点包括S2和S3,S4的可参与协作定位的协作节点包括S2、S3和S5。待定位节点u会在协作节点S1-S5中选取和u的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点作为锚节点,在本申请实施例中是S2。因为u的目标列表U(S1、S2、S3、S4、S5)和S2的协作定位节点列表S2(S1、S3、S4、S5)的交集为(S1、S3、S4、S5),具有相同协作节点的数量最多,这就意味着S2为锚节点时,一共会有(S1、S3、S4、S5)四个监听节点参与FTM测量,这样相对于其他协作节点作为锚节点来说,参与协作定位的协作节点的数量达到最大,从而降低隐藏终端威胁的概率。

另一个应用场景:针对协作节点的类型不同,且多个协作节点的类型包含AP和STA的情况,这时只有AP会分享自身的协作定位节点列表。如图5所示,u是待定位节点,S2和S5是u能直接通信的协作节点,其中每个协作节点的协作定位节点列表中记录的可参与协作定位的协作节点各不相同,比如S2的可参与协作定位的协作节点包括S1、S3、S4和S5,S5的可参与协作定位的协作节点包括S2、S3和S4。u会在协作节点S2和S5中选取和u的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点作为锚节点,在本申请实施例中是S2。因为u的目标列表U(S1、S2、S3、S4、S5)和协作节点S2的协作定位节点列表S2(S1、S3、S4、S5)的交集为(S1、S3、S4、S5),具有相同协作节点的数量最多,这就意味着S2为锚节点时,一共会有(S1、S3、S4、S5)四个监听节点参与FTM测量,这样参与协作定位的协作节点数量达到最大,从而降低隐藏终端威胁的概率。

再一个应用场景:针对协作节点的类型不同,且多个协作节点的类型中包含一个AP和STA的情况,这时要求AP和STA都会分享各自的协作定位节点列表。如图6所示,u是待定位节点,S1-S5是u能直接通信的协作节点,其中每个协作节点的协作定位节点列表中记录的可参与协作定位的协作节点各不相同,比如S1的可参与协作定位的协作节点包括S2和S3,S4的可参与协作定位的协作节点包括S2、S3和S5。u会在协作节点S1-S5中选取和自己的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应协作节点作为锚节点,在本申请实施例中是S2。因为u的目标列表U(S1、S2、S3、S4、S5)和协作节点S2的协作定位节点列表S2(S1、S3、S4、S5)的交集为(S1、S3、S4、S5),具有相同协作节点的数量最多,这就意味着S2为锚节点时,一共会有(S1、S3、S4、S5)四个监听节点参与FTM测量,这样参与协作定位的协作节点数量达到最大,从而降低隐藏终端威胁的概率。

从上述三个应用场景可知,选取协作节点的可行方式包括但不限于下述两种方式:

一种方式是:将S1-S5这五个协作节点的协作定位节点列表中的各个协作节点的标识信息依次与u的目标列表中的各个协作节点的标识信息进行比对,发现S1-S5这五个协作节点的协作定位节点列表中与协作节点中标识信息相同的协作节点的数量分别是2、4、3、3和3,则可以选取数量4对应的协作节点S2作为锚节点。

另一种方式是:S1-S5这个协作节点的协作定位节点列表中所包括的协作节点的数量是2、4、3、3和3,则以S2至S5再S1的比对顺序首先将S2的协作定位节点列表中的各个协作节点的标识信息与u的目标列表中的各个协作节点的标识信息进行比对,发现S2与u中标识信息相同的协作节点的个数为4个,而这个数量明显大于S3至S5以及S1各自对应的协作定位节点列表中包括的协作节点的数量,因此可以选取协作节点S2作为锚节点。

将本申请实施例提供的方法选择RSSI(Received Signal Strength Indicator,接收信号强度指示)最大的3个待定位节点进行测距,在winprol仿真平台对上述三个应用场景进行定位测试,且定位测试采用的算法是:三角测距+质心定位算法,定位结果如表1所示,可以发现选择协作节点S2为锚节点时,定位误差最小。

表1定位结果

请参阅图7,其示出了本申请实施例提供的上述图3所示待定位节点的结构,待定位节点可以包括:获取单元11、选取单元12、定位单元13和更新单元14。

获取单元11,用于获取可与待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,协作定位节点列表中记录有协作定位节点列表对应的协作节点的直接通信范围内可进行协作定位的节点信息。

在本申请实施例中,获取单元11获取可与待定位节点直接通信的各个协作节点各自对应的协作定位节点列表的一种实现方式是:获取单元11用于接收各个协作节点各自推送的消息,消息中携带有:协作节点的协作定位节点列表。

又或者

获取单元11可以采用图8所示结构来获取可与待定位节点直接通信的各个协作节点各自对应的协作定位节点列表。其中获取单元11包括:发送单元111、接收单元112和获取子单元113。

发送单元112,用于广播发送协作定位请求,协作定位请求用于获取协作定位节点列表。

接收单元113,用于接收可与待定位节点直接通信的各个协作节点各自发送的协作定位响应消息,协作定位响应消息中至少携带有:协作定位节点列表和协作节点的位置信息。

获取子单元114,用于从各个协作节点各自发送的协作定位响应消息中获取各个协作节点各自对应的协作定位节点列表。

选取单元12,用于从各个协作节点各自对应的协作定位节点列表中,选取与待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点,待定位节点的目标列表中记录有可与所述待定位节点直接通信的协作节点的节点信息。

定位单元13,用于通过锚节点和各个监听节点以对待定位节点进行定位,所述锚节点为所选取的所述协作节点,所述各个监听节点为所述锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点。其中定位单元14对待定位节点的定位可以是一个计算待定位节点的位置信息,如坐标的过程,具体可以参阅方法实施例中的相关说明,对此本发明实施例不再阐述。

更新单元14,用于更新可与待定位节点可直接通信的各个协作节点的信息。

根据上述技术方案,获取可与待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,从各个协作节点各自对应的协作定位节点列表中,选取与待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点;通过锚节点和各个监听节点对待定位节点进行定位,锚节点为所选取的协作节点,各个监听节点为锚节点对应的协作定位节点列表与目标列表中相同的各个协作节点,使得定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

而在本申请实施例中,选取单元12选取协作节点的实现方式包括但不限于下述两种实现方式。一种实现方式是:

选取单元12,包括:获取子单元121、计算子单元122和选取子单元123,如图9所示。

其中,获取子单元121,用于将各个协作定位节点列表中的各个协作节点的标识信息依次与待定位节点的目标列表中的各个协作节点的标识信息进行比对,获取标识信息相同的协作节点。

计算子单元122,用于计算各个协作定位节点列表中标识信息相同的协作节点的数量。

选取子单元123,用于选取标识信息相同的协作节点的数量最多的协作定位节点列表对应的协作节点。

另一种实现方式是:选取单元12包括:获取子单元124和选取子单元125,如图10所示。

其中,获取子单元124,用于获取各个协作定位节点列表中所包括的协作节点的数量,以及用于从所包括的协作节点的数量最多的协作定位节点列表开始,将协作定位节点列表中的各个协作节点的标识信息与待定位节点的目标列表中的各个协作节点的标识信息进行比对,获取标识信息相同的协作节点。

选取子单元125,用于当比对的协作定位节点列表中标识信息相同的协作节点的数量大于或等于剩余的且未比对的协作定位节点列表中协作节点的数量时,选取标识信息相同的协作节点的数量大于或等于剩余的协作定位节点列表中协作节点的数量的协作定位节点列表对应的协作节点。

请参阅图11,其示出了本申请实施例提供的上述图3所示待定位节点的结构,其中待定位节点可以包括:通信组件21、存储器22和处理器23。

处理器23,用于获取可与所述待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,从各个协作节点各自对应的协作定位节点列表中,选取与所述待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点,通过锚节点和各个监听节点对所述待定位节点进行定位,所述锚节点为所选取的所述协作节点,所述各个监听节点为所述锚节点对应的协作定位节点列表与所述目标列表中相同的各个协作节点。

其中所述协作定位节点列表中记录有可所述协作定位节点列表对应的所述协作节点的直接通信的节点的信息;所述待定位节点的目标列表中记录有可与所述待定位节点直接通信的协作节点的节点信息。

存储器22,用于存储所述各个协作节点各自对应的协作定位节点列表和待定位节点的目标列表。

根据上述技术方案,获取可与待定位节点直接通信的各个协作节点各自对应的协作定位节点列表,从各个协作节点各自对应的协作定位节点列表中,选取与待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点;通过锚节点和各个监听节点对待定位节点进行定位,锚节点为所选取的协作节点,各个监听节点为锚节点对应的协作定位节点列表与目标列表中相同的各个协作节点,使得定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

在一种实现方式中,处理器23获取可与所述待定位节点直接通信的各个协作节点各自对应的协作定位节点列表的实现方式包括但不限于下述两种实现方式,一种实现方式是:

处理器23使通信组件21广播发送协作定位请求,以及使通信组件21接收可与所述待定位节点直接通信的各个协作节点各自发送的协作定位响应消息,其中所述协作定位请求用于获取协作定位节点列表;所述协作定位响应消息中至少携带有:所述协作定位节点列表和所述协作节点的位置信息。

另一种实现方式是:处理器23使通信组件21接收各个协作节点各自推送的消息,所述消息中携带有:所述协作节点对应的协作定位节点列表。

在一种实现方式中,处理器23从各个协作节点各自对应的协作定位节点列表中,选取与所述待定位节点的目标列表中具有相同协作节点的数量最多的协作定位节点列表对应的协作节点的实现方式包括但不限于下述两种实现方式,一种实现方式是:

处理器23将各个协作定位节点列表中的各个协作节点的标识信息依次与所述待定位节点的目标列表中的各个协作节点的标识信息进行比对,获取标识信息相同的协作节点;

计算各个协作定位节点列表中标识信息相同的协作节点的数量;

选取标识信息相同的协作节点的数量最多的协作定位节点列表对应的协作节点。

另一种实现方式是:获取各个协作定位节点列表中所包括的协作节点的数量;

从所包括的协作节点的数量最多的所述协作定位节点列表开始,将所述协作定位节点列表中的各个协作节点的标识信息与所述待定位节点的目标列表中的各个协作节点的标识信息进行比对,获取标识信息相同的协作节点;

当比对的协作定位节点列表中标识信息相同的协作节点的数量大于或等于剩余的且未比对的协作定位节点列表中协作节点的数量时,选取标识信息相同的协作节点的数量大于或等于剩余的协作定位节点列表中协作节点的数量的协作定位节点列表对应的协作节点。

在一种实现方式中,处理器23还用于更新可与所述待定位节点可直接通信的各个协作节点的信息。

在一种实现方式中,处理器23通过所述锚节点和各个监听节点以对所述待定位节点进行定位,包括:

获取锚节点的位置信息、锚节点发送精确时间测量帧的发送时刻和锚节点接收精确时间测量响应帧的第二接收时刻;

获取待定位节点接收所述精确时间测量的第一接收时刻和待定位节点发送所述精确时间测量响应帧的发送时刻;

获取各个监听节点各自的位置信息、各个监听节点各自接收所述精确时间测量帧的接收时刻和各个监听节点各自接收所述精确时间测量响应帧的接收时刻;

根据所述锚节点的位置信息、锚节点发送精确时间测量帧的发送时刻、锚节点接收精确时间测量响应帧的第二接收时刻、待定位节点接收所述精确时间测量的第一接收时刻、待定位节点发送所述精确时间测量响应帧的发送时刻、各个监听节点各自的位置信息、各个监听节点各自接收所述精确时间测量帧的接收时刻和各个监听节点各自接收所述精确时间测量响应帧的接收时刻,得到所述待定位节点的位置信息,以消除待定位节点、锚节点和各个监听节点各自内部时钟无法对齐引起的误差,从而提高计算精度。

请参阅图12,其示出了本申请实施例提供的上述图3所示协作节点的结构,协作节点为与待定位节点进行通信的一个协作节点,协作节点可以包括:发送单元31、定位单元32和更新单元33。

发送单元31,用于向待定位节点发送协作节点的协作定位节点列表,协作定位节点列表中记录有用于协助协作节点对待定位节点进行定位的其他协作节点各自的信息。

在本申请实施例中,发送单元31向待定位节点发送协作节点的协作定位节点列表的实现方式包括但不限于下述两种实现方式。一种实现方式是:发送单元31向待定位节点推送消息,消息中携带有:协作节点的协作定位节点列表。

另一种实现方式是:协作节点还包括:接收单元34,如图13所示。接收单元34,用于接收待定位节点广播发送的协作定位请求,协作定位请求用于获取协作定位节点列表。

发送单元31向待定位节点发送协作节点的协作定位节点列表,包括:发送单元31用于在接收单元34接收到待定位节点广播发送的协作定位请求后,向待定位节点发送协作定位响应消息,协作定位响应消息中至少携带有:协作定位节点列表和协作节点的位置信息。

定位单元32,用于当协作节点的协作定位节点列表与待定位节点的目标列表中相同协作节点的数量多于其他协作节点的协作定位节点列表与目标列表中相同协作节点的数量时,协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,各个监听节点为锚节点对应的协作定位节点列表与目标列表中相同的各个协作节点。

更新单元33,用于更新协作节点的协作定位节点列表。

根据上述技术方案,当协作节点的协作定位节点列表与待定位节点的目标列表中相同协作节点的数量多于其他协作节点的协作定位节点列表与目标列表中相同协作节点的数量时,协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,各个监听节点为锚节点对应的协作定位节点列表与目标列表中相同的各个协作节点,使得定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

请参阅图14,其示出了本申请实施例提供的上述图3所示协作节点的结构,协作节点为与待定位节点进行通信的一个协作节点,协作节点可以包括:通信组件41、存储器42和处理器43。

通信组件41,用于向待定位节点发送协作节点的协作定位节点列表,协作定位节点列表中记录有用于协助协作节点对待定位节点进行定位的其他协作节点各自的信息。

在一种实现方式中,通信组件41用于向待定位节点发送协作节点的协作定位节点列表,包括:

通信组件41在接收到待定位节点广播发送的协作定位请求后,向待定位节点发送协作定位响应消息,协作定位响应消息中至少携带有:协作定位节点列表和协作节点的位置信息;

或者

通信组件41用于向待定位节点发送协作节点的协作定位节点列表,包括:通信组件41向待定位节点推送消息,消息中携带有:协作节点的协作定位节点列表。

存储器42,用于存储协作节点的协作定位节点列表。

处理器43,用于当协作节点的协作定位节点列表与待定位节点的目标列表中相同协作节点的数量多于其他协作节点的协作定位节点列表与目标列表中相同协作节点的数量时,协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,各个监听节点为锚节点对应的协作定位节点列表与目标列表中相同的各个协作节点,待定位节点的目标列表中记录有可与待定位节点直接通信的协作节点的节点信息。

根据上述技术方案,当协作节点的协作定位节点列表与待定位节点的目标列表中相同协作节点的数量多于其他协作节点的协作定位节点列表与目标列表中相同协作节点的数量时,协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,各个监听节点为锚节点对应的协作定位节点列表与目标列表中相同的各个协作节点,使得定位过程中监听节点的数量大于其他锚节点对应的监听节点的数量,而在同一个无线通信范围内,监听节点的数量越多,监听节点间发现隐藏终端的可能性越大,使得隐藏终端对锚节点造成威胁的概率降低。并且监听节点的数量越多,为待定位节点定位提供的时间戳信息越多,从而在一定程度上提高待定位节点的定位精度。

在一种实现方式中,处理器43还用于更新协作节点的协作定位节点列表。

在一种实现方式中,协作节点作为锚节点与各个监听节点协作对待定位节点进行定位,包括:处理器43使通信组件41向各个监听节点发送监听指示,以触发各个监听节点各自获取接收精确时间测量帧的接收时刻和各个监听节点各自获取接收精确时间测量应答帧的接收时刻;

处理器43获取锚节点的位置信息、锚节点发送精确时间测量帧的发送时刻和锚节点接收精确时间测量应答帧的第二接收时刻,并使通信组件41发送锚节点的位置信息、锚节点接收精确时间测量帧的发送时刻和锚节点接收精确时间测量应答帧的第二接收时刻,以消除待定位节点、锚节点和各个监听节点各自内部时钟无法对齐引起的误差,从而提高计算精度。

此外,本申请实施例还提供一种存储介质,存储介质上记录有执行上述图3所示待定位节点执行定位方法的程序代码和/或记录有执行上述图3所示协作节点执行定位方法的程序代码。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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