一种无线自组织网络中节点的定位方法及装置与流程

文档序号:12501596阅读:411来源:国知局
一种无线自组织网络中节点的定位方法及装置与流程

本发明涉及无线自组织网络通信技术领域,特别是涉及一种无线自组织网络中节点的定位方法及装置。



背景技术:

无线自组织网络是一种不需要固定基础设施支持,多个移动终端自行组织而形成的网络。无线自组织网络中的移动终端又称为节点,各节点可随意移动,并通过直接或间接的方式进行数据的转发以实现相互通信,因此如何实现对节点的定位,获取节点有效的位置信息成为亟待解决的问题。

图1为无线自组织网络中各节点位置关系的示意图,其中,中间连线的两个节点互为邻居节点,中间没有连线的两个节点不互为邻居节点。

现有技术中公开了一种节点定位方法,其过程为:在节点密度比较大的地方选取一个节点O作为坐标原点,在其所有的邻居节点中选取两个邻居节点,以其中一个邻居节点A所在的边为y轴,另外一邻居节点B所在的边为x轴建立坐标系(该坐标系并非仅为直角坐标系,x轴和y轴间的夹角是任意的),利用该坐标系描述无线自组织网络中各节点(如节点C、D或E等)的位置。

值得注意的是,现有的节点定位方法在利用上述坐标系描述无线自组织网络中各节点的位置时,是通过从一个中心节点开始向外逐个节点进行定位的。如图1所示,根据节点O、A和B确定节点C的位置,然后根据节点A和中间连通的节点C确定节点D的位置,然后根据中间连通的节点D和C确定节点E的位置,依次类推。对于这种定位方法,在节点数量较多,且大部分节点与节点O、A和B均不互为邻居节点的情况下,大部分节点的位置必须要通过中间连通的节点的位置进行计算得到,每计算一个中间连通的节点的位置就会产生一层误差,这将导致计算误差层层累加的情况出现,造成边缘节点定位误差过大。



技术实现要素:

本发明实施例的目的在于提供一种无线自组织网络中节点的定位方法及装置,以减小无线自组织网络中节点定位时的误差。

为达到上述目的,本发明实施例提供了一种无线自组织网络中节点的定位方法,应用于无线自组织网络中的任一节点,所述方法包括:

获取无线自组织网络的网络拓扑信息;

根据所述网络拓扑信息,确定所述无线自组织网络中的簇头节点,以预设方式对所述无线自组织网络进行分簇;所述预设方式为将每个簇头节点以及该簇头节点的邻居节点划分为同一个簇的方式;

以每个簇中的簇头节点为基准点,分别计算该簇中的非簇头节点相对于该簇中簇头节点的位置信息,作为第一位置信息;

从所确定的簇头节点中选择目标簇头节点;

确定每个待定位节点到目标簇头节点的传输路径,根据传输路径上各节点基于所在簇的第一位置信息,计算该传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息,实现对无线自组织网络中节点的定位。

优选地,所述网络拓扑信息包括:互为邻居节点的两个节点间的距离以及各节点的通信范围,

所述以每个簇中的簇头节点为基准点,计算该簇中的节点相对于该簇中簇头节点的位置信息,作为第一位置信息的步骤,包括:

通过以下方式计算每个簇中的非簇头节点相对于该簇中的簇头节点的位置信息:

计算第一簇内非簇头节点的连通度,其中,节点的连通度为:该节点在所在簇内拥有非簇头邻居节点的数量,所述第一簇为:无线自组织网络的一个簇;

确定连通度最大的非簇头节点,记为目标邻居节点;

判断第一簇中是否包括所述目标邻居节点的非簇头邻居节点;

如果包括,确定连通度最大的第一邻居节点,作为第二邻居节点,其中,所述第一邻居节点为:所述第一簇中所述目标邻居节点的非簇头邻居节点;根据所述第一簇中的簇头节点、目标邻居节点和第二邻居节点,建立第一坐标系,计算所述第一簇中的非簇头节点在所述第一坐标系中的位置信息,作为第一位置信息;

如果不包括,根据所述第一簇中各非簇头节点到簇头节点的距离以及各非簇头节点的通信范围,估算每个非簇头节点相对于所述第一簇中簇头节点的位置信息,作为第一位置信息。

优选地,所述计算所述第一簇中的非簇头节点在所述第一坐标系中的位置信息,作为第一位置信息的步骤,包括:

将所述目标邻居节点和所述第二邻居节点确定为已定位节点;

判断所述第一簇中未定位节点是否等于0;所述未定位节点为所述第一簇中除已定位节点之外的非簇头节点;

如果等于0,获取已定位节点在所述第一坐标系中的位置信息,作为第一位置信息;

如果不等于0,则判断所述第一簇中是否存在第三邻居节点,其中,所述第三邻居节点为:与至少两个已定位节点互为邻居节点的未定位节点;

如果存在第三邻居节点,确定连通度最大的第三邻居节点,作为第四邻居节点,根据所述第四邻居节点与所述第一簇内簇头节点的距离、与所述第四邻居节点互为邻居节点的任意两个已定位节点分别到所述第四邻居节点的距离,确定所述第四邻居节点在所述第一坐标系中的位置信息,作为第一位置信息;将所述第四邻居节点确定为已定位节点,并返回执行所述判断所述第一簇中未定位节点是否等于0的步骤;

如果不存在第三邻居节点,判断是否存在第五邻居节点;所述第五邻居节点为:与一个已定位节点互为邻居节点且根据其他已定位节点的通信范围可唯一确定第一位置信息的未定位节点;

