HT PPDU (11n) More...
#include "ht-ppdu.h"
Inheritance diagram for ns3::HtPpdu:
Collaboration diagram for ns3::HtPpdu:Classes | |
| class | HtSigHeader |
| HT PHY header (HT-SIG1/2). More... | |
Public Member Functions | |
| HtPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, Time ppduDuration, WifiPhyBand band, uint64_t uid) | |
| Create an HT PPDU. More... | |
| virtual | ~HtPpdu () |
| Destructor for HtPpdu. More... | |
| Ptr< WifiPpdu > | Copy (void) const override |
| Copy this instance. More... | |
| Time | GetTxDuration (void) const override |
| Get the total transmission duration of the PPDU. More... | |
Public Member Functions inherited from ns3::OfdmPpdu | |
| OfdmPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, WifiPhyBand band, uint64_t uid, bool instantiateLSig=true) | |
| Create an OFDM PPDU. More... | |
| virtual | ~OfdmPpdu () |
| Destructor for OfdmPpdu. More... | |
| Ptr< WifiPpdu > | Copy (void) const override |
| Copy this instance. More... | |
| Time | GetTxDuration (void) 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, uint64_t uid) | |
| Create a PPDU storing a map of PSDUs. More... | |
| WifiPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, uint64_t uid=UINT64_MAX) | |
| Create a PPDU storing a PSDU. More... | |
| virtual | ~WifiPpdu () |
| Destructor for WifiPpdu. More... | |
| virtual bool | CanBeReceived (uint16_t txCenterFreq, uint16_t p20MinFreq, uint16_t p20MaxFreq) const |
| Check whether the given PPDU can be received on the specified primary channel. More... | |
| WifiModulationClass | GetModulation (void) const |
| Get the modulation used for the PPDU. More... | |
| WifiPreamble | GetPreamble (void) const |
| Get the preamble of the PPDU. More... | |
| Ptr< const WifiPsdu > | GetPsdu (void) const |
| Get the payload of the PPDU. More... | |
| virtual uint16_t | GetStaId (void) const |
| Get the ID of the STA that transmitted the PPDU for UL MU, SU_STA_ID otherwise. More... | |
| virtual uint16_t | GetTransmissionChannelWidth (void) const |
| Get the channel width over which the PPDU will effectively be transmitted. More... | |
| WifiTxVector | GetTxVector (void) const |
| Get the TXVECTOR used to send the PPDU. More... | |
| virtual WifiPpduType | GetType (void) const |
| Return the PPDU type (. More... | |
| uint64_t | GetUid (void) const |
| Get the UID of the PPDU. More... | |
| bool | IsTruncatedTx (void) const |
| void | Print (std::ostream &os) const |
| Print the PPDU contents. More... | |
| void | SetTruncatedTx (void) |
| 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 (void) const |
| Get the reference count of the object. More... | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. More... | |
| void | Ref (void) const |
| Increment the reference count. More... | |
| void | Unref (void) const |
| Decrement the reference count. More... | |
Private Member Functions | |
| WifiTxVector | DoGetTxVector (void) const override |
| Get the TXVECTOR used to send the PPDU. More... | |
Private Attributes | |
| HtSigHeader | m_htSig |
| the HT-SIG PHY header More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::WifiPpdu | |
| virtual std::string | PrintPayload (void) const |
| Print the payload of the PPDU. 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... | |
| uint64_t | m_uid |
| the unique ID of this PPDU More... | |
HT PPDU (11n)
HtPpdu stores a preamble, PHY headers and a PSDU of a PPDU with HT header
| ns3::HtPpdu::HtPpdu | ( | Ptr< const WifiPsdu > | psdu, |
| const WifiTxVector & | txVector, | ||
| Time | ppduDuration, | ||
| WifiPhyBand | band, | ||
| uint64_t | uid | ||
| ) |
Create an HT PPDU.
| psdu | the PHY payload (PSDU) |
| txVector | the TXVECTOR 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 |
Definition at line 34 of file ht-ppdu.cc.
References ns3::WifiTxVector::GetGuardInterval(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), ns3::Time::GetNanoSeconds(), ns3::WifiPsdu::GetSize(), ns3::WifiTxVector::IsAggregation(), ns3::OfdmPpdu::m_band, ns3::OfdmPpdu::m_channelWidth, m_htSig, ns3::OfdmPpdu::m_lSig, NS_LOG_FUNCTION, ns3::HtPpdu::HtSigHeader::SetAggregation(), ns3::HtPpdu::HtSigHeader::SetChannelWidth(), ns3::HtPpdu::HtSigHeader::SetHtLength(), ns3::OfdmPpdu::LSigHeader::SetLength(), ns3::HtPpdu::HtSigHeader::SetMcs(), ns3::HtPpdu::HtSigHeader::SetShortGuardInterval(), and ns3::WIFI_PHY_BAND_2_4GHZ.
Here is the call graph for this function:
|
virtual |
Destructor for HtPpdu.
Definition at line 53 of file ht-ppdu.cc.
Copy this instance.
Reimplemented from ns3::WifiPpdu.
Definition at line 80 of file ht-ppdu.cc.
References ns3::WifiPpdu::GetPsdu(), GetTxDuration(), ns3::WifiPpdu::GetTxVector(), ns3::OfdmPpdu::m_band, and ns3::WifiPpdu::m_uid.
Here is the call graph for this function:
|
overrideprivatevirtual |
Get the TXVECTOR used to send the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 58 of file ht-ppdu.cc.
References ns3::HtPpdu::HtSigHeader::GetAggregation(), ns3::HtPpdu::HtSigHeader::GetChannelWidth(), ns3::HtPhy::GetHtMcs(), ns3::HtPpdu::HtSigHeader::GetMcs(), ns3::HtPpdu::HtSigHeader::GetShortGuardInterval(), m_htSig, ns3::WifiPpdu::m_preamble, ns3::WifiTxVector::SetAggregation(), ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetGuardInterval(), ns3::WifiTxVector::SetMode(), ns3::WifiTxVector::SetNss(), and ns3::WifiTxVector::SetPreambleType().
Here is the call graph for this function:
|
overridevirtual |
Get the total transmission duration of the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 71 of file ht-ppdu.cc.
References ns3::WifiPhy::CalculateTxDuration(), ns3::HtPpdu::HtSigHeader::GetHtLength(), ns3::WifiPpdu::GetTxVector(), ns3::OfdmPpdu::m_band, m_htSig, and ns3::Seconds().
Referenced by Copy().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
the HT-SIG PHY header
Definition at line 161 of file ht-ppdu.h.
Referenced by HtPpdu(), DoGetTxVector(), and GetTxDuration().