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

simthlib::Channel Class Reference

#include <channel.h>

Inheritance diagram for simthlib::Channel:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Channel (int id, simth::DeviceSystemIntf *s, const simth::PropertyList &pl, double noise=1.0)
virtual ~Channel ()
double getNoisePower () const
virtual void getTransfer (int relative_time, simth::FreqSignal &trans) const =0
virtual void transmit (const simth::TimeSignal &sym, simth::TimeSignal *outsym)=0
virtual void updateInputLengths ()
virtual void updateOutputLengths ()
virtual void process ()
virtual void startOfSimulation ()
virtual void print (std::ostream &os) const
Channels
void setNoisePower (double n=1.0)
void setSNR (double snr)

Static Public Member Functions

static void init (const std::string fileName, simth::Device **dev, simth::DeviceSystemIntf *sysPtr, int ID, const std::string &regionQualifier="")

Protected Member Functions

double getGauss () const
 returns a Gaussian distributed variable

Related Functions

(Note that these are not member functions.)

 propertylist_Channel (not_a_function)

Detailed Description

Base class for channel that are at least corrupted by additive white Gaussian noise (AWGN).

This could be, for example a 'pure' AWGN channel, which is only corrupted by noise, or an WSSUS channel, which is corrupted both by noise and by multipath fading.


Constructor & Destructor Documentation

simthlib::Channel::Channel int  id,
simth::DeviceSystemIntf s,
const simth::PropertyList pl,
double  noise = 1.0
 

Constructor.

Parameters:
id The Device ID
s The pointer to the simulation system
pl The list of properties this device has
noise The desired noise power, but it will be changed by setSNR() anyway.

virtual simthlib::Channel::~Channel  )  [inline, virtual]
 

Destructor.


Member Function Documentation

double simthlib::Channel::getGauss  )  const [inline, protected]
 

returns a Gaussian distributed variable

double simthlib::Channel::getNoisePower  )  const [inline]
 

Returns the noise power.

virtual void simthlib::Channel::getTransfer int  relative_time,
simth::FreqSignal trans
const [pure virtual]
 

Returns the channel transfer factors. This could be used for an ideal channel estimation. The result is written into the given simth::FreqSignal trans. The frequency range is given by the number of elements of trans and its attribute deltaF().

Parameters:
relative_time The relative time at which the transfer function is calculated, relative to the last time sample that was transmitted over this channel!
trans The simth::FreqSignal that receives the resulting transfer function.

Implemented in simthlib::IdealChannel, simthlib::AWGNChannel, simthlib::FadingChannel, and simthlib::WssusChannel.

static void simthlib::Channel::init const std::string  fileName,
simth::Device **  dev,
simth::DeviceSystemIntf sysPtr,
int  ID,
const std::string &  regionQualifier = ""
[static]
 

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

Reimplemented from simth::Device.

Reimplemented in simthlib::IdealChannel, simthlib::AWGNChannel, simthlib::FadingChannel, simthlib::WssusChannel, simthlib::WssusChannelJakesUniform, and simthlib::WssusChannelDelayProfile.

virtual void simthlib::Channel::process  )  [virtual]
 

Implements simth::Device.

void simthlib::Channel::setNoisePower double  n = 1.0  )  [inline]
 

Sets the noise power to 'noise'.

NOTE: This is the complex-valued noise power (variance of the random variable). The real and imaginary part of the noise (each being a Gaussian) have half of that power as variance, each.

void simthlib::Channel::setSNR double  snr  )  [inline]
 

Sets the signal-to-noise ratio to 'snr', while the signal power is kept constant.

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

Reimplemented from simth::Device.

Reimplemented in simthlib::FadingChannel, and simthlib::WssusChannel.

virtual void simthlib::Channel::transmit const simth::TimeSignal sym,
simth::TimeSignal outsym
[pure virtual]
 

Transmits a symbol sequence over the channel.

Implemented in simthlib::IdealChannel, simthlib::AWGNChannel, simthlib::FadingChannel, and simthlib::WssusChannel.

virtual void simthlib::Channel::updateInputLengths  )  [virtual]
 

Implements simth::Device.

virtual void simthlib::Channel::updateOutputLengths  )  [virtual]
 

Implements simth::Device.


Friends And Related Function Documentation

propertylist_Channel not_a_function   )  [related]
 

These are the properties of class Channel . 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: Base class for channel that are at least corrupted by additive white Gaussian noise (AWGN).

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.

input_length
<sequencelength>, default "-1" -- The length of the input sequence. '-1' means it will be determined dynamically at runtime.

snr
<string>, default "" -- Name of the SNR loop variable in your simulation setup

channel_refresh
<string>, default "" -- Name of the channel refresh loop variable in your simulation setup

3 properties in this class.


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