基于OMNeT--的Leach协议的仿真研究

基q'OMNeT-t-+的Leach协议的仿真研究——操 敏 李文锋 袁 兵

基于OMNeT-+-+的Leach协议的仿真研究*

操 敏 李文锋 袁 兵

(武汉理工大学 武汉 430063)

摘 要 文章对无线传感器网络路由协议进行分析探讨和仿真。在研究典型的层次化路由协 议 Leach算法的基础上 ,将其与多帧通信相结合,并对传感器网络的各种参数进行分析。在 OMNeT-t--t-平台上对Leach协议下无线传感器网络诸参数如能量、帧数、Sink节点位置等进行了 仿真,并对仿真结果进行比较分析,得出一轮多帧策略的有效性。 关键词 无线传感器网络;Leach协议;0MNeT-t--t-;分簇;多帧 中图法分类号 :TP393.04 文献标识码 :A

0 引 言

目前,研究网络协议的仿真平台主要有NS2、 OPNET、OMNeT++、JavaSim 等等 。NS2在学 术领域使用广泛,OPNET则在商业领域中有较 多应用。近年来在科学和工业领域逐渐流行起来 的是OMNeT++,目前的最高版本为OMNeT3. 2pl。OMNeT++拥有开源的、基于组件的、模块 化的开放式仿真环境,具有强大的完善的可嵌入 仿 真内核和图形 界面接 口,可在 Windows和 Linux两种操作系统平台上运行,能简便的定义 网络拓扑结构,具有编程、调试、跟踪支持等功能。 因此,同其它仿真平台相比,使用OMNeT++来 完成无线传感器网络(wireless sensor networks, WSN)路由协议的仿真具有独特的优势。

1 Leach算法

1.1 Leach算法简介 在现有的WSN路由协议中,Leach是一种典 型的层次化路由算法,现在已有很多基于Leach 的改进算法,如TEEN,PEGASIS等。Leach协 议El-z]将所有节点(node)分为若于簇(cluster),每 个簇选一个首领(header),簇首领还可组成更高 层次的簇。簇首领接收本簇中成员节点发送的数 据,实现数据融合功能,并向基站(sink)发送数 据。Sink直接与Internet或通信卫星相连,通过

收稿 日期:2006—09—18 *国家 自然科学基金项目资助(批准号;湖 北省青年杰出人才基金项 目资助(批准号:2005AB- BO21)

Internet或通信卫星实现任务管理节点(即观察 者)与传感器之间的通信。Leach所提出的新型无 线传感器网络工作模式如图1所示。

图 1 Leach算法下 WSN的工作模式 1.2 无线传感器节点的能量消耗分析 节点的能耗包括通信能量消耗、计算能量消 耗和感应能量消耗,其中通信能量消耗是节点能 耗的主要部分。聚类首领接收成员节点的数据,进 行数据融合后长距离发送至Sink节点,比成员节 点消耗更多的能量。因此,聚类首领的通信能量消 耗对于聚类的生存期,乃至整个网络的寿命至关 重要。为此I each采用聚类首领轮循机制,以保证 各节点能量损耗趋于均衡。Leach中每一轮的通 信过程如图2所示。 2 Leach算法改进——一轮多帧机制

文献E3]中提出了MF—I each。在稳定运行阶 段,簇头分配完TDMA时槽后 ,成员节点将采集 到的数据在相应时槽内发送给其簇头节点,这一 阶段称为数据传输阶段。在每一轮的数据传输阶 段,每个簇头可给节点分配多个TDMA时槽,各 个节点可以发送多个数据帧。由于延长了数据传 输阶段的时间,避免了过多的选簇头和形成簇过 程,将节点的能量主要用于数据传输,因而可以提

维普资讯

交通与计算机 2007年第1期 第25卷 总134期

【 node发送状态信息给 Sink

【 由Sink选出簇头

}各簇头向其他节点发送广播消息

各node选出自己的簇头并加入簇

簇头向其成员node发送 TDMA帧

成员 node其时隙发送数据给簇头

簇头进行数据融合再发给 Sink

图 2 Leach一轮通信 流程 高WSN的实际寿命。文献[3]提出了一种预测策 略,当聚类首领的剩余能量与预测通信能耗的差 值大于阈值,聚类首领继续分配TDMA时槽。笔 者对 Leach所作的改进中,所采取的节点能量判 断策略同文献[3]中提出的预测策略不同,每个节 点在发送状态信息时判断该节点的剩余能量值是 否足够,若能量不足则向Sink发布死亡信息,宣 布该节点死亡。 3 Leach协议及其改进的仿真实现

3.1 OMNeT建模过程 本文使用 OMNeT实现对WSN路由协议的 仿真,OMNeT建模的流程如图3所示。

图 3 OMNeT仿真建模流程 3.2 定义仿真环境参数 通过以上对 Leach协议的剖析和对OMNeT 编程模式的理解,定义如下的仿真环境参数,如表

