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

Walsh Hadamard Code – Matlab Simulation

The following is a function to generate a Walsh Hadamard Matrix of given codeword size. The codeword size has to be a power of 2. function [H]=generateHadamardMatrix(codeSize) %[H]=generateHadamardMatrix(codeSize); % Function to generate Walsh-Hadamard Matrix where “codeSize” is the code % length of walsh code. The first matrix gives us two codes; 00, 01. The second … Read more

FFT and Spectral Leakage

Spectral leakage due to FFT is caused by: mismatch between desired tone and chosen frequency resolution, time limiting an observation. Understand the concept using hands-on examples. Limits of frequency domain studies Frequency Transform is used to study a signal’s frequency domain characteristics. When using FFT to study the frequency domain characteristics of a signal, there … 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

Random Interleaver

Random Interleaver: The Random Interleaver rearranges the elements of its input vector using a random permutation. The incoming data is rearranged using a series of generated permuter indices. A permuter is essentially a device that generates pseudo-random permutation of given memory addresses. The data is arranged according to the pseudo-random order of memory addresses. The … Read more

Block Interleaver Design for RS codes

Introduction: A Reed Solomon (RS) encoder, takes user data symbols and converts it into a n symbol wide codeword, by adding parity symbols. The error correcting capability of the RS code is computed as . That is, a RS code with parity symbols can correct a burst error of upto symbol errors. Block Interleavers: Suppose, … Read more

Interleavers and deinterleavers

Interleavers and Deinterleavers are designed and used in the context of characteristics of the errors that might occur when the message bits are transmitted through a noisy channel. To understand the functions of an interleaver/deinterleaver, understanding of error characteristics is essential. Two types are errors concern communication system design engineer. They are burst error and … 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