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

simthlib::SoftoutDecoding Class Reference

#include <softoutdecoding.h>

Inheritance diagram for simthlib::SoftoutDecoding:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~SoftoutDecoding ()
virtual void softout4InputBits (simth::LlrSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)=0
virtual void softout4OutputBits (const simth::LlrSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)=0
virtual void softout4InputBits (simth::LlvSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)=0
virtual void softout4OutputBits (const simth::LlvSeq &metr, simth::LlrSeq *softout, simth::LlrSeq *apri=NULL)=0
virtual void normalDecoding (const simth::LlrSeq &llr, simth::BitSeq &bsout)=0
virtual int getDataLength (int codedLength) const =0
virtual int getCodeLength (int rawLength) const =0
virtual void reset ()=0
virtual void print (std::ostream &os) const =0

Detailed Description

This abstract class provides an interface for a soft-out decoder wich provides a soft output decoding algorithm (e.g., SOVA). This soft information can be estimated both for the data bits and coded bits (softout4OutbitsBits(), softout4InputBits()). Besides this, a soft-out decoder provides normal decoding, which can be used in the last step of an interative decoding procedure. Note, that a soft out decoder is not derived by a normal decoder (i.e. a soft out decoder is not a normal decoder and it is not a basic device defined in simthetic. Rather a Softoutput Decoding is used within several types of turbo decoders to provide extrinsic information needed by the iterative decoding process.


Constructor & Destructor Documentation

virtual simthlib::SoftoutDecoding::~SoftoutDecoding  )  [virtual]
 


Member Function Documentation

virtual int simthlib::SoftoutDecoding::getCodeLength int  rawLength  )  const [pure virtual]
 

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

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::SoftoutDAPSKDecoding, and simthlib::PunctConvSoftoutDecoding.

virtual int simthlib::SoftoutDecoding::getDataLength int  codedLength  )  const [pure virtual]
 

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

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::SoftoutDAPSKDecoding, and simthlib::PunctConvSoftoutDecoding.

virtual void simthlib::SoftoutDecoding::normalDecoding const simth::LlrSeq llr,
simth::BitSeq bsout
[pure 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.

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::SoftoutDAPSKDecoding, and simthlib::PunctConvSoftoutDecoding.

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

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::ConvSoftoutDecoding, and simthlib::SoftoutDAPSKDecoding.

virtual void simthlib::SoftoutDecoding::reset  )  [pure virtual]
 

In derived classes where the decoding procedures depend on data stored in previous performed decoding procedures, the implementation of this function should set the class to the initial state. Classes, which do not change their state (i.e. storing some data) by decoding procedures, can use the standard implementation given by this class.

Implemented in simthlib::TrellisSoftoutDecoding, and simthlib::SoftoutDAPSKDecoding.

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

Estimates soft output for the given coded sequence of llvValues.

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::SoftoutDAPSKDecoding, and simthlib::PunctConvSoftoutDecoding.

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

Estimates soft output for the given coded sequence of llrValues.

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::SoftoutDAPSKDecoding, and simthlib::PunctConvSoftoutDecoding.

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

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

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::SoftoutDAPSKDecoding, and simthlib::PunctConvSoftoutDecoding.

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

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

Implemented in simthlib::TrellisSoftoutDecoding, simthlib::SoftoutDAPSKDecoding, and simthlib::PunctConvSoftoutDecoding.


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