#include <absdemodulator.h>
Inheritance diagram for simthlib::ApskDemodulator:
Public Member Functions | |
ApskDemodulator (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl) | |
ApskDemodulator (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int bitsPerAmpl, int bitsPerPhase, double amplFactor, double amplAddend) | |
~ApskDemodulator () | |
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 |
Related Functions | |
(Note that these are not member functions.) | |
propertylist_ApskDemodulator (not_a_function) |
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.
|
Class constructor which computes the number of bits per phase and the number of bits per amplitude by the given number of bits per state according to the phd. thesis from Thomas May (S. 24, on german). Furthermore, the optimal (according to Thomas May) amplitude ratio between the amplitude rings is computed. The outType determines the type of the output sequence which could be a simth::Llv sequence or an simth::LLR_ sequence (see simth::LlvSeq and simth::LlrSeq) |
|
Class constructor with explicit number of bits per phase, number of bits per amplitude, amplitude factor and amplitude addend. The amplitude of the i-th ring is computed by: where f is the amplitude Factor and A is the amplitude addend. The outType determines the type of the output sequence which could be a simth::Llv sequence or an simth::LLR_ sequence (see simth::LlvSeq and simth::LlrSeq) |
|
|
|
|
|
Implements simthlib::Demodulator. |
|
Implements simthlib::Demodulator. |
|
Implements simthlib::Demodulator. |
|
|
|
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. |
|
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. |
|
Reimplemented from simthlib::AbsDemodulatorMapping. |
|
These are the properties of class ApskDemodulator . 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: APSK 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 .
|