如果存在第五邻居节点,确定第六邻居节点的位置信息,作为第一位置信息,并将所述第六邻居节点确定为已定位节点,并返回执行所述判断所述第一簇中未定位节点是否等于0的步骤;所述第六邻居节点为:连通度最大的第五邻居节点;

如果不存在第五邻居节点,根据每个未定位节点到所述第一簇中簇头节点的距离以及各非簇头节点的通信范围,估算该未定位节点在所述第一坐标系中的位置信息,作为第一位置信息;将连通度最大的未定位节点确定为已定位节点,并返回执行所述判断所述第一簇中未定位节点是否等于0的步骤。

优选地,所述根据传输路径上各节点基于所在簇的第一位置信息,计算该传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息的步骤包括:

当检测到传输路径中存在互为邻居节点的簇头节点时,根据检测到的簇头节点之间的相对位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第一关联关系;

当检测到传输路径中存在通过一个中间节点连通的簇头节点时,根据所述中间节点分别相对于检测到的簇头节点的位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第二关联关系;

根据所述第一关联关系和所述第二关联关系,计算传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息。

优选地,所述目标簇头节点为目标簇的簇头节点,所述目标簇为:包含至少两个互为邻居节点的非簇头节点的簇。

优选地,所述方法还包括:

根据公式

对各节点的第二位置信息进行修正;

其中,(x,y)为节点n的第二位置信息,(xi,yi)为节点n的邻居节点ni的第二位置信息,d(n,ni)为所述节点n与所述节点ni间的距离,N为所述节点n的邻居节点的数量,(x′,y′)为修正后的所述节点n的第二位置信息。

本发明实施例还提供了一种无线自组织网络中节点的定位装置,应用于无线自组织网络中的任一节点,所述装置包括:

获取模块,用于获取无线自组织网络的网络拓扑信息;

分簇模块,用于根据所述网络拓扑信息,确定所述无线自组织网络中的簇头节点,以预设方式对所述无线自组织网络进行分簇;所述预设方式为将每个簇头节点以及该簇头节点的邻居节点划分为同一个簇的方式;

第一计算模块,用于以每个簇中的簇头节点为基准点,分别计算该簇中的非簇头节点相对于该簇中簇头节点的位置信息,作为第一位置信息;

选择模块,用于从所确定的簇头节点中选择目标簇头节点;

第二计算模块,用于确定每个待定位节点到目标簇头节点的传输路径,根据传输路径上各节点基于所在簇的第一位置信息,计算该传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息,实现对无线自组织网络中节点的定位。

优选地,所述网络拓扑信息包括:互为邻居节点的两个节点间的距离以及各节点的通信范围,所述第一计算模块包括第一计算子模块,

所述第一计算子模块,用于计算每个簇中的非簇头节点相对于该簇中的簇头节点的位置信息:

所述第一计算子模块包括:

第一计算单元,用于计算第一簇内非簇头节点的连通度,其中,节点的连通度为:该节点在所在簇内拥有非簇头邻居节点的数量,所述第一簇为:无线自组织网络的一个簇;

确定单元,用于确定连通度最大的非簇头节点,记为目标邻居节点;

判断单元,用于判断第一簇中是否包括所述目标邻居节点的非簇头邻居节点;

第二计算单元,用于当所述判断单元判断结果为包括时,确定连通度最大的第一邻居节点,作为第二邻居节点,其中,所述第一邻居节点为:所述第一簇中所述目标邻居节点的非簇头邻居节点;根据所述第一簇中的簇头节点、目标邻居节点和第二邻居节点,建立第一坐标系,计算所述第一簇中的非簇头节点在所述第一坐标系中的位置信息,作为第一位置信息;

估算单元,用于当所述判断单元判断结果为不包括时,根据所述第一簇中各非簇头节点到簇头节点的距离以及各非簇头节点的通信范围,估算每个非簇头节点相对于所述第一簇中簇头节点的位置信息,作为第一位置信息。

优选地,所述第二计算单元,包括:

确定子单元,用于将所述目标邻居节点和所述第二邻居节点确定为已定位节点;

第一判断子单元,用于判断所述第一簇中未定位节点是否等于0;所述未定位节点为所述第一簇中除已定位节点之外的非簇头节点;

获取子单元,用于当所述第一判断子单元判断结果为等于0时,获取已定位节点在所述第一坐标系中的位置信息,作为第一位置信息;

第二判断子单元,用于当所述第一判断子单元判断结果为不等于0,则判断所述第一簇中是否存在第三邻居节点,其中,所述第三邻居节点为:与至少两个已定位节点互为邻居节点的未定位节点;

第一确定子单元,用于当所述第二判断子单元判断结果为存在第三邻居节点时,确定连通度最大的第三邻居节点,作为第四邻居节点,根据所述第四邻居节点与所述第一簇内簇头节点的距离、与所述第四邻居节点互为邻居节点的任意两个已定位节点分别到所述第四邻居节点的距离,确定所述第四邻居节点在所述第一坐标系中的位置信息,作为第一位置信息;将所述第四邻居节点确定为已定位节点,并触发所述第一判断子单元;

第三判断子单元,用于当所述第二判断子单元判断结果为不存在第三邻居节点时,判断是否存在第五邻居节点;所述第五邻居节点为:与一个已定位节点互为邻居节点且根据其他已定位节点的通信范围可唯一确定第一位置信息的未定位节点;

第二确定子单元,用于当所述第三判断子单元判断结果为存在第五邻居节点时,确定第六邻居节点的位置信息,作为第一位置信息,并将所述第六邻居节点确定为已定位节点,并触发所述第一判断子单元;所述第六邻居节点为:连通度最大的第五邻居节点;

估算子单元,用于当所述第三判断子单元判断结果为不存在第五邻居节点时,根据每个未定位节点到所述第一簇中簇头节点的距离以及各非簇头节点的通信范围,估算该未定位节点在所述第一坐标系中的位置信息,作为第一位置信息;将连通度最大的未定位节点确定为已定位节点,并触发所述第一判断子单元。

优选地,所述第二计算模块,包括:

第一关联子模块,用于当检测到传输路径中存在互为邻居节点的簇头节点时,根据检测到的簇头节点之间的相对位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第一关联关系;

第二关联子模块,用于当检测到传输路径中存在通过一个中间节点连通的簇头节点时,根据所述中间节点分别相对于检测到的簇头节点的位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第二关联关系;

第二计算子模块,用于根据所述第一关联关系和所述第二关联关系,计算传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息。

本发明实施例提供的无线自组织网络中节点的定位方法及装置,通过采用分簇的方式,将整个的无线自组织网络中节点分成多个簇,每个簇包括一个簇头节点以及该簇头节点的邻居节点,然后以每个簇头节点为基准点进行簇内的定位,得到第一位置信息,此时的计算误差只有一层误差;最后将各节点的第一位置进行统一,得到相对于目标簇头节点的第二位置信息。本发明实施例在对节点进行定位时,计算误差的层数较少,而现有的方法存在多层误差累加的情况,应用本发明实施例提供的方案进行节点定位时,可以减小无线自组织网络中节点定位时的误差。

附图说明

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

图1为无线自组织网络中各节点位置关系的示意图;

图2为本发明实施例提供的无线自组织网络中节点的定位方法的流程图;

图3为本发明实施例提供的计算每个簇中的非簇头节点相对于该簇中的簇头节点的位置信息的流程图;

图4为本发明实施例提供的计算第一簇中的非簇头节点在第一坐标系中的位置信息作为第一位置信息的流程图;

图5为本发明实施例提供的无线自组织网络中节点的定位装置的结构示意图;

图6为本发明实施例提供的第一计算子模块的结构示意图;

图7为本发明实施例提供的第二计算单元的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了减小无线自组织网络中节点定位时的误差,本发明实施例提供了一种无线自组织网络中节点的定位方法,图2为本发明实施例提供的无线自组织网络中节点的定位方法的流程图,该方法可应用于无线自组织网络中的任一节点,该方法包括:

S2100,获取无线自组织网络的网络拓扑信息。

具体地,网络拓扑信息可以包括互为邻居节点的两个节点间的距离以及各节点的通信范围。本实施例中,彼此之间能够直接通信的两个节点互为邻居节点,即如果两个节点间的距离小于彼此的通信范围,则二者可直接接收到对方发送的消息,此时二者互为邻居节点。各个节点之间的通信关系、邻居节点间的距离以及节点的通信范围构成了无线自组织网络(简称为“网络”)的网络拓扑信息,当然,网络拓扑信息中还可以包含其他信息,本申请并不对此进行限定。

网络中的任一节点可通过其他节点转发的信息,获取自组织网络中互为邻居节点的两个节点间的距离以及各个节点的通信范围。需要说明的是,互为邻居节点的两个节点可直接获取二者间的距离和对方的通信范围(此为现有技术),不互为邻居节点中的某个节点可通过其他中间节点转发的信息,获取另一个节点到中间节点的距离以及通信范围。举例而言,如图1所示,节点O可通过节点A获知节点A和节点C之间的距离以及节点C的通信范围,节点O可通过节点A和节点C获知节点C和节点E之间的距离以及节点E的通信范围等。

S2200,根据所述网络拓扑信息,确定所述无线自组织网络中的簇头节点,以预设方式对所述无线自组织网络进行分簇;所述预设方式为将每个簇头节点以及该簇头节点的邻居节点划分为同一个簇的方式。

需要说明的是,对于网络中的任一个节点,其能够获取整个网络的网络拓扑信息的前提为:网络中的所有节点必须是连通的,网络中没有孤立的节点存在,即每个节点至少与一个其他节点互为邻居节点。

根据上述情况,本实施例中可采用预设方式对网络进行分簇,以实现对各节点定位。具体的,预设方式为:将每个簇头节点以及该簇头节点的邻居节点划分为同一个簇的方式。

其中,簇头节点可以为网络中的任意一个节点,确定簇头节点的方式可以为随机抽取的方式,还可以根据用户的需求确定特定的节点(如运算速度快的节点)为簇头节点。经过分簇后的网络中,相邻两个簇之间是可以包含共同的节点的。由于每个节点至少与一个其他节点互为邻居节点,因此本实施例中的预设方式是可以实现的。

S2300,以每个簇中的簇头节点为基准点,分别计算该簇中的非簇头节点相对于该簇中簇头节点的位置信息,作为第一位置信息。

具体地,某一个簇中的非簇头节点即为该簇中簇头节点的邻居节点。在计算某一个簇中非簇头节点的位置信息时,可以以该簇中的簇头节点为原点建立坐标系,根据该非簇头节点到簇头节点的距离确定该非簇头节点可能出现的圆形轨迹,然后根据与其他非簇头节点之间的关系,去除该非簇头节点不可能出现的范围,来计算其位置信息,并将该位置信息作为第一位置信息。

S2400,从所确定的簇头节点中选择目标簇头节点。

具体地,目标簇头节点可以为所有簇头节点中的任意一个,确定目标簇头节点的方式可以为随机选择;目标簇头节点优选为目标簇的簇头节点,其中,目标簇为:包含至少两个互为邻居节点的非簇头节点的簇。

