Skip to main content

How Windowing Affects Your Periodogram


The windowed periodogram is a widely used technique for estimating the Power Spectral Density (PSD) of a signal. It enhances the classical periodogram by mitigating spectral leakage through the application of a windowing function. This technique is essential in signal processing for accurate frequency-domain analysis.

 

Power Spectral Density (PSD)

The PSD characterizes how the power of a signal is distributed across different frequency components. For a discrete-time signal, the PSD is defined as the Fourier Transform of the signal’s autocorrelation function:

Sx(f) = FT{Rx(Ï„)}

Here, Rx(Ï„)}is the autocorrelation function.

FT : Fourier Transform

 

Classical Periodogram

The periodogram is a non-parametric PSD estimation method based on the Discrete Fourier Transform (DFT):

Px(f) = \(\frac{1}{N}\) X(f)2

Here:

  • X(f): DFT of the signal x(n)

  • N: Signal length

However, the classical periodogram suffers from spectral leakage due to abrupt truncation of the signal.

 

Windowing to Mitigate Spectral Leakage

Spectral leakage can be minimized by applying a window function to the signal before computing the DFT. The resulting PSD estimate is called the windowed periodogram:

Pw(f) = \(\frac{1}{NW}\) Xw(f)2

Here:

  • w(n): Window function

  • W: Window normalization factor

Common Window Functions

  • Rectangular Window: Equivalent to the classical periodogram.

w[n]=1, 0≤n≤N−1

w[n]=0, otherwise

Where, N is the window length

  • Hamming Window: Reduces sidelobe amplitudes, improving frequency resolution.

w[n]=0.5(1−cos(\(\frac{\ 2\pi n}{N - 1}\ \))), 0≤n≤N−1

Where, N is the window length

  • Hanning Window: Similar to Hamming but with less sidelobe attenuation.

w[n]=0.54 – 0.46cos(\(\frac{\ 2\pi n}{N - 1}\ \)), 0≤n≤N−1

Where, N is the window length

  • Blackman Window: Offers even greater sidelobe suppression but at the cost of wider main lobes.

