2017-03-13 19 views
0

使用simuLTE框架爲omnet++我正在模擬設備到設備(D2D)傳輸。在SimuLTE中獲取設備的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

在一個簡單模塊的類的方法裏面,只能使用它的名字讀取參數。因此裏面LtePhyUeD2D你可以使用:

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

如果你想從另一個模塊讀取這個參數,你必須首先獲得一個指向模塊,例如:

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