diff --git a/src/lte/model/lte-ue-rrc.cc b/src/lte/model/lte-ue-rrc.cc index 3086a89d6..1b2b3a473 100644 --- a/src/lte/model/lte-ue-rrc.cc +++ b/src/lte/model/lte-ue-rrc.cc @@ -1190,6 +1190,7 @@ LteUeRrc::SynchronizeToStrongestCell () uint16_t maxRsrpCellId = 0; double maxRsrp = -std::numeric_limits::infinity (); + double minRsrp = -140.0; // Minimum RSRP in dBm a UE can report std::map::iterator it; for (it = m_storedMeasValues.begin (); it != m_storedMeasValues.end (); it++) @@ -1198,7 +1199,7 @@ LteUeRrc::SynchronizeToStrongestCell () * This block attempts to find a cell with strongest RSRP and has not * yet been identified as "acceptable cell". */ - if (maxRsrp < it->second.rsrp) + if (maxRsrp < it->second.rsrp && it->second.rsrp > minRsrp) { std::set::const_iterator itCell; itCell = m_acceptableCell.find (it->first);