5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrHelper Class Reference

Helper to set up single- or multi-cell scenarios with NR. More...

#include "nr-helper.h"

+ Inheritance diagram for ns3::NrHelper:
+ Collaboration diagram for ns3::NrHelper:

Classes

struct  AntennaParams
 parameters of the gNB or UE antenna arrays More...
 
struct  InitialAssocParams
 Parameters for initial attachment association. More...
 
struct  MimoPmiParams
 parameters for the search of optimal rank and precoding matrix indicator (RI, PMI) More...
 

Public Member Functions

 NrHelper ()
 NrHelper constructor.
 
 ~NrHelper () override
 ~NrHelper
 
void ActivateDataRadioBearer (NetDeviceContainer ueDevices, NrEpsBearer bearer)
 Activate a Data Radio Bearer on a given UE devices.
 
void ActivateDataRadioBearer (Ptr< NetDevice > ueDevice, NrEpsBearer bearer)
 Activate a Data Radio Bearer on a UE device.
 
uint8_t ActivateDedicatedEpsBearer (NetDeviceContainer ueDevices, NrEpsBearer bearer, Ptr< NrEpcTft > tft)
 
uint8_t ActivateDedicatedEpsBearer (Ptr< NetDevice > ueDevice, NrEpsBearer bearer, Ptr< NrEpcTft > tft)
 
void AddNrCsiRsFilter (Ptr< SpectrumChannel > channel)
 
void AddX2Interface (NodeContainer gnbNodes)
 
void AddX2Interface (Ptr< Node > gnbNode1, Ptr< Node > gnbNode2)
 
int64_t AssignStreams (NetDeviceContainer c, int64_t stream)
 
void AttachToClosestGnb (const NetDeviceContainer &ueDevices, const NetDeviceContainer &gnbDevices)
 Attach the UE specified to the closest GNB.
 
void AttachToGnb (const Ptr< NetDevice > &ueDevice, const Ptr< NetDevice > &gnbDevice)
 Attach a UE to a particular GNB.
 
void AttachToMaxRsrpGnb (const NetDeviceContainer &ueDevices, const NetDeviceContainer &gnbDevices)
 Attach the UE specified to the max RSRP associated GNB.
 
void ConfigureFhControl (NetDeviceContainer gnbNetDevices)
 Configure FH Control of each cell.
 
std::pair< double, BandwidthPartInfoPtrVectorCreateBandwidthParts (std::vector< CcBwpCreator::SimpleOperationBandConf > bandConfs, const std::string &scenario="RMa", const std::string &channelCondition="Default", const std::string &channelModel="ThreeGpp")
 Create BandwidthParts from a vector of band configurations.
 
void DeActivateDedicatedEpsBearer (Ptr< NetDevice > ueDevice, Ptr< NetDevice > gnbDevice, uint8_t bearerId)
 Manually trigger dedicated bearer de-activation at specific simulation time.
 
void EnableDlCtrlPathlossTraces (NetDeviceContainer &netDeviceContainer)
 
void EnableDlCtrlPhyTraces ()
 Enable DL CTRL PHY traces.
 
void EnableDlDataPathlossTraces (NetDeviceContainer &netDeviceContainer)
 
void EnableDlDataPhyTraces ()
 Enable DL DATA PHY traces.
 
void EnableDlMacSchedTraces ()
 
void EnableFhControl ()
 Enable FH Control.
 
void EnableGnbMacCtrlMsgsTraces ()
 Enable gNB MAC CTRL TX and RX traces.
 
void EnableGnbPacketCountTrace ()
 Enable gNB packet count trace.
 
void EnableGnbPhyCtrlMsgsTraces ()
 Enable gNB PHY CTRL TX and RX traces.
 
void EnablePathlossTraces ()
 Enable trace sinks for DL and UL pathloss.
 
void EnablePdcpE2eTraces ()
 Enable PDCP calculator and end-to-end PDCP traces to file.
 
void EnablePdcpSimpleTraces ()
 Enable PDCP traces (DL PDCP TX, DL PDCP RX, UL PDCP TX, UL PDCP RX)
 
void EnableRlcE2eTraces ()
 Enable RLC calculator and end-to-end RCL traces to file.
 
void EnableRlcSimpleTraces ()
 Enable RLC simple traces (DL RLC TX, DL RLC RX, UL DL TX, UL DL RX)
 
void EnableTraces ()
 Enables the following traces: Transmitted/Received Control Messages DL/UL Phy Traces RLC traces PDCP traces.
 
void EnableTransportBlockTrace ()
 Enable transport block trace.
 
void EnableUeMacCtrlMsgsTraces ()
 Enable UE MAC CTRL TX and RX traces.
 
void EnableUePacketCountTrace ()
 Enable UE packet count trace.
 
void EnableUePhyCtrlMsgsTraces ()
 Enable UE PHY CTRL TX and RX traces.
 
void EnableUlMacSchedTraces ()
 
void EnableUlPhyTraces ()
 Enable UL PHY traces.
 
std::string GetHandoverAlgorithmType () const
 
Ptr< NrMacRxTraceGetMacRxTrace ()
 Get the mac stats trace object.
 
Ptr< NrBearerStatsCalculatorGetPdcpStatsCalculator ()
 Get the PDCP stats calculator object.
 
Ptr< NrPhyRxTraceGetPhyRxTrace ()
 Get the phy traces object.
 
Ptr< NrBearerStatsCalculatorGetRlcStatsCalculator ()
 Get the RLC stats calculator object.
 
bool GetSnrTest () const
 GetSnrTest.
 
void HandoverRequest (Time hoTime, Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceGnbDev, Ptr< NetDevice > targetGnbDev)
 
void HandoverRequest (Time hoTime, Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceGnbDev, uint16_t targetCellId)
 
NetDeviceContainer InstallGnbDevice (const NodeContainer &c, const std::vector< std::reference_wrapper< BandwidthPartInfoPtr > > allBwps)
 Install one (or more) GNBs.
 
NetDeviceContainer InstallUeDevice (const NodeContainer &c, const std::vector< std::reference_wrapper< BandwidthPartInfoPtr > > &allBwps)
 Install one (or more) UEs.
 
void SetBeamformingHelper (Ptr< BeamformingHelperBase > beamformingHelper)
 Set an ideal beamforming helper.
 
void SetDlErrorModel (const std::string &errorModelTypeId)
 Set the ErrorModel for DL AMC and GNB spectrum at the same time.
 
void SetEpcHelper (Ptr< NrEpcHelper > NrEpcHelper)
 
void SetFhControlAttribute (const std::string &n, const AttributeValue &v)
 
void SetGnbAntennaAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the GNB antenna, before it is created.
 
void SetGnbAntennaTypeId (const std::string &)
 Set a different TypeId for the GNB antenna device.
 
