首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何改变Inet 4.2中的传输功率

如何改变Inet 4.2中的传输功率
EN

Stack Overflow用户
提问于 2021-09-03 05:32:47
回答 1查看 135关注 0票数 1

如何改变Inet 4.2中无线节点的传输功率?应更改Inet的哪些类和函数代码?例如,我希望在模拟时间内动态增加0.1mW /秒的传输功率,如下所示:

  • In模拟启动时间2mW
  • 在第1秒仿真时间,2.1mW (当仿真time=1那么节点的TX功率应该是2.1 mW)
  • 在第2秒仿真时间,2.2mW
  • 等等,

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-08 10:50:32

当然,你可以动态地改变你想要的传输功率。

在你的.CC里

首先,找到您的发射机并正确地介绍它的名称,得到它的指针如下:

代码语言:javascript
复制
cModule * transmitter = getParentModule()->getSubmodule("ieee80211Nic2")->getSubmodule("radio")->getSubmodule("transmitter");
flatTransmitter = const_cast<FlatTransmitterBase *>(check_and_cast<const FlatTransmitterBase *>(transmitter));

(根据发送器的放置位置移除或添加getParentModule )

从dB到W的功率传输转换:

代码语言:javascript
复制
pt_w = pow(10.0, pt_dbm/10)/1000;

使用FlatTransmitter对象更改传输功率:

代码语言:javascript
复制
flatTransmitter->setPower(W(pt_w));

在你的.H里

代码语言:javascript
复制
double pt_dbm;

double pt_w;

不要忘记在.cc和.h中都包含FlatTransmitterBase.h头:

代码语言:javascript
复制
#include "inet/physicallayer/base/packetlevel/FlatTransmitterBase.h"

请注意,如果您的OMNeT++版本不同,则此过程可能有所不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69039949

复制
相关文章

相似问题

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