Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

simthlib::ShiftRegister Class Reference

#include <trellis.h>

Inheritance diagram for simthlib::ShiftRegister:

Inheritance graph
[legend]
List of all members.

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

Detailed Description

This class provides the output of a shift register according to a given input. The connections to the output are defined by the polynomials in octal-form passed as arguments of the constructor. (See for example "Studienarbeit Peter Haase in '99")


Constructor & Destructor Documentation

simthlib::ShiftRegister::ShiftRegister int  symbolsPerStep,
int  bitsPerSymbol,
const simth::checkedVector< int > &  octalPolynomials,
int  recursivePolynomial = 0
 

Constructor

simthlib::ShiftRegister::~ShiftRegister  )  [inline, pure virtual]
 


Member Function Documentation

int simthlib::ShiftRegister::bitsPerSymbol  )  const [inline, protected]
 

static int simthlib::ShiftRegister::computeMemoryLength int  polynomial  )  [static]
 

Computates the memory length of a shift register according to one given polynomials.

static int simthlib::ShiftRegister::computeMemoryLength const simth::checkedVector< int > &  polynomials,
int  recursivePolynomial = 0
[static]
 

Computates the memory length of a shift register according to given polynomials.

static int simthlib::ShiftRegister::computeNumOutputBits int  numPolynomials,
int  symbolsPerStep,
int  bitsPerSymbol,
bool  systematic
[static]
 

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.

static void simthlib::ShiftRegister::getBestPolynomials int  mem,
int  inbits,
int  outbits,
simth::checkedVector< int > *  genPolynomials
[static]
 

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.

virtual int simthlib::ShiftRegister::getNextState int  inputPattern,
int  oldState
const [pure virtual]
 

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.

virtual int simthlib::ShiftRegister::getOutput int  input,
int  state
const [pure virtual]
 

Implemented in simthlib::AbstractShiftRegisterBinary, simthlib::ShiftRegisterSystematicBinary, and simthlib::ShiftRegisterM.

virtual int simthlib::ShiftRegister::getRecursive int  state  )  const [pure virtual]
 

Implemented in simthlib::AbstractShiftRegisterBinary, and simthlib::ShiftRegisterM.

int simthlib::ShiftRegister::M  )  const [inline, protected]
 

int simthlib::ShiftRegister::memoryLength  )  const [inline]
 

Returns the memory length of the shift register.

virtual void simthlib::ShiftRegister::print std::ostream &  os  )  const [virtual]
 

Reimplemented in simthlib::ShiftRegisterSystematicBinary.

int simthlib::ShiftRegister::symbolsPerStep  )  const [inline, protected]
 

virtual int simthlib::ShiftRegister::tailsteps  )  const [pure virtual]
 

Implemented in simthlib::AbstractShiftRegisterBinary, and simthlib::ShiftRegisterM.


Member Data Documentation

simth::checkedVector<int> simthlib::ShiftRegister::polynomials [protected]
 

int simthlib::ShiftRegister::recursivePolynomial [protected]
 


Generated on Tue Aug 9 14:39:39 2005 for simtheticlib by  doxygen 1.4.1