#include <mimo-decoder.h>
Inheritance diagram for mimo::Decoder:
Public Member Functions | |
Decoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl) | |
virtual | ~Decoder () |
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 | Decode (const CVectorSeq &input_vectors, const MatrixFreqSignal &channel_estimation, simth::ModSeq &output_symbols, simth::ModSeq *output_softout)=0 |
virtual void | print (std::ostream &os) const |
Protected Attributes | |
unsigned | nr_rx |
Number of receive antennas. | |
unsigned | nr_tx |
Number of transmit antennas. |
Abstract base class which provides an interface for particularly derived coder classes.
Supposedly it should be easier for a programmer to simply derive from this class and only implement the three virtual functions, without the need to touch the process() function and the surrounding mechanisms. Of course, if a programmer feels it would be easier for him to actually write a simth::Device with his own process(), then he should simply go ahead and ignore this abstract class.
|
Constructor. All parameters shall be passed through the given simth::PropertyList. |
|
Default destructor. |
|
Implementation of methods of simth::Device. Implements simth::Device. Reimplemented in mimo::STBCAlamoutiDec, mimo::AntennaSelDec, and mimo::RotAlamoutiDec. |
|
Implementation of methods of simth::Device. Implements simth::Device. Reimplemented in mimo::STBCAlamoutiDec, and mimo::RotAlamoutiDec. |
|
Implementation of methods of simth::Device. Implements simth::Device. Reimplemented in mimo::AntennaSelDec, and mimo::PCSDecoder. |
|
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.
Implemented in mimo::SpatialMuxDecZF, mimo::STBCAlamoutiDec, mimo::SVDDec, mimo::AntennaSelDec, mimo::RotAlamoutiDec, mimo::LsdDecoder, and mimo::PCSDecoder. |
|
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.
Implemented in mimo::SpatialMuxDecZF, mimo::STBCAlamoutiDec, mimo::SVDDec, mimo::AntennaSelDec, mimo::RotAlamoutiDec, mimo::LsdDecoder, and mimo::PCSDecoder. |
|
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::SpatialMuxDecZF, mimo::SpatialMuxDecMMSE, mimo::STBCAlamoutiDec, mimo::SVDDec, mimo::AntennaSelDec, mimo::RotAlamoutiDec, mimo::LsdDecoder, and mimo::PCSDecoder. |
|
Print information about this block -- for debugging. Reimplemented from simth::Device. |
|
Number of receive antennas.
|
|
Number of transmit antennas.
|