#include <diffdemodulator.h>
Inheritance diagram for simthlib::DiffDemodulatorMetric:
Public Member Functions | |
DiffDemodulatorMetric (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, std::auto_ptr< MappingScheme > mapp, simth::SequenceType outType) | |
virtual | ~DiffDemodulatorMetric ()=0 |
virtual void | demodulate (const simth::ModSeq &receivedSym, simth::LlvSeq *correspondingLlrValues, double noise=0, const simth::ModSeq *trans=NULL) |
virtual void | demodulate (const simth::ModSeq &receivedSym, simth::LlrSeq *correspondingLlrValues, double noise=0, const simth::ModSeq *trans=NULL) |
virtual void | adachiDemodulate (const simth::ModSeq &receivedSym, simth::LlvSeq *correspondingLlvValues1, simth::LlvSeq *correspondingLlvValues2, double noise=0, const simth::ModSeq *trans=NULL) |
Protected Member Functions | |
virtual void | MakeMetric (Complex sym, Complex prev_sym, simth::Llv *llv, Complex h2, Complex h1, double noise) const =0 |
virtual void | MakeMetric (Complex sym, Complex prev_sym, simth::Llv *llv) const =0 |
Friends | |
class | AdachiDemodulator |
Related Functions | |
(Note that these are not member functions.) | |
propertylist_DiffDemodulatorMetric (not_a_function) |
|
|
|
This pure virtual constructor assures that it is not possible to create an instance of this class |
|
See "Viterbi-Decoding Differential Detection of DPSK", Adachi, Electronic Letters 1992, Vol. 28 No. 23 Implements simthlib::DiffDemodulator. Reimplemented in simthlib::DiffSubSeqDemodulatorMetric. |
|
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:
Implements simthlib::DiffDemodulator. Reimplemented in simthlib::DiffSubSeqDemodulatorMetric. |
|
Demodulates a sequence of received data words to a sequence of log-likelihood-values (llv). Implements simthlib::DiffDemodulator. Reimplemented in simthlib::DiffSubSeqDemodulatorMetric. |
|
Returns the metric for the given symbol sym by the symbol itself and the reference symbol prev_sym. If a derived class needs channel information to calculate the metric, the function of the derived class should throw an error. Implemented in simthlib::DpskDemodulatorDD, simthlib::DaskDemodulatorQC, and simthlib::DaskDemodulatorDD. |
|
Returns the metric for the given symbol sym by the symbol itself, the reference symbol prev_sym and the channel information h2, h1, noise. However, a derived class does not need to use the channel information (e.g. standard incoherent differential demodulation). Implemented in simthlib::DpskDemodulatorDD, simthlib::DaskDemodulatorQC, and simthlib::DaskDemodulatorDD. |
|
Reimplemented from simthlib::DiffDemodulator. |
|
These are the properties of class DiffDemodulatorMetric . 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: The derived class DiffDemodulatorMetric is still an abstract class. The demodulation process is based on the pure virtual functions MakeMetric(..) that have to defined in a derived class. The demodulation process defined in this class demodulate(..) can be overridden by a particular derived differential Demodulator, e.g. by an OFDM differential modulation with differential encoding in frequency direction. Note that this class also has the Properties of its base classes. The direct base class is simthlib::DiffDemodulatorMapping ; direct link to its propertylist should be propertylist_DiffDemodulatorMapping(). 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. |