S2500,确定每个待定位节点到目标簇头节点的传输路径,根据传输路径上各节点基于所在簇的第一位置信息,计算该传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息,实现对无线自组织网络中节点的定位。

本实施例中,为了实现整个网络中位置信息的统一,需要将每个节点在所在簇中的第一位置信息进行位置信息的转换,即以目标簇头节点为基准点,计算网络中的其他节点相对于目标簇头节点的位置信息。

具体地,待定位节点为网络中除目标簇头节点外的任意一个节点。每个待定位节点到目标簇头节点的传输路径为:以目标簇头节点为起始节点,以该待定位节点为终点节点,二者之间的可通信的路径。举例而言,如图1所示,设节点O为目标簇头节点,节点E为待定位节点,则路径“节点O-节点B-节点C-节点E”可作为节点E的传输路径。传输路径的确定方法为现有技术,此处不再赘述。

需要说明的是,某一个待定位节点的传输路径可以有多条,在实际选择传输路径时,优选为待定位节点和目标簇头节点之间的最短传输路径,该最短路径的确定方法可根据待定位节点到目标簇头节点的跳数确定,此为现有技术,此处不再赘述。

具体地,在确定了待定位节点到目标簇头节点的传输路径后,可获知传输路径中的每个节点在所在簇内的第一位置信息,可根据这个第一位置信息计算待定位节点相对于目标簇头节点的位置信息,并将其作为第二位置信息。举例而言,如图1所示,设节点O为目标簇头节点,节点O、A和B被划分为同一个簇,设C为簇头节点,节点A、B、C、D和E被划分为一个簇,则可根据节点O在所在簇的第一位置信息(可设目标簇头节点O的第一位置信息为已知的原点)、节点B在所在簇的第一位置信息、节点C在所在簇的第一位置信息以及节点E在所在簇的第一位置信息,计算节点E相对于目标簇头节点O的第二位置信息。

本发明实施例提供的无线自组织网络中节点的定位方法,通过采用分簇的方式,将整个的无线自组织网络中节点分成多个簇,每个簇包括一个簇头节点以及该簇头节点的邻居节点,然后以每个簇头节点为基准点进行簇内的定位,得到第一位置信息,此时的计算误差只有一层误差;最后将各节点的第一位置进行统一,得到相对于目标簇头节点的第二位置信息。本发明实施例在对节点进行定位时,计算误差的层数较少,而现有的方法存在多层误差累加的情况,因此,应用本发明实施例提供的方案进行节点定位时,可以减小无线自组织网络中节点定位时的误差。

在本申请的一种具体实现方式中,步骤S2300可通过以下方式计算每个簇中的非簇头节点相对于该簇中的簇头节点的位置信息。

图3为本发明实施例提供的计算每个簇中的非簇头节点相对于该簇中的簇头节点的位置信息的流程图,该方法包括:

S2310,计算第一簇内非簇头节点的连通度。

具体地,所述第一簇为:无线自组织网络的一个簇;节点的连通度为:该节点在所在簇内拥有非簇头邻居节点的数量。

举例而言,如图1所示,设节点O为目标簇头节点,节点O、A和B被划分为同一个簇,设C为簇头节点,节点A、B、C、D和E被划分为一个簇。对于节点A而言,节点A在节点O、A和B组成的第一簇内拥有非簇头邻居节点的数量为0,因此节点A在该簇内的连通度为0;而节点A在节点A、B、C、D和E组成的第一簇内拥有非簇头邻居节点(节点D)的数量为1,则节点A在该簇内的连通度为1。

S2320,确定连通度最大的非簇头节点,记为目标邻居节点。

具体地,在计算了某一个第一簇内所有非簇头节点的连通度后,将其中连通度最大的非簇头节点作为目标邻居节点。例如,如图1所示,对于节点A、B、C、D和E组成的第一簇而言,非簇头节点A、B、D和E的连通度分别为1、0、2和1,则节点D的连通度最大,则节点D作为该簇内的目标邻居节点。对于节点O、A和B组成的第一簇而言,节点A和B的连通度均为0,则可将节点A或B确定为该簇的目标邻居节点。

S2330,判断第一簇中是否包括所述目标邻居节点的非簇头邻居节点,如果包括执行步骤S2340;如果不包括,执行步骤S2350。

具体地,在确定了目标邻居节点后,需要判断第一簇中是否包括目标邻居节点的非簇头邻居节点。例如,如图1所示,对于节点A、B、C、D和E组成的第一簇而言,节点D作为该簇内的目标邻居节点,则该第一簇中还包括节点D的非簇头邻居节点A和E。对于节点O、A和B组成的第一簇而言,设节点A为该簇的目标邻居节点,则该第一簇中不包括节点A的非簇头邻居节点。

S2340,确定连通度最大的第一邻居节点,作为第二邻居节点,其中,所述第一邻居节点为:所述第一簇中所述目标邻居节点的非簇头邻居节点;根据所述第一簇中的簇头节点、目标邻居节点和第二邻居节点,建立第一坐标系,计算所述第一簇中的非簇头节点在所述第一坐标系中的位置信息,作为第一位置信息。

具体地,如果第一簇中包括目标邻居节点的非簇头邻居节点,则将第一簇中目标邻居节点的非簇头邻居节点确定为第一邻居节点。例如,如图1所示,对于节点A、B、C、D和E组成的第一簇而言,第一邻居节点为节点A和E。

具体地,将连通度最大的第一邻居节点确定为第二邻居节点。例如,如图1所示,第一邻居节点为节点A和E的连通度均为1,则可将节点A或E确定为第二邻居节点。

