akin soysal
unread,Sep 24, 2014, 9:47:16 AM9/24/14Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ns-3-...@googlegroups.com
Hello,
In the main branch, in function LteUePhy::GenerateMixedCqiReport and LteUePhy::GenerateCtrlCqiReport, when calculating RSRQ:
Values::const_iterator itIntN = m_rsInterferencePower.ConstValuesBegin ();
Values::const_iterator itPj = m_rsReceivedPower.ConstValuesBegin ();
for (itPj = m_rsReceivedPower.ConstValuesBegin ();
itPj != m_rsReceivedPower.ConstValuesEnd ();
itIntN++, itPj++)
{
rbNum++;
// convert PSD [W/Hz] to linear power [W] for the single RE
double noisePowerTxW = ((*itIntN) * 180000.0) / 12.0;
double intPowerTxW = ((*itPj) * 180000.0) / 12.0;
std::cout << "int power is " << intPowerTxW << " noise power is " << noisePowerTxW << std::endl;
rsrqSum += (2 * (noisePowerTxW + intPowerTxW));
}
NS_ASSERT (rbNum == (*itPss).nRB);
double rsrq_dB = 10 * log10 ((*itPss).pssPsdSum / rsrqSum);
It seems to me that intPowerTxW should have been computed from *itPj instead of *itIntN and noisePowerTxW should have been calculated from the noisePsd. These two should make up the denominator in RSRQ calculation. And m_rsReceivedPower should not be used for the denominator, since we are already including it in the numerator with (*itPss).pssPsdSum.
Could you please clarify? Thanks in advance.
Best Regards,
Akin