void SetGnbBeamManagerAttribute (const std::string &n, const AttributeValue &v)
 
void SetGnbBeamManagerTypeId (const TypeId &typeId)
 Set the TypeId of the beam manager.
 
void SetGnbBwpManagerAlgorithmAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the GNB BWP Manager, before it is created.
 
void SetGnbBwpManagerAlgorithmTypeId (const TypeId &typeId)
 Set the TypeId of the GNB BWP Manager. Works only before it is created.
 
void SetGnbChannelAccessManagerAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the GNB channel access manager, before it is created.
 
void SetGnbChannelAccessManagerTypeId (const TypeId &typeId)
 Set the TypeId of the GNB Channel Access Manager. Works only before it is created.
 
void SetGnbDlAmcAttribute (const std::string &n, const AttributeValue &v)
 
void SetGnbMacAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the GNB MAC, before it is created.
 
void SetGnbPhyAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the GNB PHY, before it is created.
 
void SetGnbSpectrumAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the GNB spectrum, before it is created.
 
void SetGnbUlAmcAttribute (const std::string &n, const AttributeValue &v)
 
void SetHandoverAlgorithmAttribute (std::string n, const AttributeValue &v)
 
void SetHandoverAlgorithmType (std::string type)
 
void SetInitialAssocAttribute (const std::string &name, const AttributeValue &value)
 Set attribute of the initial attachment algorithm.
 
void SetInitialAssocTypeId (const TypeId &typeId)
 Set TypeId of the initial attachment algorithm.
 
void SetPmSearchAttribute (const std::string &name, const AttributeValue &value)
 Set attribute of the precoding matrix search algorithm.
 
void SetPmSearchTypeId (const TypeId &typeId)
 Set TypeId of the precoding matrix search algorithm.
 
void SetSchedulerAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the scheduler, before it is created.
 
void SetSchedulerTypeId (const TypeId &typeId)
 Set the Scheduler TypeId. Works only before it is created.
 
void SetSnrTest (bool snrTest)
 SetSnrTest.
 
void SetUeAntennaAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the UE antenna, before it is created.
 
void SetUeAntennaTypeId (const std::string &)
 Set a different TypeId for the UE antenna device.
 
void SetUeBwpManagerAlgorithmAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the GNB BWP Manager, before it is created.
 
void SetUeBwpManagerAlgorithmTypeId (const TypeId &typeId)
 Set the TypeId of the UE BWP Manager. Works only before it is created.
 
void SetUeChannelAccessManagerAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the UE channel access manager, before it is created.
 
void SetUeChannelAccessManagerTypeId (const TypeId &typeId)
 Set the TypeId of the UE Channel Access Manager. Works only before it is created.
 
void SetUeMacAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the UE MAC, before it is created.
 
void SetUePhyAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the UE PHY, before it is created.
 
void SetUeSpectrumAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the UE spectrum, before it is created.
 
void SetUlErrorModel (const std::string &errorModelTypeId)
 Set the ErrorModel for UL AMC and UE spectrum at the same time.
 
void SetupGnbAntennas (const AntennaParams &ap)
 Set parameters for gNB and UE antenna arrays.
 
void SetupInitialAssoc (const InitialAssocParams &params)
 Set parameters for max RSRP based Initial Association.
 
void SetupMimoPmi (const MimoPmiParams &mp)
 Set parameters for PMI search in MIMO operation.
 
void SetupUeAntennas (const AntennaParams &ap)
 Set parameters for gNB and UE antenna arrays.
 
void UpdateDeviceConfigs (const NetDeviceContainer &netDevs)
 Update NetDevice configuration of one or more devices.
 

Static Public Member Functions

static Ptr< BwpManagerGnbGetBwpManagerGnb (const Ptr< NetDevice > &gnbDevice)
 Get the BwpManager of the GNB.
 
static Ptr< BwpManagerUeGetBwpManagerUe (const Ptr< NetDevice > &ueDevice)
 Get the BwpManager of the UE.
 
static Ptr< NrGnbMacGetGnbMac (const Ptr< NetDevice > &gnbDevice, uint32_t bwpIndex)
 Get a pointer to the MAC of the GNB at the specified BWP.
 
static Ptr< NrGnbPhyGetGnbPhy (const Ptr< NetDevice > &gnbDevice, uint32_t bwpIndex)
 Get a pointer to the PHY of the GNB at the specified BWP.
 
static uint32_t GetNumberBwp (const Ptr< const NetDevice > &gnbDevice)
 Get the number of configured BWP for a specific GNB NetDevice.
 
static Ptr< NrMacSchedulerGetScheduler (const Ptr< NetDevice > &gnbDevice, uint32_t bwpIndex)
 Get the Scheduler from the GNB specified.
 
static TypeId GetTypeId ()
 GetTypeId.
 
static Ptr< NrUeMacGetUeMac (const Ptr< NetDevice > &ueDevice, uint32_t bwpIndex)
 Get a pointer to the MAC of the UE at the specified BWP.
 
static Ptr< NrUePhyGetUePhy (const Ptr< NetDevice > &ueDevice, uint32_t bwpIndex)
 Get a pointer to the PHY of the UE at the specified BWP.
 

Detailed Description

Helper to set up single- or multi-cell scenarios with NR.

Pre-requisite: Node creation and placement

The NrHelper installation API accepts an ns3::NodeContainer. Users are advised to create gNB nodes in one or more node containers, and UE nodes in one or more additional node containers, because the installation method is different for gNB and UE nodes. Additionally, any position or mobility models must be installed on the nodes outside of the NrHelper. For simple cases, we provide helpers that position nodes on rectangular and hexagonal grids. Please take a look at the GridScenarioHelper documentation in that case.

Creating the helper

The NrHelper inherits from ns3::Object and therefore should be created with CreateObject(). The helper should remain in scope until the simulation program ends. More than one NrHelper can be created.

  Ptr<NrPointToPointEpcHelper> nrEpcHelper = CreateObject<NrPointToPointEpcHelper> ();

Adding additional helpers

