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

simthlib::DapskModulator Class Reference

APSK modulator. More...

#include <modulator.h>

Inheritance diagram for simthlib::DapskModulator:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 DapskModulator (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
 DapskModulator (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int bitsPerAmpl, int bitsPerPhase, double amplFactor, double amplAddend, int subSeqLen, map_type mappMode=GRAY)
virtual ~DapskModulator ()
virtual void startOfSimulation ()
int getNumStates () const
virtual void print (std::ostream &os) const
const ConstellationDiagramconstellation () const

Related Functions

(Note that these are not member functions.)

 propertylist_DapskModulator (not_a_function)

Detailed Description

APSK modulator.

In contrast to the base class DiffModulator, this class provides modulation and mapping. This is simply done by creating an ApskConstellation diagram in the constructor and assigning it to the pointer usedConstellationDiagram and by defining the pure virtual function diffOperation().


Constructor & Destructor Documentation

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

Class constructor wich 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 (p. 24, in German). Furthermore, the optimal (according to Thomas May) amplitude ratio between the amplitude rings is computed. The subSeqLen determines the distance between two reference symbols used for differential decoding, i.e. a sequence can contain several sub sequences that are independently from each other differentially encoded.

simthlib::DapskModulator::DapskModulator int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  bitsPerAmpl,
int  bitsPerPhase,
double  amplFactor,
double  amplAddend,
int  subSeqLen,
map_type  mappMode = GRAY
 

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:

$a_i = f^i + i*A$ where f is the amplitude Factor and A is the amplitude addend.

virtual simthlib::DapskModulator::~DapskModulator  )  [virtual]
 


Member Function Documentation

const ConstellationDiagram* simthlib::DapskModulator::constellation  )  const [inline, virtual]
 

Returns a pointer to the used constellation diagram.

Implements simthlib::Modulator.

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

Implements simthlib::Modulator.

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

Reimplemented from simthlib::DiffSubSeqModulator.

virtual void simthlib::DapskModulator::startOfSimulation  )  [virtual]
 

Reimplemented from simthlib::Modulator.


Friends And Related Function Documentation

propertylist_DapskModulator not_a_function   )  [related]
 

These are the properties of class DapskModulator . 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: DAPSK modulator. In contrast to the base class DiffModulator, this class provides modulation and mapping. This is simply done by creating an ApskConstellation diagram in the constructor and assigning it to the pointer usedConstellationDiagram and by defining the pure virtual function diffOperation().

Watch out: The output length includes one single pilot symbol as the very first symbol. When you calculate the input length, you have to take into account that the output length will include this single pilot symbol in addition to the output calculated from the input bits.

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

sub_seq_length
<int>, default "0" -- FIXME: document me

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

detect_type
<enum>, default "incoherent" -- FIXME: document me

constellation_explicit_mode
<bool>, default "false" -- If true, then the properties ampliture_* and bits_per_* are active. Otherwise they are not active and the property detect_type has to be set instead. FIXME: THis needs to be implemented.

bits_per_amplitude
<int>, default "0" -- Unimplemented.

bits_per_phase
<int>, default "0" -- Unimplemented.

amplitude_factor
<double>, default "0.0" -- Unimplemented.

amplitude_addend
<double>, default "0.0" -- Unimplemented.

6 properties in this class.


Generated on Tue Aug 9 14:38:52 2005 for simtheticlib by  doxygen 1.4.1