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

simthlib::Sova Class Reference

#include <sova.h>

Inheritance diagram for simthlib::Sova:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Sova (std::auto_ptr< simthlib::Trellis > usedTrellis)
virtual ~Sova ()
 destructor
void softout4Output (const simth::LlvSeq &metr, simth::LlrSeq *softout, const simth::LlrSeq *apri=NULL)
void softout4Input (const simth::LlvSeq &metr, simth::LlrSeq *softout, const simth::LlrSeq *apri=NULL)
void decode (const simth::LlvSeq &metr, simth::BitSeq *bs, const simth::LlrSeq *apri=NULL)
virtual void print (std::ostream &os) const

Protected Types

enum  OutputMode { OM_DATA, OM_CODED }
 SOVA determines soft info for coded or for data bits/symbols:. More...

Protected Member Functions

virtual void Forward (const simth::LlvSeq &symllv, bool setSoftout, const simth::LlrSeq *apri=NULL)
virtual void Backward (simth::BitSeq *bs)
virtual void Backward (simth::LlrSeq *llr, OutputMode outMode)

Protected Attributes

double * metric
 array of metric increments for each path
double * new_metric
 array of new metric increments for each path for the next step
simth::Array2d< simthlib::TrellisPathpaths
 path memory (2D - array)

Detailed Description

This class provides a Softoutp Viterbi Algorithm, so called SOVA. For further information see 'A Viterbi algorithm with soft-decision outputs and its aplications.' from Hagenauer and Hoeher in Globecom, Dallas, USA, Nov 1989.


Member Enumeration Documentation

enum simthlib::Sova::OutputMode [protected]
 

SOVA determines soft info for coded or for data bits/symbols:.

Enumeration values:
OM_DATA 
OM_CODED 


Constructor & Destructor Documentation

simthlib::Sova::Sova std::auto_ptr< simthlib::Trellis usedTrellis  ) 
 

Class constructor.

virtual simthlib::Sova::~Sova  )  [virtual]
 

destructor


Member Function Documentation

virtual void simthlib::Sova::Backward simth::LlrSeq llr,
OutputMode  outMode
[protected, virtual]
 

reads and returns soft outputs for the data sequence belonging to the previously determined path with the best metric

virtual void simthlib::Sova::Backward simth::BitSeq bs  )  [protected, virtual]
 

reads and returns the data sequence belonging to the previously determined path with the best metric

void simthlib::Sova::decode const simth::LlvSeq metr,
simth::BitSeq bs,
const simth::LlrSeq apri = NULL
[virtual]
 

Decoding by the means of Viterbi algorithm.

Implements simthlib::TrellisSoftoutAlgorithm.

virtual void simthlib::Sova::Forward const simth::LlvSeq symllv,
bool  setSoftout,
const simth::LlrSeq apri = NULL
[protected, virtual]
 

finds all paths and calculates the corresponding metrics according to the Viterbi algorithm

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

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

Computes soft-output information by the means of SOVA for the coded bits.

Implements simthlib::TrellisSoftoutAlgorithm.

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

Computes soft-output information by the means of SOVA for the information bits.

Implements simthlib::TrellisSoftoutAlgorithm.


Member Data Documentation

double* simthlib::Sova::metric [protected]
 

array of metric increments for each path

double* simthlib::Sova::new_metric [protected]
 

array of new metric increments for each path for the next step

simth::Array2d<simthlib::TrellisPath> simthlib::Sova::paths [protected]
 

path memory (2D - array)


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