Category Archives: Simulation

Simulation using MATLAB, Octave and Python.

Why is MIMO Fading Capacity Higher than AWGN Capacity

In a previous post we have seen that MIMO fading capacity is much higher than AWGN capacity with multiple antennas. How is this possible? How can randomness added by a fading channel help us? In this post we try to find the reason for this. Let’s assume the following signal model for a Multi Input Multi Output antenna system.


Here s is the NT by 1 signal vector, w is the NR by 1 noise vector and H is the NR by NT channel matrix. The received signal vector is represented by x which has dimensions of NR by 1. In expanded form this can be written as (assuming NT =4 and NR =4):

Continue reading Why is MIMO Fading Capacity Higher than AWGN Capacity

MIMO, SIMO and MISO Capacity in AWGN and Fading Environment

In a previous post we had discussed MIMO capacity in a fading environment and compared it to AWGN capacity. It sometimes feels unintuitive that fading capacity can be higher than AWGN capacity. If a signal is continuously fluctuating how is it possible that we are able to have reliable communication. But this is the remarkable feature of MIMO systems that they are able to achieve blazing speeds over an unreliable channel, at least theoretically. It has been shown mathematically that an NxN MIMO channel is equivalent to N SISO channels in parallel.

Continue reading MIMO, SIMO and MISO Capacity in AWGN and Fading Environment

Fundamentals of Direction of Arrival Estimation

Direction of Arrival (DOA) estimation is a fundamental problem in communications and signal processing with application in cellular communications, radar, sonar etc. It has become increasingly important in recent times as 5G communications uses DOA to spatially separate the users resulting in higher capacity and throughput. Direction of Arrival estimation can be thought of as the converse of beamforming. As you might recall from the discussion in previous posts, in beamforming you use the steering vector to receive a signal from a particular direction, rejecting the signals from other directions. In DOA estimation you scan the entire angular domain to find the required signal or signals and estimate their angles of arrival and possibly the ranges as well.

Continue reading Fundamentals of Direction of Arrival Estimation

Near Field of an Antenna

The Electromagnetic Radiation from an antenna, particularly dipole antenna, has been studied in great detail. The mathematical framework proposed by Maxwell has stood the test of time and theoretical concepts have been verified through physical measurements. But the behavior of Electromagnetic (EM) waves close to the radiating antenna is not that well understood. This region that extends to about a wavelength from the antenna is called Near Field, as opposed to Far Field, which extends further out. The Near Field is further divided into Reactive Near Field and Radiative Near Field.

Continue reading Near Field of an Antenna

Low Density Parity Check Codes

We have previously discussed Block Codes and Convolutional Codes and their coding and decoding techniques particularly syndrome-based decoding and Viterbi decoding. Now we discuss an advanced form of Block Codes known as Low Density Parity Check (LDPC) codes. These codes were first proposed by Robert Gallager in 1960 but they did not get immediate recognition as they were quite cumbersome to code and decode. But in 1995 the interest in these codes was revived, after discovery of Turbo Codes. Both these codes achieve the Shannon Limit and have been adopted in many wireless communication systems including 5G.

Continue reading Low Density Parity Check Codes

Convolutional Codes and Viterbi Decoding

In the previous post we discussed block codes and their decoding mechanisms. It was observed that with syndrome-based decoding there is only a minimal advantage over the no coding case. With Maximal Likelihood (ML) decoding there is significant improvement in performance but computational complexity increases exponentially with length of the code and alphabet size. This is where convolutional codes come to the rescue.

Continue reading Convolutional Codes and Viterbi Decoding