WSN中基于分簇的改进路由协议
- 格式:docx
- 大小:41.28 KB
- 文档页数:8
WSN中基于分簇的改进路由协议
韩万强;刘云
【摘 要】Aiming at the problem that non-uniform clustering of LEACH
protocol causes the imbalance of energy consumption for network nodes,
the notion of considering both the residual energy and distance between
the node and the base station in the election of cluster headers is
proposed in the paper. Cluster members are determined based on
Received Signal Strength Indicator(RSSI), the number of which can not
exceed members of the largest number. A method of establishing a
hierarchical routing tree considering both the residual energy and distance
between the cluster header and the base station between the cluster
headers and base station is used for data transmission. Results of
simulation indicate that the improved protocol can balance the network
load and enhance the network operation cycle.%LEACH协议的非均匀分簇会造成网络节点能耗分布不均衡.为此,提出一种基于分簇的改进LEACH 路由协议.根据节点剩余能量以及节点到基站的距离选举簇首,依据接收信号强度确定簇成员节点,并且成簇规模不得超过最大成员数. 采用在簇首与基站之间建立多跳路由树的方法,向基站发送数据.仿真结果证明,改进协议能均衡网络负载,提高网络运行周期.
【期刊名称】《计算机工程》
【年(卷),期】2012(038)005
【总页数】4页(P105-107,113) 【关键词】路由协议;簇首;无线传感器网络;分簇;剩余能量;Matlab仿真
【作 者】韩万强;刘云
【作者单位】北京交通大学通信与信息系统北京市重点实验室,北京100044;石家庄学院,石家庄050035;北京交通大学通信与信息系统北京市重点实验室,北京100044
【正文语种】中 文
【中图分类】TP393
1 概述
从网络拓扑结构的角度可以把无线传感器网络(Wireless Sensor Network,WSN)路由协议分为平面路由协议和分簇路由协议2类。分簇协议的主要作用是将网络中的节点分成多个簇,每个簇都有簇首节点,负责收集簇内成员节点的数据,经融和处理后发送给基站。好的分簇协议不仅能够平衡节点能量消耗、延长网络生存时间,而且能减小通信干扰、提高媒体访问控制(Media Access Control,MAC)协议和路由协议的效率,此外还能对数据查询、数据融合等提供有效支持。
LEACH协议是典型的分簇路由协议[1-2],由于它没有考虑簇首的剩余能量和节点到基站的不同通信距离,因此容易导致网络节点能量损耗的不均衡。于是人们提出很多基于LEACH协议的改进协议,LEACH-C协议引入网络平均能量的参数[3],但是由于每个节点都需要和基站通信,导致额外的通信代价。HEED算法需要多次迭代才能产生簇首[4]。EEUC算法没有考虑交叉区域部分的数据冗余问题[5]。文献[6]提出超级节点的概念,但增加了网络的时延。本文兼顾节点的剩余能量和节点到基站的距离,在簇首到基站间建立路由树。 2 网络模型
本文中N个传感器节点随机均匀分布在二维平面的一个正方形区域A内,并且该传感器网络具有如下特点:
(1)所有节点部署后不再移动,基站部署在区域A以外的一个固定位置。
(2)节点不知道自身的位置信息,所有节点具有相同的能力并具有聚合数据的能力。
(3)所有节点初始能量相同并可以根据距离调整无线发射功率的大小。
3 簇的形成
3.1 簇首选举
选举方法采取 LEACH协议的方法:每个节点随机产生一个0~1的数,如果这个数小于阈值T(n),则该节点向周围节点广播它是簇头的消息(广播中包含ID和当前能量),并加入候选簇首集合,如果通信范围内的相邻节点也为簇首,则在候选集合中比较两者的能量,能量小的退出集合作为普通节点。
在选举簇首时,考虑节点的剩余能量和节点到基站的距离,如果节点能量充足,距离基站较近则增大阈值 T(n),提高该节点成为簇首的概率,如果节点能量较低,距离基站较远,则降低阈值 T(n),减小该节点成为簇首的概率[7]。T(n)的计算公式为:
其中,P为簇头节点占节点总数的百分比,也是首轮节点成为簇首的概率;n为节点标号;r为当前轮数;G是在最近轮中未成为簇首的节点集合;Ec为节点当前的能量;E0为节点的初始能量;Dis为节点到基站的距离;Dmax为节点到基站最远的距离;α为系统参数反映当前能量对T(n)的影响,在此取为100。
3.2 网络能量模型
假定发送信息消耗的能量用ET表示,接收信息消耗的能量用ER表示,发送和接收k bit信息传输距离d所消耗的能量为:
其中,Eelec是为单位比特数据在发射或接收电路中所消耗的能量;εfs和εmp分别为自由空间模型和多路径衰减模型下放大器消耗的能量,其大小取决于发送节点与接收节点间的距离以及可接受的位错误率;d0为门限值,由决定。
簇首节点能耗用于簇建立时与簇成员节点的通信、接收簇内成员节点的数据包、数据包融合以及向基站传送数据包,用ECH表示。假设网络中N个节点分布均匀,每轮的簇首数为n个,则簇内有−1个非簇首节点,广播包数据量较小为k1,数据包数据量较大为k,则:
其中,dtoCH为非簇首节点到簇首节点的距离;dtoBS为簇首节点到基站的距离;EDA为簇首节点进行每比特数据融合所消耗的能量;l为簇首节点所在层次树的层次;dCHCH表示簇首到其父簇首节点的距离,假定簇首位于簇中央,则该距离为2Rc,Rc为节点的通信半径。
非簇首节点所消耗的能量主要是簇建立时与簇首的通信,以及将监测的数据包传输给簇首节点,每个簇的所有成员节点消耗的能量:
3.3 簇成员数目限制
在节点部署的初始阶段,基站利用一个较大的发射功率向所有节点发送广播消息(ADV),每个节点收到后根据接收的信号强度计算出它到基站的近似距离,这个距离记为Dis。当第 i个节点当选为簇头时,其簇内的节点成员数可由下式确定:
其中,λ为加权因子,取为0.5。可见,簇成员数目与节点到基站的距离呈线性递减关系。这就使靠近基站的簇规模小数量多,远离基站的簇规模大数量少,保持了簇间的负载均衡。得出簇成员的最大数目为:
3.4 簇形成
当簇首节点确定后,簇首节点向其邻节点发送广播消息,包含一个报头(标识此消息为簇首节点的广播消息)和该节点的ID,其他节点通过ADV的信号强度决定加入哪个簇。普通节点给簇首节点发送一个请求加入消息(Join),包含自己的ID,如果该簇成员数已达到最大数目,则该节点会收到一个拒绝加入的消息(denial_msg),然后它再尝试向另外一个距离较近的簇首发出申请,直到收到允许加入的消息和传输数据的时分多址(Time Division Multiple Access,TDMA),则簇形成成功。簇首节点利用TDMA策略为本簇节点分配不同的时隙,各个节点在给定时隙将采集的数据发送给簇首节点。当所有节点都接收到TDMA策略后,意味初始状态阶段的工作已经结束,同时进入簇内通信的稳定状态。
4 簇间路由确定
由于簇内信息是单跳传输,而簇首将信息融合后需要以多跳的方式传到基站。簇首的广播范围半径为R,基站分别在 dmin+R,dmin+3R,…,dmax范围内广播一个小的数据包hello(L),L为簇首的层次标志{L1,L2,…},簇首第1次收到时将L作为自己的层次标志,如果再次收到则忽略。之后每个簇首在自己的监测范围内广播Head(ID,L,E_current),收到此消息的簇首把L与自己的L值作比较,如果比自己的L值少1,则将选该节点为父节点,并保存在候选父节点集合Set_candidate_parent中,否则忽略该消息,然后簇首节点从父节点集合中选取剩余能量最大的节点为其父节点,并向其发送成为子节点信息,该父节点建立自己的子节点集合。最后所有的簇首均建立好自己的子节点集合,离基站最远的簇首的子节点集合为空,离基站最近的父节点为基站[8],从而实现一个以基站为根的多层次路由。
5 路由算法描述 路由算法具体描述如下:
6 仿真结果与分析
各项参数设置如下:假设100个相同的节点均匀分布在100 m×100 m的区域内,基站坐标是(120 m,50 m),见图1。
图1 100个节点随机分布情况
每个节点的初始能量为E0=1 J,节点通信距离Rc为20 m,发送和接收电路的损耗为Eelec=50 nJ/bit ,数据融合消耗为EDA=5 nJ/bit、εfs=10 pJ/bit/m2、εmp=0.0013 pJ/bit/m4。其中,d0为常数,数据包长度为4000 bit,广播包长度为40 bit,节点能量低于Eth=0.0001 J时,认为其死亡,假设数据融合率为100%,且在转发过程中无数据包丢失情况,没有误码率。
Matlab仿真结果限于篇幅选取部分数据罗列,LEACH协议在第 943轮时出现第
1个死亡节点,而本文协议在第982轮出现第1个死亡节点,LEACH协议在1200轮时有45%的节点死亡,如图2所示。本文协议在2200轮只有10%的节点死亡,如图3所示。图4显示了3种协议对节点网络的死亡比较情况,显示改进协议优于 LEACH和 LEACH-C协议。
图2 LEACH协议到1200轮时节点死亡情况
图3 改进协议到2200轮时节点死亡情况
图4 3种协议的节点死亡情况对比
7 结束语
本文通过对以往协议的缺点分析,提出改进的路由协议,建立了网络模型和新的能量模型,并描述了分簇路由和簇间路由的详细算法。仿真结果表明,本文算法有效均衡了网络负载,提高了网络的运行周期。今后将研究节点的移动对网络拓扑的影