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

#include <Ieee80211ConvolutionalCode.h>

Inheritance diagram for inet::physicallayer::Ieee80211ConvolutionalCode:
inet::physicallayer::ConvolutionalCode inet::physicallayer::IForwardErrorCorrection inet::physicallayer::IPrintableObject

Public Member Functions

 Ieee80211ConvolutionalCode (int codeRateK, int codeRateN)
 
- Public Member Functions inherited from inet::physicallayer::ConvolutionalCode
 ConvolutionalCode (const char *transferFunctionMatrix, const char *puncturingMatrix, const char *constraintLengthVector, int codeRatePuncturingK, int codeRatePuncturingN, const char *mode)
 
int getCodeRatePuncturingK () const
 
int getCodeRatePuncturingN () const
 
const char * getConstraintLengthVector () const
 
const char * getMode () const
 
const char * getPuncturingMatrix () const
 
const char * getTransferFunctionMatrix () const
 
std::ostream & printToStream (std::ostream &stream, int level) const override
 Prints this object to the provided output stream. More...
 
virtual double getCodeRate () const override
 
virtual int getEncodedLength (int decodedLength) const override
 
virtual int getDecodedLength (int encodedLength) const override
 
virtual double computeNetBitErrorRate (double grossBitErrorRate) const override
 
- 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
 

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
}
 
- Protected Attributes inherited from inet::physicallayer::ConvolutionalCode
const char * transferFunctionMatrix
 
const char * puncturingMatrix
 
const char * constraintLengthVector
 
int codeRatePuncturingK
 
int codeRatePuncturingN
 
int memory
 
const char * mode
 

Constructor & Destructor Documentation

inet::physicallayer::Ieee80211ConvolutionalCode::Ieee80211ConvolutionalCode ( int  codeRateK,
int  codeRateN 
)
24  :
25  ConvolutionalCode("133 171", nullptr, "7", -1, -1, "truncated")
26 {
27  if (codeRateK == 1 && codeRateN == 2) {
30  puncturingMatrix = "1; 1";
31  }
32  else if (codeRateK == 2 && codeRateN == 3) {
35  puncturingMatrix = "1 1; 1 0";
36  }
37  else if (codeRateK == 3 && codeRateN == 4) {
40  puncturingMatrix = "1 1 0; 1 0 1";
41  }
42  else if (codeRateK == 5 && codeRateN == 6)
43  {
46  puncturingMatrix = "1 1 0 1 0; 1 0 1 0 1";
47  }
48  else
49  throw cRuntimeError("Unsupported code rate %d/%d", codeRateK, codeRateN);
50 }
int codeRatePuncturingN
Definition: ConvolutionalCode.h:34
const char * puncturingMatrix
Definition: ConvolutionalCode.h:31
int codeRatePuncturingK
Definition: ConvolutionalCode.h:33
ConvolutionalCode(const char *transferFunctionMatrix, const char *puncturingMatrix, const char *constraintLengthVector, int codeRatePuncturingK, int codeRatePuncturingN, const char *mode)
Definition: ConvolutionalCode.cc:24

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