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

Implementation of the strongest cell handover algorithm, based on RSRP measurements and Event A3. More...

#include "nr-a3-rsrp-handover-algorithm.h"

+ Inheritance diagram for ns3::NrA3RsrpHandoverAlgorithm:
+ Collaboration diagram for ns3::NrA3RsrpHandoverAlgorithm:

Public Member Functions

 NrA3RsrpHandoverAlgorithm ()
 Creates a strongest cell 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< NrA3RsrpHandoverAlgorithm >
 let the forwarder class access the protected and private members
 

Detailed Description

Implementation of the strongest cell handover algorithm, based on RSRP measurements and Event A3.

The algorithm utilizes Event A3 (Section 5.5.4.4 of 3GPP TS 36.331) UE measurements and the Reference Signal Reference Power (RSRP). It is defined as the event when the UE perceives that a neighbour cell's RSRP is better than the serving cell's RSRP.

Handover margin (a.k.a. hysteresis) and time-to-trigger (TTT) can be configured to delay the event triggering. The values of these parameters apply to all attached UEs.

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::NrA3RsrpHandoverAlgorithm");
nrHelper->SetHandoverAlgorithmAttribute ("Hysteresis",
                                          DoubleValue (3.0));
nrHelper->SetHandoverAlgorithmAttribute ("TimeToTrigger",
                                          TimeValue (MilliSeconds (256)));
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

  • Hysteresis: Handover margin (hysteresis) in dB (rounded to the nearest multiple of 0.5 dB)
    • Set with class: ns3::DoubleValue
    • Underlying type: uint8_t 0:15
    • Initial value: 3
    • Flags: construct write read
  • TimeToTrigger: Time during which neighbour cell's RSRP must continuously higher than serving cell's RSRP in order to trigger a handover
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2.56e+08ns
    • Flags: construct write read

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

Definition at line 51 of file nr-a3-rsrp-handover-algorithm.h.

Constructor & Destructor Documentation

◆ NrA3RsrpHandoverAlgorithm()

ns3::NrA3RsrpHandoverAlgorithm::NrA3RsrpHandoverAlgorithm ( )

Creates a strongest cell handover algorithm instance.

Definition at line 24 of file nr-a3-rsrp-handover-algorithm.cc.

References MemberNrHandoverManagementSapProvider< NrA3RsrpHandoverAlgorithm >.

◆ ~NrA3RsrpHandoverAlgorithm()

ns3::NrA3RsrpHandoverAlgorithm::~NrA3RsrpHandoverAlgorithm ( )
override

Definition at line 32 of file nr-a3-rsrp-handover-algorithm.cc.

Member Function Documentation

◆ DoDispose()

void ns3::NrA3RsrpHandoverAlgorithm::DoDispose ( )
overrideprotected

Definition at line 103 of file nr-a3-rsrp-handover-algorithm.cc.

◆ DoInitialize()

void ns3::NrA3RsrpHandoverAlgorithm::DoInitialize ( )
overrideprotected

Definition at line 79 of file nr-a3-rsrp-handover-algorithm.cc.

◆ DoReportUeMeas()

void ns3::NrA3RsrpHandoverAlgorithm::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 110 of file nr-a3-rsrp-handover-algorithm.cc.

References ns3::NrRrcSap::MeasResults::haveMeasResultNeighCells, ns3::NrRrcSap::MeasResults::measId, ns3::NrRrcSap::MeasResults::measResultListEutra, ns3::NrRrcSap::MeasResults::measResultPCell, ns3::NrRrcSap::MeasResultPCell::rsrpResult, and ns3::NrHandoverManagementSapUser::TriggerHandover().

+ Here is the call graph for this function:

◆ GetNrHandoverManagementSapProvider()

NrHandoverManagementSapProvider * ns3::NrA3RsrpHandoverAlgorithm::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 72 of file nr-a3-rsrp-handover-algorithm.cc.

◆ GetTypeId()

TypeId ns3::NrA3RsrpHandoverAlgorithm::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 38 of file nr-a3-rsrp-handover-algorithm.cc.

◆ SetNrHandoverManagementSapUser()

void ns3::NrA3RsrpHandoverAlgorithm::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 65 of file nr-a3-rsrp-handover-algorithm.cc.

Friends And Related Symbol Documentation

◆ MemberNrHandoverManagementSapProvider< NrA3RsrpHandoverAlgorithm >

let the forwarder class access the protected and private members

Definition at line 67 of file nr-a3-rsrp-handover-algorithm.h.

Referenced by NrA3RsrpHandoverAlgorithm().


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