The NrHelper accepts two other optional helpers, a beamforming helper and an Evolved Packet Core (EPC) helper. Both of these helpers have different subclasses (the Ideal and Realistic beamforming helpers, and several EPC helpers that vary on the basis of backhaul technology. The following code shows an example of these additional helpers.

  Ptr<IdealBeamformingHelper> idealBeamformingHelper = CreateObject<IdealBeamformingHelper>();
  Ptr<NrHelper> nrHelper = CreateObject<NrHelper> ();
  nrHelper->SetBeamformingHelper (idealBeamformingHelper);
  nrHelper->SetEpcHelper (nrEpcHelper);

Dividing the spectrum and creating the channels

The spectrum management is delegated to the class CcBwpHelper. Please refer to its documentation to have more information. After having divided the spectrum in component carriers and bandwidth part, use the method InitializeOperationBand() to create the channels and other things that will be used by the channel modeling part.

Configuring the cells

After the spectrum part is ready, it is time to check how to configure the cells. The configuration is done in the most typical ns-3 way, through the Attributes. We assume that you already know what an attribute is; if not, please read the ns-3 documentation about objects and attributes.

We have two different ways to configure the attributes of our objects (and, therefore, configure the cell). The first is before the object are created: as this class is responsible to create all the object that are needed in the module, we provide many methods (prefixed with "Set") that can store the attribute values for the objects, until they are created and then these values applied. For instance, we can set the antenna dimensions for all the UEs with:

  // Antennas for all the UEs
  nrHelper->SetUeAntennaAttribute ("NumRows", UintegerValue (2));
  nrHelper->SetUeAntennaAttribute ("NumColumns", UintegerValue (4));

These attributes will be stored, and then used inside the creation methods InstallGnbDevice() and InstallUeDevice(). In this case, the antenna dimensions will be taken inside the InstallUeDevice() method, and all the UEs created will have these dimensions.

Of course, it is possible to divide the nodes, and install them separately with different attributes. For example:

  NodeContainer ueFirstSet;
  NodeContainer ueSecondSet;
  ...
  nrHelper->SetUeAntennaAttribute ("NumRows", UintegerValue (2));
  nrHelper->SetUeAntennaAttribute ("NumColumns", UintegerValue (4));
  ...
  NetDeviceContainer ueFirstSetNetDevs = nrHelper->InstallUeDevice (ueFirstSet, allBwps);
  ...
  // Then, prepare the second set:
  nrHelper->SetUeAntennaAttribute ("NumRows", UintegerValue (4));
  nrHelper->SetUeAntennaAttribute ("NumColumns", UintegerValue (8));
  ...
  NetDeviceContainer ueSecondSetNetDevs = nrHelper->InstallUeDevice (ueSecondSet, allBwps);
  ...

In this way, you can configure different sets of nodes with different properties.

The second configuration option is setting the attributes after the object are created. Once you have a pointer to the object, you can use the Object::SetAttribute() method on it. To get the pointer, use one of the helper methods to retrieve a pointer to the PHY, MAC, or scheduler, given the index of the bandwidth part:

  ...
  NetDeviceContainer gnbNetDev = nrHelper->InstallGnbDevice (gnbContainer, allBwps);
  nrHelper->GetGnbPhy (gnbNetDev.Get (0), 0)->SetAttribute ("Numerology", UintegerValue (2));

In the snippet, we are selecting the first gnb (gnbNetDev.Get (0)) and then selecting the first BWP (, 0). We are using the method GetGnbPhy() to obtain the PHY pointer, and then setting the Numerology attribute on it. The list of attributes is present in the class description, as well as some reminder on how configure it through the helper.

Installing UEs and GNBs

The installation part is done through two methods: InstallGnbDevice() and InstallUeDevice(). Pass to these methods the container of the nodes, plus the spectrum configuration that comes from CcBwpHelper.

Finishing the configuration

After you finish the configuration, please remember to call UpdateConfig() on all the NetDevices:

  for (auto it = gnbNetDev.Begin (); it != gnbNetDev.End (); ++it)
    {
      DynamicCast<NrGnbNetDevice> (*it)->UpdateConfig ();
    }

  for (auto it = ueNetDev.Begin (); it != ueNetDev.End (); ++it)
    {
      DynamicCast<NrUeNetDevice> (*it)->UpdateConfig ();
    }

The call to UpdateConfig() will finish the configuration, and update the RRC layer.

Dedicated bearers

We have methods to open dedicated UE bearers: ActivateDedicatedEpsBearer() and DeActivateDedicatedEpsBearer(). Please take a look at their documentation for more information.

Attachment of UEs to GNBs

We provide three methods to attach a set of UE to a GNB: AttachToClosestGnb(), AttachToMaxRsrpGnb(), and AttachToGnb(). Through these function, you will manually attach one or more UEs to a specified GNB.

Traces

We provide a method that enables the generation of files that include among others information related to the received packets at the gNB and UE side, the control messages transmitted and received from/at the gNB and UE side, the SINR, as well as RLC and PDCP statistics such as the packet size. Please refer to their documentation for more information. Enabling the traces is done by simply calling the method EnableTraces() in the scenario.

Introspection did not find any typical Config paths.

Attributes

  • EnableMimoFeedback: Generate CQI feedback with RI and PMI for MIMO support
    • Set with class: ns3::BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read
  • CsiFeedbackFlags: Signals and measurements that will be used for CQI feedback if available.Supported configurations are: CQI_PDSCH_MIMO = 1, CQI_CSI_RS = 2, CQI_PDSCH_MIMO|CQI_CSI_RS = 3, CQI_CSI_RS|CQI_CSI_IM = 6, CQI_PDSCH_MIMO|CQI_CSI_RS|CQI_CSI_IM = 7, and CQI_PDSCH_SISO = 8.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:8
    • Initial value: 7
    • Flags: construct write read
  • PmSearchMethod: Type of the precoding matrix search method.
    • Set with class: ns3::TypeIdValue
    • Underlying type: TypeId
    • Initial value: ns3::NrPmSearchFull
    • Flags: construct write
  • UseIdealRrc: If true, NrRrcProtocolIdeal will be used for RRC signaling. If false, NrRrcProtocolReal will be used.
    • Set with class: ns3::BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • HandoverAlgorithm: The type of handover algorithm to be used for gNBs. The allowed values for this attributes are the type names of any class inheriting from ns3::LteHandoverAlgorithm.

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

Definition at line 206 of file nr-helper.h.

Constructor & Destructor Documentation

◆ NrHelper()

◆ ~NrHelper()

ns3::NrHelper::~NrHelper ( )
override

~NrHelper

Definition at line 97 of file nr-helper.cc.

Member Function Documentation

◆ ActivateDataRadioBearer() [1/2]

void ns3::NrHelper::ActivateDataRadioBearer ( NetDeviceContainer  ueDevices,
NrEpsBearer  bearer 
)

Activate a Data Radio Bearer on a given UE devices.

Parameters
ueDevicesthe set of UE devices
bearerthe characteristics of the bearer to be activated

Definition at line 1603 of file nr-helper.cc.

References ActivateDataRadioBearer().

Referenced by ActivateDataRadioBearer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ActivateDataRadioBearer() [2/2]

void ns3::NrHelper::ActivateDataRadioBearer ( Ptr< NetDevice >  ueDevice,
NrEpsBearer  bearer 
)

Activate a Data Radio Bearer on a UE device.

This method will schedule the actual activation the bearer so that it happens after the UE got connected.

Parameters
ueDevicethe UE device
bearerthe characteristics of the bearer to be activated

Definition at line 1613 of file nr-helper.cc.

◆ ActivateDedicatedEpsBearer() [1/2]

uint8_t ns3::NrHelper::ActivateDedicatedEpsBearer ( NetDeviceContainer  ueDevices,
NrEpsBearer  bearer,
Ptr< NrEpcTft tft 
)

Activate a dedicated EPS bearer on a given set of UE devices.

Parameters
ueDevicesthe set of UE devices
bearerthe characteristics of the bearer to be activated
tftthe Traffic Flow Template that identifies the traffic to go on this bearer
Returns
bearer ID

Definition at line 1160 of file nr-helper.cc.

References ActivateDedicatedEpsBearer().

Referenced by ActivateDedicatedEpsBearer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ActivateDedicatedEpsBearer() [2/2]

uint8_t ns3::NrHelper::ActivateDedicatedEpsBearer ( Ptr< NetDevice >  ueDevice,
NrEpsBearer  bearer,
Ptr< NrEpcTft tft 
)

Activate a dedicated EPS bearer on a given UE device.

Parameters
ueDevicethe UE device
bearerthe characteristics of the bearer to be activated
tftthe Traffic Flow Template that identifies the traffic to go on this bearer.
Returns
bearer ID

Definition at line 1174 of file nr-helper.cc.

◆ AddNrCsiRsFilter()

void ns3::NrHelper::AddNrCsiRsFilter ( Ptr< SpectrumChannel >  channel)

Install NrCsiRsFilter onto the specified spectrum channel

Parameters
channelthe spectrum channel instance on which will be installed the filter

Definition at line 1997 of file nr-helper.cc.

◆ AddX2Interface() [1/2]

void ns3::NrHelper::AddX2Interface ( NodeContainer  gnbNodes)

Definition at line 950 of file nr-helper.cc.

◆ AddX2Interface() [2/2]

void ns3::NrHelper::AddX2Interface ( Ptr< Node >  gnbNode1,
Ptr< Node >  gnbNode2 
)

Definition at line 966 of file nr-helper.cc.

◆ AssignStreams()

int64_t ns3::NrHelper::AssignStreams ( NetDeviceContainer  c,
int64_t  stream 
)

Assign a fixed random variable stream number to the random variables used.

The InstallGnbDevice() or InstallUeDevice method should have previously been called by the user on the given devices.

Parameters
cNetDeviceContainer of the set of net devices for which the NrNetDevice should be modified to use a fixed stream
streamfirst stream index to use
Returns
the number of stream indices (possibly zero) that have been assigned

Definition at line 1405 of file nr-helper.cc.

◆ AttachToClosestGnb()

void ns3::NrHelper::AttachToClosestGnb ( const NetDeviceContainer &  ueDevices,
const NetDeviceContainer &  gnbDevices 
)

Attach the UE specified to the closest GNB.

Parameters
ueDevicesUE devices to attach
gnbDevicesGNB devices from which the algorithm has to select the closest

Definition at line 1059 of file nr-helper.cc.

References AttachToClosestGnb().

Referenced by AttachToClosestGnb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AttachToGnb()

void ns3::NrHelper::AttachToGnb ( const Ptr< NetDevice > &  ueDevice,
const Ptr< NetDevice > &  gnbDevice 
)

Attach a UE to a particular GNB.

Parameters
ueDevicethe UE device
gnbDevicethe GNB device to which attach the UE

Definition at line 1094 of file nr-helper.cc.

References ns3::NrEpcTft::Default(), ns3::NrEpsBearer::NGBR_VIDEO_TCP_DEFAULT, and ns3::NrPmSearch::SetGnbParams().

+ Here is the call graph for this function:

◆ AttachToMaxRsrpGnb()

void ns3::NrHelper::AttachToMaxRsrpGnb ( const NetDeviceContainer &  ueDevices,
const NetDeviceContainer &  gnbDevices 
)

Attach the UE specified to the max RSRP associated GNB.

Parameters
ueDevicesUE devices to attach
gnbDevicesGNB devices from which the algorithm has to select the RSRP

Definition at line 1024 of file nr-helper.cc.

References AttachToMaxRsrpGnb().

Referenced by AttachToMaxRsrpGnb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConfigureFhControl()

void ns3::NrHelper::ConfigureFhControl ( NetDeviceContainer  gnbNetDevices)

Configure FH Control of each cell.

It sets the numerology as configured in the BWP to which this FH Control instance belongs to.

Parameters
gnbNetDevicesThe gNB Net Devices for which we want to configure the FH Capacity Control.

Definition at line 1385 of file nr-helper.cc.

◆ CreateBandwidthParts()

std::pair< double, BandwidthPartInfoPtrVector > ns3::NrHelper::CreateBandwidthParts ( std::vector< CcBwpCreator::SimpleOperationBandConf bandConfs,
const std::string &  scenario = "RMa",
const std::string &  channelCondition = "Default",
const std::string &  channelModel = "ThreeGpp" 
)

Create BandwidthParts from a vector of band configurations.

Parameters
bandConfsthe vector with operation band configurations
scenariothe scenario to be used to create the bandwidth parts
channelConditionthe channel condition to be used to create the bandwidth parts
channelModelthe channel model to be used to create the bandwidth parts
Returns
a pair with total bandwidth and vector of bandwidth parts

Definition at line 152 of file nr-helper.cc.

References ns3::CcBwpCreator::CreateOperationBandContiguousCc(), and ns3::CcBwpCreator::GetAllBwps().

+ Here is the call graph for this function:

◆ DeActivateDedicatedEpsBearer()

void ns3::NrHelper::DeActivateDedicatedEpsBearer ( Ptr< NetDevice >  ueDevice,
Ptr< NetDevice >  gnbDevice,
uint8_t  bearerId 
)

Manually trigger dedicated bearer de-activation at specific simulation time.

Parameters
ueDevicethe UE on which dedicated bearer to be de-activated must be of the type NrUeNetDevice
gnbDevicegNB, must be of the type NrGnbNetDevice
bearerIdBearer Identity which is to be de-activated
Warning
Requires the use of EPC mode. See SetEpcHelper() method.

Definition at line 1186 of file nr-helper.cc.

◆ EnableDlCtrlPathlossTraces()

void ns3::NrHelper::EnableDlCtrlPathlossTraces ( NetDeviceContainer &  netDeviceContainer)

Definition at line 1859 of file nr-helper.cc.

◆ EnableDlCtrlPhyTraces()

void ns3::NrHelper::EnableDlCtrlPhyTraces ( )

Enable DL CTRL PHY traces.

Definition at line 1687 of file nr-helper.cc.

References ns3::NrPhyRxTrace::DlCtrlSinrCallback(), and GetPhyRxTrace().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableDlDataPathlossTraces()

void ns3::NrHelper::EnableDlDataPathlossTraces ( NetDeviceContainer &  netDeviceContainer)

Definition at line 1883 of file nr-helper.cc.

◆ EnableDlDataPhyTraces()

void ns3::NrHelper::EnableDlDataPhyTraces ( )

Enable DL DATA PHY traces.

Definition at line 1675 of file nr-helper.cc.

References ns3::NrPhyRxTrace::DlDataSinrCallback(), and GetPhyRxTrace().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableDlMacSchedTraces()

void ns3::NrHelper::EnableDlMacSchedTraces ( )

Enable trace sinks for DL MAC layer scheduling.

Definition at line 1825 of file nr-helper.cc.

References ns3::NrMacSchedulingStats::DlSchedulingCallback().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableFhControl()

void ns3::NrHelper::EnableFhControl ( )

Enable FH Control.

If enabled, the MAC scheduler operation is constrained by the FH Capacity.

Definition at line 1379 of file nr-helper.cc.

◆ EnableGnbMacCtrlMsgsTraces()

void ns3::NrHelper::EnableGnbMacCtrlMsgsTraces ( )

Enable gNB MAC CTRL TX and RX traces.

Definition at line 1705 of file nr-helper.cc.

References GetMacRxTrace(), ns3::NrMacRxTrace::RxedGnbMacCtrlMsgsCallback(), and ns3::NrMacRxTrace::TxedGnbMacCtrlMsgsCallback().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableGnbPacketCountTrace()

void ns3::NrHelper::EnableGnbPacketCountTrace ( )

Enable gNB packet count trace.

Definition at line 1753 of file nr-helper.cc.

References GetPhyRxTrace().

+ Here is the call graph for this function:

◆ EnableGnbPhyCtrlMsgsTraces()

void ns3::NrHelper::EnableGnbPhyCtrlMsgsTraces ( )

Enable gNB PHY CTRL TX and RX traces.

Definition at line 1695 of file nr-helper.cc.

References GetPhyRxTrace(), ns3::NrPhyRxTrace::RxedGnbPhyCtrlMsgsCallback(), and ns3::NrPhyRxTrace::TxedGnbPhyCtrlMsgsCallback().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnablePathlossTraces()

void ns3::NrHelper::EnablePathlossTraces ( )

Enable trace sinks for DL and UL pathloss.

Definition at line 1851 of file nr-helper.cc.

References GetPhyRxTrace(), and ns3::NrPhyRxTrace::PathlossTraceCallback().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnablePdcpE2eTraces()

void ns3::NrHelper::EnablePdcpE2eTraces ( )

Enable PDCP calculator and end-to-end PDCP traces to file.

Definition at line 1803 of file nr-helper.cc.

References ns3::NrBearerStatsConnector::EnablePdcpStats().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnablePdcpSimpleTraces()

void ns3::NrHelper::EnablePdcpSimpleTraces ( )

Enable PDCP traces (DL PDCP TX, DL PDCP RX, UL PDCP TX, UL PDCP RX)

Definition at line 1787 of file nr-helper.cc.

References ns3::NrBearerStatsConnector::EnablePdcpStats().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableRlcE2eTraces()

void ns3::NrHelper::EnableRlcE2eTraces ( )

Enable RLC calculator and end-to-end RCL traces to file.

Definition at line 1795 of file nr-helper.cc.

References ns3::NrBearerStatsConnector::EnableRlcStats().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableRlcSimpleTraces()

void ns3::NrHelper::EnableRlcSimpleTraces ( )

Enable RLC simple traces (DL RLC TX, DL RLC RX, UL DL TX, UL DL RX)

Definition at line 1779 of file nr-helper.cc.

References ns3::NrBearerStatsConnector::EnableRlcStats().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableTraces()

void ns3::NrHelper::EnableTraces ( )

◆ EnableTransportBlockTrace()

void ns3::NrHelper::EnableTransportBlockTrace ( )

Enable transport block trace.

At the time of writing this documentation this method only connect the ReportDownlinkTbSize of NrUePhy.

Definition at line 1771 of file nr-helper.cc.

References GetPhyRxTrace().

+ Here is the call graph for this function:

◆ EnableUeMacCtrlMsgsTraces()

void ns3::NrHelper::EnableUeMacCtrlMsgsTraces ( )

Enable UE MAC CTRL TX and RX traces.

Definition at line 1732 of file nr-helper.cc.

References GetMacRxTrace(), ns3::NrMacRxTrace::RxedUeMacCtrlMsgsCallback(), and ns3::NrMacRxTrace::TxedUeMacCtrlMsgsCallback().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableUePacketCountTrace()

void ns3::NrHelper::EnableUePacketCountTrace ( )

Enable UE packet count trace.

Definition at line 1762 of file nr-helper.cc.

References GetPhyRxTrace().

+ Here is the call graph for this function:

◆ EnableUePhyCtrlMsgsTraces()

void ns3::NrHelper::EnableUePhyCtrlMsgsTraces ( )

Enable UE PHY CTRL TX and RX traces.

Definition at line 1715 of file nr-helper.cc.

References GetPhyRxTrace(), ns3::NrPhyRxTrace::RxedUePhyCtrlMsgsCallback(), ns3::NrPhyRxTrace::RxedUePhyDlDciCallback(), ns3::NrPhyRxTrace::TxedUePhyCtrlMsgsCallback(), and ns3::NrPhyRxTrace::TxedUePhyHarqFeedbackCallback().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableUlMacSchedTraces()

void ns3::NrHelper::EnableUlMacSchedTraces ( )

Enable trace sinks for UL MAC layer scheduling.

Definition at line 1838 of file nr-helper.cc.

References ns3::NrMacSchedulingStats::UlSchedulingCallback().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableUlPhyTraces()

void ns3::NrHelper::EnableUlPhyTraces ( )

Enable UL PHY traces.

Definition at line 1744 of file nr-helper.cc.

References GetPhyRxTrace().

Referenced by EnableTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetBwpManagerGnb()

Ptr< BwpManagerGnb > ns3::NrHelper::GetBwpManagerGnb ( const Ptr< NetDevice > &  gnbDevice)
static

Get the BwpManager of the GNB.

Parameters
gnbDevicethe GNB NetDevice, obtained from InstallGnbDevice()
Returns
A pointer to the BwpManager of the GNB, or nullptr if there are errors

Definition at line 239 of file nr-helper.cc.

◆ GetBwpManagerUe()

Ptr< BwpManagerUe > ns3::NrHelper::GetBwpManagerUe ( const Ptr< NetDevice > &  ueDevice)
static

Get the BwpManager of the UE.

Parameters
ueDevicethe UE NetDevice, obtained from InstallGnbDevice()
Returns
A pointer to the BwpManager of the UE, or nullptr if there are errors

Definition at line 253 of file nr-helper.cc.

◆ GetGnbMac()

Ptr< NrGnbMac > ns3::NrHelper::GetGnbMac ( const Ptr< NetDevice > &  gnbDevice,
uint32_t  bwpIndex 
)
static

Get a pointer to the MAC of the GNB at the specified BWP.

Parameters
gnbDeviceThe GNB NetDevice, obtained from InstallGnbDevice()
bwpIndexThe index of the BWP required
Returns
A pointer to the MAC layer of the GNB, or nullptr if there are errors

Definition at line 200 of file nr-helper.cc.

◆ GetGnbPhy()

Ptr< NrGnbPhy > ns3::NrHelper::GetGnbPhy ( const Ptr< NetDevice > &  gnbDevice,
uint32_t  bwpIndex 
)
static

Get a pointer to the PHY of the GNB at the specified BWP.

Parameters
gnbDeviceThe GNB NetDevice, obtained from InstallGnbDevice()
bwpIndexThe index of the BWP required
Returns
A pointer to the PHY layer of the GNB, or nullptr if there are errors

Definition at line 187 of file nr-helper.cc.

◆ GetHandoverAlgorithmType()

std::string ns3::NrHelper::GetHandoverAlgorithmType ( ) const

Definition at line 929 of file nr-helper.cc.

◆ GetMacRxTrace()

Ptr< NrMacRxTrace > ns3::NrHelper::GetMacRxTrace ( )

Get the mac stats trace object.

Creates the NrMacRxTrace object upon first call.

Returns
The NrMacRxTrace object to write MAC traces

Definition at line 1665 of file nr-helper.cc.

Referenced by EnableGnbMacCtrlMsgsTraces(), and EnableUeMacCtrlMsgsTraces().

+ Here is the caller graph for this function:

◆ GetNumberBwp()

uint32_t ns3::NrHelper::GetNumberBwp ( const Ptr< const NetDevice > &  gnbDevice)
static

Get the number of configured BWP for a specific GNB NetDevice.

Parameters
gnbDeviceThe GNB NetDevice, obtained from InstallGnbDevice()
Returns
the number of BWP installed, or 0 if there are errors

Definition at line 175 of file nr-helper.cc.

◆ GetPdcpStatsCalculator()

Ptr< NrBearerStatsCalculator > ns3::NrHelper::GetPdcpStatsCalculator ( )

Get the PDCP stats calculator object.

Returns
The NrBearerStatsCalculator stats calculator object to write PDCP traces

Definition at line 1818 of file nr-helper.cc.

References ns3::NrBearerStatsConnector::GetPdcpStats().

+ Here is the call graph for this function:

◆ GetPhyRxTrace()

Ptr< NrPhyRxTrace > ns3::NrHelper::GetPhyRxTrace ( )

Get the phy traces object.

Creates the NrPhyRxTrace object upon first call.

Returns
The NrPhyRxTrace object to write PHY traces

Definition at line 1655 of file nr-helper.cc.

Referenced by EnableDlCtrlPhyTraces(), EnableDlDataPhyTraces(), EnableGnbPacketCountTrace(), EnableGnbPhyCtrlMsgsTraces(), EnablePathlossTraces(), EnableTransportBlockTrace(), EnableUePacketCountTrace(), EnableUePhyCtrlMsgsTraces(), and EnableUlPhyTraces().

+ Here is the caller graph for this function:

◆ GetRlcStatsCalculator()

Ptr< NrBearerStatsCalculator > ns3::NrHelper::GetRlcStatsCalculator ( )

Get the RLC stats calculator object.

Returns
The NrBearerStatsCalculator stats calculator object to write RLC traces

Definition at line 1811 of file nr-helper.cc.

References ns3::NrBearerStatsConnector::GetRlcStats().

+ Here is the call graph for this function:

◆ GetScheduler()

Ptr< NrMacScheduler > ns3::NrHelper::GetScheduler ( const Ptr< NetDevice > &  gnbDevice,
uint32_t  bwpIndex 
)
static

Get the Scheduler from the GNB specified.

Parameters
gnbDeviceThe GNB NetDevice, obtained from InstallGnbDevice()
bwpIndexThe index of the BWP required
Returns
A pointer to the scheduler, or nullptr if there are errors

Definition at line 267 of file nr-helper.cc.

◆ GetSnrTest()

bool ns3::NrHelper::GetSnrTest ( ) const

GetSnrTest.

Returns
the value of SnrTest variable

Definition at line 287 of file nr-helper.cc.

◆ GetTypeId()

TypeId ns3::NrHelper::GetTypeId ( )
static

GetTypeId.

Returns
the type id of the object

Definition at line 108 of file nr-helper.cc.

References ns3::NrPmSearchFull::GetTypeId(), and SetPmSearchTypeId().

+ Here is the call graph for this function:

◆ GetUeMac()

Ptr< NrUeMac > ns3::NrHelper::GetUeMac ( const Ptr< NetDevice > &  ueDevice,
uint32_t  bwpIndex 
)
static

Get a pointer to the MAC of the UE at the specified BWP.

Parameters
ueDeviceThe UE NetDevice, obtained from InstallUeDevice()
bwpIndexThe index of the BWP required
Returns
A pointer to the MAC layer of the UE, or nullptr if there are errors

Definition at line 213 of file nr-helper.cc.

◆ GetUePhy()

Ptr< NrUePhy > ns3::NrHelper::GetUePhy ( const Ptr< NetDevice > &  ueDevice,
uint32_t  bwpIndex 
)
static

Get a pointer to the PHY of the UE at the specified BWP.

Parameters
ueDeviceThe UE NetDevice, obtained from InstallUeDevice()
bwpIndexThe index of the BWP required
Returns
A pointer to the PHY layer of the UE, or nullptr if there are errors

Definition at line 226 of file nr-helper.cc.

◆ HandoverRequest() [1/2]

void ns3::NrHelper::HandoverRequest ( Time  hoTime,
Ptr< NetDevice >  ueDev,
Ptr< NetDevice >  sourceGnbDev,
Ptr< NetDevice >  targetGnbDev 
)

Definition at line 975 of file nr-helper.cc.

◆ HandoverRequest() [2/2]

void ns3::NrHelper::HandoverRequest ( Time  hoTime,
Ptr< NetDevice >  ueDev,
Ptr< NetDevice >  sourceGnbDev,
uint16_t  targetCellId 
)

Definition at line 994 of file nr-helper.cc.

◆ InstallGnbDevice()

NetDeviceContainer ns3::NrHelper::InstallGnbDevice ( const NodeContainer &  c,
const std::vector< std::reference_wrapper< BandwidthPartInfoPtr > >  allBwps 
)

Install one (or more) GNBs.

Parameters
cNode container with the GNB
allBwpsThe spectrum configuration that comes from CcBwpHelper
Returns
a NetDeviceContainer with the net devices that have been installed.

Definition at line 309 of file nr-helper.cc.

◆ InstallUeDevice()

NetDeviceContainer ns3::NrHelper::InstallUeDevice ( const NodeContainer &  c,
const std::vector< std::reference_wrapper< BandwidthPartInfoPtr > > &  allBwps 
)

Install one (or more) UEs.

Parameters
cNode container with the UEs
allBwpsThe spectrum configuration that comes from CcBwpHelper
Returns
a NetDeviceContainer with the net devices that have been installed.

Definition at line 293 of file nr-helper.cc.

◆ SetBeamformingHelper()

void ns3::NrHelper::SetBeamformingHelper ( Ptr< BeamformingHelperBase beamformingHelper)

Set an ideal beamforming helper.

Parameters
beamformingHelpera pointer to the beamforming helper

Definition at line 1533 of file nr-helper.cc.

◆ SetDlErrorModel()

void ns3::NrHelper::SetDlErrorModel ( const std::string &  errorModelTypeId)

Set the ErrorModel for DL AMC and GNB spectrum at the same time.

Parameters
errorModelTypeIdThe TypeId of the error model

Equivalent to the calls to

  • SetGnbDlAmcAttribute ("ErrorModelType", ....
  • SetUeSpectrumAttribute ("ErrorModelType", ...
See also
NrErrorModel
NrEesmIrT2
NrEesmIrT1
NrEesmCcT1
NrEesmCcT2
NrLteMiErrorModel

Definition at line 1370 of file nr-helper.cc.

References SetGnbDlAmcAttribute(), and SetUeSpectrumAttribute().

+ Here is the call graph for this function:

◆ SetEpcHelper()

void ns3::NrHelper::SetEpcHelper ( Ptr< NrEpcHelper NrEpcHelper)

Set the NrEpcHelper to be used to setup the EPC network in conjunction with the setup of the NR radio access network.

Note
if no NrEpcHelper is ever set, then NrHelper will default to creating a simulation with no EPC, using NrRlcSm as the RLC model, and without supporting any IP networking. In other words, it will be a radio-level simulation involving only NR PHY and MAC and the Scheduler, with a saturation traffic model for the RLC.
Parameters
NrEpcHelpera pointer to the NrEpcHelper to be used

Definition at line 1527 of file nr-helper.cc.

◆ SetFhControlAttribute()

void ns3::NrHelper::SetFhControlAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Definition at line 1354 of file nr-helper.cc.

◆ SetGnbAntennaAttribute()

void ns3::NrHelper::SetGnbAntennaAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB antenna, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
UniformPlanarArray (in ns-3 documentation)

Definition at line 1270 of file nr-helper.cc.

Referenced by SetupGnbAntennas().

+ Here is the caller graph for this function:

◆ SetGnbAntennaTypeId()

void ns3::NrHelper::SetGnbAntennaTypeId ( const std::string &  typeId)

Set a different TypeId for the GNB antenna device.

Parameters
typeIdthe antenna TypeId

Definition at line 1284 of file nr-helper.cc.

◆ SetGnbBeamManagerAttribute()

void ns3::NrHelper::SetGnbBeamManagerAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Definition at line 1340 of file nr-helper.cc.

◆ SetGnbBeamManagerTypeId()

void ns3::NrHelper::SetGnbBeamManagerTypeId ( const TypeId &  typeId)

Set the TypeId of the beam manager.

Parameters
typeIdthe type of the object

Definition at line 1347 of file nr-helper.cc.

◆ SetGnbBwpManagerAlgorithmAttribute()

void ns3::NrHelper::SetGnbBwpManagerAlgorithmAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB BWP Manager, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 1504 of file nr-helper.cc.

◆ SetGnbBwpManagerAlgorithmTypeId()

void ns3::NrHelper::SetGnbBwpManagerAlgorithmTypeId ( const TypeId &  typeId)

Set the TypeId of the GNB BWP Manager. Works only before it is created.

Parameters
typeIdType of the object
See also
BwpManagerAlgorithm

Definition at line 1497 of file nr-helper.cc.

◆ SetGnbChannelAccessManagerAttribute()

void ns3::NrHelper::SetGnbChannelAccessManagerAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB channel access manager, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrChAccessManager

Definition at line 1235 of file nr-helper.cc.

◆ SetGnbChannelAccessManagerTypeId()

void ns3::NrHelper::SetGnbChannelAccessManagerTypeId ( const TypeId &  typeId)

Set the TypeId of the GNB Channel Access Manager. Works only before it is created.

Parameters
typeIdthe type of the object
See also
NrChAccessManager
NrAlwaysOnAccessManager

Definition at line 1298 of file nr-helper.cc.

◆ SetGnbDlAmcAttribute()

void ns3::NrHelper::SetGnbDlAmcAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB DL AMC, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrAmc

Definition at line 1326 of file nr-helper.cc.

Referenced by SetDlErrorModel().

+ Here is the caller graph for this function:

◆ SetGnbMacAttribute()

void ns3::NrHelper::SetGnbMacAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB MAC, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrGnbMac

Definition at line 1207 of file nr-helper.cc.

◆ SetGnbPhyAttribute()

void ns3::NrHelper::SetGnbPhyAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB PHY, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrGnbPhy

Definition at line 1256 of file nr-helper.cc.

◆ SetGnbSpectrumAttribute()

void ns3::NrHelper::SetGnbSpectrumAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB spectrum, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrSpectrumPhy

Definition at line 1214 of file nr-helper.cc.

Referenced by SetUlErrorModel().

+ Here is the caller graph for this function:

◆ SetGnbUlAmcAttribute()

void ns3::NrHelper::SetGnbUlAmcAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB UL AMC, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrAmc

Definition at line 1333 of file nr-helper.cc.

Referenced by SetUlErrorModel().

+ Here is the caller graph for this function:

◆ SetHandoverAlgorithmAttribute()

void ns3::NrHelper::SetHandoverAlgorithmAttribute ( std::string  n,
const AttributeValue &  v 
)

Definition at line 943 of file nr-helper.cc.

◆ SetHandoverAlgorithmType()

void ns3::NrHelper::SetHandoverAlgorithmType ( std::string  type)

Definition at line 935 of file nr-helper.cc.

◆ SetInitialAssocAttribute()

void ns3::NrHelper::SetInitialAssocAttribute ( const std::string &  name,
const AttributeValue &  value 
)

Set attribute of the initial attachment algorithm.

Parameters
nameattribute to set
valuevalue of the attribute

Definition at line 1929 of file nr-helper.cc.

Referenced by SetupInitialAssoc().

+ Here is the caller graph for this function:

◆ SetInitialAssocTypeId()

void ns3::NrHelper::SetInitialAssocTypeId ( const TypeId &  typeId)

Set TypeId of the initial attachment algorithm.

Parameters
typeIdClass TypeId

Definition at line 1916 of file nr-helper.cc.

◆ SetPmSearchAttribute()

void ns3::NrHelper::SetPmSearchAttribute ( const std::string &  name,
const AttributeValue &  value 
)

Set attribute of the precoding matrix search algorithm.

Parameters
nameattribute to set
valuevalue of the attribute

Definition at line 1922 of file nr-helper.cc.

Referenced by SetupMimoPmi().

+ Here is the caller graph for this function:

◆ SetPmSearchTypeId()

void ns3::NrHelper::SetPmSearchTypeId ( const TypeId &  typeId)

Set TypeId of the precoding matrix search algorithm.

Parameters
typeIdClass TypeId

Definition at line 1910 of file nr-helper.cc.

Referenced by GetTypeId(), and SetupMimoPmi().

+ Here is the caller graph for this function:

◆ SetSchedulerAttribute()

void ns3::NrHelper::SetSchedulerAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the scheduler, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrMacSchedulerNs3

Definition at line 1242 of file nr-helper.cc.

◆ SetSchedulerTypeId()

void ns3::NrHelper::SetSchedulerTypeId ( const TypeId &  typeId)

Set the Scheduler TypeId. Works only before it is created.

Parameters
typeIdThe scheduler type
See also
NrMacSchedulerOfdmaPF
NrMacSchedulerOfdmaRR
NrMacSchedulerOfdmaMR
NrMacSchedulerTdmaPF
NrMacSchedulerTdmaRR
NrMacSchedulerTdmaMR

Definition at line 1305 of file nr-helper.cc.

◆ SetSnrTest()

void ns3::NrHelper::SetSnrTest ( bool  snrTest)

SetSnrTest.

Parameters
snrTest

We never really tested this function, so please be careful when using it.

Definition at line 281 of file nr-helper.cc.

◆ SetUeAntennaAttribute()

void ns3::NrHelper::SetUeAntennaAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the UE antenna, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
UniformPlanarArray (in ns-3 documentation)

Definition at line 1263 of file nr-helper.cc.

Referenced by SetupUeAntennas().

+ Here is the caller graph for this function:

◆ SetUeAntennaTypeId()

void ns3::NrHelper::SetUeAntennaTypeId ( const std::string &  typeId)

Set a different TypeId for the UE antenna device.

Parameters
typeIdthe antenna TypeId

Definition at line 1277 of file nr-helper.cc.

◆ SetUeBwpManagerAlgorithmAttribute()

void ns3::NrHelper::SetUeBwpManagerAlgorithmAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the GNB BWP Manager, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 1319 of file nr-helper.cc.

◆ SetUeBwpManagerAlgorithmTypeId()

void ns3::NrHelper::SetUeBwpManagerAlgorithmTypeId ( const TypeId &  typeId)

Set the TypeId of the UE BWP Manager. Works only before it is created.

Parameters
typeIdType of the object
See also
BwpManagerAlgorithm

Definition at line 1312 of file nr-helper.cc.

◆ SetUeChannelAccessManagerAttribute()

void ns3::NrHelper::SetUeChannelAccessManagerAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the UE channel access manager, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrChAccessManager

Definition at line 1228 of file nr-helper.cc.

◆ SetUeChannelAccessManagerTypeId()

void ns3::NrHelper::SetUeChannelAccessManagerTypeId ( const TypeId &  typeId)

Set the TypeId of the UE Channel Access Manager. Works only before it is created.

Parameters
typeIdthe type of the object
See also
NrChAccessManager
NrAlwaysOnAccessManager

Definition at line 1291 of file nr-helper.cc.

◆ SetUeMacAttribute()

void ns3::NrHelper::SetUeMacAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the UE MAC, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrUeMac

Definition at line 1200 of file nr-helper.cc.

◆ SetUePhyAttribute()

void ns3::NrHelper::SetUePhyAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the UE PHY, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrUePhy

Definition at line 1249 of file nr-helper.cc.

◆ SetUeSpectrumAttribute()

void ns3::NrHelper::SetUeSpectrumAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the UE spectrum, before it is created.

Parameters
nthe name of the attribute
vthe value of the attribute
See also
NrSpectrumPhy

Definition at line 1221 of file nr-helper.cc.

Referenced by SetDlErrorModel().

+ Here is the caller graph for this function:

◆ SetUlErrorModel()

void ns3::NrHelper::SetUlErrorModel ( const std::string &  errorModelTypeId)

Set the ErrorModel for UL AMC and UE spectrum at the same time.

Parameters
errorModelTypeIdThe TypeId of the error model

Equivalent to the calls to

  • SetGnbUlAmcAttribute ("ErrorModelType", ....
  • SetGnbSpectrumAttribute ("ErrorModelType", ...
See also
NrErrorModel
NrEesmIrT2
NrEesmIrT1
NrEesmCcT1
NrEesmCcT2
NrLteMiErrorModel

Definition at line 1361 of file nr-helper.cc.

References SetGnbSpectrumAttribute(), and SetGnbUlAmcAttribute().

+ Here is the call graph for this function:

◆ SetupGnbAntennas()

◆ SetupInitialAssoc()

void ns3::NrHelper::SetupInitialAssoc ( const InitialAssocParams params)

Set parameters for max RSRP based Initial Association.

Parameters
paramsthe struct with initial association parameters

Definition at line 2023 of file nr-helper.cc.

References ns3::NrHelper::InitialAssocParams::handoffMargin, ns3::NrHelper::InitialAssocParams::primaryCarrierIndex, and SetInitialAssocAttribute().

+ Here is the call graph for this function:

◆ SetupMimoPmi()

◆ SetupUeAntennas()

◆ UpdateDeviceConfigs()

void ns3::NrHelper::UpdateDeviceConfigs ( const NetDeviceContainer &  netDevs)

Update NetDevice configuration of one or more devices.

This method finishes cell configuration in the RRC once PHY configuration is finished.

After NrHelper::Install() is called on gNB nodes, either this method or the NrGnbNetDevice::UpdateConfig() method must be called exactly once, after any post-install PHY configuration is done (if any), and before any call is made (if any) to attach UEs to gNBs such as AttachToGnb() and AttachToClosestGnb().

This method will assert if called twice on the same container.

This method will cause a deprecation warning to be emitted if called on NrUeNetDevice types, and will have no effect on other ns-3 NetDevice types.

Parameters
netDevsNetDevice container with the gNBs

This method is deprecated and no longer needed and will be removed from future versions of this helper.

Definition at line 325 of file nr-helper.cc.


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