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.

This article is part of the book
Wireless Communication Systems in Matlab (second edition), ISBN: 979-8648350779 available in ebook (PDF) format and Paperback (hardcopy) format.

In spectral factorization method, a filter is designed using the desired frequency domain characteristics (like PSD) to transform an uncorrelated Gaussian sequence x[n] into a correlated sequence y[n]. In the model shown in Figure 1, the input to the LTI system is a white noise whose amplitude follows Gaussian distribution with zero mean and variance \sigma_x^2 and the power spectral density (PSD) of the white noise x[n] is a constant across all frequencies.

S_{xx}(f ) = \sigma_x^2, \quad \quad \forall f \quad \quad \quad (1)

The white noise sequence x[n] drives the LTI system with frequency response H(f) producing the signal of interest y[n]. The PSD of the output process is therefore

S_{yy}(f) = S_{xx}(f) |H(f)|^2 = \sigma_x^2 |H(f)|^2 \quad \quad \quad (2)

Relationship among various power spectral densities in a filtering process
Figure 1: Relationship among various power spectral densities in a filtering process

If the desired power spectral density S_{yy}(f) of the colored noise sequence y[n] is given, assuming \sigma_x^2=1, the impulse response h[n] of the LTI filter can be found by taking the inverse Fourier transform of the frequency response H(f)

H(f) = \sqrt{S_{yy}(f)} \quad \quad \quad (3)

Once, the impulse response h[n] of the filter is obtained, the colored noise sequence can be produced by driving the filter with a zero-mean white noise sequence of unit variance.

Example: Generating colored noise with Jakes PSD

For example, we wish to generate a Gaussian noise sequence whose power spectral density follows the normalized Jakes power spectral density (see section 11.3.2 in the book) given by

S_{yy}(f) = \dfrac{1}{\pi f_{max} \sqrt{1- \left(f/f_{max}\right)^2}}, \quad |f| \leq f_{max} \quad (4)

Applying spectral factorization method, the frequency response of the desired filter is

H(f) = \sqrt{S_{yy}(f)} = \sqrt{\pi f_{max}} \left[1- \left(f/f_{max}\right)^2\right]^{-1/4} \quad (5)

The impulse response of the filter is [1]

h[n] = C f_{max} x^{-1/4} J_{1/4} (x) , \quad \quad x = 2 \pi f_{max} |n T_s| \quad (6)

where, J_{1/4}(.) is the fractional Bessel function of the first kind, T_s is the sampling interval for implementing the digital filter and C is a constant. The impulse response of the filter can be normalized by dividing h[n] by C f_{max}.

h_{norm}[n] = x^{-1/4} J_{1/4} (x), \quad \quad x = 2 \pi f_{max} |n T_s| \quad (7)

The filter h[n] can be implemented as a finite impulse response (FIR) filter structure. However, the FIR implementation requires that the impulse response h[n] be truncated to a reasonable length. Such truncation leads to ringing effects due to Gibbs phenomenon. To avoid distortions due to truncation, the filter impulse response h[n] is usually windowed using a window function such as Hamming window.

h_{w}[n] = h_{norm}[n] w_{H}[n] \quad \quad (8)

where, the Hamming window is defined as

w_{H}[n] = 0.54-0.46 \; cos(2 \pi n /N) \quad \quad (9)

The function given in the book in section 2.6.1 implements a windowed Jakes filter using the aforementioned equations. The impulse response and the spectral characteristics of the filter are plotted in Figure 2.

Impulse response & spectrum of windowed Jakes filter
Figure 2: Impulse response & spectrum of windowed Jakes filter ( fmax = 10Hz; Ts = 0:01s; N = 512)

A white noise can be transformed into colored noise sequence with Jakes PSD, by processing the white noise through the implemented filter. The script (given in the book in section 2.6.1)  illustrates this concept by transforming a white noise sequence into a colored noise sequence. The simulated noise samples and its PSD are plotted in Figure 3.

Simulating colored noise with Jakes PSD
Figure 3: Simulating colored noise with Jakes PSD

Rate this article: PoorBelow averageAverageGoodExcellent (3 votes, average: 5.00 out of 5)

Reference

[1] Jeruchim et., al, Simulation of communication systems – modeling, methodology, and techniques, second edition, Kluwer academic publishers, 2002, ISBN: 0306462672.↗

Books by the author

Wireless Communication Systems in Matlab
Wireless Communication Systems in Matlab
Second Edition(PDF)

PoorBelow averageAverageGoodExcellent (180 votes, average: 3.62 out of 5)

Digital modulations using Python
Digital Modulations using Python
(PDF ebook)

PoorBelow averageAverageGoodExcellent (134 votes, average: 3.56 out of 5)

digital_modulations_using_matlab_book_cover
Digital Modulations using Matlab
(PDF ebook)

PoorBelow averageAverageGoodExcellent (136 votes, average: 3.63 out of 5)

Hand-picked Best books on Communication Engineering
Best books on Signal Processing

Topics in this chapter

Random Variables - Simulating Probabilistic Systems
● Introduction
Plotting the estimated PDF
● Univariate random variables
 □ Uniform random variable
 □ Bernoulli random variable
 □ Binomial random variable
 □ Exponential random variable
 □ Poisson process
 □ Gaussian random variable
 □ Chi-squared random variable
 □ Non-central Chi-Squared random variable
 □ Chi distributed random variable
 □ Rayleigh random variable
 □ Ricean random variable
 □ Nakagami-m distributed random variable
Central limit theorem - a demonstration
● Generating correlated random variables
 □ Generating two sequences of correlated random variables
 □ Generating multiple sequences of correlated random variables using Cholesky decomposition
Generating correlated Gaussian sequences
 □ Spectral factorization method
 □ Auto-Regressive (AR) model

Post your valuable comments !!!