我使用omnet++的simuLTE框架来模拟设备到设备(D2D)传输。
我可以像这样设置通过D2D链路传输的所有设备(ueD2DTx[0]和ueD2DRx[0])的传输功率:
*.ue*[*].nic.phy.d2dTxPower = 24.14973348 # 10*LOG10(260)我想以编程方式访问此值。我可以得到一个包含double txPwr;值的设备的UeInfo,不幸的是,它是0,所以不是我想要的值。
然后,我想使用以下命令直接访问参数
double txPwr = par("*.ue*[*].nic.phy.d2dTxPower").doubleValue();或
double txPwr = par("*.ueD2DTx[0].nic.phy.d2dTxPower").doubleValue();但是我得到一个错误,告诉我这个参数不存在。
发布于 2017-03-13 20:49:34
在一个简单模块的类的方法中,我们可以只使用它的名字来读取参数。因此,在LtePhyUeD2D中,您可以使用:
double txPwr = par("d2dTxPower").doubleValue();如果您想从另一个模块读取此参数,则必须先获取指向该模块的指针,例如:
cModule *mod= getModuleByPath("<root>.ueD2DTx[0].nic.phy");
double txPwr = mod->par("d2dTxPower").doubleValue();https://stackoverflow.com/questions/42762968
复制相似问题