Working of an Early-Late TED

On the Link Between Gardner Timing Error Detector and Early-Late Timing Error Detector

This post is written on an advanced topic mainly for practitioners and researchers in the design of wireless systems. For learning about wireless communication systems from a DSP perspective (the idea behind SDRs), I recommend you have a look at my book. F. M. Gardner described his well known Timing Error Detector (TED) — known as Gardner TED — in his often cited article [1]. Gardner was a pioneer in the area of synchronization and Phase Locked Loops (PLL). Later, M. Oerder (a student of Heinrich Meyr) derived this scheme from the maximum likelihood principle in [2]. Heinrich Meyr is

Continue reading
An intuitive way to understand the maximum ratio transmission

Maximum Ratio Transmission (MRT)

In Maximum Ratio Combination (MRC), our focus was on combining the signals from multiple antennas at the Rx side. Here, we will see how a similar system can be developed with multiple antennas at the Tx side. As our first consideration, we attempt to replicate the results of Rx diversity in a scenario where there are multiple Tx antennas and a single Rx antenna. This is commonly known as a Multiple-Input Single Output (MISO) system. Assume that there are $N_T$ Tx antennas available and only a single Rx antenna as shown in the figure below. This is a dual problem

Continue reading
Generating multivariate normal random numbers without statistics and machine learning toolbox

How to Generate Multivariate Normal Random Numbers in Matlab without Statistics and Machine Learning Toolbox

Generating Additive White Gaussian Noise (AWGN) is an indispensable for simulating communication systems. In some cases, we need to produce sequences from a multivariate normal distribution. The standard way to generate such random sequences in Matlab is to use the function mvnrnd( ). But we need the Statistics and Machine Learning Toolbox for this purpose. However, there is another way of producing multivariate normal random numbers in Matlab without this toolbox. One alternative is to use the randn( ) function along with the Cholesky decomposition of the covariance matrix. The main idea is that when generating multivariate normal random numbers,

Continue reading
Time domain formation of a Raised Cosine pulse for unity excess bandwidth

How Excess Bandwidth Governs Timing Recovery in Digital Communication Systems

In the article on pulse shaping, we described the excess bandwidth, also known as roll-off factor, as the extra fractional bandwidth required to shape the spectrum. As it turns out, this excess bandwidth is also crucial for accomplishing timing synchronization in single-carrier systems due to its participation in generating spectral timing lines. Spectral Timing Lines Since a data stream consists of a sequence of 1s and 0s, the signal waveform is not a pure clock. Instead, a series of 1s and 0s appear in random order. The purpose of timing synchronization is to extract a clock out of this waveform.

Continue reading
QAM constellation diagrams for M = 4, 16 and 64

QAM Constellations in Digital Communication Standards

Quadrature Amplitude Modulation (QAM) is one of the most spectrally efficient modulation schemes. This is why it is used in a wide range of digital and wireless communication systems. Recently, Ref. [1] describes a list of QAM schemes used in the standards as below which I think can be useful for an interested reader. Standard QAM Alphabet Size $M$ Bits/Symbol $\log_2 M$ Digital Video Broadcasting – Cable (DVB-C) 16 to 256 4 to 8 Digital Video Broadcasting – Cable 2 (DVB-C2) 16 to 4096 4 to 12 Digital Video Broadcasting – Terrestrial (DVB-T) 16 and 64 4 and 6 Digital

Continue reading