关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 一种无线传感器网络分簇路由算法研究

一种无线传感器网络分簇路由算法研究

作者:时间:2010-07-27来源:网络收藏
 2 CAED描述

本文引用地址:http://www.eepw.com.cn/article/162971.htm

  在LEACH基础上,提出一个基于能量和距离的分簇(clustering algorithm based on energy anddistance)。该按轮运行,每轮分为二层簇头的建立,簇内节点数据转发和稳定数据的传输。

  2.1 二层簇头的建立

  在簇建立阶段,首轮担任簇头的节点由基站随机确定。簇头的个数根据监测区域的位置、大小及规模来确定。被选中担任簇头的ID由基站依次在中进行广播,网内节点对逐次收到的ID与自己的进行对比,相同的即为本轮的簇头。簇头全部选出以后,再向全网广播簇头ID。簇内节点在每轮数据传输的最后一帧,把剩余能量等信息一起发送至各自簇头。簇头对各簇内节点的剩余能量进行比较,选举剩余能量最大的节点作为下一轮簇头,这样建立了第一层簇头。

  第二层簇头的建立和通信模式与LEACH有较大的区别。每轮选出的第一层簇头成为第二层簇头的普通节点,在LEACH中这些节点直接与基站通信。由式(1)可以看出,放大器能耗远大于电路能耗,且放大器能耗中与通信距离d有直接关系,因此在产生第二层簇头时,充分考虑了节点的剩余能量和节点与基站间距离等因素。产生第二层簇头的阈值按如下公式计算:


  式中:Eresidual(i)标识为i的簇头的剩余能量;BSdistance(i)标识为i的簇头与基站之间的距离。每轮在产生完第一层簇头且簇头能量高于某一个值Eth(若节点低于Eth就认为节点失效)时,各簇头比较Tch值,找出其中Tch最大值为第二层簇头。因此,第二层簇头既有较高的能量,又距基站较近,这样既能减少转发数据时所消耗的能量,又能保证节点能量不会很快耗尽,而影响数据的采集。

  2.2 簇内节点数据转发

  每轮第一层簇头选出来后,节点依据收到广播信号的强度选择要加入的簇,此时簇内通信采用自由空间模型。与第一层簇内节点数据通信不同,由于第二层簇内节点距离簇头较远,有些可能远远超过了d0值,而数据通信采用的自由空间模型不一定正确,另外,直接与簇头通信的能量消耗较大。因此,假设远离簇头的节点可与临近的、能量高于自己的节点通信,且数据经过多路转发直至簇头,满足上述假设条件如式(4)所示:


  由于每一轮每个簇头在簇中的位置以及簇内节点的个数会发生动态变化,为便于分析式(4)的最佳临近节点,在图1中列出了某种状态下4种典型的数据转发方式。

  图1(a)出现在数据收集的前期阶段,由于节点能量充足,靠近基站的节点采用直接传输方式,而远离基站的节点通过式(4)选择下一跳节点进行数据转发;经过多轮数据采集之后,靠近基站的节点因过多参与数据的转发能量迅速降低,依据式(4)出现了图1(b)或图1(c);在数据收集的后续阶段,由于靠近基站的节点整体能量下降,它们分别采用单跳的方式直接与基站通信,同时依据式(4)出现了图1(d)。整个数据采集阶段远离基站的节点都是通过多跳的方式与临近节点通信,说明通过多跳的数据转发能耗要小于直接发送到簇首,同时转发数据的节点能量较高,保证了转发数据时有足够的能量,均衡了的能量。


  2.3 稳定数据传输

  在稳定数据传输阶段,普通节点与第一层簇头通信方式和LEACH相同,但是数据的采集、融合工作完成之后不是将数据包直接发送到基站,而是在给定的时隙内发送给第一层各自的簇头。第二层的节点依据能量和距离选出下一跳节点进行数据转发,直至第二层的簇头或直接与基站通信,第二层簇头节点经过二次数据融合后,发送数据至基站。

  3 算法分析和仿真结果

  利用Matlab工具对LEACH,EBAC和CAED算法进行仿真比较,各项参数设置如下:假设网络由300个相同的节点组成,随机抛撒在200 m×200 m的区域内,远程基站的坐标是(x==100 m,y=350 m)。每个节点的初始能量为E0=1 J,发送和接收电路的损耗为ETX=ERX=50 nJ/b,数据融合消耗为EDA=5 nJ/b,εfs=10 pJ/(b・m-2)时dd0。其中,d0为常数,数据包长度为4 200 b,广播包长度为60 b,簇头个数kopt=5。节点能量低于Eth=0.000 1 J时,认为其死亡,假设数据融合率为100%,且在转发过程中无数据包丢失。没有误码率。



评论


相关推荐

技术专区

关闭