A Discrete-Event Network Simulator
API
ns3::LteMiErrorModel Class Reference

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...
 

Detailed Description

This class provides the BLER estimation based on mutual information metrics.

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

Member Function Documentation

◆ GetPcfichPdcchError()

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

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

Parameters
sinrthe perceived sinr values in the whole bandwidth in Watt
Returns
the decodification error of the PCFICH+PDCCH channels

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

References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), 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, and ns3::PdcchPcfichBlerCurveYaxis.

Referenced by ns3::LteSpectrumPhy::EndRxDlCtrl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTbDecodificationStats()

TbStats_t ns3::LteMiErrorModel::GetTbDecodificationStats ( const SpectrumValue sinr,
const std::vector< int > &  map,
uint16_t  size,
uint8_t  mcs,
HarqProcessInfoList_t  miHistory 
)
static

run the error-model algorithm for the specified TB

Parameters
sinrthe perceived sinr values in the whole bandwidth in Watt
mapthe active RBs for the TB
sizethe size in bytes of the TB
mcsthe MCS of the TB
miHistoryMI of past transmissions (in case of retx)
Returns
the TB error rate and MI

Definition at line 562 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::LteSpectrumPhy::EndRxData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MappingMiBler()

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

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

Parameters
mibmean mutual information per bit of a code-block
ecrIdEffective Code Rate ID
cbSizethe size of the CB
Returns
the code block error rate

Definition at line 426 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().

+ Here is the caller graph for this function:

◆ Mib()

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 sinr values in the whole bandwidth in Watt
mapthe active RBs for the TB
mcsthe MCS of the TB
Returns
the mmib

Definition at line 342 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().

+ Here is the caller graph for this function:

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