Construct autocorrelation Matrix in Matlab & Python

Auto-correlation, also called series correlation, is the correlation of a given sequence with itself as a function of time lag. Cross-correlation is a more generic term, which gives the correlation between two different sequences as a function of time lag. Given two sequences and , the cross-correlation at times separated by lag i is given … Read more

Methods to compute linear convolution

Mathematical details of convolution, its relationship to polynomial multiplication and the application of Toeplitz matrices in computing linear convolution are discussed in the previous article. A short survey of different techniques to compute discrete linear convolution (with Matlab code) is given here. Definition Given an LTI (Linear Time Invariant) system with impulse response \(h[n]\) and … Read more

Convolution: understand the mathematics

Convolution operation is ubiquitous in signal processing applications. The mathematics of convolution is strongly rooted in operation on polynomials. The intent of this text is to enhance the understanding on mathematical details of convolution. Polynomial functions: Polynomial functions are expressions consisting of sum of terms, where each term includes one or more variables raised to … Read more

Sampling Theorem – Bandpass or Intermediate or Under Sampling

Prerequisite: Sampling theorem – baseband sampling Intermediate Sampling or Under-Sampling A signal is a bandpass signal if we can fit all its frequency content inside a bandwidth . Bandwidth is simply the difference between the lowest and the highest frequency present in the signal. “In order for a faithful reproduction and reconstruction of a bandpass … Read more

Sampling Theorem – Baseband Sampling

For Matlab demo of sampling see here. “Nyquist-Shannon Sampling Theorem” is the fundamental base over which all the digital processing techniques are built. Processing a signal in digital domain gives several advantages (like immunity to temperature drift, accuracy, predictability, ease of design, ease of implementation etc..,) over analog domain processing. Analog to Digital conversion: In … Read more

Correlative Coding – Modified Duobinary Signaling

Modified Duobinary Signaling is an extension of duobinary signaling. It has the advantage of zero PSD at low frequencies (especially at DC ) that is suitable for channels with poor DC response. It correlates two symbols that are 2T time instants apart, whereas in duobinary signaling, symbols that are 1T apart are correlated. The general … Read more

Correlative coding – Duobinary Signaling

The condition for zero ISI (Inter Symbol Interference) is which states that when sampling a particular symbol (at time instant nT=0), the effect of all other symbols on the current sampled symbol is zero. As discussed in the previous article, one of the practical ways to mitigate ISI is to use partial response signaling technique … Read more

Understand Moving Average Filter with Python & Matlab

The moving average filter is a simple Low Pass FIR (Finite Impulse Response) filter commonly used for smoothing an array of sampled data/signal. It takes samples of input at a time and takes the average of those -samples and produces a single output point. It is a very simple LPF (Low Pass Filter) structure that … Read more

QPSK – Quadrature Phase Shift Keying

Quadrature Phase Shift Keying (QPSK) is a form of phase modulation technique, in which two information bits (combined as one symbol) are modulated at once, selecting one of the four possible carrier phase shift states. The QPSK signal within a symbol duration \(T_{sym}\) is defined as where the signal phase is given by Therefore, the … Read more