DSP Algorithms for RF Systems

New Book!

The third edition of DSP for Beginners: Simple Explanations for Complex Numbers! Includes a new chapter on sampling.

Windowing Function Gain Normalization
January 1, 2025

Table of Contents

Introduction

This blog describes how to normalize a windowing function to have unit average power. Windowing functions are useful in spectral analysis but need to be applied correctly without distortion of the power of the underlying time domain signal.

Related Blogs:

Windowing Function in Time Domain

Windowing functions shape the impulse response of a signal prior to computing the discrete-fourier transform (DFT) or fast-Fourier transform (FFT) and therefore produce beneficial effects for spectral analysis and power spectral density (PSD) estimation. Figure 1 shows an example Blackman-harris windowing function in the time domain.

The window was created with SciPy’s windows function:

import scipy.signal
win = scipy.signal.windows.blackmanharris(256)
Figure 1: Blackman-harris window in the time domain.
Figure 1: Blackman-harris window in the time domain.

Normalizing the Window Power

Note how the windowing function amplitude goes to zero at the beginning and end of the windowing function impulse response. While the shaping of the impulse response has benefits, it also changes the power of the signal which needs to be accounted for.

The power P of the window w[n] is calculated according to:

(1)   \begin{equation*}P = \frac{1}{N} \sum_{n=0}^{N-1} |w[n]|^2\end{equation*}

and the normalized window is therefore:

(2)   \begin{equation*}w_{norm}[n] = \frac{1}{\sqrt{P}} w[n]\end{equation*}

Equations (1) and (2) can be implemented in Python by:

import numpy as np
P = np.mean(np.abs(w)**2)
wnorm = w/np.sqrt(P)

Figure 2 demonstrates the impulse response for the Blackman-harris window along side the normalized version. Note how normalizing the window to unit power increases the amplitude levels.

Figure 2: Normalizing the window to unit power increases the amplitude levels.
Figure 2: Normalizing the window to unit power increases the amplitude levels.

Window Example with a Complex Sinusoid

Figure 3 shows a sinusoid in the time domain along side a windowed version and a version in which the window has been normalized to unit energy. Note that in the middle plot the windowing function reduces the overall amount of signal present since the tails are drive to zero amplitude, reducing the power of the windowed signal. Normalizing the window to unit power therefore counteracts the reduction in power coming from the tails of the windowing function and increasing the amplitude levels throughout.

Figure 3: Windowing functions change the power of a signal.
Figure 3: Windowing functions change the power of a signal.

Frequency Domain Impacts of Normalization

The impact to a signal’s power due to averaging has an impact on the frequency response as well. Figure 4 plots a Blackman-harris window with and without a power normalization. Note how the normalized window increases the magnitude level of the frequency response.

Figure 4: Normalizing the window to have unit power increases the magnitude level of the window.
Figure 4: Normalizing the window to have unit power increases the magnitude level of the window.

Figure 5 shows a similar result with the magnitude of the frequency response for a complex sinusoid, where the power level is increased due to the normalization of the window.

Also note how the application of the window in both cases reduces the sidelobes when comparing against the frequency response without the Blackman-harris window. The peak power for the frequency response  without the window is lower due to the fact that the total energy is spread across the many sidelobes. Alternatively, the normalized window produces a more reliable higher peak power estimate because the filtering reduces the sidelobe artifacts.

Figure 5: The magnitude of the frequency response for a complex sinusoid and Blackman-harris window with and without power normalization.
Figure 5: The magnitude of the frequency response for a complex sinusoid and Blackman-harris window with and without power normalization.

Conclusion

This blog demonstrated how to compute a windowing function with unit average power, and describes that it is desirable because it preserves the underlying energy of the time domain signal.

Related Blogs:

Leave a Reply