一种基于不规则拓扑无线传感器网络的节点定位方法与流程

文档序号:12068946阅读:155来源:国知局
一种基于不规则拓扑无线传感器网络的节点定位方法与流程

本发明属于通信技术领域,尤其涉及一种基于不规则拓扑无线传感器网络的节点定位方法。



背景技术:

无线传感器网络(Wireless Sensor Networks,WSN)作为一种分布式传感网络,它的末梢是可以感知和检查外部世界的传感器。传感器以自组织和多跳的方式构成无线网络,协作地感知、采集、处理以及传输网络覆盖地理区域内被感知对象的信息,并最终将这些信息通过无线电波的形式发送给观察者。然而,在很多WSN应用中,节点的定位并不精确,收集到的信息不能准确地反映预探测地区的真实信息。

现有的用于解决WSN中节点定位不精确问题的技术有多维标度分析(multidimensional scaling,MDS)技术,其能够在仅知道节点之间相对距离时准确地计算出各节点的位置。MDS采用集中式处理信息的方法,将各节点之间的相对直线距离作为输入值,通过计算得出各节点在WSN中的绝对坐标,进而得到经纬度坐标。多维标度分析-空间图(MDS-MAP)技术是对MDS的一种改进,同样采用集中式处理方法,在处理高密度节点网络时定位精确,但是在解决不规则拓扑(例如C形、L形或H形)的无线传感器网络中的节点定位问题时,存在较大误差。多维标度分析-分簇空间图(MDS-MAP(P))技术是对MDS-MAP的一种改进,采用分布式技术处理问题,能够很好地在不规则拓扑WSN中精确定位各节点,但是需要庞大以及高强度的计算,实现起来很复杂,成本太高。

总的来说,MDS-MAP在处理不规则拓扑无线传感器网络中,节点定位不精确,误差较大,而MDS-MAP(P)虽然能够进行精确定位,但是计算强度太大,大幅提升了运行成本。



技术实现要素:

本发明针对在不规则拓扑网络中节点定位不准确的问题,提出了一种基于不规则拓扑无线传感器网络的节点定位方法,以解决不规则拓扑的无线传感器网络中节点定位不准确的问题,提高节点坐标精确度,同时减小运算负荷,提高系统执行效率,降低成本。

为实现上述目的,本发明的技术方案如下:

一种基于不规则拓扑无线传感器网络的节点定位方法,包括以下步骤:

步骤一:初始集群化;

步骤二:集群扩展;

步骤三:本地地图构建;

步骤四:本地地图合并;

通过本地地图合并,得到节点绝对坐标,可以将绝对坐标转换为经纬度坐标,最终合并到全球地图中,得到无线传感器网络中节点的定位信息。

进一步根据所述不规则拓扑无线传感器网络的节点定位方法,步骤一中初始集群化;在无线传感器网络中,每对传感器,即每对节点之间只有一条通信路径;由于无线电波传播是多向的,而且具有一定传播范围,因此只有处于对方无线电波传播范围内的节点才能够互相通信,同时称这两个节点为相邻节点;

无线传感器网络由很多节点构成,将整个网络划分为很多子集,每个子集则被称为一个集群,每个集群都是由很多互相邻近的节点组成,即在地理上处于同一个很小的区域内,并需要选出一个具有代表性的节点,称为集群头节点,其他的节点则是这个集群的成员节点;一个节点只能从属于一个集群,各个集群之间相互独立,没有交集;全部节点组成的网络为U,相互邻近的节点被划分到同一个集群内,即形成集群a,集群b和集群c,每个集群又选出各自的头节点。

进一步根据所述不规则拓扑无线传感器网络的节点定位方法,步骤二中集群扩展,每个集群需要从相邻的集群中增加一个额外的节点;

任意两个集群a和集群b,集群a中节点Nai,集群b中节点Nbj,dij表示集群a中节点i与集群b中节点j之间的距离;

