《无线传感器网络簇路由算法浅谈.docx》由会员分享,可在线阅读,更多相关《无线传感器网络簇路由算法浅谈.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、无线传感器网络簇路由算法浅谈面向智能电网的无线传感器网络是由多个以电塔为中心的区域组成,使得这种WSN呈窄长的拓扑构造,根据这种拓扑构造设计了一种基于分簇的路由算法FCH。FCH首先采用分布式的方法生成候选簇头,然后在候选簇头中产生每个区域的簇头,进而生成由所有簇头组成的路由。仿真显示FCH算法产生的簇头是LEACH算法的25.4%,而网络的生命周期提高了近40%。关键词:远程监控;候选簇头;簇头;数据报文;生命周期智能电网技术通过传感器和通信网络远程监控电网的运行状态,这个监控网络能否可靠传输现场状态数据到控制中心是关键。由于电网所处的地理环境非单一性并且范围较广,使得整个电网环境数据采集点
2、分布不集中,而且很多监测点所处的环境比拟恶劣,布置光纤之类的监控网络设施难度大、成本高。WSN成本低、组网灵敏,并且能适应复杂环境下数据采集,能够弥补光纤网络在一些地区布网难度大的问题。而且,由于有些监控区域受基站所处位置的影响会产生覆盖盲区,WSN可以以弥补无线宽带接入方案的信号盲区问题。WSN可提供灵敏而经济的监控网络的解决方案。但是,怎样保证传输实时性好而且可靠的数据,设计性能良好的WSN路由协议是提供可靠通信保证的关键问题之一。很多研究者已经提出了各种WSN路由协议。根据电网的分布特点,采用分簇路由算法比拟合适智能电网的WSN路由构造,分簇路由算法是在簇头的基础上实现的,产生簇头是簇路
3、由算法的关键。近年来,有很多关于WSN的簇路由算法的研究。LEACH算法1采用等概率方式随机选择簇头,每个节点根据随机数自主决定能否中选簇头,每轮产生的簇头没有确定的数量和位置,平均分配整个网络的能量负载,到达降低网络能耗,进而延长网络生命周期。HeinzelmanW提出了一种集中式产生簇头的LEACH-C算法2和LEACH-F算法2,这种算法由中心节点选择簇头,每个节点必须告知所在的地理位置以及剩余能量给中心节点,中心节点通过计算平均剩余能量,选择剩余能量不低于平均剩余能量的节点作为候选簇头,再采用模拟退火算法从候选节点中选出适宜数量的簇头集合。LEACHF则是LEACH的改变,根据LEAC
4、H-C的簇构成方式,但每个簇都有一个中选簇头的节点轮流表。GEES-L算法3和GEES-M算法3是两种利用地理路由和能量路由技术相结合的路由协议,这种路由协议节点能从环境中获得能量为前提,固然算法的路由决策速度快比拟快,但这种协议没有考虑网络拥塞的问题。Chipara,Z等人提出一种能量感悟QoS路由协议4,这种路由协议通过发现能耗和延迟低的链路保证明时数据的传输。PA5算法是一种实时能量感悟的路由协议,这协议通过动态调节发送能量和路由判决解决低能耗的实时通信,通过能量感悟的上游策略和有效的邻居节点管理器优化资源受限的WSN。对于有损链路、可伸缩性、内存及其有限以及带宽受限的WSN也提供了一种
5、路由选择机制的解决方案。AODV算法6通过估算传感器节点向sink传输数据包所需消耗的能量,提出一种基于分层构造的分簇低能耗路由协议,利用随机循环选择簇头节点,将整个网络的能量负载平均分配到每个传感器节点中,到达降低网络能耗来提高网络整体生存时间的目的。与一般的基于平面构造的路由协议和静态的基于多簇构造的路由协议相比,这些路由协议在高能效的基础上能够有效减少端到端的数据传输延迟。通过在网络运行前由终端用户将布置的网络节点划分成多个簇的方式,MohamedYounis等人提出了WSN三层构造的路由协议7,这种协议必须将簇头标识和成员节点的位置告知每个簇头,再由簇头根据本簇内节点的状态数据监测各节
6、点的能量变化。路由选择以代价函数和节点间数据传输链路成本来确定,代价函数包含了节点间距离、能量消耗、传输延迟等因素这些参数,这种协议具有能效较高、通信延迟较低以及能进行拥塞控制的特点。1基于FCH算法的WSN的特点智能电网远程监控系统的WSN由人工部署,感悟范围、通信半径以及节点布置的位置可预先规划,在网络生命周期内能够保证WSN的连通性和可靠性。如图1所示,WSN部署在电塔或者输电线上沿着电网呈窄长链状拓扑构造。根据智能电网的WSN网络的特点,考虑n个传感器节点S=s1s2sn分布在电塔及其邻近区域A内,WSN模型的基本假设如下:传感器节点发送功率可调,通过调节发射功率,每个传感器节点都能与
7、其相邻的电塔上的传感器节点通信;每个节点知道本身的位置及其上、下行方向;每个节点在布置时已知区域A内每个节点ID。由以上假设可知相邻电塔间的传感器节点是全连通图,其拓扑如图2所示。2FCH算法描绘根据智能电网的WSN的拓扑构造特点,为了提高网络的生命周期和可靠性,必须设计一种适宜的分簇路由协议来知足面向智能电网的WSN的应用要求。智能电网的WSN簇可根据以电塔为中心的所有邻接节点划分,如图1中的A和B,能够在布置时让每个节点保存本簇节点成员表。通过路由算法将网络中的节点划分为如图3所示的簇头和普通节点,簇头负责收集本簇内普通节点转发的数据。这些数据经过数据融合后再发往其上游的簇头,最后到达si
8、nk;同时,簇头还负责转发来自监控中心的指令以及来自其下游簇头的数据包。由此可知,簇头节点是数据包的转发和数据融合中心,能量消耗较大,十分是越邻近sink的簇头,通信负荷越重,能量消耗也越大。为了平衡网络在其生命周期内的负载平衡,延长网络的生命周期,设计面向智能电网的WSN的路由算法时应尽可能避免反复选举同一个节点作为簇头。根据上述要求设计的FCH算法由决定候选簇头选举、簇头选举和路由生成三个步骤组成。21候选簇头选举首先,各节点采用分布式算法决定能否候选簇头,所谓候选簇头,当且仅当ThreshK,其中K为一个给定范围内的随机数,阈值Thresh根据下列方式设置:Thread=Eukd3uEu
9、()02(1)在(1)式中:表示节点u已被选为簇头的次数,Eu表示节点u的剩余能量,Eu0表示节点u的初始能量,du表示节点u到上游电塔中心点的距离,考虑到发射功率与传输距离是25次方,k表示与发射频率相关的比例常数。当节点u为候选簇头时,就向预设的簇内所有成员发送CANDIDATE报文,将本人的初始能量、剩余能量、到上游电塔中心点的距离以及已被选为簇头的次数告知其它的候选簇头,非候选簇头则丢弃CANDIDATE报文。其中CANDIDATE报文格式如下:22簇头选举当候选簇头的选举完成后,每个候选簇头都保存了一份本簇其它候选簇头信息表,然后根据这些信息选举簇头。候选簇头能否中选为簇头由能否能发
10、送CLUSTEHEAD报文来决定。簇头选举阶段分候选簇头和普通节点两种情况处理。1)对于普通节点,当接收到的第一个CLUS-TEHEAD报文时,即将发送该报文的节点作为其簇头。2)对于候选簇头,在接收时间tu内接收CAN-DIDATE报文,然后按如下方式决定本人能否做簇头。假设接收了来自m个节点u1,u2,um发送的CANDIDATE报文,分别计算节点ui的剩余能量Eave=mi=1Ei/m、初始能量E0ave=mi=1E0i/m、m个候选簇头到上游电塔中心点的平均距离dave=mi=1di/m(其中:di表示节点ui到上游电塔中心点的距离)以及这m个候选簇头已中选簇头的平均次数ave=mi=
11、1i/m(其中:i表示节点ui中选簇头的次数)。根据上述结果,每个候选簇头按(2)式计算评价值i:i=(EiEave)(E0iE0ave)k(didave)32(iave)(2)然后通过求这m个候选簇头评价值最大者ElectValue=Max(1,2,m)决定能否中选簇头。假如i=ElectValue,在等待一个随机后退时间ti后,节点ui向所在的电塔区域内的所有节点发送CLUSTEHEAD报文。假如ui在ti内接收到其它节点的CLUSTEHEAD报文,那么ui停止发送CLUSTEHEAD报文,并将接收到的第一个CLUS-TEHEAD报文的节点作为簇头。从式(2)能够看出,每个候选簇头评价值是
12、由到上游电塔中心点的距离、中选簇头的次数以及剩余能量三个参数做为综合评价指标,这种方式是为了尽可能实现网内节点能耗平衡。CLUSTE-HEAD报文格式如下:MessageHeaduID为了提高网络的实时性,每个电塔所在区域内的所有节点在完成数据传输后,必须重新进行下一轮的簇头的选举。23路由生成经过候选簇头选举、簇头选举两个阶段,中选为簇头的节点再向其下游电塔所在区域内的簇头发送PECEDING报文,告知本人的ID;每个下游簇头将接收到的第一个PECEDING报文的簇头作为下一跳节点而建立路由表。PECEDING报文格式如下:MessageHeaduID3性能评估本节通过仿真对FCH算法的性能
13、进行评估。考虑部署在二维平面上的静态WSN,100个传感器节点随机分布在两个50m50m且相距200m的矩形区域,分别记作区域I和区域II,每个区域布置50个节点,这些节点的ID从1100进行标识,区域I的节点ID从150,区域II标识从51100。每个节点无线通信半径可从0300m调节。仿真实验在NS2模拟平台进行。31算法生成簇头的个数仿真实验将FCH算法与LEACH算法生成簇头的个数进行比拟,实验进行20次,图4给出了FCH算法与LEACH算法生成簇头个数在执行20次的比拟。从仿真结果能够看出,FCH算法每次产生的簇头个数平均为1.4个,而LEACH算法生成簇头个数平均为5.5个,因此F
14、CH算法与LEACH算法更有利于簇头的生成。对于只需要一个簇头与其上游簇头或者下游簇头即可通信的WSN,由单个簇头完成本簇成员数据融合并路由到上游簇头,可大大减少多个簇头节点转发数据造成的能耗,可有效提高网络的生命周期。32网络的生命周期对于一个簇的簇头节点,需要承当下面任务:1)采集现场物理数据,2)产生路由,3)接收并转发来自上一跳簇头的数据,4)接收并融合和发送本簇节点的数据。在仿真实验中,假设簇头在以上5方面消耗能量,并且当簇中有10%的节点死亡时,以为该网络的生命周期结束。假设每个节点的初始能量为1个能量单位,每个报文的长度为100字节,每接收1字节消耗的能量为1105个能量单位,即
15、每接收一个报文需要消耗1103个能量单位。传感器节点发送数据所消耗的能量不仅与发送的字节数有关,而且与发送距离有关,假设每个节点发送数据每米每字节消耗1106个能量单位,簇头节点每次用于数据融合消耗1103的能量单位,每个传感器节点用于采集和处理数据每次消耗1103的能量单位。从图5能够看出,FCH算法在第43次时活跃节点数才降至10%下面,而LEACH算法在第22次时活跃节点数就降至10%下面。由于两种算法每次产生簇头数相差很大,造成电塔之间的簇头与簇头交换数据的次数更多,进而引起簇头能量消耗更快,讲明FCH算法可大大提高网络的生命周期。4结束语由于整个智能电网的WSN的节点不是集中布置在一个区域,而是由很多相隔较远的呈现成窄长的多个区域组成,根据应用的需要每个区域内节点比拟密集。根据这种拓扑构造设计的基于分簇的路由算法FCH,能够减少不同区域间的节点通信次数,进而提高全网的生命周期。通过仿真能够看出,利用FCH算法产生的簇头是LEACH算法的25.4%,而网络的生命周期提高了将近40%。作者:张鼎兴单位:广东水利电力职业技术学院计算机信息工程系