#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.
|
1.4.1