View | Details | Raw Unified | Return to bug 3011
Collapse All | Expand All

(-)a/src/wifi/model/interference-helper.cc (-2 / +1 lines)
 Lines 262-269    Link Here 
262
  uint64_t nbits = static_cast<uint64_t> (rate * duration.GetSeconds ());
262
  uint64_t nbits = static_cast<uint64_t> (rate * duration.GetSeconds ());
263
  if (txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_HT || txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_VHT || txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_HE)
263
  if (txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_HT || txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_VHT || txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_HE)
264
    {
264
    {
265
      nbits /= txVector.GetNss (); //divide effective number of bits by NSS to achieve same chunk error rate as SISO for AWGN
265
      double gain = std::pow (2, txVector.GetNTx () + m_numRxAntennas - 2 * txVector.GetNss ()); //compute gain offered by MIMO, 3dB per redundant radio chain
266
      double gain = (txVector.GetNTx () * m_numRxAntennas); //compute gain offered by MIMO, SIMO or MISO compared to SISO for AWGN
267
      NS_LOG_DEBUG ("TX=" << +txVector.GetNTx () <<
266
      NS_LOG_DEBUG ("TX=" << +txVector.GetNTx () <<
268
                    ", RX=" << +m_numRxAntennas <<
267
                    ", RX=" << +m_numRxAntennas <<
269
                    ", SNIR improvement=+" << 10 * std::log10 (gain) << "dB");
268
                    ", SNIR improvement=+" << 10 * std::log10 (gain) << "dB");

Return to bug 3011