一种面向无线传感器网络的近邻轮转层次分簇方法与流程

文档序号:16066771发布日期:2018-11-24 12:44阅读:694来源:国知局

本发明属于物联网领域,具体涉及一种面向无线传感器网络的近邻轮转层次分簇方法。

背景技术

随着无线技术的快速发展,无线传感器网络(wirelesssensornetwork,wsn)得到了广泛的应用。wsn是由大量传感器节点组成的一种自组织网络,它们感知网络内各种物理或环境条件并相互通信,且具有非常有限的资源,尤其是能量。传感器节点具有监测数据、处理数据、存储数据和传输数据的功能,并具有一定的数据融合能力。传感器节点负责感知网络中的环境信息,收集监测数据并通过汇聚节点传输至基站。无线传感器网络具有节点部署密度高,不可靠性以及功耗、计算和内存限制等特点。传感器网络具有复杂多样的拓扑结构。为了提高网络感知和处理数据的效率,出现了网络集群管理的方法。

随着传感器网络的可扩展性和功率、效率的提高,对路由进行层次聚类越来越重要。在基于层次的体系结构中,每层次的“中心”节点可以将其他节点收集到的数据通过数据融合技术融合在一起,再将聚类后数据传输到基站(bs)。而“非中心”节点只能感知数据,位于高层的节点通过低层的节点将数据传输到基站。它们将感知到的数据传输到更高的节点,也就是所谓的簇头节点(ch),其距离小于到基站的距离。集群的形成和对簇头分配特殊任务减少了特定簇内的功耗,这提高了传感器网络的可扩展性。同时,通过聚类感测到的数据,可以减少传送到基站的数据量,并且延长整个传感器网络的寿命。

分层路由协议能很大限度地延长无线传感器网络的使用寿命,但由于忽略了簇头决策中邻居的状态,现有协议很容易导致簇头节点过早死亡。在本算法中,每个集群由一组节点度较大且距离分区域中心较近的近邻节点集合管理,能延长集群节点的生存时间;簇头节点将聚类后的数据信息以多跳传输的方式发送给汇聚节点。因此,新提出的方法通过优化层次分簇结构减少网络能耗,能延长无线传感器网络的生命周期,并实现高效数据传输。



技术实现要素:

本发明的目的是解决无线传感器网络(wsn)的节点分簇的簇头选择问题,提供一种面向无线传感器网络的近邻轮转层次分簇方法。本发明考虑了能量高效的层次分簇算法(eehc)是在簇头选择阶段,节点以概率p向邻居节点声明自己为簇头,不能更好的考虑到网络拓扑结构特点。提出一种近邻轮转层次分簇算法(eehcn),通过比较传感器节点的节点度大小与距离分区域中心距离的综合权值,决定该节点是否能够成为簇头节点。簇头替换阶段,当前簇头的近邻节点集合中的成员节点随机时间片轮转成为簇头,并根据路由信息通过多跳方式将融合后的信息传输到距离最近的汇聚节点。本方法能够更好地节省网络能量,提高数据传输效率,最大化网络生命周期。

本发明的面向无线传感器网络的近邻轮转层次分簇方法,主要包括如下关键步骤:

第1、无线传感器网络模型的构建:

第1.1、建立网络结构模型;

第1.2、建立能量消耗模型;

第2、近邻轮转层次分簇算法模型的构建:

第2.1、建立分簇模型;

第2.2、建立簇间通信链路模型;

第3、近邻轮转层次分簇协议的设计:

第3.1、准备:计算得出每个节点的节点度大小,存于节点信息表中;

第3.2、竞选簇头:分区域选取簇头节点,计算簇头节点间距离判定簇群重复覆盖范围;

第3.3、建立簇间通信链路:簇头节点负责将各传感节点收集的数据信息通过中间节点以多跳的方式发送至基站;

第3.4、数据传输:利用通信链路进行数据传输,并在传输过程中计算且存储包括簇头在内的所有传感器节点的剩余能量;

第3.5、链路维护:调整簇头节点,替换能量过少或死亡的簇头。

进一步的,步骤第1.1中建立了网络结构模型。传感器节点感知数据信息,然后将数据发送到簇头,高层次的簇头通过低层次的簇头,并以多跳的方式将聚类后的数据传输到汇聚节点,最后,汇聚节点将所有的数据转发至基站;

步骤第1.2中建立能量消耗模型的方法如下,根据无线电能量消耗模型,发送一个k比特的消息,能量消耗公式为:

其中

