--- a/src/lte/model/lte-mi-error-model.cc Fri Jan 27 13:56:51 2012 +0100
+++ b/src/lte/model/lte-mi-error-model.cc Fri Jan 27 17:52:58 2012 +0100
@@ -202,22 +202,10 @@
};
-
-LteMiErrorModel::LteMiErrorModel (void)
+double
+LteMiErrorModel::Mib (SpectrumValue& sinr, const std::vector<int>& map, uint8_t mcs)
{
- //NS_LOG_FUNCTION (this);
-}
-
-
-LteMiErrorModel::~LteMiErrorModel (void)
-{
-}
-
-
-double
-LteMiErrorModel::Mib (SpectrumValue& sinr, std::vector<int> map, uint8_t mcs)
-{
- NS_LOG_FUNCTION_NOARGS ();
+ NS_LOG_FUNCTION (sinr << &map << (uint32_t) mcs);
double MI;
double MIsum = 0.0;
@@ -281,11 +269,11 @@
}
}
}
- NS_LOG_FUNCTION (" RB " << map.at (i) << "Minimum SNR = " << sinr_db << " dB, MCS = " << (uint16_t)mcs << ", MI = " << MI);
+ NS_LOG_LOGIC (" RB " << map.at (i) << "Minimum SNR = " << sinr_db << " dB, MCS = " << (uint16_t)mcs << ", MI = " << MI);
MIsum += MI;
}
MI = MIsum / map.size ();
- NS_LOG_FUNCTION (" MI = " << MI);
+ NS_LOG_LOGIC (" MI = " << MI);
return MI;
}
@@ -293,7 +281,7 @@
double
LteMiErrorModel::MappingMiBler (double mib, uint8_t mcs, uint16_t cbSize)
{
- //NS_LOG_FUNCTION (this);
+ NS_LOG_FUNCTION (mib << (uint32_t) mcs << (uint32_t) cbSize);
double b = 0;
double c = 0;
NS_ASSERT_MSG (mcs>=0 && mcs < 32, "MCS out of range");
@@ -304,7 +292,7 @@
cbIndex++;
}
cbIndex--;
- NS_LOG_FUNCTION (" MCS " << (uint16_t)mcs << " TBS " << tbsIndex << " CB size " << cbSize << " CB size curve " << cbMiSizeTable[cbIndex]);
+ NS_LOG_LOGIC (" MCS " << (uint16_t)mcs << " TBS " << tbsIndex << " CB size " << cbSize << " CB size curve " << cbMiSizeTable[cbIndex]);
b = bEcrTable[cbIndex][tbsIndex];
if (b<0.0)
@@ -330,15 +318,15 @@
}
// see IEEE802.16m EMD formula 55 of section 4.3.2.1
double bler = 0.5*( 1 - erf((mib-b)/(sqrt(2)*c)) );
- NS_LOG_FUNCTION ("MIB: " << mib << " BLER:" << bler);
+ NS_LOG_LOGIC ("MIB: " << mib << " BLER:" << bler);
return bler;
}
double
-LteMiErrorModel::GetTbError (SpectrumValue& sinr, std::vector<int> map, uint16_t size, uint8_t mcs)
+LteMiErrorModel::GetTbError (SpectrumValue& sinr, const std::vector<int>& map, uint16_t size, uint8_t mcs)
{
- NS_LOG_FUNCTION_NOARGS ();
+ NS_LOG_FUNCTION (sinr << &map << (uint32_t) size << (uint32_t) mcs);
double MI = Mib(sinr, map, mcs);
// estimate CB size (according to sec 5.1.2 of TS 36.212)
@@ -452,7 +440,7 @@
errorRate = MappingMiBler (MI, mcs, Kplus);
}
- NS_LOG_FUNCTION (" Error rate " << errorRate);
+ NS_LOG_LOGIC (" Error rate " << errorRate);
return errorRate;
}
--- a/src/lte/model/lte-mi-error-model.h Fri Jan 27 13:56:51 2012 +0100
+++ b/src/lte/model/lte-mi-error-model.h Fri Jan 27 17:52:58 2012 +0100
@@ -50,10 +50,6 @@
public:
- LteMiErrorModel (void);
-
- ~LteMiErrorModel (void);
-
/**
* \brief find the mmib (mean mutual information per bit) for different modulations of the specified TB
* \param sinr the perceived sinrs in the whole bandwidth
@@ -61,7 +57,7 @@
* \param cms the MCS of the TB
* \return the mmib
*/
- static double Mib (SpectrumValue& sinr, std::vector<int> map, uint8_t mcs);
+ static double Mib (SpectrumValue& sinr, const std::vector<int>& map, uint8_t mcs);
/**
* \brief map the mmib (mean mutual information per bit) for different MCS
* \param mmib mean mutual information per bit of a code-block
@@ -76,7 +72,7 @@
* \param modulation the modulations (qpsk, 16-qam, 64-qam)
* \param code block-size and code-rate
*/
- static double GetTbError (SpectrumValue& sinr, std::vector<int> map, uint16_t size, uint8_t mcs);
+ static double GetTbError (SpectrumValue& sinr, const std::vector<int>& map, uint16_t size, uint8_t mcs);
//private: