传感器分簇算法研究及其进展总结Word文件下载.docx
- 文档编号:14873565
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:7
- 大小:232.92KB
传感器分簇算法研究及其进展总结Word文件下载.docx
《传感器分簇算法研究及其进展总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《传感器分簇算法研究及其进展总结Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
成员节点只与簇头通信,簇头与簇头构成高一级的虚拟骨干网,负责簇内的数据融合和簇间数据转发。
因为簇头节点的能量消耗较大,通常采用周期性选择簇头节点的方法均衡网络中节点能量的消耗。
簇头的集合形成连通统治集(CDS),因为获得最优CDS是NPC问题,因此实际提出的算法均为启发式的。
图1给出了分簇结构以及簇内与簇间的数据流向。
WSN采用分簇结构具有如下一些显著的优点:
●在满足一定约束条件情况下(例如覆盖范围与采样精度要求等),簇成员节点可以在某些时间段内关闭通信模块,大幅度减少空闲等待状况的能量消耗,因此可节省能量。
●簇头通常负责采集簇成员发送来的数据,这些数据具有较大的相关性,因此可以采用数据融合算法,在保证信息量的情况下降低数据通信量,降低数据转发的能量开销。
●因为采用层次结构,簇成员只需了解到所属簇头的路由信息,簇头只需了解簇头间的路由信息,因此可降低路由协议的复杂度,减少路由表项数目,路由维护开销也随之降低。
●具有较好的可扩展性能,更加适合于大规模WSN的应用场景。
2.1集中式/分布式算法
根据是否存在一个中心控制节点(通常是基站)负责整个网络的簇划分,分簇算法可分为集中式与分布式两类。
典型的集中式算法有LEACH-C[2]、APTEEN[3]等。
我们提出的基于径向基函数(RBF)的分簇算法[4]也属于此类。
中心控制节点通常有持续的电源供应、较高的存储与计算能力,并能获得网络的全局信息(如每个节点的位置以及剩余能量等),因此可以采用复杂的算法获得优化的分簇结果。
但是由于普通无线传感器节点能量有限,计算与通信能力不强,因此对于大型的WSN,集中式算法在灵活性、可扩展性以及健壮性等方面存在缺陷,例如很多集中式算法要求获得节点的剩余能量,因为传感器节点运行中能量不断下降,所以必须隔一段时间就得通知中心控制点更新剩余能量信息,这就造成大量额外数据包的传输,使算法的开销过大。
与集中式算法不同,分布式算法一般只需要相邻节点之间互相交换信息,甚至不考虑相邻节点独立作出判断,这类算法简单、高效、灵活,因此更适用于大规模WSN。
目前大部分经典的WSN分簇算法如LEACH、HEED[5]等,都属于分布式算法,Hausdorff算法[6]、响应式分布分簇算法(RDCA)[7]也属于这一类。
2.2基于地理位置/地理位置无关算法
根据是否需要借助GPS获得节点的地理位置,可以将分簇算法分为基于地理位置的算法与地理位置无关算法两类。
典型的基于地理位置的算法有GAF[8]等,其他大部分常见的分簇算法,如LEACH与HEED算法等,都不需要借助于地理位置信息。
基于地理位置的算法有的需要获得全局信息,有的只需要通过广播包获得相邻节点的位置信息。
因为传感器网络节点数量大,单个节点造价低、能量有限,而GPS模块不但成本高而且会额外消耗节点能量,因此为每个节点都配备GPS模块是不经济的。
通常的做法是在网络中设置少量信标节点,一般是通过携带GPS定位设备获得自身的精确位置,然后其他传感器节点通过信标节点的位置信息根据一定的定位算法获得自身的位置。
常用的定位算法有到达时间(TOA)、到达时间差(TDOA)、接收信号强度指示(RSSI)、到达角度(AOA)和距离向量-跳数(DV-Hop)[9]等。
不过在室内、水下或森林等有障碍环境中无法使用GPS系统,使其应用受到一定限制。
基于地理位置的分簇算法一般假设节点已知自身的精确位置,而如何获得自身位置信息则不包括在算法内。
2.3确定性/随机性算法
在网络拓扑结构与每个节点的剩余能量不变的情况下,根据分簇算法是否能取得确定结果,可将其分为确定性与随机性算法。
在确定性算法中,节点必须等待某个特定事件发生或某些特定节点已宣布自己的角色(CH还是MN)后,才能做出决定。
例如DCA算法[10]必须等待所有权值高于自己的相邻节点宣布成为CH或者加入到某个簇后,才能确定自身是成为CH还是MN。
确定性算法的一个不足之处就是收敛时间依赖于网络规模,DCA算法的时间复杂度为O(d),d为网络直径(通常用跳数来定义),在最差情况下(节点线性分布),d可达到n-1(n为节点个数)。
此外网络的鲁棒性不好,如果一个节点在拓扑发现阶段后失效,可能造成其相邻节点陷入无限期等待。
为消除这种现象,一些算法,例如ACE算法限制节点在一定次数(如5次后)结束循环等待[11]。
随机性算法根据一定的概率确定节点是否成为簇头。
LEACH算法中节点成为簇头的概率仅与过去若干轮次中节点自身的状态有关,HEED算法中的概率与剩余能量有关,还有一些算法同时考虑了节点度等多种参数。
随机性算法分簇结果的优化程度通常不如确定性算法,但是收敛速度较快,开销较小,鲁棒性好,特别适合于大规模网络。
2.4单层/多层算法
根据算法产生的最终拓扑结构,可分为单层和多层算法。
单层算法只进行一次分簇,目前提出的大部分分簇算法,如LEACH、HEAD、GAF等都属于此类,而多层算法在前一次分簇选举出的簇头基础上继续进行分簇,选举出第二层簇头和簇成员节点,随后可以进行第三层、第四层等簇头选举。
多层算法一般只用于超大规模WSN,算法较为复杂。
文献[12]提出了一种多层算法(层数从1到5),该算法以最小化系统整体能量消耗为目标,推导出系统整体能量消耗的解析式,然后通过数值计算求出不同节点密度条件下的最优解。
2.5簇内单跳/多跳算法
根据簇内MN到CH的跳数,可分为簇内单跳与簇内多跳算法,也可采用单跳算法的MN直接与CH进行通信,而多跳算法中的MN可通过其他MH中继与CH进行通信。
LEACH、HEED等算法采用单跳方式,而Max-minD等算法使用多跳方式。
Mhatre等对簇内单跳和多跳的情况做了深入研究[13],提出以簇内第一个节点死亡作为簇的生命周期(不考虑CH的能耗)并假设所有MN的初始能量相同。
单跳情况下,离CH越远的MN越早耗尽能量;
多跳情况下,如果MN的发射功率相同,则离CH最近的MN因为负担的中继任务最重故消耗的能量最多。
其分析存在的缺陷是只考虑了节点发送以及接收状态下消耗的能量,没有考虑空闲状态下的能量消耗。
目前很多WSN引入节点睡眠/唤醒机制,在无感知以及数据传送的情况下关闭射频电路以节省能量。
当引入这种机制后,网络拓扑会发生动态变化,很难给出一个确定性的解析式,一般只能采用概率分析的方法并通过仿真得出结果。
当采用单跳模式时,MN与CH的通信可以采用TDMA方式,每个MN分配一个时隙,数据传送只在指配的时隙中进行,其余时间处于睡眠状态,大大降低了节点处于空闲状态的时间(如LEACH)。
而采用多跳模式时,因为节点还需考虑数据中继问题,不可避免会耗费较多的等待时间。
从这一点上看,单跳方式与多跳方式相比具有一定优势。
3分簇算法设计难点
从网络协议分层上看,分簇算法可以看做是拓扑控制的一大类,位于MAC层与网络层之间。
在算法设计中,需要考虑网络连通性、CH轮转频率、簇半径优化以及节点同步等一系列问题,对这些问题的深入研究可以从跨层设计的角度,结合MAC层、网络层甚至应用层进行。
3.1连通性问题
WSN中,保持节点到基站的连通性是极为重要的。
对于采用分簇结构的无线传感器而言,连通性问题包括MN到CH(簇内通信)以及CH到基站(簇间通信)两个层次的连通性。
如前所述,簇内通信分为单跳与多跳两种模式,一般由成簇算法确保连通性问题。
而簇间通信需要通过虚拟骨干网进行,根据构成虚拟骨干网的节点不同,可将簇间通信分为两大类。
大部分虚拟骨干网完全由CH节点构成(如HEED算法),为保证连通性,这一类算法要求节点发射功率可调,且CH的密度和覆盖范围满足一定的条件[14];
另一些虚拟骨干网则由CH和簇边缘的网关节点(GN)构成,如CEC算法[15],一般适用于使用固定发射功率的网络。
两类方法相比,前者的优势在于非CH节点在没有感知及数据发送任务时可以进入睡眠状态,因此更加节省能量。
连通性所带来的簇半径以及簇间通信范围的优化选取问题仍然是分簇算法研究的一个重点。
3.2MAC层设计
通常进行分簇算法分析和仿真时都假设信道是无冲突的,而在实际情况下,尤其是单信道环境下,冲突和干扰不可避免。
分簇算法经常使用TDMA模式的MAC层协议,使用TDMA方式虽然能够消除簇内通信冲突,对相邻簇之间的簇间冲突却无能为力,当CH为进行簇间通信而提高发射功率时,这种冲突带来的影响更为明显。
使用CDMA方式可以使簇内通信与簇间通信并发进行成为可能,但CDMA器件价格昂贵,难以在强调低成本的无线传感器节点中大规模使用。
如何设计与选用合适的MAC层协议降低冲突与干扰,也是分簇算法研究的难点之一。
3.3簇头轮换机制
WSN的设计以最大化网络生命期为最终目标,因而使各节点尽可能均衡地消耗能量极为重要。
而分簇算法中一般CH的能量消耗大大高于MN,容易造成CH节点因为能量耗尽而提前死亡,为避免这一情况出现,一种方式就是采用簇头轮换机制,使各节点每隔一段时间轮流担任簇头,从而使各节点剩余能量尽可能接近相等。
簇头轮换机制通常独立于分簇算法,与分簇算法互为补充。
常见的簇头轮换机制有被动与主动式两种。
前者每隔固定时间引发,后者需要预先设定一个阀值,当监视的参数低于或者超过某阀值时引发重新分簇,常见的阀值有节点剩余能量、节点度等。
无论是被动还是主动式簇头轮换机制,选择合适的参数都会对算法的最终结果产生重要影响。
如果簇头轮换过于频繁,则会带来大量的额外开销和网络中断;
如果簇头轮换频率过低,则可能造成某些节点能量过早耗尽。
因此,只有进行合理的折中才能获得最优化的网络生命期。
3.4节点休眠/唤醒机制
采用节点休眠/唤醒机制,使非活跃节点尽可能处于睡眠状态可以大大延长节点电池寿命。
WSN在节点部署时一般是高度冗余的,即只需要一部分节点处于活跃状态就可以完成任务,这是引入休眠/唤醒机制的前提条件。
WSN是应用相关的,不同应用层业务适宜采用的休眠/唤醒机制也有所不同。
对于周期性数据采集网络(例如用于环境监测的网络),非CH节点在不需要进行感知或者与CH通信时将尽可能地处于休眠状态。
对于突发事件监测网络(例如用于森林防火、入侵检测等),CH可将所属的MN划分为若干个冗余组,通知各组轮流进入睡眠状态,同时保持其中一个组处于活跃状态。
还有一种方式是在分簇之前就预先选择一个可以覆盖目标区域的节点集,对这些节点集内部的节点进行分簇,分簇产生的CH和MN始终处于活跃状态,而节点集外的节点进入睡眠状态以节省能量。
4新的分簇算法
4.1Hausdorff算法
Hausdorff算法也是一种基于节点位置、通信有效性和网络联通性的分布式数据收集算法。
该算法分为3部分:
首先,由Hausdorff算法将节点分成几个静态的簇,用欧几里德距离来计算两个点之间的距离,用Hausdorff距离来计算两个点集之间的距离,该算法将Hausdorff距离作为分簇的量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感器 算法 研究 及其 进展 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)