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

mimo::SpatialMuxDecZF Class Reference

#include <mimo-decoder.h>

Inheritance diagram for mimo::SpatialMuxDecZF:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 SpatialMuxDecZF (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
int getDataLength (int codedLength) const
int getCodeLength (int rawLength) const
void Decode (const CVectorSeq &input_vectors, const MatrixFreqSignal &channel_estimation, simth::ModSeq &output_symbols, simth::ModSeq *output_softout)

Static Public Member Functions

static void vectors_to_values (const CVectorSeq &vseq, simth::ModSeq &oseq)
static void vectors_to_llrvalues (const CVectorSeq &vseq, simth::ModSeq &oseq)

Related Functions

(Note that these are not member functions.)

 propertylist_SpatialMuxDecZF (not_a_function)

Detailed Description

Implementation of a linear Zero-Forcing (ZF) decoder for a Spatial Multiplexing system (this is mostly the same as V-BLAST). This simply multiplies the received vectors with the matrix inverse of the channel transfer matrix.


Constructor & Destructor Documentation

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

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


Member Function Documentation

int mimo::SpatialMuxDecZF::getDataLength int  codedLength  )  const [inline, virtual]
 

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

Implements mimo::Decoder.

int mimo::SpatialMuxDecZF::getCodeLength int  rawLength  )  const [inline, virtual]
 

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

Implements mimo::Decoder.

void mimo::SpatialMuxDecZF::Decode const CVectorSeq input_vectors,
const MatrixFreqSignal channel_estimation,
simth::ModSeq output_symbols,
simth::ModSeq output_softout
[virtual]
 

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

Implements mimo::Decoder.

Reimplemented in mimo::SpatialMuxDecMMSE.

static void mimo::SpatialMuxDecZF::vectors_to_values const CVectorSeq vseq,
simth::ModSeq oseq
[static]
 

Convert the given vector sequence into one long sequence of values.

static void mimo::SpatialMuxDecZF::vectors_to_llrvalues const CVectorSeq vseq,
simth::ModSeq oseq
[static]
 

Converts the given vector sequence into on long sequence of the real value parts of the complex values. I.e. the imaginary part of the complex values are ignored.

One could think that therefore the input argument should be a VectorSeq instead of CVectorSeq, but it turned out that the calculation output from the matrix calculations will always be mimo::CVector's instead of mimo::Vector's, even though their imaginary parts are zero. That's why we use a sequence of mimo::CVector's here.


Friends And Related Function Documentation

propertylist_SpatialMuxDecZF not_a_function   )  [related]
 

These are the properties of class SpatialMuxDecZF . 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:

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

nr_rx
<unsigned>, default "" -- Number of receive antennas.

nr_tx
<unsigned>, default "" -- Number of transmit antennas.

2 properties in this class. The above properties have been inherited from the base class mimo::Decoder .

No properties defined in this particular class.


Generated on Tue Aug 9 14:43:55 2005 for mimolib by  doxygen 1.4.1