对于两个集群中任一节点Nai和Nbj,Nai和Nbj是相邻节点,且Nai和Nbj之间的距离dij最小,那么集群a便将节点Nbj增加到自己的集群中,同时节点Nai也加入了集群b,节点Nai和节点Nbj为网关节点;一个网关节点至少要属于两个不同的集群,各个集群会通过网关节点两两连接,将相互隔绝的集群重新连通。

进一步根据所述不规则拓扑无线传感器网络的节点定位方法,步骤三中本地地图构建,各个集群需要构建自己的本地地图,即每个集群内的节点都要获得一个在本集群内的相对坐标,按如下步骤进行:

(3-1)集群内所有的节点采用接收信号强度指示法RSSI,通过接收到的信号强弱无误差地测定信号点与接收点的距离,测量出与其他节点间的距离后将这些数据发送给集群头节点;

集群a中共有i个节点,头节点为Na1,任一节点Na4为例,Na4首先通过RSSI获得与其相邻的节点Na1、Na5、Na6的距离L41、L45、L46,然后间接地通过Na1获得Na1与Na2的距离L12,再计算出Na4到Na2的距离L42,同理获得到达Na3的距离L43;其他节点也测出到达各节点的距离,最后统一将这些距离数据汇集至头节点Na1处;

同理,其他集群中节点也得到节点之间的距离,并将距离数据汇集到各自集群的头节点处;

(3-2)由于只有相邻节点之间的距离是已知的,使用Dijkstra算法来得到每个节点之间的最短路径;

任意两节点之间的距离都得到后,头节点生成一个由节点之间的距离组成的矩阵K;若一个集群拥有n个节点,那么它的距离矩阵K由n×n个向量组成,记作Knn,数Kij位于矩阵K的第i行第j列;

矩阵的数值设置,当i=j时,值为0;当i≠j时,值为节点i与节点j之间的距离Lij

(3-3)集群头节点采用多维标度分析MDS技术处理距离矩阵,最终生成一幅由集群内所有节点的相对坐标组成的本地地图;

获得距离矩阵K,计算矩阵K的平方,将K2双重中心化,即将K2乘上中心矩阵J,其中J=I-(GG)T/n,I为单位矩阵,G为n维全1方阵;

将H做奇异值分解,求得r个正特征值和对应的特征向量,r个特征值组成r维的对角矩阵G,特征向量构成n×r维矩阵V,得到所有点的相对坐标X=-VG1/2

进一步根据所述不规则拓扑无线传感器网络的节点定位方法,步骤四中本地地图合并;

在将本地地图合并成一幅全球地图时,需要使用网关节点,同一个网关节点在不同的集群内的坐标是不同的;全球地图是包含网络中所有节点坐标的地图,即由所有集群组成的地图,其中节点的坐标均为经纬度坐标;

两个相邻的集群,选择其中包含节点个数多的一个作为主集群Cm,则另一个被称作从集群Cs;主集群中所有成员节点的坐标,也就是所说的参考点,参考点越多,得到的全球地图坐标越精确,从集群中的成员节点的坐标则被称为相对坐标;从集群中所有的成员节点选用最佳的线性变换法将相对坐标转换成绝对坐标;

主集群中所有的成员节点,包括网关节点,将保持它们的坐标不变,而从集群中的节点被转换为以主集群内节点为参考点的新坐标;将所有集群结合为一个新集群后,再次与其他集群进行合并,直到所有集群都被包含进去,最终生成的包含所有节点坐标的集群地图称为全球地图;

具体的合并步骤分为如下三步:

(4-1)n个节点组成m个集群,从中任意选出2个相邻的集群Ci和Cj,i≠j,将其中节点数量多的作为主集群Cm,另一个作为从集群Cs;

(4-2)将Cm中的节点坐标当作参考点,Cs中的节点采用线性变换法将相对坐标变为绝对坐标,将两个集群合成一个集群Ck,k为此集群中包含的原有集群数量;

