首页 > 范文大全 > 正文

一种基于LEACH的无线传感器网络路由改进算法

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种基于LEACH的无线传感器网络路由改进算法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在低功耗自适应分层路由算法(LEACH)研究的基础上,针对它簇首负担过重的问题,提出了一种基于双簇首机制的改进算法。该改进算法通过在簇内选择次簇首传输数据,在一定程度上平衡了网络内能量损耗。在NS2上的仿真实验表明,与leach相比,它能延长网络生存周期。

关键词:无线传感器网络;路由;改进算法;分簇;双簇首

中图分类号:TP393 文献标志码:A文章编号:1009-3044(2010)08-1977-03

An Improved Routing Algorithm Based on LEACH for Wireless Sensor Network

GUO Min, HE Peng

(Three Gorges University, Yichang 443002, China)

Abstract: In this paper, an improved algorithm was proposed based on LEACH, which selects another cluster head to tansmit data to the base station (BS), so it will balance the energy consumption in the network. The simulation experiments in NS2 show that it can extend the network lifetime compared with LEACH.

Key words: wireless sensor network; routing algorithm; improved algorithm; clustering; double cluster head

无线传感器网络(Wireless Sensor Network,简称WSN)改变了人类与自然界的交互方式,将逻辑上的信息世界与客观上的物理世界融合在一起,被认为是未来全球的高科技产业之一,具有广阔的应用前景[1],在军事国防、灾害预警、环境监测、医疗等许多领域都有巨大的应用价值。

路由协议是无线传感器网络研究的热点之一。与传统Ad Hoc网络不同,无线传感器网络路由设计的重要目标是降低结点能源损耗,延长网络的生命周期[2]。目前,国内外的研究人员已经提出了多种路由协议[3],其中LEACH[4] (Low-Energy Adaptive Clustering Hierarchy)是由MIT的Heinzelman等人为 WSN设计的低功耗自适应分层路由算法,其主要思想是以循环的方式随机分簇, 将整个网络的能量负载平均分配到每个传感器节点, 从而延长网络生存时间。它是第一个在无线传感器网络中提出的层次路由协议,其后的的大部分层次式路由协议都是在它的基础上发展而来。

但是,LEACH协议也有不足之处,如它随机选择簇首,不能确定每轮簇首的数目,也不能保证每轮分簇均匀,这样容易使簇首负担过重。目前,针对LEACH协议的改进主要集中在簇首的选择方法上,一些文献,如文献[5-7],是综合考虑了节点的位置和剩余能量来选择簇首,以达到优化分簇、节约能量的目的。本文在LEACH算法的基础上,提出一种双簇首机制来分担簇首负担,进而延长网络生存期。

1 LEACH算法介绍[4]

1.1 LEACH算法原理

LEACH算法将WSN中的所有传感器节点分为若干簇,每个簇选举一个簇首。为了避免簇首能量消耗过快而过早“死亡”,LEACH算法引入了“轮”的概念,每个节点需轮流担任簇首。每一轮分为两个阶段:初始化阶段和稳定工作阶段,每轮结束后进入下一轮。

在初始化阶段,每个节点随机决定是否在本轮充当簇首,具体的选举办法是:由各节点自主生成 0~1 之间的随机数,若此随机数小于某门限T(n),则该节点在本轮充当簇首。

门限 T(N)定义为:

其中:P是簇首在所有节点中所占的百分比,即节点当选簇首的概率;r是选举轮数;G是最近1/P轮中还未当选过簇首的节点集合。

选定簇首以后,簇首节点通过广播告知整个网络自己成为簇首的事实,网络中的非簇首节点根据接收信号的强度决定从属的簇,并通知相关的簇首,最后簇首创建TDMA时刻表并发送给簇内成员,为簇中的每个节点分配传输数据的时隙。

在稳定阶段,簇内节点将感知到的数据在给定的时隙内传送至簇首,簇首节点融合所收信息后发送至基站(BS),经过一段时间后进入下一轮的循环。

1.2 能量模型

LEACH算法所采用的能量模型是第一顺序无线电模型。根据这种模型,传感器节点发送 bit字节所消耗的能量为:

传感器节点接收 Kbit字节所消耗的能量为:

ERX=KEelec(3)

上面的公式中, Eelec为发送电路和接收电路消耗的能量;εamp为信号放大器的放大倍数; d是信号传输的距离; d0是信号传输距离的阈值;如果d

2 LEACH算法分析及改进

2.1 LEACH算法分析

根据文献[4],LEACH协议有以下两个假设:

1)基站固定不动且远离传感器节点;

2)传感器网络中使用相同的能量受限的传感节点且每个节点均可以与基站直接通信。

因此,由于传感器节点初始能量相同且能量有限,一旦当选为簇首,不仅要融合数据,还要负责传送到BS,这将会加剧它的能量消耗。

虽然让每个节点轮流担任簇首,极大的减轻了簇首的负担,平衡了网络中的能量消耗。但是,由于簇首的选举是随机的,它不能保证每轮簇首节点的数目和分布,容易造成网络内分簇不均。如果簇内节点过多,簇首融合数据就需要更多的能量,则它的能量损耗就会更加严重。况且,由公式(1)每轮簇首的选择还是等概率的,没有考虑节点能量等方面的因素,一旦能量损耗严重的节点再次成为簇首,势必影响网络的性能。

因此,进一步分担簇首负担就十分必要,在此基础上,本文对LEACH算法做了相应的改进,通过在簇内选择次簇首传输数据来平衡簇首能量损耗,进而延长网络生存周期。

2.2 LEACH算法的改进

算法的改进主要在稳定工作阶段,初始化阶段不变。改进之处在于:当簇首将簇内节点传输来的数据融合后,不直接发送到BS,而是在簇内选择一个次簇头,并将融合后的数据传给它,然后由次簇头发送到BS。其示意见图1。

次簇首的选取基于这样一个假设:每个簇首知道簇内节点和基站BS的位置信息。假设簇首到基站的距离为d,簇首到次簇首的距离为d1,次簇首到基站的距离为d2。为讨论方便,不妨设簇内通信采用自由空间模型,簇外通信采用多径衰减模型。那么原LEACH算法中,簇首发送kbit数据到BS所消耗的能量为:

而在改进算法中簇首发送 kbit数据到BS所消耗的能量E'TX 包括簇首发送数据到次簇首消耗的能量ETX1 ,次簇首接收数据消耗的能量ERX2 及发送到BS消耗的能量ETX2之和,即:

其中:

为了保证改进算法能量消耗比原算法低,只需E'TX

如果选择的次簇首已经传输过数据到基站,则选择下一个满足条件的节点作为次簇首。如果找不到满足条件的节点,则直接发送数据要基站。