INET Framework for OMNeT++/OMNEST
inet::physicallayer::Ieee80211DsssDataMode Class Reference

#include <Ieee80211DSSSMode.h>

Inheritance diagram for inet::physicallayer::Ieee80211DsssDataMode:
inet::physicallayer::Ieee80211DsssChunkMode inet::physicallayer::IIeee80211DataMode inet::physicallayer::IPrintableObject

Public Member Functions

 Ieee80211DsssDataMode (const DPSKModulationBase *modulation)
 
virtual bps getNetBitrate () const override
 
virtual bps getGrossBitrate () const override
 
virtual int getBitLength (int dataBitLength) const override
 
virtual const simtime_t getDuration (int bitLength) const override
 
virtual const DPSKModulationBasegetModulation () const override
 
virtual int getNumberOfSpatialStreams () const override
 
- Public Member Functions inherited from inet::physicallayer::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level) const
 Prints this object to the provided output stream. More...
 
virtual std::string getInfoStringRepresentation () const
 
virtual std::string getDetailStringRepresentation () const
 
virtual std::string getDebugStringRepresentation () const
 
virtual std::string getTraceStringRepresentation () const
 
virtual std::string getCompleteStringRepresentation () const
 

Protected Attributes

const DPSKModulationBasemodulation
 

Additional Inherited Members

- Public Types inherited from inet::physicallayer::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 

Constructor & Destructor Documentation

inet::physicallayer::Ieee80211DsssDataMode::Ieee80211DsssDataMode ( const DPSKModulationBase modulation)
24  :
26 {
27 }
const DPSKModulationBase * modulation
Definition: Ieee80211DSSSMode.h:68

Member Function Documentation

virtual int inet::physicallayer::Ieee80211DsssDataMode::getBitLength ( int  dataBitLength) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211DataMode.

75 { return dataBitLength; }
const simtime_t inet::physicallayer::Ieee80211DsssDataMode::getDuration ( int  bitLength) const
overridevirtual

Implements inet::physicallayer::IIeee80211DataMode.

Referenced by inet::physicallayer::Ieee80211DsssMode::getDuration().

30 {
31  return (simtime_t)(lrint(ceil(bitLength / getGrossBitrate().get() * 1E+6))) / 1E+6;
32 }
virtual bps getGrossBitrate() const override
Definition: Ieee80211DSSSMode.h:74
virtual bps inet::physicallayer::Ieee80211DsssDataMode::getGrossBitrate ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211DataMode.

Referenced by getDuration().

74 { return getNetBitrate(); }
virtual bps getNetBitrate() const override
Definition: Ieee80211DSSSMode.h:73
virtual const DPSKModulationBase* inet::physicallayer::Ieee80211DsssDataMode::getModulation ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211DataMode.

77 { return modulation; }
const DPSKModulationBase * modulation
Definition: Ieee80211DSSSMode.h:68
virtual bps inet::physicallayer::Ieee80211DsssDataMode::getNetBitrate ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211DataMode.

73 { return Mbps(1) * modulation->getConstellationSize() / 2; }
scale< bps, 1, 1000000 > Mbps
Definition: Units.h:987
unsigned int getConstellationSize() const
Definition: DPSKModulationBase.h:38
const DPSKModulationBase * modulation
Definition: Ieee80211DSSSMode.h:68
virtual int inet::physicallayer::Ieee80211DsssDataMode::getNumberOfSpatialStreams ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211DataMode.

78 { return 1; }

Member Data Documentation

const DPSKModulationBase* inet::physicallayer::Ieee80211DsssDataMode::modulation
protected

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