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

This class implements quadrature binary phase-shift keying defined in 20.3.9.4.3 HT-SIG definition. More...

#include <QBPSKModulation.h>

Inheritance diagram for inet::physicallayer::QBPSKModulation:
inet::physicallayer::MQAMModulationBase inet::physicallayer::APSKModulationBase inet::physicallayer::IAPSKModulation inet::physicallayer::IModulation inet::physicallayer::IPrintableObject

Public Member Functions

 QBPSKModulation ()
 
virtual void printToStream (std::ostream &stream) const
 
virtual double calculateSER (double snir, Hz bandwidth, bps bitrate) const override
 Returns the symbol error rate as a function of the signal to noise and interference ratio, the bandwidth, and the gross (physical) bitrate. More...
 
virtual double calculateBER (double snir, Hz bandwidth, bps bitrate) const override
 Returns the bit error rate as a function of the signal to noise and interference ratio, the bandwidth, and the gross (physical) bitrate. More...
 
- Public Member Functions inherited from inet::physicallayer::MQAMModulationBase
 MQAMModulationBase (const std::vector< APSKSymbol > *constellation)
 
- Public Member Functions inherited from inet::physicallayer::APSKModulationBase
 APSKModulationBase (const std::vector< APSKSymbol > *constellation)
 
virtual std::ostream & printToStream (std::ostream &stream, int level) const override
 Prints this object to the provided output stream. More...
 
virtual const std::vector< APSKSymbol > * getConstellation () const
 
virtual unsigned int getConstellationSize () const override
 
virtual unsigned int getCodeWordSize () const override
 
virtual const APSKSymbolmapToConstellationDiagram (const ShortBitVector &symbol) const
 
virtual ShortBitVector demapToBitRepresentation (const APSKSymbol *symbol) const
 
- Public Member Functions inherited from inet::physicallayer::IPrintableObject
virtual ~IPrintableObject ()
 
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
 

Static Public Attributes

static const QBPSKModulation singleton
 

Static Protected Attributes

static const std::vector< APSKSymbolconstellation
 

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
}
 
- Static Public Member Functions inherited from inet::physicallayer::APSKModulationBase
static const APSKModulationBasefindModulation (const char *name)
 
- Protected Attributes inherited from inet::physicallayer::APSKModulationBase
const std::vector< APSKSymbol > * constellation
 
const unsigned int codeWordSize
 
const unsigned int constellationSize
 

Detailed Description

This class implements quadrature binary phase-shift keying defined in 20.3.9.4.3 HT-SIG definition.

Constructor & Destructor Documentation

inet::physicallayer::QBPSKModulation::QBPSKModulation ( )
31 {
32 }
MQAMModulationBase(const std::vector< APSKSymbol > *constellation)
Definition: MQAMModulationBase.cc:24
static const std::vector< APSKSymbol > constellation
Definition: QBPSKModulation.h:37

Member Function Documentation

double inet::physicallayer::QBPSKModulation::calculateBER ( double  snir,
Hz  bandwidth,
bps  bitrate 
) const
overridevirtual

Returns the bit error rate as a function of the signal to noise and interference ratio, the bandwidth, and the gross (physical) bitrate.

Reimplemented from inet::physicallayer::MQAMModulationBase.

40 {
41  // http://en.wikipedia.org/wiki/Phase-shift_keying#Bit_error_rate
42  return calculateSER(snir, bandwidth, bitrate);
43 }
virtual double calculateSER(double snir, Hz bandwidth, bps bitrate) const override
Returns the symbol error rate as a function of the signal to noise and interference ratio...
Definition: QBPSKModulation.cc:34
double inet::physicallayer::QBPSKModulation::calculateSER ( double  snir,
Hz  bandwidth,
bps  bitrate 
) const
overridevirtual

Returns the symbol error rate as a function of the signal to noise and interference ratio, the bandwidth, and the gross (physical) bitrate.

Reimplemented from inet::physicallayer::MQAMModulationBase.

Referenced by calculateBER().

35 {
36  return 0.5 * erfc(sqrt(snir * bandwidth.get() / bitrate.get()));
37 }
value< Value, pow< Unit, 1, 2 > > sqrt(const value< Value, Unit > &a)
Definition: Units.h:247
virtual void inet::physicallayer::QBPSKModulation::printToStream ( std::ostream &  stream) const
inlinevirtual
42 { stream << "QBPSKModulation"; }

Member Data Documentation

const std::vector< APSKSymbol > inet::physicallayer::QBPSKModulation::constellation
staticprotected
Initial value:
= {
APSKSymbol(0, -1), APSKSymbol(0, 1)
}
const QBPSKModulation inet::physicallayer::QBPSKModulation::singleton
static

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