DSSS (HR/DSSS) PPDU (11b) More...
#include "dsss-ppdu.h"
Classes | |
class | DsssSigHeader |
DSSS SIG PHY header. More... | |
Public Member Functions | |
DsssPpdu (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, uint16_t txCenterFreq, Time ppduDuration, uint64_t uid) | |
Create a DSSS (HR/DSSS) PPDU. More... | |
~DsssPpdu () override | |
Destructor for DsssPpdu. 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... | |
Private Member Functions | |
WifiTxVector | DoGetTxVector () const override |
Get the TXVECTOR used to send the PPDU. More... | |
Private Attributes | |
DsssSigHeader | m_dsssSig |
the DSSS SIG PHY header More... | |
Additional Inherited Members | |
![]() | |
virtual std::string | PrintPayload () const |
Print the payload of the PPDU. 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... | |
DSSS (HR/DSSS) PPDU (11b)
DsssPpdu stores a preamble, PHY headers and a PSDU of a PPDU with DSSS modulation.
Definition at line 45 of file dsss-ppdu.h.
ns3::DsssPpdu::DsssPpdu | ( | Ptr< const WifiPsdu > | psdu, |
const WifiTxVector & | txVector, | ||
uint16_t | txCenterFreq, | ||
Time | ppduDuration, | ||
uint64_t | uid | ||
) |
Create a DSSS (HR/DSSS) PPDU.
psdu | the PHY payload (PSDU) |
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 |
uid | the unique ID of this PPDU |
Definition at line 35 of file dsss-ppdu.cc.
References ns3::WifiPhy::CalculatePhyPreambleAndHeaderDuration(), ns3::WifiMode::GetDataRate(), ns3::Time::GetMicroSeconds(), ns3::WifiTxVector::GetMode(), m_dsssSig, NS_LOG_FUNCTION, ns3::DsssPpdu::DsssSigHeader::SetLength(), and ns3::DsssPpdu::DsssSigHeader::SetRate().
|
override |
Destructor for DsssPpdu.
Definition at line 48 of file dsss-ppdu.cc.
Copy this instance.
Reimplemented from ns3::WifiPpdu.
Definition at line 73 of file dsss-ppdu.cc.
References ns3::WifiPpdu::GetPsdu(), GetTxDuration(), ns3::WifiPpdu::GetTxVector(), ns3::WifiPpdu::m_txCenterFreq, and ns3::WifiPpdu::m_uid.
|
overrideprivatevirtual |
Get the TXVECTOR used to send the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 53 of file dsss-ppdu.cc.
References ns3::DsssPhy::GetDsssRate(), ns3::DsssPpdu::DsssSigHeader::GetRate(), m_dsssSig, ns3::WifiPpdu::m_preamble, ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetMode(), and ns3::WifiTxVector::SetPreambleType().
|
overridevirtual |
Get the total transmission duration of the PPDU.
Reimplemented from ns3::WifiPpdu.
Definition at line 63 of file dsss-ppdu.cc.
References ns3::WifiPhy::CalculatePhyPreambleAndHeaderDuration(), ns3::DsssPpdu::DsssSigHeader::GetLength(), ns3::WifiPpdu::GetTxVector(), m_dsssSig, ns3::MicroSeconds(), and ns3::Seconds().
Referenced by Copy().
|
private |
the DSSS SIG PHY header
Definition at line 125 of file dsss-ppdu.h.
Referenced by DsssPpdu(), DoGetTxVector(), and GetTxDuration().