Plot FFT using Python – FFT of sine wave & cosine wave

Key focus: Learn how to plot FFT of sine wave and cosine wave using Python. Understand FFTshift. Plot one-sided, double-sided and normalized spectrum using FFT. Introduction Numerous texts are available to explain the basics of Discrete Fourier Transform and its very efficient implementation – Fast Fourier Transform (FFT).  Often we are confronted with the need … Read more

Introduction to Signal Processing for Machine Learning

Key focus: Fundamentals of signal processing for machine learning. Speaker identification is taken as an example for introducing supervised learning concepts. Signal Processing A signal, mathematically a function, is a mechanism for conveying information. Audio, image, electrocardiograph (ECG) signal, radar signals, stock price movements, electrical current/voltages etc.., are some of the examples. Signal processing is … Read more

Fibonacci sequence in python – a short tutorial

Key focus: Learn to generate Fibonacci sequence using Python. Python 3 is used in this tutorial. Fibonacci series is a sequence of numbers 0,1,1,2,3,5,8,13,… Let’s digress a bit from signal processing and brush up basic some concepts in python programming. Why python? Python is an incredibly versatile programming language that is used for everything from … Read more

Maximum Ratio Combining (MRC) architecture simulation

In the previous post on Single Input Multiple Output (SIMO) models for receive diversity, various receiver diversity techniques were outlined. One of them is maximum ratio combining, the focus of the topic here. Channel model Assuming flat slow fading channel, the received signal model is given by where, is the channel impulse response, is the … Read more

Selection Combining – architecture simulation

In the previous post on Single Input Multiple Output (SIMO) models for receive diversity, various receiver diversity techniques were outlined. One of them is selection combining, the focus of the topic here. Channel model Assuming flat slow fading channel, the received signal model is given by where, is the channel impulse response, is the received … Read more

Receive diversity schemes – channel models

SIMO channel configuration is characterized by 1 transmit antenna and multiple receiver antennas (Figure 1). SIMO configuration is used to provide receive diversity, where the same information is received across independent fading channels to combat fading. When multiple copies of the same data are received across independently fading channels, the amount of fade suffered by each … Read more

Generate color noise using Auto-Regressive (AR) model

Key focus: Learn how to generate color noise using auto regressive (AR) model. Apply Yule Walker equations for generating power law noises: pink noise, Brownian noise. Auto-Regressive (AR) model An uncorrelated Gaussian random sequence can be transformed into a correlated Gaussian random sequence using an AR time-series model. If a time series random sequence is … Read more

Shannon limit on power efficiency – demystified

The Shannon power efficiency limit is the limit of a band-limited system irrespective of modulation or coding scheme. It informs us the minimum required energy per bit required at the transmitter for reliable communication. It is also called unconstrained Shannon power efficiency Limit. If we select a particular modulation scheme or an encoding scheme, we … Read more

Generating colored noise with Jakes PSD: Spectral factorization

The aim of this article is to demonstrate the application of spectral factorization method in generating colored noise having Jakes power spectral density. Before continuing, I urge the reader to go through this post: Introduction to generating correlated Gaussian sequences. In spectral factorization method, a filter is designed using the desired frequency domain characteristics (like … Read more

Generate correlated Gaussian sequence (colored noise)

Key focus: Colored noise sequence (a.k.a correlated Gaussian sequence), is a non-white random sequence, with non-constant power spectral density across frequencies. Introduction Speaking of Gaussian random sequences such as Gaussian noise, we generally think that the power spectral density (PSD) of such Gaussian sequences is flat.We should understand that the PSD of a Gausssian sequence … Read more