Category Archives: Simulation

Simulation using MATLAB, Octave and Python.

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

Hamming Codes

We have previously discussed modulation and demodulation in wireless communications, now we turn our attention to channel coding. We know that in a wireless channel the transmitted information gets corrupted due to noise and fading and we get what are called bit errors. One way to overcome this problem is to transmit the same information multiple times. In coding terminology this is called a repetition code. But this is not recommended as it results in reduced data rate and reduced spectral efficiency.

Continue reading Hamming Codes

Modeling Phase and Frequency Synchronization Error

Carrier phase or frequency synchronization is a common problem in wireless communication systems. These two problems are interrelated as instantaneous frequency is just the rate of change of phase. The problem of carrier frequency offset might appear due to one of two reasons. Either the oscillators at the transmitter and receiver are not aligned in the frequency domain or there is a Doppler shift introduced by the channel (remember that a moving object in the wireless environment introduces a Doppler shift). In the case of the former the frequency misalignment is given in parts per million (ppm). A typical value for commercially available oscillators is ±20 ppm. Assuming that there is maximum frequency error at both the transmitter and receiver the error increases to ±40 ppm. At 1GHz this translates to 40*1,000,000,000/1,000,000 = 40kHz.

Continue reading Modeling Phase and Frequency Synchronization Error

Index Modulation Explained

Wireless researchers are continuously exploring ways to increase the spectral efficiency (bits/sec/Hz) and energy efficiency (bits/Joule) of wireless communication systems [1]. Spectral efficiency can generally be improved by using larger constellations or by using multiple antennas at the transmitter and receiver, better known as MIMO. But increasing energy efficiency is not that straightforward. Let’s consider this in bit more detail.

Continue reading Index Modulation Explained

Reconfigurable Intelligent Surfaces Explained

Wireless channel is inherently unpredictable and this results in loss of information as it travels from the transmitter to the receiver. The main reason for this is that multiple copies of the wireless signal arrive at the receiver which sometimes add constructively and at other times destructively, causing deep fades. The deciding factor between signal copies (think of them as echoes) adding constructively or destructively is the relative phase. If the phases are aligned the signals add up but if the phases are not aligned, we get a fade (fades can be as deep as 60-80dB). Wireless engineers over the years have worked around this problem by using multiple antennas also called antenna arrays.

Continue reading Reconfigurable Intelligent Surfaces Explained

MSK Demodulation Using a Discriminator

It is widely believed that performance of non-coherent receivers is much worse than performance of coherent receivers in terms of Bit Error Rate (BER). Although this is true to some extent but as we show in this post the difference in performance is not that much in case of Minimum Shift Keying (MSK). In fact, there is only a difference of about one dB in an AWGN environment at high Signal to Noise Ratios (SNR). The difference is somewhat larger in flat fading environment but given the simplicity of implementation of a non-coherent receiver the trade-off might be worth it.
Continue reading MSK Demodulation Using a Discriminator

Orthogonal Minimum Shift Keying (OMSK)

Some Background

Before we delve deep into Minimum Shift Keying (MSK) and its performance in presence of co-channel interference the reader is advised to look at the following posts.

Post 1 – MSK BER performance in AWGN and flat fading environment when viewed as extension of BPSK

Post 2 – MSK Power Spectral Density and its BER performance in AWGN when viewed as a CPM

Post 3 – MSK BER Performance in AWGN and flat fading environment when viewed as a CPM

Co-channel interference is a phenomenon widely encountered in wireless communication systems and the main reason for that is frequency reuse, which allows the same frequency band to be used over and over again in geographically non-contiguous areas. GSM and other wireless communication systems, using MSK modulation, suffer from the same problem. This has been widely studied in the literature and interference rejection techniques have been proposed. The worst case is one where the power of both the signals (wanted signal and interference) is almost the same and there is no frequency or phase offset. 
Continue reading Orthogonal Minimum Shift Keying (OMSK)