#include <trellis.h>
Inheritance diagram for simthlib::ShiftRegister:
Public Member Functions | |
ShiftRegister (int symbolsPerStep, int bitsPerSymbol, const simth::checkedVector< int > &octalPolynomials, int recursivePolynomial=0) | |
virtual | ~ShiftRegister ()=0 |
virtual int | getNextState (int inputPattern, int oldState) const =0 |
virtual int | getOutput (int input, int state) const =0 |
virtual int | getRecursive (int state) const =0 |
int | memoryLength () const |
virtual int | tailsteps () const =0 |
virtual void | print (std::ostream &os) const |
Static Public Member Functions | |
static int | computeNumOutputBits (int numPolynomials, int symbolsPerStep, int bitsPerSymbol, bool systematic) |
static void | getBestPolynomials (int mem, int inbits, int outbits, simth::checkedVector< int > *genPolynomials) |
static int | computeMemoryLength (const simth::checkedVector< int > &polynomials, int recursivePolynomial=0) |
static int | computeMemoryLength (int polynomial) |
Protected Member Functions | |
int | symbolsPerStep () const |
int | bitsPerSymbol () const |
int | M () const |
Protected Attributes | |
simth::checkedVector< int > | polynomials |
int | recursivePolynomial |
|
Constructor |
|
|
|
|
|
Computates the memory length of a shift register according to one given polynomials. |
|
Computates the memory length of a shift register according to given polynomials. |
|
Computes the number of output bits according to a given number of polynomials, the number of symbols per step and if it is a systematic shift register. |
|
Returns the best (in terms of error correction capability) generator polynomials for the given memory length, number of input bits and number of output bits. |
|
Computates the next state of a shift register according to a given input, and a given previous state. Implemented in simthlib::AbstractShiftRegisterBinary, and simthlib::ShiftRegisterM. |
|
Implemented in simthlib::AbstractShiftRegisterBinary, simthlib::ShiftRegisterSystematicBinary, and simthlib::ShiftRegisterM. |
|
Implemented in simthlib::AbstractShiftRegisterBinary, and simthlib::ShiftRegisterM. |
|
|
|
Returns the memory length of the shift register. |
|
Reimplemented in simthlib::ShiftRegisterSystematicBinary. |
|
|
|
Implemented in simthlib::AbstractShiftRegisterBinary, and simthlib::ShiftRegisterM. |
|
|
|
|