本发明涉及通信技术领域,特别是涉及基于邻居发现的定位方法、装置、电子设备及存储介质。
背景技术:
随着无线技术的广泛推广,人们对于基于位置信息服务的需求增多,无线定位技术得到越来越多的研究者的关注,其中,toa-doa(timeofarrival-directionofarrival,波达时刻估计-波达方向估计)联合定位方法是一种重要的无线网络定位技术。
在一个区域内只需存在一个锚节点就可以利用toa-doa联合定位方法计算得到该区域内其他节点的绝对位置,锚节点为已知自身绝对位置的节点,绝对位置为无需借助参考节点的独立的地理位置,锚节点和其他节点为可以进行通信的设备,例如,基站,无人机等。锚节点可以沿任意方向发送探测信息,在已知探测信息传播速度的情况下,接收到探测信息的节点利用toa(timeofarrival,波达时刻估计)算法可以计算出与锚节点的距离,利用doa(directionofarrival,波达方向估计)算法可以计算出与锚节点的角度,结合距离和角度,就可以得到该节点与锚节点的相对位置,利用该相对位置和锚节点的绝对位置可以计算出该节点的绝对位置,该节点成为二级锚节点,这样一来,可以得到多个新的锚节点,利用这些新的锚节点又可以计算其他未知位置的节点的绝对位置。
利用toa-doa联合定位方法计算节点的绝对位置会产生一定的误差,随着锚节点级数增多,误差也在累积增大。一个未知位置的节点接收到级数大的锚节点发出的探测信息计算得到本节点的绝对位置后,若再接收到级数小的锚节点发送的探测信息也不再更新本节点的绝对位置,这样一来,就会导致定位误差较大。
技术实现要素:
本发明实施例的目的在于提供基于邻居发现的定位方法、装置、电子设备及存储介质,用以解决现有定位技术中节点不能更新定位精度的问题。具体技术方案如下:
第一方面,本发明实施例提供了一种基于邻居发现的定位方法,应用于无线通信系统中的当前节点,所述无线通信系统还包括:所述当前节点的邻居节点,所述方法包括:
发送第一探测信息并记录第一发送时刻,其中,所述第一探测信息包括:所述当前节点的媒体访问控制mac地址以及所述第一发送时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
接收所述当前节点的邻居节点发送的应答信息并记录第一接收时刻,其中,所述第一接收时刻为所述当前节点接收到所述应答信息的时刻,所述应答信息包括第二接收时刻、第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二接收时刻为所述邻居节点接收到所述第一探测信息的时刻,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低;
利用所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述相对位置包括第一来波方向以及所述当前节点与所述邻居节点的距离,所述第一来波方向为所述邻居节点发送所述应答信息的方向;
若第一预设定位等级与所述第二预设定位等级的差大于1,则更新所述第一预设定位等级并利用所述相对位置以及所述邻居节点的绝对位置计算所述当前节点的绝对位置,所述第一预设定位等级用于表示所述当前节点的跳数。
可选地,所述更新所述第一预设定位等级并利用所述相对位置以及所述邻居节点的绝对位置计算所述当前节点的绝对位置的步骤之前,所述方法还包括:
判断所述第一预设定位等级与所述第二预设定位等级的差是否大于1。
可选地,所述利用所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置之后,所述方法还包括:
构建节点转发表,所述节点转发表中记录有:所述邻居节点的mac地址以及所述当前节点与所述邻居节点的相对位置。
可选地,所述方法还包括:
若预设时间阈值内未接收到所述邻居节点发送的所述应答信息,则发送第二探测信息并记录第三发送时刻,其中,所述第三发送时刻为所述当前节点发送所述第二探测信息的时刻。
第二方面,本发明实施例提供了一种基于邻居发现的定位方法,应用于无线通信系统中的邻居节点,所述无线通信系统还包括:与所述邻居节点通信连接的当前节点,所述方法包括:
接收当前节点发送的第一探测信息并记录第二接收时刻,其中,所述探测信息包括所述当前节点的媒体访问控制mac地址以及第一发送时刻,所述第二接收时刻为所述邻居节点接收所述第一探测信息的时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
利用所述第一发送时刻以及所述第二接收时刻计算第二来波方向,所述第二来波方向为所述当前节点发送所述第一探测信息的方向;
沿所述第二来波方向向所述当前节点发送应答信息并记录第二发送时刻,以使所述当前节点利用所述第一发送时刻、第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述应答信息包括所述第二接收时刻、所述第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低,所述第一接收时刻为所述当前节点接收所述应答信息的时刻。
可选地,所述方法还包括:
若预设时间阈值内未接收到所述当前节点发送的所述第一探测信息,则发送第三探测信息并记录第四发送时刻,所述第四发送时刻为所述邻居节点发送所述第三探测信息的时刻。
第三方面,本发明实施例提供了一种基于邻居发现的联合定位的装置,应用于无线通信系统中的当前节点,所述无线通信系统还包括:所述当前节点的邻居节点,所述装置包括:
第一发送模块,用于发送第一探测信息并记录第一发送时刻,其中,所述第一探测信息包括:所述当前节点的媒体访问控制mac地址以及所述第一发送时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
第一接收模块,用于接收所述当前节点的邻居节点发送的应答信息并记录第一接收时刻,其中,所述第一接收时刻为所述当前节点接收到所述应答信息的时刻,所述应答信息包括第二接收时刻、第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二接收时刻为所述邻居节点接收到所述第一探测信息的时刻,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低;
第一计算模块,用于利用所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述相对位置包括第一来波方向以及所述当前节点与所述邻居节点的距离,所述第一来波方向为所述邻居节点发送所述应答信息的方向;
第二计算模块,用于若第一预设定位等级与所述第二预设定位等级的差大于1,则更新所述第一预设定位等级并利用所述相对位置以及所述邻居节点的绝对位置计算所述当前节点的绝对位置,所述第一预设定位等级用于表示所述当前节点的跳数。
可选地,所述装置还包括:
判断模块,用于判断所述第一预设定位等级与所述第二预设定位等级的差是否大于1。
可选地,所述装置还包括:
构建模块,用于构建节点转发表,所述节点转发表中记录有:所述邻居节点的mac地址以及所述当前节点与所述邻居节点的相对位置。
可选地,所述装置还包括:
第二发送模块,用于若预设时间阈值内未接收到所述邻居节点发送的所述应答信息,则发送第二探测信息并记录第三发送时刻,其中,所述第三发送时刻为所述当前节点发送所述第二探测信息的时刻。
第四方面,本发明实施例提供了一种基于邻居发现的定位的装置,应用于无线通信系统中的邻居节点,所述无线通信系统还包括:与所述邻居节点通信连接的当前节点,所述装置包括:
第二接收模块,用于接收当前节点发送的第一探测信息并记录第二接收时刻,其中,所述探测信息包括所述当前节点的媒体访问控制mac地址以及第一发送时刻,所述第二接收时刻为所述邻居节点接收所述第一探测信息的时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
第三计算模块,用于利用所述第一发送时刻以及所述第二接收时刻计算第二来波方向,所述第二来波方向为所述当前节点发送所述第一探测信息的方向;
第三发送模块,用于沿所述第二来波方向向所述当前节点发送应答信息并记录第二发送时刻,以使所述当前节点利用所述第一发送时刻、第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述应答信息包括所述第二接收时刻、所述第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低,所述第一接收时刻为所述当前节点接收所述应答信息的时刻。
可选地,所述装置还包括:
第四发送模块,用于若预设时间阈值内未接收到所述当前节点发送的所述第一探测信息,则发送第三探测信息并记录第四发送时刻,所述第四发送时刻为所述邻居节点发送所述第三探测信息的时刻。
第五方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
第六方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面所述的方法步骤。
第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面所述的方法步骤。
本发明实施例有益效果:
本发明实施例提供的基于邻居发现的定位方法、装置、电子设备及存储介质,应用于无线通信系统中的当前节点,当前节点能够发送第一探测信息并记录第一发送时刻,然后接收当前节点的邻居节点发送的应答信息并记录第一接收时刻,再利用所述第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。本发明利用定位等级来描述定位精度,使得当前节点在遇到定位等级高的邻居节点发送的应答信息时可以更新本节点的绝对位置,从而使定位误差减小。
本发明实施例提供的基于邻居发现的定位方法、装置、电子设备及存储介质,应用于无线通信系统中的邻居节点,能够接收当前节点发送的第一探测信息并记录第二接收时刻,再利用第一发送时刻以及第二接收时刻计算第二来波方向,沿第二来波方向向当前节点发送应答信息并记录第二发送时刻,以使当前节点利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。本发明利用定位等级来描述定位精度,具有高定位等级的邻居节点能够将包含本节点的定位精度的应答信息发送至当前节点,以使当前节点更新本节点的绝对位置,从而使定位误差减小。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于邻居发现的定位方法的第一种流程图;
图2为本发明实施例提供的一种基于邻居发现的定位方法的第二种流程图;
图3为本发明实施例提供的一种基于邻居发现的定位方法的第三种流程图;
图4为本发明实施例提供的一种基于邻居发现的定位方法的第四种流程图;
图5为本发明实施例提供的另一种基于邻居发现的定位方法的第一种流程图;
图6为本发明实施例提供的另一种基于邻居发现的定位方法的第二种流程图;
图7为本发明实施例提供的一种基于邻居发现的定位装置的第一种结构示意图;
图8为本发明实施例提供的一种基于邻居发现的定位装置的第二种结构示意图;
图9为本发明实施例提供的一种基于邻居发现的定位装置的第三种结构示意图;
图10为本发明实施例提供的一种基于邻居发现的定位装置的第四种结构示意图;
图11为本发明实施例提供的另一种基于邻居发现的定位装置的第一种结构示意图;
图12为本发明实施例提供的另一种基于邻居发现的定位装置的第二种结构示意图;
图13为本发明实施例提供的电子设备的一种结构示意图;
图14为本发明实施例提供的电子设备的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于邻居发现的定位方法,应用于无线通信系统中的当前节点,该过程可以包括以下步骤:
s101,发送第一探测信息并记录第一发送时刻。
本发明实施例中,当前节点可以沿预设通信范围内的任意波束方向发送探测信息,无线通信系统中可以有多个节点,节点中存储着预设通信范围内的节点密度信息,当前节点可以根据预设的波束宽度和节点密度计算出一个发送概率值,发送概率值表示节点进入发送模式发送探测信息的概率,可以理解的是,若预设的波束宽度越宽,且在当前节点发送第一探测信息的波束方向上的节点密度越大的话,则当前节点可以发现更多的邻居节点,但是,在无线通信系统中可能同时有很多节点都在发送探测信息,若波束宽度预设的过宽的话,很有可能发生各个节点的波束发生碰撞,从而导致需要重新发送探测信息而浪费空间资源,若主波束宽度越窄,则当前节点发送多次探测信息才能发现完预设通信范围内的邻居节点,效率较低,因此,当前节点可以同时考虑预设的波束宽度和节点密度计算发送概率,并依发送概率进入发送模式发送第一探测信息并记录发送第一探测信息的时刻,第一探测信息包括当前节点的mac(mediaaccesscontrol,媒体访问控制)地址以及发送第一探测信息的时刻,当前节点和邻居节点可以为能够承载多天线的电子设备,接收到第一探测信息的邻居节点可以利用当前节点的mac地址识别当前节点。需要说明的是,上述预设通信范围以及预设波束宽度可以由技术人员根据实际业务需求设置,本发明实施例不做具体限定。
s102,接收当前节点的邻居节点发送的应答信息并记录第一接收时刻。
在本发明实施例中,当前节点发送完第一探测信息后可以进入接收模式,以接收邻居节点发送的应答信息,由于主波束宽度有一定范围,因此第一探测信息可能会被多个邻居节点接收,也可能会接收到多个邻居节点发送的应答信息,当前节点在接收邻居节点发送的应答信息时,可以记录接收应答信息的时间,应答信息中可以包括:各邻居节点接收第一探测信息的第二接收时刻,各邻居节点发送应答信息的第二发送时刻,当前节点的mac地址、各邻居节点的mac地址、各邻居节点的第二预设定位等级以及各邻居节点的绝对位置,邻居节点的绝对位置为邻居节点发送应答信息时节点本身的绝对位置。第二预设定位等级表示邻居节点的跳数,其中,上述跳数是指无线通信系统中已知绝对位置信息的节点的绝对位置信息传输至邻居节点所经历的节点数,可以理解的是,一个节点与已知位置信息的节点进行通信计算本节点的绝对位置信息,会产生一定的误差,其他节点与该节点进行通信时,会再次产生误差,这样一来,跳数越多,定位精度越差。当前节点可以利用不同的mac地址区分不同的邻居节点。当前节点将各个时刻记录在mac层,因此可以避免时延的产生,若将各个时刻记录在其他层,示例性地,若将第一发送时刻记录在网络层,网络层发生中断以及处理一些信息时都有可能产生时延,这样记录的第一发送时刻就不是真正的发送第一探测信息的时刻。
s103,利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。
相对位置包括第一来波方向以及当前节点与发送应答信息的邻居节点的距离,第一来波方向为邻居节点发送应答信息的方向。当前节点可以利用doa(directionofairwaves,波达方向估计)算法计算邻居节点发送应答信息的方向,常见的doa算法包括延迟-相加法以及music(multiplesignalclassification,多重信号分类)算法。延迟-相加算法通过改变波束方向,对不同的方向形成不同的权值,然后测量阵列的输出功率,再利用输出功率得到第一来波方向。music算法可以将接收到的应答信息中的矩阵进行分解,利用分解后的矩阵中的特征向量估算得到第一来波方向,矩阵中的特征向量是包含上述第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻的特征向量。
另外,当前节点可以利用第一预设表达式计算当前节点与邻居节点的距离,其第一预设表达式为:
式中,r表示当前节点与邻居节点的距离,c表示真空中的光速,t1表示第一发送时刻,t2表示第二接收时刻,t3表示第二发送时刻,t4表示第一接收时刻。
s104,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。
本发明实施例的无线通信系统中,一些节点已知节点本身的绝对位置信息,将这些节点的初始定位等级预设为0,并将其他未知绝对位置信息的节点的初始定位等级预设为 ∞,第一预设定位等级和第二预设定位等级可以随着通信改变,第一预设定位等级与第二预设定位等级的差大于1,则将邻居节点的第二预设定位等级加1可以得到当前节点更新后的第一预设定位等级。示例性地,在经过预设次数通信后(如3次),当前节点的第一预设等级为5,邻居节点的定位等级为3,5减3等于2,2大于1,则将邻居节点的第二预设定位等级3加1得到4,4就是当前节点更新后的定位等级。
若第一预设定位等级与第二预设定位等级的差大于1,则表明邻居节点的第二预设等级小于当前节点的第一预设定位等级且邻居节点的绝对位置已知,第二预设定位等级小表示邻居节点的定位精度较高,当前节点可以将邻居节点的绝对位置与上述相对位置相加,得到本节点的绝对位置,若当前节点的绝对位置已知,则更新当前节点的绝对位置,若当前节点的绝对位置未知,则将上述绝对位置值作为当前节点的绝对位置。
可选地,当前节点可以不断发送探测信息,并更新本节点的定位精度及绝对位置,当定位精度不再被更新保持一个值不变时,则停止发送探测信息,完成邻居发现及定位。
作为本发明实施例一种可选的实施方式,如图2所示,本发明实施例提供的一种基于邻居发现的定位方法还可以包括:
s201,发送第一探测信息并记录第一发送时刻。
该步骤与图1所示实施例中的步骤s101相同,在此不再赘述。
s202,接收当前节点的邻居节点发送的应答信息并记录第一接收时刻。
该步骤与图1所示实施例中的步骤s102相同,在此不再赘述。
s203,利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。
该步骤与图1所示实施例中的步骤s103相同,在此不再赘述。
s204,判断第一预设定位等级与第二预设定位等级的差是否大于1。
在本发明实施例中,当前节点可以将第一预设等级减去第二预设定位等级得到一个差值,利用差值判断第一预设定位等级与第二预设定位等级的差是否大于1。
s205,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。
在本发明实施例中,若第一预设定位等级与第二预设定位等级的差大于1,当前节点可以将邻居节点的绝对位置与上述相对位置相加,得到本节点的绝对位置,若第一预设定位等级与第二预设定位等级的差小于等于1,则表明当前节点的第一预设定位等级的定位精度已经足够高或是当前节点的第一预设定位等级的定位精度和邻居节点的第二预设定位等级的定位精度相差不大,可以结束当前进程。
作为本发明实施例一种可选的实施方式,如图3所示,本发明实施例提供的一种基于邻居发现的定位方法还可以包括:
s301,发送第一探测信息并记录第一发送时刻。
该步骤与图1所示实施例中的步骤s101相同,在此不再赘述。
s302,接收当前节点的邻居节点发送的应答信息并记录第一接收时刻。
该步骤与图1所示实施例中的步骤s102相同,在此不再赘述。
s303,利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。
该步骤与图1所示实施例中的步骤s103相同,在此不再赘述。
s304,构建节点转发表。
在本发明实施例中,当前节点在计算完与邻居节点的相对位置之后,可以构建一个节点转发表,将邻居节点的mac地址以及上述的相对位置记录在该节点转发表中。当前节点每与一个邻居节点进行通信,节点转发表就更新一次数据,当前节点进行通信的次数越多,节点转发表中的数据也就越多。本发明实施例可以在mac层中进行,当前节点在mac层中构建完节点转发表之后,在通信协议中的mac层之上的上层协议需要用到当前节点与邻居节点的相对位置信息的情况下,可以将节点转发表传输至上层协议,上层协议可以包括网络层、传输层以及会话层。
s305,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。
在第一预设定位等级与第二预设定位等级的差大于1的情况下,当前节点可以将邻居节点的第二预设定位等级加1得到更新后的第一预设定位等级,并且当前节点可以从上述的节点转发表中获取相对位置,并将邻居节点的绝对位置与相对位置相加得到当前节点的绝对位置。
作为本发明实施例一种可选的实施方式,如图4所示,本发明实施例提供的一种基于邻居发现的定位方法还可以包括:
s401,发送第一探测信息并记录第一发送时刻。
该步骤与图1所示实施例中的步骤s101相同,在此不再赘述。
s402,若预设时间阈值内未接收到邻居节点发送的应答信息,则发送第二探测信息并记录第三发送时刻。
在本发明实施例中,预设时间阈值大于传播时延、传输时延以及处理时延的和的最大值,示例性地,传播时延为5-6ms,传输时延为2-3ms,处理时延为3-4ms,则分别取其中的最大值6ms、3ms、以及4ms相加得到13ms,13ms就为预设时间阈值。传播时延表示第一探测信息以及应答信息在信道上传输所用的时间,传输时延表示当前节点发送完第一探测信息的时间以及邻居节点发送完应答信息的时间之和,处理时延表示当前节点接收并处理应答信息的时间以及邻居节点接收并处理第一探测信息的时间之和。若当前节点没有接收到邻居节点发送的应答信息就一直处于接收状态或经过很长时间才进入发送状态,会导致当前节点需要耗费大量的时间才能发现完预设通信范围内的节点,通信效率降低。为了避免上述情况的发生,当前节点在预设时间阈值内未接收到邻居节点发送的应答信息的情况下,可以结束接收模式并进入发送模式,沿任意波束方向发送第二探测信息并记录发送第二探测信息的第三发送时刻,第二探测信息包括当前节点的mac地址以及上述第三发送时刻。
s403,接收当前节点的邻居节点发送的应答信息并记录第一接收时刻。
该步骤与图1所示实施例中的步骤s102相同,在此不再赘述。
s404,利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。
该步骤与图1所示实施例中的步骤s103相同,在此不再赘述。
s405,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。
该步骤与图1所示实施例中的步骤s104相同,在此不再赘述。
本发明实施例提供的一种基于邻居发现的定位方法,应用于无线通信系统中的当前节点,当前节点能够发送第一探测信息并记录第一发送时刻,然后接收当前节点的邻居节点发送的应答信息并记录第一接收时刻,再利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。本发明利用定位等级来描述定位精度,使得当前节点在遇到定位等级高的邻居节点发送的应答信息时可以更新本节点的绝对位置,从而使定位误差减小。
如图5所示,本发明实施例提供了另一种基于邻居发现的定位方法,应用于无线通信系统中的邻居节点,该过程可以包括以下步骤:
s501,接收当前节点发送的第一探测信息并记录第二接收时刻。
在本发明实施例中,邻居节点为可以搭载多天线的电子设备,电子设备可以包括无人机,无人驾驶车辆等,邻居节点搭载的多天线为全向天线,全向天线可以接收来自各个角度的信息并向各个角度发送信息。邻居节点为接收模式,可以接收第一探测信息,第一探测信息中包括当前节点的mac地址以及当前节点发送第一探测信息的第一发送时刻,并在mac层记录下接收第一探测信息的第二接收时刻,邻居节点可以利用mac地址识别当前节点。
s502,利用第一发送时刻以及第二接收时刻计算第二来波方向。
在本发明实施例中,邻居节点接收到第一发送时刻并记录第二接收时刻后,可以利用doa算法计算第二来波方向,第二来波方向为当前节点发送第一探测信息时的方向。
s503,沿第二来波方向向当前节点发送应答信息并记录第二发送时刻。
在本发明实施例中,利用现有doa算法计算第二来波方向可能会产生一定的误差,因此邻居节点在计算结果的基础上还需要考虑计算误差,细微地调整第二来波方向,以使当前节点能够接收到邻居节点发送的应答信息,利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。邻居节点在接收到第一探测信息后进入发送模式,邻居节点在发送应答信息时可以记录第二发送时刻,应答信息包括第二接收时刻、第二发送时刻、当前节点的mac地址、邻居节点的mac地址、第二预设定位等级以及邻居节点的绝对位置,第二发送时刻为邻居节点发送应答信息的时刻,第二预设定位等级表示邻居节点的跳数。
作为本发明实施例一种可选的实施方式,如图6所示,本发明实施例提供的另一种基于邻居发现的定位方法还可以包括:
s601,若预设时间阈值内未接收到当前节点发送的第一探测信息,则发送第三探测信息并记录第四发送时刻。
在本发明实施例中,预设时间阈值大于传播时延、传输时延以及处理时延的和的最大值,若预设时间阈值内邻居节点未接收到当前节点发送的第一探测信息,则可能邻居节点没有在当前接节点的预设通信范围内或邻居节点没有在当前节点发送第一探测信息的波束宽度内,则邻居节点可以结束接收模式,进入发送模式,沿任意波束方向发送第三探测信息并记录发送第三探测信息的第四发送时刻,发现通信系统内的其他节点,第三探测信息包括邻居节点的mac地址以及上述第四发送时刻。
s602,接收当前节点发送的第一探测信息并记录第二接收时刻。
该步骤与图5所示实施例中的步骤s501相同,在此不再赘述。
s603,利用第一发送时刻以及第二接收时刻计算第二来波方向。
该步骤与图5所示实施例中的步骤s502相同,在此不再赘述。
s604,沿第二来波方向向当前节点发送应答信息并记录第二发送时刻。
该步骤与图5所示实施例中的步骤s503相同,在此不再赘述。
本发明实施例提供的一种基于邻居发现的定位方法,应用于无线通信系统中的邻居节点,能够接收当前节点发送的第一探测信息并记录第二接收时刻,再利用第一发送时刻以及第二接收时刻计算第二来波方向,沿第二来波方向向当前节点发送应答信息并记录第二发送时刻,以使当前节点利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。本发明利用定位等级来描述定位精度,具有高定位等级的邻居节点能够将包含本节点的定位精度的应答信息发送至当前节点,以使当前节点更新本节点的绝对位置,从而使定位误差减小。
相应于方法实施例,本发明实施例还提供了一种基于邻居发现的定位的装置,应用于无线通信系统中的当前节点,无线通信系统还包括:当前节点的邻居节点,与图1所示流程对应,如图7所示,该装置包括:
第一发送模块701,用于发送第一探测信息并记录第一发送时刻。
第一接收模块702,用于接收当前节点的邻居节点发送的应答信息并记录第一接收时刻。
第一计算模块703,用于利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。
第二计算模块704,用于若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。
作为本发明实施例一种可选的实施方式,在图7装置结构的基础上,如图8所示,本发明实施例的一种基于邻居发现的定位的装置还可以包括:
判断模块801,用于判断第一预设定位等级与第二预设定位等级的差是否大于1。
作为本发明实施例一种可选的实施方式,在图7装置结构的基础上,如图9所示,本发明实施例的一种基于邻居发现的定位的装置还可以包括:
构建模块901,用于构建节点转发表。
作为本发明实施例一种可选的实施方式,在图7装置结构的基础上,如图10所示,本发明实施例的一种基于邻居发现的定位的装置还可以包括:
第二发送模块1001,用于若预设时间阈值内未接收到邻居节点发送的应答信息,则发送第二探测信息并记录第三发送时刻。
本发明实施例提供的一种基于邻居发现的装置,应用于无线通信系统中的当前节点,当前节点能够发送第一探测信息并记录第一发送时刻,然后接收当前节点的邻居节点发送的应答信息并记录第一接收时刻,再利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。本发明利用定位等级来描述定位精度,使得当前节点在遇到定位等级高的邻居节点发送的应答信息时可以更新本节点的绝对位置,从而使定位误差减小。
本发明实施例还提供了一种基于邻居发现的定位的装置,应用于无线通信系统中的邻居节点,无线通信系统还包括:无线通信系统还包括:与邻居节点通信连接的当前节点,如图11所示,该装置包括:
第二接收模块1101,用于接收当前节点发送的第一探测信息并记录第二接收时刻。
第三计算模块1102,用于利用第一发送时刻以及第二接收时刻计算第二来波方向。
第三发送模块1103,用于沿第二来波方向向当前节点发送应答信息并记录第二发送时刻。
作为本发明实施例一种可选的实施方式,在图11装置结构的基础上,如图12所示,本发明实施例的一种基于邻居发现的定位的装置还可以包括:
第四发送模块1201,用于若预设时间阈值内未接收到当前节点发送的第一探测信息,则发送第三探测信息并记录第四发送时刻。
本发明实施例提供的一种基于邻居发现的装置,应用于无线通信系统中的邻居节点,能够接收当前节点发送的第一探测信息并记录第二接收时刻,再利用第一发送时刻以及第二接收时刻计算第二来波方向,沿第二来波方向向当前节点发送应答信息并记录第二发送时刻,以使当前节点利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。本发明利用定位等级来描述定位精度,具有高定位等级的邻居节点能够将包含本节点的定位精度的应答信息发送至当前节点,以使当前节点更新本节点的绝对位置,从而使定位误差减小。
本发明实施例还提供了一种电子设备,如图13所示,包括处理器1301、通信接口1302、存储器1303和通信总线1304,其中,处理器1301,通信接口1302,存储器1303通过通信总线1304完成相互间的通信,
存储器1303,用于存放计算机程序;
处理器1301,用于执行存储器1303上所存放的程序时,实现如下步骤:
发送第一探测信息并记录第一发送时刻;
接收当前节点的邻居节点发送的应答信息并记录第一接收时刻;
利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置;
若第一预设定位等级与第二预设定位等级的差大于1,则更新所述第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。
本发明实施例提供的一种基于邻居发现的定位电子设备,应用于无线通信系统中的当前节点,当前节点能够发送第一探测信息并记录第一发送时刻,然后接收当前节点的邻居节点发送的应答信息并记录第一接收时刻,再利用所述第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置,若第一预设定位等级与第二预设定位等级的差大于1,则更新第一预设定位等级并利用相对位置以及邻居节点的绝对位置计算当前节点的绝对位置。本发明利用定位等级来描述定位精度,使得当前节点在遇到定位等级高的邻居节点发送的应答信息时可以更新本节点的绝对位置,从而使定位误差减小。
本发明实施例还提供了一种电子设备,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,
存储器1403,用于存放计算机程序;
处理器1401,用于执行存储器1403上所存放的程序时,实现如下步骤:
接收当前节点发送的第一探测信息并记录第二接收时刻;
利用第一发送时刻以及第二接收时刻计算第二来波方向;
沿第二来波方向向当前节点发送应答信息并记录第二发送时刻。
本发明实施例提供的一种基于邻居发现的定位电子设备,应用于无线通信系统中的邻居节点,能够接收当前节点发送的第一探测信息并记录第二接收时刻,再利用第一发送时刻以及第二接收时刻计算第二来波方向,沿第二来波方向向当前节点发送应答信息并记录第二发送时刻,以使当前节点利用第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻计算当前节点与邻居节点的相对位置。本发明利用定位等级来描述定位精度,具有高定位等级的邻居节点能够将包含本节点的定位精度的应答信息发送至当前节点,以使当前节点更新本节点的绝对位置,从而使定位误差减小。
上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于无线通信系统中的当前节点的基于邻居发现的定位方法的步骤。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于无线通信系统中的相邻节点的基于邻居发现的定位方法的步骤。
对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,本发明实施例的装置及存储介质分别是应用上述一种基于邻居发现的定位方法的装置、电子设备及存储介质,则上述一种基于邻居发现的定位方法的所有实施例均适用于该装置、电子设备及存储介质,且均能达到相同或相似的有益效果。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
1.一种基于邻居发现的定位方法,其特征在于,应用于无线通信系统中的当前节点,所述无线通信系统还包括:所述当前节点的邻居节点,所述方法包括:
发送第一探测信息并记录第一发送时刻,其中,所述第一探测信息包括:所述当前节点的媒体访问控制mac地址以及所述第一发送时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
接收所述当前节点的邻居节点发送的应答信息并记录第一接收时刻,其中,所述第一接收时刻为所述当前节点接收到所述应答信息的时刻,所述应答信息包括第二接收时刻、第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二接收时刻为所述邻居节点接收到所述第一探测信息的时刻,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低;
利用所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述相对位置包括第一来波方向以及所述当前节点与所述邻居节点的距离,所述第一来波方向为所述邻居节点发送所述应答信息的方向;
若第一预设定位等级与所述第二预设定位等级的差大于1,则更新所述第一预设定位等级并利用所述相对位置以及所述邻居节点的绝对位置计算所述当前节点的绝对位置,所述第一预设定位等级用于表示所述当前节点的跳数。
2.根据权利要求1所述的方法,其特征在于,所述更新所述第一预设定位等级并利用所述相对位置以及所述邻居节点的绝对位置计算所述当前节点的绝对位置的步骤之前,所述方法还包括:
判断所述第一预设定位等级与所述第二预设定位等级的差是否大于1。
3.根据权利要求1所述的方法,其特征在于,所述利用所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置之后,所述方法还包括:
构建节点转发表,所述节点转发表中记录有:所述邻居节点的mac地址以及所述当前节点与所述邻居节点的相对位置。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若预设时间阈值内未接收到所述邻居节点发送的所述应答信息,则发送第二探测信息并记录第三发送时刻,其中,所述第三发送时刻为所述当前节点发送所述第二探测信息的时刻。
5.一种基于邻居发现的定位方法,其特征在于,应用于无线通信系统中的邻居节点,所述无线通信系统还包括:与所述邻居节点通信连接的当前节点,所述方法包括:
接收当前节点发送的第一探测信息并记录第二接收时刻,其中,所述探测信息包括所述当前节点的媒体访问控制mac地址以及第一发送时刻,所述第二接收时刻为所述邻居节点接收所述第一探测信息的时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
利用所述第一发送时刻以及所述第二接收时刻计算第二来波方向,所述第二来波方向为所述当前节点发送所述第一探测信息的方向;
沿所述第二来波方向向所述当前节点发送应答信息并记录第二发送时刻,以使所述当前节点利用所述第一发送时刻、第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述应答信息包括所述第二接收时刻、所述第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低,所述第一接收时刻为所述当前节点接收所述应答信息的时刻。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若预设时间阈值内未接收到所述当前节点发送的所述第一探测信息,则发送第三探测信息并记录第四发送时刻,所述第四发送时刻为所述邻居节点发送所述第三探测信息的时刻。
7.一种基于邻居发现的定位的装置,其特征在于,应用于无线通信系统中的当前节点,所述无线通信系统还包括:所述当前节点的邻居节点,所述装置包括:
第一发送模块,用于发送第一探测信息并记录第一发送时刻,其中,所述第一探测信息包括:所述当前节点的媒体访问控制mac地址以及所述第一发送时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
第一接收模块,用于接收所述当前节点的邻居节点发送的应答信息并记录第一接收时刻,其中,所述第一接收时刻为所述当前节点接收到所述应答信息的时刻,所述应答信息包括第二接收时刻、第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二接收时刻为所述邻居节点接收到所述第一探测信息的时刻,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低;
第一计算模块,用于利用所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述相对位置包括第一来波方向以及所述当前节点与所述邻居节点的距离,所述第一来波方向为所述邻居节点发送所述应答信息的方向;
第二计算模块,用于若第一预设定位等级与所述第二预设定位等级的差大于1,则更新所述第一预设定位等级并利用所述相对位置以及所述邻居节点的绝对位置计算所述当前节点的绝对位置,所述第一预设定位等级用于表示所述当前节点的跳数。
8.一种基于邻居发现的定位的装置,其特征在于,应用于无线通信系统中的邻居节点,所述无线通信系统还包括:与所述邻居节点通信连接的当前节点,所述装置包括:
第二接收模块,用于接收当前节点发送的第一探测信息并记录第二接收时刻,其中,所述探测信息包括所述当前节点的媒体访问控制mac地址以及第一发送时刻,所述第二接收时刻为所述邻居节点接收所述第一探测信息的时刻,所述第一发送时刻为所述当前节点发送所述第一探测信息的时刻;
第三计算模块,用于利用所述第一发送时刻以及所述第二接收时刻计算第二来波方向,所述第二来波方向为所述当前节点发送所述第一探测信息的方向;
第三发送模块,用于沿所述第二来波方向向所述当前节点发送应答信息并记录第二发送时刻,以使所述当前节点利用所述第一发送时刻、第一接收时刻、所述第二发送时刻以及所述第二接收时刻计算所述当前节点与所述邻居节点的相对位置,其中,所述应答信息包括所述第二接收时刻、所述第二发送时刻、所述当前节点的mac地址、所述邻居节点的mac地址、第二预设定位等级以及所述邻居节点的绝对位置,所述第二发送时刻为所述邻居节点发送所述应答信息的时刻,所述第二预设定位等级用于表示所述邻居节点的跳数,所述跳数表示定位精度的高低,所述定位精度随着跳数的增多而降低,所述第一接收时刻为所述当前节点接收所述应答信息的时刻。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的计算机程序时,实现权利要求1-4或5或6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4或5或6任一项所述的方法。
技术总结