leach分析1

原创 2012年03月22日 09:13:54

        首先对wireless.tcl进行分析,先对默认的脚本选项进行初始化:

set opt(chan)Channel/WirelessChannel
set opt(prop) Propagation/TwoRayGround
set opt(netif)Phy/WirelessPhy
set opt(mac) Mac/802_11
set opt(ifq) Queue/DropTail/PriQueue
set opt(ll) LL
set opt(ant)          Antenna/OmniAntenna
set opt(x) 0      ;# X dimension of the topography
set opt(y) 0 ;# Y dimension of the topography
set opt(cp) ""
set opt(sc) "../mobility/scene/scen-670x670-50-600-20-2" ;# scenario file

set opt(ifqlen)50;# max packet in if
set opt(nn) 51 ;# number of nodes
set opt(seed) 0.0
set opt(stop) 10.0 ;# simulation time
set opt(tr) out.tr ;# trace file
set opt(rp)            dsdv            ;# routing protocol script
set opt(lm)        "on"           ;# log movement

在这个wireless.tcl中设置了一些全局变量:

#
# Initialize Global Variables
#
set ns_ [new Simulator]
set chan         [new $opt(chan)]
set prop         [new $opt(prop)]
set topo         [new Topography]
set tracefd [open $opt(tr) w]
$topo load_flatgrid $opt(x) $opt(y)
$prop topography $topo

这些初始化将在后面的使用中用到,该文件最重要的是创建leach节点:创建方法如下:

} elseif { [string compare $opt(rp) "leach"] == 0} { 
for {set i 0} {$i < $opt(nn) } {incr i} {
leach-create-mobile-node $i
}

如果路由协议是leach协议,则在Uamps.tcl中调用leach-create-mobile-node方法创建leach节点。将在第二小节讲如何创建leach节点。

for {set i 0} {$i < $opt(nn) } {incr i} {
   
    $ns_ at $opt(stop).000000001 "$node_($i) reset"; //完成后,重置节点的应用
}
$ns_ at $opt(stop).00000001 "puts \"NS EXITING...\" ; $ns_ halt"
if { $opt(sc) == "" } {
puts "*** NOTE: no scenario file specified."
        set opt(sc) "none"
} else {
puts "Loading scenario file..."
source $opt(sc)
puts "Load complete..."
}

ns在什么时候结束simulation,并告诉ns加载sc场景文件。

最后$ns_  run则ns就开始运行了。 

ns2下LEACH协议的一个简单仿真测试

默认分类 2010-09-1621:30:33 阅读74 评论0   字号:大中小 订阅 安装好了LEACH协议,运行./test后生成许多文件,结果文档在mit/leach_sims文件夹下,分别为...
  • tianshide851049708
  • tianshide851049708
  • 2014年03月02日 22:55
  • 993

LEACH&LEACH-C 仿真分析(2)

转自 王子 空间 http://272387537.qzone.qq.com/        网上太多介绍LEACH仿真的步骤,也出现了很多LEACH和LEACH-C的节点死亡趋势图的对比!把LEAC...
  • xinxiuz
  • xinxiuz
  • 2010年03月10日 14:22
  • 2528

ns2下leach和leach-c协议不同基站位置仿真比较

二、探究leach和leach-c基站位置对无线传感器网络性能的影响 1.基站位置bs_x=50,bs_y=175,簇首个数num_clusters=4 2.基站位置bs_x=0,bs_y=0,簇...
  • bbs375
  • bbs375
  • 2016年07月23日 16:57
  • 600

Ubuntu14.04下NS2.35安装,以及LEACH协议安装

mit2.35完美版资源
  • lcpk0411
  • lcpk0411
  • 2014年11月02日 03:36
  • 2356

LEACH协议代码的两个BUG

1、能量消耗的问题.LEACH协议运行完后,有个记录节点能量的文件,最后节点的总消耗超过了我们最初设定的2J能量,这个是因为checkalive过程中对死亡的节点只是设置标志,移出信道,但并没有终止其...
  • xinxiuz
  • xinxiuz
  • 2010年03月10日 14:33
  • 1569

leach和leach-c协议仿真

1.复制leach_test为leach-c_test,修改里面的文件夹和输出文件名。并且手动建立相应的文件夹。 很多教程说只修改文件名,没提到修改文件夹,如果同时运行两个协议会覆盖一部分实验结果的...
  • tianshide851049708
  • tianshide851049708
  • 2014年03月30日 19:49
  • 823

Leach协议改进

References: http://www-mtl.mit.edu/~anantha/docs/journals/2002_heinzelman_twn.pdf http://mtlweb.mi...
  • norbert_jxl
  • norbert_jxl
  • 2014年05月14日 01:06
  • 1066

leach协议在NS2.34上的安装移植

在开始安装leach前,最好先备份下ns。这是一个好习惯。 首先先下载LEACH协议源码2.27,然后在LEACH协议源码2.27中找到mit.tar.gz. 在ns中的ns-2.35目录下新建一个文...
  • tianshide851049708
  • tianshide851049708
  • 2014年03月02日 18:22
  • 1266

NS2运行LEACH,tcl文件的bug调试

在上一篇文章中,我发布了一个mit.tar.gz的
  • lcpk0411
  • lcpk0411
  • 2014年11月03日 14:56
  • 1539

UBuntu 12.10 + NS2.34下leach协议添加

在NS2.34下添加leach协议花了太多时间,总结了各路大神发的帖子,终于安装成功了,特此分享,希望各位少走弯路。 NS2.34安装准备工作 sudo apt-g...
  • fusionzhang
  • fusionzhang
  • 2014年06月25日 16:09
  • 401
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leach分析1
举报原因:
原因补充:

(最多只允许输入30个字)