Documentation
The most complete form of documentation for MFM can be found on this website.
This PDF also provides a centralized summary of MFM and its objects.
Feel free to email mimoformatlab@gmail.com with questions and feedback.
Objects
With the hopes of simplifying the use of MFM, an object-oriented approach was taken. Listed below are links to pages describing the different objects used in MFM.
Array
An arbitrary antenna array of one or more elements.
Channel
A generic MIMO channel.
Subclasses:
Ray/Cluster Channel
Rayleigh-Faded Channel
Device
A device with transmit and/or receive capability.
Link
A physical connection between two devices.
Network
A network of devices and the links connecting them.
Path Loss
A generic path loss model.
Subclasses:
Free-Space Path Loss
Free-Space Path Loss with Log-Normal Shadowing
Two-Slope Path Loss
Receiver
A MIMO receiver.
Subclasses:
Hybrid Digital/Analog Receiver
Transmitter
A MIMO transmitter.
Subclasses:
Hybrid Digital/Analog Transmitter
Object-Oriented Relationships of MFM
To fully understand and use MFM, it is important that users know how the several objects are related.
There are four levels of object hierarchy in MFM. From lowest to highest we have:
- the array/channel level
- the transmitter/receiver level
- the device/link level
- the network level
Each transmitter
and receiver
has an array
. channels
capture propagation between transmit and receive arrays.
devices
, which can transmit and/or receive, are comprised of a transmitter
and/or receiver
object.
links
capture the physical connection between devices
, described by the channel and path loss between them.
A collection of devices
and links
comprises a network_mfm
object.
How MFM Can Be Used
MFM can be used in various capacities, depending on one’s use-case.
At the lowest level, for example, users may only use the array
object’s capabilities and no other components of MFM.
In another case, users may want to use MFM as a channel generator, meaning only the array
and channel
objects are necessary.
Taking it a step higher, users may be interested in using MFM at its device
and link
level, without using the network
object at all.
At the highest level, MFM can be used at its network
level, where effectively all components of MFM are being used, such as in the guide A Complete Network-Level Example.
Frequency-Selectivity
MFM was created under a frequency-flat assumption. It could be extended to frequency-selective channels, but the current version of MFM does not incorporate frequency-selectivity.