无线传感器网络LEACH算法的综合改进

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无线传感器网络LEACH算法的综合改进

陈楠,徐塞虹

北京邮电大学计算机科学与技术学院,北京(100876)

E-mail:chennan6062@

摘要:本文通过研究无线传感器网络的层次型路由协议LEACH算法,指出了其存在的一些缺点,并对其某些改进算法进行深入研究,在此基础上进一步改进,吸取已有算法的优点,弥补其中的不足,提出了一种新的分簇算法及簇的维护算法。

关键词:无线传感器网络,层次型路由协议,LEACH算法,改进

中图分类号:TP393

1.引言

传感器技术、通信技术和计算机技术是现代信息技术的三大支柱,它们分别完成对被

测量对象的信息提取、信息传输及信息处理。将这三种技术融合在一起的无线传感器网络技术给人们生活的各个领域带来了极大的影响。作为一种全新的技术,无线传感器网络给科技工作者提出了很多具有挑战性的课题,其中路由协议就是热点之一,传统网络的路由协议远远不能满足无线传感器网络的特点和要求,因此,该领域具有很大的研究价值[1]。本论文在已经提出来的分层次路由协议的基础上进行进一步改进,从而使网络性能又进一步的提升。

2.研究背景

无线传感器网络是由大量功率低、体积小、价格便宜的传感器节点组成的,这些节点实时监测、感知和采集网络分布区域内的各种环境或者被监测对象等诸多用户所感兴趣的信息,并对这些信息进行分布式处理,随后传递给用户,使用户随时随地都可以获取所需的信息。由于传感器网络所具有的特点,其应用前景十分广泛。

但是由于无线传感器网络这些特点的存在,导致节点能量资源、计算能力和带宽等资源都非常有限,尤其是其有限的能量直接影响传感器网络的生命周期以及网络的信息质量。因此,设计有效的策略,降低节点能源损耗,提高网络生命周期成为无线传感器网络的核心问题。

影响节点能源损耗的因素有很多,其中最重要的就是路由协议以,但是传统的那些路由协议应用于无线传感器网络中在某些方面存在一定的缺陷,所以基于传统路由协议,W.R Heinzelman等人提出了低功耗自适应集群型分层路由协议(Low Energy Adaptive Clustering Hierarchy Protocol),LEACH协议[2]是第一个在无线传感器网络中提出的层次式路由协议,其后的大部分层次式路由协议都是在它的基础上发展而来的。该算法主要是通过随机选择簇头,平均分担中继通信业务来实现能量消耗的减少,与一般的平面多跳路由协议和静态成簇算法相比,LEACH可以将网络的生命周期延长15%。

3.LEACH算法概述

LEACH(Low energy adaptive clustering hierarchy)是一种以最小化传感器网络能量损耗为目标的分层式协议,它既可以作为一种传感器网络的基本路由协议,也可以作为传感器网络的拓扑控制算法,因为协议在形成分层式拓扑结构的同时,也确定了簇首,决定了网络的路由。

3.1 LEACH协议的运作过程

LEACH算法中引入了轮(rouond)的概念,每一轮由簇的建立阶段和稳定的数据通信阶段这两个阶段组成。簇的建立阶段完成簇的组织,稳定阶段将数据传送到簇首,再由簇首发送到基站(BS)。如图所示:

图1 LEACH的“轮”和“阶段”示意图

(1) 簇的建立阶段

该阶段包括簇首的选举以及簇的形成两个操作。

LEACH协议是通过使用一种分布式算法来形成簇的,其间节点不受到任何中央调控而是自主决定是否成为簇首。该算法的最终目标是要在每一轮中产生相同数目的簇,从而使节点的能量消耗比较均衡。

进行簇首选举的过程中,每个节点都要产生一个0到1之间的随机数,若该随机数小于一个门限值Thresh,则当选为簇首,并发布自己是簇首的公告消息。其中Thresh实际上就是节点成为簇首的概率,当节点的初始能量都相等时,所有节点的Thresh的值都相等,即簇的个数的期望值与节点总个数的比值,如果节点初始能量不相等,那么Thresh的值还与节点的能量有关,具有更多能量的节点比能量少的节点成为簇首的概率更大,具体算法及证明在文献1中有详细论证。

通过上面的簇首选举之后,某些节点就会当选为簇首,当选之后,这些节点将利用非持续性CSMA MAC协议广播自己已经当选为簇首的消息(ADV)。非簇首节点通过选择簇首来决定其归属于哪个簇,在这里选择簇首是根据自己所收到的广播信号的强弱来判断的。每个非簇首节点决定自己归属于哪一个簇之后,必须通知所选择的簇首节点,告知其自己愿意成为簇的一个成员,为此每个非簇首节点要发出一个加入请求消息(Joint-REQ)回送给自己所选择的簇首节点。

