wifi: remove Log2 function

Standard log2 is already used in wifi module anyway
This commit is contained in:
Alexander Krotov
2018-08-04 20:02:47 +03:00
parent 7a4d96b180
commit 696bd35023
3 changed files with 2 additions and 17 deletions

View File

@@ -28,13 +28,6 @@
namespace ns3 {
double
Log2 (double val)
{
return std::log (val) / std::log (2.0);
}
double
DbToRatio (double dB)
{

View File

@@ -30,14 +30,6 @@ class WifiMode;
class Packet;
class Time;
/**
* Return the logarithm of the given value to base 2.
*
* \param val
*
* \return the logarithm of val to base 2.
*/
double Log2 (double val);
/**
* Convert from dBm to Watts.
*

View File

@@ -62,10 +62,10 @@ YansErrorRateModel::GetQamBer (double snr, unsigned int m, uint32_t signalSpread
{
NS_LOG_FUNCTION (this << snr << m << signalSpread << phyRate);
double EbNo = snr * signalSpread / phyRate;
double z = std::sqrt ((1.5 * Log2 (m) * EbNo) / (m - 1.0));
double z = std::sqrt ((1.5 * log2 (m) * EbNo) / (m - 1.0));
double z1 = ((1.0 - 1.0 / std::sqrt (m)) * erfc (z));
double z2 = 1 - std::pow ((1 - z1), 2);
double ber = z2 / Log2 (m);
double ber = z2 / log2 (m);
NS_LOG_INFO ("Qam m=" << m << " rate=" << phyRate << " snr=" << snr << " ber=" << ber);
return ber;
}