#include <fadingmimochannel.h>
Inheritance diagram for mimo::FadingMIMOChannel:

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::OfdmReceiver * | ofdm_recv |
| simthlib::OfdmTransmitter * | ofdm_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 |
Related Functions | |
| (Note that these are not member functions.) | |
| propertylist_FadingMIMOChannel (not_a_function) | |
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.
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
is diced. The channel transfer function then is constant over all frequency,
, 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
=num_carrier different i.i.d. random variables
at each subcarrier k, resulting in
where each
is the frequency of subcarrier k.
|
||||||||||||||||
|
constructor
|
|
|
destructor
|
|
|
determines new random transfer factors
Reimplemented from simth::Device. Reimplemented in mimo::CmplFadingMIMOChannel. |
|
||||||||||||
|
Determines channel transfer factors. An ideal estimation of the channel transfer function is performed. This means, the exact values Implements mimo::MIMOChannel. |
|
||||||||||||
|
transmits a symbol sequence over the channel
Implements mimo::MIMOChannel. |
|
|
Reimplemented from mimo::MIMOChannel. Reimplemented in mimo::CmplFadingMIMOChannel. |
|
|
These are the properties of class FadingMIMOChannel . 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: Note that this class also has the Properties of its base classes. The direct base class is mimo::MIMOChannel ; direct link to its propertylist should be propertylist_MIMOChannel(). 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.
|
|
|
scale factor sigma of rayleigh distribution
|
|
|
pointer to a Rayleigh distributed random variable
|
|
|
Stores the normalization factor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.3.2