式(1)中,k为传输数据包的字节数,d为传输的距离,当传送距离小于阈值d0时,发射功率采用自由空间模式,否则,采用多径衰减模式;eelec(nj/bit)为射频能耗系数;εfs和εmp分别为两种模式下,电路放大器的能耗系数。

接收这个消息所消耗的能量为:

erx(k)=erx-elec(k)=keelec(5)

每个节点都有数据融合的能力,用ecp表示融合单位bit数据所消耗的能量。那么将m个kbits的数据分组融合成1个数据分组所消耗的能量为:

edf(m,k)=mkecp(6)

通过公式(1)、(3)和(4)得出,经过数据传输和数据融合后节点的剩余能量为:

er=e0-etx(k,d)-erx(k)-edf(m,k)(7)

步骤第2.1中分簇模型的建立分为三个阶段:选取临时簇头阶段;簇头调整阶段;簇头替换阶段;

步骤第2.2中簇间通信链路模型建立发生在簇形成之后,主要是将各传感节点收集的数据信息通过簇头以多跳的方式发送至基站。非簇头节点基于不同的tdma时间片向各自的簇头节点发送数据,簇头节点在接收不同的数据后采取融合策略以降低冗余度或还原关键原始数据。

步骤第3.1所述为第一步准备阶段,网络中所有节点以固定发射功率向外广播自己的位置信息和剩余能量,此时剩余能量等于初始能量,计算得出每个节点的节点度大小,存于节点信息表中,表中包含四个字段,分别是节点id,坐标位置,剩余能量以及节点度,此步调用算法1;

算法1准备阶段的伪代码

步骤第3.2所述为第二步竞选簇头阶段,选取距离分区域中心较近的且节点度较大的节点作为临时簇头节点,半径以内的节点为该簇的簇内节点,这里调用算法2、3。通过计算簇头节点间的距离判定簇群重复覆盖范围并替换新的簇头节点,这里调用算法4;

算法2选择临时簇头的伪代码

算法3选择簇头节点伪代码

算法4调整簇头节点的伪代码

步骤第3.3所述为第三步簇间通信链路建立阶段,簇头节点负责将各传感节点收集的数据信息通过中间节点以多跳的方式发送至基站。首先得到每个簇头节点的路由候选节点集合si.rch,选取综合权重wi最大的节点作为中间节点,并从最高层(layer(i),i值取最大的层数)开始,建立到汇聚节点的通信网络链路;

步骤第3.4所述为第四步数据传输阶段,利用第三步建立的通信链路进行数据传输,并在传输过程中利用公式(5)计算且存储包括簇头在内的所有传感器节点的剩余能量;

步骤第3.5所述为第五步链路维护阶段,随着时间的推移,部分节点,尤其是簇头节点会发生能量过少或者节点死亡的问题,此时需要簇内近邻节点时间片轮转替换簇头,重复步骤3.2-3.5,直至整个网络生命周期结束。

本发明的优点和积极效果:

本发明主要设计了一种面向无线传感器网络的近邻轮转层次分簇方法。在该方法中,主要研究了无线传感器网络(wsn)的节点分簇的簇头选择问题。节点分簇能有效节约能量,提高数据传输效率,延长网络生命周期。能量高效的层次分簇算法(eehc)是一种用于wsn的分布式随机分簇算法,目标是最大化网络寿命。但是该算法在簇头选择阶段,节点以概率p向邻居节点声明自己为簇头,不能更好的考虑到网络拓扑结构特点。提出一种近邻轮转层次分簇算法(eehcn),通过比较传感器节点的节点度大小与距离分区域中心距离的综合权值,决定该节点是否能够成为簇头节点。簇头替换阶段,当前簇头的近邻节点集合中的成员节点随机时间片轮转成为簇头,并根据路由信息通过多跳方式将融合后的信息传输到距离最近的汇聚节点。本方法能够更好地节省网络能量,提高数据传输效率,最大化网络生命周期。

附图说明

图1是结构模型图;

图2是覆盖面积图;

图3是簇头替换图;

图4是调整后的簇头分布图;

图5是簇间通信链路图;

图6是簇头数量与分区域面积及传感器感知半径关系图;

图7是簇头能耗图;

图8是存活节点个数图;

图9是网络数据流量图;

图10是网络能耗图;

图11是网络剩余能量平均值图;

图12是网络能耗标准差图;

图13是真实场景测试示例图;

图14是存活节点数图;

图15是数据流量图;

图16是网络平均剩余能量;

图17是网络能耗图;

图18是本发明面向无线传感器网络的近邻轮转层次分簇方法的流程图。

具体实施方式

