Idin’s pick this week is "A MATLAB-based Object-Oriented Approach to Multipath Fading Channel Simulation" by Cyril Iskander.
This week’s pick is a bit different than usual. It’s not a nifty MATLAB trick or utility function. It’s not even a cool example of an application in wireless communications (my favorite industry!). It’s a white paper that outlines the theory behind one of MATLAB’s fundamental functions (well, Communications System Toolbox to be accurate). As a MathWorks applications engineer I am often asked questions about the technical details of our functions; this is one case where I have a really good answer.
The white paper represents one of the rare occasions where the curtain has been pulled back, and we get to see the thinking and theory that went into creating a fundamental piece of code. The paper was written in 2008 by one of the developers of MATLAB’s fading channel model, and it’s still quite relevant.
Multipath fading channels are present in virtually all wireless communication systems, and most of the literature in this field assumes some form of a fading channel. Simulating multipath fading channels accurately and efficiently is thus critical for anyone doing either research & development in the wireless industry. However, this is by no means trivial, and a great body of literature has also been dedicated to this simulation problem alone.
This submission does a nice job of providing the background on fading channels, surveying existing literature and techniques, and finally outlining the approach chosen for implementation of MATLAB’s multipath fading channel models (namely, filtered Gaussian noise approach). It also provides some examples of how these channel models are used in MATLAB.
You can find further examples and use cases of these channel models in the “demos” section of the Communications System Toolbox documentation. A good example is “COST 207 and GSM/EDGE Channel Models”.
I should note here that the same code base is also used for the Fading Channel block in Simulink. You can see examples of the Simulink block being used in most of the “Application-Specific Examples” section of the Communications System Toolbox demos. “commwman80216dstbc.mdl” is one such example (showing an 802.16d PHY layer simulation).
As always, your comments are welcomed and greatly appreciated.