Skip to main content

Add AWGN Directly to PSD in MATLAB

 

In general, we compute the power spectral density (PSD) of a noisy periodic signal. However, in this article, you will learn how to add noise directly to the PSD of a signal. This process is approximately equivalent to adding noise to a clean signal and then computing its PSD. Here, I will discuss both the theoretical background and the MATLAB implementation.

Steps

1. First, compute the Fast Fourier Transform (FFT) of the clean signal. Then, calculate the Power Spectral Density (PSD) from the FFT.

2. In our case, ensure that the PSD is in the linear scale. Next, compute the noise power from the given Signal-to-Noise Ratio (SNR) using:

    noise_power = signal power / linear SNR
    

3. Then, generate Additive White Gaussian Noise (AWGN) using the formula:

    AWGN noise = sqrt(noise_power) * randn
    

      where randn generates a Gaussian-distributed signal with a mean of 0 and a variance of 1.

 

MATLAB Code 

clc; clear; close all;

%% Define Parameters
fs = 1000; % Sampling frequency (Hz)
T = 0.2; % Time period of sine wave (s)
A = 1; % Amplitude
N = 1024; % Number of samples
t = linspace(-0.5, 0.5, N); % Time vector
f_sin = 5; % Frequency of sine wave (Hz)

%% Generate Periodic Sine Wave
sine_wave = A * sin(2 * pi * f_sin * t);

%% Compute PSD using FFT
Xf = fftshift(fft(sine_wave)); % Compute FFT and shift
PSD = abs(Xf).^2 / N; % Compute Power Spectral Density

%% Generate AWGN in Frequency Domain (Method 1)
snr_dB = 20; % SNR in dB
snr_linear = 10^(snr_dB/10); % Convert SNR to linear scale
signal_power = mean(PSD); % Approximate power of the original spectrum
noise_power = signal_power / snr_linear; % Compute noise power
noise_spectrum = sqrt(noise_power) .* (randn(size(PSD)) + 1j*randn(size(PSD))); % AWGN

%% Add AWGN Directly to PSD
noisy_PSD = PSD + abs(noise_spectrum).^2; % Add noise power to PSD

%% Generate AWGN in Time Domain (Method 2)
noise_time = sqrt(noise_power) * randn(size(sine_wave)); % AWGN in time domain
noisy_sine = sine_wave + noise_time; % Add noise to signal

%% Compute PSD of Noisy Sine Wave
Xf_noisy = fftshift(fft(noisy_sine)); % Compute FFT of noisy signal
PSD_noisy = abs(Xf_noisy).^2 / N; % Compute Power Spectral Density

%% Plot Results
freq = linspace(-fs/2, fs/2, N); % Frequency axis

figure;

% Plot Time-Domain Sine Wave
subplot(3,1,1);
plot(t, sine_wave, 'b', 'LineWidth', 1.5); hold on;
plot(t, noisy_sine, 'r', 'LineWidth', 1.2);
xlabel('Time (s)');
ylabel('Amplitude');
title('Sine Wave Before and After AWGN');
legend('Original Sine Wave', 'Noisy Sine Wave');
grid on;

% Plot PSD Comparison (Direct AWGN to PSD)
subplot(3,1,2);
plot(freq, 10*log10(PSD + eps), 'b', 'LineWidth', 1.5); hold on;
plot(freq, 10*log10(noisy_PSD + eps), 'r', 'LineWidth', 1.5);
xlabel('Frequency (Hz)');
ylabel('Power Spectral Density (dB)');
title('AWGN Added Directly to PSD');
legend('Original PSD', 'PSD with Direct AWGN');
grid on;

% Plot PSD Comparison (AWGN in Time Domain)
subplot(3,1,3);
plot(freq, 10*log10(PSD + eps), 'b', 'LineWidth', 1.5); hold on;
plot(freq, 10*log10(PSD_noisy + eps), 'g', 'LineWidth', 1.5);
xlabel('Frequency (Hz)');
ylabel('Power Spectral Density (dB)');
title('PSD: Original vs. PSD from Noisy Sine Wave');
legend('Original PSD', 'PSD from Noisy Signal');
grid on;

Output

 





Copy the MATLAB Code from here 

 

Further Reading 

  1. Periodogram in MATLAB


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

