最新资讯:
技术文档 >> 返回 您当前所在位置:首页 > 服务支持 > 技术文档 > 正文

基于最小能耗的无线传感器网络路由算法

更新时间:2015-10-12 12:50:05点击次数:4397次字号:T|T


无线传感器网络(Wireless?Sensor?Networks,WSNs)是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织网络系统。同时,网络中的节点拥有感知能力、无线通信能力以及计算能力。由于无线传感器网络具有不依赖与任何预设网络设施等特点,所以在军事应用、大型设备监控和环境监测和预报等领域,传感器网络都有着广泛的应用前景。传感器网络中节点分布数量众多,且能量是由容量有限的电池供电,更换不易。传感器节点消耗能量的模块包括传感器模块、处理器模块和无线通信模块。随着集成电路工艺的进步,处理器和传感器模块的功耗变得很低,绝大部分能量消耗在无线通信模块上。所以如何设计节能高效的路由策略是延长网络生存周期的重要手段。

近些年来,一些节能高效的路由算法相继被提出。文献通过引入长期睡眠机制,防止网络中的某些节点因为过早耗尽能量而死亡,引起网络无效。文献设计了一种无线传感器网络通信架构ADOCA,有效地改善了无限传感器网络通信的有效性。文献提出了一种基于多蚁群无线传感器网络路由算法,采用多种蚁群并行搜索,并在种群中采用基于目标函数值的启发式信息素分配策略和根据目标函数自动调整蚂蚁搜索路径。文献中针对SPR路由算法进行改进,提出了EB-SPR算法。将网络构造成层次结构,节点根据上一层邻节点能量水平优先使用能量多的节点作为下一跳来转发数据包,但是这种算法中节点需要时刻维护各个邻节点能量信息,增加了数据传输量。文献提出了最早的分层路由协议之一,LEACH算法。通过循环的方式随机选择簇首节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能耗、提高网络整体生存时间的目的。本文提出了一种新的基于最小能耗的无线传感器网络路由算法,并对网络中能量过低的节点采取休眠处理,延长了网络的生命周期。
1?无线传感器网络能量消耗研究和路由分析
1.1?无线传感器网络能量消耗研究
传感器网络节点主要有传感器模块,处理器模块,无线通信模块和能量供应模块。随着技术的进步,目前传感器模块和处理器模块能耗越来越低。但是,传感器节点传输信息时要比执行计算时更消耗电能,传输1?b信息到100?m距离需要的能量大约相当于执行3?000条指令消耗的能量。
本文假设一个简单的无线通信电路模型,其中发送和接收电路消耗能量Eelec=50?nJ/b,发送放大器消耗能量εamp=100?pJ/(b/m2)。所以,使用该模型从节点A传输kb信息至距离为d的节点B时,节点A消耗的能量为ETx(k,d)=Eeleck+εampkd2,接收该信息,节点B消耗的能量为ERx(k)=Eeleck。如图1所示。
无线通信模块存在发送、接收、空闲和睡眠4种状态。无线通信模块在空闲状态一直监听无线信道的使用情况,检查是否有数据发送给自己,而在睡眠状态则关闭通信模块。从图2中可看到,无线通信模块在发送状态的能量消耗最大,在空闲状态和接收状态的能量消耗接近,略少于发送状态的能量消耗,在睡眠状态的能量消耗最少。
1.2?LEACH路由协议分析
最早的分簇路由协议是由Wendi等三人在2000年提出的LEACH算法,全称为“低功耗自适应集簇分层型协议”。LEACH算法的每一轮操作分为两个运行阶段:簇建立阶段和簇稳定运行阶段。由于簇建立阶段是属于额外的通信需求,所以稳定运行的持续时间要远大于建立阶段持续的时间。
在簇建立阶段,传感器节点随机生成一个0,1之间的随机数,并且与阈值T(n)做比较,如果小于该阈值,则该节点就会当选为簇首。T(n)按照下面公式计算:
式中:P为节点成为簇首节点的百分数;r为当前轮数;G为在这一轮中未当选簇首的节点集合。
簇首节点选定后,广播自己成为簇首的消息,节点根据接收到的消息的强度决定加入哪个簇,并告知相应的簇首,完成簇的建立过程。然后,簇首节点采用TDMA的方式,为簇内成员分配传送数据的时隙。以上LEACH算法存在一个很大的缺陷,即协议没有说明蔟首节点的数目怎么分布才能遍及于整个网络。因此,很可能出现被选的簇首节点集中在网络某一区域的现象,这样就会使得一些节点的周围没有任何簇首节点。同时,由于簇首节点是随机选择的,有可能出现某个节点剩余能量过低而不能成为簇首节点,从而导致网络失效。
2?基于最小能耗的无线传感器网络路由算法
2.1?算法拓扑结构
图3所示为无线传感器网络路由算法的拓扑结构。整个网络的节点被分为汇聚节点、簇首节点和普通节点。网络由若干个子区域组成,子区域自主产生簇首节点,区域内的其他节点和簇首节点通信并通过簇首节点将数据传输给汇聚节点。
2.2?算法描述
为了改进上述LEACH算法存在的缺点,本文采用了以下方法:网络开始运行时,首先通过类似文献中的扩散法将整个网络划分为若干个子区域,然后再在各个子区域内随机选取簇首节点,这样可以保证簇首节点更加均匀地分布在整个网络中。同时,设定节点剩余能量阈值Eth,每次选取簇首节点之前,对剩余能量低于阈值的节点采取休眠处理。这样保证了簇首节点选取的可用性,有效地提高了网络的生存时间。图4为簇首节点形成流程图。网络开始运行时,依然将节点工作时间按周期划分为簇首节点建立阶段t1和稳定运行时间t2。t1阶段网络首先在各个子区域内随机产生簇首节点,新簇首节点产生后广播告知整个网络。此时,普通节点在接收到信息后开始发送入簇信息,簇首节点则为其分配通信时隙。图5为整个算法的流程图,在建立新的簇首节点和传输网络后,簇内节点开始将数据信息发送给簇首节点,并在其内部进行数据融合后转发给汇聚节点,网络开始稳定运行。经过t2后,网络开始重新选取簇首节点,此时要注意,每个节点都将判断自己的剩余能量,对低于阈值的采取休眠处理并广播告知其他节点。
3?结语
在分析LEACH算法和无线传感器网络的能量模型的基础上,本文提出了一种改进算法。在随机选取簇首节点之前,首先把网络划分为若干个子区域,这样可以将簇首节点分步得更加均匀,同时设定剩余能量阈值Eth,在每次选取簇首节点之前对剩余能量低于Eth的节点进行休眠处理,有效地提升了整个网络的生命周期。