w[n]=0.42 – 0.5(cos(\(\frac{\ 2\pi n}{N - 1}\ \)) + 0.08(cos(\(\frac{\ 4\pi n}{N - 1}\ \)), 0≤n≤N−1

Where, N is the window length

 

Implementation Steps

  1. Segment the Signal: Divide the signal into overlapping or non-overlapping segments of length N.

  2. Apply a Window Function: Multiply each segment by a window function w(n).

  3. Compute the DFT: Calculate the DFT of the windowed segments.

  4. Average the Periodograms: For overlapping segments, average the periodograms to reduce variance.

     

Properties of the Windowed Periodogram

  • Bias: Windowing introduces bias in the PSD estimate as the window modifies the signal spectrum.

  • Variance: Averaging periodograms (Welch method) reduces variance but decreases frequency resolution.

  • Trade-Off: The choice of window affects the trade-off between spectral resolution and leakage suppression.

     

    MATLAB Code

    clc;
    clear;
    close all;

    fs = 48000;
    t = 0:1/fs:0.02;
    f_ping = 12000;

    % Base sine wave
    sine_wave = sin(2*pi*f_ping*t)';

    % Apply windows
    w_rect = ones(size(sine_wave));
    w_hann = hann(length(sine_wave));
    w_hamming = hamming(length(sine_wave));
    w_blackman = blackman(length(sine_wave));

    % Windowed signals
    s_rect = sine_wave .* w_rect;
    s_hann = sine_wave .* w_hann;
    s_hamming = sine_wave .* w_hamming;
    s_blackman = sine_wave .* w_blackman;

    % FFT
    Nfft = 4096;
    f = fs*(0:Nfft/2-1)/Nfft;

    % Function to compute and normalize spectrum
    get_norm_fft = @(sig) abs(fft(sig, Nfft))/max(abs(fft(sig, Nfft)));

    S_rect = get_norm_fft(s_rect);
    S_hann = get_norm_fft(s_hann);
    S_hamming = get_norm_fft(s_hamming);
    S_blackman = get_norm_fft(s_blackman);

    % Mainlobe power (±2 bins around peak)
    mainlobe_bins = 2;

    % Function to compute power ratio
    compute_power_ratio = @(S) ...
    deal( ...
    sum(S.^2), ... % Total power
    max(1, find(S == max(S), 1)), ... % Peak bin
    @(peak_bin) sum(S(max(1,peak_bin-mainlobe_bins):min(Nfft,peak_bin+mainlobe_bins)).^2), ...
    @(total, main) 10*log10((total-main)/main) ... % dB sidelobe/mainlobe ratio
    );

    % Calculate ratios
    [total_r, peak_r, get_main_r, get_slr_r] = compute_power_ratio(S_rect);
    main_r = get_main_r(peak_r); slr_r = get_slr_r(total_r, main_r);

    [total_h, peak_h, get_main_h, get_slr_h] = compute_power_ratio(S_hann);
    main_h = get_main_h(peak_h); slr_h = get_slr_h(total_h, main_h);

    [total_ham, peak_ham, get_main_ham, get_slr_ham] = compute_power_ratio(S_hamming);
    main_ham = get_main_ham(peak_ham); slr_ham = get_slr_ham(total_ham, main_ham);

    [total_b, peak_b, get_main_b, get_slr_b] = compute_power_ratio(S_blackman);
    main_b = get_main_b(peak_b); slr_b = get_slr_b(total_b, main_b);

    % Display Results
    fprintf('Window | Mainlobe Power | Sidelobe Power | Sidelobe/Main (dB)\n');
    fprintf('------------|----------------|----------------|--------------------\n');
    fprintf('Rectangular | %14.4f | %14.4f | %18.2f\n', main_r, total_r - main_r, slr_r);
    fprintf('Hann | %14.4f | %14.4f | %18.2f\n', main_h, total_h - main_h, slr_h);
    fprintf('Hamming | %14.4f | %14.4f | %18.2f\n', main_ham, total_ham - main_ham, slr_ham);
    fprintf('Blackman | %14.4f | %14.4f | %18.2f\n', main_b, total_b - main_b, slr_b);

    % Plot
    figure;
    plot(f, 20*log10(S_rect(1:Nfft/2)), 'k'); hold on;
    plot(f, 20*log10(S_hann(1:Nfft/2)), 'r');
    plot(f, 20*log10(S_hamming(1:Nfft/2)), 'g');
    plot(f, 20*log10(S_blackman(1:Nfft/2)), 'b');
    legend('Rectangular','Hann','Hamming','Blackman');
    xlim([f_ping-3000 f_ping+3000]); ylim([-100 5]);
    xlabel('Frequency (Hz)'); ylabel('Magnitude (dB)');
    title('Windowing Effects on Spectrum');
    grid on;

    Output 

    Window      | Mainlobe Power | Sidelobe Power | Sidelobe/Main (dB)
    ------------|----------------|----------------|--------------------
    Rectangular |         3.5771 |         4.9562 |               1.42
    Hann        |         4.3630 |         8.4370 |               2.86
    Hamming     |         4.2367 |         7.3928 |               2.42
    Blackman    |         4.4940 |        10.2410 |               3.58

     

     








Applications

  • Signal Processing: Analyzing frequency content of time-varying signals.

  • Communications: Evaluating spectrum occupancy in wireless systems.

  • Bioinformatics: Investigating periodicities in biological signals (e.g., EEG, ECG).

  • Seismology: Characterizing seismic wave frequencies.

     

    Further Reading

    1. Periodogram in MATLAB

Try Interactive Online Simulator to see the Effect



Contact Us

Name

Email *

Message *

Popular Posts

UGC NET Electronic Science Previous Year Question Papers with Solutions

Download Papers and Solutions Exam Pattern Preparation Tips FAQs More Home / Engineering & Other Exams / UGC NET 2026 PYQ 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2026 - Question Paper Download PDF June 202...

MATLAB Code for Constellation Diagram of QAM configurations such as 4, 8, 16, 32, 64, 128, and 256-QAM

📘 Overview of QAM 🧮 4-QAM MATLAB 🧮 16-QAM MATLAB 🚀 Online Simulator 📂 Other Topics on Constellation Diagrams... ▼ 🧮 MATLAB Code for 4-QAM 🧮 MATLAB Code for 16-QAM 🧮 MATLAB Code for m-ary QAM 🧮 Simulator for m-ary PSK 🧮 Simulator for m-ary QAM 🧮 Overview of Energy per Bit (Eb / N0) 🧮 Simulator for ASK, FSK, and PSK Overview of QAM One of the best-performing modulation techniques is QAM [↗] . Here, we modulate the symbols by varying the carrier signal's amplitude and phase in response to the variation in the message signal (or voltage variation). So, we may say that QAM is a combination of phase and amplitude modulation. Additionally, it performs better than ASK or PSK [↗] . In fact, any constellation for any type of modulatio...

Coherent vs. Non-Coherent Demodulation

  For demodulation In general: 1. Synchronous (coherent) demodulation Receiver generates a local carrier/oscillator . It combines/multiplies the received signal with that carrier. Then a filter extracts the message. Received signal ↓ × Local oscillator ↓ Low-pass filter ↓ Message So yes, carrier multiplication is a common implementation of synchronous demodulation . 2. Asynchronous (non-coherent) demodulation Receiver doesn't need a phase-synchronized local carrier . It uses properties of the received signal itself to recover the information. For ASK , an envelope detector is the classic example: ASK signal ↓ Diode + RC ↓ Envelope ↓ Comparator ↓ Data Modulation Synchronous demodulation Non-coherent/asynchronous demodulation ASK/OOK Local carrier + multiplier Envelope detector AM Product detector Envelope detector FSK Coherent correlator/mixer Frequency discriminator, filters, etc. PSK Local synchronized carrier + multiplier Differential/n...

ADC Conversion Time Comparison: Flash, SAR, Ramp & Dual-Slope ADC

ADC Conversion Time Comparison: Flash, SAR, Ramp & Dual-Slope ADC ADC Conversion Time: Flash, Digital Ramp, SAR and Dual-Slope ADC Analog-to-digital converters (ADCs) convert continuous analog signals into digital values. Different ADC architectures require different amounts of time to complete this conversion. This guide explains the working principles, conversion-time formulas, and differences between Flash, Digital Ramp, Successive Approximation, and Dual-Slope ADCs. Table of Contents Flash ADC conversion time Digital Ramp ADC conversion time Successive Approximation ADC conversion time Dual-Slope ADC conversion time ADC conv...

(Filters) Free MATLAB alternative for signal analysis

Advanced Signal Filters Upload CSV (1st Col) or Audio (WAV, MP3, etc.) Generate Messy Signal (20Hz + 50Hz + 150Hz) No Operation FFT (Spectrum) Amplitude Modulation (AM) Double Sideband Supressed Carrier (DSBSC) Pulse Amplitude Modulation (PAM) Flat Top PAM Filters - LPF, HPF, BPF, Notch Principal Component Analysis (PCA) Cross Spectrum Filter Type: Signal Cleaner ...

OFDM Symbols and Subcarriers Explained

This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission. Step 1: Modulation First, modulate the input bitstream. For example, with 16-QAM , each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols: s0, s1, s2, s3, s4, s5, …, s63 Step 2: Mapping Symbols to Subcarriers Assume N sub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier): Mapping (example) OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7 OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15 … OFDM sym...

CMOS Logic Gates: Inverter, NAND, and NOR

CMOS Logic Gates: Inverter, NAND, and NOR Complementary metal–oxide–semiconductor (CMOS) technology forms the backbone of modern digital IC design. Patented by Frank Wanlass in 1963 ( US patent 3,356,858 ), CMOS enables low-power, high-speed, and noise-immune logic circuits. CMOS gates, including inverters, NAND, and NOR, are widely used in both large-scale and small-scale integrated circuits due to their efficiency and versatility. CMOS Inverter A CMOS inverter consists of a complementary pair of PMOS and NMOS transistors. The PMOS transistor connects to the supply voltage V DD , while the NMOS connects to ground. The input voltage V IN controls both gates, and the output voltage V OUT is taken from the connected drains. CMOS inverters are highly energy-efficient and produce minimal heat due to their comple...

Flat vs Frequency Selective Online Simulator

Flat vs Frequency Selective Online Simulator Channel Type Without Fading Flat Fading Multipaths Nakagami m SNR(dB) Run Simulation Input Signal Signal After Fading Constellation Diagram BER vs SNR Explore Advanced Flat vs Frequency-Selective Fading Simulator Want to see these equations in action? Visualize it. Launch Simulator Tool Flat Fading and Frequency-Selective Fading Effects of Multipath Components and the Nakagami-m Parameter 1. Flat Fading Flat fading occurs when the signal bandwidth is smaller than the channel's coherence bandwidth, meaning that all frequency components of the transmitted signal experience approximately the same fading. It is typically associated with narrowband signals, where the multipath delay spread is small relative to the symbol duration. ...