Skip to main content

MATLAB Code for Rms Delay Spread


RMS delay spread is crucial when you need to know how much the signal is dispersed in time due to multipath propagation, the spread (variance) around the average. In high-data-rate systems like LTE, 5G, or Wi-Fi, even small time dispersions can cause ISI. RMS delay spread is directly related to the amount of ISI in such systems.

RMS Delay Spread [↗]

Delay Spread Calculator



 

The above calculator

  1. Converts Power to Linear Scale: It correctly converts the power values from decibels (dB) to a linear scale.
  2. Calculates Mean Delay: It accurately computes the mean excess delay, which is the first moment of the power delay profile.
  3. Calculates RMS Delay Spread: It correctly calculates the RMS delay spread, defined as the square root of the second central moment of the power delay profile.
 

MATLAB Code 

clc;
clear all;
close all;

% Define a practical channel based on a Tapped Delay Line (TDL) model
% This replaces the unrealistic 'randn' signal.
delays_ns = [0, 50, 120];         % Delays of each path in nanoseconds
powers_dB = [0, -3.0, -8.0];       % Power of each path in decibels

% Convert powers from dB to linear scale
powers_linear = 10.^(powers_dB / 10);

% --- Correct Calculation of RMS Delay Spread ---

% 1. Calculate the total power (sum of linear powers)
total_power = sum(powers_linear);

% 2. Calculate the Mean Excess Delay (power-weighted average delay)
mean_delay = sum(delays_ns .* powers_linear) / total_power;

% 3. Calculate the RMS Delay Spread (power-weighted standard deviation)
rms_delay_spread = sqrt(sum(((delays_ns - mean_delay).^2) .* powers_linear) / total_power);


% --- Visualization ---

% For a clearer plot, we can create a simple impulse response representation


figure;
stem(delays_ns, powers_linear, 'LineWidth', 1.5);
title('Power Delay Profile of a Practical Channel');
xlabel('Delay (ns)');
ylabel('Linear Power');
grid on;
ax = gca;
ax.XAxis.Limits = [-10, 150]; % Adjust axis for better visibility


% --- Display the Results ---

fprintf('Using the practical TDL model:\n');
fprintf('Mean Excess Delay: %.2f ns\n', mean_delay);
fprintf('RMS Delay Spread: %.2f ns\n', rms_delay_spread);

web('https://www.salimwireless.com/search?q=rms%20delay%20spread', '-browser'); 

Output

 

 
 
Using the practical Tapped Delay Line (TDL) model:
Mean Excess Delay: 26.56 ns
RMS Delay Spread: 37.75 ns

 

Further Reading

People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *