一种传感器网络的节点定位方法及其装置与流程

文档序号:12500255阅读:170来源:国知局
一种传感器网络的节点定位方法及其装置与流程

本发明涉及无线通信技术领域,特别是涉及一种传感器网络的节点定位方法及其装置。



背景技术:

无线传感器网络(WSN)是一种具有信息采集,数据处理,无线传输等功能的网络。无线传感器网络由随机分布在网络中的传感器节点组成,这些传感器节点搜集、分析、处理节点周围的信息并将分析结果准确传回到服务器。在监测活动中,传感器必须要明确自己的位置,若没有精确的位置信息,那么传感器获取的信息就没有意义。

目前,常用的定位算法是DV-Hop算法,该算法分为三个阶段:

第一个阶段,由已知位置的节点(以下称信标节点)不断向整个网络广播信息{hi,Xi,Yi},其中hi为信标节点到未知节点之间的跳数值且其初始值为0,(Xi,Yi)为信标节点的横纵坐标。未知节点记录来自各个信标节点的位置信息和hi,然后将hi加1后转发到邻居节点。以这种方式,未知节点从多次接收到的同一信标节点的信息选取对应于该信标节点的最小跳数值;

第二阶段,计算每个信标节点与其余各个信标节点之间的距离之和以及跳数值之和,将该距离之和除以该跳数值之和,即得到每个信标节点的平均单跳距离。

第三阶段,信标节点将自身的平均单跳距离广播到传感器网络中,未知节点仅记录首次接收到的广播对应的信标节点的平均单跳距离,然后未知节点利用记录的最小跳数值和接收到的平均单跳距离以及三边定位算法或极大似然估计法未知节点的位置信息。

但是,由于无线传感器网络中传感器节点分布往往不均匀,不同区域内节点疏密程度较大,采用信标节点间每跳距离的平均值作为信标节点的平均单跳距离会导致信标节点的平均单跳距离存在误差,这使得DV-Hop算法在计算未知节点到信标节点的距离时产生不可避免的误差。导致定位精度低。

因此,如何提供一种定位精度高的传感器网络的节点定位方法及其装置是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种节点定位方法及其装置,依据未知节点的位置样本上数据集的聚类中心计算节点位置,能够减少计算量,提高定位精度。

为解决上述技术问题,本发明提供了一种传感器网络的节点定位方法,包括:

依据未知节点接收到的各个信标节点的广播,确定各个信标节点的位置信息以及未知节点与各个所述信标节点之间的最小跳数值;

确定所述未知节点接收到的首个广播对应的信标节点的平均单跳距离;

依据所述位置信息、所述最小跳数值以及所述平均单跳距离采用多边测量算法计算得到所述未知节点的位置样本数据集;所述数据集内包括多个样本点;

依据聚类算法确定所述数据集内样本点的聚类中心,依据各个所述聚类中心的位置信息得到所述未知节点的位置信息。

优选地,所述聚类算法具体为k-nedoids聚类算法。

优选地,所述依据聚类算法确定所述数据集内样本点的聚类中心,依据各个所述聚类中心的位置信息得到所述未知节点的位置信息的过程具体为:

分别确定所述数据集内各个核心对象的坐标;其中,纵坐标为所述核心对象对应的最小可达距离,横坐标为各个所述核心对象确定自身最小可达距离的次序;所述核心对象为以自身为中心、预设半径范围内包含的样本点个数超出第一预设个数的样本点;

将各个所述核心对象的坐标点进行连接,得到可达波形图;

将所述可达波形图上的各个波谷对应的核心对象作为各个聚类中心点;

计算各个所述聚类中心点的平均值作为所述未知节点的位置信息。

优选地,所述将所述可达波形图上的各个波谷对应的核心对象作为各个聚类中心点之后还包括:

步骤s301:将所述数据集内除聚类中心点以外的其余样本点分配至距离自身最近的聚类中心点的聚类中;

步骤s302:从各个所述聚类中心点内,去除自身所在聚类内包含的样本点个数小于第二预设个数的聚类中心点。

优选地,步骤s302之后还包括:

对于包含的样本点个数不小于所述预设个数的每个聚类,将其包含的各个样本点分别作为当前聚类中心点,并依据平方差关系式,确定所述聚类内,除所述当前聚类中心点以外的其余各个样本点到所述当前聚类中心点的距离的平方和;其中,所述平方差关系式具体为:

