Understand Moving Average Filter with Python & Matlab

This post contains interactive python code which you can execute in the browser itself. 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 \(L\) samples of input at a time and takes the average of those \(L\)-samples and produces … 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

Reed-Solomon (RS) codes are powerhouse error-correcting tools, but they have a specific Achilles’ heel: if a burst inside one codeword exceeds the correction radius \(t = \lfloor (n-k)/2 \rfloor\), a bounded-distance decoder fails on that codeword. Block Interleaving is the mathematical bridge that allows RS codes to survive massive, contiguous bursts by spreading the damage … Read more

Spread Spectrum Communications – Introduction

Spread spectrum system, originally developed for military applications, is extremely resistant to unauthorized detection, jamming, interference and noise. It converts a narrowband signal to wideband signal by the means of spreading. The original 802.11 and 802.11b used direct-sequence spreading. From 802.11a onward, Wi-Fi is OFDM. Bluetooth Classic hops; Bluetooth Low Energy hops as well, on … Read more

Demystifying Error Correction: Convolutional Codes and the Viterbi Algorithm

Convolutional Encoding Unlike block codes (like Reed-Solomon), Convolutional Codes do not have a fixed block size. Instead, they process a continuous stream of bits. The output at any given time depends not only on the current input bit but also on the previous $K-1$ bits, where $K$ is the Constraint Length.+1. Convolutional codes are a … Read more

Performance comparison of digital modulation techniques — BER trade-offs at a glance

Digital Modulations 101 — 5 lessons (same on every page in this path) 1. BPSK → 2. QPSK → 3. M-PSK sim (you are here) → 4. QAM sim → 5. EVM Tools: BER vs Eb/N0 · EVM → SNR · Eb/N0 ↔ SNR Side reading for Digital Modulations 101. Use this comparison after QPSK … Read more

BPSK modulation and demodulation — constellation, decision rule, and BER intuition

BPSK maps bits to opposite phases; coherent demodulation, decision rule, and links to the Q-function BER formula and interactive calculator.