ns-leach.tcl 分析1

    由leach 分析3可知,一般节点的应用为Application/LEACH。则现在就是如何选择簇头节点和设置门槛值。

我们接下来分析leach 分析4中红色的方法。在leach 分析3中创建一个Application/LEACH对象则就会自动调用start方法。

Application/LEACH instproc start {} {
  [$self mac] set node_num_ [$self nodeID]
  $self decideClusterHead
  $self checkAlive 
}

在这个方法中会调用decideClusterHead和checkAlive方法。


Application/LEACH instproc GoToSleep {} {
  global opt ns_
  $self instvar begin_idle_ begin_sleep_


  [[$self node] set netif_(0)] set sleep_ 1

  # If node has been awake, remove idle energy (e.g., the amount of energy
  # dissipated while the node is in the idle state).  Otherwise, the node
  # has been asleep and must remove sleep energy (e.g., the amount of
  # energy dissipated while the node is in the sleep state).
  if {$begin_idle_ > $begin_sleep_} {
    set idle_energy [expr $opt(Pidle) * [expr [$ns_ now] - $begin_idle_]]
    [$self getER] remove $idle_energy
  } else {
    set sleep_energy [expr $opt(Psleep) * [expr [$ns_ now] - $begin_sleep_]]
    [$self getER] remove $sleep_energy
  }
  set begin_sleep_ [$ns_ now]
  set begin_idle_ 0
}


 

阅读更多
个人分类: ns
想对作者说点什么? 我来说一句

ns-leach.tcl详细注解

2012年08月17日 27KB 下载

LR(1)语法分析表生成

2013年05月01日 34KB 下载

没有更多推荐了,返回首页

不良信息举报

ns-leach.tcl 分析1

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