Generate AWGN in Matlab/Octave without awgn() — variance from SNR
Create AWGN manually: set noise variance from SNR or Eb/N0, generate real/complex noise, and verify power — links to BER tools.
Signal Processing for Communication Systems
Create AWGN manually: set noise variance from SNR or Eb/N0, generate real/complex noise, and verify power — links to BER tools.
In the previous post, a method for generating two sequences of correlated random variables was discussed. Generation of multiple sequences of correlated random variables, given a correlation matrix is discussed here. Correlation Matrix Correlation matrix defines correlation among N variables. It is a symmetric $latex N \times N $ matrix with the $latex (ij)^{th} $ … Read more
This post contains interactive python code which you can execute in the browser itself. If squares of k independent standard normal random variables are added, it gives rise to central Chi-squared distribution with ‘k’ degrees of freedom. Instead, if squares of k independent normal random variables with non-zero means are added, it gives rise to … Read more
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
Cholesky decomposition is an efficient method for inversion of symmetric positive-definite matrices. Let’s demonstrate the method in Python and Matlab. Cholesky factor Any $n \times n$ symmetric positive definite matrix $A $ can be factored as $$A=LL^T $$ where $L$ is $n \times n$ lower triangular matrix. The lower triangular matrix $L$ is often called … Read more
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 Also on the Matlab → Python path (lesson 4 of 4): … Read more
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
QPSK maps two bits per symbol on four phases; how modulation/demodulation work, constellation geometry, and links to BER tools and BPSK/M-PSK.
BPSK maps bits to opposite phases; coherent demodulation, decision rule, and links to the Q-function BER formula and interactive calculator.
Fading Lab path: Fading models → Young → Clarke SOS → BPSK BER Rayleigh → MRC Keyfocus: Fading channel models for simulation. Learn how fading channels can be modeled as FIR filters for simplified modulation & detection. Rayleigh/Rician fading. Introduction A fading channel is a wireless communication channel in which the quality of the … Read more