首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在unetstack中实现水下网络的能量模型?

如何在unetstack中实现水下网络的能量模型?
EN

Stack Overflow用户
提问于 2019-06-07 12:04:26
回答 1查看 137关注 0票数 2

我想在unetstack中实现能量模型,我知道它的理论,但不知道如何在unetstack中实现它,因为我还在学习它。请提供其中涉及的步骤。基本的代码框架也会很有帮助。

期望输出:我期望每个节点在发送/接收数据包后,打印出剩余的能量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-09 22:49:16

跟踪能量最自然的地方是在物理(phy)代理中。假设您在UnetSim中使用HalfDuplexModem phy,我将对其进行子类化,并通过覆盖send()方法监视TxFrameNtfRxFrameNtf。然后我会添加相关的energy属性来跟踪能源使用情况。

Groovy代码示例:

代码语言:javascript
复制
import org.arl.fjage.Message
import org.arl.unet.sim.HalfDuplexModem

class MyHalfDuplexModem extends HalfDuplexModem {

  float energy = 1000   // change to whatever initial energy your node has

  @Override
  boolean send(Message m) {
    if (m instanceof TxFrameNtf) energy -= 10  // change according to your model
    if (m instanceof RxFrameNtf) energy -= 1   // change according to your model
    return super.send(m)
  }

}

最后,在模拟DSL中,您可以使用自定义版本替换默认的HalfDuplexModem

代码语言:javascript
复制
modem.model = MyHalfDuplexModem
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56487808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档