Leach协议学习(4)——Leach协议改进
转】Leach协议学习(4)——Leach协议改进 收藏
转自:http://hi.baidu.com/jerry_916/blog/item/cce9012b6d206e92033bf680.html
References:
http://www-mtl.mit.edu/~anantha/docs/journals/2002_heinzelman_twn.pdf
http://mtlweb.mit.edu/researchgroups/icsystems/uamps/pubs/
LEACH协议之后,很多人进一步提出了改进的LEACH协议,如SEP协议,选择LEACH协议来学习NS2主要是考虑到LEACH协议的经典和有趣, 同时也认为是NS2学习的一个很好很有用的开头,不过,LEACH协议并不是那么容易参透,还有很多迷茫的地方,继续摸索中。。。
LEACH算法中节点以簇的形式来组织自己,每个簇由簇首来管理,当簇首接收到簇内成员发来的数据后,进行一些数据融合,然后再传送给远端基站。所以作为簇首的节点,需要很大的能量,如果簇头是事先固定的,那么簇头的能量将会很快耗尽,那么属于该簇的节点将不能继续通信,所以LEACH算法采用轮换簇首的方案来使通信中的节点轮流来作为簇首,这样就可以避免固定簇首所带来的一些缺点。这就涉及到一个簇首选举方法,在LEACH中算法的实现是分层一个个轮次的,每个轮次又分簇形成阶段和簇稳定阶段,为了减少分簇带来的额外能量消耗,所以簇稳定阶段的时间要远远大于簇形成的时间。在簇形成阶段,算法采用随机分布的算法来决定每轮的簇首,而不需要任何中央的控制。选举过程如下:每个传感器节点先生成0-1之间的随机数,如果生成的随机数小于某一阈值,那么这个节点就当选为簇首。阈值的大小是由下面的公式来决定:
(1)
其中N为整个网络中所有节点的个数,k为网络中簇首的个数,r是选举的轮数,N/k为每大轮中要进行的小轮轮数,Ci(t)是一个标志位,在每一个大轮中,如果在每个小轮中,某传感器节点当选为簇首时,Ci(t)就置为0,这样在每个大轮中已经当选过簇首的节点不能再当选为簇首,这对网络中能量的均衡有一定的作用,在每个大轮结束后,所有节点的标志位都将置为1,又开始新的一轮的循环。当节点被选为簇首后,就向外广播信息,其它节点根据收到的广播信息的能量的大小决定加入哪个簇,并向簇首发送要求加入该簇的请求,簇首收到请求信息后,将节点设置为簇内成员,并为它分配一个TDMA的时隙,再将该时隙表发送给簇内所有成员,进行时间的同步。在簇及其成员形成后,就进入了数据传输阶段,各个节点按照簇首分配的时隙给簇首发送数据,簇首将收到的信息进行融合,然后将信息传递给基站。
在分析LEACH协议之前,我们作如下的假设:
l 基站是固定的而且远离传感器节点
l 网络中的传感器节点都是同型传感器节点而且能量受限的
l 每个节点都有能力和基站通信
l 节点没有位置信息
l 对称二进制信道
l 簇首可以进行数据融合
由于是对称二进制信道,由i节点发送1bit数据到j节点和由j节点发送1bit数据到i节点所消耗的能量是一样的,假设簇首从它的n个簇成员收到 nk bits的信息,则经过数据融合向基站发送 cnk bits的数据,其中c称为压缩因子。利用文献【Energy-Efficient Communication Protocol for Wireless Microsensor Networks】提出的模型,可求得节点的能量消耗。
和平面路由算法相比,LEACH算法可以延长大约30%的 网络生存时间,在这里网络生存时间定义为网络中第一个节点死亡的时间。但是从上面簇首选举方案可以看出,簇首的选举具有很大的随机性,在位置和数量上呈现 不稳定的现象,当簇首太少时失去分层的意义,当簇首太多时,由于簇首要与远端基站直接通信,发射功率比较大,从而导致网络能量的过大消耗,由于簇首位置的 不平衡性,每个簇所负担的节点不同,这样会加重个别节点的负担,导致网络能量的不均衡性,从而影响整个网络的生存时间。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qq361301276/archive/2010/03/02/5337314.aspx
Leach协议学习(4)——Leach协议改进相关推荐
- 蓝牙核心协议学习 -- 基带协议(Baseband)翻译最终版
2021-10-27 蓝牙核心协议学习 -- 基带协议(Baseband) 剩余篇章已上传到资源分享,链接如下: baseband翻译.pdf-其它文档类资源-CSDN下载 baseband翻译.pd ...
- 蓝牙核心协议学习 -- 基带协议(Baseband)
目录 1 概述 1.1 蓝牙时钟 1.2 蓝牙设备寻址 1.2.1 保留地址 1.3 访问码(ACCESS CODES) ...
- DP/eDP协议学习--协议简介
最近一段时间由于项目接触到该协议,该协议不像HDMI,USB资料那么多,虽然应用还是很广泛的,但是生态不是很好.自己看了一段时间的协议,想着记录下来大家一起讨论学习. 1综述 eDP(Embedded ...
- 互联网协议学习笔记-----IP协议与传输协议
欢迎参考阅读,作者水平有限,如有帮助,不幸荣光 1.What's a protocol? protocols define format, order of messages sent and rec ...
- diameter协议栈_Diameter协议学习笔记一(协议介绍)
原文来自百度文库 http://wenku.baidu.com/view/bc91976127d3240c8447efec.html?re=view 一.摘要: Diameter协议主要为应用程序提供 ...
- 智能会议系统(9)---流媒体协议学习
流媒体协议学习 一.协议篇 1. rtsp协议详解(http://www.mikewootc.com/wiki/net/protocol/rtsp.html) 2. rtp与rtcp协议详解(http ...
- IPv4协议学习笔记
IPv4协议学习笔记 网络协议相关标准目录 文章目录 IPv4协议学习笔记 IPv4数据报格式 IPv4 网络头部结构 Version [4 bits]: 协议版本 IHL(Internet Head ...
- TCP协议学习笔记:
TCP协议学习笔记: 网络层的IP协议本身是不可靠的,其可靠性需要上层协议(TCP协议)来保证. 文章目录 TCP协议学习笔记: 协议特点 TCP协议头部结构 TCP连接状态与状态转移 TCP三次握手 ...
- 3gpp协议_NSA组网下SN add/release/delete流程协议学习
NSA组网下SN add/release/delete流程协议学习 如3GPP协议37.340第10章节 一.第10章 10.2 辅节点添加 Secondary Node Addition 辅节点添加 ...
- Python网络编程——HTTP协议学习笔记
HTTP协议学习笔记 HTTP协议概述 一.HTTP协议的介绍 HTTP协议的全称是(HyperText Transfer Protocol),翻译过来就是超文本传输协议. 超文本是超级文本的缩写,是 ...
最新文章
- 相机标定 matlab opencv ROS三种方法标定步骤(2)
- Power Designer的使用
- 高文院士:从“乡村教师”到人工智能掌舵者的40年科研路
- 局域网在线监控设备扫描工具V1.0软件说明
- android个人中心界面_Android 机也能用上你熟悉的浏览器插件,这些浏览器不可错过...
- Arcgis for android 100.4 getFieldType ()
- java date和localdate_Java8 Date与LocalDate互转
- 文件管理器之字符和编码
- mac好用的图片转文字,ocr文字识别工具:Text Scanner
- html打开后繁体字怎么变成规范,对HTML标准的思考 - 记解决H5随机显示简繁体汉字问题...
- vmware虚拟机安装win11系统教程
- 滑铁卢大学计算机科学双录取,林顿学子获滑铁卢大学劳里埃大学双录取Offer!...
- 计算机配置35%卡住不动了,win7配置更新35%不动怎么办
- macbook黑屏_Mac Book突然黑屏开不了机怎么办
- 经济师考了有什么用?
- MATLAB直接输出棋盘格标定板
- java编译报错提示编码gbk的不可映射字符啥意思_解决java编译错误:编码GBK的不可映射字符...
- 陀螺研究院 | 产业区块链发展周报(11.14—11.20)
- 洛谷P2790 ccj与zrz之积木问题 题解
- Java中的集合List - 入门篇
热门文章
- centos7下配置tomcat环境变量
- 电子商务公司赢利点在哪?
- oracle+tuxedo+4c,Tuxedo典型问题.ppt
- 骨传导耳机十大品牌排行榜,骨传导耳机评测,骨传导耳机选购指南
- html设置主图轮播,拼多多怎么设置主图不要轮播?这,都是你想知道的!-奇葩想法...
- @Value Cannot find method ‘value‘(lombok冲突)
- python中令人惊艳的小众数据科学库
- 在win8.1上用3proxy搭建socks4/4.5/5代理
- 编程范式及函数式编程
- Pyhton 第一天学习 基础语句, 图形绘制