diff --git a/src/wifi/model/wifi-phy.cc b/src/wifi/model/wifi-phy.cc index a003df923..743fda7c6 100644 --- a/src/wifi/model/wifi-phy.cc +++ b/src/wifi/model/wifi-phy.cc @@ -2692,6 +2692,14 @@ WifiPhy::StartReceiveHeader (Ptr event, Time rxDuration) return; } + if ((txVector.GetChannelWidth () >= 40) && (txVector.GetChannelWidth () > GetChannelWidth ())) + { + NS_LOG_DEBUG ("Packet reception could not be started because not enough channel width"); + NotifyRxDrop (event->GetPacket (), UNSUPPORTED_SETTINGS); + MaybeCcaBusyDuration (); + return; + } + if ((txVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_HT) && (txVector.GetPreambleType () == WIFI_PREAMBLE_HT_GF)) { //No non-HT PHY header for HT GF @@ -3001,6 +3009,7 @@ WifiPhy::StartReceivePayload (Ptr event) { InterferenceHelper::SnrPer snrPer; snrPer = m_interference.CalculateHtPhyHeaderSnrPer (event); + NS_LOG_DEBUG ("snr(dB)=" << RatioToDb (snrPer.snr) << ", per=" << snrPer.per); canReceivePayload = (m_random->GetValue () > snrPer.per); } else