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

simthlib::ConvDecoder Class Reference

Abstract base class of all kinds of convolutional decoders. More...

#include <decoder.h>

Inheritance diagram for simthlib::ConvDecoder:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 ConvDecoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int mem, int inbits, int outbits, simth::SequenceType inType, trellisdecoding::DecodingAlgorithmMode decodingMode)
 ConvDecoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int inSymbolsPerStep, const simth::checkedVector< int > &polynomials, simth::SequenceType inType, trellisdecoding::DecodingAlgorithmMode decodingMode)
 ConvDecoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int inSymbolsPerStep, const simth::checkedVector< int > &polynomials, int recursivePolynomial, bool systematic, simth::SequenceType inType, trellisdecoding::DecodingAlgorithmMode decodingMode)
 ConvDecoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
 ConvDecoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int inSymbolsPerStep, int bitsPerSymbol, ConvCodeTrellis::StartingMode startingMode, map_type mappMode, const simth::checkedVector< int > &polynomials, int recursivePolynomial, bool systematic, simth::SequenceType inType, trellisdecoding::DecodingAlgorithmMode decodingMode)

Related Functions

(Note that these are not member functions.)

 propertylist_ConvDecoder (not_a_function)

Detailed Description

Abstract base class of all kinds of convolutional decoders.

This class simulates a convolutional decoder 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 defined 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.


Constructor & Destructor Documentation

simthlib::ConvDecoder::ConvDecoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  mem,
int  inbits,
int  outbits,
simth::SequenceType  inType,
trellisdecoding::DecodingAlgorithmMode  decodingMode
 

Class constructor for binary convolutional decoder. (This is the common case.)

A particular binary decoder is determined by the memory length, the number of input bits and the number of output bits. From 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.

Parameters:
deviceID ID of this device
system Pointer to parent simulation system
pl Property list of this device
mem Memory length
inbits number of input bits per step (could also be named as the number of input symbols per step).
outbits number of output bits per step (could also be named as the number of output symbols per step)
inType determines the type of soft input information (see Decoder::simth::SequenceType)
decodingMode Determines the decoding mode.

simthlib::ConvDecoder::ConvDecoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  inSymbolsPerStep,
const simth::checkedVector< int > &  polynomials,
simth::SequenceType  inType,
trellisdecoding::DecodingAlgorithmMode  decodingMode
 

Class constructor for binary convolutional codes.

The number of bits per symbol is fixed to one.

simthlib::ConvDecoder::ConvDecoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  inSymbolsPerStep,
const simth::checkedVector< int > &  polynomials,
int  recursivePolynomial,
bool  systematic,
simth::SequenceType  inType,
trellisdecoding::DecodingAlgorithmMode  decodingMode
 

Class constructor for systematic (if last argument is set to true) recursive binary convolutional codes.

simthlib::ConvDecoder::ConvDecoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl
 

Class constructor for systematic (if last argument is set to true) recursive binary convolutional codes, all set up by the content of the PropertyList.

simthlib::ConvDecoder::ConvDecoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  inSymbolsPerStep,
int  bitsPerSymbol,
ConvCodeTrellis::StartingMode  startingMode,
map_type  mappMode,
const simth::checkedVector< int > &  polynomials,
int  recursivePolynomial,
bool  systematic,
simth::SequenceType  inType,
trellisdecoding::DecodingAlgorithmMode  decodingMode
 

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.


Friends And Related Function Documentation

propertylist_ConvDecoder not_a_function   )  [related]
 

These are the properties of class ConvDecoder . 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 decoder using a Viterbi algorithm, specified by its generator polynomials.

Note that this class also has the Properties of its base classes. The direct base class is simthlib::Decoder ; direct link to its propertylist should be propertylist_Decoder(). 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.

output_length
<sequencelength>, default "" --

1 properties in this class. The above properties have been inherited from the base class simthlib::Decoder .

bits_per_step
<unsigned>, default "1" -- The number of input bits per step. (Usually this is left at 1.) FIXME: Document me!

polynomials
<vector_octal_int>, default "" -- The sequence of forward polynomials specifying the code, in octal notation. For an uncoded sequence, this is '1'. For HiperLAN/2, this is '171 133'.

recursive_polynomial
<octal_int>, default "0" -- The recursive polynomial in octal notation (equals 0 for non recursive codes)

systematic
<bool>, default "false" -- If true a systematic part is considered

4 properties in this class.


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