具体地,在确定了第二邻居节点后,可根据第一簇中的簇头节点、目标邻居节点和第二邻居节点,建立第一坐标系,计算第一簇中的非簇头节点在第一坐标系中的位置信息。例如,如图1所示,对于节点A、B、C、D和E组成的第一簇而言,节点C为该第一簇的簇头节点,节点D为该第一簇的目标邻居节点,设节点A为该第一簇的第二邻居节点,则可以以节点C和D的连线作为x轴,以节点C和D间的距离为x轴的单位长度,以节点C和A的连线作为y轴,以节点C和A间的距离为y轴的单位长度建立该第一簇对应的第一坐标系(该第一坐标系并非仅为直角坐标系,x轴和y轴间的夹角是任意的),并根据计算该第一簇中的非簇头节点A、B、D和E在该第一坐标系的第一位置信息。

S2350,根据所述第一簇中各非簇头节点到簇头节点的距离以及各非簇头节点的通信范围,估算每个非簇头节点相对于所述第一簇中簇头节点的位置信息,作为第一位置信息。

具体地,如果第一簇中不包括目标邻居节点的非簇头邻居节点,此时存在两种情况,第一种情况:第一簇中只有两个节点,一个是簇头节点另一个是目标邻居节点;第二种情况:第一簇中除了簇头节点和目标邻居节点外,还存在其他节点,但是这些节点与目标邻居节点均不互为邻居节点。

在第一种情况下,第一簇中只有两个节点,在将簇头节点确定为原点的前提下,另一个非簇头节点相对于该簇头节点的第一位置信息为,以簇头节点为圆心以二者间的距离为半径的圆形轨迹,可随机将圆形轨迹中某个点作为该非簇头节点的第一位置信息。在现实生活中,由于节点的数量较大,此种情况出现的概率较小。

在第二种情况下,可推算出第一簇中的非簇头节点的连通度均为0。例如,如图1所示,对于节点O、A和B组成的第一簇而言,设节点A为目标邻居节点,则该第一簇中的所有非簇头节点(节点A和B)的连通度均为0。此时,节点A可能出现的轨迹为:以节点O为圆心,以节点O和节点A间的距离为半径的圆形轨迹(图中曲线圈描述的轨迹)。同时由于节点A和节点B的通信范围内不包括对方,节点B的通信范围(图中实线圈描述的轨迹)覆盖了节点A的轨迹中的圆弧2,因此节点A不会出现在该弧线2上,因此节点A可能出现的轨迹为剩下的圆弧1。同理,可获知节点B可能出现的轨迹。

在第二种情况下,如果第一簇中存在多个非簇头节点,这些非簇头节点的通信范围可能会覆盖非簇头节点出现的圆形轨迹中的大部分圆弧,因此可更准确的估算非簇头节点可能出现的轨迹。

优选地,在实际操作中,有可能会出现非簇头节点可能出现的轨迹为两条圆弧的情况,此时从出现概率的大小考虑,可将弧长较大的圆弧作为该非簇头节点可能出现的轨迹。进一步地,在确定了某一个非簇头节点可能出现的轨迹为一个圆弧后,可将该圆弧的中点作为该非簇头节点的第一位置信息。

为了便于理解第一位置信息的具体计算过程,图4为本发明实施例提供的计算第一簇中的非簇头节点在第一坐标系中的位置信息作为第一位置信息的流程图,该方法包括:

S2341,将所述目标邻居节点和所述第二邻居节点确定为已定位节点。

需要说明的是,第一簇内簇头节点、目标邻居节点和第二邻居节点三者两两互为邻居节点,因此可根据第一簇内簇头节点与目标邻居节点间的距离,目标邻居节点和第二邻居节点间的距离,以及簇头节点和第二邻居节点间的距离,确定目标邻居节点和第二邻居节点相对于簇头节点的位置信息(此为现有三边测量方法)。因此,可建立已定位节点集合N,可将目标邻居节点和第二邻居节点确定为已定位节点放入集合N中。

S2342,判断所述第一簇中未定位节点是否等于0;所述未定位节点为所述第一簇中除已定位节点之外的非簇头节点;如果等于0,则执行步骤S2343;如果不等于0,则执行步骤S2344。

S2343,获取已定位节点在所述第一坐标系中的位置信息,作为第一位置信息。

具体地,在确定已定位节点集合N后,判断第一簇中未定位节点是否等于0,如果等于0,说明该第一簇中所有的非簇头节点已定位完成,此时将或取已定位节点在第一坐标系中的位置信息,作为第一位置信息。

S2344,则判断所述第一簇中是否存在第三邻居节点,其中,所述第三邻居节点为:与至少两个已定位节点互为邻居节点的未定位节点;如果存在第三邻居节点,则执行步骤S2345;如果不存在第三邻居节点,则执行步骤S2346。

在本实施例中,在对未定位节点进行定位的时候,优选考虑那些可以确定位置信息的未定位节点,其中,与至少两个已定位节点互为邻居节点的未定位节点是可以确定位置信息的未定位节点,此为现有的三边测量方法。

具体地,如果第一簇中未定位节点不等于0,说明该第一簇中尚有非簇头节点未定位,此时判断第一簇中是否存在第三邻居节点,该第三邻居节点为:与至少两个已定位节点互为邻居节点的未定位节点。

S2345,确定连通度最大的第三邻居节点,作为第四邻居节点,根据所述第四邻居节点与所述第一簇内簇头节点的距离、与所述第四邻居节点互为邻居节点的任意两个已定位节点分别到所述第四邻居节点的距离,确定所述第四邻居节点在所述第一坐标系中的位置信息,作为第一位置信息;将所述第四邻居节点确定为已定位节点,并返回执行所述判断所述第一簇中未定位节点是否等于0的步骤。