GMSK BER vs SNR (with Simulation)

  GMSK Performance: Why the BER vs. SNR Curve Matters If you’ve ever wondered why GMSK (Gaussian Minimum Shift Keying) became the backbone of the global GSM revolution, the answer lies in its unique balance of spectral efficiency and power performance. But there is no free lunch in engineering. To get that sleek, narrow spectrum, you have to pay a price in Bit Error Rate (BER) . In this guide, we break down the theoretical BER vs. SNR performance of GMSK, the "magic" of the BT product, and how to optimize your link budget for real-world conditions. What is GMSK and Why Should You Care? GMSK is a derivative of MSK (Minimum Shift Keying) that uses a Gaussian pre-modulation filter. This filter "smooths" the phase transitions, significantly reducing sideband power. The result? A constant envelope signal that allows you to use high-efficiency Class-C amplifiers without distorting the signal. This is the secr...

The output voltage V0 (in Volt) for the network given in the Figure is ___

  Find the Output Voltage V o Solve the given circuit using Kirchhoff's Current Law (KCL), Ohm's law, and the supernode method. 1. Given Circuit Parameters Current source 1 mA Resistors 1 kΩ Each resistor Voltage source 6 V Required V o 2. Understand the Circuit The circuit contains a 1 mA current source, four 1 kΩ resistors, and a 6 V source connected between the two midpoint nodes. The output voltage is measured between the top and bottom rails. Reference node Take the bottom rail as ground: 0 V . Let the top rail voltage be V T , and...

What is a Supernode?

  Circuit Analysis What Is a Supernode? A supernode is formed when an ideal voltage source connects two non-reference nodes. It allows us to apply Kirchhoff's Current Law (KCL) to the combined circuit boundary. 1. Understanding a Supernode In nodal analysis, a voltage source between two unknown-voltage nodes makes the current through that source difficult to express directly using Ohm's law. We combine the two nodes and the voltage source into one extended region called a supernode. Key idea Apply KCL around the outer boundary of the supernode, then use the voltage source to write an additional voltage equation. 2. Supernode Circuit Diagram The voltage source connects nodes V L an...

A binary ripple counter is designed to count (0)₁₀ to (64)₁₀. Which of the following is/are the number of flip-flops required ...

  Q. A binary ripple counter is designed to count  (0)₁₀ to (64)₁₀ . Which of the following is/are the number of flip-flops required to design the counter?   (A) 6 (B) 7 (C) 4 (D) 5 Solution A binary ripple counter must count from (0)₁₀ to (64)₁₀ , including both endpoints. Step 1: Calculate the total number of states Since both 0 and 64 are included, add 1 to the difference: N = Last value − First value + 1 N = 64 − 0 + 1 = 65 states The counter visits every integer from 0 through 64: 0, 1, 2, 3, ..., 63, 64 There are 65 distinct states in total. Step 2: Calculate the number of flip-flops Each flip-flop stores one bit. With n flip-flops, the counter can represent 2ⁿ distinct states. 2⁶ = 64 states (not enough) 2⁷ = 128 states (eno...

Parametric Down-Conversion of Photons

  Nonlinear Optics One incoming photon is converted into two lower-energy photons, typically in a nonlinear optical medium. Energy is conserved: E in = E 1 + E 2 E in ​ = E 1 ​ + E 2 ​ . Parametric Down-Conversion A nonlinear optical process in which one pump photon is converted into two lower-energy photons, known as the signal and idler photons. 1 Energy Conservation The energy of the pump photon equals the sum of the energies of the signal and idler photons. \[ \boxed{\hbar\omega_p=\hbar\omega_s+\hbar\omega_i} \] \[ \boxed{\omega_p=\omega_s+\omega_i} \] ωₚ Pump angular frequency ...

SRAM, DRAM, EPROM, MRAM, and DDRAM Explained

Computer Fundamentals Types of Memory and Their Technologies Understand the fundamental relationship between different types of computer memory and the technologies used to implement them. Fundamental Matching Memory type, technology, and key characteristics Memory Type Technology Key Characteristic Cache Memory SRAM Very fast; stores frequently accessed data Main Memory DRAM Holds programs and data currently in use Au...

The cutoff frequency (in GHz) for the dominant TE10 mode of an air-filled rectangular waveguide of ...

  Q. The cutoff frequency (in GHz) for the dominant TE10 mode of an air-filled rectangular waveguide of inner dimension 0.28 inch×0.14 inch is __. (rounded off to two decimal places). Given Information Waveguide dimensions = 0.28 inch × 0.14 inch Wider dimension (a) = 0.28 inch Smaller dimension (b) = 0.14 inch Medium = Air Dominant mode = TE 10 Speed of light (c) = 3 × 10 8 m/s Step 1: Cutoff Frequency Formula The cutoff frequency of a rectangular waveguide is: f c = (c / 2) √[(m/a) 2 + (n/b) 2 ] For the dominant TE 10 mode: m = 1, n = 0 f c = c / 2a Step 2: Convert Inch into Meter We know that 1 inch = 0.0254 meter. a = 0.28 × 0.0254 a = 0.007112 m ...