From c7e6a8896828e0677f679412e2da692ffb1701c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deronne?= Date: Thu, 12 Dec 2024 20:57:47 +0100 Subject: [PATCH] wifi: HE-SIG-B compression is used if an RU occupies all 20 MHz subchannels within the PPDU bandwidth --- src/wifi/model/wifi-tx-vector.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/wifi/model/wifi-tx-vector.cc b/src/wifi/model/wifi-tx-vector.cc index 3ff07f930..28aa05b7c 100644 --- a/src/wifi/model/wifi-tx-vector.cc +++ b/src/wifi/model/wifi-tx-vector.cc @@ -652,7 +652,12 @@ WifiTxVector::GetHeMuUserInfoMap() bool WifiTxVector::IsSigBCompression() const { - return IsDlMuMimo() && !IsDlOfdma(); + // SIG-B compression is used in case of full-bandwidth MU-MIMO transmission (27.3.11.8.2 + // HE-SIG-B content channels in IEEE802.11ax-2021) or if a single RU occupies the whole 160 MHz + // bandwidth (27.3.11.8.3 Common field in IEEE802.11ax-2021) + return (IsDlMuMimo() && !IsDlOfdma()) || + ((m_muUserInfos.size() == 1) && (m_channelWidth >= MHz_u{160}) && + (m_muUserInfos.cbegin()->second.ru.GetRuType() == HeRu::GetRuType(m_channelWidth))); } void