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 | |
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 | |
static double | MappingMiBler (double mib, uint8_t ecrId, uint16_t cbSize) |
map the mmib (mean mutual information per bit) for different MCS | |
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 | |
This class provides the BLER estimation based on mutual information metrics.
Definition at line 66 of file lte-mi-error-model.h.
|
static |
run the error-model algorithm for the specified PCFICH+PDCCH channels
sinr | the perceived sinr values in the whole bandwidth in Watt |
Definition at line 1029 of file lte-mi-error-model.cc.
References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), 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, and ns3::PdcchPcfichBlerCurveYaxis.
Referenced by ns3::LteSpectrumPhy::EndRxDlCtrl().
|
static |
run the error-model algorithm for the specified TB
sinr | the perceived sinr values in the whole bandwidth in Watt |
map | the active 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 1118 of file lte-mi-error-model.cc.
References ns3::BlerCurvesEcrMap, ns3::cbSizeTable, MappingMiBler(), ns3::McsEcrBlerTableMapping, ns3::McsEcrTable, ns3::TbStats_t::mi, ns3::MI_16QAM_MAX_ID, ns3::MI_64QAM_MAX_ID, ns3::MI_QPSK_MAX_ID, Mib(), 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().
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 984 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 sinr values in the whole bandwidth in Watt |
map | the active RBs for the TB |
mcs | the MCS of the TB |
Definition at line 896 of file lte-mi-error-model.cc.
References 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().