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

simthlib::TrellisSoftoutDecoding Class Reference

#include <softoutdecoding.h>

Inheritance diagram for simthlib::TrellisSoftoutDecoding:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 TrellisSoftoutDecoding (std::auto_ptr< TrellisSoftoutAlgorithm > algorithm_ptr)
virtual void reset ()
virtual void softout4InputBits (simth::LlvSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)
virtual void softout4OutputBits (const simth::LlvSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)
virtual void softout4InputBits (simth::LlrSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)
virtual void softout4OutputBits (const simth::LlrSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)
virtual void normalDecoding (const simth::LlrSeq &llr, simth::BitSeq &bsout)
virtual ~TrellisSoftoutDecoding ()
virtual int getDataLength (int codedLength) const
virtual int getCodeLength (int rawLength) const
virtual int dataBitsPerStep () const
virtual int codedBitsPerStep () const
size_t numTailbits () const
virtual void print (std::ostream &os) const

Detailed Description

This class is a base class of all decoding classes using a trellis for en/decoding. A special trellis decoder (e.g. a convolutional decoder) just passes a pointer to an appropriate trellis (e.g. ConvCodeTrellis) as argument of the constructor of this class.


Constructor & Destructor Documentation

simthlib::TrellisSoftoutDecoding::TrellisSoftoutDecoding std::auto_ptr< TrellisSoftoutAlgorithm algorithm_ptr  ) 
 

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 at by usedAlgorithm is constructed on the heap. Due to the auto_ptr this class takes the ownership of these objected and the object will be deleted automatically when this class is destructed itself.

virtual simthlib::TrellisSoftoutDecoding::~TrellisSoftoutDecoding  )  [virtual]
 


Member Function Documentation

virtual int simthlib::TrellisSoftoutDecoding::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::StreamSoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.

virtual int simthlib::TrellisSoftoutDecoding::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::StreamSoftoutDecoding.

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

Returns the length of the coded bit sequence which the coder generates from a data sequence of the given length.

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.

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

Returns the length of a data bit sequence which can be encoded into a coded bit sequence of the given length.

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.

virtual void simthlib::TrellisSoftoutDecoding::normalDecoding const simth::LlrSeq llr,
simth::BitSeq bsout
[virtual]
 

Performs a maximum likelihood sequence estimation of the data sequence based on the log-likelihood ratios of the received modulation symbols (soft decision decoding without soft {out}put) This can be usefull in the last step of an iterative decoding procedure when no soft-out information is needed.

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.

size_t simthlib::TrellisSoftoutDecoding::numTailbits  )  const [inline, virtual]
 

Number of zero bits which are appended to the input sequence. The value must be set by a derived class.

Implements simthlib::StreamSoftoutDecodingTailbits.

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

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::ConvSoftoutDecoding.

virtual void simthlib::TrellisSoftoutDecoding::reset  )  [virtual]
 

Since this class does not store any data when processing a decoding function that will be used by following decoding functions, this class uses the (empty) standard implementation given by the base class SoftOutDecoding.

Implements simthlib::SoftoutDecoding.

virtual void simthlib::TrellisSoftoutDecoding::softout4InputBits simth::LlrSeq metr,
simth::LlrSeq softout,
simth::LlrSeq apri = NULL
[virtual]
 

Estimates soft output for the given coded sequence of llrValues.

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.

virtual void simthlib::TrellisSoftoutDecoding::softout4InputBits simth::LlvSeq metr,
simth::LlrSeq softout,
simth::LlrSeq apri = NULL
[virtual]
 

Estimates soft output for the given coded sequence of llvValues.

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.

virtual void simthlib::TrellisSoftoutDecoding::softout4OutputBits const simth::LlrSeq metr,
simth::LlrSeq softout,
simth::LlrSeq apri = NULL
[virtual]
 

Estimates soft output for the output sequence of the decoder (resp.\ the data sequence) due to the given input sequence of llrValues.

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.

virtual void simthlib::TrellisSoftoutDecoding::softout4OutputBits const simth::LlvSeq metr,
simth::LlrSeq softout,
simth::LlrSeq apri = NULL
[virtual]
 

Estimates soft output for the output sequence of the decoder (resp.\ the data sequence) due to the given input sequence of llvValues.

Implements simthlib::SoftoutDecoding.

Reimplemented in simthlib::PunctConvSoftoutDecoding.


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