其中,Lj为第j个当前聚类中心点对应的平方和;n为所述聚类内的样本点的总个数;Pi为第i个样本点的位置,Oj为所述第j个当前聚类中心点的位置;

将最小的平方和对应的当前聚类中心点调整为所述聚类的聚类中心点。

优选地,所述分别确定所述数据集内各个核心对象的坐标,其中,纵坐标为所述核心对象对应的最小可达距离,横坐标为各个所述核心对象确定自身最小可达距离的次序的过程具体为:

步骤s501:从所述数据集中随机选取一个样本点,判断所述样本点是否为核心对象,若是,将其作为处理对象,并进入步骤s502;若否,将所述样本点加入结束列表内,并重复步骤s501;

步骤s502:从所述数据集内选取未加入有序列表内的所述处理对象的直接密度可达点加入所述有序列表内,并将所述有序队列内的各个样本点按照到所述处理对象的可达距离从小到大的顺序进行排序,确定所述处理对象对应的最小可达距离,并将所述处理对象加入所述结束列表内;其中,所述横坐标为核心对象加入所述结束列表的次序;所述直接密度可达点为处于对应核心对象的预设半径范围内的样本点;

步骤s503:判断所述有序列表内当前位置最前的样本点是否为核心对象,若是,将其作为处理对象,并重复步骤s502;若否,将所述样本点加入所述结束列表内,并重复步骤s503;直至所述数据集内的全部样本点均加入所述结束列表内。

优选地,所述可达距离为所述核心对象的核心距离以及所述核心对象与对应的直接密度可达点间的欧氏距离中的最大值;

所述核心对象的核心距离为使自身成为核心对象的最小半径阈值。

优选地,所述确定所述未知节点接收到的首个广播对应的信标节点的平均单跳距离的过程具体为:

确定所述未知节点接收到的首个广播对应的信标节点与除自身以外的其余各个信标节点之间的最小跳数值;

依据信标节点间的最小跳数值、各个所述信标节点的位置信息以及单跳距离关系式计算所述未知节点接收到的首个广播对应的信标节点的平均单跳距离;所述单跳距离关系式具体为:

其中,ek为所述未知节点接收到的首个广播对应的信标节点与第k个信标节点的单跳距离,(x0,y0)为所述未知节点接收到的首个广播对应的信标节点的位置坐标,(xk,yk)为所述第k个信标节点的位置坐标;hk为所述未知节点接收到的首个广播对应的信标节点与第k个信标节点之间的最小跳数值;m为信标节点的总数;wk为所述第k个信标节点对所述未知节点接收到的首个广播对应的信标节点的影响程度值;Dk为所述未知节点接收到的首个广播对应的信标节点与所述第k个信标节点的距离;e为所述平均单跳距离。

为解决上述技术问题,本发明还提供了一种传感器网络的节点定位装置,包括:

跳数确定模块,用于依据未知节点接收到的各个信标节点的广播,确定各个信标节点的位置信息以及未知节点与各个所述信标节点之间的最小跳数值;

单距确定模块,用于确定所述未知节点接收到的首个广播对应的信标节点的平均单跳距离;

数据集计算模块,用于依据所述位置信息、所述最小跳数值以及所述平均单跳距离采用多边测量算法计算得到所述未知节点的位置样本数据集;所述数据集内包括多个样本点;

位置计算模块,用于依据聚类算法确定所述数据集内样本点的聚类中心,依据各个所述聚类中心的位置信息得到所述未知节点的位置信息。

本发明提供了一种节点定位方法及其装置,确定未知节点与各个信标节点之间的最小跳数值、未知节点接收到的首个广播对应的信标节点的平均单跳距离以及各个信标节点的位置信息后,采用多边测量算法计算未知节点的位置样本数据集,然后依据聚类算法确定所述数据集内样本点的聚类中心,进而得到未知节点的位置信息。数据集中的每一个样本点均代表一个未知节点可能的位置信息,聚类中心处于样本点的密集处,而该未知节点准确的位置信息即处于样本点密集的区域,故依据这些聚类中心来计算未知节点的位置信息,能够排除掉大部分准确性较低的样本点,减少计算量,并提高定位精度。

附图说明

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

图1为本发明提供的一种传感器网络的节点定位方法的过程的流程图;

图2为本发明提供的另一种传感器网络的节点定位方法的过程的流程图;

图3为本发明提供的另一种传感器网络的节点定位方法的过程的流程图;

