在SimuLTE中获取设备的D2D传输功率

时间:2017-03-13 11:51:06

标签: omnet++

使用simuLTE框架omnet++我正在模拟设备到设备(D2D)传输。

我可以设置通过D2D链接传输的所有设备(ueD2DTx[0]ueD2DRx[0])的传输功率,如下所示:

*.ue*[*].nic.phy.d2dTxPower = 24.14973348 # 10*LOG10(260)

我想以编程方式访问此值。我可以得到一个设备UeInfo,其中包含double txPwr;值,不幸的是0,所以不是我正在寻找的值。

然后我想直接使用

访问参数
double txPwr = par("*.ue*[*].nic.phy.d2dTxPower").doubleValue();

double txPwr = par("*.ueD2DTx[0].nic.phy.d2dTxPower").doubleValue();

但是我收到错误告诉我这个参数不存在。

1 个答案:

答案 0 :(得分:1)

在简单模块的类方法中,只能使用其名称读取参数。因此,您可以在LtePhyUeD2D内使用:

double txPwr = par("d2dTxPower").doubleValue();

如果要从其他模块读取此参数,则必须首先获取指向模块的指针,例如:

cModule *mod= getModuleByPath("<root>.ueD2DTx[0].nic.phy");
double txPwr = mod->par("d2dTxPower").doubleValue();