Comparison of a binary quantized image with its dithered version

Noise is Not Always the Enemy

Noise is usually considered the main enemy in all DSP applications. As David Tse once said: “Noise is the reason for our existence (communication engineers)!” This short article briefly describes why noise sometimes plays a positive role, e.g., in the context of analog-to-digital conversion when the signal is very weak. Introduction Noise is the enemy to be conquered, particularly in communications and radar systems. In a noise-limited regime, we hit a performance brick wall due to the presence of noise. Think of parameter estimation in which the primary criteria is to establish a certain performance against a target signal-to-noise ratio.

Continue reading
Pulse Code Modulation (PCM)

Specifications of a Radio Receiver

When designing a radio receiver, a system architect has to deal with the issues such as dynamic range, noise floor and sensitivity of a radio receiver [1]. The ultimate purpose is computing a power budget to ensure that a minimum amount of signal power is available at the receiver during operation. This is not much different than how a country assigns an available budget into different sectors such as defense, education and health. Dynamic Range Dynamic range is the ratio of the largest signal level to the smallest signal level that the system can process in analog and digital stages.

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
A block diagram for the implementation of the feedforward phase estimator

How to Estimate the Carrier Phase

In this article, I will describe how to estimate the carrier phase from an incoming waveform in a feedforward manner. This algorithm utilizes a sequence of known pilot symbols embedded within the signal along with the unknown data symbols. Such a signal is sent over a link in the form of separate packets in burst mode wireless communications. In most such applications with short packets, the phase offset $\theta_\Delta$ remains constant throughout the duration of the packet and a single shot estimator is enough for its compensation. Here, the primary task of the designer is to develop this closed-form expression

Continue reading
SINAD for signal, noise and distortion

How to Compute SINAD in a Radio Receiver

In theory, the quantity that determines the performance of a radio receiver is the Signal to Noise Ratio (SNR). In linear terms, this is simply the ratio of the signal power versus the noise power appearing at the demodulator input. \[ SNR = 10\log_{10} \frac{P_S}{P_N} \] where $P_S$ is the signal power and $P_N$ is the noise power within the spectrum. However, when experimental measurements are carried out in order to verify the theoretical conclusions, SNR alone is not enough and there is another quantity, known as SINAD, that governs the receiver performance. What is SINAD SINAD stands for Signal

Continue reading