32 #ifndef LTE_MI_ERROR_MODEL_H
33 #define LTE_MI_ERROR_MODEL_H
40 #include <ns3/spectrum-value.h>
41 #include <ns3/lte-harq-phy.h>
48 const uint16_t PDCCH_PCFICH_CURVE_SIZE = 46;
49 const uint16_t MI_MAP_QPSK_SIZE = 797;
50 const uint16_t MI_MAP_16QAM_SIZE = 994;
51 const uint16_t MI_MAP_64QAM_SIZE = 752;
52 const uint16_t MI_QPSK_MAX_ID = 9;
53 const uint16_t MI_16QAM_MAX_ID = 16;
54 const uint16_t MI_64QAM_MAX_ID = 28;
55 const uint16_t MI_QPSK_BLER_MAX_ID = 12;
56 const uint16_t MI_16QAM_BLER_MAX_ID = 22;
57 const uint16_t MI_64QAM_BLER_MAX_ID = 37;
82 static double Mib (
const SpectrumValue& sinr,
const std::vector<int>& map, uint8_t mcs);
90 static double MappingMiBler (
double mib, uint8_t ecrId, uint16_t cbSize);
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 GetPcfichPdcchError(const SpectrumValue &sinr)
run the error-model algorithm for the specified PCFICH+PDCCH channels
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 ...
Set of values corresponding to a given SpectrumModel.
static double MappingMiBler(double mib, uint8_t ecrId, uint16_t cbSize)
map the mmib (mean mutual information per bit) for different MCS