实施例1:

本实施例设计的方法借助matlab2013a开发工具对本方法进行实验仿真验证,并与已提出的leach协议、ehe-leach协议和icshs协议,在相同的测试环境与测试参数下,分析对比四种不同协议的数据流量、网络能耗和生命周期参数,其中(a)、(b)、(c)、(d)分别表示leach协议、ehe-leach协议、icshs协议和本文所提出的eehcn协议。

参见附图18,本实施例面向无线传感器网络的近邻轮转层次分簇方法,主要包括如下关键步骤:

步骤第1.1中建立了网络结构模型,参见附图1。传感器节点感知数据信息,然后将数据发送到簇头,高层次的簇头通过低层次的簇头,并以多跳的方式将聚类后的数据传输到汇聚节点,最后,汇聚节点将所有的数据转发至基站。结构中,低层次的簇头作为高层次簇头的中间节点。根据与备选节点的距离大小以及该备选节点与汇聚节点的距离大小,簇头决定是否选择该节点作为自己的中间节点;

对于一个具有n个传感器节点的网络,节点通过感知周围节点信息,可以得到如下连接矩阵,

对于任意一个节点i,其节点度数(degree)可以表示为

计算得出每个节点的节点度大小,存于节点信息表中,表中包含四个字段,分别是节点id、坐标位置、剩余能量以及节点度;

步骤第1.2中建立能量消耗模型的方法如下,根据无线电能量消耗模型,发送一个k比特的消息,能量消耗公式为:

其中:

式(3)中,k为传输数据包的字节数,d为传输的距离,当传送距离小于阈值d0时,发射功率采用自由空间模式,否则,采用多径衰减模式;eelec(nj/bit)为射频能耗系数;εfs和εmp分别为两种模式下,电路放大器的能耗系数。

接收这个消息所消耗的能量为:

erx(k)=erx-elec(k)=keelec(5)

每个节点都有数据融合的能力,用ecp表示融合单位bit数据所消耗的能量。那么将m个kbits的数据分组融合成1个数据分组所消耗的能量为:

edf(m,k)=mkecp(6)

通过公式(3)、(5)和(6)得出,经过数据传输和数据融合后节点的剩余能量为:

er=e0-etx(k,d)-erx(k)-edf(m,k)(7)

步骤第2.1中分簇模型的建立分为三个阶段:选取临时簇头阶段;簇头调整阶段;簇头替换阶段;

①选取临时簇头阶段,选取节点度最大且距离分区域中心较近的节点作为临时簇头节点,半径以内的节点为该簇内节点。分区域通过节点位置和感知半径建立判定矩阵a:

根据公式(2),计算所有节点度后,得到节点度矩阵dn,并根据节点度矩阵选取其中节点度最大的节点,作为簇头,

第i个簇头节点记为hi,节点度为:

若节点度矩阵dn中,节点度最大的节点有2个或2个以上,则选取距离分区域中心较近节点作为簇头节点,距离dis为:

其中(xi,yi,)为节点度最大的节点位置坐标,(xmi,ymi,)为分区域中心点位置坐标。

②簇头调整阶段:经过步骤①选取的临时簇头间存在距离较近的情况时,簇与簇之间会有很大的覆盖面积重叠问题,会造成能量的极大浪费,这时需要进行簇头调整;计算簇头节点间的距离判定簇群重复覆盖范围,距离较近的两个簇群在划分簇内节点时,覆盖范围会产生重叠,覆盖重叠率定义为发生重叠的面积与簇覆盖面积之比,记为overlap。当overlap>30%时,需要在该轮对簇头进行调整。

参见附图2,以o1、o2为圆心,以r为半径的圆的面积记为s,三角形ao2b面积记为s1,扇形ao2b的面积记为s2,则

另外可以得知,其中|o1o2|表示为:

根据余弦定理,可以得到

由公式(14)可以求得θ1的值为:

由公式(12)、(13)和(15)可计算得到覆盖重叠面积比率overlap1(阴影部分)为:

③簇头替换阶段:簇头节点除了负责感知数据外,还需要接收、处理簇内节点转发来的数据,所以能量消耗会比较快,容易造成节点过早死亡问题。随机时间片内,簇头的近邻节点轮转替换成为簇头;簇头调整阶段选取的簇头节点si半径为r的圆内包含的节点集合定义为近邻节点集合,记为si.rch。为了确保簇头替换时不会改变簇结构,新的簇头节点需要从近邻节点集合中选取。

参见附图3,三角形co4d的面积记为s3,扇形co4d的面积记为s4,则