图4为本发明提供的一种传感器网络的节点定位装置的结构示意图。

具体实施方式

本发明的核心是提供一种节点定位方法及其装置,依据未知节点的位置样本上数据集的聚类中心计算节点位置,能够减少计算量,提高定位精度。

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

本发明提供了一种传感器网络的节点定位方法,参见图1所示,图1为本发明提供的一种传感器网络的节点定位方法的过程的流程图;该方法包括:

步骤s101:依据未知节点接收到的各个信标节点的广播,确定各个信标节点的位置信息以及未知节点与各个信标节点之间的最小跳数值;

步骤s102:确定未知节点接收到的首个广播对应的信标节点的平均单跳距离;

步骤s103:依据位置信息、最小跳数值以及平均单跳距离采用多边测量算法计算得到未知节点的位置样本数据集;数据集内包括多个样本点;

步骤s104:依据聚类算法确定数据集内样本点的聚类中心,依据各个聚类中心的位置信息得到未知节点的位置信息。

作为优选地,这里的聚类算法具体为k-nedoids聚类算法。

其中,参见图2所示,图2为本发明提供的另一种传感器网络的节点定位方法的过程的流程图;步骤s104的过程具体为:

步骤s201:分别确定数据集内各个核心对象的坐标;其中,纵坐标为核心对象对应的最小可达距离,横坐标为各个核心对象确定自身最小可达距离的次序;核心对象为以自身为中心、预设半径范围内包含的样本点个数超出第一预设个数的样本点;

其中,若一个样本点处于一个核心对象的预设半径范围内,则该样本点为该核心对象的直接密度可达点。这些直接密度可达点与该核心对象的可达距离中的最小值为该核心对象对应的最小可达距离。

步骤s202:将各个核心对象的坐标点进行连接,得到可达波形图;

可以理解的是,纵坐标为最小可达距离,横坐标表明了排列顺序,最终得到的这些核心对象的坐标点可以通过平滑连线后得到一个波形图,该波形图内包括波峰和波谷,其中,这些波谷表明的是最小可达距离较小的部分核心对象。

由于核心对象本就为样本点密集处的样本点,而通过选取这些核心对象中最小可达距离较小的部分核心对象,则能够进一步从这些核心对象中选取周围密集程度更高的部分核心对象,将这些核心对象作为聚类中心的话,能够大大提高定位的准确性,同时减少最终计算量。

步骤s203:将可达波形图上的各个波谷对应的核心对象作为各个聚类中心点;

步骤s204:计算各个聚类中心点的平均值作为未知节点的位置信息。

由于这些聚类中心均可能为未知节点的实际位置,故将其求平均值能够得到一个较为准确的位置信息。

作为优选地,步骤s203之后还包括:

步骤s301:将数据集内除聚类中心点以外的其余样本点分配至距离自身最近的聚类中心点的聚类中;

即将数据集中的全部样本点分为若干个聚类,聚类的个数视聚类中心的个数而定。

步骤s302:从各个聚类中心点内,去除自身所在聚类内包含的样本点个数小于第二预设个数的聚类中心点。

可以理解的是,若聚类中包含的样本点个数过少,表明聚集在该聚类中心周围的样本点个数不多,该聚类中心的坐标一般不是未知节点的真实位置信息,故将其去除,能够进一步提高计算准确性。

作为优选地,参见图3所示,图3为本发明提供的另一种传感器网络的节点定位方法的过程的流程图;步骤s302之后还包括:

步骤s303:对于包含的样本点个数不小于预设个数的每个聚类,将其包含的各个样本点分别作为当前聚类中心点,并依据平方差关系式,确定聚类内,除当前聚类中心点以外的其余各个样本点到当前聚类中心点的距离的平方和;其中,平方差关系式具体为:

其中,Lj为第j个当前聚类中心点对应的平方和;n为聚类内的样本点的总个数;Pi为第i个样本点的位置,Oj为第j个当前聚类中心点的位置;

步骤s304:将最小的平方和对应的当前聚类中心点调整为聚类的聚类中心点。

可以理解的是,当分配好各个聚类后,每个聚类内真正的聚类中心可能并不是步骤s203得到的聚类中心,故需要通过判断该聚类中每个样本点与除自身以外的其余各个样本点的距离的平方和,平方和最小的,即为该聚类内真正的聚类中心。该操作提高了选取的聚类中心的准确性,进而提高了定位的精度。

作为优选地,步骤s201的过程具体为:

