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

DSSS (HR/DSSS) PPDU (11b) More...

#include "dsss-ppdu.h"

+ Inheritance diagram for ns3::DsssPpdu:
+ Collaboration diagram for ns3::DsssPpdu:

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< 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 Ptr< WifiPpduCopy () const
 Copy this instance. More...
 
bool DoesCoverChannel (uint16_t p20MinFreq, uint16_t p20MaxFreq) const
 Check whether the given PPDU covers the whole channel. 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...
 
const WifiTxVectorGetTxVector () 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 ResetTxVector ()
 Reset the TXVECTOR. 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...
 

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

- Protected Member Functions inherited from ns3::WifiPpdu
virtual std::string PrintPayload () const
 Print the payload of the PPDU. 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

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.

Constructor & Destructor Documentation

◆ DsssPpdu()

ns3::DsssPpdu::DsssPpdu ( Ptr< const WifiPsdu psdu,
const WifiTxVector txVector,
uint16_t  txCenterFreq,
Time  ppduDuration,
uint64_t  uid 
)

Create a DSSS (HR/DSSS) PPDU.

Parameters
psduthe PHY payload (PSDU)
txVectorthe TXVECTOR that was used for this PPDU
txCenterFreqthe center frequency (MHz) that was used for this PPDU
ppduDurationthe transmission duration of this PPDU
uidthe 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().

Referenced by Copy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ~DsssPpdu()

ns3::DsssPpdu::~DsssPpdu ( )
override

Destructor for DsssPpdu.

Definition at line 48 of file dsss-ppdu.cc.

Member Function Documentation

◆ Copy()

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

Copy this instance.

Returns
a Ptr to a copy of this instance.

Reimplemented from ns3::WifiPpdu.

Definition at line 73 of file dsss-ppdu.cc.

References DsssPpdu().

+ Here is the call graph for this function:

◆ DoGetTxVector()

WifiTxVector ns3::DsssPpdu::DoGetTxVector ( ) const
overrideprivatevirtual

Get the TXVECTOR used to send the PPDU.

Returns
the TXVECTOR of 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().

+ Here is the call graph for this function:

◆ GetTxDuration()

Time ns3::DsssPpdu::GetTxDuration ( ) const
overridevirtual

Get the total transmission duration of the PPDU.

Returns
the 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().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_dsssSig

DsssSigHeader ns3::DsssPpdu::m_dsssSig
private

the DSSS SIG PHY header

Definition at line 125 of file dsss-ppdu.h.

Referenced by DsssPpdu(), DoGetTxVector(), and GetTxDuration().


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