基于自适应权重的无线传感器网络分簇路由协议
2020-01-14关业欢吕孟伟
刘 宏,关业欢,吕孟伟
(江西理工大学 电气工程与自动化学院,江西 赣州 341000)
1 前 言
无线传感器网络(Wireless Sensor Networks,WSN)是由无线通信方式形成的一个多跳自组织网络,网络通过实时监测和收集处理信息,可广泛应用于军事、智能交通、环境监测、医疗及生活等多个领域[1,2].由于传感器节点能量限制,若没有充分利用网络资源,节点能量会消耗过快,导致缩短网络生存时间.因此国内外众多学者纷纷研究如何降低节点的能耗,路由协议做为节点降低耗能的重要手段已成为当今研究热点.
路由协议按拓扑结构可分为平面路由协议和分簇路由协议[3].而分簇路由协议以其自适应性、节能性以及扩展性等优势引起国内外学者广泛关注:文献[4]提出了基于能量感知的无线传感器网络路由协议,该协议在初始化阶段将监测区域分成多个扇形区域,然后将每个扇形区域分层,形成大小不等的簇,在监测阶段引入周期、异步工作/休眠机制,减少了连续发送同步信息的能量消耗,但在数据转发的过程中只考虑能耗均衡性,选择剩余能量最大的节点作为下一跳节点,会导致数据传输的总跳数增加,增加了通信能耗.文献[5]提出一种基于分享式学习的多级分簇路由算法,该算法利用节点分享和收集所接收的网络环境数据,在运行时协助簇首做出决策降低了网络开销,但在数据转发过程中只考虑通信能耗,选择最短路径转发数据,导致处在最短路径上的节点能量消耗快,产生节点能量消耗不均衡的问题.文献[6]提出基于非均匀分簇的无线传感器网络分层路由协议,该协议采用贪婪算法建立最小代价函数来建立簇间多跳路由,最小代价函数综合考虑了簇间数据传输能耗和均衡性问题,但簇头选举没有考虑节点的剩余能量、分布密度及地理位置等影响因素,致使簇头分布不合理.文献[7]提出改进协议LEACH-improve,该协议是对LEACH协议的改进,综合考虑剩余能量、地理位置及附近节点密度等因素优化簇头的选择,且对各个因素进行加权处理,减缓了节点的能耗速度,但普通节点仅根据信号强度选择入簇,存在簇头能耗过大问题.文献[8]提出双簇头的分簇路由协议,该协议中主簇头负责收集融合簇内数据,副簇头负责转发数据,将簇头的职责分配给两个层次的簇头来完成,可以降低簇头的能耗,但是两簇头之间转发消耗了额外的能量,且两簇头之间的协调增加了算法的复杂度.
综上所述,从均衡传感器网络节点能量消耗出发,设计了自适应权重无线传感器网络分簇路由协议(Clustering routing protocol based on adaptive weight for Wireless Sensor Networks,CRPAW).CRPAW协议在选择簇头阶段,选取待选节点剩余的能量、邻居节点集合以及与汇聚节点的距离为簇头待选指标,通过这些待选指标定义指标影响度,从而得到簇头选举函数选举出簇头;在入簇阶段,综合考虑节点及簇头的剩余能量、簇内成员节点数以及节点与簇头间距离等做为入簇指标,并对这些入簇指标设置权重系数,权重系数根据节点剩余能量自适应动态调整,由此建立节点入簇函数,节点根据入簇函数选择相应的簇加入.最后簇头之间采用多跳传输方式实现信息的传输.
2 模型假设
2.1 网络模型及假设
假设的无线传感器网络有以下特性:
1)大量的传感器节点和一个汇聚节点;
2)节点分布在监测区域内,具有唯一的ID;
3)所有节点固定并且能量一定;
4)所有节点具有相同的采集、处理、通信功能,且地位相等;
5)节点之间通过接收信号的强度来估算距离;
6)下一跳节点限定在向前区域内;
7)节点可以根据发送距离的远近调整自身的发射功率.
2.2 无线通信能耗模型
无线传感器网络的能量消耗主要包括三部分:感知能耗、计算能耗和通信能耗[9].感知能耗和计算能耗比通信能耗低得多,所以协议仅考虑通信能耗.根据发送节点和接收节点的通信距离设定了自由空间模型和多路径衰减模型[10].节点发送k比特数据所消耗能量如式(1)所示:
(1)
式中,Eelec为发射电路损耗的能量;εfs和εmp分别为自由空间模型和多路径衰减模型中的功率放大能量损耗,d为节点间距离.
节点接收k比特数据消耗的能量如式(2)所示:
ERX(k)=kEelec
(2)
3 路由协议设计
3.1 簇头选举
3.1.1 簇头竞争半径
设节点si为待选簇头,则根据式(3)计算其竞争半径Ri[11]:
(3)
式中,dmax和dmin分别为簇内节点到汇聚节点的最大值和最小值;di,Sink为待选簇头si到汇聚节点的距离;Rmax为待选簇头竞争半径的最大值;c为簇半径取值范围的控制参数,取值[0,1]之间.
3.1.2 簇头选举指标
簇头除了要完成本簇数据的收集、处理和发送外,还要收发其他簇的数据,故簇头的能耗要大于普通成员节点的能耗.为了均衡节点的能耗,簇头应在各节点中轮选,选举簇头指标如下.
1)待选簇头si剩余能量Ei.节点剩余能量是当选簇头的重要指标,剩余能量越多的节点当选为簇头优势越大,待选簇头si剩余能量Ei计算如式(4)所示:
(4)
式中,E0为节点初始能量;n为当前轮数.
2)待选簇头si的邻居节点集合Ni.邻居节点集合越大,簇建立时信息传输可选路径就越多,平均消耗能量也就越少,计算待选簇头si的邻居节点集合Ni如式(5)所示:
Ni={sj|di,j≤Ri,si≠sj}
(5)
式中,di,j为节点si与sj之间的距离;Ri为si节点的竞争半径.
3)待选簇头si与汇聚节点的距离Di.簇头的负载能耗较大,簇头与汇聚节点之间的传输是簇头耗能的重要因素之一,CRPAW协议采用接收信号强度(RSSI)测量待选簇头与汇聚节点的距离[12],RSSI测距模型如式(6)所示:
(6)
式中,RSSI(d)和RSSI(d0)分别为接收端和发射端之间距离为d和d0接收到的RSSI强度值;n是路径损耗指数;Xσ是零均值的高斯随机变量.
根据上述三个指标对簇头选举的影响度大小,设定相应的值,如表1所示,待选簇头剩余能量Ei是影响度最高的指标,可分成高、中、低、很低四个级别,用111、011、001、000等三位二进制数表示,其值分别为7、3、1、0;待选节点si邻居节点集合Ni是影响度次之的指标,分成高、中、低三个级别,用11、01、00等两位二进制数表示;待选节点si与汇聚节点的距离Di是影响度最低的指标,分成高、低两级别,用1、0一位二进制数表示.
表1 簇头选举指标
Table 1 Cluster head election indicators
选举指标 影响度位数级别二进制值节点剩余能量Ei大3很低0000低0011中0113高1117邻居节点集合Ni中2低000中011高113与汇聚节点的距离Di小1低00高11
根据簇头选举指标及其影响度,定义簇头选举函数f(si)如式(7)所示,计算待选簇头函数值,选取值最大的担任簇头:
(7)
簇头选择的步骤流程如图1所示.
图1 簇头选举流程图Fig.1 Cluster head election flow chart
3.2 节点入簇
簇头选举成功后,通常其余节点根据就近的原则选择最近的簇头入簇[13,14].但这一方法会使部分簇内节点数较多,而有的簇内节点数又较少,甚至出现“热区”问题,造成网络能耗不均衡.为了合理地利用有限的节点能量,CRPAW协议综合考虑节点入簇条件,除考虑节点与簇头的距离,还结合节点与簇头的剩余能量、簇内节点总数等因素,决定该节点加入哪一个簇.
在网络运行初期,由于节点剩余能量充足,CRPAW协议入簇指标主要考虑簇内节点数,而随着运行轮数的增加,节点剩余能量逐渐减少,入簇指标逐渐加大节点剩余能量的权重.因此根据节点剩余能量在网络运行过程中的变化,自适应地设定权重比例,权重系数可定义如式(8)所示:
(8)
式中,Ej为簇头sj的剩余能量,E0为节点初始能量.权重系数αj与簇头剩余能量比关系如图2所示.
图2 权重系数αj与簇头剩余能量比关系图Fig.2 Relationship between weight coefficient αj and residual energy ratio of cluster head
CRPAW协议中节点与簇头关系函数的建立参考库仑定律,库仑定律指出两个静止点电荷之间的作用力,跟两个点电荷的电量的乘积成正比,跟两个点电荷之间的距离的平方成反比[15],如式(9)所示:
(9)
式中q1和q2分别为两个电荷的电量,r为两电荷之间的距离;K是静电力常量.
在此定义节点与簇头之间关系函数如式(10)所示:
(10)
式中,Ei为普通节点si的剩余能量,Ej为簇头sj的剩余能量,E0为节点初始能量;N0为网络中传感器节点数,Nj为簇头sj的成员节点数;di,j为普通节点si到簇头节点sj的距离,dmax为节点最大通信距离.
3.3 簇间路由
CRPAW协议中当簇头到汇聚节点的距离小于等于阈值距离d0时,簇头直接将数据发送至汇聚节点;当簇头到汇聚节点的距离大于阈值距离d0时,簇头从邻居簇头中选择中转节点,以多跳传输方式传输数据.
假设簇头si将数据传输到簇头sj后中转再传送到汇聚节点,那么该路径传输节簇头通信总能耗可用式(11)表示:
ETX(k,d(i,Sink))=
ETX(k,d(i,j))+ETX(k,d(j,Sink))
(11)
式中,ETX(k,d(i,j))为簇头si传输k比特数据到簇头sj消耗的能量,ETX(k,d(j,Sink))为簇头sj传输k比特数据到汇聚节点消耗的能量.数据传输根据式(11)可选出最小能耗的路径,为了达到均衡能量的目的,避免剩余能量小的簇头选作转发节点,CRPAW协议综合考虑通信能耗和簇头剩余能量,建立通信消耗函数来选择中继节点,如式(12)所示:
(12)
根据式(12)比较并选择最小通信消耗值的簇头作为中继节点.通信能耗越大,簇头的剩余能量越小,该簇头被选为中继节点的可能性就越小.
3.4 稳定传输阶段
完成了簇的生成和簇间通信路径选择,CRPAW协议进入稳定传输阶段,簇头建立TDMA调度,簇内成员把采集到的原始数据向各自的簇头发送,簇头将收到的数据进行融合,并转发给下一跳节点,最后到达汇聚节点.每经过一段时间,无线传感器网络释放所有簇结构,重新组建新的簇结构和选择不同的簇间通信线路.
路由协议总体流程图如图3所示.
4 实验仿真结果及分析
实验采用MATLAB仿真,参数设置如表2所示.将CR-PAW协议与EBMC[5]协议和LEACH-improve[7]协议进行比较,从节点的存活个数、节点剩余能量和节点剩余能量方差及簇头能耗等四方面性能分析评估.
表2 参数设置
Table 2 Parameter settings
参数 值 参数值检测区域m×m100×100εfs/(pJ/bit/m2)10总节点数100εmp/(pJ/bit/m4)0.0013节点初始能量/J0.5EDA/(nJ/bit)5数据包大小bits5000Eelec/(nJ/bit)50Sink位置(150,50)c0.3
图3 路由协议总流程图Fig.3 General flow chart of routing protocols
4.1 节点存活数
仿真三种协议节点存活数,结果如图4所示,由仿真结果可看出EBMC协议在355轮就开始出现节点死亡,在865轮时全部节点死亡;LEACH-improve协议在593轮出现死亡节点,到1140轮时节点全部死亡;而CRPAW协议出现死亡节点最晚,在811轮时才开始出现节点死亡,比EBMC提高了128.5%,比LEACH-improve提高了36.8%,CRPAW协议直到1248轮时节点才全部死亡,比EBMC提高了44.3%,比LEACH-improve提高了9.5%;由此得出CRPAW协议较好延长了网络生存时间.
图4 节点存活数比较仿真图Fig.4 Simulation diagram of node survival number comparison
4.2 节点剩余能量
仿真三种协议剩余能量变化的结果如图5所示,由仿真结果可看出:三种协议中EBMC协议节点剩余能量下降斜率最陡,能量消耗最快,到865轮时节点能量全部消耗完毕;LEACH-improve协议节点剩余能量下降斜率次之,到1140轮时节点能量全部消耗完毕;而CRPAW协议节点剩余能量下降斜率较平缓,能量消耗最慢,直到1248轮才全部消耗完节点能量.因为CRPAW协议综合考虑节点剩余能量、密度和地理位置等多个因素,合理选择簇头,减少了簇内节点通信消耗的能量,并且采用自适应调节权重系数的策略有效的降低网络节点能耗.相比EBMC协议提高了44.3%,相比LEACH-improve协议提高了9.5%.
图5 节点剩余能量比较仿真图Fig.5 Simulation diagram of node residual energy comparison
4.3 节点剩余能量方差
仿真协议节点剩余能量方差如图6所示,由仿真结果可看出EBMC协议的剩余能量方差波幅最大,在407轮时达到最大值1.41×10-3,因为EBMC协议在建立多跳路由时仅考虑能耗最小化,忽略了能耗的均衡性;LEACH-improve协议的剩余能量方差波幅次之,在586轮时达到最大值0.91×10-3, LEACH-improve协议中普通节点以自身能耗最小为标准选择入簇,造成簇规模分布不合理,簇头能耗不均衡;而CRPAW协议的剩余能量方差波幅最平缓,CRPAW协议采用虚拟力成簇的方法较好地均衡了节点能量消耗,在850轮方差达到最大时只有0.52×10-3,比EBMC协议降低了171.2%,比LEACH-improve协议降低了75%.
图6 节点剩余能量方差比较仿真图Fig.6 Simulation diagram of variance comparison of node residual energy
4.4 簇头能耗
仿真这三种协议簇头能耗,实验随机抽取10轮数据,结果如图7所示:在这10轮簇头能量消耗中,EBMC协议平均每轮消耗0.0297J;LEACH-improve协议平均每轮消耗0.0207J;而CRPAW协议平均每轮只消耗0.0104J,且能耗波动较小,相比EBMC协议降低了185.6%,相比LEACH-improve协议降低了99%.因为CRPAW协议中簇头选择考虑较全面,簇头分布合理,簇头节点数稳定,另外,簇头采用多跳传输方式时,不仅考虑簇头的剩余能量,还考虑了路由通信能耗问题,使得网络中每轮簇头能耗低且波动小.
图7 簇头能耗比较仿真图Fig.7 Simulation diagram of cluster head energy consumption comparison
5 结束语
基于自适应权重的无线传感器网络分簇路由协议(CRPAW)以降低和均衡节点的能量消耗为目标,改进了簇头选举和普通节点入簇策略.在簇头选举阶段综合考虑节点剩余能量、分布密度、地理位置等因素,提高了簇头选举的质量;针对网络的“热区”问题,协议在节点入簇阶段对入簇指标采用自适应权重优化;最后簇头将簇内的数据融合后以多跳方式传输到汇聚节点.仿真结果分析表明:CRPAW协议较好地均衡了网络节点的能量损耗,有效地延长了网络生存时间.