(4-3)将Ck作为Ci,从剩余的m-k个集群中选择一个与Ck相邻的集群Cj,再次执行第(4-1)步,直到k=m为止;

所有集群都有一幅自己的本地地图,在本地地图合并为全球地图时,主集群内节点的坐标均不变,即为参考点;以主集群内节点为基准,从集群中节点坐标转换为绝对坐标;

通过本地地图合并,得到节点绝对坐标,可以将绝对坐标转换为经纬度坐标,最终合并到全球地图中。

本发明与现有技术相比,具有如下有益效果:

1.本发明采用分布式技术处理网络节点,能够对不规则拓扑的无线传感器网络中的节点进行精确定位。由于MDS-MAP采用Dijkstra最短路径法测量节点之间的距离,而这些距离是存在误差的,并且节点相距越远误差越大,最终会导致节点定位出现较大偏差,所以MDS-MAP在处理不规则拓扑网络时得到的结果误差很大。而本发明将节点集群化,各个集群中的节点相距都很近,将不受网络拓扑的形状影响,因此得到的坐标误差很小,定位很精确。

2.本发明在生成本地地图时,将节点聚集并划分为集群,每个集群中只有一个节点进行坐标计算,减小了系统运算负荷,降低了成本。由于MDS-MAP(P)在生成本地地图时,一个集群内所有的节点都需要进行坐标生成计算,系统负荷很大,效率低下,而本发明不需要每个节点都进行计算,只需要头节点生成坐标,所以能够减小系统运算负荷,提高效率,降低成本。

附图说明

图1为本发明所述一种基于不规则拓扑无线传感器网络的节点定位方法的流程图;

图2为集群初始化阶段示例图;

图3为集群扩展阶段示例图;

图4为集群内所有的节点距离示意图;

图5为本地地图合并为全球地图阶段示例图。

具体实施方式

在无线传感器网络中,每对传感器,即每对节点之间只有一条通信路径。由于无线电波传播是多向的,而且具有一定传播范围,因此只有处于对方无线电波传播范围内的节点才能够互相通信,同时称这两个节点为相邻节点。

如图1所示,具体实施步骤如下:

步骤一:初始集群化。

无线传感器网络由很多节点构成,将整个网络划分为很多子集,每个子集则被称为一个集群。每个集群都是由很多互相邻近的节点组成,即在地理上处于同一个很小的区域内,并需要选出一个具有代表性的节点,称为集群头节点,其他的节点则是这个集群的成员节点。一个节点只能从属于一个集群,各个集群之间相互独立,没有交集。参考图2,全部节点组成的网络为U,相互邻近的节点被划分到同一个集群内,即形成集群a,集群b和集群c,每个集群又选出各自的头节点:集群a的头节点为Na1,集群b的头节点为Nb1,集群c的头节点为Nc1

步骤二:集群扩展。

在集群扩展阶段,每个集群需要从相邻的集群中增加一个额外的节点。参考图3,集群a中共有8个节点Nai,i∈(1,8),集群b中共有7个节点Nbj,j∈(1,7),dij,i∈(1,8),j∈(1,7)表示集群a中节点i与集群b中节点j之间的距离。其中Na3与Nb4是相邻节点,且Na3与Nb4之间的距离d34最小,那么集群a便将节点Nb4增加到自己的集群中,同时节点Na3也加入了集群b,节点Na3和节点Nb4为网关节点,一个网关节点至少要属于两个不同的集群。各个集群会通过网关节点两两连接,将相互隔绝的集群重新连通。

步骤三:本地地图构建。

各个集群需要构建自己的本地地图,即每个集群内的节点都要获得一个在本集群内的相对坐标,按如下步骤进行:

