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

simthlib::PskDemodulator Class Reference

PSK Demodulator. More...

#include <absdemodulator.h>

Inheritance diagram for simthlib::PskDemodulator:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PskDemodulator (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
 ~PskDemodulator ()
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 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_PskDemodulator (not_a_function)

Detailed Description

PSK Demodulator.

Note: These classes also have a zero-forcing equalization built-in. If you intend to perform the equalization otherwise, you *must* either leave the channel information interface unconnected, or you need to look into the "phase_only_equalization" property because that one will skip the equalization but still calculate the correct LLRs.


Constructor & Destructor Documentation

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

simthlib::PskDemodulator::~PskDemodulator  ) 
 


Member Function Documentation

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

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

Implements simthlib::Demodulator.

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

Implements simthlib::Demodulator.

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

Implements simthlib::Demodulator.

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

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

Returns the metric for the given symbol sym by the symbol itself and without any channel information h.

Normally this would cause an error, because the channel information is needed for the equalization before absolute demodulation. However, this function will silently assume that the equalization has been done beforehand. Or probably its possible to implement a derived class which is able to demodulate without channel information.

Implements simthlib::AbsDemodulatorMetric.

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

Returns the metric for the given symbol by the symbol itself, and the channel information h. This function also performs ZF equalization by dividing the received symbol through the channel information h.

Implements simthlib::AbsDemodulatorMetric.

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

Reimplemented from simthlib::AbsDemodulatorMapping.

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


Friends And Related Function Documentation

propertylist_PskDemodulator not_a_function   )  [related]
 

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

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:23 2005 for simtheticlib by  doxygen 1.4.1