#include <ConvolutionalCode.h>
◆ ConvolutionalCode()
| inet::physicallayer::ConvolutionalCode::ConvolutionalCode |
( |
const char * |
transferFunctionMatrix, |
|
|
const char * |
puncturingMatrix, |
|
|
const char * |
constraintLengthVector, |
|
|
int |
codeRatePuncturingK, |
|
|
int |
codeRatePuncturingN, |
|
|
const char * |
mode |
|
) |
| |
25 while (tokenizer.hasMoreTokens())
◆ computeNetBitErrorRate()
| double inet::physicallayer::ConvolutionalCode::computeNetBitErrorRate |
( |
double |
grossBitErrorRate | ) |
const |
|
overridevirtual |
Implements inet::physicallayer::IForwardErrorCorrection.
58 double p = grossBitErrorRate;
59 double netBitErrorRate;
62 netBitErrorRate = pow(p, 2) * (14 - 23 * p + 16 * pow(p, 2) + 2 * pow(p, 3) - 16 * pow(p, 4) + 8 * pow(p, 5))
63 / ((1 + 3 * pow(p, 2) - 2 * pow(p, 3)) * (2 - p + 4 * pow(p, 2) - 4 * pow(p, 3)));
65 netBitErrorRate = 44 * pow(p, 3) + 3519.0 / 8.0 * pow(p, 4) - 14351.0 / 32.0 * pow(p, 5) - 1267079.0 / 64.0 * pow(p, 6) - 31646405.0 / 512.0 * pow(p, 7) + 978265739.0 / 2048.0 * pow(p, 8) + 3931764263.0 / 1024.0 * pow(p, 9) - 48978857681.0 / 32768.0 * pow(p, 10);
67 throw cRuntimeError(
"Not yet implemented");
70 throw cRuntimeError(
"Not yet implemented");
◆ getCodeRate()
| double inet::physicallayer::ConvolutionalCode::getCodeRate |
( |
| ) |
const |
|
overridevirtual |
◆ getCodeRatePuncturingK()
| int inet::physicallayer::ConvolutionalCode::getCodeRatePuncturingK |
( |
| ) |
const |
|
inline |
◆ getCodeRatePuncturingN()
| int inet::physicallayer::ConvolutionalCode::getCodeRatePuncturingN |
( |
| ) |
const |
|
inline |
◆ getConstraintLengthVector()
| const char* inet::physicallayer::ConvolutionalCode::getConstraintLengthVector |
( |
| ) |
const |
|
inline |
◆ getDecodedLength()
| int inet::physicallayer::ConvolutionalCode::getDecodedLength |
( |
int |
encodedLength | ) |
const |
|
overridevirtual |
◆ getEncodedLength()
| int inet::physicallayer::ConvolutionalCode::getEncodedLength |
( |
int |
decodedLength | ) |
const |
|
overridevirtual |
◆ getMode()
| const char* inet::physicallayer::ConvolutionalCode::getMode |
( |
| ) |
const |
|
inline |
◆ getPuncturingMatrix()
| const char* inet::physicallayer::ConvolutionalCode::getPuncturingMatrix |
( |
| ) |
const |
|
inline |
◆ getTransferFunctionMatrix()
| const char* inet::physicallayer::ConvolutionalCode::getTransferFunctionMatrix |
( |
| ) |
const |
|
inline |
◆ printToStream()
| std::ostream & inet::physicallayer::ConvolutionalCode::printToStream |
( |
std::ostream & |
stream, |
|
|
int |
level, |
|
|
int |
evFlags = 0 |
|
) |
| const |
|
overridevirtual |
Prints this object to the provided output stream.
Reimplemented from inet::IPrintableObject.
31 stream <<
"ConvolutionalCode";
◆ codeRatePuncturingK
| int inet::physicallayer::ConvolutionalCode::codeRatePuncturingK |
|
protected |
◆ codeRatePuncturingN
| int inet::physicallayer::ConvolutionalCode::codeRatePuncturingN |
|
protected |
◆ constraintLengthVector
| const char* inet::physicallayer::ConvolutionalCode::constraintLengthVector |
|
protected |
◆ memory
| int inet::physicallayer::ConvolutionalCode::memory |
|
protected |
◆ mode
| const char* inet::physicallayer::ConvolutionalCode::mode |
|
protected |
◆ puncturingMatrix
| const char* inet::physicallayer::ConvolutionalCode::puncturingMatrix |
|
protected |
◆ transferFunctionMatrix
| const char* inet::physicallayer::ConvolutionalCode::transferFunctionMatrix |
|
protected |
The documentation for this class was generated from the following files: