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

Handover algorithm implementation based on RSRQ measurements, Event A2 and Event A4. More...

#include "nr-a2-a4-rsrq-handover-algorithm.h"

+ Inheritance diagram for ns3::NrA2A4RsrqHandoverAlgorithm:
+ Collaboration diagram for ns3::NrA2A4RsrqHandoverAlgorithm:

Public Member Functions

 NrA2A4RsrqHandoverAlgorithm ()
 Creates an A2-A4-RSRQ handover algorithm instance.
 
NrHandoverManagementSapProviderGetNrHandoverManagementSapProvider () override
 Export the "provider" part of the Handover Management SAP interface.
 
void SetNrHandoverManagementSapUser (NrHandoverManagementSapUser *s) override
 Set the "user" part of the Handover Management SAP interface that this handover algorithm instance will interact with.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::NrHandoverAlgorithm
static TypeId GetTypeId ()
 Get the type ID.
 

Protected Member Functions

void DoDispose () override
 
void DoInitialize () override
 
void DoReportUeMeas (uint16_t rnti, NrRrcSap::MeasResults measResults) override
 Implementation of NrHandoverManagementSapProvider::ReportUeMeas.
 
- Protected Member Functions inherited from ns3::NrHandoverAlgorithm
void DoDispose () override
 

Friends

class MemberNrHandoverManagementSapProvider< NrA2A4RsrqHandoverAlgorithm >
 let the forwarder class access the protected and private members
 

Detailed Description

Handover algorithm implementation based on RSRQ measurements, Event A2 and Event A4.

Handover decision made by this algorithm is primarily based on Event A2 measurements (serving cell's RSRQ becomes worse than threshold). When the event is triggered, the first condition of handover is fulfilled.

Event A4 measurements (neighbour cell's RSRQ becomes better than threshold) are used to detect neighbouring cells and their respective RSRQ. When a neighbouring cell's RSRQ is higher than the serving cell's RSRQ by a certain offset, then the second condition of handover is fulfilled.

When the first and second conditions above are fulfilled, the algorithm informs the eNodeB RRC to trigger a handover.

The threshold for Event A2 can be configured in the ServingCellThreshold attribute. The offset used in the second condition can also be configured by setting the NeighbourCellOffset attribute.

The following code snippet is an example of using and configuring the handover algorithm in a simulation program:

Ptr<NrHelper> nrHelper = CreateObject<NrHelper> ();

NodeContainer gnbNodes;
// configure the nodes here...

nrHelper->SetHandoverAlgorithmType ("ns3::NrA2A4RsrqHandoverAlgorithm");
nrHelper->SetHandoverAlgorithmAttribute ("ServingCellThreshold",
                                          UintegerValue (30));
nrHelper->SetHandoverAlgorithmAttribute ("NeighbourCellOffset",
                                          UintegerValue (1));
NetDeviceContainer nrGnbDevs = nrHelper->InstallGnbDevice (gnbNodes);
Note
Setting the handover algorithm type and attributes after the call to NrHelper::InstallGnbDevice does not have any effect to the devices that have already been installed.

Introspection did not find any typical Config paths.

Attributes

  • ServingCellThreshold: If the RSRQ of the serving cell is worse than this threshold, neighbour cells are consider for handover. Expressed in quantized range of [0..34] as per Section 9.1.7 of 3GPP TS 36.133.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:34
    • Initial value: 30
    • Flags: construct write read
  • NeighbourCellOffset: Minimum offset between the serving and the best neighbour cell to trigger the handover. Expressed in quantized range of [0..34] as per Section 9.1.7 of 3GPP TS 36.133.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 1
    • Flags: construct write read

No TraceSources are defined for this type.
Size of this type is 176 bytes (on a 64-bit architecture).

Definition at line 68 of file nr-a2-a4-rsrq-handover-algorithm.h.

Constructor & Destructor Documentation

◆ NrA2A4RsrqHandoverAlgorithm()

ns3::NrA2A4RsrqHandoverAlgorithm::NrA2A4RsrqHandoverAlgorithm ( )

Creates an A2-A4-RSRQ handover algorithm instance.

Definition at line 32 of file nr-a2-a4-rsrq-handover-algorithm.cc.

References MemberNrHandoverManagementSapProvider< NrA2A4RsrqHandoverAlgorithm >.

◆ ~NrA2A4RsrqHandoverAlgorithm()

ns3::NrA2A4RsrqHandoverAlgorithm::~NrA2A4RsrqHandoverAlgorithm ( )
override

Definition at line 42 of file nr-a2-a4-rsrq-handover-algorithm.cc.

Member Function Documentation

◆ DoDispose()

void ns3::NrA2A4RsrqHandoverAlgorithm::DoDispose ( )
overrideprotected

Definition at line 117 of file nr-a2-a4-rsrq-handover-algorithm.cc.

◆ DoInitialize()

void ns3::NrA2A4RsrqHandoverAlgorithm::DoInitialize ( )
overrideprotected

Definition at line 89 of file nr-a2-a4-rsrq-handover-algorithm.cc.

◆ DoReportUeMeas()

void ns3::NrA2A4RsrqHandoverAlgorithm::DoReportUeMeas ( uint16_t  rnti,
NrRrcSap::MeasResults  measResults 
)
overrideprotectedvirtual

Implementation of NrHandoverManagementSapProvider::ReportUeMeas.

Parameters
rntiRadio Network Temporary Identity, an integer identifying the UE where the report originates from
measResultsa single report of one measurement identity

Implements ns3::NrHandoverAlgorithm.

Definition at line 124 of file nr-a2-a4-rsrq-handover-algorithm.cc.

References ns3::NrRrcSap::MeasResults::haveMeasResultNeighCells, ns3::NrRrcSap::MeasResults::measId, ns3::NrRrcSap::MeasResults::measResultListEutra, ns3::NrRrcSap::MeasResults::measResultPCell, and ns3::NrRrcSap::MeasResultPCell::rsrqResult.

◆ GetNrHandoverManagementSapProvider()

NrHandoverManagementSapProvider * ns3::NrA2A4RsrqHandoverAlgorithm::GetNrHandoverManagementSapProvider ( )
overridevirtual

Export the "provider" part of the Handover Management SAP interface.

Returns
the reference to the "provider" part of the interface, typically to be kept by an NrGnbRrc instance

Implements ns3::NrHandoverAlgorithm.

Definition at line 82 of file nr-a2-a4-rsrq-handover-algorithm.cc.

◆ GetTypeId()

TypeId ns3::NrA2A4RsrqHandoverAlgorithm::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 48 of file nr-a2-a4-rsrq-handover-algorithm.cc.

◆ SetNrHandoverManagementSapUser()

void ns3::NrA2A4RsrqHandoverAlgorithm::SetNrHandoverManagementSapUser ( NrHandoverManagementSapUser s)
overridevirtual

Set the "user" part of the Handover Management SAP interface that this handover algorithm instance will interact with.

Parameters
sa reference to the "user" part of the interface, typically a member of an NrGnbRrc instance

Implements ns3::NrHandoverAlgorithm.

Definition at line 75 of file nr-a2-a4-rsrq-handover-algorithm.cc.

Friends And Related Symbol Documentation

◆ MemberNrHandoverManagementSapProvider< NrA2A4RsrqHandoverAlgorithm >

let the forwarder class access the protected and private members

Definition at line 84 of file nr-a2-a4-rsrq-handover-algorithm.h.

Referenced by NrA2A4RsrqHandoverAlgorithm().


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