This class provides the BLER estimation based on mutual information metrics. More...
#include "lte-mi-error-model.h"
Static Public Member Functions | |
static double | GetPcfichPdcchError (const SpectrumValue &sinr) |
run the error-model algorithm for the specified PCFICH+PDCCH channels More... | |
static TbStats_t | GetTbDecodificationStats (const SpectrumValue &sinr, const std::vector< int > &map, uint16_t size, uint8_t mcs, HarqProcessInfoList_t miHistory) |
run the error-model algorithm for the specified TB More... | |
static double | MappingMiBler (double mib, uint8_t ecrId, uint16_t cbSize) |
map the mmib (mean mutual information per bit) for different MCS More... | |
static double | Mib (const SpectrumValue &sinr, const std::vector< int > &map, uint8_t mcs) |
find the mmib (mean mutual information per bit) for different modulations of the specified TB More... | |
This class provides the BLER estimation based on mutual information metrics.
Definition at line 81 of file lte-mi-error-model.h.
|
static |
run the error-model algorithm for the specified PCFICH+PDCCH channels
sinr | the perceived sinrs in the whole bandwidth |
Definition at line 466 of file lte-mi-error-model.cc.
References max, ns3::MI_map_qpsk, ns3::MI_map_qpsk_axis, ns3::MI_MAP_QPSK_SIZE, NS_ASSERT, NS_ASSERT_MSG(), NS_LOG_FUNCTION, ns3::PDCCH_PCFICH_CURVE_SIZE, ns3::PdcchPcfichBlerCurveXaxis, ns3::PdcchPcfichBlerCurveYaxis, ns3::SpectrumValue::ValuesBegin(), and ns3::SpectrumValue::ValuesEnd().
Referenced by ns3::LteSpectrumPhy::EndRxDlCtrl().
|
static |
run the error-model algorithm for the specified TB
sinr | the perceived sinrs in the whole bandwidth |
map | the actives RBs for the TB |
size | the size in bytes of the TB |
mcs | the MCS of the TB |
miHistory | MI of past transmissions (in case of retx) |
Definition at line 557 of file lte-mi-error-model.cc.
References ns3::BlerCurvesEcrMap, ns3::cbSizeTable, MappingMiBler(), max, ns3::McsEcrBlerTableMapping, ns3::McsEcrTable, ns3::TbStats_t::mi, ns3::MI_16QAM_MAX_ID, ns3::MI_64QAM_MAX_ID, ns3::MI_QPSK_MAX_ID, Mib(), min, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC(), and ns3::TbStats_t::tbler.
Referenced by ns3::LteAmc::CreateCqiFeedbacks(), and ns3::LteSpectrumPhy::EndRxData().
|
static |
map the mmib (mean mutual information per bit) for different MCS
mib | mean mutual information per bit of a code-block |
ecrId | Effective Code Rate ID |
cbSize | the size of the CB |
Definition at line 420 of file lte-mi-error-model.cc.
References ns3::bEcrTable, ns3::BlerCurvesEcrMap, ns3::cbMiSizeTable, ns3::cEcrTable, ns3::MI_64QAM_BLER_MAX_ID, NS_ASSERT_MSG(), NS_LOG_FUNCTION, and NS_LOG_LOGIC().
Referenced by GetTbDecodificationStats().
|
static |
find the mmib (mean mutual information per bit) for different modulations of the specified TB
sinr | the perceived sinrs in the whole bandwidth |
map | the actives RBs for the TB |
mcs | the MCS of the TB |
Definition at line 335 of file lte-mi-error-model.cc.
References max, ns3::MI_16QAM_MAX_ID, ns3::MI_map_16qam, ns3::MI_map_16qam_axis, ns3::MI_MAP_16QAM_SIZE, ns3::MI_map_64qam, ns3::MI_map_64qam_axis, ns3::MI_MAP_64QAM_SIZE, ns3::MI_map_qpsk, ns3::MI_map_qpsk_axis, ns3::MI_MAP_QPSK_SIZE, ns3::MI_QPSK_MAX_ID, NS_ASSERT_MSG(), NS_LOG_FUNCTION, and NS_LOG_LOGIC().
Referenced by GetTbDecodificationStats().