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