使用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();
但是我收到错误告诉我这个参数不存在。
答案 0 :(得分:1)
在简单模块的类方法中,只能使用其名称读取参数。因此,您可以在LtePhyUeD2D
内使用:
double txPwr = par("d2dTxPower").doubleValue();
如果要从其他模块读取此参数,则必须首先获取指向模块的指针,例如:
cModule *mod= getModuleByPath("<root>.ueD2DTx[0].nic.phy");
double txPwr = mod->par("d2dTxPower").doubleValue();