VHT PPDU (11ac)VhtPpdu stores a preamble, PHY headers and a PSDU of a PPDU with VHT header. More...
#include "vht-ppdu.h"
 Inheritance diagram for ns3::VhtPpdu:
 Inheritance diagram for ns3::VhtPpdu: Collaboration diagram for ns3::VhtPpdu:
 Collaboration diagram for ns3::VhtPpdu:| Classes | |
| class | VhtSigHeader | 
| VHT PHY header (VHT-SIG-A1/A2/B).  More... | |
| Public Member Functions | |
| VhtPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, Time ppduDuration, WifiPhyBand band, uint64_t uid) | |
| Create a VHT PPDU.  More... | |
| virtual | ~VhtPpdu () | 
| Destructor for VhtPpdu.  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... | |
| WifiPpduType | GetType (void) const override | 
| Return the PPDU type (.  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... | |
|  Public Member Functions inherited from ns3::WifiPpdu | |
| WifiPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, uint64_t uid=UINT64_MAX) | |
| Create a PPDU storing a PSDU.  More... | |
| WifiPpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, uint64_t uid) | |
| Create a PPDU storing a map of PSDUs.  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... | |
| 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 | |
| VhtSigHeader | m_vhtSig | 
| the VHT-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... | |
VHT PPDU (11ac)
VhtPpdu stores a preamble, PHY headers and a PSDU of a PPDU with VHT header.
Definition at line 44 of file vht-ppdu.h.
| ns3::VhtPpdu::VhtPpdu | ( | Ptr< const WifiPsdu > | psdu, | 
| const WifiTxVector & | txVector, | ||
| Time | ppduDuration, | ||
| WifiPhyBand | band, | ||
| uint64_t | uid | ||
| ) | 
Create a VHT 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 33 of file vht-ppdu.cc.
References ns3::WifiPhy::CalculatePhyPreambleAndHeaderDuration(), ns3::WifiTxVector::GetGuardInterval(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), ns3::Time::GetNanoSeconds(), ns3::WifiTxVector::GetNss(), ns3::OfdmPpdu::m_channelWidth, ns3::OfdmPpdu::m_lSig, ns3::WifiPpdu::m_preamble, m_vhtSig, NS_LOG_FUNCTION, ns3::VhtPpdu::VhtSigHeader::SetChannelWidth(), ns3::OfdmPpdu::LSigHeader::SetLength(), ns3::VhtPpdu::VhtSigHeader::SetMuFlag(), ns3::VhtPpdu::VhtSigHeader::SetNStreams(), ns3::VhtPpdu::VhtSigHeader::SetShortGuardInterval(), ns3::VhtPpdu::VhtSigHeader::SetShortGuardIntervalDisambiguation(), ns3::VhtPpdu::VhtSigHeader::SetSuMcs(), and ns3::WIFI_PREAMBLE_VHT_MU.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | virtual | 
Destructor for VhtPpdu.
Definition at line 52 of file vht-ppdu.cc.
Copy this instance.
Reimplemented from ns3::OfdmPpdu.
Definition at line 87 of file vht-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:
 Here is the call graph for this function:| 
 | overrideprivatevirtual | 
Get the TXVECTOR used to send the PPDU.
Reimplemented from ns3::OfdmPpdu.
Definition at line 57 of file vht-ppdu.cc.
References ns3::VhtPpdu::VhtSigHeader::GetChannelWidth(), ns3::VhtPpdu::VhtSigHeader::GetNStreams(), ns3::WifiPpdu::GetPsdu(), ns3::VhtPpdu::VhtSigHeader::GetShortGuardInterval(), ns3::VhtPpdu::VhtSigHeader::GetSuMcs(), ns3::VhtPhy::GetVhtMcs(), ns3::WifiPpdu::m_preamble, m_vhtSig, 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:
 Here is the call graph for this function:| 
 | overridevirtual | 
Get the total transmission duration of the PPDU.
Reimplemented from ns3::OfdmPpdu.
Definition at line 70 of file vht-ppdu.cc.
References ns3::WifiPhy::CalculatePhyPreambleAndHeaderDuration(), ns3::WifiTxVector::GetGuardInterval(), ns3::OfdmPpdu::LSigHeader::GetLength(), ns3::Time::GetNanoSeconds(), ns3::VhtPpdu::VhtSigHeader::GetShortGuardInterval(), ns3::VhtPpdu::VhtSigHeader::GetShortGuardIntervalDisambiguation(), ns3::WifiPpdu::GetTxVector(), ns3::OfdmPpdu::m_lSig, m_vhtSig, ns3::MicroSeconds(), ns3::NanoSeconds(), and ns3::Seconds().
Referenced by Copy().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | overridevirtual | 
Return the PPDU type (.
Reimplemented from ns3::WifiPpdu.
Definition at line 93 of file vht-ppdu.cc.
References ns3::WifiPpdu::m_preamble, ns3::WIFI_PPDU_TYPE_DL_MU, ns3::WIFI_PPDU_TYPE_SU, and ns3::WIFI_PREAMBLE_VHT_MU.
| 
 | private | 
the VHT-SIG PHY header
Definition at line 176 of file vht-ppdu.h.
Referenced by DoGetTxVector(), GetTxDuration(), and VhtPpdu().