EHT PPDU (11be) More...
#include "eht-ppdu.h"
Public Member Functions | |
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. More... | |
~EhtPpdu () override | |
Destructor for EhtPpdu. More... | |
Ptr< WifiPpdu > | Copy () const override |
Copy this instance. More... | |
WifiPpduType | GetType () const override |
Return the PPDU type (. More... | |
![]() | |
HePpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, uint16_t txCenterFreq, Time ppduDuration, WifiPhyBand band, uint64_t uid, TxPsdFlag flag, uint8_t p20Index) | |
Create an MU HE PPDU, storing a map of PSDUs. More... | |
HePpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, uint16_t txCenterFreq, Time ppduDuration, WifiPhyBand band, uint64_t uid) | |
Create an SU HE PPDU, storing a PSDU. More... | |
~HePpdu () override | |
Destructor for HePpdu. More... | |
bool | CanBeReceived (uint16_t p20MinFreq, uint16_t p20MaxFreq) const override |
Check whether the given PPDU can be received on the specified primary channel. More... | |
Ptr< WifiPpdu > | Copy () const override |
Copy this instance. More... | |
Ptr< const WifiPsdu > | GetPsdu (uint8_t bssColor, uint16_t staId=SU_STA_ID) const |
Get the payload of the PPDU. More... | |
uint16_t | GetStaId () const override |
Get the ID of the STA that transmitted the PPDU for UL MU, SU_STA_ID otherwise. More... | |
uint16_t | GetTransmissionChannelWidth () const override |
Get the channel width over which the PPDU will effectively be transmitted. More... | |
Time | GetTxDuration () const override |
Get the total transmission duration of the PPDU. More... | |
TxPsdFlag | GetTxPsdFlag () const |
WifiPpduType | GetType () const override |
Return the PPDU type (. More... | |
bool | IsAllocated (uint16_t staId) const |
Check if STA ID is allocated. More... | |
bool | IsStaInContentChannel (uint16_t staId, size_t channelId) const |
Check if STA ID is in HE SIG-B Content Channel ID. More... | |
void | SetTxPsdFlag (TxPsdFlag flag) |
![]() | |
OfdmPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, uint16_t txCenterFreq, WifiPhyBand band, uint64_t uid, bool instantiateLSig=true) | |
Create an OFDM PPDU. More... | |
~OfdmPpdu () override | |
Destructor for OfdmPpdu. More... | |
Ptr< WifiPpdu > | Copy () const override |
Copy this instance. More... | |
Time | GetTxDuration () const override |
Get the total transmission duration of the PPDU. More... | |
![]() | |
WifiPpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, uint16_t txCenterFreq, uint64_t uid) | |
Create a PPDU storing a map of PSDUs. More... | |
WifiPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, uint16_t txCenterFreq, uint64_t uid=UINT64_MAX) | |
Create a PPDU storing a PSDU. More... | |
virtual | ~WifiPpdu () |
Destructor for WifiPpdu. More... | |
virtual bool | CanBeReceived (uint16_t p20MinFreq, uint16_t p20MaxFreq) const |
Check whether the given PPDU can be received on the specified primary channel. More... | |
virtual Ptr< WifiPpdu > | Copy () const |
Copy this instance. More... | |
bool | DoesOverlapChannel (uint16_t minFreq, uint16_t maxFreq) const |
Check whether the given PPDU overlaps a given channel. More... | |
WifiModulationClass | GetModulation () const |
Get the modulation used for the PPDU. More... | |
WifiPreamble | GetPreamble () const |
Get the preamble of the PPDU. More... | |
Ptr< const WifiPsdu > | GetPsdu () const |
Get the payload of the PPDU. More... | |
virtual uint16_t | GetStaId () const |
Get the ID of the STA that transmitted the PPDU for UL MU, SU_STA_ID otherwise. More... | |
virtual uint16_t | GetTransmissionChannelWidth () const |
Get the channel width over which the PPDU will effectively be transmitted. More... | |
virtual Time | GetTxDuration () const |
Get the total transmission duration of the PPDU. More... | |
WifiTxVector | GetTxVector () const |
Get the TXVECTOR used to send the PPDU. More... | |
virtual WifiPpduType | GetType () const |
Return the PPDU type (. More... | |
uint64_t | GetUid () const |
Get the UID of the PPDU. More... | |
bool | IsTruncatedTx () const |
void | Print (std::ostream &os) const |
Print the PPDU contents. More... | |
void | SetTruncatedTx () |
Indicate that the PPDU's transmission was aborted due to transmitter switch off. More... | |
![]() | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
Protected Member Functions | |
WifiTxVector | DoGetTxVector () const override |
Get the TXVECTOR used to send the PPDU. More... | |
bool | IsDlMu () const override |
Return true if the PPDU is a DL MU PPDU. More... | |
bool | IsUlMu () const override |
Return true if the PPDU is an UL MU PPDU. More... | |
![]() | |
WifiTxVector | DoGetTxVector () const override |
Get the TXVECTOR used to send the PPDU. More... | |
virtual bool | IsDlMu () const |
Return true if the PPDU is a DL MU PPDU. More... | |
virtual bool | IsMu () const |
Return true if the PPDU is a MU PPDU. More... | |
virtual bool | IsUlMu () const |
Return true if the PPDU is an UL MU PPDU. More... | |
std::string | PrintPayload () const override |
Print the payload of the PPDU. More... | |
virtual void | SetPhyHeaders (const WifiTxVector &txVector, Time ppduDuration) |
Fill in the HE PHY headers. More... | |
virtual std::string | PrintPayload () const |
Print the payload of the PPDU. More... | |
Additional Inherited Members | |
![]() | |
enum | TxPsdFlag { PSD_NON_HE_PORTION , PSD_HE_PORTION } |
The transmit power spectral density flag, namely used to correctly build PSDs for pre-HE and HE portions. More... | |
![]() | |
ContentChannelAllocation | m_contentChannelAlloc |
HE SIG-B Content Channel allocation (to be removed once HE-SIG-B headers are implemented) More... | |
HeSigHeader | m_heSig |
the HE-SIG PHY header More... | |
WifiTxVector::HeMuUserInfoMap | m_muUserInfos |
HE MU specific per-user information (to be removed once HE-SIG-B headers are implemented) More... | |
RuAllocation | m_ruAllocation |
RU_ALLOCATION in SIG-B common field (to be removed once HE-SIG-B headers are implemented) More... | |
TxPsdFlag | m_txPsdFlag |
the transmit power spectral density flag More... | |
![]() | |
WifiPhyBand | m_band |
the WifiPhyBand used to transmit that PPDU More... | |
uint16_t | m_channelWidth |
the channel width used to transmit that PPDU in MHz More... | |
LSigHeader | m_lSig |
the L-SIG PHY header More... | |
![]() | |
WifiModulationClass | m_modulation |
the modulation used for the transmission of this PPDU More... | |
WifiPreamble | m_preamble |
the PHY preamble More... | |
WifiConstPsduMap | m_psdus |
the PSDUs contained in this PPDU More... | |
uint16_t | m_txCenterFreq |
the center frequency (MHz) used for the transmission of this PPDU More... | |
uint64_t | m_uid |
the unique ID of this PPDU More... | |
ns3::EhtPpdu::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.
This PPDU can either be UL or DL.
psdus | the PHY payloads (PSDUs) |
txVector | the TXVECTOR that was used for this PPDU |
txCenterFreq | the center frequency (MHz) that was used for this PPDU |
ppduDuration | the transmission duration of this PPDU |
band | the WifiPhyBand used for the transmission of this PPDU |
uid | the unique ID of this PPDU or of the triggering PPDU if this is an EHT TB PPDU |
flag | the flag indicating the type of Tx PSD to build |
p20Index | the index of the primary 20 MHz channel |
Definition at line 32 of file eht-ppdu.cc.
References NS_LOG_FUNCTION.
|
override |
Copy this instance.
Reimplemented from ns3::WifiPpdu.
Definition at line 103 of file eht-ppdu.cc.
References ns3::Copy().
|
overrideprotectedvirtual |
Get the TXVECTOR used to send the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 83 of file eht-ppdu.cc.
References ns3::HePpdu::HeSigHeader::GetBssColor(), ns3::HePpdu::HeSigHeader::GetChannelWidth(), ns3::EhtPhy::GetEhtMcs(), ns3::HePpdu::HeSigHeader::GetGuardInterval(), ns3::OfdmPpdu::LSigHeader::GetLength(), ns3::HePpdu::HeSigHeader::GetMcs(), ns3::HePpdu::HeSigHeader::GetNStreams(), ns3::HePpdu::m_heSig, ns3::OfdmPpdu::m_lSig, ns3::HePpdu::m_muUserInfos, ns3::WifiPpdu::m_preamble, ns3::WifiPpdu::m_psdus, ns3::WifiTxVector::SetAggregation(), ns3::WifiTxVector::SetBssColor(), ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetGuardInterval(), ns3::WifiTxVector::SetHeMuUserInfo(), ns3::WifiTxVector::SetLength(), ns3::WifiTxVector::SetMode(), ns3::WifiTxVector::SetNss(), and ns3::WifiTxVector::SetPreambleType().
|
overridevirtual |
Return the PPDU type (.
Reimplemented from ns3::WifiPpdu.
Definition at line 52 of file eht-ppdu.cc.
References ns3::HePpdu::m_muUserInfos, ns3::WifiPpdu::m_preamble, NS_ASSERT_MSG, ns3::WIFI_PPDU_TYPE_DL_MU, ns3::WIFI_PPDU_TYPE_SU, ns3::WIFI_PPDU_TYPE_UL_MU, ns3::WIFI_PREAMBLE_EHT_MU, and ns3::WIFI_PREAMBLE_EHT_TB.
|
overrideprotectedvirtual |
Return true if the PPDU is a DL MU PPDU.
Reimplemented from ns3::HePpdu.
Definition at line 71 of file eht-ppdu.cc.
References ns3::HePpdu::m_muUserInfos, ns3::WifiPpdu::m_preamble, and ns3::WIFI_PREAMBLE_EHT_MU.
|
overrideprotectedvirtual |
Return true if the PPDU is an UL MU PPDU.
Reimplemented from ns3::HePpdu.
Definition at line 77 of file eht-ppdu.cc.
References ns3::HePpdu::m_muUserInfos, ns3::WifiPpdu::m_preamble, and ns3::WIFI_PREAMBLE_EHT_TB.