Skip to main content

Periodogram in MATLAB


Power Spectral Density Estimation Using the Periodogram

Step 1: Signal Representation

Let the signal be x[n], where:

  • n = 0, 1, ..., N-1 (discrete-time indices),
  • N is the total number of samples.

Step 2: Compute the Discrete-Time Fourier Transform (DTFT)

The DTFT of x[n] is:

X(f) = ∑ x[n] e-j2Ï€fn

For practical computation, the Discrete Fourier Transform (DFT) is used:

X[k] = ∑ x[n] e-j(2Ï€/N)kn, k = 0, 1, ..., N-1

  • k represents discrete frequency bins,
  • f_k = k/N * f_s, where f_s is the sampling frequency.

Step 3: Compute Power Spectral Density (PSD)

The periodogram estimates the PSD as:

S_x(f_k) = (1/N) |X[k]|²

  • S_x(f_k) represents the power of the signal at frequency f_k.
  • The factor 1/N normalizes the power by the signal length.

Step 4: Convert to Decibels (Optional)

For visualization, convert PSD to decibels (dB):

S_xdB(f_k) = 10 log₁₀(S_x(f_k))

Practical Notes

  • Frequency Resolution: Depends on the signal duration T = N / f_s. Higher N gives finer frequency resolution.
  • Windowing (Optional): Use a window function (e.g., Hamming, Hann) to reduce spectral leakage: x'[n] = x[n] * w[n].
  • Frequency Range: PSD spans frequencies:
    • f_k = k/N * f_s for positive frequencies.
    • f_k = -(N-k)/N * f_s for negative frequencies.

MATLAB Code


clc;
clear;
close all;

% Define signal parameters
N = 256; % Number of samples
fs = 1000; % Sampling frequency in Hz
t = (0:N-1)/fs; % Time vector

% Generate a sample signal (sum of two sinusoids)
f1 = 50; % Frequency of first sinusoid in Hz
f2 = 120; % Frequency of second sinusoid in Hz
x = sin(2*pi*f1*t) + 0.5*sin(2*pi*f2*t) + randn(1, N)*0.1; % Signal with noise

% Compute DFT of the signal
X = fft(x, N);

% Calculate the periodogram
Pxx = (1/N) * abs(X).^2;

% Generate frequency vector
f = (0:N-1)*(fs/N);

% Keep only the positive frequencies (up to Nyquist frequency)
Pxx = Pxx(1:N/2+1);
f = f(1:N/2+1);

% Plot the periodogram
figure;
plot(f, 10*log10(Pxx), 'LineWidth', 1.5);
xlabel('Frequency (Hz)');
ylabel('Power/Frequency (dB/Hz)');
title('Periodogram');
grid on;

    

Output

Periodogram output showing power spectral density versus frequency

Further Reading

  1. Spectral Estimation Methods in MATLAB: Periodogram, Correlogram, Bartlett, Blackman-Tukey, and Welch Methods
  2. Spectral Estimation Methods (Theory)
  3. How Windowing Affects Your Spectrum
  4. Periodogram and Windowed Periododgram in details
  5. Correlogram in MATLAB
  6. Bartlett Method
  7. Welch Method


Contact Us

Name

Email *

Message *

Popular Posts

Online Simulator for ASK, FSK, and PSK Signal Generation

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. 📡 ASK Simulator 📶 FSK Simulator 🎚️ BPSK Simulator 📚 More Topics ASK Modulator FSK Modulator BPSK Modulator Demodulation More Topics 1. ASK (Ampli...

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 2025 - Question Paper Download PDF June 2025 - Sol...

DFTs-OFDM vs OFDM: Why DFT-Spread OFDM Reduces PAPR Effectively (with MATLAB Code)

Understanding PAPR in DFT-spread OFDM vs. Standard OFDM In modern wireless communications like 4G LTE and 5G NR, managing the Peak-to-Average Power Ratio (PAPR) is critical for hardware efficiency. While OFDM is the gold standard for high-speed data, its high PAPR poses significant challenges for mobile devices. This is where DFTs-OFDM (also known as SC-FDMA) comes in. DFT-spread OFDM (DFTs-OFDM) has lower Peak-to-Average Power Ratio (PAPR) because it "spreads" the data in the frequency domain before applying IFFT, making the time-domain signal behave more like a single-carrier signal rather than a multi-carrier one like OFDM. Deeper Explanation: Aspect OFDM DFTs-OFDM Signal Type Multi-carrier Single-carrier-like Process IFFT of QAM directly QAM → DFT → IFFT PAPR Level High (due to many...

Constellation Diagrams of ASK, PSK, and FSK (with MATLAB Code + Simulator)

Constellation Diagrams: ASK, FSK, and PSK Comprehensive guide to signal space representation, including interactive simulators and MATLAB implementations. 📘 Overview 🧮 Simulator ⚖️ Theory 📈 Q-function 📚 Resources BASK Modulation Transmits one of two signals: 0 or $\sqrt{E_b}$, representing binary 0 and 1. Simple but sensitive to noise. BFSK Modulation Transmits one of two signals: $\sqrt{E_b}$ on the Y-axis or $\sqrt{E_b}$ on the X-axis. These are orthogonal signals. BPSK Modulation Transmits $+\sqrt{E_b}$ or $-\sqrt{E_b}$ (antipodal signaling). Most efficient binary scheme. ...

Calculation of SNR from FFT bins in MATLAB

📘 Overview 💻 FFT Bin Method 💻 Kaiser Window 📚 Further Reading SNR Estimation Overview In digital signal processing, estimating the Signal-to-Noise Ratio (SNR) accurately is crucial. Below, we demonstrate how to calculate SNR from periodogram and FFT bins using the Kaiser Window . The beta (β) parameter is the key—it allows you to control the trade-off between main-lobe width and side-lobe levels for precise spectral analysis. 1 Define Sampling rate and Time vector 2 Compute FFT and Periodogram PSD 3 Identify Signal Bin and Frequency resolution 4 Segment Signal Power from Noise floor 5 Logarithmic calculation of SNR in dB Method 1: Estimation from FFT Bins This approach uses a Hamming window to estimate SNR directly from the spectral bins. MATLAB Source Code Copy Code clc...

Advanced M-ary Modulation Simulator: Constellation, min dist, Efficiency, SER, EVM (RMS)

Advanced M-ary Communication Lab Analytical & Statistical Performance of Digital Modulation Theoretical Probability of Error (\(P_s\)) \[ P_s = Q\left(\sqrt{\frac{2 E_b}{N_0}}\right) \] Modulation (M-ary) BPSK (M=2) QPSK (M=4) 8-PSK (M=8) 16-QAM (M=16) 64-QAM (M=64) 256-QAM (M=256) SNR (\(E_b/N_0\)): 12 dB Efficiency 2 bps/Hz Min Dist (\(d_{min}\)) 1.41 Symbol Error 1.2e-5 EVM (RMS) 0.0% Constellation Diagram Noise PDF & Decision Tail 1. Geometric Mapping ...

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...