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

mimo::Encoder Class Reference

Abstract base class for a MIMO symbol encoder. More...

#include <mimo-encoder.h>

Inheritance diagram for mimo::Encoder:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Encoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
virtual ~Encoder ()
virtual void updateInputLengths ()
virtual void updateOutputLengths ()
virtual void process ()
virtual int getDataLength (int codedLength) const =0
virtual int getCodeLength (int rawLength) const =0
virtual void Encode (const simth::ModSeq &modulation_symbols, CVectorSeq &output_vectors)=0
virtual void print (std::ostream &os) const

Protected Attributes

unsigned nr_rx
unsigned nr_tx

Detailed Description

Abstract base class for a MIMO symbol encoder.

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


Constructor & Destructor Documentation

mimo::Encoder::Encoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl
 

Constructor. All parameters shall be passed through the given simth::PropertyList.

virtual mimo::Encoder::~Encoder  )  [virtual]
 

Default destructor.


Member Function Documentation

virtual void mimo::Encoder::updateInputLengths  )  [virtual]
 

Implementation of methods of simth::Device.

Implements simth::Device.

Reimplemented in mimo::STBCAlamoutiEnc, mimo::SVDEnc, mimo::AntennaSelEnc, mimo::RotAlamoutiEnc, and mimo::PCSEncoder.

virtual void mimo::Encoder::updateOutputLengths  )  [virtual]
 

Implementation of methods of simth::Device.

Implements simth::Device.

Reimplemented in mimo::STBCAlamoutiEnc, mimo::SVDEnc, mimo::AntennaSelEnc, mimo::RotAlamoutiEnc, and mimo::PCSEncoder.

virtual void mimo::Encoder::process  )  [virtual]
 

Implementation of methods of simth::Device.

Implements simth::Device.

Reimplemented in mimo::SVDEnc, mimo::AntennaSelEnc, and mimo::PCSEncoder.

virtual int mimo::Encoder::getDataLength int  codedLength  )  const [pure virtual]
 

This method has to be implemented in a derived class.

Returns the length of an uncoded input sequence for the given length of the coded output sequence.

If the coded length does fit (codedLength codedBitsPerStep() == 0) the function the function returns the length of a data sequence which is encoded by the coder from a coded sequence of the given length. In general the function returns the maximal length of a data sequence whose encoded length is smaller or equal code_length.

Parameters:
codedLength length of the coded output sequence
Returns:
required length of the input sequence

Implemented in mimo::SpatialMuxEnc, mimo::STBCAlamoutiEnc, mimo::SVDEnc, mimo::AntennaSelEnc, mimo::RotAlamoutiEnc, mimo::LsdEncoder, and mimo::PCSEncoder.

virtual int mimo::Encoder::getCodeLength int  rawLength  )  const [pure virtual]
 

This method has to be implemented in a derived class.

Returns the length of a coded output sequence for a given length of the uncoded input sequence.

If the data length does not fit (dataLength dataBitsPerStep() != 0) an FitErr exception is thrown, which should be caught in the scope calling the function.

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

Implemented in mimo::SpatialMuxEnc, mimo::STBCAlamoutiEnc, mimo::SVDEnc, mimo::AntennaSelEnc, mimo::RotAlamoutiEnc, mimo::LsdEncoder, and mimo::PCSEncoder.

virtual void mimo::Encoder::Encode const simth::ModSeq modulation_symbols,
CVectorSeq output_vectors
[pure virtual]
 

Encodes the given sequence of symbols into the given output sequence of vectors.

This is the main method that has to be implemented in a derived class.

Implemented in mimo::SpatialMuxEnc, mimo::STBCAlamoutiEnc, mimo::SVDEnc, mimo::AntennaSelEnc, mimo::RotAlamoutiEnc, mimo::LsdEncoder, and mimo::PCSEncoder.

virtual void mimo::Encoder::print std::ostream &  os  )  const [virtual]
 

Print information about this block -- for debugging.

Reimplemented from simth::Device.


Member Data Documentation

unsigned mimo::Encoder::nr_rx [protected]
 

unsigned mimo::Encoder::nr_tx [protected]
 


Generated on Tue Aug 9 14:44:02 2005 for mimolib by  doxygen 1.4.1