AutoCorrelation (Correlogram) and persistence – Time series analysis

The agenda for the subsequent series of articles is to introduce the idea of autocorrelation, AutoCorrelation Function (ACF), Partial AutoCorrelation Function (PACF) , using ACF and PACF in system identification. Introduction Given time series data (stock market data, sunspot numbers over a period of years, signal samples received over a communication channel etc.,), successive values … Read more

Yule Walker Estimation and simulation in Matlab

If a time series data is assumed to be following an Auto-Regressive (\(AR(N)\)) model of given form, the natural tendency is to estimate the model parameters \(a_1,a_2, \cdots, a_N\). Least squares method can be applied here to estimate the model parameters but the computations become cumbersome as the order \(N\) increases. Fortunately, the AR model … Read more

Methods to compute linear convolution

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

White noise in Matlab — generate, analyze, and measure power

How to simulate white noise in Matlab, check spectrum and power, and relate AWGN variance to SNR — with links to AWGN generation and BER tools.

Symbol Timing Recovery for QPSK (digital modulations)

Digital Modulations Lab path:BPSK → QPSK → M-PSK simulation → QPSK symbol timing → π/2-BPSK (5G NR)Tools: BER vs Eb/N0 · EVM → SNR · OFDM CP overhead The goal of timing recovery is to estimate and correct the sampling instants and phase at the receiver, such that it allows the receiver to decode the … Read more

Natural Binary Codes and Gray Codes

In a given communication system, we always want to send data that represent real world data representing some physical quantity (be it speech, temperature, etc..,) .The real world physical quantity exist in analog domain and it becomes imperative to convert it to digital domain if we want to send it via a digital communication system. … Read more

Theoretical BER using Matlab – BERTOOL

When simulating digital modulations in Matlab, it is useful to verify the simulated BER performance curves against theoretical BER curves.Matlab has an inbuilt visualization tool, ‘BERTOOL’, for this purpose. Matlab’s BERTOOL supports 6 types of digital modulations over 3 types of channel for plotting theoretical BER. The six supported modulations are PSK,DPSK,OQPSK,PAM,QAM,FSK and the three … Read more

Tips & Tricks : Indexing in Matlab

Let’s review indexing techniques in Matlab: Indexing one dimensional array, two dimensional array, logical indexing, reversiong a vector – are covered. Consider a sample vector in Matlab. Index with single value Index with range of values Select a range of elements using ‘:’ operator. Example: Select elements with index ranging from 1 to 5. Making … Read more

Cholesky decomposition: Python & Matlab

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

M-PSK simulation — Matlab and Python BER curves for higher-order phase shift keying

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