Envelope and instantaneous frequency from the Hilbert transform
Extract amplitude envelope, instantaneous phase, and instantaneous frequency via the analytic signal — practical Hilbert/FFT notes.
Signal Processing for Communication Systems
Extract amplitude envelope, instantaneous phase, and instantaneous frequency via the analytic signal — practical Hilbert/FFT notes.
How the analytic signal and Hilbert transform give envelope and instantaneous phase/frequency, FFT implementation tips, and links to the envelope follow-on.
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.