|
|
| 1384 |
{ |
1384 |
{ |
| 1385 |
// take the lowest CQI value (worst RB) |
1385 |
// take the lowest CQI value (worst RB) |
| 1386 |
double minSinr = (*itCqi).second.at (uldci.m_rbStart); |
1386 |
double minSinr = (*itCqi).second.at (uldci.m_rbStart); |
|
|
1387 |
if (minSinr == NO_SINR) |
| 1388 |
{ |
| 1389 |
minSinr = EstimateUlSinr ((*it).first, uldci.m_rbStart); |
| 1390 |
} |
| 1387 |
for (uint16_t i = uldci.m_rbStart; i < uldci.m_rbStart + uldci.m_rbLen; i++) |
1391 |
for (uint16_t i = uldci.m_rbStart; i < uldci.m_rbStart + uldci.m_rbLen; i++) |
| 1388 |
{ |
1392 |
{ |
| 1389 |
if ((*itCqi).second.at (i) < minSinr) |
1393 |
double sinr = (*itCqi).second.at (i); |
|
|
1394 |
if (sinr == NO_SINR) |
| 1390 |
{ |
1395 |
{ |
| 1391 |
minSinr = (*itCqi).second.at (i); |
1396 |
sinr = EstimateUlSinr ((*it).first, i); |
|
|
1397 |
} |
| 1398 |
if (sinr < minSinr) |
| 1399 |
{ |
| 1400 |
minSinr = sinr; |
| 1392 |
} |
1401 |
} |
| 1393 |
} |
1402 |
} |
| 1394 |
// translate SINR -> cqi: WILD ACK: same as DL |
1403 |
// translate SINR -> cqi: WILD ACK: same as DL |