具体地,如果存在第三邻居节点,通过之前计算的各个非簇头节点的连通度,将连通度最大的第三邻居节点确定为第四邻居节点,根据第四邻居节点与第一簇内簇头节点的距离、与第四邻居节点互为邻居节点的任意两个已定位节点分别到第四邻居节点的距离,确定第四邻居节点在第一坐标系中的第一位置信息,此为现有的三边测量方法。

在确定了第四邻居节点的第一位置信息后,将第四邻居节点确定为已定位节点,放入已定位节点集合N中,并返回步骤S2342。

S2346,判断是否存在第五邻居节点;所述第五邻居节点为:与一个已定位节点互为邻居节点且根据其他已定位节点的通信范围可唯一确定第一位置信息的未定位节点;如果存在第五邻居节点,则执行步骤S2347;如果不存在第五邻居节点,则执行步骤S2348。

具体地,如果不存在第三邻居节点,说明第一簇中可根据三边测量方法准确定位的非簇头节点已全部定位,此时未定位节点中还存在一种可准确定位的第五邻居节点。该第五邻居节点:与一个已定位节点互为邻居节点且根据其他已定位节点的通信范围可唯一确定第一位置信息的未定位节点。

本实施例中,第五邻居节点与簇头节点互为邻居节点,则第五邻居节点可能出现的轨迹为,以簇头节点为圆心,以第五邻居节点与簇头节点间的距离为半径的圆形轨迹。另外,第五邻居节点与一个已定位节点是邻居节点,则第五邻居节点可能出现的轨迹为,以该已定位节点为圆心,以第五邻居节点与该已定位节点间的距离为半径的圆形轨迹。这两个圆形轨迹会相交与两个点,这两个点就是第五邻居节点可能的第一位置信息。此时,如果其他某一个已定位节点的通信范围覆盖在一个交点上,说明该交点不是第五邻居节点的第一位置信息,则剩余的另外一个交点为第五邻居节点的第一位置信息。

S2347,确定第六邻居节点的位置信息,作为第一位置信息,并将所述第六邻居节点确定为已定位节点,并返回执行所述判断所述第一簇中未定位节点是否等于0的步骤;所述第六邻居节点为:连通度最大的第五邻居节点。

具体地,如果存在第五邻居节点,通过之前计算的各个非簇头节点的连通度,将连通度最大的第五邻居节点确定为第六邻居节点,并根据S2346中的方式确定第六邻居节点的第一位置信息,将第六邻居节点确定为已定位节点,放入已定位节点集合N中,并返回步骤S2342。

S2348,根据每个未定位节点到所述第一簇中簇头节点的距离以及各非簇头节点的通信范围,估算该未定位节点在所述第一坐标系中的位置信息,作为第一位置信息;将连通度最大的未定位节点确定为已定位节点,并返回执行所述判断所述第一簇中未定位节点是否等于0的步骤。

具体地,如果不存在第五邻居节点,说明此时未定位节点中的节点均只有一个邻居节点(即簇头节点),此时可根据上述步骤S2350中的方式估算每个未定位节点的第一位置信息,并将连通度最大的未定位节点确定为已定位节点,将其放入已定位节点集合N中,返回步骤S2342。

本实施例中,根据每个未定位节点到第一簇中簇头节点的距离以及各非簇头节点的通信范围,估算该未定位节点在第一坐标系中的第一位置信息,可进一步缩小未定位节点可能出现的轨迹,使定位更加准确。

进一步地,在计算得到非簇头节点在所在簇对应的第一坐标系中的第一位置信息后,需要对网络中所有的第一坐标系进行转换成一个坐标系(命名为第二坐标系),在实际操作时,可存在如下两种情况,第一种情况:在传输路径中,存在互为邻居节点的两个节点均为簇头节点;第二种情况:在传输路径中,存在通过一个中间节点连通的两个簇头节点。

优选地,所述根据传输路径上各节点基于所在簇的第一位置信息,计算该传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息包括如下步骤:

A1、当检测到传输路径中存在互为邻居节点的簇头节点时,根据检测到的簇头节点之间的相对位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第一关联关系。

具体地,当检测到第一种情况出现时,将传输路径中互为邻居节点的两个簇头节点分别确定为第一个簇头节点和第二个簇头节点,其中,第一个簇头节点和第二个簇头节点均可以为目标簇头节点或传输路径中任意一个节点,但一个簇头节点和第二个簇头节点为不同的簇头节点。

由于第一个簇头节点和第二个簇头节点均为簇头节点,在分簇后,第一个簇头节点会成为第二个簇头节点所在簇的非簇头节点,第二个簇头节点会成为第一个簇头节点所在簇的非簇头节点,因此,可得到第一个簇头节点相对于第二个簇头节点的第一位置信息,以及第二个簇头节点相对于第一个簇头节点的第一位置信息,由于两个簇头节点对应的第一位置信息处于不同的第一坐标系中(即第一个簇头节点对应的第一坐标系和第二个簇头节点对应的第一坐标系),因此可建立这两个第一坐标系之间的关联关系(命名为第一关联关系),以实现第一坐标系的转换。

优选地,在进行第一坐标系的转换时,可先确定第一个簇头节点和第二个簇头节点分别对应的连通度,可将连通度较小的簇头节点对应的第一坐标系转换为连通度较大的簇头节点对应的第一坐标系,以利用连通度较大的簇头节点对应的第一坐标系中的节点的位置信息,来表示连通度较小的簇头节点对应的第一坐标系中节点的位置信息。

