![]() |
5G-LENA nr-v3.3-161-gad18933f
The 5G/NR module for the ns-3 simulator
|
#include "nr-lte-mi-error-model.h"
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< NrErrorModelOutput > | GetTbDecodificationStats (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. | |
![]() | |
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< NrErrorModelOutput > | GetTbDecodificationStatsMimo (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 TypeId | GetTypeId () |
GetTypeId. | |
Additional Inherited Members | |
![]() | |
enum | Mode { DL , UL } |
Indicate the mode (UL or DL) More... | |
typedef std::vector< Ptr< NrErrorModelOutput > > | NrErrorModelHistory |
Vector of previous output. | |
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.
ns3::NrLteMiErrorModel::NrLteMiErrorModel | ( | ) |
NrLteMiErrorModel constructor.
Definition at line 900 of file nr-lte-mi-error-model.cc.
|
override |
~NrLteMiErrorModel
Definition at line 906 of file nr-lte-mi-error-model.cc.
|
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.
|
overridevirtual |
Get the maximum MCS.
Implements ns3::NrErrorModel.
Definition at line 1282 of file nr-lte-mi-error-model.cc.
Referenced by GetSpectralEfficiencyForMcs().
|
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.
|
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.
|
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().
|
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.
sinr | SINR vector |
map | RB map |
size | Transport block size (bytes) |
mcs | MCS |
history | History of the retransmission |
Implements ns3::NrErrorModel.
Definition at line 1062 of file nr-lte-mi-error-model.cc.
|
static |
GetTypeId.
Definition at line 912 of file nr-lte-mi-error-model.cc.
Referenced by ns3::NrAmc::GetTypeId(), and ns3::NrSpectrumPhy::GetTypeId().