5#include "lena-error-model.h"
14NS_LOG_COMPONENT_DEFINE(
"LenaErrorModel");
15NS_OBJECT_ENSURE_REGISTERED(LenaErrorModel);
20 NS_LOG_FUNCTION(
this);
25 NS_LOG_FUNCTION(
this);
35 NS_ASSERT_MSG(rank == 1,
"Lena error model does not support MIMO");
36 NS_LOG_FUNCTION(
this);
47 uint32_t lenaRBNum = 0;
51 NS_LOG_INFO(
"Available resources are smaller than the minimum allowed in order to use the "
58 lenaRBNum = rbNum / 11;
60 else if (rbNum % 12 == 0)
62 lenaRBNum = rbNum / 12;
66 lenaRBNum = rbNum / 13;
71 NS_LOG_DEBUG(
"Asking LENA AMC to retrieve the TBS for MCS " << +mcs <<
" and RB " << lenaRBNum);
86 static TypeId tid = TypeId(
"ns3::LenaErrorModel")
88 .AddConstructor<LenaErrorModel>();
LenaErrorModel()
NrLteMiErrorModel constructor.
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.
~LenaErrorModel() override
~NrLteMiErrorModel
static TypeId GetTypeId()
GetTypeId.
Mode
Indicate the mode (UL or DL)
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....
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....