src/wifi/model/yans-error-rate-model.cc
changeset 7252 c8200621e252
parent 7141 072fb225b714
child 7385 10beb0e53130
equal deleted inserted replaced
7251:b2fe610ad03f 7252:c8200621e252
    58 double
    58 double
    59 YansErrorRateModel::GetQamBer (double snr, unsigned int m, uint32_t signalSpread, uint32_t phyRate) const
    59 YansErrorRateModel::GetQamBer (double snr, unsigned int m, uint32_t signalSpread, uint32_t phyRate) const
    60 {
    60 {
    61   double EbNo = snr * signalSpread / phyRate;
    61   double EbNo = snr * signalSpread / phyRate;
    62   double z = sqrt ((1.5 * Log2 (m) * EbNo) / (m - 1.0));
    62   double z = sqrt ((1.5 * Log2 (m) * EbNo) / (m - 1.0));
    63   double z1 = ((1.0 - 1.0 / sqrt (m)) * erfc (z)) ;
    63   double z1 = ((1.0 - 1.0 / sqrt (m)) * erfc (z));
    64   double z2 = 1 - pow ((1 - z1), 2.0);
    64   double z2 = 1 - pow ((1 - z1), 2.0);
    65   double ber = z2 / Log2 (m);
    65   double ber = z2 / Log2 (m);
    66   NS_LOG_INFO ("Qam m=" << m << " rate=" << phyRate << " snr=" << snr << " ber=" << ber);
    66   NS_LOG_INFO ("Qam m=" << m << " rate=" << phyRate << " snr=" << snr << " ber=" << ber);
    67   return ber;
    67   return ber;
    68 }
    68 }