#include <encoder.h>
Inheritance diagram for simthlib::ConvEncoder:
Public Member Functions | |
ConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int mem, int inbits, int outbits) | |
ConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int inSymbolsPerStep, const simth::checkedVector< int > &polynomials) | |
ConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int inSymbolsPerStep, const simth::checkedVector< int > &polynomials, const int recursivePolynomial, bool systematic) | |
ConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int inSymbolsPerStep, int bitsPerSymbol, map_type mappMode, const simth::checkedVector< int > &polynomials, const int recursivePolynomial=0, bool systematic=false) | |
ConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int inputBitsPerStep, int outputBitsPerStep, map_type mappMode) | |
ConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl) | |
virtual | ~ConvEncoder () |
virtual int | getDataLength (int codedLength) const |
virtual int | getCodeLength (int rawLength) const |
virtual int | numTailbits () const |
virtual void | Encode (const simth::BitSeq &bsin, simth::BitSeq *bsout) const |
virtual int | dataBitsPerStep () const |
virtual int | codedBitsPerStep () const |
virtual void | print (std::ostream &os) const |
Static Public Member Functions | |
static simth::checkedVector< int > | stdVectorToSimthVector (const simth::Property::vector_int &) |
Related Functions | |
(Note that these are not member functions.) | |
propertylist_ConvEncoder (not_a_function) |
This class simulates a convolutional coder that can be based both on binary values or on symbols values. In the first case all additions are done modulo 2. Beside those commonly used binary coders this class implements coders that are not based on binary values but on symbols that are definded in the {0,1,2,..,M-1}. In that case the additions within the shift regitster are done modulo M. Hence, what is called the number of input bits for the binary case is called the number of input symbols.
|
Class constructor for binary convolutional codes. (This is the common case.) A particular binary coder is determined by the memory length, the number of input bits and the number of output bits. In a more general point of view the number of input bits and the number of output bits can be seen as the number of input symbols and output symbols, respectively, while the number of bits per symbol is fixed to one.
|
|
Class constructor for binary convolutional codes. The number of bits per symbol is fixed to one. |
|
Class constructor for systematic (if last argument is set to true) recursive binary convolutional codes. |
|
Class constructor for non-systematic recursive convolutional code, where the number of bits per symbol is not fixed to one as for the binary convolutional coder. |
|
Class constructor only for special purpose. The state diagram of the trellis is fixed. See ConvCodeTrellisExplicit for further explanation. |
|
Class constructor for propertylist-based recursive binary convolutional codes. |
|
Class destructor. |
|
Returns the number of output bits per step. |
|
Returns the number of input bits per step. |
|
Encodes a bit sequence. Implements simthlib::Encoder. Reimplemented in simthlib::PunctConvEncoder. |
|
Returns the length of the coded bit sequence which the coder generates from a data sequence of the given length. Implements simthlib::Encoder. Reimplemented in simthlib::PunctConvEncoder. |
|
Returns the length of a data bit sequence which can be encoded into a coded bit sequence of the given length. Implements simthlib::Encoder. Reimplemented in simthlib::PunctConvEncoder. |
|
|
|
Reimplemented from simthlib::Encoder. |
|
|
|
These are the properties of class ConvEncoder . This list is auto-generated from the XML-Devicelist of this device by means of an XSLT transformation script. Description of this device in the XML file: Binary Convolutional encoder, specified by its generator polynomials (e.g. '1' for uncoded transmission and '171 133' for the HiperLAN/2 code). Note that this class also has the Properties of its base classes. The direct base class is simthlib::Encoder ; direct link to its propertylist should be propertylist_Encoder(). The list below usually includes the properties that have been inherited from the base classes; the properties which belong only to this class can be found at the end of this list.
|