根据余弦定理,可以得到

由公式(18)可以计算得到θ2,

结合公式(17)、(18)和(19)可以得到原簇头覆盖区域与新的替换簇头覆盖区域重叠面积比率overlap2(阴影部分)为:

易知,重叠面积比率overlap2的值越大,簇的结构越稳定。当簇头在近邻节点集合内发生替换时,簇群内的成员几乎不会发生变化,降低了每轮簇形成所需的能量消耗。

步骤第2.2中簇间通信链路模型建立发生在簇形成之后,主要是将各传感节点收集的数据信息通过簇头以多跳的方式发送至基站。非簇头节点基于不同的tdma时间片向各自的簇头节点发送数据,簇头节点在接收不同的数据后采取融合策略以降低冗余度或还原关键原始数据。

根据网络结构模型,根据簇头节点与汇聚节点的距离,我们将簇群分层为layer1,layer2,...,layern,层数较大的簇头节点从次层簇头节点中选取中间节点,由此形成一个复杂的网状通信网络。

簇头si的路由候选节点集合定义为簇头的感知半径内距离汇聚节点距离小于该簇头到汇聚节点距离的簇头节点集合,用si.rch表示,计算公式为:

si.rch={sj|d(sj,sn)<d(si,sn)andd(si,sj)≤k×si.r}(21)

其中k是使得si.rch非空的最小整数,若k不存在则定义si.rch为空集,此时si直接与sn通信。节点si从si.rch中选择中间节点,为均衡能量消耗,选择剩余能量较多的节点。

若簇头si选取sj作为其中间节点,则将数据传输到汇聚节点带来的网络能量消耗可近

似表示为:

erelay=d2(si,sj)+d2(sj,sn)(22)

由上式可知,若sj位于si与sn之间,则有利于节约能量。

考虑簇头路由候选节点的剩余能量er和将数据传输到汇聚节点带来的网络能量消耗erelay两个因素,定义候选节点的综合权值为:

wi=w1×er+w2×erelay(23)

其中w1,w2表示权系数,且w1+w2=1,权系数越大表示该因素在候选节点的中间节点选取中占得比重越大。这里我们取w1=0.6,w2=0.4,即剩余能量的权重略高于网络能量消耗的权重。

步骤第3.1所述为第一步准备阶段,网络中所有节点以固定发射功率向外广播自己的位置信息和剩余能量,此时剩余能量等于初始能量,利用公式(2)计算得出每个节点的节点度大小,存于节点信息表中,表中包含四个字段,分别是节点id、坐标位置、剩余能量以及节点度,此步调用算法1;

算法1准备阶段的伪代码

步骤第3.2所述为第二步竞选簇头阶段,分区域选取簇头节点,选取距离分区域中心较近的且节点度较大的节点作为临时簇头节点,半径以内的节点为该簇的簇内节点,这里调用算法2、3;

计算簇头节点间的距离判定簇群重复覆盖范围,若超过30%,则重新选择簇头节点,替换规则为用向相反方向节点度较大的簇内节点替换成为新的簇头节点,这里调用算法4:

算法2选择临时簇头的伪代码

算法3选择簇头节点伪代码

算法4调整簇头节点的伪代码

步骤第3.3所述为第三步簇间通信链路建立阶段,簇头节点负责将各传感节点收集的数据信息通过中间节点以多跳的方式发送至基站;首先通过公式(21)得到每个簇头节点的路由候选节点集合si.rch,利用公式(7)、(22)和(23)选取综合权重wi最大的节点作为中间节点,并从最高层(layer(i),i值取最大的层数)开始,建立到汇聚节点的通信网络链路;

步骤第3.4所述为第四步数据传输阶段,利用第3步建立的通信链路进行数据传输,并在传输过程中利用公式(5)计算且存储包括簇头在内的所有传感器节点的剩余能量;

步骤第3.5所述为第五步链路维护阶段,随着时间的推移,部分节点,尤其是簇头节点会发生能量过少或者节点死亡的问题,此时需要簇内近邻节点时间片轮转替换簇头,重复步骤3.2-3.5,直至整个网络生命周期结束。

本实例中我们构建了一个模拟场景网络中的节点随机分布在400*400的区域内,基站不在该区域内,汇聚节点位于区域的中心,汇聚节点负责将收集到的数据转发至基站。

网络中的参数设置:

表1测试参数

本实例的仿真实验结果如下:

实验初始阶段,在400m*400m的二维坐标平面随机生成200个普通传感器节点,唯一的汇聚节点位于坐标平面中心位置,即汇聚节点的坐标为(200,200)。

