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

simthlib::Decoder Class Reference

Abstract base class for decoders with 'soft' decoding.. More...

#include <decoder.h>

Inheritance diagram for simthlib::Decoder:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Decoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, simth::SequenceType inType)
virtual ~Decoder ()
virtual void decode (const simth::BitSeq &bsin, simth::BitSeq &bsout)=0
virtual void decode (const simth::LlvSeq &llv, simth::BitSeq &bsout)=0
virtual void decode (const simth::LlrSeq &llr, simth::BitSeq &bsout)=0
virtual int getDataLength (int codedLength) const =0
virtual int getCodeLength (int rawLength) const =0
virtual void process ()
virtual void print (std::ostream &os) const
void startOfSimulation ()

Static Public Member Functions

static void init (const std::string &fileName, simth::Device **dev, simth::DeviceSystemIntf *sysPtr, int ID, const std::string &regionQualifier="")

Protected Member Functions

simth::SequenceType inputType () const

Related Functions

(Note that these are not member functions.)

 propertylist_Decoder (not_a_function)

Detailed Description

Abstract base class for decoders with 'soft' decoding..

Abstract base class which provides an interface for particularly derived decoder classes.


Constructor & Destructor Documentation

simthlib::Decoder::Decoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
simth::SequenceType  inType
 

virtual simthlib::Decoder::~Decoder  )  [inline, virtual]
 

Virtual Destructor.


Member Function Documentation

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

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

Implemented in simthlib::ReedSolomonDecoder, simthlib::TrellisDecoder, and simthlib::PunctConvDecoder.

virtual void simthlib::Decoder::decode const simth::LlvSeq llv,
simth::BitSeq bsout
[pure 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)

Implemented in simthlib::ReedSolomonDecoder, simthlib::TrellisDecoder, and simthlib::PunctConvDecoder.

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

Decodes a bit sequence (hard decision decoding).

Implemented in simthlib::ReedSolomonDecoder, simthlib::TrellisDecoder, and simthlib::PunctConvDecoder.

virtual int simthlib::Decoder::getCodeLength int  rawLength  )  const [pure 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

Implemented in simthlib::ReedSolomonDecoder, simthlib::TrellisDecoder, and simthlib::PunctConvDecoder.

virtual int simthlib::Decoder::getDataLength int  codedLength  )  const [pure 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

Implemented in simthlib::ReedSolomonDecoder, simthlib::TrellisDecoder, and simthlib::PunctConvDecoder.

static void simthlib::Decoder::init const std::string &  fileName,
simth::Device **  dev,
simth::DeviceSystemIntf sysPtr,
int  ID,
const std::string &  regionQualifier = ""
[static]
 

simth::SequenceType simthlib::Decoder::inputType  )  const [inline, protected]
 

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

Reimplemented from simth::Device.

Reimplemented in simthlib::TrellisDecoder.

virtual void simthlib::Decoder::process  )  [virtual]
 

This standard implementation of process calls decode with the appropriate input types (simth::LlrSeq or simth::LlvSeq)

Implements simth::Device.

Reimplemented in simthlib::StreamDecoder.

void simthlib::Decoder::startOfSimulation  )  [virtual]
 

To set up the output length. Watch out: Any derived class *must* call this function!!!!!

Reimplemented from simth::Device.


Friends And Related Function Documentation

propertylist_Decoder not_a_function   )  [related]
 

These are the properties of class Decoder . 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: Base class for the usual encoder block in a simulation system.

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


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