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

simthlib::PwRotPskDemodulator Class Reference

PwRotPskDemodulator detects each two of the rotated pair of symbols jointly. To be used with RotAlamoutiEncoder/Decoder. More...

#include <absdemodulator.h>

Inheritance diagram for simthlib::PwRotPskDemodulator:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PwRotPskDemodulator (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
 ~PwRotPskDemodulator ()
virtual int getBitsPerSymbol () const
virtual int getNumStates () const
virtual void print (std::ostream &os) const

Protected Member Functions

Complex getComplSymbol (int symbolIndex) const
double getPhase (int symbIndex) const
double getAmplitude (int symbIndex) const
virtual void demodulate (const simth::ModSeq &receivedSym, simth::LlrSeq *correspondingLlrValues, double noise=0, const simth::ModSeq *trans=NULL)
virtual void demodulate (const simth::ModSeq &receivedSym, simth::LlvSeq *correspondingLlvValues, double noise=0, const simth::ModSeq *trans=NULL)
virtual void MakeMetric (Complex sym, simth::Llv *const llv, Complex h, double noise) const
virtual void MakeMetric (Complex sym, simth::Llv *const llv) const
void scaleConstellation (Complex scale)

Related Functions

(Note that these are not member functions.)

 propertylist_PwRotPskDemodulator (not_a_function)

Detailed Description

PwRotPskDemodulator detects each two of the rotated pair of symbols jointly. To be used with RotAlamoutiEncoder/Decoder.

Note: Channel information is needed and 'only_phase_equalisation' has to be set to 'false'!

Note: This demodulator does NOT have a zero-forcing equalization built-in. Zero-forcing is already done in RotAlamoutiDecoder!


Constructor & Destructor Documentation

simthlib::PwRotPskDemodulator::PwRotPskDemodulator int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl
 

simthlib::PwRotPskDemodulator::~PwRotPskDemodulator  ) 
 


Member Function Documentation

virtual void simthlib::PwRotPskDemodulator::demodulate const simth::ModSeq receivedSym,
simth::LlvSeq correspondingLlvValues,
double  noise = 0,
const simth::ModSeq trans = NULL
[protected, virtual]
 

Demodulates a sequence of received data words to a sequence of log-likelihood-values (llv).

Reimplemented from simthlib::AbsDemodulatorMetric.

virtual void simthlib::PwRotPskDemodulator::demodulate const simth::ModSeq receivedSym,
simth::LlrSeq correspondingLlrValues,
double  noise = 0,
const simth::ModSeq trans = NULL
[protected, virtual]
 

Demodulates a sequence of received data words to a sequence of log-likelihood-ratio (llr) values; each simth::LLR_-value represents the hard decisions of one bit and the probability of this decision. The hard decision (the bit itselfs) is determined by the sign of the simth::LLR_-Value, whereas the probability is described by the absolute value of the log-likelihood ratio:

  • /f$llr = ln(p(1)/p(0))/f$

Reimplemented from simthlib::AbsDemodulatorMetric.

double simthlib::PwRotPskDemodulator::getAmplitude int  symbIndex  )  const [inline, protected]
 

virtual int simthlib::PwRotPskDemodulator::getBitsPerSymbol  )  const [inline, virtual]
 

Implements simthlib::Demodulator.

Complex simthlib::PwRotPskDemodulator::getComplSymbol int  symbolIndex  )  const [inline, protected, virtual]
 

Implements simthlib::Demodulator.

virtual int simthlib::PwRotPskDemodulator::getNumStates  )  const [inline, virtual]
 

Implements simthlib::Demodulator.

double simthlib::PwRotPskDemodulator::getPhase int  symbIndex  )  const [inline, protected]
 

virtual void simthlib::PwRotPskDemodulator::MakeMetric Complex  sym,
simth::Llv *const   llv
const [protected, virtual]
 

Not needed - demodulation is already done in PwRotPskDemodulator::demodulate.

Implements simthlib::AbsDemodulatorMetric.

virtual void simthlib::PwRotPskDemodulator::MakeMetric Complex  sym,
simth::Llv *const   llv,
Complex  h,
double  noise
const [protected, virtual]
 

Not needed - demodulation is already done in PwRotPskDemodulator::demodulate.

Implements simthlib::AbsDemodulatorMetric.

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

Reimplemented from simthlib::AbsDemodulatorMapping.

void simthlib::PwRotPskDemodulator::scaleConstellation Complex  scale  )  [inline, protected]
 


Friends And Related Function Documentation

propertylist_PwRotPskDemodulator not_a_function   )  [related]
 

These are the properties of class PwRotPskDemodulator . 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: PSK Demodulator which detects each two of the rotated pair of symbols jointly. To be used with RotAlamouti-Encoder/Decoder.

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

The above properties have been inherited from the base class simthlib::AbsDemodulatorMapping .

only_phase_equalisation
<bool>, default "false" -- If true, then the demodulation only performs a phase equalization. If false, then the demodulation performs a full ZF equalization. On the other hand, if the second input interface is unconnected, then the demodulation does not perform any equalization at all.

1 properties in this class. The above properties have been inherited from the base class simthlib::AbsDemodulatorMetric .

scale_real
<double>, default "1.0" -- OBSOLETE?

scale_imag
<double>, default "0.0" -- OBSOLETE?

2 properties in this class.


Generated on Tue Aug 9 14:36:29 2005 for simtheticlib by  doxygen 1.4.1