25 #ifndef LTE_TEST_UE_MEASUREMENTS_H
26 #define LTE_TEST_UE_MEASUREMENTS_H
29 #include <ns3/lte-rrc-sap.h>
30 #include <ns3/nstime.h>
58 LteUeMeasurementsTestCase (std::string name,
double d1,
double d2,
double rsrpDbmUe1,
double rsrpDbmUe2,
double rsrqDbUe1,
double rsrqDbUe2);
61 void ReportUeMeasurements (uint16_t rnti, uint16_t cellId,
double rsrp,
double rsrq,
bool servingCell);
66 virtual void DoRun (
void);
102 std::vector<Time> expectedTime,
103 std::vector<uint8_t> expectedRsrp);
118 uint16_t cellId, uint16_t rnti,
128 virtual void DoRun ();
206 std::vector<Time> expectedTime,
207 std::vector<uint8_t> expectedRsrp);
222 uint16_t cellId, uint16_t rnti,
232 virtual void DoRun ();
312 std::list<LteRrcSap::ReportConfigEutra> sourceConfigList,
313 std::list<LteRrcSap::ReportConfigEutra> targetConfigList,
314 std::vector<Time> expectedTime,
315 std::vector<uint8_t> expectedRsrp,
331 uint16_t cellId, uint16_t rnti,
341 virtual void DoRun ();
std::list< LteRrcSap::ReportConfigEutra > m_sourceConfigList
The list of active report triggering configuration for the source eNodeB.
virtual void DoRun()
Setup the simulation with the intended UE measurement reporting configuration, run it...
keep track of time values and allow control of global simulation resolution
Testing UE measurements in LTE with simulation of 2 eNodeB and 1 UE in a handover configuration...
LteUeMeasurementsHandoverTestCase(std::string name, std::list< LteRrcSap::ReportConfigEutra > sourceConfigList, std::list< LteRrcSap::ReportConfigEutra > targetConfigList, std::vector< Time > expectedTime, std::vector< uint8_t > expectedRsrp, Time duration)
void RecvMeasurementReportCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, LteRrcSap::MeasurementReport report)
Triggers when eNodeB receives measurement report from UE, then perform verification on it...
double m_rsrpDbmUeServingCell
std::vector< Time >::iterator m_itExpectedTime
Pointer to the element of m_expectedTime which is expected to occur next in the simulation.
LteUeMeasurementsPiecewiseTestSuite2()
Specifies criteria for triggering of an E-UTRA measurement reporting event.
std::vector< uint8_t > m_expectedRsrp
The list of expected values of RSRP (in 3GPP range unit) from the measurement reports received...
Test that UE Measurements (see 36.214) calculation works fine in a multi-cell interference scenario...
void RecvMeasurementReportCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, LteRrcSap::MeasurementReport report)
Triggers when eNodeB receives measurement report from UE, then perform verification on it...
virtual ~LteUeMeasurementsPiecewiseTestCase2()
std::vector< uint8_t > m_expectedRsrp
The list of expected values of RSRP (in 3GPP range unit) from the measurement reports received...
std::set< uint8_t > m_expectedSourceCellMeasId
The list of measurement identities being tested in the source cell.
uint8_t m_expectedMeasId
The measurement identity being tested.
std::vector< Time > m_expectedTime
The list of expected time when measurement reports are received by eNodeB.
virtual ~LteUeMeasurementsHandoverTestCase()
std::vector< Time >::iterator m_itExpectedTime
Pointer to the element of m_expectedTime which is expected to occur next in the simulation.
virtual void DoTeardown()
Runs at the end of the simulation, verifying that all expected measurement reports have been examined...
double m_rsrqDbUeServingCell
std::vector< uint8_t >::iterator m_itExpectedRsrp
Pointer to the element of m_expectedRsrp which is expected to occur next in the simulation.
LteUeMeasurementsHandoverTestSuite()
virtual void DoRun()
Setup the simulation with the intended UE measurement reporting configuration, run it...
double m_rsrpDbmUeNeighborCell
LteRrcSap::ReportConfigEutra m_config
The active report triggering configuration.
Ptr< MobilityModel > m_ueMobility
std::vector< uint8_t > m_expectedRsrp
The list of expected values of RSRP (in 3GPP range unit) from the measurement reports received...
std::list< LteRrcSap::ReportConfigEutra > m_targetConfigList
The list of active report triggering configuration for the target eNodeB.
LteUeMeasurementsPiecewiseTestSuite1()
void ReportUeMeasurements(uint16_t rnti, uint16_t cellId, double rsrp, double rsrq, bool servingCell)
void RecvMeasurementReportCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, LteRrcSap::MeasurementReport report)
Triggers when either one of the eNodeBs receives measurement report from UE, then perform verificatio...
std::vector< Time >::iterator m_itExpectedTime
Pointer to the element of m_expectedTime which is expected to occur next in the simulation.
virtual void DoTeardown()
Runs at the end of the simulation, verifying that all expected measurement reports have been examined...
Testing UE measurements in LTE with simulation of 2 eNodeB and 1 UE in piecewise configuration and 24...
Test suite for generating calls to UE measurements test case ns3::LteUeMeasurementsPiecewiseTestCase2...
LteRrcSap::ReportConfigEutra m_config
The active report triggering configuration.
uint8_t m_expectedMeasId
The measurement identity being tested.
std::set< uint8_t > m_expectedTargetCellMeasId
The list of measurement identities being tested in the target cell.
LteUeMeasurementsPiecewiseTestCase1(std::string name, LteRrcSap::ReportConfigEutra config, std::vector< Time > expectedTime, std::vector< uint8_t > expectedRsrp)
LteUeMeasurementsTestSuite()
Time m_duration
Duration of simulation.
LteUeMeasurementsTestCase(std::string name, double d1, double d2, double rsrpDbmUe1, double rsrpDbmUe2, double rsrqDbUe1, double rsrqDbUe2)
double m_rsrqDbUeNeighborCell
Testing UE measurements in LTE with simulation of 1 eNodeB and 1 UE in piecewise configuration and 12...
Test suite for generating calls to UE measurements test case ns3::LteUeMeasurementsPiecewiseTestCase1...
virtual void DoRun()
Setup the simulation with the intended UE measurement reporting configuration, run it...
std::vector< uint8_t >::iterator m_itExpectedRsrp
Pointer to the element of m_expectedRsrp which is expected to occur next in the simulation.
std::vector< Time > m_expectedTime
The list of expected time when measurement reports are received by eNodeB.
Ptr< MobilityModel > m_ueMobility
virtual ~LteUeMeasurementsPiecewiseTestCase1()
virtual void DoRun(void)
Implementation to actually run this TestCase.
void RecvMeasurementReport(uint64_t imsi, uint16_t cellId, uint16_t rnti, LteRrcSap::MeasurementReport meas)
Test suite for generating calls to UE measurements test case ns3::LteUeMeasurementsHandoverTestCase.
virtual ~LteUeMeasurementsTestCase()
LteUeMeasurementsPiecewiseTestCase2(std::string name, LteRrcSap::ReportConfigEutra config, std::vector< Time > expectedTime, std::vector< uint8_t > expectedRsrp)
std::vector< uint8_t >::iterator m_itExpectedRsrp
Pointer to the element of m_expectedRsrp which is expected to occur next in the simulation.
virtual void DoTeardown()
Runs at the end of the simulation, verifying that all expected measurement reports have been examined...
std::vector< Time > m_expectedTime
The list of expected time when measurement reports are received by eNodeB.