功率高效的无线传感器网络路由协议研究.docx
《功率高效的无线传感器网络路由协议研究.docx》由会员分享,可在线阅读,更多相关《功率高效的无线传感器网络路由协议研究.docx(20页珍藏版)》请在冰豆网上搜索。
功率高效的无线传感器网络路由协议研究
功率高效的无线传感器网络路由协议研究
摘 要:
无线传感器网络是一种全新的信息获取和信息处理、传输技术,通常包含大量的可自组织成多跳无线网络的分布式传感节点。
无线传感器网络具有组网快捷、灵活,且不受有线网络约束的优点,可用于紧急搜索、灾难救助、军事、医疗等环境中,具有广泛的应用前景。
无线传感器网络己经引起了学术界和工业界的高度重视,被称为是21世纪最有发展前景的技术之一。
对无线传感器网络中的低功耗自适应集群分层型协议LEACH协议进行了研究和分析,并对LEACH算法中的簇头选举算法进行了改进,仿真结果表明改进后的LEACH算法在网络生存周期方面要优于原有的LEACH算法。
关键词:
无线网络检测分级路由协议LEACHPEGASIS
第一章:
无线网络检测的原理(或者绪论)4
1.1无线传感器网络概述4
1.2无线传感器网络特点4
1.2.1与传统无线网络的比较4
1.2.2与Adhoc网络的区别5
1.2.3无线传感器网络的特点5
第二章:
无线网络检测的国内外发展现状6
2.1传感器网络的发展历程6
2.2无线传感器网络的体系结构7
2.2.1传感器网络拓扑结构7
2.2.2无线传感器网络节点组成8
2.3无线传感器网络应用9
2.3.1军事应用9
2.3.2环境观测和预报系统9
2.3.3医疗类9
2.3.4智能家居10
2.3.5其它商业应用10
第三章:
LEACH算法的研究与改进10
3.1LEACH算法的物理基础11
3.2LEACH算法介绍11
3.2.1算法介绍11
3.2.2仿真中的细节介绍13
3.3LEACH算法的仿真结果15
3.4LEACH算法与直接发送及静态集群路由算法的比较16
第四章:
展望17
参看文献18
第一章无线网络检测的原理
1.1无线传感器网络概述
微电子技术、计算技术和无线通信等技术的进步,推动了低功耗多功能传感器的快速发展,使其在微小体积内能够集成信息采集、数据处理和无线通信等多种功能。
目前,无线传感器网络已经是国际上备受关注的、涉及多学科高度交叉、知识高度集成的前沿热点研究领域,它实现了物理世界、计算世界以及人类社会三元世界的连通。
传感器网络具有广阔的应用前景,已经引起了许多国家学术届和工业届的高度重视,它被认为是对21世纪产生巨大影响力的技术之一。
无线传感器网络(wrielnessSensorNetwork,WSN)[1]是由部署在检测区域内大量廉价的微型传感器节点组成,通过无线通信的方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。
传感器、感知对象和观察者构成了传感器网络的三个要素。
如果说Internet构成了逻辑上的信息世界,改变了人与人之间的沟通方式,那么,无线传感器网络就是将逻辑上的信息世界与客观上的物理世界融合在一起,改变了人类与自然界的交互方式。
1.2无线传感器网络特点
1.2.1与传统无线网络的比较
无线传感器网络是一种新型的无基础设施网络(在很多文献中,无基础设施网络也称为无线移动自组网,Adhoc网络),它与传统的无线网络(如WLAN和蜂窝移动电话网络)有着不同的设计目标。
在WLAN、HmoeRF、BlueTooth和蜂窝网等网络中,它们要么不是自组织的,要么是单跳通信,或者就是不能构建千个节点以上的通信网络,这些网络的首要设计目标是提供高性能的服务质量(QualityofService,Qos)和更高的带宽,由于移动节点可以不断地获得电能补充,因此对节点的能量考虑被放在次要位置[2]。
然而数目巨大且分布范围广泛的传感器节点不能及时地获得能量补充,存在严重的能量约束问题。
高效地利用节点的能量,设计有效的策略来延长网络的生命周期成为无线传感器网络的首要设计目标,为此可以放弃一些其它的性能,如:
Qos和带宽的利用。
对于有固定基础设施(如sink、核心网等)的网络来说,很少有联系中断的事件发生,并且中断事件和能量使用无关。
在移动性网络中,拓扑结构的改变通常是由节点的移动性引起的,而不是由为了执行各种网络协议造成的能量耗尽引起的。
因此,为了提高系统性能,在协议设计过程中,移动性管理和故障恢复比能量保持更为重要。
然而,对于自组织的无线传感器网络来说,能量耗尽是影响无线传感器网络性能、网络运行周期的主要决定因素。
因此,传感器网络的整体性能依赖于那些能有效利用节点能量的各种算法。
1.2.2与Adhoc网络的区别
无线传感器网络作为一种分布式的自组织网络,邻居发现和路由发现都是自动的,从概念上讲,无线传感器网络是无线Adhoc网络技术的一大应用,但无线传感器网络又与Adhoc网络有着很大的区别。
在早期的研究中,人们认为Adhoc网络协议稍加修改甚至无需修改就可以直接应用于无线传感器网络中。
但是随着研究的深入,人们逐渐认识到这两种网络具有许多不同之处,传感器网络不能简单借用以往Adhoc网的协议。
原因如下:
(1)无线传感器网络节点密度高,传感器节点数量众多,单位面积所拥有的网络节点数远大于传统的Adhoc网;
(2)无线传感器网络中大部分节点不像Adhoc节点一样快速移动;
(3)传感器节点出现故障的可能性要大于Adhoc网络,它的网络拓扑变化频繁;
(4)传感器节点由电池供电,它的存储能力、计算能力和电能有限;
(5)传感器节点主要采用广播方式通信,而Adhoc网络大都采用点对点方式通信;
(6)由于数目极大且很多节点可能执行同样的侦测任务,因此传感器节点不一定具有全局唯一的标识。
1.2.3无线传感器网络的特点
1、硬件资源有限:
传感器节点受价格、体积和功耗的限制,其计算能力、程序空间和内存空间比普通的计算机功能要弱得多。
这一特点决定了在节点操作系统设计中,协议层次不能太复杂。
2、电源容量有限:
传感器节点由电池供电,电池的容量一般不是很大。
无线传感器网络大多工作在无人区域或者对人体有伤害的恶劣环境中,不能给电池充电或更换电池,一旦电池能量用完,这个节点就会由于死亡而失去作用,这势必要求在传感器网络的设计过程中,任何技术和协议的使用都要以节能为前提。
3、无中心:
无线传感器网络中没有严格的控制中心,所有节点的地位是平等的,是一个对等式网络[3]。
节点可以随时加入或离开网络,任何节点的故障不会影响整个网络的运行。
4、自组织网络:
网络的布设和展开无需依赖于任何预设的网络设施,节点通过分层协议和分布式算法协调各自的行为,节点开机后就可以快速、自动地组成一个独立的网络。
在传感器网络使用过程中,部分传感器节点会由于能量耗尽或环境因素等造成失效,也会有一些节点为了弥补失效的节点,增加监测精度而补充到网络中,这样在传感器网络中的节点数目就会动态地增加或减少,网络的拓扑结构也会随之动态地变化,这就要求传感器网络的自组织性要能够适应网络拓扑结构的动态变化。
第二章无线网络检测的国内外发展现状
2.1传感器网络的发展历程
传感器网络,经历了如图2-l所示的发展历程。
第一代传感器网络出现在20世纪70年代,使用具有简单信号获取能力的传统传感器,采用点对点传输、连接传感控制器构成传感器网络;第二代传感器网络,具有获取多种信号的综合能力,采用串/并接口(如RS-232、RS-485)与传感控制器相联,构成有综合多种信息的传感器网络;第三代传感器网络出现在20世纪后期和本世纪初,用具有智能获取多种信息信号的传感器,采用现场总线连接传感控制器,构成局域网络,成为智能化传感器网络;第四代传感器网络正在研究开发,用大量的具有多功能多信息信号获取能力的传感器[4],采用自组织无线接入网络,与传感器网络控制器连接,构成无线传感器网络。
图2-1传感器网络发展历程
2.2无线传感器网络的体系结构
2.2.1传感器网络拓扑结构
传感器网络通常通过飞机布撒,人工布置等方式四,散布于待监测地域。
由于传感器节点数量众多,部署时智能地采用随机投放的方式,传感器节点的位置不能预先确定;在任意时刻,传感器节点通过多跳中继的方式将数据传回接收器,最后借助链路将整个区域内的数据传送到远程控制中心进行集中处理。
传感器节点间具有很强的协同能力,通过局部的数据采集、预处理以及节点间的数据交换来完成全局任务。
网络中的各个节点具有数据采集和将数据路由到接收器的功能,图2-2为多跳路由将数据传到接收器示意图。
接收器可以通过有线网络(Internet)或卫星与任务管理节点通信。
在无线传器网络中绝大多数的节点只有很小的发射范围,而网关节点发射能力较强,具有较高的电能,以把数据发回远程控制节点。
为了保证网络内大多数节点都可以与网关建立无线链路,节点的分布要相当的密集。
无线传感器节点经多跳转发,通过网关接入网络,在网络的任务管理节点对传感信息进行管理、分类、处理,再把传感信息送给用户使用。
图2-2传感器网络的网络通信结构
无线传感器网络的拓扑结构有3种[5]:
星状网、网状网及混合网。
每种拓扑结构都有自身的优点和缺点。
基本的星状网拓扑结构是一个单跳(single-hop)系统,网络中所有节点都可以与基站和网关进行双向通信(如图2-3所示),图中用三角形表示的节点是基站节点,用圆圈表示的节点是普通节点。
网状拓扑结构是多跳(multi——hop)系统,其中所有无线传感器节点都相同,而且可以直接互相通信(如图2-4所示)。
网状网的每个传感器节点都有多条路径到达网关或其它节点,因此它的容故障能力较强。
混合网力求兼具星状网的简洁和低功耗以及网状网的长传输距离和自愈性等优点(如图2-5所示)。
图2-3星状网络图2-4网状网络图1-5星一网混合网络
2.2.2无线传感器网络节点组成
在不同应用中,传感器网络节点的组成不尽相同,但它们的基本结构都是一样的。
节点的典型硬件结构如图2-6所示,主要包括电池及电源管理电路、传感器、信号调理电路、A/D转换器件、存储器、微处理器和射频模块等边。
根据不同的应用需求,还可能会有定位系统用来确定传感器节点的位置,有移动单元使得传感器节点可以在待监测地域中移动,或具有供电装置以从环境中获得必要的能源。
此外,还必须有一些应用相关的部分,例如,某些传感器节点有可能在深海或者海底,也有可能出现在化学污染或生物污染严重的地方,这就需要在传感器节点的设计上采用一些特殊的防护措施。
节点采用电池供电,一旦电源耗尽,节点就失去了工作能力。
为了最大限度的节约利用电源,在硬件设计方面,要尽量采用低功耗器件,在没有通信任务的时候,切断射频部分电源;在软件设计方面,各层通信协议都应该以节能为中心,必要时可以牺牲其他的一些网络性能指标,以获得更高的电源效率。
图2-6传感器网络节点结构图
节点在网络中可以充当数据采集者、数据中转站或簇头节点(cluster-headnode)三种不同的角色。
作为数据采集者,数据采集模块收集周围环境的数据(如温度、湿度),通过通信路由协议直接或间接将数据传输给远方基站(basestation)或汇聚节点(sinknode);作为数据中转站,节点除了完成采集任务以外,还要接收邻居节点的数据,将其转发给离基站更近的邻居节点或者直接转发到基站、汇聚节点:
作为簇头节点,节点负责收集该簇内所有节点采集的数据,并进行数据融合处理,然后发送给基站或汇聚节点。
第三章LEACH算法的研究与改进
LEACH算法是无线传感器网络最早的分级路由协议之一[6],它的主要思想是基于接收信号的度来形成集群,使用本地集群首领作为到基站的路由器。
通过随机选择聚类首领,平均分担中继通信业务来实现节点能耗的平衡。
LEACH算法中的思想还激发了许多分层次的路由协议,如:
TEEN和PEGASIS等。
因此,对LEACH算法的研究,有助于进一步了解其他的分级路由算法。
这一章里,首先介绍了LEACH算法的物理基础和工作原理;然后建立仿真模型并用matlab仿真工具进行仿真,从仿真结果上对LEACH算法进行分析;最后对原有LEACH算法进行改进,将改进后的LEACH算法性能与原有的LEACH算法性能进行比较,观察性能方面是否有所改善。
3.1LEACH算法的物理基础
LEACH路由算法的仿真模型是建立在第一顺序无线电模式圈(如图3-1所示)基础之上的[7]。
该模型基于以下的假设条件:
(l)网络里所有节点(node)完全相同;
(2)无线电信号在各个方向上能量消耗相同;(3)Sink节点是固定的,并且离整个无线传感器网络较远;(4)信道是对称的,从节点A发到节点B的能量消耗与从节点B发到节点A的能量消耗相同。
图3-1第一顺序无线电模式
根据图3-l所示的第一顺序无线电模式,传感器节点发送kbit数据消耗的能量分为两部分,一部分是信号发射电路所消耗的能量,一部分是信号放大电路所消耗的能量,参数取值如表3-1所示。
由表3-1可以看出,发送数据所耗费的能量是比较高的,因此,我们在制定路由协议时,应该尽量减小传输距离以及每次需要发送的数据比特数。
表3-1RadioChrarcteristcis
3.2LEACH算法介绍
3.2.1算法介绍
LEACH协议主要通过随机选择聚类首领,平均分担中继通信业务来实现,它分为两个阶段,即类准备阶段和就绪阶段[8]。
在类准备阶段,LEACH协议随机选择一个传感器节点作为头节点,头节点与其附近的节点构成簇,头节点就成为簇首领。
为了防止某个节点长期作为簇头节点而能量损耗过多,利用选举算法使得每个节点都有机会成为簇头节点。
对于LEACH协议单层模型,簇头节点负责簇内部和基站之间的通信,对于LEACH协议多层模型,节点负责簇内部和各个簇之间的通信。
LEACH定义了“轮”(round)的概念,一轮由初始化和稳定工作两个阶段组成,为了避免额外的处理开销,稳定态一般持续相对较长的时间。
初始化阶段即簇的形成阶段。
在每一轮的初始化阶段,每个传感器节点要决定在当前轮中是否充当簇头节点。
这个决定主要取决于整个网络中簇头节点占所有节点数目的百分比(在初始化时设置),并且取决于这个节点在过去的操作中充当过簇头节点的次数。
簇头节点必须从没有当过簇头节点的那些节点中选取,直到所有的节点都充当过簇头节点,选举重新开始,所有节点获得再次成为簇头的机会。
簇头节点的选择方法为网络中的传感器节点生成O到1之间的随机数,如果该随机数小于闽值T(n),则该节点被选为簇头节点。
T的计算方法如下:
其中p为节点中成为簇头节点的百分数,r是当前的轮数,G是在过去1P/轮中未充当过簇头节点的集合。
在前r轮中做过簇头节点的节点,在以后的(l/P-r)轮中不能再充当簇头节点,以增加其它节点成为簇头节点的概率。
在r=0时,T(n)=p,每个节点都有概率p做簇头节点。
随着r值的增大,T(n)的值越来越大,闽值逐渐增加,未当过簇头的节点被选为簇头的概率逐渐增加。
当r=1/P-1时,T(n)=l,此时网络中所有未当过簇头的节点都可以被选为簇头。
由公式可以看出,r=1/p+1与r=1时T(n)的取值相同,因此经过1/P轮,所有节点又重新具有概率p充当簇头节点,这样重复循环。
一旦簇头节点被选定,它们便使用相同的能量主动向网络中的其他节点广播一个广告包。
在这个过程中,其它非簇头节点的接收机一直处于工作状态,用来接收来自不同簇头节点的广告包,它们根据最小通信能量原则,选取信号最强的广告包的发送源节点作为自己的簇头节点,并发送消息给其簇头节点,告知其簇头节点己经加入该簇。
当簇头节点收到了来自成员节点的“报到”消息后,基于成员节点的数目,产生一个TDMA时隙表,簇头节点给每个成员节点都分配一个特定的通信时隙,成员节点只能在其特定的时隙内与簇头节点进行通信。
图3一2给出了实际通信中的簇形成算法流程图。
图3-2实际中的簇形成算法流程图
簇一旦形成,数据传输便可开始,此即稳定工作阶段。
节点持续采集监测数据,在其相应时隙,使用最小能量传给簇头节点。
在不发送数据时,节点关闭以节约能量。
簇头节点必须保持其接收器一直打开,以接收簇内不同节点的数据。
当所有数据接收完毕后,簇头节点进行必要的数据融合处理,将多个数据融合成一个数据,然后发送给基站。
因基站较远,通信耗能较多,因此数据融合是一种减小通信业务量的合理措施。
持续一段时间以后,整个网络进入下一轮工作周期,重新选择簇首领。
图3-3描述了LEACH算法的一轮工作过程。
在建立阶段,确定簇头节点,并给每个成员节点找到其簇头节点。
在稳定工作阶段,簇成员节点与簇头节点的通信是被划分成帧来进行的。
在一帧中,成员节点只能在其分配给它的特定的时隙发送数据,每个时隙持续的时间是个常数,而一帧要保证所有的簇成员节点都发送数据给簇头节点,因此一帧的时间长度是由簇成员节点的数目决定的。
当数据发送完毕后,新一轮的工作开始。
图3-3LEACH算法的一轮工作过程图
LEACH算法能够有效节省能量的原因如下[9]:
l)它使用本地协议方式来提高网络的可靠性和鲁棒性;2)它使用数据融合机制来减少数据传输过程的数据包大小;3)它使用动态机制选举簇头,避免被选为簇头的节点能量过度消耗。
3.2.2仿真中的细节介绍
3.2.2.1、簇头选举过程
首先给无线传感器网络中的每个节点分配一个O到l之间的随机数,然后与公式(3一3)中给出的门限值T进行比较,如果节点分配的随机数小于门限值T,就被选为簇头节点,不符合条件的节点就当作普通的簇成员节点。
图3-4给出了在2500m2范围内随机分布的100个无线传感器节点,图3-5、图3-6和图3-7给出了簇头概率为p=0.05时的簇头选举结果,图中用五角星表示的节点为簇头节点,用圆圈表示的节点为普通成员节点,从图中可以看出,簇头节点的分布并不是均匀的,而且每轮仿真所选取出来的簇头数目并不一定是5个。
图3-5中簇头节点数目为4个,图3-6中簇头节点数目为5个,图3-7中簇头节点数目为6个。
虽然每一轮中选举的簇头节点数目并不一定是nXp个n(是节点总数,p是簇头概率),但是该算法保证了经过1/P轮仿真后,所有的节点都充当过簇头节点。
图3-6选出的簇头节点数目为5图3-7选出的簇头节点数目为6
3.2.2.2簇形成过程
簇头节点选举出来后,余下的簇成员节点就要找到自己应该加入的那个簇。
在实际通信中,簇头节点使用相同的能量主动向网络中的其他节点广播一个广告包,非簇头节点根据接收到的广告包的信号强度来判定应该加入哪个簇,若收到的信号强度越大,说明该节点离此簇头节点距离最近,那么非簇头节点向它的簇头节点发送数据时,需要的能量越小,这样会大大提高网络的生存周期。
在仿真过程中,我们采用的方法是簇成员节点依次计算出自己与每个簇头节点之间的距离,选择距离自己最近的那个簇头节点作为簇头。
图3-8为LEACH算法形成簇后的节点分布图,图中用相同符号表示的节点是同一簇中的节点,用星号表示的节点是簇头节点。
从图中可以看出,由于簇头节点的分布是随机的,而且100个传感器节点分布的也不均匀,有些地方节点分布密集,有些地方节点分布稀疏,导致了每个簇内的成员节点数目差别很大,有些簇的簇内节点数目远远高于其它簇的簇内节点数目。
簇内成员节点数目多的簇头节点在一轮通信中消耗的能量多,因为它需要接收更多的来自其成员节点的数据,进行更多的数据融合处理,LEACH算法在簇头节点不均匀分布方面存在着一定的缺陷。
图3-8LEACH算法簇形成后的节点分布图
3.2.2.3数据传输过程
LEACH算法中存在两种不同类型的节点:
一种是簇头节点,它要与簇内成员节点进行通信,对成员节点发送过来的数据进行融合处理,而且要将经过处理后的数据发送给基站;另一种是簇成员节点,它只需要与其所在簇的簇头节点进行通信。
在实际通信中,无线传感器节点具有控制发送功率的能力,每次都是以所需的最小功率与其他节点或基站通信。
仿真中,我们采用的方法是计算出每个簇成员节点与其簇头节点之间的距离、簇头节点与基站之间的距离,按照第一顺序无线电模式进行能量计算。
图3一9为仿真LEACH算法过程中不同类型的节点所需的不同处理过程示意图。
图3-9LEACH算法中不同类型节点的不同处理过程
3.3LEACH算法的仿真结果
按照3.2中介绍的LEACH算法,我们采用MATLAB仿真工具对该算法进行仿真,网络仿真模型与3.2中介绍的一致,簇头节点概率p=0.05,得到了无线传感器网络中剩余节点数目与仿真进行的轮数之间的关系图(如图3-10所示)。
图3-10LEACH算法剩余节点数目与仿真轮数关系图
3.4LEACH协议的改进
针对以上存在的问题,由于目前已有大量文献考虑了数据传输阶段中的簇首直接传输给基站的问题,而对其进行了改进,因此只针对前两个不足进行了改进,主要改进思想如下:
1.考虑了节点的剩余能量,为了避免节点在剩余能量很小时也会被选为簇头节点。
2.当簇头节点之间的距离小于最优距离D时,则取消能量小的节点为簇头,当簇头节点过少时,则增加簇首节点个数,这样可以保证簇首节点的个数尽量靠近最优簇首节点个数k和使簇首节点位置分布均匀,其中
它的执行过程由多个轮构成的,每轮分为簇首产生阶段,数据传输阶段。
具体执行过程如下:
3.4.1簇头之间最优距离D的计算
首先假设探测区域A是边长为L的正方形区域,理想状态下k个群首节点应当完全覆盖
区域A,则应该
,由此得出平均意义下每个群首覆盖的区域半径应该为
其中C>1是一个常数,是为了充分保证群首节点能覆盖区域A而设置的。
3.4.2簇首选择算法
由于LEACH的阈值T(n)没有考虑到节点的剩余能量,而使得每个节点在即使剩余能量很小也会被选为簇头,能量很快耗尽。
因此我们将阈值选为
其中En-currt为节点n的当前剩余能量,En-max为节点的初始能量。
接着各个节点产生一个随机数,若这个数小于阈值则向其覆盖半径R内的节点发出竞争簇头的CANDIDATE的消息,该消息内含有自身的ID和标示其剩余能量的MARK。
同时这些节点也会收到其他的CANDIDATE消息,将这些信息及自身的CANDIDATE信息保存在本节点的集合Scan中,但是有些节点却没有这样的集合,则意味着这些节点在半径R内没有可以加入的簇首。
此时则将这些节点作为簇首,向其半径R内广播自己作为簇首的消息。
接着,每个簇首节点根据自身的Scan,找出其中最大的MARK,如果这个最大的MARK节点为它自己,则就向其覆盖范围内R的所有节点广播自己为簇首节点。
如果不是本节点,则等待能量最高的HEAD消息。
如果一定时间T内没有收到HEAD消息,说明该能量最高点的节点已经失去竞争能力(即它的覆盖半径内存在着比它能量更高的节点,从而使它失去了成为簇首的资格),则将其从Scan中去除,然后从Scan中重新选择能量高者。
当簇首选完后,则每个节点选择离自己最近的加入簇。
其他同LEACH的一样。
3.4.3仿真
3.4.3.1仿真环境
仿真以NS2为平台,为与LEACH作比较,仿真情景如下,网络节点数为100,随机分布在100m*100m的范围内,每个节点具有2J的初始能量,每个节点接受或发送数据需要消耗Eelec=50nJ/bit,ξamp=0.0013pJ/bit/m4,ξfs=10pJ/bit/m2且每个数据包的大小固定为500bit,基站位置为(50,175),每0.08*
=20s为一轮。
所有节点一旦放置就不能再移动,节点死亡发生在能量为零时。
3.4.3.2仿真结果
下面两个图给出了对于两种算法随机选取的几轮网络节点的簇头分布情况,由图可知改进算法的簇首节点分布比LEACH算