背景技术
无线传感器网络(wireless sensor network,WSN)是一种特殊的Ad-Hoc网络,由成百上千的、低成本、低能量的小型传感器节点(简称为节点)组成,可用于布线和电源供给困难、人员不能到达的区域(如受到污染、环境不能被破坏或敌对区域)以及一些临时场合(如发生自然灾害时,固定通信网络被破坏)等。目前,无线传感器网络(WSN)在军事、环境监测、工业控制、智能家居和城市交通等方面都有重要的实用价值,已成为热点研究领域之一。对应于不同的应用需求,各种WSN在硬件平台、软件系统和通信协议上都存在较大差异。而且这些节点受到计算能力、存储能力、无线通信能力、带宽和不能替换能量的限制。这些节点虽然很容易被部署,但是很难被回收和充电,导致节点易于失效,网络寿命受到严重影响。从网络拓扑的角度看,WSN可以被分为平面结构以及分簇结构两大类。平面结构中WSN各节点的地位都是平等的,而在分簇结构中,网络中的节点被划分为若干个称为簇的节点集合,每个簇通常由一个簇首节点和多个成员节点组成,簇首负责管理和控制簇成员节点的工作,同时负责簇内数据收集及簇间数据转发。与平面结构相比,采用分簇结构的WSN具有能量效率高、可扩展性好等优点。适用于WSN的分簇算法已成为WSN研究领域的核心技术之一。目前的研究重点主要集中在簇首节点的选择、簇的形成过程、簇内节点的组织以及数据的传输模式等方面。
(1)簇首节点的选择。在这个过程中,考虑更有效的簇首选择算法和簇首负载平衡算法,即通过对经典算法(如LEACH、HEED等)的分析,根据簇首选举的原则,通过增加适当的约束条件,提出更加合理的簇首选择算法。一般地,我们都是基于节点的某个“度”来选择簇首,“度”这个参数的选取与具体应用有关,反映系统倾向于何种性质的节点成为簇首,类似的算法有模拟退火算法,模糊逻辑算法,遗传算法等。簇首的数量和位置分布以及节点如何选择加入簇,对网络的负载平衡具有重大影响。在网络规模不大的情况下,为防止簇首成为瓶颈,也可以考虑采用无簇首的分簇算法。在LEACH(Low-Energy Adaptive ClusteringHierarchy)算法中,各节点选取一个[0,1]之间的随机数,如果这个数小于阈值T(n),该节点当选为簇首。
其中,p是节点当选簇首的概率;r是目前循环进行的轮数;G是最近1/p轮中还未当选过簇首的节点集合。成为簇首的节点向网络中发送广播信息,其他节点选择收到信号最强的簇首。若将能量因素考虑在内,其计算方法为:
其中,rs表示节点连续未当选簇首的轮次,En_current为节点当前的能量值,En_max为节点的初始能量值。一旦当选了簇首,rs重置为0。目前主流的方法是以LEACH算法为基础,主要通过对网络中节点的剩余能量、初始能量、网络运行的轮数、到基站的距离以及邻节点数等参数进行考虑,增加适当的参数对T(n)进行改进或增加适当的约束条件,提出解决方案。
(2)簇的形成过程。在簇的形成过程中,通过减少拓扑生成过程中的控制报文开销以及降低拓扑结构变动的频率,减少网络通信开销,即使簇的能量消耗总和最小,即
最小;其中,a
i是簇S
i的簇首,x是簇中成员节点,函数f是簇首与成员节点之间的通信代价。利用WSN分布式的特点建立更高效的启发机制、通过节点之间的互动和信息反馈来分簇,如PECA(Power EfficientClustering Algorithm)算法,结合具体网络的动态性,设计合理的簇的重建频率,降低簇的维护开销。
(3)簇内节点的组织。在簇的组织过程中,一般算法中都是节点根据信号的强弱来加入簇,容易产生簇首分布不均匀导致簇间的负载不均衡问题。通过引入新的参数来均衡网络的负载分布;采用簇内多跳是减小成簇开销的一种有效方法,尤其是簇的通信半径比较大,簇内节点较多的时候。同时通过对簇内数据的传输模式的改进,考虑数据的多跳传输方式、小半径成簇或不均匀簇的方法(如Hybrid LEACH算法)以及移动节点做中继节点等方法,解决网络中的热点问题,达到延长网络的寿命的目的。
发明内容
本发明的目的是克服现有技术中存在的网络能量消耗不均衡以及簇首的瓶颈问题,提供一种基于能量均衡的无线传感器网络分簇方法,有效地利用能量,提高网络的稳定性,均衡网络的能量消耗,有效的延长网络的寿命,使网络具有较好的延展性以及安全性。
按照本发明提供的技术方案,基于能量均衡的无线传感器网络分簇方法,包括簇首选择、簇的组建以及数据的传输三个方面,具体如下。
1)在簇首的选择过程中增加新的节点的“度”进行簇首的选择,利用节点能量、邻节点数等参数设置节点当选簇首的优先度,使簇首均匀的分布在网络中,达到网络负载的均衡,可以有效地防止网络中热区热点问题的出现;即各节点首先选取一个[0,1]之间的随机数,与阈值T(n)进行比较,如果这个数小于阈值T(n),则继续计算此时候选节点的剩余能量,并与能量阈值Eth进行比较,当节点的剩余能量大于该轮的能量阈值Eth时,则该节点当选为候选簇首。最后计算每个节点的邻节点数及邻节点数的平均值,如果候选节点的邻节点数大于网络中节点的邻节点数的平均值,则将该候选节点当选为簇首,然后簇首节点向网络中发送广播信息。其中在第一轮簇首选择过程中由于节点的能量为初始能量,所以不需要进行能量的比较。其中阈值T(n)采用公式(1),能量阈值Eth采用公式(5)。
2)在簇的组建过程中设置能量阈值作为簇的重建条件,达到减小簇的重建频率的目的,减小簇的组建带来的能量消耗;即当网络的第一轮结束后,在进入下一轮的簇组建之前,首先计算网络中簇的能量均值Eaverage以及簇首的能量剩余SCH.E,当Eaverage≥0.6*En_max且SCH.E≥Eth,则说明簇内的节点能够保证下一轮的网络运行,则网络直接进入数据传输阶段;否则网络重新进行簇首的选择以及簇的组建。在簇的组建过程中利用节点接收信号的强度,对节点加入簇的条件进行设置,同时提出节点的价值度的计算方法,并利用节点的价值度对处于临界处的节点(临界点)加入簇的方式进行设置,由此选出最优的簇首。其中能量均值Eaverage采用公式(4)。
3)在数据的传输方面采用单跳与多跳结合的方式,即据网络中能量的消耗情况决定数据的传输模式。即当Eaverage≥0.5*En_max,网络中数据的传输采用单跳的形式,传输模型为一阶无线电模型,反之,则采用多跳的形式即改进的传输模型。该模型使网络在进行数据传输的过程中有足够的能量,以此保证数据传输过程中的安全性;网络采用多跳的方式可以提高网络的稳定性,有利于新节点的加入,使网络具有更好的延展性。
本发明的优点是:
1)增加新的节点的“度”进行簇首的选择;本发明主要采用节点自身剩余能量和能量阈值的关系以及节点的邻节点数确定节点成为簇首的优先度,凭该优先度争先成为簇首,实现簇首分布的均衡,减少了迭代算法的时间和功耗。提出新的能量阈值的计算方法,保证簇首有足够的能量完成网络的运行,同时使网络的能量均匀的分布在每一轮中。其中能量阈值主要由节点的初始能量、网络运行的轮数以及网络预计运行的轮数等因素确定。簇头的选择不完全是随机的;在保证节点有相同的机会当选簇头的前提下,根据每轮节点的剩余能量、邻节点数等参数设置其当选簇头的优先度。不仅可以使簇头均匀的分布在网络中,同时避免剩余能量低的节点作为簇头,使网络的负载得到均匀的分布,有效的防止网络空洞的出现。
2)不是每轮都构造簇;提出新的能量阈值,设置为簇的重建的条件。使簇节点以及簇头的能量在不能保证网络下一轮运行时重新构造簇,降低网络的重建频率,减少构造簇消耗的能量,有效的延长网络的寿命;同时对临界点提出了新的处理方案。
3)本发明提出一种新型的数据传输模型,即采用能量阈值对网络的运行时间进行分段,在不同的时期采用不同的传输方式,可以有效的调整网络节点的工作状态,保证节点传输数据时的能量需求,保证数据的安全性;而且多跳的数据传输方式使网络具有更好的稳定性,有利于新节点的加入,使网络具有更好的延展性。
具体实施方式
下面结合具体的网络模型对本发明的详细过程作进一步说明。
在200m×200m的区域内,随机布置200个节点,其中基站的位于(100,350)。每轮簇头个数与网络中存活节点个数的比例为0.05。采用的物理模型为:
(1)所有节点完全相同并且能量有限,具有数据融合的功能;
(2)所有节点都可以和基站进行通信;
(3)无线电信号在各个方向上能量消耗相同;
(4)基站是固定的,能量无限制。
1簇首选择算法
本发明在簇首的选择过程中,通过对网络中节点当选簇首的概率、节点的能量以及节点的邻居节点数等参数的设置,保证网络中节点均匀的分布。具体过程如下:
首先是第一轮簇首的选择,各节点首先选取一个[0,1]之间的随机数,与阈值T(n)进行比较,如果这个数小于阈值T(n),则将节点选为候选簇首。然后计算每个节点的邻节点数,以及网络中节点的邻节点数的平均值,然后比较候选节点的邻节点数与邻节点数的平均值的关系。当Nei(i).Num>Nei.average时,将此节点选为簇首。然后进入簇的组建阶段以及数据的稳定传输阶段。其中T(n)的计算方法采用(1)式,邻节点数平均值的计算方法如下所示:
其中i为节点的ID,Nei(i).Num为第i个节点的邻节点数,.Num表示个数的缩写,nlive为网络中存活节点的个数。
网络第一轮运行结束后,在进入下一轮的簇组建之前,首先计算网络中存活节点的能量均值Eaverage以及簇首的能量剩余SCH.E,当Eaverage≥0.6*En_max且SCH.E≥Eth,则说明簇内的节点能够保证下一轮的网络运行,则网络直接进入网络的数据传输阶段。反之则进入簇首的重新选择以及簇的重建阶段。其中簇内节点能量平均值的计算公式为:
其中S(i).E为第i个节点的剩余能量,.E为节点能量的缩写。
第r轮节点的能量阈值Eth的计算公式如下:
其中n为网络预计要运行的轮数,En_max表示节点的初始能量。
在簇首的重新选择过程中,各节点首先选取一个[0,1]之间的随机数,与阈值T(n)进行比较,如果这个数小于阈值T(n),则继续计算此时候选节点的剩余能量,并与能量阈值Eth进行比较,当节点的剩余能量大于该轮的能量阈值Eth时,则该节点当选为候选簇首。最后计算每个节点的邻节点数,以及网络中节点的邻节点数的平均值,如果候选节点的邻节点数大于网络中节点的邻节点数的平均值,则将该候选节点当选为簇首,然后簇首节点向网络中发送广播信息。
2簇的组建
簇首选择过程完成后发布广播信息,其他非簇首节点收到广播信息后,选择收到信号的强度最强的作为自己的簇首,并通过基于信道竞争的CSMA机制来向簇首发送请求信息,其中包括自己的ID、距离簇首的距离等信息;当节点无法从收到簇首发送的信号中选出强度最强的时,即称该节点为临界点。此时临界点计算较强的几个簇首的价值度ValueCH,选择价值度ValueCH最大的簇首加入。并向相应的簇首发送请求信息。其中ValueCH的表达式如下:
其中DN_CH为节点到CH的距离,DCH_BS为CH到BS的距离。
簇首根据收到的信息等,建立起簇内的TDMA传输时间安排,由此保证不会发生数据消息的传输碰撞,并且允许每个簇成员节点不在自己的发送时间时一直关闭自己的电台,从而降低节点的能量消耗。当簇内节点获悉其簇头的TDMA传输时间安排后,就完成了该轮的簇的组建,进入稳定传输阶段。
3数据的传输模型
本发明在数据传输阶段主要采用单跳与多跳相结合的形式。在网络运行的过程中,当节点有足够的能量保证网络的正常运行时,其数据传输采用单跳的形式,传输模型为一阶无线电模型,反之,当网络因能量消耗过多而出现热点、热区问题时,且则采用多跳的形式即改进的传输模型。这种结合方式主要目的是调整节点的工作状态,即降低热点在数据传输过程中的能量消耗,从而达到延长其寿命的目的。
3.1一阶无线电模型
传感器节点发送k bit数据所消耗的能量Etx(k)为:
传感器节点接收k bit数据所消耗的能量Erx(k)为:
Erx(k)=k*Eelec。 (8)
距离阈值d0的计算公式为:
其中传感器节点电子元器件耗能Eelec依赖数字编码、调制、滤波、信号扩频等因素,功率放大器耗能efs*d2或者emp*d4与到达接收机(簇首或基站)的距离d以及可接受的比特误码率有关。
3.2改进的传输模型
本发明适用于多跳的网络,跳数由节点与基站或簇首的距离与距离阈值d0关系决定。在成簇算法中已经完成节点的传输路由安排。在数据的传输过程中,距离基站或簇首的距离与距离阈值d0的关系不同时,节点的耗能也就不同。对于T跳的网络,处于第j跳的节点的能量消耗与距离d的关系:当j*d0>d≥(j-1)*d0,节点接收数据消耗的能量为:
Erx(k)=(T-j+1)*k*Eelec。 (10)
其发送数据的耗能为:
Etx=(T-j+1)*(k*Eelec+k*efs*d2)。(11)
其中T≥j≥1,d0的计算方法与式(9)相同。
由以上分析可以看出距离基站或簇首的距离越近,节点的耗能越多,与单跳网络中距离基站或簇首的距离越远的节点死亡的越早这一现象恰恰相反。通过对通信模型的改进可以有效的防止网络中距离基站或簇首较远的节点提早死亡,使网络的能量得到更均衡的利用,网络采用多跳的方式进行传输具有很好的延展性。同时数据的传输距离设置在d0以内,是数据的传输处于自由空间中,有效地避免了数据在多径衰落模型中存在的数据丢失问题,使数据在传输的过程中具有更高的安全性。
本发明在数据传输阶段主要采用单跳与多跳相结合的形式。本发明根据网络中能量的消耗情况决定数据的传输模式。即当Eaverage≥0.5*En_max,网络中数据的传输采用单跳的形式,传输模型为一阶无线电模型,反之,则采用多跳的形式即改进的传输模型。这种结合方式主要是通过调整节点的工作状态,降低热点的工作负担,达到延长网络寿命的目的。
4算法分析
1)负载分布的均衡性
针对簇首的分布不均匀问题,本发明通过对节点当选簇首的概率、邻节点数、簇内的能量消耗等参数的设置,使簇首均匀的分布在网络中。如图1所示,其中圆圈为普通节点,圆圈中含有“*”的为簇首,“x”表示基站的位置(100,350)。由此可以看出簇首的分布比较均匀:节点分布越密集的地方,簇首的分布也越密集,节点分布分散的地方簇首的分布也比较分散。其中网络的密集度用簇首的邻节点数表示。
簇首个数的确定将考虑更多的因素,如:网络中的节点数N、节点到基站的距离dtoBS、网络覆盖区域的边长M、以及信号的传输模型;
通过计算可知4≤kopt≤12,本发明结合LEACH算法中计算得到簇首个数与网络中存活节点个数的比例,将每轮簇首的个数设置在[9,12]的范围内。
能量的提高主要通过降低网络的重建频率以及数据传输的能量消耗来完成。由于本发明采用单跳与多跳相结合的形式,选取使用不同传输模型的网络在第1250轮的死亡节点分布说明其优越性。如图2a、图2b、图2c所示。可知,采用多跳模型的数据传输,网络中的热点集中在距离基站较近的地方,因此网络中距离基站越近的节点的能耗速度越快,故其死亡节点主要分布在距离基站较近的地方;采用单跳模型的数据传输,通过对一阶无线电模型的分析可知,距离基站较远的节点在传输信息的时候能量消耗的越快,因此该网络中的死亡节点主要分布在距离基站较远的地方。采用两种模型相结合的方式,其死亡节点的分布是分散的,可以看出使用该模型的网络能量的消耗比较均匀。
2)能量利用率高
本发明选择网络中节点的存活个数与网络的运行轮数作为参数,与已有的方法进行比较,如图3所示,其中横坐标为网络运行的轮数,纵坐标为节点存活的个数。通过比较分析可以看出本发明的后一半节点数目趋于很快死亡,因此更符合WSN的特性,原因是由于考虑到WSN自身的特点:个别节点死亡并不影响网络整体性能,但当大部分节点都已失效,网络的存在就毫无意义。为便于对比,分别就网络中第一个节点死亡(First Node Dead,FND)轮数,半数节点死亡(Half Nodes Dead,HND)轮数对三种算法进行了对比评价。为便于对比对算法仿真10次,分别取统计平均值。
表1
表1给出了三种算法的网络生存时间统计结果。表1数据表明本发明可以显著地延长网络FND、HND的死亡时间。通过对以上数据的分析可得出以下结论:采用本发明的网络与采用LEACH、DCHS方法的网络相比,不仅能够保证当选簇首的节点具有足够的能量,而且簇首的分布更均匀,网络具有更好的收敛性。
3)安全性与网络的延展性
在数据的传输过程中采用单跳与多跳结合的方式,根据网络中能量的消耗情况决定数据的传输模式。即当Eaverage≥0.5*En_max,网络中数据的传输采用单跳的形式,传输模型为一阶无线电模型,反之,则采用多跳的形式即改进的传输模型。该模型使网络在进行数据传输的过程中有足够的能量,以此保证数据传输过程节点有足够的能量,从而保证数据的安全性;网络采用多跳的方式可以提高网络的稳定性,有利于新节点的加入,使网络具有更好的延展性。