wifi: (fixes #709) Scale RxSensitivity by channel width for YansWifiChannel

This commit is contained in:
Tom Henderson
2022-08-01 11:30:16 -07:00
parent c5bd469dca
commit 7dd42b1791
2 changed files with 4 additions and 1 deletions

View File

@@ -31,6 +31,7 @@ Release 3-dev
- (wifi) Only include QoS Null frames for TIDs for which a BA agreement exists in responses to BSRP TFs
- (wifi) Notify RX end only for the last received HE TB PPDU
- (wifi) Correctly compute the time to RX end to be passed to WifiPhyStateHelper::SwitchToRx()
- (wifi) #709 Adjust WifiPhy::RxSensitivity with channel width for YansWifiChannel
Release 3.36.1
--------------

View File

@@ -127,7 +127,9 @@ YansWifiChannel::Receive (Ptr<YansWifiPhy> phy, Ptr<const WifiPpdu> ppdu, double
NS_LOG_FUNCTION (phy << ppdu << rxPowerDbm);
// Do no further processing if signal is too weak
// Current implementation assumes constant RX power over the PPDU duration
if ((rxPowerDbm + phy->GetRxGain ()) < phy->GetRxSensitivity ())
// Compare received TX power per MHz to normalized RX sensitivity
uint16_t txWidth = ppdu->GetTransmissionChannelWidth ();
if ((rxPowerDbm + phy->GetRxGain ()) < phy->GetRxSensitivity () + RatioToDb (txWidth / 20.0))
{
NS_LOG_INFO ("Received signal too weak to process: " << rxPowerDbm << " dBm");
return;