linux leach仿真数据传输图性能,基于OMNeT-+-+的Leach协议的仿真研究.pdf相关推荐

  1. 基于计算机的控制系统,基于计算机的机械控制系统实现方式研究.pdf

    116 Mechanics-electronics Applied Technique 机电技术应用 2017 年 1 月 基于计算机的机械控制系统实现方式研究 张华鹏 ,舒林果 ,韦祺然 (沈阳理工 ...

  2. python仿真智能驾驶_基于Python的3R机器人运动仿真

    一.问题描述 如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行.如图所示,所有关节均处于初始状态. 要求: (1) 定义并标注出各关节的正方向: (2) 定义机器人基坐标系{ ...

  3. matlab仿真对比图,怎样在hfss里对比几个仿真出来的图?

    怎样在hfss里对比几个仿真出来的图? 同问,改变结构了,相应的结果图也随之改变,是否有类似的锁定功能呀 hfss好像没有这个功能,cst可以那样做 我一般都把hfss的结果导入到matlab做比较的 ...

  4. 基于MATLAB的OSPF协议网络仿真

    step1. 当有连接请求时,算法开始,考察源节点S是否为域的边界节点,不是的话在域内使用最短跳算法路由至此域的边界节点 域的边界节点用U表示(图中A, B),下一跳接口为[D, N, r(U, N) ...

  5. 监控视频分发转发服务器性能,基于视频监控的分发服务器的研究与实现

    摘要: 随着宽带网络,数字压缩技术和大容量存储技术的高速发展,基于实时多媒体通信的网络服务也达到了前所未有的增长速度.视频监控业务利用现有的因特网基础设施传输网络视频,是目前网络实时多媒体通信中最受关 ...

  6. 武汉大学计算机学院谢超,基于模块化的电子地图自适应设计机制研究.pdf

    第 3 5 卷 第 1 0 期 武 汉 大 学 学 报 信 息 科 学 版 V o l35 N o1 0 20 1 0 年 1 0 月 Ge o m a t i c s a n d In f o r ...

  7. python仿真图_基于Python的DTN仿真平台

    基于 Python 的 DTN 仿真平台 姚建盛 ; 刘艳玲 ; 李淑梅 [期刊名称] <新型工业化> [年 ( 卷 ), 期] 2016(006)009 [摘要] 延迟容忍网络 (DTN ...

  8. 基于MBD的控制系统建模与仿真软件工具集

    随着新能源汽车和自动驾驶技术的快速发展,汽车电子电气架构的发展已成为汽车行业推陈出新的主要动力:车内电控系统变得越来越复杂.软件迭代周期越来越短,汽车电子软件开发和测试的质量与效率要求也越来越高.汽车 ...

  9. matlab创新开放性实验,基于MATLAB 的自动控制原理实验仿真系统的设计

    基于MATLAB 的自动控制原理实验仿真系统的设计 基于MATLAB 的自动控制原理实验仿真系统的设计 田晴,张茁 (河北联合大学电气工程学院,河北唐山063000) 摘要:MATLAB的图形用户界面 ...

  10. 【基于参数估计的ISAR定标MATLAB仿真实验】

    本章内容简介:分析了CPF(三次相位函数法),CICPF(相干三次相位函数法)和ICPF(积分三次相位函数法)三种LFM信号调频率估计方法,分析了基于LOG算子(高斯拉普拉斯)的散射点提取方法,进行仿 ...

最新文章

  1. java指定位置写入_java指定路径写、读文件
  2. 关于自定义程序的效能优化
  3. Redhat安装tftp的方法
  4. python中什么是数据驱动_Python数据驱动DDT的应用
  5. AI未成解药 流利说2019年净亏5.75亿 Q4付费用户再降20万
  6. 监控数据库锁阻塞_机器连接数_警报日志的shell脚本 分享
  7. Mobile-Former: Bridging MobileNet and Transformer详解
  8. VirusTotal 为 Chrome 和 Firefox 发布 VT4Browsers 扩展
  9. jinkens搭建及部署项目
  10. 学习笔记 time模块练习 纪念日计算
  11. 深度学习提高模型准确率方法
  12. c++filt解码已损坏的函数名称
  13. DDD 到底是银弹还是垃圾
  14. Android 反编绎工具JEB简介及下载
  15. 物竞党的福利来啦~如何学物理竞赛获得省一及以上的成绩?
  16. 电脑接通电源时不能睡眠休眠问题解决
  17. 怎么将较大的PDF文件进行分割
  18. java虚拟机臃肿_同样的内核,为什么linux干净稳定,而android臃肿又乌烟瘴气?...
  19. python@jit
  20. 第三方服务 “TOP10”Java 后端开发常用的

热门文章

  1. Vulkan Loader 何时加载 ICD 驱动文件
  2. IDEA配置svn无法使用的问题
  3. Labelimg讲解
  4. otdr进行多种测试鸿蒙包括,OTDR 测试
  5. dubbo服务者源码分期
  6. 推荐一款在线文件对比工具
  7. 计算机考研英语北邮,北京邮电大学计算机考研复试经验
  8. python播放音乐同步歌词_Python点阵字玩转动态歌词
  9. stata14中文乱码问题
  10. abaqus6.14 帮助 Abaqus Example Problems Guide翻译