(3-1)集群内所有的节点采用接收信号强度指示法RSSI,通过接收到的信号强弱无误差地测定信号点与接收点的距离,测量出与其他节点间的距离后将这些数据发送给集群头节点。参考图4,集群a中共有6个节点,头节点为Na1,以节点Na4为例,Na4首先通过RSSI获得与其相邻的节点Na1、Na5、Na6的距离L41、L45、L46,然后间接地通过Na1获得Na1与Na2的距离L12,再计算出Na4到Na2的距离L42,同理获得到达Na3的距离L43。其他节点也测出到达各节点的距离,最后统一将这些距离数据汇集至头节点Na1处。

同理,其他集群中节点也得到节点之间的距离,并将距离数据汇集到各自集群的头节点处。

(3-2)由于只有相邻节点之间的距离是已知的,所以使用Dijkstra算法来找到每个节点之间的最短路径。

任意两节点之间的距离都得到后,头节点便会生成一个由节点之间的距离组成的矩阵K。设一个集群拥有n个节点,那么它的距离矩阵K由n×n个向量组成,记作Knn,数Kij位于矩阵K的第i行第j列,i∈(1,8),j∈(1,7)。矩阵的数值设置,当i=j时,值为0;当i≠j时,值为节点i与节点j之间的距离Lij

(3-3)集群头节点采用多维标度分析MDS技术处理距离矩阵,最终生成一幅由集群内所有节点的相对坐标组成的本地地图。

获得距离矩阵K,计算矩阵K的平方,将K2双重中心化,即将K2乘上中心矩阵J,其中J=I-(GG)T/n,I为单位矩阵,G为n维全1方阵。

将H做奇异值分解,求得r个正特征值和对应的特征向量,r个特征值组成r维的对角矩阵G,特征向量构成n×r维矩阵V,得到所有点的相对坐标X=-VG1/2

步骤四:本地地图合并。

在将本地地图合并成一幅全球地图时,需要使用网关节点,同一个网关节点在不同的集群内的坐标是不同的。全球地图是包含网络中所有节点坐标的地图,即由所有集群组成的地图,其中节点的坐标均为经纬度坐标,即绝对坐标。两个相邻的集群,选择其中包含节点个数多的一个作为主集群Cm,则另一个被称作从集群Cs。主集群中所有成员节点的坐标称为绝对坐标,也就是所说的参考点,参考点越多,得到的全球地图坐标越精确,从集群中的成员节点的坐标则被称为相对坐标。从集群中所有的成员节点选用最佳的线性变换法将相对坐标转换成绝对坐标。

主集群中所有的成员节点,包括网关节点,将保持它们的坐标不变,而从集群中的节点被转换为以主集群内节点为参考点的新坐标。两个集群结合为一个新集群后,再次与其他集群进行合并,直到所有集群都被包含进去,最终生成的包含所有节点坐标的集群地图称为全球地图。

具体的合并步骤分为如下三步:

(4-1)n个节点组成m个集群,从中任意选出2个相邻的集群Ci和Cj,i∈(1,8),j∈(1,7),i≠j,将其中节点数量多的作为主集群Cm,另一个作为从集群Cs。

(4-2)将Cm中的节点坐标当做参考点,Cs中的节点采用线性变换法将相对坐标变为绝对坐标,这样将两个集群合成一个集群Ck,k为此集群中包含的原有集群数量。

(4-3)将Ck作为Ci,从剩余的m-k个集群中选择一个与Ck相邻的集群Cj,再次执行第(4-1)步,直到k=m为止。

给出一个二维坐标示意图,参考图5,集群a和集群b各有一幅自己的本地地图,节点Na1在集群a中的相对坐标为(6,5),节点Nb1在集群b中的相对坐标为(3,10)。在本地地图合并为全球地图时,集群a为主集群,集群b为从集群,那么全球地图中,集群a内节点的坐标均不变,即为参考点,集群b内节点则转换为绝对坐标,如图中节点Na1保持坐标(6,5),节点Nb1的坐标转换为(13,25)。

通过本地地图合并,得到节点绝对坐标,可以将绝对坐标转换为经纬度坐标,最终合并到全球地图中。

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