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

simthlib::TrellisDecoder Class Reference

#include <decoder.h>

Inheritance diagram for simthlib::TrellisDecoder:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 TrellisDecoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, std::auto_ptr< TrellisDecodingAlgorithm > algorithm_ptr, simth::SequenceType inType)
virtual ~TrellisDecoder ()
virtual void decode (const simth::BitSeq &bsin, simth::BitSeq &bsout)
virtual void decode (const simth::LlvSeq &llv, simth::BitSeq &bsout)
virtual void decode (const simth::LlrSeq &llr, simth::BitSeq &bsout)
virtual int getDataLength (int codedLength) const
virtual int getCodeLength (int rawLength) const
virtual int dataBitsPerStep () const
virtual int codedBitsPerStep () const
virtual void print (std::ostream &os) const

Detailed Description

This abstract class is a base class of all decoders using a trellis for en/decoding. A special trellis decoder (e.g. a convolutional decoder) just passes a pointer to an appropriate TrellisDecodingAlgorithm (e.g. Viterbi) as argument of the constructor of this class. With this algorithm also a distinct trellis structure is passed to this class.
See also:
TrellisDecodingAlgorithm


Constructor & Destructor Documentation

simthlib::TrellisDecoder::TrellisDecoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
std::auto_ptr< TrellisDecodingAlgorithm algorithm_ptr,
simth::SequenceType  inType
 

Class constructor: the parameter type std::auto_ptr<Trellis> enables a 'destructive copy semantic' (see B. Stroustrup 'The C++ programming language', Ch. 14.4.2). It is important that the DecodingAlgorithm object pointed to by usedAlgorithm is constructed on the heap. Due to the auto_ptr this class takes the ownership of these objects and the object will be deleted automatically when this class is destructed itself.

virtual simthlib::TrellisDecoder::~TrellisDecoder  )  [virtual]
 


Member Function Documentation

virtual int simthlib::TrellisDecoder::codedBitsPerStep  )  const [inline, virtual]
 

Returns the coded output bits per step of the associated encoder, i.e. the number of input bits per step of this decoder.

Implements simthlib::StreamDecoder.

virtual int simthlib::TrellisDecoder::dataBitsPerStep  )  const [inline, virtual]
 

Returns the number of uncoded data input bits per step of the associated encoder, i.e. the number of data output bits per step of this decoder.

Implements simthlib::StreamDecoder.

virtual void simthlib::TrellisDecoder::decode const simth::LlrSeq llr,
simth::BitSeq bsout
[virtual]
 

Performs a maximum likelihood sequence estimation based on the log-likelihood ratios given by the demodulator (the received modulation symbols) (soft decision decoding).

Implements simthlib::Decoder.

Reimplemented in simthlib::PunctConvDecoder.

virtual void simthlib::TrellisDecoder::decode const simth::LlvSeq llv,
simth::BitSeq bsout
[virtual]
 

Performs a maximum likelihood sequence estimation of the data sequence based on the log-likelihood values of the given (the received) modulation symbols (soft decision decoding)

Implements simthlib::Decoder.

Reimplemented in simthlib::PunctConvDecoder.

virtual void simthlib::TrellisDecoder::decode const simth::BitSeq bsin,
simth::BitSeq bsout
[virtual]
 

Decodes a bit sequence (hard decision decoding).

Implements simthlib::Decoder.

Reimplemented in simthlib::PunctConvDecoder.

int simthlib::TrellisDecoder::getCodeLength int  rawLength  )  const [inline, virtual]
 

Returns the length of a coded bit sequence which is generated by the coder from a raw data sequence of the given length.

Parameters:
rawLength length of the data sequence
Returns:
allocated length of the coded sequence

Implements simthlib::Decoder.

Reimplemented in simthlib::PunctConvDecoder.

int simthlib::TrellisDecoder::getDataLength int  codedLength  )  const [inline, virtual]
 

Returns the length of a data bit sequence which is encoded by the coder from a coded bit sequence of the given length

Parameters:
codedLength length of the coded sequence
Returns:
allocated length of the encoded data sequence

Implements simthlib::Decoder.

Reimplemented in simthlib::PunctConvDecoder.

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

Reimplemented from simthlib::Decoder.


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