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 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 56 of file lte-mi-error-model.h.

Member Function Documentation

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
modulationthe modulations (qpsk, 16-qam, 64-qam)
codeblock-size and code-rate

Definition at line 359 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::EndRx().

+ 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 bler

Definition at line 315 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
cmsthe MCS of the TB
Returns
the mmib

Definition at line 240 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: