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

#include <ConvolutionalCoderModule.h>

Inheritance diagram for inet::physicallayer::ConvolutionalCoderModule:
inet::physicallayer::IFecCoder inet::IPrintableObject

Public Member Functions

 ~ConvolutionalCoderModule ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual BitVector encode (const BitVector &informationBits) const override
 
virtual std::pair< BitVector, bool > decode (const BitVector &encodedBits) const override
 
virtual const ConvolutionalCodegetForwardErrorCorrection () const override
 
- 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
 

Protected Member Functions

virtual int numInitStages () const override
 
virtual void initialize (int stage) override
 
virtual void handleMessage (cMessage *msg) override
 

Protected Attributes

ConvolutionalCoderconvolutionalCoder = nullptr
 

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) }
 

Constructor & Destructor Documentation

◆ ~ConvolutionalCoderModule()

inet::physicallayer::ConvolutionalCoderModule::~ConvolutionalCoderModule ( )
35 {
37  delete convolutionalCoder;
38 }

Member Function Documentation

◆ decode()

virtual std::pair<BitVector, bool> inet::physicallayer::ConvolutionalCoderModule::decode ( const BitVector encodedBits) const
inlineoverridevirtual

Implements inet::physicallayer::IFecCoder.

31 { return convolutionalCoder->decode(encodedBits); }

◆ encode()

virtual BitVector inet::physicallayer::ConvolutionalCoderModule::encode ( const BitVector informationBits) const
inlineoverridevirtual

Implements inet::physicallayer::IFecCoder.

30 { return convolutionalCoder->encode(informationBits); }

◆ getForwardErrorCorrection()

virtual const ConvolutionalCode* inet::physicallayer::ConvolutionalCoderModule::getForwardErrorCorrection ( ) const
inlineoverridevirtual

◆ handleMessage()

virtual void inet::physicallayer::ConvolutionalCoderModule::handleMessage ( cMessage *  msg)
inlineoverrideprotectedvirtual
24 { throw cRuntimeError("This module doesn't handle self messages"); }

◆ initialize()

void inet::physicallayer::ConvolutionalCoderModule::initialize ( int  stage)
overrideprotectedvirtual
16 {
17  if (stage == INITSTAGE_LOCAL) {
18  const char *transferFunctionMatrix = par("transferFunctionMatrix");
19  const char *puncturingMatrix = par("puncturingMatrix");
20  const char *constraintLengthVector = par("constraintLengthVector");
21  const char *mode = par("mode");
22  int codeRatePuncturingK = par("punctureK");
23  int codeRatePuncturingN = par("punctureN");
24  ConvolutionalCode *convolutionalCode = new ConvolutionalCode(transferFunctionMatrix, puncturingMatrix, constraintLengthVector, codeRatePuncturingK, codeRatePuncturingN, mode);
25  convolutionalCoder = new ConvolutionalCoder(convolutionalCode);
26  }
27 }

◆ numInitStages()

virtual int inet::physicallayer::ConvolutionalCoderModule::numInitStages ( ) const
inlineoverrideprotectedvirtual
22 { return NUM_INIT_STAGES; }

◆ printToStream()

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

Prints this object to the provided output stream.

Reimplemented from inet::IPrintableObject.

30 {
31  return convolutionalCoder->printToStream(stream, level);
32 }

Member Data Documentation

◆ convolutionalCoder

ConvolutionalCoder* inet::physicallayer::ConvolutionalCoderModule::convolutionalCoder = nullptr
protected

The documentation for this class was generated from the following files:
inet::physicallayer::ConvolutionalCoder::encode
BitVector encode(const BitVector &informationBits) const override
Definition: ConvolutionalCoder.cc:197
inet::physicallayer::ConvolutionalCoder::printToStream
std::ostream & printToStream(std::ostream &stream, int level, int evFlags=0) const override
Prints this object to the provided output stream.
Definition: ConvolutionalCoder.cc:16
inet::physicallayer::ConvolutionalCoderModule::convolutionalCoder
ConvolutionalCoder * convolutionalCoder
Definition: ConvolutionalCoderModule.h:19
inet::physicallayer::ConvolutionalCoder::getForwardErrorCorrection
const ConvolutionalCode * getForwardErrorCorrection() const override
Definition: ConvolutionalCoder.h:124
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
NUM_INIT_STAGES
#define NUM_INIT_STAGES
Definition: InitStageRegistry.h:73
inet::physicallayer::ConvolutionalCoder::decode
std::pair< BitVector, bool > decode(const BitVector &encodedBits) const override
Definition: ConvolutionalCoder.cc:427