附图4为调整后的簇头分布图。从图中可以看出此时,簇间的覆盖重叠面积低于30%,不会造成过多的能量浪费。

附图5为簇间通信链路图。根据调整后的簇头,外层簇群以较内层簇头为中间节点,多跳形式将收集到的数据信息传输到汇聚节点,最内层的簇群以单跳形式直接将收集到的数据信息传输到汇聚节点,最后由汇聚节点将信息传输到基站。

附图6为簇头数量与分区域面积及传感器感知半径关系图。(a)、(b)、(c)分别表示分区域面积为30*30,40*40和50*50时,簇头数量与传感器感知半径的关系。从图中可以看出,分区域面积越大,传感器感知半径r越大,网络区域划分的簇头数量越小。感知半径r=50m,簇头数量为22时,能够达到最优的情况。所以,这里我们定义传感器节点的感知半径r=50m。簇头节点无论是在簇的建立阶段还是簇间维护阶段都起着关键作用,它不仅要收集簇内节点信息,还要负责转发簇间数据。所以簇头节点在一定时间轮数能耗的多少是网络性能好坏的一个重要指标。

附图7为簇头能耗图。从图中可以看出,leach协议由于每次随机选择簇头,随机性导致了簇头能耗的不稳定性,不合理的选择会造成簇头能耗过大。ehe-leach和icshs协议及本算法簇头消耗比较稳定,且本算法采用节点度和剩余能量结合选取簇头的策略,相比其他协议,节省了部分簇头能量开销。

附图8为存活节点个数图。从图中可以看出,leach协议的节点能量消耗不均衡,轮数不足700的时候,就出现了死亡节点。我们提出的协议与其他三种协议相比,更能延长网络的生命周期。但由于能量黑洞问题,结果在模拟结束时几乎变成直线,产生这样结果的原因是无线传感器网络中高层次的簇头节点由于中间节点的死亡,不能再与汇聚节点建立多跳链路通信。

附图9为网络数据流量图。从图中可以看出,我们提出的eehcn协议网络发送数据流量包最多,丢包率最低。随着网络生命周期的延长,eehcn协议传送的数据包量略优于ehe-leach协议和icshs协议,能更好的满足无线传感器网络的数据传输要求。

附图10为网络能耗图。从图中可以看出,我们提出的协议的网络能耗最低,leach协议网络能耗最高。网络能耗能反映网络的生存时间,也就是说,本协议能延长网络的生存时间。

附图11为网络剩余能量平均值图。从图中可以看出,我们提出的eehcn协议节点剩余能量平均值直线高于其他三种协议,能够更好的减少网络能耗,提高网络的生命周期。

附图12为网络能耗标准差图。该图相比较图11而言能更好的反映网络能耗的稳定性。由图可知,leach协议的节点能量消耗不稳定。我们提出的eehcn协议的网络能耗稳定性略优于ehe-leach协议和icshs协议,显示了更好的能耗均衡性。

实际场景测试结果如下:

现有的煤矿基本都是由矿工进行人工开采的,一旦发生瓦斯爆炸事故,将会造成巨大的经济损失和员工伤亡。因此,监测瓦斯环境尤为重要,可以有效减少事故的发生。

目前如何监测煤矿地下工作场所环境信息,并通过无线传感器网络传输到基站,从而预警危险,是一个亟待解决的问题。本文提出的分簇方法,可以应用到深井巷道的无线传感器网络安全环境监测领域,实现井下分区域簇群的实时同步安全监测,并且能够节约网络能耗,延长网络的生命周期,有效保障工人和矿井的安全。真实场景模型如图13所示,基站将监控信息发送至地面接收站。

主要测试目的是比较四种不同协议在相同的真实场景下的存活节点数、数据流量、网络平均剩余能量和网络能耗,抓取两个轮次点(t1=540,t2=1080)的实时数据作为比较对象,具体的场景测试参数如下:

表2场景测试参数

附图14为存活节点数图。从图中可以看出,随着轮次的增加,leach协议和ehe-leach协议的节点存活数明显下降。icshs协议与eehcn协议性能较好。

附图15为数据流量图。从图中可以看出,随着轮次的增加,leach协议数据流量明显下降,ehe-leach协议和icshs协议的数据流量比eehcn协议稍少。

附图16为网络平均剩余能量。从图中可以看出,随着轮次的增加,eehcn协议的剩余能量明显多于其他三种协议。

附图17为网络能耗图。从图中可以看出,eehcn协议一直是四种协议中能耗最少的。

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