11#ifndef NR_TEST_UE_MEASUREMENTS_H
12#define NR_TEST_UE_MEASUREMENTS_H
14#include "ns3/nr-rrc-sap.h"
15#include "ns3/nstime.h"
102 void DoRun()
override;
106 double m_rsrpDbmUeServingCell;
107 double m_rsrpDbmUeNeighborCell;
108 double m_rsrqDbUeServingCell;
109 double m_rsrqDbUeNeighborCell;
156 std::vector<Time> expectedTime,
157 std::vector<uint8_t> expectedRsrp);
190 void DoRun()
override;
196 void DoTeardown()
override;
199 void TeleportVeryNear();
205 void TeleportVeryFar();
216 std::vector<Time> m_expectedTime;
222 std::vector<uint8_t> m_expectedRsrp;
228 std::vector<Time>::iterator m_itExpectedTime;
234 std::vector<uint8_t>::iterator m_itExpectedRsrp;
241 uint8_t m_expectedMeasId;
243 Ptr<MobilityModel> m_ueMobility;
291 std::vector<Time> expectedTime,
292 std::vector<uint8_t> expectedRsrp);
325 void DoRun()
override;
331 void DoTeardown()
override;
334 void TeleportVeryNear();
340 void TeleportVeryFar();
351 std::vector<Time> m_expectedTime;
357 std::vector<uint8_t> m_expectedRsrp;
363 std::vector<Time>::iterator m_itExpectedTime;
369 std::vector<uint8_t>::iterator m_itExpectedRsrp;
376 uint8_t m_expectedMeasId;
378 Ptr<MobilityModel> m_ueMobility;
443 std::vector<Time> expectedTime);
476 void DoRun()
override;
482 void DoTeardown()
override;
485 void TeleportGnbNear();
496 std::vector<Time> m_expectedTime;
502 std::vector<Time>::iterator m_itExpectedTime;
509 uint8_t m_expectedMeasId;
511 Ptr<MobilityModel> m_gnbMobility;
560 std::list<NrRrcSap::ReportConfigEutra> sourceConfigList,
561 std::list<NrRrcSap::ReportConfigEutra> targetConfigList,
562 std::vector<Time> expectedTime,
563 std::vector<uint8_t> expectedRsrp,
597 void DoRun()
override;
603 void DoTeardown()
override;
609 std::list<NrRrcSap::ReportConfigEutra> m_sourceConfigList;
615 std::list<NrRrcSap::ReportConfigEutra> m_targetConfigList;
621 std::vector<Time> m_expectedTime;
627 std::vector<uint8_t> m_expectedRsrp;
633 std::vector<Time>::iterator m_itExpectedTime;
639 std::vector<uint8_t>::iterator m_itExpectedRsrp;
651 std::set<uint8_t> m_expectedSourceCellMeasId;
658 std::set<uint8_t> m_expectedTargetCellMeasId;
Testing UE measurements in NR with simulation of 2 eNodeB and 1 UE in a handover configuration.
void RecvMeasurementReportCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, NrRrcSap::MeasurementReport report)
Triggers when either one of the eNodeBs receives measurement report from UE, then perform verificatio...
Test suite for generating calls to UE measurements test case ns3::NrUeMeasurementsHandoverTestCase.
Testing UE measurements in NR with simulation of 1 eNodeB and 1 UE in piecewise configuration and 120...
void RecvMeasurementReportCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, NrRrcSap::MeasurementReport report)
Triggers when eNodeB receives measurement report from UE, then perform verification on it.
Testing UE measurements in NR with simulation of 2 eNodeB and 1 UE in piecewise configuration and 240...
void RecvMeasurementReportCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, NrRrcSap::MeasurementReport report)
Triggers when eNodeB receives measurement report from UE, then perform verification on it.
Testing UE measurements in NR with simulation of 3 eNodeB and 1 UE in piecewise configuration and 240...
void RecvMeasurementReportCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, NrRrcSap::MeasurementReport report)
Triggers when eNodeB receives measurement report from UE, then perform verification on it.
Test suite for generating calls to UE measurements test case ns3::NrUeMeasurementsPiecewiseTestCase1.
Test suite for generating calls to UE measurements test case ns3::NrUeMeasurementsPiecewiseTestCase2.
Test suite for generating calls to UE measurements test case ns3::NrUeMeasurementsPiecewiseTestCase3.
Test that UE measurements calculation works properly in a scenario with 2 eNodeBs and 2UEs....
void RecvMeasurementReport(uint64_t imsi, uint16_t cellId, uint16_t rnti, NrRrcSap::MeasurementReport meas)
void ReportUeMeasurements(uint16_t rnti, uint16_t cellId, double rsrp, double rsrq, bool servingCell)
Test that UE Measurements (see 36.214) calculation works fine in a multi-cell interference scenario.
MeasurementReport structure.
Specifies criteria for triggering of an E-UTRA measurement reporting event.