A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::LteMiErrorModel Class Reference

#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 double GetTbError (const SpectrumValue &sinr, const std::vector< int > &map, uint16_t size, uint8_t mcs)
 run the error-model algorithm for the specified TB
static double MappingMiBler (double mib, uint8_t mcs, 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

Detailed Description

This class provides the BLER estimation based on mutual information metrics

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

Member Function Documentation

double ns3::LteMiErrorModel::GetPcfichPdcchError ( const SpectrumValue sinr)
static

run the error-model algorithm for the specified PCFICH+PDCCH channels

Parameters
sinrthe perceived sinrs in the whole bandwidth
Returns
the decodification error of the PCFICH+PDCCH channels

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

References 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ns3::LteMiErrorModel::GetTbError ( const SpectrumValue sinr,
const std::vector< int > &  map,
uint16_t  size,
uint8_t  mcs 
)
static

run the error-model algorithm for the specified TB

Parameters
sinrthe perceived sinrs in the whole bandwidth
mapthe actives RBs for the TB
sizethe size in bytes of the TB
mcsthe MCS of the TB
Returns
the TB error rate

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

References ns3::cbSizeTable, MappingMiBler(), Mib(), NS_LOG_FUNCTION, NS_LOG_INFO, and NS_LOG_LOGIC.

Referenced by ns3::LteAmc::CreateCqiFeedbacks(), and ns3::LteSpectrumPhy::EndRxData().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ns3::LteMiErrorModel::MappingMiBler ( double  mib,
uint8_t  mcs,
uint16_t  cbSize 
)
static

map the mmib (mean mutual information per bit) for different MCS

Parameters
mmibmean mutual information per bit of a code-block
mcsthe MCS
cbSizethe size of the CB
Returns
the code block error rate

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

References ns3::bEcrTable, ns3::cbMiSizeTable, ns3::cEcrTable, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::TbsIndex.

Referenced by GetTbError().

+ Here is the caller graph for this function:

double ns3::LteMiErrorModel::Mib ( const SpectrumValue sinr,
const std::vector< int > &  map,
uint8_t  mcs 
)
static

find the mmib (mean mutual information per bit) for different modulations of the specified TB

Parameters
sinrthe perceived sinrs in the whole bandwidth
mapthe actives RBs for the TB
mcsthe MCS of the TB
Returns
the mmib

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

References 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, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by GetTbError().

+ Here is the caller graph for this function:


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