A2、当检测到传输路径中存在通过一个中间节点连通的簇头节点时,根据所述中间节点分别相对于检测到的簇头节点的位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第二关联关系。

具体地,当检测到第二种情况出现时,将两个的簇头节点分别确定为第一个簇头节点和第二个簇头节点,其中,第一个簇头节点和第二个簇头节点均可以为目标簇头节点或传输路径中任意一个节点,但一个簇头节点和第二个簇头节点为不同的簇头节点。

由于第一个簇头节点和第二个簇头节点之间连通有中间节点,在分簇后,中间节点会成为第一个簇头节点所在簇的非簇头节点,还会成为第二个簇头节点所在簇的非簇头节点,因此可得到中间节点相对于第一个簇头节点的第一位置信息,以及中间节点相对于第二个簇头节点的第一位置信息,由于中间节点对应的两个第一位置信息处于两个不同的第一坐标系中(即第一个簇头节点对应的第一坐标系和第二个簇头节点对应的第一坐标系),因此可建立两个第一坐标系之间的关联关系(命名为第二关联关系),实现第一坐标系的转换。

优选地,在进行第一坐标系的转换时,可先确定中间节点在两个簇中的连通度,第一个簇头节点对应的第一坐标系,第二个簇头节点对应的第一坐标系,可将较小连通度对应的第一坐标系转换为较大连通度对应的第一坐标系,以利用较大连通度对应的第一坐标系中的节点的位置信息,来表示较小连通度对应的第一坐标系中节点的位置信息。

在其他实施例中,还可以以中间节点为基准点,获取第一个簇头节点相对于中间节点的位置信息,获取第二个簇头节点相对于中间节点的位置信息,以建立第一个簇头节点对应的第一坐标系与第二个簇头节点对应的第一坐标系之间的关联关系。

A3、根据所述第一关联关系和所述第二关联关系,计算传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息。

具体地,在建立第一关联关系和第二关联关系前,传输路径对应的待定位节点必然会处于传输路径中某一个簇头节点对应的第一坐标系中,即可用该第一坐标系表示待定位节点的位置信息。而建立了第一关联关系和第二关联关系后,传输路径中所有的簇头节点对应的第一坐标系都相互关联,最终可利用一个统一的坐标系(命名为第二坐标系)来描述待定位节点的位置信息;同理,可利用第二坐标系描述目标簇头节点的位置信息,因此,在第二坐标系中,可计算得到待定位节点相对于目标簇头节点的位置信息(即第二位置信息)。

为了更加准确的定位待定位节点,在得到待定位节点相对于目标簇头节点的第二位置信息后,还可以对第二位置信息进行修正。优选地,所述方法还包括:

根据公式

对各节点的第二位置信息进行修正;

其中,(x,y)为节点n的第二位置信息,(xi,yi)为节点n的邻居节点ni的第二位置信息,d(n,ni)为所述节点n与所述节点ni间的距离,N为所述节点n的邻居节点的数量,(x′,y′)为修正后的所述节点n的第二位置信息。

为了使定位结果更加准确,还可以根据上述公式进行循环迭代。具体地,根据上述公式进行计算,得到网络中所有待定位节点对应的修正后的第二位置信息,然后将这些修正后的第二位置信息,再次作为初值代入上述公式进行计算,如此重复多次可得到更加准确的各待定位节点的第二位置信息,避免了个别误差较大的距离对定位的影响。

值得注意的是,在其他实施例中,还可以由多个节点进行并行计算。具体地,可将整个网络分成多个局部网络,每个局部网络分别由一个节点负责进行计算该局部网络中各节点对应的第二位置信息,然后某一个节点对计算得到的数据进行汇总以及坐标系的转换处理,得到完整的网络中各节点的第二位置信息,以提高运算效率。

优选地,还可以利用网络中的各簇头节点对簇头进行定位,然后每个簇头节点将定位结果传输给某一个簇头节点,由该簇头进行汇总以及坐标系的转换处理到完整的网络中各节点的第二位置信息,以提高运算效率。在较为稀疏的网络中,由于各个簇头节点并行运算,无需大规模信息汇总和递归运算,可提高定位速度。

本实施例提供的无线自组织网络中节点的定位方法,可适用于的无线自组织网络的无定型、扁平化、自组织的特性,采用分簇式算法,网络拓扑信息仅有簇头节点汇聚,节省了网络通信资源。

本发明实施例还提供了一种无线自组织网络中节点的定位装置,图5为本发明实施例提供的无线自组织网络中节点的定位装置的结构示意图,用于执行如图2所示的方法,该装置应用于无线自组织网络中的任一节点,所述装置包括:

获取模块5100,用于获取无线自组织网络的网络拓扑信息;

分簇模块5200,用于根据所述网络拓扑信息,确定所述无线自组织网络中的簇头节点,以预设方式对所述无线自组织网络进行分簇;所述预设方式为将每个簇头节点以及该簇头节点的邻居节点划分为同一个簇的方式;

第一计算模块5300,用于以每个簇中的簇头节点为基准点,分别计算该簇中的非簇头节点相对于该簇中簇头节点的位置信息,作为第一位置信息;

选择模块5400,用于从所确定的簇头节点中选择目标簇头节点;

第二计算模块5500,用于确定每个待定位节点到目标簇头节点的传输路径,根据传输路径上各节点基于所在簇的第一位置信息,计算该传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息,实现对无线自组织网络中节点的定位。

