HE PPDU (11ax) More...
#include "he-ppdu.h"
Classes | |
struct | HeMuSigHeader |
HE-SIG PHY header for HE MU PPDUs (HE-SIG-A1/A2/B) More... | |
struct | HeSigBUserSpecificField |
User Specific Fields in HE-SIG-Bs. More... | |
struct | HeSuSigHeader |
HE-SIG PHY header for HE SU PPDUs (HE-SIG-A1/A2) More... | |
struct | HeTbSigHeader |
HE-SIG PHY header for HE TB PPDUs (HE-SIG-A1/A2) More... | |
Public Types | |
using | HeSigBContentChannels = std::vector<std::vector<HeSigBUserSpecificField>> |
HE SIG-B Content Channels. | |
using | HeSigHeader = std::variant<std::monostate, HeSuSigHeader, HeTbSigHeader, HeMuSigHeader> |
type of the HE-SIG PHY header | |
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... | |
Public Member Functions | |
HePpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, const WifiPhyOperatingChannel &channel, Time ppduDuration, uint64_t uid, TxPsdFlag flag) | |
Create an MU HE PPDU, storing a map of PSDUs. | |
HePpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, const WifiPhyOperatingChannel &channel, Time ppduDuration, uint64_t uid) | |
Create an SU HE PPDU, storing a PSDU. | |
Ptr< WifiPpdu > | Copy () const override |
Copy this instance. | |
Ptr< const WifiPsdu > | GetPsdu (uint8_t bssColor, uint16_t staId=SU_STA_ID) const |
Get the payload of the PPDU. | |
uint16_t | GetStaId () const override |
Get the ID of the STA that transmitted the PPDU for UL MU, SU_STA_ID otherwise. | |
MHz_u | GetTxChannelWidth () const override |
Get the channel width over which the PPDU will effectively be transmitted. | |
Time | GetTxDuration () const override |
Get the total transmission duration of the PPDU. | |
TxPsdFlag | GetTxPsdFlag () const |
WifiPpduType | GetType () const override |
Return the PPDU type (. | |
void | SetTxPsdFlag (TxPsdFlag flag) const |
void | UpdateTxVectorForUlMu (const std::optional< WifiTxVector > &trigVector) const |
Update the TXVECTOR for HE TB PPDUs, since the information to decode HE TB PPDUs is not available from the PHY headers but it requires information from the TRIGVECTOR of the AP expecting these HE TB PPDUs. | |
Public Member Functions inherited from ns3::OfdmPpdu | |
OfdmPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, const WifiPhyOperatingChannel &channel, uint64_t uid, bool instantiateLSig=true) | |
Create an OFDM PPDU. | |
Ptr< WifiPpdu > | Copy () const override |
Copy this instance. | |
Time | GetTxDuration () const override |
Get the total transmission duration of the PPDU. | |
Public Member Functions inherited from ns3::WifiPpdu | |
WifiPpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, const WifiPhyOperatingChannel &channel, uint64_t uid) | |
Create a PPDU storing a map of PSDUs. | |
WifiPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, const WifiPhyOperatingChannel &channel, uint64_t uid=UINT64_MAX) | |
Create a PPDU storing a PSDU. | |
virtual | ~WifiPpdu () |
Destructor for WifiPpdu. | |
bool | DoesOverlapChannel (MHz_u minFreq, MHz_u maxFreq) const |
Check whether the given PPDU overlaps a given channel. | |
WifiModulationClass | GetModulation () const |
Get the modulation used for the PPDU. | |
WifiPreamble | GetPreamble () const |
Get the preamble of the PPDU. | |
Ptr< const WifiPsdu > | GetPsdu () const |
Get the payload of the PPDU. | |
std::vector< MHz_u > | GetTxCenterFreqs () const |
const WifiTxVector & | GetTxVector () const |
Get the TXVECTOR used to send the PPDU. | |
uint64_t | GetUid () const |
Get the UID of the PPDU. | |
bool | IsTruncatedTx () const |
void | Print (std::ostream &os) const |
Print the PPDU contents. | |
void | ResetTxVector () const |
Reset the TXVECTOR. | |
void | SetTruncatedTx () |
Indicate that the PPDU's transmission was aborted due to transmitter switch off. | |
void | UpdateTxVector (const WifiTxVector &updatedTxVector) const |
Update the TXVECTOR based on some information known at the receiver. | |
Public Member Functions inherited from ns3::SimpleRefCount< WifiPpdu > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Static Public Member Functions | |
static HeSigBContentChannels | GetHeSigBContentChannels (const WifiTxVector &txVector, uint8_t p20Index) |
Get the HE SIG-B content channels for a given PPDU IEEE 802.11ax-2021 27.3.11.8.2 HE-SIG-B content channels. | |
static std::pair< std::size_t, std::size_t > | GetNumRusPerHeSigBContentChannel (MHz_u channelWidth, const RuAllocation &ruAllocation, bool sigBCompression, uint8_t numMuMimoUsers) |
Get the number of STAs per HE-SIG-B content channel. | |
static uint32_t | GetSigBFieldSize (MHz_u channelWidth, const RuAllocation &ruAllocation, bool sigBCompression, std::size_t numMuMimoUsers) |
Get variable length HE SIG-B field size. | |
Protected Member Functions | |
void | SetHeMuUserInfos (WifiTxVector &txVector, const RuAllocation &ruAllocation, const HeSigBContentChannels &contentChannels, bool sigBCompression, uint8_t numMuMimoUsers) const |
Reconstruct HeMuUserInfoMap from HE-SIG-B header. | |
virtual void | SetTxVectorFromPhyHeaders (WifiTxVector &txVector) const |
Fill in the TXVECTOR from PHY headers. | |
Static Protected Member Functions | |
static uint8_t | GetChannelWidthEncodingFromMhz (MHz_u channelWidth) |
Convert channel width expressed in MHz to bandwidth field encoding in HE-SIG-A. | |
static MHz_u | GetChannelWidthMhzFromEncoding (uint8_t bandwidth) |
Convert channel width expressed in MHz from bandwidth field encoding in HE-SIG-A. | |
static uint8_t | GetGuardIntervalAndNltfEncoding (Time guardInterval, uint8_t nltf) |
Convert guard interval and NLTF to its encoding in HE-SIG-A. | |
static Time | GetGuardIntervalFromEncoding (uint8_t giAndNltfSize) |
Convert guard interval from its encoding in HE-SIG-A. | |
static uint8_t | GetMuMimoUsersEncoding (uint8_t nUsers) |
Convert number of MU-MIMO users to its encoding in HE-SIG-A. | |
static uint8_t | GetMuMimoUsersFromEncoding (uint8_t encoding) |
Convert number of MU-MIMO users from its encoding in HE-SIG-A. | |
static uint8_t | GetNssFromNstsEncoding (uint8_t nsts) |
Convert number of spatial streams from NSTS field encoding in HE-SIG-A. | |
static uint8_t | GetNstsEncodingFromNss (uint8_t nss) |
Convert number of spatial streams to NSTS field encoding in HE-SIG-A. | |
Protected Attributes | |
TxPsdFlag | m_txPsdFlag |
the transmit power spectral density flag | |
Protected Attributes inherited from ns3::OfdmPpdu | |
LSigHeader | m_lSig |
the L-SIG PHY header | |
Protected Attributes inherited from ns3::WifiPpdu | |
WifiModulationClass | m_modulation |
the modulation used for the transmission of this PPDU | |
const WifiPhyOperatingChannel & | m_operatingChannel |
the operating channel of the PHY | |
WifiPreamble | m_preamble |
the PHY preamble | |
WifiConstPsduMap | m_psdus |
the PSDUs contained in this PPDU | |
std::vector< MHz_u > | m_txCenterFreqs |
the center frequency per segment used for the transmission of this PPDU | |
std::optional< WifiTxVector > | m_txVector |
the TXVECTOR at TX PHY or the reconstructed TXVECTOR at RX PHY (or std::nullopt if TXVECTOR has not been reconstructed yet) | |
uint64_t | m_uid |
the unique ID of this PPDU | |
Private Member Functions | |
WifiTxVector | DoGetTxVector () const override |
Get the TXVECTOR used to send the PPDU. | |
virtual bool | IsDlMu () const |
Return true if the PPDU is a DL MU PPDU. | |
virtual bool | IsMu () const |
Return true if the PPDU is a MU PPDU. | |
virtual bool | IsUlMu () const |
Return true if the PPDU is an UL MU PPDU. | |
std::string | PrintPayload () const override |
Print the payload of the PPDU. | |
void | SetHeSigHeader (const WifiTxVector &txVector) |
Fill in the HE-SIG header. | |
void | SetLSigHeader (Time ppduDuration) |
Fill in the L-SIG header. | |
void | SetPhyHeaders (const WifiTxVector &txVector, Time ppduDuration) |
Fill in the PHY headers. | |
Private Attributes | |
HeSigHeader | m_heSig |
the HE-SIG PHY header | |
HE PPDU (11ax)
HePpdu stores a preamble, PHY headers and a map of PSDUs of a PPDU with HE header
using ns3::HePpdu::HeSigBContentChannels = std::vector<std::vector<HeSigBUserSpecificField>> |
using ns3::HePpdu::HeSigHeader = std::variant<std::monostate, HeSuSigHeader, HeTbSigHeader, HeMuSigHeader> |
ns3::HePpdu::HePpdu | ( | Ptr< const WifiPsdu > | psdu, |
const WifiTxVector & | txVector, | ||
const WifiPhyOperatingChannel & | channel, | ||
Time | ppduDuration, | ||
uint64_t | uid ) |
Create an SU HE PPDU, storing a PSDU.
psdu | the PHY payload (PSDU) |
txVector | the TXVECTOR that was used for this PPDU |
channel | the operating channel of the PHY used to transmit this PPDU |
ppduDuration | the transmission duration of this PPDU |
uid | the unique ID of this PPDU |
Definition at line 65 of file he-ppdu.cc.
References IsMu(), NS_ASSERT, NS_LOG_FUNCTION, and SetPhyHeaders().
ns3::HePpdu::HePpdu | ( | const WifiConstPsduMap & | psdus, |
const WifiTxVector & | txVector, | ||
const WifiPhyOperatingChannel & | channel, | ||
Time | ppduDuration, | ||
uint64_t | uid, | ||
TxPsdFlag | flag ) |
Create an MU HE 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 |
channel | the operating channel of the PHY used to transmit this PPDU |
ppduDuration | the transmission duration of this PPDU |
uid | the unique ID of this PPDU or of the triggering PPDU if this is an HE TB PPDU |
flag | the flag indicating the type of Tx PSD to build |
Definition at line 43 of file he-ppdu.cc.
References ns3::WifiPpdu::m_psdus, NS_LOG_FUNCTION, and SetPhyHeaders().
Copy this instance.
Reimplemented from ns3::WifiPpdu.
Definition at line 325 of file he-ppdu.cc.
|
overrideprivatevirtual |
Get the TXVECTOR used to send the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 156 of file he-ppdu.cc.
References ns3::WifiPpdu::m_preamble, ns3::WifiTxVector::SetPreambleType(), and SetTxVectorFromPhyHeaders().
|
staticprotected |
Convert channel width expressed in MHz to bandwidth field encoding in HE-SIG-A.
channelWidth | the channel width in MHz |
Definition at line 685 of file he-ppdu.cc.
Referenced by ns3::EhtPpdu::SetEhtPhyHeader(), and SetHeSigHeader().
|
staticprotected |
Convert channel width expressed in MHz from bandwidth field encoding in HE-SIG-A.
bandwidth | the value of the bandwidth field in HE-SIG-A |
Definition at line 706 of file he-ppdu.cc.
Referenced by ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), and SetTxVectorFromPhyHeaders().
|
staticprotected |
Convert guard interval and NLTF to its encoding in HE-SIG-A.
guardInterval | the guard interval |
nltf | the the number of long training symbols |
Definition at line 727 of file he-ppdu.cc.
References ns3::Time::GetNanoSeconds().
Referenced by ns3::EhtPpdu::SetEhtPhyHeader(), and SetHeSigHeader().
|
staticprotected |
Convert guard interval from its encoding in HE-SIG-A.
giAndNltfSize | the value used to encode the guard interval and NLTF field in HE-SIG-A |
Definition at line 749 of file he-ppdu.cc.
References ns3::NanoSeconds().
Referenced by ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), and SetTxVectorFromPhyHeaders().
|
static |
Get the HE SIG-B content channels for a given PPDU IEEE 802.11ax-2021 27.3.11.8.2 HE-SIG-B content channels.
txVector | the TXVECTOR used for the PPDU |
p20Index | the index of the primary20 channel |
Definition at line 544 of file he-ppdu.cc.
References ns3::WifiTxVector::GetChannelWidth(), ns3::WifiTxVector::GetHeMuUserInfo(), ns3::WifiTxVector::GetHeMuUserInfoMap(), ns3::WifiTxVector::GetRuAllocation(), ns3::WifiTxVector::GetUserInfoMapOrderedByRus(), ns3::WifiTxVector::IsSigBCompression(), and NS_ASSERT.
Referenced by HeSigBDurationTest::DoRun(), ns3::EhtPpdu::GetEhtSigContentChannels(), and SetHeSigHeader().
|
staticprotected |
Convert number of MU-MIMO users to its encoding in HE-SIG-A.
nUsers | the number of MU-MIMO users |
Definition at line 780 of file he-ppdu.cc.
References NS_ASSERT.
Referenced by SetHeSigHeader().
|
staticprotected |
Convert number of MU-MIMO users from its encoding in HE-SIG-A.
encoding | the number of MU-MIMO users encoded in HE-SIG-A |
Definition at line 787 of file he-ppdu.cc.
Referenced by SetTxVectorFromPhyHeaders().
|
staticprotected |
Convert number of spatial streams from NSTS field encoding in HE-SIG-A.
nsts | the value of the NSTS field in HE-SIG-A |
Definition at line 774 of file he-ppdu.cc.
Referenced by SetTxVectorFromPhyHeaders().
|
staticprotected |
Convert number of spatial streams to NSTS field encoding in HE-SIG-A.
nss | the number of spatial streams |
Definition at line 767 of file he-ppdu.cc.
References NS_ASSERT.
Referenced by SetHeSigHeader().
|
static |
Get the number of STAs per HE-SIG-B content channel.
This is applicable only for MU. See section 27.3.10.8.3 of IEEE 802.11ax draft 4.0.
channelWidth | the channel width occupied by the PPDU |
ruAllocation | 8 bit RU_ALLOCATION per 20 MHz |
sigBCompression | flag whether SIG-B compression is used by the PPDU |
numMuMimoUsers | the number of MU-MIMO users addressed by the PPDU |
Definition at line 475 of file he-ppdu.cc.
References NS_ASSERT_MSG.
Referenced by HeSigBDurationTest::DoRun(), and ns3::EhtPpdu::GetNumRusPerEhtSigBContentChannel().
Get the payload of the PPDU.
bssColor | the BSS color of the PHY calling this function. |
staId | the STA-ID of the PHY calling this function. |
Definition at line 363 of file he-ppdu.cc.
References ns3::IsMu(), ns3::IsUlMu(), and NS_ASSERT.
|
static |
Get variable length HE SIG-B field size.
channelWidth | the channel width occupied by the PPDU |
ruAllocation | 8 bit RU_ALLOCATION per 20 MHz |
sigBCompression | flag whether SIG-B compression is used by the PPDU |
numMuMimoUsers | the number of MU-MIMO users addressed by the PPDU |
Definition at line 629 of file he-ppdu.cc.
Referenced by ns3::HePhy::GetSigBSize().
|
overridevirtual |
Get the ID of the STA that transmitted the PPDU for UL MU, SU_STA_ID otherwise.
Reimplemented from ns3::WifiPpdu.
Definition at line 400 of file he-ppdu.cc.
References ns3::IsUlMu(), and NS_ASSERT.
|
overridevirtual |
Get the channel width over which the PPDU will effectively be transmitted.
Reimplemented from ns3::WifiPpdu.
Definition at line 407 of file he-ppdu.cc.
References NS_LOG_INFO.
|
overridevirtual |
Get the total transmission duration of the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 303 of file he-ppdu.cc.
References ns3::IsDlMu(), ns3::MicroSeconds(), NS_ASSERT, ns3::Seconds(), and ns3::WIFI_PHY_BAND_2_4GHZ.
HePpdu::TxPsdFlag ns3::HePpdu::GetTxPsdFlag | ( | ) | const |
Definition at line 426 of file he-ppdu.cc.
|
overridevirtual |
Return the PPDU type (.
Reimplemented from ns3::WifiPpdu.
Definition at line 331 of file he-ppdu.cc.
References ns3::WIFI_PPDU_TYPE_DL_MU, ns3::WIFI_PPDU_TYPE_SU, ns3::WIFI_PPDU_TYPE_UL_MU, ns3::WIFI_PREAMBLE_HE_MU, and ns3::WIFI_PREAMBLE_HE_TB.
|
privatevirtual |
Return true if the PPDU is a DL MU PPDU.
Reimplemented in ns3::EhtPpdu.
Definition at line 351 of file he-ppdu.cc.
References ns3::WIFI_PREAMBLE_HE_MU.
Referenced by SetLSigHeader(), and SetTxVectorFromPhyHeaders().
|
privatevirtual |
Return true if the PPDU is a MU PPDU.
Definition at line 345 of file he-ppdu.cc.
References ns3::IsDlMu(), and ns3::IsUlMu().
Referenced by HePpdu(), and SetTxVectorFromPhyHeaders().
|
privatevirtual |
Return true if the PPDU is an UL MU PPDU.
Reimplemented in ns3::EhtPpdu.
Definition at line 357 of file he-ppdu.cc.
References ns3::WIFI_PREAMBLE_HE_TB.
Referenced by SetTxVectorFromPhyHeaders().
|
overrideprivatevirtual |
Print the payload of the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 669 of file he-ppdu.cc.
References ns3::IsMu().
|
protected |
Reconstruct HeMuUserInfoMap from HE-SIG-B header.
txVector | the TXVECTOR to set its HeMuUserInfoMap |
ruAllocation | the RU_ALLOCATION per 20 MHz |
contentChannels | the HE-SIG-B content channels |
sigBCompression | flag whether SIG-B compression is used by the PPDU |
numMuMimoUsers | the number of MU-MIMO users addressed by the PPDU |
Definition at line 214 of file he-ppdu.cc.
References ns3::HeRu::GetBandwidth(), ns3::WifiTxVector::GetChannelWidth(), ns3::HeRu::GetRusOfType(), ns3::HeRu::GetRuSpecs(), ns3::WifiTxVector::IsAllocated(), ns3::NO_USER_STA_ID, NS_ASSERT, ns3::HeRu::RU_2x996_TONE, ns3::HeRu::RU_996_TONE, and ns3::WifiTxVector::SetHeMuUserInfo().
Referenced by ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), and SetTxVectorFromPhyHeaders().
|
private |
Fill in the HE-SIG header.
txVector | the TXVECTOR that was used for this PPDU |
Definition at line 110 of file he-ppdu.cc.
References ns3::WifiTxVector::GetBssColor(), ns3::WifiTxVector::GetCenter26ToneRuIndication(), ns3::WifiTxVector::GetChannelWidth(), GetChannelWidthEncodingFromMhz(), ns3::WifiTxVector::GetGuardInterval(), GetGuardIntervalAndNltfEncoding(), ns3::WifiTxVector::GetHeMuUserInfoMap(), GetHeSigBContentChannels(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), GetMuMimoUsersEncoding(), ns3::WifiTxVector::GetNss(), GetNstsEncodingFromNss(), ns3::WifiPhyOperatingChannel::GetPrimaryChannelIndex(), ns3::WifiTxVector::GetRuAllocation(), ns3::WifiTxVector::GetSigBMode(), ns3::IsDlMu(), ns3::WifiTxVector::IsSigBCompression(), ns3::IsUlMu(), ns3::HePpdu::HeMuSigHeader::m_bssColor, ns3::HePpdu::HeSuSigHeader::m_bssColor, ns3::HePpdu::HeTbSigHeader::m_bssColor, m_heSig, ns3::WifiPpdu::m_operatingChannel, ns3::WifiPpdu::m_preamble, and NS_ASSERT.
Referenced by SetPhyHeaders().
|
private |
Fill in the L-SIG header.
ppduDuration | the transmission duration of this PPDU |
Definition at line 91 of file he-ppdu.cc.
References ns3::Time::GetNanoSeconds(), ns3::WifiPhyOperatingChannel::GetPhyBand(), IsDlMu(), ns3::WifiPhyOperatingChannel::IsSet(), ns3::OfdmPpdu::m_lSig, ns3::WifiPpdu::m_operatingChannel, NS_ASSERT, ns3::OfdmPpdu::LSigHeader::SetLength(), and ns3::WIFI_PHY_BAND_2_4GHZ.
Referenced by SetPhyHeaders().
|
private |
Fill in the PHY headers.
txVector | the TXVECTOR that was used for this PPDU |
ppduDuration | the transmission duration of this PPDU |
Definition at line 83 of file he-ppdu.cc.
References NS_LOG_FUNCTION, SetHeSigHeader(), and SetLSigHeader().
Referenced by HePpdu(), and HePpdu().
void ns3::HePpdu::SetTxPsdFlag | ( | TxPsdFlag | flag | ) | const |
flag | the transmit PSD flag set for this PPDU |
Definition at line 432 of file he-ppdu.cc.
References NS_LOG_FUNCTION.
|
protectedvirtual |
Fill in the TXVECTOR from PHY headers.
txVector | the TXVECTOR to fill in |
Reimplemented in ns3::EhtPpdu.
Definition at line 165 of file he-ppdu.cc.
References GetChannelWidthMhzFromEncoding(), GetGuardIntervalFromEncoding(), ns3::HePhy::GetHeMcs(), ns3::WifiTxVector::GetHeMuUserInfoMap(), ns3::OfdmPpdu::LSigHeader::GetLength(), GetMuMimoUsersFromEncoding(), GetNssFromNstsEncoding(), ns3::WifiPhyOperatingChannel::GetPrimaryChannelIndex(), ns3::VhtPhy::GetVhtMcs(), IsDlMu(), IsMu(), IsUlMu(), m_heSig, ns3::OfdmPpdu::m_lSig, ns3::WifiPpdu::m_operatingChannel, ns3::WifiPpdu::m_psdus, ns3::WifiTxVector::m_ruAllocation, NS_ASSERT, ns3::WifiTxVector::SetAggregation(), ns3::WifiTxVector::SetBssColor(), ns3::WifiTxVector::SetCenter26ToneRuIndication(), ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetGuardInterval(), SetHeMuUserInfos(), ns3::WifiTxVector::SetLength(), ns3::WifiTxVector::SetMode(), ns3::WifiTxVector::SetNss(), ns3::WifiTxVector::SetRuAllocation(), and ns3::WifiTxVector::SetSigBMode().
Referenced by DoGetTxVector().
void ns3::HePpdu::UpdateTxVectorForUlMu | ( | const std::optional< WifiTxVector > & | trigVector | ) | const |
Update the TXVECTOR for HE TB PPDUs, since the information to decode HE TB PPDUs is not available from the PHY headers but it requires information from the TRIGVECTOR of the AP expecting these HE TB PPDUs.
trigVector | the TRIGVECTOR or std::nullopt if no TRIGVECTOR is available at the caller |
Definition at line 439 of file he-ppdu.cc.
References NS_ASSERT, NS_LOG_FUNCTION, ns3::WIFI_MOD_CLASS_HE, and ns3::WIFI_PPDU_TYPE_UL_MU.
|
private |
the HE-SIG PHY header
Definition at line 355 of file he-ppdu.h.
Referenced by SetHeSigHeader(), and SetTxVectorFromPhyHeaders().
|
mutableprotected |