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

#include "nr-lte-amc.h"

+ Inheritance diagram for ns3::NrLteAmc:
+ Collaboration diagram for ns3::NrLteAmc:

Public Types

enum  AmcModel { PiroEW2010 , MiErrorModel }
 Types of AMC model. More...
 

Public Member Functions

int GetCqiFromSpectralEfficiency (double s)
 Get a proper CQI for the spectral efficiency value. In order to assure a lower block error rate, the AMC chooses the lower CQI value for a given spectral efficiency.
 
int GetDlTbSizeFromMcs (int mcs, int nprb)
 Get the Transport Block Size for a selected MCS and number of PRB (table 7.1.7.2.1-1 of 36.213)
 
int GetMcsFromCqi (int cqi)
 Get the Modulation and Coding Scheme for a CQI value.
 
int GetUlTbSizeFromMcs (int mcs, int nprb)
 Get the Transport Block Size for a selected MCS and number of PRB (table 8.6.1-1 of 36.213)
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 

Detailed Description

Implements the Adaptive Modulation And Coding Scheme. As proposed in 3GPP TSG-RAN WG1 [R1-081483 Conveying MCS and TB size via PDCCH] (http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_52b/Docs/R1-081483.zip).

Introspection did not find any typical Config paths.

Attributes

  • Ber: The requested BER in assigning MCS (default is 0.00005).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 5e-05
    • Flags: construct write read
  • AmcModel: AMC model used to assign CQI
    • Set with class: ns3::EnumValue<ns3::NrLteAmc::AmcModel>
    • Underlying type: Vienna|PiroEW2010
    • Initial value: Vienna
    • Flags: construct write read

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

Definition at line 28 of file nr-lte-amc.h.

Member Enumeration Documentation

◆ AmcModel

Types of AMC model.

Enumerator
PiroEW2010 

An AMC model based on Piro, G.; Grieco, L.A; Boggia, G.; Camarda, P., "A two-level scheduling algorithm for QoS support in the downlink of LTE cellular networks," Wireless Conference (EW), 2010 European, pp.246,253, 12-15 April 2010.

MiErrorModel 

An AMC model based on 10% of BER according to NrLteMiErrorModel.

Definition at line 41 of file nr-lte-amc.h.

Constructor & Destructor Documentation

◆ NrLteAmc()

ns3::NrLteAmc::NrLteAmc ( )

Definition at line 442 of file nr-lte-amc.cc.

◆ ~NrLteAmc()

ns3::NrLteAmc::~NrLteAmc ( )
override

Definition at line 446 of file nr-lte-amc.cc.

Member Function Documentation

◆ GetCqiFromSpectralEfficiency()

int ns3::NrLteAmc::GetCqiFromSpectralEfficiency ( double  s)

Get a proper CQI for the spectral efficiency value. In order to assure a lower block error rate, the AMC chooses the lower CQI value for a given spectral efficiency.

Parameters
sthe spectral efficiency
Returns
the CQI value

Definition at line 475 of file nr-lte-amc.cc.

◆ GetDlTbSizeFromMcs()

int ns3::NrLteAmc::GetDlTbSizeFromMcs ( int  mcs,
int  nprb 
)

Get the Transport Block Size for a selected MCS and number of PRB (table 7.1.7.2.1-1 of 36.213)

Parameters
mcsthe MCS index
nprbthe no. of PRB
Returns
the Transport Block Size in bits

Definition at line 504 of file nr-lte-amc.cc.

Referenced by ns3::LenaErrorModel::GetPayloadSize().

+ Here is the caller graph for this function:

◆ GetMcsFromCqi()

int ns3::NrLteAmc::GetMcsFromCqi ( int  cqi)

Get the Modulation and Coding Scheme for a CQI value.

Parameters
cqithe cqi value
Returns
the MCS value

Definition at line 489 of file nr-lte-amc.cc.

◆ GetTypeId()

TypeId ns3::NrLteAmc::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 451 of file nr-lte-amc.cc.

◆ GetUlTbSizeFromMcs()

int ns3::NrLteAmc::GetUlTbSizeFromMcs ( int  mcs,
int  nprb 
)

Get the Transport Block Size for a selected MCS and number of PRB (table 8.6.1-1 of 36.213)

Parameters
mcsthe MCS index
nprbthe no. of PRB
Returns
the Transport Block Size in bits

Definition at line 516 of file nr-lte-amc.cc.

Referenced by ns3::LenaErrorModel::GetPayloadSize().

+ Here is the caller graph for this function:

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