A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
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
 
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
 

Detailed Description

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

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

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

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

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

+ Here is the caller graph for this function:

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