本发明实施例提供的无线自组织网络中节点的定位装置,通过采用分簇的方式,将整个的无线自组织网络中节点分成多个簇,每个簇包括一个簇头节点以及该簇头节点的邻居节点,然后以每个簇头节点为基准点进行簇内的定位,得到第一位置信息,此时的计算误差只有一层误差;最后将各节点的第一位置进行统一,得到相对于目标簇头节点的第二位置信息。本发明实施例在对节点进行定位时,计算误差的层数较少,而现有的方法存在多层误差累加的情况,因此,应用本发明实施例提供的方案进行节点定位时,可以减小无线自组织网络中节点定位时的误差。

优选地,所述网络拓扑信息包括:互为邻居节点的两个节点间的距离以及各节点的通信范围,所述第一计算模块包括第一计算子模块,所述第一计算子模块,用于计算每个簇中的非簇头节点相对于该簇中的簇头节点的位置信息:

图6为本发明实施例提供的第一计算子模块的结构示意图,用于执行如图3所示的方法,所述第一计算子模块包括:

第一计算单元5310,用于计算第一簇内非簇头节点的连通度,其中,节点的连通度为:该节点在所在簇内拥有非簇头邻居节点的数量,所述第一簇为:无线自组织网络的一个簇;

确定单元5320,用于确定连通度最大的非簇头节点,记为目标邻居节点;

判断单元5330,用于判断第一簇中是否包括所述目标邻居节点的非簇头邻居节点;

第二计算单元5340,用于当所述判断单元5330判断结果为包括时,确定连通度最大的第一邻居节点,作为第二邻居节点,其中,所述第一邻居节点为:所述第一簇中所述目标邻居节点的非簇头邻居节点;根据所述第一簇中的簇头节点、目标邻居节点和第二邻居节点,建立第一坐标系,计算所述第一簇中的非簇头节点在所述第一坐标系中的位置信息,作为第一位置信息;

估算单元5350,用于当所述判断单元5330判断结果为不包括时,根据所述第一簇中各非簇头节点到簇头节点的距离以及各非簇头节点的通信范围,估算每个非簇头节点相对于所述第一簇中簇头节点的位置信息,作为第一位置信息。

图7为本发明实施例提供的第二计算单元的结构示意图,用于执行如图4所示的方法,优选地,所述第二计算单元5340,包括:

第一确定子单元5341,用于将所述目标邻居节点和所述第二邻居节点确定为已定位节点;

第一判断子单元5342,用于判断所述第一簇中未定位节点是否等于0;所述未定位节点为所述第一簇中除已定位节点之外的非簇头节点;

获取子单元5343,用于当所述第一判断子单元5342判断结果为等于0时,获取已定位节点在所述第一坐标系中的位置信息,作为第一位置信息;

第二判断子单元5344,用于当所述第一判断子单元5342判断结果为不等于0,则判断所述第一簇中是否存在第三邻居节点,其中,所述第三邻居节点为:与至少两个已定位节点互为邻居节点的未定位节点;

第二确定子单元5345,用于当所述第二判断子单元5344判断结果为存在第三邻居节点时,确定连通度最大的第三邻居节点,作为第四邻居节点,根据所述第四邻居节点与所述第一簇内簇头节点的距离、与所述第四邻居节点互为邻居节点的任意两个已定位节点分别到所述第四邻居节点的距离,确定所述第四邻居节点在所述第一坐标系中的位置信息,作为第一位置信息;将所述第四邻居节点确定为已定位节点,并触发所述第一判断子单元5342;

第三判断子单元5346,用于当所述第二判断子单元5344判断结果为不存在第三邻居节点时,判断是否存在第五邻居节点;所述第五邻居节点为:与一个已定位节点互为邻居节点且根据其他已定位节点的通信范围可唯一确定第一位置信息的未定位节点;

第三确定子单元5347,用于当所述第三判断子单元5346判断结果为存在第五邻居节点时,确定第六邻居节点的位置信息,作为第一位置信息,并将所述第六邻居节点确定为已定位节点,并触发所述第一判断子单元5342;所述第六邻居节点为:连通度最大的第五邻居节点;

估算子单元5348,用于当所述第三判断子单元5346判断结果为不存在第五邻居节点时,根据每个未定位节点到所述第一簇中簇头节点的距离以及各非簇头节点的通信范围,估算该未定位节点在所述第一坐标系中的位置信息,作为第一位置信息;将连通度最大的未定位节点确定为已定位节点,并触发所述第一判断子单元5342。

本实施例中,根据每个未定位节点到第一簇中簇头节点的距离以及各非簇头节点的通信范围,估算该未定位节点在述第一坐标系中的第一位置信息,可进一步缩小未定位节点可能出现的轨迹,使定位更加准确。

优选地,所述第二计算模块5500,包括:

第一关联子模块,用于当检测到传输路径中存在互为邻居节点的簇头节点时,根据检测到的簇头节点之间的相对位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第一关联关系;

第二关联子模块,用于当检测到传输路径中存在通过一个中间节点连通的簇头节点时,根据所述中间节点分别相对于检测到的簇头节点的位置信息,建立所检测到的簇头节点对应的第一坐标系之间的关联关系,作为第二关联关系;

第二计算子模块,用于根据所述第一关联关系和所述第二关联关系,计算传输路径对应的待定位节点相对于目标簇头节点的位置信息,作为第二位置信息。

优选地,所述目标簇头节点为目标簇的簇头节点,所述目标簇为:包含至少两个互为邻居节点的非簇头节点的簇。

优选地,所述装置还包括:

修正模块,用于根据公式

对各节点的第二位置信息进行修正;

其中,(x,y)为节点n的第二位置信息,(xi,yi)为节点n的邻居节点ni的第二位置信息,d(n,ni)为所述节点n与所述节点ni间的距离,N为所述节点n的邻居节点的数量,(x′,y′)为修正后的所述节点n的第二位置信息。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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