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

This class implements parameterized amplitude-shift keying that arranges symbols evenly on the x axis. More...

#include <MaskModulation.h>

Inheritance diagram for inet::physicallayer::MaskModulation:
inet::physicallayer::ApskModulationBase inet::physicallayer::IApskModulation inet::physicallayer::IModulation inet::IPrintableObject

Public Member Functions

 MaskModulation (double maxAmplitude, unsigned int codeWordSize)
 
virtual ~MaskModulation ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. 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...
 
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...
 
- Public Member Functions inherited from inet::physicallayer::ApskModulationBase
 ApskModulationBase (const std::vector< ApskSymbol > *constellation)
 
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::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 
- Static Public Member Functions inherited from inet::physicallayer::ApskModulationBase
const static 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 parameterized amplitude-shift keying that arranges symbols evenly on the x axis.

http://en.wikipedia.org/wiki/Amplitude-shift_keying

Constructor & Destructor Documentation

◆ MaskModulation()

inet::physicallayer::MaskModulation::MaskModulation ( double  maxAmplitude,
unsigned int  codeWordSize 
)
25  : ApskModulationBase(createConstellation(maxAmplitude, codeWordSize))
26 {
27 }

◆ ~MaskModulation()

inet::physicallayer::MaskModulation::~MaskModulation ( )
virtual
30 {
31  delete constellation;
32 }

Member Function Documentation

◆ calculateBER()

double inet::physicallayer::MaskModulation::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.

Implements inet::physicallayer::IModulation.

41 {
42  throw cRuntimeError("Not implemented yet");
43 }

◆ calculateSER()

double inet::physicallayer::MaskModulation::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.

Implements inet::physicallayer::IModulation.

46 {
47  throw cRuntimeError("Not implemented yet");
48 }

◆ printToStream()

std::ostream & inet::physicallayer::MaskModulation::printToStream ( std::ostream &  stream,
int  level,
int  evFlags = 0 
) const
overridevirtual

Prints this object to the provided output stream.

Reimplemented from inet::physicallayer::ApskModulationBase.

35 {
36  stream << "MASKModulaiton";
37  return ApskModulationBase::printToStream(stream, level);
38 }

The documentation for this class was generated from the following files:
inet::physicallayer::ApskModulationBase::ApskModulationBase
ApskModulationBase(const std::vector< ApskSymbol > *constellation)
Definition: ApskModulationBase.cc:23
inet::physicallayer::ApskModulationBase::printToStream
virtual std::ostream & printToStream(std::ostream &stream, int level, int evFlags=0) const override
Prints this object to the provided output stream.
Definition: ApskModulationBase.cc:30
inet::physicallayer::ApskModulationBase::codeWordSize
const unsigned int codeWordSize
Definition: ApskModulationBase.h:26
inet::physicallayer::ApskModulationBase::constellation
const std::vector< ApskSymbol > * constellation
Definition: ApskModulationBase.h:25