簇首节点在LEACH协议中需要完成数据融合的任务,簇内所有成员节点都要将采集的信息发送给它,所以,簇首节点需要协调簇内节点的数据传输。在这里,簇首要建立一个TDMA调度,并把这个调度发送给簇内的所有成员节点,从而保证数据消息间没有冲突,并且使非簇首节点的无线电模块在非传输时间内关闭,节省了能量。

当簇内节点都收到了TDMA调度后,建立阶段就结束了。接下来就开始了第二个阶段。

(2)稳定阶段

在该阶段内,节点持续采集监测数据,在属于自己的时隙内发送数据给簇首,不发送时,节点可以关闭无线电模块以节省能量。簇首把接收到的数据进行融合后发送给BS,这样大大减少了通信量。

3.2 LEACH协议的优点及缺陷

(1) 优点

LEACH协议是一种层次结构的路由协议,簇首形成高一层的网络,这样簇内成员的功能就变得相对简单,并且不需要维护复杂的路由信息,大大减少路由控制信息的数量。另外,

LEACH算法随机选取节点作为簇首,并且簇首是轮换选举的,这样能量的高消耗就平均分配到网络的所有节点上,以此来延长网络生命周期。最后,LEACH协议中簇的组织形式使网络具有很好的扩展性。

(2) 缺陷

LEACH协议中簇首不仅要接收簇内成员节点采集的数据并对其进行融合,而且还要将数据发送给BS,因此消耗的能量比普通的成员节点多,很容易失效,从而导致频繁分簇,分簇过程中所消耗的能量对于整个网络中的能耗是一种额外的头开销[3],如果频繁分簇的话,所产生的头开销就会相应增加。另外,实际网络中,BS距离传感区域比较远,所以在距离BS远的区域簇首更容易失效,从而导致重新分簇。最后,LEACH协议只适用于小规模的无线传感器网络。由于簇内成员将原始数据经过单跳直接发送给簇首,簇首将融合后的数据经过单跳再发送给BS,所以簇内成员与簇首、簇首与BS之间必须布置在通信可达的范围内。

4.LEACH改进算法设计与分析

针对上面提出的LEACH算法的缺陷,可以对其进行一定的改进,以使网络的生命周期

有所延长。

4.1 改进算法的设计

4.1.1 基本思想

首先,在LEACH算法中,由于簇的建立过程中会产生一部分头开销,如果能够减少这

部分头开销,那么就可以使网络中的能量更多地消耗在数据传输上。鉴于此,本论文提出的改进算法中将采用静态分簇的方式[3],即初始阶段时,将簇分好,之后簇内的节点就不再变化了,同时,为了使能量消耗均衡地分散在所有节点上,这里要在各个簇内轮换簇首。

其次,LEACH算法中,在稳定数据传输阶段,簇内成员要将自己采集的数据在特定的时隙发送给簇首节点,然后簇首节点将收到的数据加以融合,之后再将融合后的数据发送给BS。由于一般情况下,BS距离传感区域很远,所以簇首将数据发送给BS所消耗的能量很多,基于这一点,在簇首向BS发送数据的时候采用多跳的方式,这样可以使簇首节点能量的消耗相对减少。因此,本论文提出的改进算法中将会把簇首组织起来,建立起路由树,即采用多跳方式将数据发送给BS[4]。

最后,由于在第二点中提到,簇首向BS发送数据时采用多跳方式,这样可以减少簇首节点能量的消耗。但同时又出现了一个问题,多跳传送数据时,有些簇首必定要充当中继节点,而且距离BS越近则充当中继节点的几率就越大。所以本论文将整个区域划分为若干个区域[5],距离BS近的地方簇首的个数会多一点,这样就可以保证簇首路由树的根节点距离BS比较近,从而减少整个网络所消耗的能量,延长网络的生命周期。

根据这几点,下面给出具体的改进算法设计。

4.1.2算法描述

首先对传感器节点以及网络环境做几点假设:对于传感器节点,假设所有的节点都有足够大的功率向BS发送数据,所有的节点都可以改变自己的传输功率,并且所有的节点都具有信号处理能力以及计算能力,随着无线硬件以及低功耗运算技术的提高,这几点假设是足以成立的。对于网络环境,假设所有节点总是有数据向BS发送,并且位置上相邻的节点采

相关文档
最新文档