A Discrete-Event Network Simulator
API
ns3::EhtPpdu Class Reference

EHT PPDU (11be) More...

#include "eht-ppdu.h"

+ Inheritance diagram for ns3::EhtPpdu:
+ Collaboration diagram for ns3::EhtPpdu:

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< WifiPpduCopy () const override
 Copy this instance. More...
 
WifiPpduType GetType () const override
 Return the PPDU type (. More...
 
- Public Member Functions inherited from ns3::HePpdu
 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< WifiPpduCopy () const override
 Copy this instance. More...
 
Ptr< const WifiPsduGetPsdu (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)
 
- Public Member Functions inherited from ns3::OfdmPpdu
 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< WifiPpduCopy () const override
 Copy this instance. More...
 
Time GetTxDuration () const override
 Get the total transmission duration of the PPDU. More...
 
- Public Member Functions inherited from ns3::WifiPpdu
 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< WifiPpduCopy () 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 WifiPsduGetPsdu () 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...
 
- Public Member Functions inherited from ns3::SimpleRefCount< WifiPpdu >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount () const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (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...
 
- Protected Member Functions inherited from ns3::HePpdu
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

- Public Types inherited from ns3::HePpdu
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...
 
- Protected Attributes inherited from ns3::HePpdu
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...
 
- Protected Attributes inherited from ns3::OfdmPpdu
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...
 
- Protected Attributes inherited from ns3::WifiPpdu
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...
 

Detailed Description

EHT PPDU (11be)

EhtPpdu is currently identical to HePpdu

Definition at line 40 of file eht-ppdu.h.

Constructor & Destructor Documentation

◆ EhtPpdu()

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.

Parameters
psdusthe PHY payloads (PSDUs)
txVectorthe TXVECTOR that was used for this PPDU
txCenterFreqthe center frequency (MHz) that was used for this PPDU
ppduDurationthe transmission duration of this PPDU
bandthe WifiPhyBand used for the transmission of this PPDU
uidthe unique ID of this PPDU or of the triggering PPDU if this is an EHT TB PPDU
flagthe flag indicating the type of Tx PSD to build
p20Indexthe index of the primary 20 MHz channel

Definition at line 32 of file eht-ppdu.cc.

References NS_LOG_FUNCTION.

◆ ~EhtPpdu()

ns3::EhtPpdu::~EhtPpdu ( )
override

Destructor for EhtPpdu.

Definition at line 46 of file eht-ppdu.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ Copy()

Ptr< WifiPpdu > ns3::EhtPpdu::Copy ( ) const
overridevirtual

Copy this instance.

Returns
a Ptr to a copy of this instance.

Reimplemented from ns3::WifiPpdu.

Definition at line 103 of file eht-ppdu.cc.

References ns3::Copy().

+ Here is the call graph for this function:

◆ DoGetTxVector()

◆ GetType()

WifiPpduType ns3::EhtPpdu::GetType ( ) const
overridevirtual

◆ IsDlMu()

bool ns3::EhtPpdu::IsDlMu ( ) const
overrideprotectedvirtual

Return true if the PPDU is a DL MU PPDU.

Returns
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.

◆ IsUlMu()

bool ns3::EhtPpdu::IsUlMu ( ) const
overrideprotectedvirtual

Return true if the PPDU is an UL MU PPDU.

Returns
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.


The documentation for this class was generated from the following files: