26 #include "ns3/ofdm-ppdu.h" 64 void Print (std::ostream &os)
const override;
87 uint8_t
GetMcs (
void)
const;
198 uint16_t
GetStaId (
void)
const override;
200 bool CanBeReceived (uint16_t txCenterFreq, uint16_t p20MinFreq,
201 uint16_t p20MaxFreq)
const override;
233 bool IsMu (
void)
const;
Ptr< WifiPpdu > Copy(void) const override
Copy this instance.
Simulation virtual time values and global simulation resolution.
HeSigHeader m_heSig
the HE-SIG PHY header
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
Ptr< const WifiPsdu > GetPsdu(void) const
Get the payload of the PPDU.
std::map< uint16_t, HeMuUserInfo > HeMuUserInfoMap
map of HE MU specific user info paramters indexed by STA-ID
TxPsdFlag m_txPsdFlag
the transmit power spectral density flag
WifiTxVector::HeMuUserInfoMap m_muUserInfos
the HE MU specific per-user information (to be removed once HE-SIG-B headers are implemented) ...
bool CanBeReceived(uint16_t txCenterFreq, uint16_t p20MinFreq, uint16_t p20MaxFreq) const override
Check whether the given PPDU can be received on the specified primary channel.
void SetTxPsdFlag(TxPsdFlag flag)
void SetPhyHeaders(const WifiTxVector &txVector, Time ppduDuration)
Fill in the HE PHY headers.
iterator in a Buffer instance
std::ostream & operator<<(std::ostream &os, const Angles &a)
Time GetTxDuration(void) const override
Get the total transmission duration of the PPDU.
TxPsdFlag
The transmit power spectral density flag, namely used to correctly build PSD for HE TB PPDU non-OFDMA...
WifiPpduType GetType(void) const override
Return the PPDU type (.
virtual ~HePpdu()
Destructor for HePpdu.
OFDM PPDU (11a)OfdmPpdu stores a preamble, PHY headers and a PSDU of a PPDU with non-HT header...
bool IsMu(void) const
Return true if the PPDU is a MU PPDU.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
bool IsUlMu(void) const
Return true if the PPDU is an UL MU PPDU.
WifiPpduType
The type of PPDU (SU, DL MU, or UL MU)
HE PPDU (11ax)HePpdu stores a preamble, PHY headers and a map of PSDUs of a PPDU with HE header...
non-HE TB PPDU transmissions
WifiPhyBand
Identifies the PHY band.
WifiTxVector DoGetTxVector(void) const override
Get the TXVECTOR used to send the PPDU.
HePpdu(Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, Time ppduDuration, WifiPhyBand band, uint64_t uid)
Create an SU HE PPDU, storing a PSDU.
uint16_t GetTransmissionChannelWidth(void) const override
Get the channel width over which the PPDU will effectively be transmitted.
OFDMA portion of HE TB PPDU, which should only be sent on RU.
a unique identifier for an interface.
TxPsdFlag GetTxPsdFlag(void) const
uint16_t GetStaId(void) const override
Get the ID of the STA that transmitted the PPDU for UL MU, SU_STA_ID otherwise.
std::unordered_map< uint16_t, Ptr< const WifiPsdu > > WifiConstPsduMap
Map of const PSDUs indexed by STA-ID.
std::string PrintPayload(void) const override
Print the payload of the PPDU.
bool IsDlMu(void) const
Return true if the PPDU is a DL MU PPDU.
preamble of HE TB PPDU, which should only be sent on minimum subset of 20 MHz channels containing RU ...