diff --git a/src/wifi/model/rate-control/minstrel-ht-wifi-manager.cc b/src/wifi/model/rate-control/minstrel-ht-wifi-manager.cc index 2a3dbc6a4..c1bf452a2 100644 --- a/src/wifi/model/rate-control/minstrel-ht-wifi-manager.cc +++ b/src/wifi/model/rate-control/minstrel-ht-wifi-manager.cc @@ -432,7 +432,7 @@ MinstrelHtWifiManager::CalculateMpduTxDuration(Ptr phy, txvector.SetNess(0); txvector.SetStbc(false); txvector.SetMode(mode); - txvector.SetPreambleType(WIFI_PREAMBLE_HT_MF); + txvector.SetPreambleType(GetPreambleForTransmission(mode.GetModulationClass())); return WifiPhy::CalculatePhyPreambleAndHeaderDuration(txvector) + WifiPhy::GetPayloadDuration(m_frameLength, txvector, phy->GetPhyBand(), mpduType); } diff --git a/src/wifi/model/wifi-phy-common.cc b/src/wifi/model/wifi-phy-common.cc index bc3aaed01..12b341a4b 100644 --- a/src/wifi/model/wifi-phy-common.cc +++ b/src/wifi/model/wifi-phy-common.cc @@ -56,7 +56,7 @@ GetGuardIntervalForMode(WifiMode mode, bool htShortGuardInterval, Time heGuardIn } WifiPreamble -GetPreambleForTransmission(WifiModulationClass modulation, bool useShortPreamble) +GetPreambleForTransmission(WifiModulationClass modulation, bool useShortPreamble /* = false */) { if (modulation == WIFI_MOD_CLASS_EHT) { diff --git a/src/wifi/model/wifi-phy-common.h b/src/wifi/model/wifi-phy-common.h index e1b73346f..8e20415df 100644 --- a/src/wifi/model/wifi-phy-common.h +++ b/src/wifi/model/wifi-phy-common.h @@ -609,7 +609,8 @@ Time GetGuardIntervalForMode(WifiMode mode, bool htShortGuardInterval, Time heGu * * @return the preamble to be used for the transmission */ -WifiPreamble GetPreambleForTransmission(WifiModulationClass modulation, bool useShortPreamble); +WifiPreamble GetPreambleForTransmission(WifiModulationClass modulation, + bool useShortPreamble = false); /** * Return the modulation class corresponding to the given preamble type.