5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
NrUeMeasurementsHandoverTestCase Class Reference

Testing UE measurements in NR with simulation of 2 eNodeB and 1 UE in a handover configuration. More...

#include "nr-test-ue-measurements.h"

+ Inheritance diagram for NrUeMeasurementsHandoverTestCase:
+ Collaboration diagram for NrUeMeasurementsHandoverTestCase:

Public Member Functions

 NrUeMeasurementsHandoverTestCase (std::string name, std::list< NrRrcSap::ReportConfigEutra > sourceConfigList, std::list< NrRrcSap::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, NrRrcSap::MeasurementReport report)
 Triggers when either one of the eNodeBs receives measurement report from UE, then perform verification on it.
 

Detailed Description

Testing UE measurements in NR with simulation of 2 eNodeB and 1 UE in a handover configuration.

The simulation will run for the specified duration, while the handover command will be issued exactly at the middle of simulation. Handover test covers four different scenarios: switch from event A1 to event A2, from event A2 to event A1, from event A3 to event A4, from event A4 to event A3, from event A2 to event A3, from event A3 to event A2, from event A4 to event A5, from event A5 to event A4. Additionally, it tests different handover threshold configurations, A2 threshold difference, A3 offset difference, A4 and A5 threshold difference. Finally, different handover is tested for different time-to-trigger (TTT) configurations.

Definition at line 546 of file nr-test-ue-measurements.h.

Constructor & Destructor Documentation

◆ NrUeMeasurementsHandoverTestCase()

NrUeMeasurementsHandoverTestCase::NrUeMeasurementsHandoverTestCase ( std::string  name,
std::list< NrRrcSap::ReportConfigEutra sourceConfigList,
std::list< NrRrcSap::ReportConfigEutra targetConfigList,
std::vector< Time >  expectedTime,
std::vector< uint8_t >  expectedRsrp,
Time  duration 
)

Constructor

Parameters
namethe reference name
sourceConfigListstd::list<NrRrcSap::ReportConfigEutra>
targetConfigListstd::list<NrRrcSap::ReportConfigEutra>
expectedTimethe expected time
expectedRsrpthe expected RSRP
durationthe duration

Definition at line 2290 of file nr-test-ue-measurements.cc.

◆ ~NrUeMeasurementsHandoverTestCase()

NrUeMeasurementsHandoverTestCase::~NrUeMeasurementsHandoverTestCase ( )
override

Definition at line 2318 of file nr-test-ue-measurements.cc.

Member Function Documentation

◆ RecvMeasurementReportCallback()

void NrUeMeasurementsHandoverTestCase::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 verification on it.

The trigger is set up beforehand by connecting to the NrUeRrc::RecvMeasurementReport trace source.

Verification consists of checking whether the report carries the right value of RSRP or not, and whether it occurs at the expected time or not.

Parameters
contextthe context
imsithe IMSI
cellIdthe cell ID
rntithe RNTI
reportNrRrcSap::MeasurementReport

Definition at line 2468 of file nr-test-ue-measurements.cc.

References ns3::NrRrcSap::MeasResults::haveMeasResultNeighCells, ns3::NrRrcSap::MeasResults::measId, ns3::NrRrcSap::MeasResults::measResultListEutra, ns3::NrRrcSap::MeasResults::measResultPCell, ns3::NrRrcSap::MeasurementReport::measResults, ns3::nr::EutranMeasurementMapping::RsrpRange2Dbm(), ns3::NrRrcSap::MeasResultPCell::rsrpResult, ns3::nr::EutranMeasurementMapping::RsrqRange2Db(), and ns3::NrRrcSap::MeasResultPCell::rsrqResult.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: