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

#include "nr-lte-mi-error-model.h"

+ Inheritance diagram for ns3::NrLteMiErrorModel:
+ Collaboration diagram for ns3::NrLteMiErrorModel:

Public Member Functions

 NrLteMiErrorModel ()
 NrLteMiErrorModel constructor.
 
 ~NrLteMiErrorModel () override
 ~NrLteMiErrorModel
 
uint32_t GetMaxCbSize (uint32_t tbSize, uint8_t mcs) const override
 Get the maximum code block size, as per LTE.
 
uint8_t GetMaxMcs () const override
 Get the maximum MCS.
 
uint32_t GetPayloadSize (uint32_t usefulSC, uint8_t mcs, uint8_t rank, uint32_t rbNum, Mode mode) const override
 Get the payload size, following the MCSs in LTE.
 
double GetSpectralEfficiencyForCqi (uint8_t cqi) override
 Get the SE for a given CQI, following the CQIs in LTE.
 
double GetSpectralEfficiencyForMcs (uint8_t mcs) const override
 Get the SE for a given MCS, following the MCSs in LTE.
 
Ptr< NrErrorModelOutputGetTbDecodificationStats (const SpectrumValue &sinr, const std::vector< int > &map, uint32_t size, uint8_t mcs, const NrErrorModelHistory &history) override
 Get an output for the decodification error probability of a given transport block, assuming the MIESM method, NR TC coding and block segmentation, MCSs in LTE, and HARQ based on IR.
 
- Public Member Functions inherited from ns3::NrErrorModel
 NrErrorModel ()
 NrErrorModel default constructor.
 
 ~NrErrorModel () override
 deconstructor
 
virtual NrSinrMatrix ComputeAvgSinrMimo (const std::vector< MimoSinrChunk > &sinrChunks)
 Compute an average SINR matrix.
 
std::vector< int > CreateVectorizedRbMap (std::vector< int > map, uint8_t rank)
 Create an equivalent RB index map for vectorized SINR values Matches layer-to-codeword mapping in TR 38.211, Table 7.3.1.3-1 If map contains index "j", the output vectorized map contains {j * rank, j * rank + 1, ..., j * rank + rank - 1}. Example: input RB map = {0, 1, 7, 11}, rank = 2 vectorizedMap = {0, 1, 2, 3, 14, 15, 22, 23}.
 
virtual Ptr< NrErrorModelOutputGetTbDecodificationStatsMimo (const std::vector< MimoSinrChunk > &mimoChunks, const std::vector< int > &map, uint32_t size, uint8_t mcs, uint8_t rank, const NrErrorModelHistory &history)
 Get an output for the decoding error probability of a given transport block. This method is not purely virtual. If derived ErrorModel does not override, the MIMO matrix is converted to a linear SpectrumValue, and the non-MIMO method is called.
 

Static Public Member Functions

static TypeId GetTypeId ()
 GetTypeId.
 
- Static Public Member Functions inherited from ns3::NrErrorModel
static TypeId GetTypeId ()
 GetTypeId.
 

Additional Inherited Members

- Public Types inherited from ns3::NrErrorModel
enum  Mode { DL , UL }
 Indicate the mode (UL or DL) More...
 
typedef std::vector< Ptr< NrErrorModelOutput > > NrErrorModelHistory
 Vector of previous output.
 

Detailed Description

This class provides the BLER estimation based on mutual information metrics, assuming TC coding with block segmentation as per TS 36.212 Sect. 5.1.2 and modulation and coding in TS 36.214 including up to 64-QAM. The BLER-SINR curves are obtained from a link level simulator (Vienna) that uses TC coding and said MCSs. In case of HARQ, the model currently follows HARQ with Incremental Redundancy, so that both the ECR and the MI are updated based on IEEE 802.16m-08/004r2.

Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 56 bytes (on a 64-bit architecture).

Definition at line 58 of file nr-lte-mi-error-model.h.

Constructor & Destructor Documentation

◆ NrLteMiErrorModel()

ns3::NrLteMiErrorModel::NrLteMiErrorModel ( )

NrLteMiErrorModel constructor.

Definition at line 900 of file nr-lte-mi-error-model.cc.

◆ ~NrLteMiErrorModel()

ns3::NrLteMiErrorModel::~NrLteMiErrorModel ( )
override

~NrLteMiErrorModel

Definition at line 906 of file nr-lte-mi-error-model.cc.

Member Function Documentation

◆ GetMaxCbSize()

uint32_t ns3::NrLteMiErrorModel::GetMaxCbSize ( uint32_t  tbSize,
uint8_t  mcs 
) const
overridevirtual

Get the maximum code block size, as per LTE.

Implements ns3::NrErrorModel.

Definition at line 1275 of file nr-lte-mi-error-model.cc.

◆ GetMaxMcs()

uint8_t ns3::NrLteMiErrorModel::GetMaxMcs ( ) const
overridevirtual

Get the maximum MCS.

Returns
the maximum MCS that is permitted with the error model

Implements ns3::NrErrorModel.

Definition at line 1282 of file nr-lte-mi-error-model.cc.

Referenced by GetSpectralEfficiencyForMcs().

+ Here is the caller graph for this function:

◆ GetPayloadSize()

uint32_t ns3::NrLteMiErrorModel::GetPayloadSize ( uint32_t  usefulSC,
uint8_t  mcs,
uint8_t  rank,
uint32_t  rbNum,
Mode  mode 
) const
overridevirtual

Get the payload size, following the MCSs in LTE.

Implements ns3::NrErrorModel.

Definition at line 1257 of file nr-lte-mi-error-model.cc.

◆ GetSpectralEfficiencyForCqi()

double ns3::NrLteMiErrorModel::GetSpectralEfficiencyForCqi ( uint8_t  cqi)
overridevirtual

Get the SE for a given CQI, following the CQIs in LTE.

Implements ns3::NrErrorModel.

Definition at line 1239 of file nr-lte-mi-error-model.cc.

◆ GetSpectralEfficiencyForMcs()

double ns3::NrLteMiErrorModel::GetSpectralEfficiencyForMcs ( uint8_t  mcs) const
overridevirtual

Get the SE for a given MCS, following the MCSs in LTE.

Implements ns3::NrErrorModel.

Definition at line 1248 of file nr-lte-mi-error-model.cc.

References GetMaxMcs().

+ Here is the call graph for this function:

◆ GetTbDecodificationStats()

Ptr< NrErrorModelOutput > ns3::NrLteMiErrorModel::GetTbDecodificationStats ( const SpectrumValue &  sinr,
const std::vector< int > &  map,
uint32_t  size,
uint8_t  mcs,
const NrErrorModelHistory history 
)
overridevirtual

Get an output for the decodification error probability of a given transport block, assuming the MIESM method, NR TC coding and block segmentation, MCSs in LTE, and HARQ based on IR.

Parameters
sinrSINR vector
mapRB map
sizeTransport block size (bytes)
mcsMCS
historyHistory of the retransmission
Returns
A pointer to an output, with the tbler and accumulated MI, effective MI, code bits, and info bits.

Implements ns3::NrErrorModel.

Definition at line 1062 of file nr-lte-mi-error-model.cc.

◆ GetTypeId()

TypeId ns3::NrLteMiErrorModel::GetTypeId ( )
static

GetTypeId.

Returns
the object type id

Definition at line 912 of file nr-lte-mi-error-model.cc.

Referenced by ns3::NrAmc::GetTypeId(), and ns3::NrSpectrumPhy::GetTypeId().

+ Here is the caller graph for this function:

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