EDN China > 技术文章 > 工业电子 > 网络与总线 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

无线传感器网络的动态拓扑能量有效成簇算法

中电网?? 2010年11月02日 ?? 收藏0

?  当节点成为簇头后,以适当的半径RC广播簇头加入消息,周围的节点根据接收信号强度决定加入哪个簇并发送一个请求加入消息。之后簇头在接收到相关节点的请求加入消息后,建立TDMA调度表并广播出去。簇内节点在收到此消息后,在属于自己的时隙内打开无线电模块开始数据传送,在其它不属于自己的时隙内关掉通信功能以最大限度节省能量。在簇内节点向簇头发送数据报文时,在其中加入一个本节点此刻剩余能量的数据信息,供之后算法使用。

  第二轮及以后轮的簇头产生过程中,首先是上一轮的旧簇头对收到各节点报文中含有的各节点能量信息及自己的剩余能量进行比较,从中选出剩余能量最大的节点为新簇头,之后旧簇头以半径RC发出new_CH报文,报文中包括报文类型及新簇头的ID,当指定的新簇头收到此报文后发现ID与之相匹配,就广播簇头加入报文,其余节点再根据接收信号强度决定加入哪个簇头,之后过程与第一轮相同。但在实际应用中,网络节点有可能意外被移动了,或者出故障死亡了,这样指定的新簇头就可能不存在了,从而这一簇范围内节点由于没收到簇头加入报文就会整体停止工作,使网络出现死区。考虑此方面,本文设定旧簇头节点在一定的时间阈值内若没有指定的新节点发来的簇头加入报文,它就确认指定的新节点被意味移动走了,从而它指定剩余能量第二多的节点为新节点,并发送新的new_CH报文。这样新算法就支持了部分节点移动或者有新节点加入的动态拓扑的网络。

  同时本文设计所有节点在任一轮循环中,从收到簇头加入报文或new_CH报文开始,启动一个计时器Timer,若在最大时限Tmax内没有收到新的簇头加入报文或new_CH报文,则启动从第一轮开始新的簇头选择过程,相对于大多数算法只支持静态网络,本文的算法支持了小范围地理位置变动的传感器网络。

  3.5数据传输

  在传感器网络中,簇内数据传输为单跳的,在簇首和各成员节点之间进行,而对于簇头到Sink节点的数据传输,LEACH算法及一部分改进算法是采用簇头到汇聚节点的单跳传输,这种方法使簇头使用了多径衰落的通信模型(文献[3]),能量消耗很大,本文采用基于距离因子的多跳传输方式。由于采用多跳通信,能量消耗为自由空间模型,而且消息在传送过程中进行了多次数据融合,使各级数据转发中的数据量都有所减少,也减少了通信能耗。网络所有节点都存储有根据接收到Sink节点的信号确定的自己到Sink的距离值,这一距离值在第一轮成簇前就已确定,我们称之为距离因子。当每个簇的簇内数据融合进行之后,就会开始各簇到Sink的多跳数据传输。

  首先,发送数据的簇头以确定的半径RD发送出消息,消息报文中还包含了此簇头的距离因子,周围的簇头收到消息后,各簇头将些距离因子与自己的进行比较,若发现其距离因子小于报文中的距离因子,且自己的剩余能量值不低于簇间传输所需的最小能量阈值Emin后,确定自己将此数据进行转发,将消息报文中的距离因子替换为其距离因子后以半径RD继续转发,之后传输过程相似。由于转发消息的簇头的距离因子小,从而其离Sink节点更近,这样消息报文在簇间就以多跳的最优路径传向了汇聚节点。传输能量开销得以最小化。

  4 仿真研究

  NS2(Network Simulator 2)是著名的用于网络研究的离散事件仿真工具,里面包括了大量的用于有线和无线、本地连接或通过卫星连接进行TCP协议、路由算法、多播协议仿真的网络协议、调度器和工具。NS的核心部分是一个离散事件模拟引擎。NS中有一个“调度器”(Scheduler)类,负责记录当前时间,调度网络事件队列中的事件,并提供函数产生新事件,指定事件发生的时间。在仿真过程中,将执行相关算法,并且将网络运行的具体情况写到文件当中,包括数据分组的传递情况、节点的能量状况等,这些文件对算法之间进行比较有很大的作用。本文在仿真场景设置方面,使用了如下场景设置方案:

  (1) 仿真区域大小为(100*100)。

  (2) 所有节点的初始能量相同。

  (3) 传感器节点在区域(100*100)内随机分布。

  仿真开始时,网络内传感器节点的分布状态如图1所示。

网络内传感器节点的分布状态

  仿真结束之后得到了LEACH和DTEE算法生成的相关文件,使用awk程序提取算法生成的相关文件中的关键数据,然后利用gnuplot工具将这些数据显示于图表上,得到两个算法相比较的曲线图如图2所示。

曲线图


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

无线传感器? 动态拓扑? 成簇算法?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