步骤s501:从数据集中随机选取一个样本点,判断样本点是否为核心对象,若是,将其作为处理对象,并进入步骤s502;若否,将样本点加入结束列表内,并重复步骤s501;

步骤s502:从数据集内选取未加入有序列表内的处理对象的直接密度可达点加入有序列表内,并将有序队列内的各个样本点按照到处理对象的可达距离从小到大的顺序进行排序,确定处理对象对应的最小可达距离,并将处理对象加入结束列表内;其中,横坐标为核心对象加入结束列表的次序;直接密度可达点为处于对应核心对象的预设半径范围内的样本点;

步骤s503:判断有序列表内当前位置最前的样本点是否为核心对象,若是,将其作为处理对象,并重复步骤s502;若否,将样本点加入结束列表内,并重复步骤s503;直至数据集内的全部样本点均加入结束列表内。

其中,可达距离为核心对象的核心距离以及核心对象与对应的直接密度可达点间的欧氏距离中的最大值;核心对象的核心距离为使自身成为核心对象的最小半径阈值。

在一种优选实施例中,步骤s102的过程具体为:

确定未知节点接收到的首个广播对应的信标节点与除自身以外的其余各个信标节点之间的最小跳数值;

依据信标节点间的最小跳数值、各个信标节点的位置信息以及单跳距离关系式计算未知节点接收到的首个广播对应的信标节点的平均单跳距离;单跳距离关系式具体为:

其中,ek为未知节点接收到的首个广播对应的信标节点与第k个信标节点的单跳距离,(x0,y0)为未知节点接收到的首个广播对应的信标节点的位置坐标,(xk,yk)为第k个信标节点的位置坐标;hk为未知节点接收到的首个广播对应的信标节点与第k个信标节点之间的最小跳数值;m为信标节点的总数;wk为第k个信标节点对未知节点接收到的首个广播对应的信标节点的影响程度值;Dk为未知节点接收到的首个广播对应的信标节点与第k个信标节点的距离;e为平均单跳距离。

可以理解的是,由于节点分布的疏密不同,直接采用信标节点之间的平均单跳距离误差较大,故将信标节点之间的影响程度值作为权值系数添加至平均单跳距离的计算关系式中,能够尽可能减少由于节点疏密而对信标节点的平均单跳距离的影响。

本发明提供了一种节点定位方法,确定未知节点与各个信标节点之间的最小跳数值、未知节点接收到的首个广播对应的信标节点的平均单跳距离以及各个信标节点的位置信息后,采用多边测量算法计算未知节点的位置样本数据集,然后依据聚类算法确定数据集内样本点的聚类中心,进而得到未知节点的位置信息。数据集中的每一个样本点均代表一个未知节点可能的位置信息,聚类中心处于样本点的密集处,而该未知节点准确的位置信息即处于样本点密集的区域,故依据这些聚类中心来计算未知节点的位置信息,能够排除掉大部分准确性较低的样本点,减少计算量,并提高定位精度。

本发明还提供了一种传感器网络的节点定位装置,参见图4所示,图4为本发明提供的一种传感器网络的节点定位装置的结构示意图。该装置包括:

跳数确定模块1,用于依据未知节点接收到的各个信标节点的广播,确定各个信标节点的位置信息以及未知节点与各个信标节点之间的最小跳数值;

单距确定模块2,用于确定未知节点接收到的首个广播对应的信标节点的平均单跳距离;

数据集计算模块3,用于依据位置信息、最小跳数值以及平均单跳距离采用多边测量算法计算得到未知节点的位置样本数据集;数据集内包括多个样本点;

位置计算模块4,用于依据聚类算法确定数据集内样本点的聚类中心,依据各个聚类中心的位置信息得到未知节点的位置信息。

本发明提供了一种节点定位装置,确定未知节点与各个信标节点之间的最小跳数值、未知节点接收到的首个广播对应的信标节点的平均单跳距离以及各个信标节点的位置信息后,采用多边测量算法计算未知节点的位置样本数据集,然后依据聚类算法确定数据集内样本点的聚类中心,进而得到未知节点的位置信息。数据集中的每一个样本点均代表一个未知节点可能的位置信息,聚类中心处于样本点的密集处,而该未知节点准确的位置信息即处于样本点密集的区域,故依据这些聚类中心来计算未知节点的位置信息,能够排除掉大部分准确性较低的样本点,减少计算量,并提高定位精度。

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

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

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