文献标识码: A
文章编号: 0258-7998(2014)09-0108-03
无线传感器网络[1]是由大量无线感知节点构成。LEACH[2]则是针对无线传感器网络而提出的路由算法。该算法将节点通过定期选举簇头节点分担无线网络通信,均衡网络能量消耗,以提高网络寿命[3]。但LEACH选举簇头节点存在随机性,可能导致部分簇头节点剩余能量低于某些普通节点。另外,LEACH采用簇头与基站直接通信的方式,由于簇头节点离基站位置远近不一,发送相同数据包时,远离基站的节点死亡较快。
1 LEACH算法以及不足
LEACH是一种低功耗自适应分层路由算法,以“轮”的方式完成无线数据传输[4]。每轮分成簇建立阶段和簇稳定阶段。在每轮初始阶段进行簇头选举,簇头选举条件[5-6]如式(1)所示。其中,P为簇头所占比例,r为当前轮数,mod()为求余运算,G为节点集合。
所有节点产生一个0~1之间的随机数,如果这个值小于T(n),则该节点宣布成为簇头,并且广播簇头消息,其他成员节点收到广播消息后加入该簇。簇建立好之后,簇头为该簇内所有成员节点分配TDMA时间表,所有成员节点按照TDMA时间表向簇头节点发送数据并进入稳定阶段[7]。在LEACH路由算法中,能量消耗模型是一阶无线电模型[8],如图1所示。
在无线传输距离门限d条件下,无线信道分为自由衰落模型和多径衰落模型。在自由衰落模型下,节点发送k bit数据所消耗的能量如式(2)所示:
其中:Eelec是发送电路和接收电路消耗能量,εamp是放大电路放大数据所消耗能量。信号在无线信道中传输所消耗的能量与距离dr成正比[9]。根据两个模型定义,直接传输会比多跳传输消耗更多能量[10]。簇头节点在数据融合中需要消耗一定的能量,如式(5)所示:
在每一次选举过程中,簇头节点随机从普通节点选举出[11]。可能存在某些普通节点与簇头节点保持较远距离的情况。经过一轮传输后,这些边沿节点能量消耗远远大于靠近簇头节点能量消耗。如果在某一轮簇头选举过程中,这些边沿节点满足式(1)中条件而成为簇头,这样会出现簇头节点能量小于该簇内某些其他成员节点的情况,不利于网络通信。将网络节点以基站为中心,按照离基站距离不同划分到不同区域中,以多跳的方式转发数据达到降低发送能耗的目的。本设计也是基于这两点对LEACH路由协议进行改进。
2 LEACH协议改进及建模
为了选取剩余能量较多的节点担任簇头,在本设计中,簇头节点选举参考节点能量剩余因子。其选举条件如式(6)所示:
其中:Esu为网络节点消耗的能量总和,Eeu为网络节点能量总和。节点能量剩余因子表征该网络节点平均剩余量大小,范围为0~1。节点的能量剩余因子越大,节点所消耗的能量越小,剩余能量越多。剩余能量越多的节点成为簇头,则更有利于无线数据传输。
为了平衡网络中簇头节点能量消耗,根据基站与簇头节点相对位置,划分不同弧线区域:S3、S2和S1,如图2所示。
网络中所有节点随机分布在长度为L的正方形区域内,基站位置为通过不同弧线将簇头节点划分到不同的区域中,每条弧线与基站距离分别为R1、R2和R3。通过多跳的方式避免远距离传输无线数据,达到降低能量消耗的目的。通过合理分配R1、R2和R3长度,可以平衡整个网络簇头节点能量消耗。由图2可计算出第一根弧线所划分的区域面积S1为:
其中,N为网络中所有节点数量总和,k为比例因子。对于网络中簇头节点n来说,它发送长度为k时,所消耗的能量为:
其中,c为簇头节点n所在弧线区域。对于每一个区域内簇头节点发送数据长度为k时,所消耗能量为:
为了达到网络中簇头节点能量消耗相互平衡,每一个区域内簇头节点所消耗的能量相近,即式(13)成立:
3 实验结果与分析
为了分析LEACH改进后的有效性,使用MATLAB进行仿真。环境为随机分布在100 m×100 m范围内的200个节点,如图3所示。
图4和图5是改进前后算法在相同条件下仿真效果图。图4表示LEACH算法与改进算法在节点生命周期上的仿真。
由图4可看出,LEACH算法与改进算法分别在632轮和806轮出现节点快速死亡。在节点剩余数量为10%时,LEACH算法与改进算法执行轮数分别为974和1 482。充分说明改进算法能有效地延长网络节点生命周期,并且降低节点死亡速率。
图5表示在该两种算法上,每轮网络中无线数据通信量。
由于部分簇头节点需借助其他簇头节点转发无线数据,因此,改进算法每轮无线通信量约为改进前2倍。由图4可以看出,在无线网络通信量增加的情况下,网络生命周期依然得到延长。说明无线网络通信量增加所消耗能量小于簇头节点采取转发方式所节约的能耗。总体而言减少了能量消耗,延长了网络生命周期。
选举出剩余能量较多的节点担任簇头节点,可避免簇头节点提前死亡现象发生。簇头节点发送数据由直接改为多跳,既降低了发送能耗,又平衡网络中簇头节点能量消耗。在提高整个网络生命周期的前提下,避免了远离基站的节点提前死亡的现象发生。仿真结果表明,通过改进簇头选举条件和采用多跳路由方式,使无线传感器网络生命周期得以延长。
参考文献
[1] NAYEBI A,SARBAZI-AZAD H.Performance modeling of the LEACH protocol for mobile wireless sensor networks[J].Journal of Parallel and Distributed Computing,2011,71(6):812-821.
[2] MOHAMMAD B,AHMAD A K,ABDALLAH A E,et al.An energy-efficient threshold-based clustering protocol for wireless sensor networks[J].Wireless Personal Communications,2013,70(1):99-112.
[3] 蒋畅江,石为人,唐贤伦,等.能量均衡的无线传感器网络非均匀分簇路由协议[J].软件学报,2012(5):1222-1232.
[4] Yao Liping,Li Xi,Ji Hong,et al.Systematic energy-balanced cooperative transmission scheme in wireless sensor networks[J].The Journal of China Universities of Posts and Telecommunications,2012(06):14-18.
[5] 李悦,孙力娟,王汝传,等.一种改进的无线传感器网络LEACH算法[J].计算机研究与发展,2011,48(z2):131-134.
[6] 游晓黔,李明隆,杨佳,等.无线传感器网络LEACH协议的研究与改进[J].重庆邮电大学学报(自然科学版),2011,23(6):746-751.
[7] 吕涛,朱清新,张路桥,等.一种基于LEACH协议的改进算法[J].电子学报,2011,39(6):1405-1409.
[8] 王翊,范兴刚,王万良,等.基于混合量子进化算法的高效节能无线传感器网络路由算法[J].传感技术学报,2011,24(2):253-258.
[9] 尚凤军,任东海.无线传感器网络中分布式多跳路由算法研究[J].传感技术学报,2012,25(4):529-535.
[10] 尚凤军,雷阳.无线传感器网络能量有效成簇算法研究[J].小型微型计算机系统,2009,30(5):839-842.
[11] Wu Mingming,Xu Wenbo.The research of multi-hop routing algorithm in the field of distributed wireless sensor network[C].10th International Symposium on Distributed Computing and Applications to Business,Engineering and Science,2011:234-238.