#include <mimo-channel.h>
Inheritance diagram for mimo::MIMOChannel:
Public Member Functions | |
MIMOChannel (int id, DeviceSystemIntf *s, const simth::PropertyList &pl) | |
virtual | ~MIMOChannel () |
void | setNoisePower (double n) |
void | setSNR (double snr) |
double | getNoisePower () const |
virtual void | getTransfer (int relative_time, MatrixFreqSignal &trans) const =0 |
virtual void | transmit (const VectorTimeSignal &sym, VectorTimeSignal &outsym)=0 |
virtual void | updateInputLengths () |
virtual void | updateOutputLengths () |
virtual void | process () |
virtual void | print (std::ostream &os) const |
virtual void | startOfSimulation () |
Static Public Member Functions | |
static void | init (const std::string &fileName, Device **dev, DeviceSystemIntf *sysPtr, int ID, const std::string ®ionQualifier="") |
Protected Member Functions | |
double | getGauss () const |
returns a Gaussian distributed variable | |
void | addNoise (VectorTimeSignal::reference v) const |
void | assert_vector_lengths (const VectorTimeSignal &in, const VectorTimeSignal &out) const |
void | assert_transfer_lengths (const MatrixFreqSignal::storage_type &our, const MatrixFreqSignal &next) const |
void | assert_transfer_dim (const MatrixFreqSignal::storage_type &our, const MatrixFreqSignal &next) const |
Protected Attributes | |
size_t | nr_tx |
size_t | nr_rx |
MatrixFreqSignal::storage_type | transfer |
transfer function | |
const bool | diagonal |
Related Functions | |
(Note that these are not member functions.) | |
propertylist_MIMOChannel (not_a_function) |
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. |
|
returns a Gaussian distributed variable
|
|
Add Gaussian noise (from getGauss() ) on all elements of the given vector v. |
|
|
|
|
|
|
|
Sets the noise power to 'noise'. |
|
Sets the signal-to-noise ratio to 'snr', while the signal power is kept constant. Reimplemented in mimo::FileWssusChannel. |
|
Returns the noise power. |
|
Determines channel transfer factors. An ideal estimation of the channel transfer function is performed. This means, the exact values are determined, where is and . (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. Implemented in mimo::FadingMIMOChannel, mimo::MaxEntropyChannel, mimo::PerfectMIMOChannel, mimo::AWGNMIMOChannel, mimo::WSSUSChannel, and mimo::WSSUSChannel2. |
|
Transmits a symbol sequence over the channel. Implemented in mimo::FadingMIMOChannel, mimo::MaxEntropyChannel, mimo::PerfectMIMOChannel, mimo::AWGNMIMOChannel, mimo::WSSUSChannel, and mimo::WSSUSChannel2. |
|
Implements simth::Device. Reimplemented in mimo::MaxEntropyChannel. |
|
Implements simth::Device. Reimplemented in mimo::MaxEntropyChannel. |
|
Implements simth::Device. |
|
Reimplemented from simth::Device. Reimplemented in mimo::FadingMIMOChannel, mimo::CmplFadingMIMOChannel, mimo::MaxEntropyChannel, mimo::PerfectMIMOChannel, mimo::AWGNMIMOChannel, mimo::WSSUSChannel, and mimo::WSSUSChannel2. |
|
Reimplemented from simth::Device. Reimplemented in mimo::WSSUSChannel, mimo::FileWssusChannel, and mimo::WSSUSChannel2. |
|
|
|
These are the properties of class MIMOChannel . 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 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.
|
|
|
|
|
|
transfer function
|
|
|