无线传感器网络LEACH路由协议的改进算法摘要:针对无线传感器网络簇头节点选取难、网络生存周期短、能量消耗大等问题,本文在传统的leach算法基础上,设计了e-leach算法,e-leach算法引入了能量阈值的概念。能量阈值是判断该节点是否可以作为簇头节点的先决条件,同时引入距离因子的概念,在每轮选取簇头时,都会考虑到和基站的距离。仿真实验表明,该算法有效的降低了网络能耗,延长了节点的生命时间。关键词:无线传感器网络leach节点生存周期能量中图分类号:tp3文献标识码:a文章编号:1672-3791(201206(b-0015-02近年来,由于无线技术、计算机技术与传感器技术的迅猛发展和快速融合,无线传感器网络应运而生。无线传感器网络技术作为一种新型网络技术受到研究者的普遍重视和广泛研究[1]。但传感器网络也有一些固有的缺点如:能量利用率低、生存周期短、抗干扰能力差。而通过良好的分簇算法不仅可以减少传感器节点的能耗,还可以降低通讯干扰、提高mac协议和路由协议的效率。因此,提出一个高效稳定合理的算法便成为迫切需要解决的问题[2]。本文在leach算法的基础上,综合考虑了各个节点的剩余能量,提出了一种更为高效、更为合理的低开销自适应分层的e-leach算法。1leach算法分析leach协议是由wendi等人提出的,其基本思想是:“提出了轮(round”的概念,通过每一轮的循环随机选择簇头节点,然后再对簇头节点进行轮换,从而达到平衡和降低能耗、延长网络的生存周期的目的。在leach协议中,每一轮由两部分构成。第一部分是构建簇阶段,第二部分为稳定工作阶段。在实际的无线传感器网络中,经过多轮选举后,各个节点的剩余能量将会有很大的不同,靠近簇头的节点剩余的能量多,而远离簇头的节点剩余的能量少。但是在传统的leach算法中,所有的节点成为簇首节点的概率是相同的。因此,若在以后的多轮数据传播中都选取远离基站的节点做簇头,则该节点的能量将很快被耗尽,最终成为失效节点。过多的失效节点将导致整个网络的瘫痪。另外,在传统的leach算法中,每一轮的初始化阶段,节点根据接收到簇头节的广播信号的强弱,选择要加入的簇。但是,这种方案不一定是最优的方案。a、b、c为选择出来的簇首节点,d为基站,e为非簇首节点。显然节点e距离a、c的距离均比距离b的距离近,但若e要将数据传到基站d,最优的簇头却应选b。因为不论是选c还是选a,整个网络消耗的能量都大于b路径。2leach改进算法针对leach算法的不足之处,本文设计了e-leach算法,在很大程度上解决了上述问题。e-leach算法构建簇时经过了两次选择。第一次选择选出符合能量条件和距离极小条件的节点集合,第二次选择才是真正的簇头选择阶段,在该集合中随机选出符合要求的簇头节点。首先,e-leach算法引入了能量阈值的概念。能量阈值是判断该节点是否可以作为簇头节点的先决条件。能量阈值的计算公式:(1式中e(r为第r轮的能量阈值,k为能量阈值因子,p为期望的簇头节点占所有有效节点的百分比,er为第r轮循环网络中随机选取的有效节点的能量总和,m为第r轮中簇头节点总数。在每一轮簇头选择前,将每个符合簇头条件的节点能量与能量阈值相比,若节点能量小于能量阈值则将该节点从簇头候选节点中剔除[3~5]。其次,e-leach算法引入了距离因子:(2其中dm为监测区内节点到基站的最大距离,d(i为节点i到基站的距离。有了距离因子,在每轮选取簇头节点将数据向基站传送时,都会考虑距离代价。从而选择出数据传输距离最小的路径。经过第一次的选择,我们可以得到一个簇头候选集合q。(3q是在1/p轮中未成为簇头并且能量大于能量阈值的节点集合。非簇头节点选择加入簇时,也会参照能量阈值及距离因子,选出能量损耗最小的传输路径[6]。4仿真与实验分析本方案使用matlab仿真。在仿真时k取0.75,传感器节点随机的分布在1000×1000的平面区域内。传感器节点数为1000个,各个节点初始能量为3j,基站坐标为(50,750,数据包大小为20bytes。leach算法与e-leach算法存活节点的数量随时间的变化情况。leach算法与e-leach算法传输数据量与能耗的关系。由此次实验的仿真可以看出在初始节点数相同条件下,随时间的推移,采用leach算法的无线传感器网络节点存活数明显低于采用e-leach算法的无线传感器网络。而且在传送...