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

Testing UE measurements in NR with simulation of 1 eNodeB and 1 UE in piecewise configuration and 120 ms report interval. During the simulation the placement of UE is being changed several times. Four different cases are considered: UE is very near to eNodeB, UE is near to eNodeB, UE is far from eNodeB and UE is very far from eNodeB. Test checks if the measurements correspond to the real conditions of the UE, i.e. when the signal from serving cell becomes weak, the measurements should also start to correspond to the new channel conditions. Additionally, it is checked if UE detects some neighboring signal, if it does the test fails because there is no neighbor in this configuration. Also, test checks if the reporting occurs at intervals that it should according to the measurements configuration. If it occurs in some different time stamp the test will fail. More...

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

+ Inheritance diagram for NrUeMeasurementsPiecewiseTestCase1:
+ Collaboration diagram for NrUeMeasurementsPiecewiseTestCase1:

Public Member Functions

 NrUeMeasurementsPiecewiseTestCase1 (std::string name, NrRrcSap::ReportConfigEutra config, std::vector< Time > expectedTime, std::vector< uint8_t > expectedRsrp)
 
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.
 

Detailed Description

Testing UE measurements in NR with simulation of 1 eNodeB and 1 UE in piecewise configuration and 120 ms report interval. During the simulation the placement of UE is being changed several times. Four different cases are considered: UE is very near to eNodeB, UE is near to eNodeB, UE is far from eNodeB and UE is very far from eNodeB. Test checks if the measurements correspond to the real conditions of the UE, i.e. when the signal from serving cell becomes weak, the measurements should also start to correspond to the new channel conditions. Additionally, it is checked if UE detects some neighboring signal, if it does the test fails because there is no neighbor in this configuration. Also, test checks if the reporting occurs at intervals that it should according to the measurements configuration. If it occurs in some different time stamp the test will fail.

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

Constructor & Destructor Documentation

◆ NrUeMeasurementsPiecewiseTestCase1()

NrUeMeasurementsPiecewiseTestCase1::NrUeMeasurementsPiecewiseTestCase1 ( std::string  name,
NrRrcSap::ReportConfigEutra  config,
std::vector< Time >  expectedTime,
std::vector< uint8_t >  expectedRsrp 
)

Constructor

Parameters
namethe reference name
configNrRrcSap::ReportConfigEutra
expectedTimethe expected time
expectedRsrpthe expected RSRP

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

◆ ~NrUeMeasurementsPiecewiseTestCase1()

NrUeMeasurementsPiecewiseTestCase1::~NrUeMeasurementsPiecewiseTestCase1 ( )
override

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

Member Function Documentation

◆ RecvMeasurementReportCallback()

void NrUeMeasurementsPiecewiseTestCase1::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.

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 865 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: