MPSK modulation: simulate in Matlab & Python

A generic complex baseband simulation technique, to simulate all M-ary phase shift keying (M-PSK) modulation techniques is given here. The given simulation code is very generic, and it plots both simulated and theoretical symbol error rates for all MPSK modulation techniques. M-ary phase shift keying (M-PSK) modulation In phase shift keying, all the information gets … Read more

Eb/N0 Vs BER for BPSK over Rayleigh Channel and AWGN Channel

The phenomenon of Rayleigh Flat fading and its simulation using Clarke’s model and Young’s model were discussed in the previous posts. The performance (Eb/N0 Vs BER) of BPSK modulation (with coherent detection) over Rayleigh Fading channel and its comparison over AWGN channel is discussed in this post. We first investigate the non-coherent detection of BPSK … Read more

Simulation of Rayleigh Fading ( Clarke’s Model – sum of sinusoids method)

A multipath fading channel  can be modeled as a FIR (Finite Impulse Response) filter with the following impulse response. $$ h( \tau ; t ) = h_{0}(t) \delta ( \tau – \tau_{0}(t)) + h_{1}(t) \delta ( \tau – \tau_{1}(t)) + . . . + h_{L-1}(t) \delta ( \tau – \tau_{L-1}(t)) $$ where h(τ,t) is the … 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

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

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