无线传感器网络路由协议的改进_第1页
无线传感器网络路由协议的改进_第2页
无线传感器网络路由协议的改进_第3页
无线传感器网络路由协议的改进_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无线传感器网络路由协议的改进

无线传感器网络是监测远程环境的强大工具之一。随着计算机和无线传感器技术的发展,其重要性日益突出。但是传感器节点的通信范围有限,只能与覆盖范围内的节点进行通信,因而在大规模的网络中,需要采用多跳通信的方式进行信息传输。传感器节点通常由电池供电,且计算能力和存储空间有限,所以必须有一个好的路由协议以尽量延长生存时间。无线传感器网络的路由协议可以分成平面路由协议和分层路由协议两种。由于平面路由协议需要维持较大的路由表,占据较多的存储空间,因而并不适合在大规模网络中采用。分层路由算法可以在一定程度上解决这个问题。LEACH算法是比较成熟且常用的分层路由算法。但是LEACH算法并没有考虑到每个节点的能量状态因而不能有效提高网络的生存时间,本文主要在能量的基础上对LEACH做出改进。1层次开理算法的性能1.1letch算法中簇头的产生LEACH算法建立在所有节点都是平等且无线电信号在各个方向上能耗相同的假设上。在LEACH算法中,节点自组织成不同的簇,每个簇只有一个簇头。所有非簇头节点将自己的数据发给所属簇的簇头节点,为减少冗余数据的传输,簇头节点在数据融合后将数据发送给远方的接收器。这样,每个非簇头节点都只需要知道自己所属簇的簇头信息即可;簇头也只需要维持很小的路由表。在实际使用中,还可以根据需要建立更多层次。在LEACH算法中,为了避免簇头能量消耗过快,每个节点须轮流担任簇头。因此LEACH算法的实现分成一个个回合,每个回合又可分成簇形成阶段和簇稳定阶段。为了减少分簇带来的额外能耗,簇稳定阶段远远长于簇形成阶段。在簇形成阶段,每个传感器节点先生成0-1之间的随机数,如果生成的随机数小于阀值,那么这个节点就被选为簇头。阀值的大小由式(1)确定:I={p/(1−p∗(rmod(1/p)))c∈G0其它(1)Ι={p/(1-p*(rmod(1/p)))c∈G0其它(1)其中:p是网络中簇头所占比例,r是目前进行的回合次,G是在最后1/p轮中没有成为簇头的节点集合。节点被选为簇头后,就向外发送广播信息;其它节点根据收到的广播信息的信号大小决定要加入的簇,并向簇头发送加入簇的请求。簇头收到请求后将节点加入自己的路由表并为每个节点设定一个TDMA时间表,再将该表发送给所有簇内节点。此后的簇稳定阶段,节点按照该表进行数据传输。每隔一定时间整个网络重新进入簇形成阶段开始新一轮的簇头选举过程。和平面路由算法相比,LEACH算法可以延长将近30%的网络生存时间。但是,由于LEACH算法中簇头的产生具有极大的随机性,可能会出现部分簇头相距过近或部分区域的节点离簇头太远的情况,大大增加了节点的传输能耗,故不能有效地延长网络生存时间。而且由于簇头选举的随机性使得网络的簇头需要负担的节点数不同,加重了个别簇头节点的负担,使得网络的负载平衡程度下降。1.2簇稳定阶段tdma本文在考虑了节点剩余能量和成为簇头容易程度之间的关系以及簇头间相对距离的基础上,对LEACH算法进行了改进,改进后的算法和LEACH算法采用相同的网络要求。和LEACH算法一样,改进算法依然分成一个个回合,每个回合分成簇形成阶段和簇稳定阶段。同样,为了减少簇形成阶段带来的额外能耗,簇稳定阶段远远长于簇形成阶段。在簇形成阶段,每个节点先根据自己的能量生成一个定时器,其中定时时间和剩余能量、簇头比例成反比。定时时间到的节点产生一个0-1的随机数,剩余能量越大的节点越容易产生较小的随机数。生成的随机数小于阀值T的节点将自动升为簇头并向外发送簇头信息;随机数不小于阀值T的节点将重新生成随机数,根据产生的随机数和阀值的关系直接将自己确定为簇头或普通节点,再和LEACH算法一样根据自己的节点属性发送簇头信息或加入簇请求;如果节点在定时时间结束之前收到簇头的信息,就取消定时并向簇头发送加入簇的请求。簇头收到节点信息后,为每个簇内节点分配TDMA时间表,并将它发送给簇内节点。在簇稳定阶段,簇内节点按照TDMA表进行数据传输,簇头将收到的数据进行数据融合后发送给远方的接收器。每隔一段时间整个网络重新进入簇形成阶段开始新一轮的簇头选举过程。在簇形成阶段,节点成为簇头或簇内节点的流程大致如图(1)所示。1.3节点平均程度。网络使用具有新的特征特性,网络在传感器网络中,评价一个分簇算法好坏的参数有负载均衡程度、覆盖率、节点担任簇头时间的公平度、分簇所需能量大小等。其中负载均衡程度和分簇所需能量是比较重要的两个参数。在不考虑其它外界可能破坏因素的前提下,当一个传感器节点的能量小于零时,我们就认为这个节点死亡;当网络中出现节点能量小于零,网络就死亡。即将网络中第一个节点死亡的时间定义为网络生存时间。分簇所需的额外能量越少越有利于网络生存时间的延长。在分层算法中,除了分簇时的能量消耗外,每轮中簇覆盖节点的平均程度也会影响网络的生存时间。而且由于簇中包含节点数目的不平衡会导致不同簇之间数据的容量不同,因此簇的负载平衡程度也是分层算法中衡量簇性能的重要标准之一。负载平衡因子的计算公式如下:=[head_num]∑i=1head−−−num(xi−μ)2=[head_num]∑i=1head_num(xi-μ)2其中:xi为第i个簇包含的节点个数,μ为本轮簇平均包含的节点个数。LBF的数值越大说明簇的负载越平衡。2打造稳定的节点在无线传感器网络中,相对于传输数据所需要的能量,传感器节点需要进行的运算和存储都比较少,所需要的能量基本可以忽略不计。所以无线传感器网络中,网络生存时间主要取决于数据传输。在分层路由协议中,分簇所消耗的能量越少越好。由于本文提到的两种算法的簇头在簇形成阶段都只需要发送两次数据、接收一次数据,分簇时簇头所消耗的能量可以定义为:Ehead=k(Etran+Eamp·d2covercover2)·2+kEtran(-1)(2)其中:dcover为簇覆盖的最远距离,是本轮的簇头个数,Etran为节点接收或发送一比特数据消耗的能量,Eamp是放大器消耗能量。由于两种算法在稳定阶段的数据传输过程相同,且接收器的距离极远,可以近似认为所有节点到接收器的距离相等,所以暂不考虑簇稳定阶段的能量消耗情况。两种算法的其它节点在分簇时都接收两次数据、发送一次数据,因此每个其它节点消耗的能量为:Enodetran=kEtran(+1)+k(Etran+Eamp·d2)(3)其中:d是传感器节点到所属簇头的距离。3打造网络生存时间和负载均衡程度lbf我们用Matlab随机生成一个节点分布图,在100×100的范围内随机安放200个节点,如图(2)所示:这里,我们假定每个节点最初都具有5J的初始能量,每个节点接收或发送数据需要消耗Etran=50nJ/bit,为了能够将数据传输足够远,放大器所消耗的能量为Eamp=100pJ/bit·m2,且每个数据包的大小固定为50bit,所有节点一旦放置就不能再移动,节点死亡只发生在能量为零时。根据本文的参数定义,利用Matlab仿真出在不同簇头比例(簇头比例从0.05到0.15变化)下,只考虑分簇消耗能量可以达到的网络生存时间和负载均衡程度LBF。分别如图(3)、(4)所示。图3显示了两种算法不同的簇头比例下只考虑簇形成阶段时网络可以生存的时间,显然改进后的算法可以有更长的生存时间,在簇头比例为0.15时甚至可以达到LEACH算法生存时间的1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论