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

mimo::FadingMIMOChannel Class Reference

DEPRECATED. MIMOChannel for statistical fading model. More...

#include <fadingmimochannel.h>

Inheritance diagram for mimo::FadingMIMOChannel:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 FadingMIMOChannel (int deviceID, DeviceSystemIntf *system, const simth::PropertyList &pl)
 constructor
virtual ~FadingMIMOChannel ()
 destructor
virtual void refresh ()
 determines new random transfer factors
void getTransfer (int relative_time, MatrixFreqSignal &trans) const
void transmit (const VectorTimeSignal &sym, VectorTimeSignal &outsym)
 transmits a symbol sequence over the channel
virtual void print (std::ostream &os) const

Protected Attributes

double sigma
 scale factor sigma of rayleigh distribution
RayleighRng ray
 pointer to a Rayleigh distributed random variable
double normFactor
 Stores the normalization factor.
simthlib::OfdmReceiverofdm_recv
simthlib::OfdmTransmitterofdm_trans
unsigned num_carrier
double carrier_dist
unsigned maxantenna
std::vector< TimeSignal::storage_type * > time_samples
std::vector< ModSeq * > freq_samples
CVectorSeq::storage_type freq_vectors_in
CVectorSeq::storage_type freq_vectors_out

Detailed Description

DEPRECATED. MIMOChannel for statistical fading model.

DEPRECATED. This specific class has Rayleigh Fading in the amplitude, but zero phase rotation. For the usual Gaussian fading you will probably prefer to use CmplFadingChannel. Therefore this class is deprecated and should not be used.

This channel and its derived classes can either be used as a flat-fading/narrowband channel, or as a broadband Rayleigh fading channel.

For a flat-fading/narrowband channel, at each refresh() one new transfer factor $H_0$ is diced. The channel transfer function then is constant over all frequency, $H(f)=H_0$, and the channel impulse response is simply a multiplication with this one transfer factor. This mode of operation is chosen by specifying the Property num_carrier to be one (default).

Alternatively, this channel and its derived classes can be used as a broadband Rayleigh fading channel, so that for a specific OFDM system each subcarrier will undergo an i.i.d. fading. However, this requires this block to know the parameters of the surrounding OFDM system exactly. Hence, the Properties num_carrier, oversampling, carrier_dist, and guard_time have to be specified identically to the OFDM transmitter/receiver blocks. In this mode of operation, at each refresh() a new channel transfer function is diced with $K$=num_carrier different i.i.d. random variables $H_k$ at each subcarrier k, resulting in $H(f_k)=H_k, k=0,\ldots,K-1$ where each $f_k$ is the frequency of subcarrier k.


Constructor & Destructor Documentation

mimo::FadingMIMOChannel::FadingMIMOChannel int  deviceID,
DeviceSystemIntf system,
const simth::PropertyList pl
 

constructor

virtual mimo::FadingMIMOChannel::~FadingMIMOChannel  )  [virtual]
 

destructor


Member Function Documentation

virtual void mimo::FadingMIMOChannel::refresh  )  [virtual]
 

determines new random transfer factors

Reimplemented from simth::Device.

Reimplemented in mimo::CmplFadingMIMOChannel, and mimo::FileFadingChannel.

void mimo::FadingMIMOChannel::getTransfer int  relative_time,
MatrixFreqSignal trans
const [virtual]
 

Determines channel transfer factors. An ideal estimation of the channel transfer function is performed. This means, the exact values $H(f_i,t_0)$ are determined, where $t_0$ is ${\tt time} * {\tt delta\_t}$ and $f_i = n\cdot \mbox{\tt delta\_f}, n=0, \dots, \mbox{\tt num\_f}-1$. (time = 0 indicates the transmission time of the sample transmitted at last over the channel; time = -numSamples indicates the transmission time of the first sample of the last transmitted sequence.

Implements mimo::MIMOChannel.

void mimo::FadingMIMOChannel::transmit const VectorTimeSignal sym,
VectorTimeSignal outsym
[virtual]
 

transmits a symbol sequence over the channel

Implements mimo::MIMOChannel.

virtual void mimo::FadingMIMOChannel::print std::ostream &  os  )  const [virtual]
 

Reimplemented from mimo::MIMOChannel.

Reimplemented in mimo::CmplFadingMIMOChannel.


Member Data Documentation

double mimo::FadingMIMOChannel::sigma [protected]
 

scale factor sigma of rayleigh distribution

RayleighRng mimo::FadingMIMOChannel::ray [protected]
 

pointer to a Rayleigh distributed random variable

double mimo::FadingMIMOChannel::normFactor [protected]
 

Stores the normalization factor.

simthlib::OfdmReceiver* mimo::FadingMIMOChannel::ofdm_recv [protected]
 

simthlib::OfdmTransmitter* mimo::FadingMIMOChannel::ofdm_trans [protected]
 

unsigned mimo::FadingMIMOChannel::num_carrier [protected]
 

double mimo::FadingMIMOChannel::carrier_dist [protected]
 

unsigned mimo::FadingMIMOChannel::maxantenna [protected]
 

std::vector<TimeSignal::storage_type*> mimo::FadingMIMOChannel::time_samples [protected]
 

std::vector<ModSeq*> mimo::FadingMIMOChannel::freq_samples [protected]
 

CVectorSeq::storage_type mimo::FadingMIMOChannel::freq_vectors_in [protected]
 

CVectorSeq::storage_type mimo::FadingMIMOChannel::freq_vectors_out [protected]
 


Generated on Tue Aug 9 14:43:34 2005 for mimolib by  doxygen 1.4.1