25#include "ns3/wifi-psdu.h"
34 uint16_t txCenterFreq,
40 :
HePpdu(psdus, txVector, txCenterFreq, ppduDuration, band, uid, flag, p20Index)
42 NS_LOG_FUNCTION(
this << psdus << txVector << txCenterFreq << ppduDuration << band << uid << flag
static WifiMode GetEhtMcs(uint8_t index)
Return the EHT MCS corresponding to the provided index.
EhtPpdu(const WifiConstPsduMap &psdus, const WifiTxVector &txVector, uint16_t txCenterFreq, Time ppduDuration, WifiPhyBand band, uint64_t uid, TxPsdFlag flag, uint8_t p20Index)
Create an EHT PPDU, storing a map of PSDUs.
bool IsDlMu() const override
Return true if the PPDU is a DL MU PPDU.
WifiTxVector DoGetTxVector() const override
Get the TXVECTOR used to send the PPDU.
bool IsUlMu() const override
Return true if the PPDU is an UL MU PPDU.
Ptr< WifiPpdu > Copy() const override
Copy this instance.
WifiPpduType GetType() const override
Return the PPDU type (.
~EhtPpdu() override
Destructor for EhtPpdu.
HeSigHeader m_heSig
the HE-SIG PHY header
TxPsdFlag
The transmit power spectral density flag, namely used to correctly build PSDs for pre-HE and HE porti...
WifiTxVector::HeMuUserInfoMap m_muUserInfos
HE MU specific per-user information (to be removed once HE-SIG-B headers are implemented)
LSigHeader m_lSig
the L-SIG PHY header
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
WifiPreamble m_preamble
the PHY preamble
WifiConstPsduMap m_psdus
the PSDUs contained in this PPDU
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
void SetChannelWidth(uint16_t channelWidth)
Sets the selected channelWidth (in MHz)
void SetGuardInterval(uint16_t guardInterval)
Sets the guard interval duration (in nanoseconds)
void SetHeMuUserInfo(uint16_t staId, HeMuUserInfo userInfo)
Set the HE MU user-specific transmission information for the given STA-ID.
void SetAggregation(bool aggregation)
Sets if PSDU contains A-MPDU.
void SetLength(uint16_t length)
Set the LENGTH field of the L-SIG.
void SetBssColor(uint8_t color)
Set the BSS color.
void SetMode(WifiMode mode)
Sets the selected payload transmission mode.
void SetNss(uint8_t nss)
Sets the number of Nss.
void SetPreambleType(WifiPreamble preamble)
Sets the preamble type.
Declaration of ns3::EhtPhy class.
Declaration of ns3::EhtPpdu class.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
WifiPhyBand
Identifies the PHY band.
WifiPpduType
The type of PPDU (SU, DL MU, or UL MU)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::unordered_map< uint16_t, Ptr< const WifiPsdu > > WifiConstPsduMap
Map of const PSDUs indexed by STA-ID.
Ptr< T > Copy(Ptr< T > object)
Return a deep copy of a Ptr.