单片机 WSN 中基于LEACHDCHS 协议的簇维护算法.docx
- 文档编号:11548326
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:13
- 大小:452.25KB
单片机 WSN 中基于LEACHDCHS 协议的簇维护算法.docx
《单片机 WSN 中基于LEACHDCHS 协议的簇维护算法.docx》由会员分享,可在线阅读,更多相关《单片机 WSN 中基于LEACHDCHS 协议的簇维护算法.docx(13页珍藏版)》请在冰豆网上搜索。
单片机WSN中基于LEACHDCHS协议的簇维护算法
目录
《单片机原理》
期中论文
论文题目WSN中基于LEACH-DCHS
协议的簇维护算法
姓名
学号
学院
专业班级
目录
1引言2
2LEACH-DCHS算法介绍3
3LEACH-DCHSCM(LEACH-DCHSClusterMaintenance)算法4
3.1网络运行环境4
3.2簇维护策略的提出5
3.3簇维护算法描述6
3.3.1簇的建立6
3.3.2稳定的簇通信6
3.3.3簇维护改进算法7
3.3.4新一轮成簇7
3.3.5能量损耗模型7
4DCHsS算法9
4.1 双簇头方案9
4.2“中转”簇头选举11
4.3参数的影响13
5仿真评估与算法分析14
6总结17
参考文献:
18
WSN中于LEACH-DCHS协议的簇维护算法
摘要:
节能是无线传感器网络设计中的一个重要的目标,而路由算法对无线传感器网络的能量消耗有着重要的影响,所以提高路由算法的有效性,以减少网络中的能量消耗是非常必要的。
在原LEACH-DCHS算法的基础上,提出了LEACH-DCHSCM(LEACH-DCHSClusterMaintenance)算法。
LEACH-DCHSCM通过延长网络稳定通信时间,同时兼顾网络中节点能量的均匀消耗,来达到节省能量的目的。
仿真分析表明,新的算法在节能和信息传输的实时性方面较已有算法有很大的提高。
关键词:
无线传感器网络,路由协议,分簇,簇维护,改进算法,能量
Abstract
Savingenergyisanimportantgoalinthedesignationofwirelesssensornetworks,androutinalgorithmhasanimportantimpactonenergyconsumptionforwirelesssensornetworks。
Therefore,improvingtheenergyefficiencyofroutingalgorithmtoreduceenergyconsumptioninthenetwork
isverynecessary.LEACH-DCHSCM(LEACH-DCHSClusterMaintenance)algorithmbasedonLEACH-DCHSalgorithmisproposedinthispaper.Byprolongingthesteady-statephasetimeandretainingtheconceptofroundintheoriginalalgorithm,thenewalgorithmachievesthepurposeofsavingenergyultimately.Simulationresultsvalidatetheenergy
efficiencyofLEACH-DCHSCMalgorithm.
Keywords:
Wirelesssensornetwork;Routingprotocols;Cluster;Clustermaintenance;Improvedalgorithm;Energy
1引言
无线传感器网络(WSN)是通过在监测区域内布置大量传感器节点,这些节点通过无线通信的方式形成一个多跳自组织的网络系统[1]。
传感器节点收集感知区域内感知对象的信息,并将收集到的信息处理后提供给基站。
由于无线传感器网络最显著的特征之一是网络节点的能量受限,因此从事无线传感器网络方面的研究时,应该着重考虑节点的能量问题[2]。
在无线传感器网络体系结构中,网络层的路由技术至关重要。
路由协议一般又包括平面路由协议和分簇路由协议。
由于分簇路由具有拓扑管理方便、能量利用高效、数据融合简单等优点,成为当前重点研究的路由技术[3]。
无线传感器网络中的分簇算法是当前研究的热点,传感器网络上层协议的应用都依赖于分簇的逻辑结构。
分簇算法就是把网络中的节点分为簇头节点和簇内节点来实现网络通信的方法。
簇头选举算法一般包括簇的形成和簇内稳定通信两个阶段,一般情况下,一个好的分簇算法簇内稳定通信时间应远远大于簇形成的时间[4],这样就能增加数据传输的有效时间,减少大规模簇生成消耗的能量。
在LEACH-DCHS基础上,通过延长簇内稳定通信的时间,以减少WSN中的能量消耗。
2LEACH-DCHS算法介绍
LEACH算法[5]是较早提出的一种自适应的分簇算法,它的主要思想是基于接收信号的强度来形成集群[6],节点产生0~1之间的随机数,当这个随机数小于阀值T(n)时,就发消息宣布自己是簇头。
其余节点收到簇头节点发布的消息,根据其接受信号的强弱选择加入相应的簇。
它的不足之处是,节点等概率的当选簇头,没有考虑当选簇头节点剩余能量的多少。
LEACH-DCHS算法对LEACH算法作了改进,它把能量作为当选簇头节点的一个参数,每轮选举中选择能量相对较高的节点作为簇头节点,综合考虑了节点能量和阀值大小对簇头选举的影响,使算法更加公平合理[3]。
LEACH-DCHS算法具有LEACH算法的特点,采用了“轮”的概念,是周期性执行的,每个周期包括簇的建立阶段和稳定的数据通信阶段[7]。
在簇的建立阶段每个节点计算自己是否能成为簇头节点,非簇头节点根据判断加入相应的簇;进行稳定的数据通信时簇内节点向簇头节点传输数据,簇头节点将接收到的信息进行数据融合后发送给基站。
稳定的数据通信阶段完成后即进入下一“轮”新的簇生成。
LEACH-DCHS算法周期性地进行簇生成,当网络中簇形成以后,可能在簇头节点的能量还足够大的情况下,就要进行新一轮的簇生成,这样大规模的频繁的簇生成会造成很多能量消耗。
通过延长网络中稳定的数据通讯阶段的时间,来减少网络中大规模簇生成造成的不必要的能量消耗。
同时保留网络中“轮”的概念,实现网络中能量消耗的相对均匀。
3LEACH-DCHSCM(LEACH-DCHSClusterMaintenance)算法
3.1网络运行环境
假设传感器节点分布在一个矩形区域,而网络具有一般传感器网络所满足的以下特点:
(1)节点部署后不再移动。
(2)每个节点的能量消耗是不一样。
(3)节点不知道自己的地理位置信息。
(4)所有的节点都具有相同的处理和通信能力,节点在网络中的地位平等。
(5)节点部署后网络不需要人为维护。
(6)无线发射功率可控,即节点可以根据距离来调整发射功率的大小。
(7)每个节点都能与基站通信。
3.2簇维护策略的提出
本策略在原来LEACH-DCHS的基础上,增加网络生成簇以后的稳定的通信时间,把稳定的数据通信阶段分为稳定的簇通信阶段和簇维护阶段,延长簇稳定时间,减少大规模的簇生成所消耗的能量。
算法可以分为4个步骤:
步骤1簇的建立阶段。
用LEACH-DCHS算法进行簇的生成;
步骤2稳定的簇通信阶段。
这一阶段按照前一阶段生成的簇结构进行稳定的簇内通信、簇头和基站之间通信;
步骤3簇维护阶段。
在完成稳定的簇通信阶段后不直接进入第二轮的簇建立,而是进行持续的簇通信,当某个簇的簇头节点能量小于“门限值”时,在原簇的内部选举新的簇头进行数据通信;
步骤4新一轮簇建立阶段。
当经过簇维护的簇的数目达到原生成簇数目的一半时,按LEACH-DCHS算法进行第二轮的簇生成。
基本过程是以上4个步骤的循环,直至网络不能进行数据传输为止。
3.3簇维护算法描述
3.3.1簇的建立
WSN中节点产生一个0~1之间的随机数,如果这个数小于阀值T(n),则该节点向周围节点广播它是簇头的消息。
阀值T(n)的计算公式如下:
T(n)=
其中:
P是簇头占所有节点的百分比,即节点当选簇头的概率;
r是目前循环进行的轮数;n是节点标号;G是最近1/P轮中还未当选过簇头的节点的集合;En_current表示节点当前能量,En_max表示节点的初始能量。
竞选为簇头的节点向所有节点广播自己成为簇头的消息,其余每个节点接受簇头节点发来的广播消息并根据收到广播信号的强弱来选择加入信号最强的簇,并报告给该簇头。
3.3.2稳定的簇通信
簇内所有节点按照TDMA(时分复用)时隙向簇头发送数据,簇头对收到的数据进行数据融合后,按照CSMA(载波侦听多路访问)的方式将数据发送给基站。
3.3.3簇维护改进算法
网络持续进行稳定的簇通信阶段,当网络中有某个簇头节点j的能量小于“门限值”(初始能量的20%)时:
步骤1该簇头节点j向本簇内的其他节点发布消息;
步骤2该簇簇内其余节点vji(1≤i≤nji)记录自己的当前剩余能量eji_current和自己当前的发射功率的大小值powji_current。
其中,nji代表以节点j为簇头的簇内节点的个数;
步骤3该簇簇内节点计算各自的剩余能量和功率的比“适合因子”Hi=eji_current/powji_current;
步骤4该簇簇内节点将计算后的结果传输给簇头;
步骤5该簇头节点经过比较找出“适合因子Hi”值为最高节点;
步骤6选取“适合因子”Hi最高的节点作为本簇内新的簇头节点进行通信。
3.3.4新一轮成簇
在用LEACH-DCHS生成簇的基础上有一半的簇进行簇维护时,按照LEACH-DCHS的方法重新进行新一轮的簇生成。
以下进入
(1)到(4)的循环。
3.3.5能量损耗模型
典型的传感器节点能量消耗分布如图1所示。
传感器节点能耗包括三个部分:
感知能耗、计算能耗以及通信能耗,显然,通信能耗是无线传感器网络能量消耗最重要的部分。
假设网络监测周期为T,则在监测周期内节点的实际能耗由感知能耗EM、计算能耗EC和通信能耗ET三部分构成,即:
Econsum=EM+EC+ET
其中,感知能耗与计算能耗相对通信能耗而言,可以忽略。
因此可以将节点通信能耗作为各节点实际能耗
的参照值,即:
Econsum≈ET。
无线通信消耗能量关系
用下式表示:
其中,l表示用于通信的数据量,d表示节点之间的通信距离,d0为节点正常通信距离,随着通信距离增大,能量损耗越多。
由式
(1),可以计算出某一节点i与簇内所有节点通信消耗的能量为:
其中,K为簇内节点的个数,lij为节点i与j之间传输的数据量,dij为传输距离。
传感器信息处理是对来自其他节点信息进行综合处理之后再输出的过程。
经处理后的信息在一定程度上或多或少会减少数据量,从而降低数据通信能耗。
异构传感器网络中,节点的信息处理能力是不同的。
小型节点计算能力通常有限,只适合处理简单的任务,而大型节点可以完成较复杂的处理任务。
为了区分异构节点的处理能力,假设节点对汇聚的信息仅进行压缩处理,本文引入压缩率λ(λ∈(0,1)),那么,计算能力较大的节点其λ值小,使得处理后的数据量较小。
由此得到节点i对收到的L数据量压缩处理后输出传给节点j消耗的能量:
ER(i)=(λL)d2ij(3)
4DCHsS算法
DCHsS把节点处理信息和传输信息的功能分解,并利用异构网络中节点在能量和处理能力上的差异,按一定的算法在簇内选择能量较多,处理能力较强的节点来融合簇内信息(该节点定义为“中转”簇头),同时选择剩余能量最多的节点转发数据(该节点定义为“通信”簇头)。
4.1 双簇头方案
双簇头选择流程如图1所示。
簇内所有节点首先在簇内广播自己的信息(包括剩余能量值Ecurrent和压缩率λ),然后监听其他节点发送的信息,此过程完成相邻节点间的信息交换。
节点根据收集到的簇内其他节点的能量信息、压缩率和接收到的信号强度,计算并广播自身的cost。
所有节点选择具有最大cost的节点成为“中转”簇头,并向其发送一个确认信息。
同时,由于节点在信息广播中携带自身的剩余能量值,因此当某节点成为“中转”簇头时,将在接收到的信息中指定具有最大剩余能量值的节点担任“通信”簇头。
若有多个最大剩余能量值的节点同时存在,“中转”簇头将最先收到消息的节点(即距离“中转”簇头最近的节点)成为“通信”簇头。
其中,“中转”簇头的选择是本算法的关键。
4.2“中转”簇头选举
“中转”簇头负责簇内信息的收集、处理及与“通信”簇头的通信。
在异构环境下“,中转”簇头的选择不仅需要考虑节点的剩余能量,更要考虑“中转”簇头在处理能力和通信能耗上要取得平衡,从而有效地减少计算、通信过程中的能量消耗。
首先,必须保证簇头节点的剩余能量充足,使用Pe_i来衡量节点i的当前能量与簇内平均能量的关系:
其中,Ecurrenti表示节点i可使用的能量,等价于剩余能量;
表示簇内平均能量;当Pe_i∈(1,∞),节点i的能量高于簇内平均能量值,可认为节点i能量充足。
“中转”簇头接收簇内其他节点的信息,经压缩处理后传给“通信”簇头节点k,根据式
(2),(3)可估计出“中转”簇头通信能耗为
式(5)中,假设节点初始传送的数据量相同,那么“中转”簇头的能耗主要受三个参数的影响,第1个参数是节点自身的压缩率,若节点处理能力较大,则消耗的通信能耗反而降低;第2个参数是簇内节点的距离平方和;第3个参数是双簇头间的距离。
“中转”簇头在选择“通信”簇头时,若有多个最大剩余能量值的节点同时存在的情况下,优先选择距离最近者。
为了减少“中转”簇头的通信能耗,应选择处理能力较大,且传输距离平方和最小的节点成为“中转”簇头,进一步降低节点簇内通信损耗。
使用通信损耗率Pt_i来衡量节点i成为“中转”簇头时簇内通信能耗:
在异构环境下,需要对异构节点有效利用,才能均衡网络能量,因而“中转”簇头选择时要考虑在节点剩余能量、计算能力以及通信能耗之间取得平衡,本文使用cost作为“中转”簇头的选择标准。
根据文献[14],引入能量平衡因子β,当β=0时,“中转”簇头的选择由节点通信损耗率单独决定;当β>0时,簇头的选择由节点剩余能量和能耗差异共同决定。
随着β的增大,剩余能量对簇头选择的影响加大。
4.3参数的影响
式(7)中的cost作为异构网络中“中转”簇头的选择标准,从中可以看出,除节点的剩余能量之外,还考虑了能量平衡因子、节点处理能力,以及数据传输距离等因素。
能量平衡因子β体现了剩余能量在簇头选择中所占的比重,根据式(7),剩余能量概率Pe_i大于1,因此β越大,剩余能量值对该节点成为簇头的影响力就越大。
文献[15]把β对算法的影响进行了分析验证,得出β∈[1,2]时,可使算法有较好的负载均衡能力和一定的稳定性,因此本文选择β=1,作为后续实验的系统参数。
若节点拥有相同剩余能量值,就需要在节点通信距离和节点本身处理数据能力中找到一个平衡点。
图3给出了数据压缩率(λ)和网络内节点通信距离(d)对cost的影响情况。
其中,值在[0.1,0.5]区间增加时,cost的变化幅度较大,而λ值在[0.5,0.9]区间增加时,cost较稳定的保持低概率值。
异构网络中,λ的选择应可以明显突出节点间处理信息能力的差异。
因此在后面实验中,选择λ=0.2或λ=0.6来表征节点计算能力的高低。
5仿真评估与算法分析
仿真采用将100个节点随机部署在(100×100)m2的区域内,节点的初始能量都设置为0。
5J,这里的门限值设置为0。
1J,节点的最大发射功率都能保证节点之间、节点与基站之间的通信。
仿真比较了完成相同的数据收集任务两种算法网络中消耗的整体能量;数据的延迟情况,即完成相同的数据收集任务所需要的时间。
仿真结果如图1、图2所示。
图4完成相同数据收集任务两种算法网络中消耗的整体能量
仿真结果表明,在传输相同数据量的情况下,LEACHDCHSCM算法比LEACH-DCHS算法消耗的能量大大降低。
但是这种能量消耗的减少是建立在少数节点失效的基础上的,因为传感器节点一般都是大规模的部署的,所以少数节点的失效不会影响整个网络的数据传输。
在收集相同的数据任务时,网络簇维护的算法收集数据的速度明显优于原算法,数据收集的实时性较好。
图5完成相同数据收集任务所需时间
该算法属于分布式算法,簇维护的进行只与该簇的大小有关。
该算法主要的时间消耗是在选择“适合因子”的比较上,较优的比较算法的时间复杂度是O(nlogn),所以该算法的时间复杂度是O(nlogn)。
本文通过C++编程对算法进行了实验分析,实验中参数设置如表1。
程序中利用随机函数使得节点在区域内随机分布,忽略簇构建和节点信息处理能耗,得出基于单簇头和双簇头的簇头能耗以及簇内网络消耗能量的对比结果,如图6(a)、(b)所示。
从图6(a)可以看出:
单簇头网络中,由于在前几个周期内一般由处理能力较大的节点充当簇头,能量消耗会较少;但随着普通节点的能量高于处理能力强的节点,就需要由普通节点来担任簇头,使得网络处理数据能力大大减少,因此簇头消耗的能量就会增大。
双簇头网络中,总是由处理能力强的节点担任“中转”簇头,使得“中转”簇头的能耗就会相对均匀;而网络数据是经“中转”簇头处理后传给“通信”簇头,最后传递给基站,因此随着网络数据量的减少“,通信”簇头消耗的能量也就相对减少了。
图6(b)表明双簇头网络消耗的能量比单簇头网络更加均衡。
由于通过适当的算法选出两个合适的节点来承担簇内数据处理和簇外数据通信任务,减轻了单一簇头的负担,均衡了节点间能量的消耗,因此在一定程度上降低了网络能耗,显示结果与图4一致。
理论分析和实验结果均表明,异构网络中DCHsS可以充分发挥高级节点的处理功能,均衡网络能耗,进一步降低整个网络能耗。
6总结
在LEACH-DCHS算法的基础上,针对LEACH-DCHS频繁成簇这一特性,提出了一种簇的维护策略。
仿真结果表明,在传输相同数据量的情况下,此策略消耗中整个网络消耗的能量大大低于原算法消耗的能量。
当然这种策略可能导致部分节点提前失效。
因为无线传感器网络是大规模部署,所以部分节点的失效一般不会影响整个网络的数据传输。
可以当失效节点的个数达到一定的程度的时候,可以考虑选择运用能量均衡的成簇算法。
节点“门限值”的设定问题也值得进一步探究,以后将致力于这两个方面的研究。
参考文献:
[1]孙利民,李剑中,陈渝,等。
无线传感器网络[M]。
北京:
清华大学出版社,2005。
[2]王娅,许凯华,刘玉华。
WSN中一种基于能量的层次型拓扑生成算法[J]。
计算机工程与应用,2007,43(23):
147-150。
[3]沈波,张世永,钟亦平。
无线传感器网络分簇路由协议[J]。
软件学报,2006,17(7):
1588-1600。
[4]YounisO,FahmyS.Heed:
Ahybrid,energy-efficient,distributedclusteringapproachforad-hocsensornetworks[J]。
IEEETransonMobileComputing,2004,3(4):
660-669。
[5]HeinzelmanW,ChandrakasanA,BalakrishnanH。
Anapplicationspecificprotocolarchitectureforwirelessmicrosensornetworks[J]。
IEEETransactiononWirelessCommunications,2002,1(4):
660-670。
[6]朱海燕,刘玉华,许凯华,等。
WSN中一种基于偏转角的蚂蚁路由算法[J]。
计算机工程与应用,2007,43(12):
124-126。
[7]HandyMJ,HaaseM,TimmermannD。
Lowenergyadaptiveclusteringhierarchywithdeteminsticcluster-headsekection[C]//4thIEEEConferenceonMobileandWirelessCommunicationNetworks,2002:
368-372。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 WSN 中基于LEACHDCHS 协议的簇维护算法 基于 LEACHDCHS 协议 维护 算法