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

simthlib::AdaptiveModulatorBase Class Reference

#include <adaptiveModulator.h>

Inheritance diagram for simthlib::AdaptiveModulatorBase:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 AdaptiveModulatorBase (int numCarr, int oversampling, double carrDist, double guardTime, int avgBitsPerSym, loadingAlgorithm algorithm, ExtendedModList *modlist, Channel *channel, std::auto_ptr< Interleaving > interl)
 AdaptiveModulatorBase (int id, simth::DeviceSystemIntf *s, const simth::PropertyList &pl)
virtual void updateInputLengths ()=0
virtual void updateOutputLengths ()=0
void print (std::ostream &os) const
virtual void refresh ()
void reset ()
virtual void process ()=0
void setPowerScaling (bool scaleIt)
void setNumGroups (int numGroups_)
virtual ~AdaptiveModulatorBase ()=0

Static Public Member Functions

static std::auto_ptr< InterleavingcreateInterleaving (int interLength, int interRows, int interCols, int interPlanes)

Protected Member Functions

int indexLength (int bitseqLength) const
void updateTransferFunc (const simth::FreqSignal &helpTrans)

Protected Attributes

int numCarr
int carrIndex
double carrDist
int oversampling
double guardTime
simth::FreqSignaltransfer
LoadingSchemeloading
loadingAlgorithm algorithm
int avgBitsPerSym
const Channelchannel
Interleavingintl
bool powerScaling
int numGroups

Related Functions

(Note that these are not member functions.)

 propertylist_AdaptiveModulatorBase (not_a_function)

Detailed Description

Device performing subcarrier-specific adaptive modulation.


Constructor & Destructor Documentation

simthlib::AdaptiveModulatorBase::AdaptiveModulatorBase int  numCarr,
int  oversampling,
double  carrDist,
double  guardTime,
int  avgBitsPerSym,
loadingAlgorithm  algorithm,
ExtendedModList modlist,
Channel channel,
std::auto_ptr< Interleaving interl
 

simthlib::AdaptiveModulatorBase::AdaptiveModulatorBase int  id,
simth::DeviceSystemIntf s,
const simth::PropertyList pl
 

virtual simthlib::AdaptiveModulatorBase::~AdaptiveModulatorBase  )  [pure virtual]
 


Member Function Documentation

static std::auto_ptr<Interleaving> simthlib::AdaptiveModulatorBase::createInterleaving int  interLength,
int  interRows,
int  interCols,
int  interPlanes
[static]
 

int simthlib::AdaptiveModulatorBase::indexLength int  bitseqLength  )  const [protected]
 

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

Reimplemented from simth::Device.

virtual void simthlib::AdaptiveModulatorBase::process  )  [pure virtual]
 

Implements simth::Device.

Implemented in simthlib::AdaptiveModulator, and simthlib::MultilevelAdaptiveModulator.

virtual void simthlib::AdaptiveModulatorBase::refresh  )  [virtual]
 

Reimplemented from simth::Device.

Reimplemented in simthlib::MultilevelAdaptiveModulator.

void simthlib::AdaptiveModulatorBase::reset  )  [inline, virtual]
 

Reimplemented from simth::Device.

void simthlib::AdaptiveModulatorBase::setNumGroups int  numGroups_  )  [inline]
 

void simthlib::AdaptiveModulatorBase::setPowerScaling bool  scaleIt  )  [inline]
 

virtual void simthlib::AdaptiveModulatorBase::updateInputLengths  )  [pure virtual]
 

Implements simth::Device.

Implemented in simthlib::AdaptiveModulator, and simthlib::MultilevelAdaptiveModulator.

virtual void simthlib::AdaptiveModulatorBase::updateOutputLengths  )  [pure virtual]
 

Implements simth::Device.

Implemented in simthlib::AdaptiveModulator, and simthlib::MultilevelAdaptiveModulator.

void simthlib::AdaptiveModulatorBase::updateTransferFunc const simth::FreqSignal helpTrans  )  [protected]
 


Friends And Related Function Documentation

propertylist_AdaptiveModulatorBase not_a_function   )  [related]
 

These are the properties of class AdaptiveModulatorBase . 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: A block that performs subcarrier-wise adaptive modulation. Several loading algorithms are available, as chosen by the loading_scheme property. The information about the channel transfer function can either be obtained by the second input interface, or, if it is unconnected, this block will internally look for the channel block and directly obtain the channel transfer function from there.

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

avg_bits_per_symbol
<unsigned>, default "" -- Average bits per symbol, i.e. the bitrate.

num_carrier
<unsigned>, default "" -- Number of subcarriers over which the adaptive modulation is computed.

loading_algorithm
<enum>, default "ccb" -- The loading algorithm to be used.

power_scaling
<bool>, default "true" -- Whether the powers should also be scaled or not.

modulation_schemes
<list_string>, default "NONE BPSK QPSK 8-RAM 16-QAM 32-RAM 64-QAM" -- A space-separated list of all modulation schemes that should be used. Watch out: You need to specify constellations that are large enough so that the average number of bits can still be transmitted. Possible values are UNMODULATED or NONE, BPSK or 2-PSK, QPSK or 4-PSK, 8-PSK, 8-RAM, 4-QAM, 16-QAM, 32-QAM, 32-RAM, 64-QAM, 128-QAM, 128-RAM, 256-QAM

mapping
<enum>, default "gray" -- bit mapping scheme

scale_re
<vector_double>, default "" -- Space-separated list of scaling values for the different available modulation schemes. Usually unused (i.e. no extra scaling).

scale_im
<vector_double>, default "" -- Space-separated list of scaling values for the different available modulation schemes. Usually unused (i.e. no extra scaling).

split_ccb_num_groups
<unsigned>, default "1" -- Only for split_ccb loading scheme

carrier_dist
<double>, default "0.0" -- Only necessary when the channel transfer function is obtained internally directly from the channel: The carrier distance of the transmitter.

oversampling
<unsigned>, default "0" -- Only necessary when the channel transfer function is obtained internally directly from the channel: The oversampling of the transmitter.

guardtime
<double>, default "0.0" -- Only necessary when the channel transfer function is obtained internally directly from the channel: The guard time of the transmitter.

symbol_interleaving_length
<unsigned>, default "1" --

symbol_interleaving_rows
<unsigned>, default "1" --

symbol_interleaving_cols
<unsigned>, default "1" --

symbol_interleaving_planes
<unsigned>, default "1" --

16 properties in this class.


Member Data Documentation

loadingAlgorithm simthlib::AdaptiveModulatorBase::algorithm [protected]
 

int simthlib::AdaptiveModulatorBase::avgBitsPerSym [protected]
 

double simthlib::AdaptiveModulatorBase::carrDist [protected]
 

int simthlib::AdaptiveModulatorBase::carrIndex [protected]
 

const Channel* simthlib::AdaptiveModulatorBase::channel [protected]
 

double simthlib::AdaptiveModulatorBase::guardTime [protected]
 

Interleaving* simthlib::AdaptiveModulatorBase::intl [protected]
 

LoadingScheme* simthlib::AdaptiveModulatorBase::loading [protected]
 

int simthlib::AdaptiveModulatorBase::numCarr [protected]
 

int simthlib::AdaptiveModulatorBase::numGroups [protected]
 

int simthlib::AdaptiveModulatorBase::oversampling [protected]
 

bool simthlib::AdaptiveModulatorBase::powerScaling [protected]
 

simth::FreqSignal* simthlib::AdaptiveModulatorBase::transfer [protected]
 


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