How to write code for perform TWDM PON and calculate Delay, Throughput, Jitter?

4 vues (au cours des 30 derniers jours)
Khandaker Al
Khandaker Al le 21 Fév 2025
Réponse apportée : Ishaan le 26 Mar 2025
How to write code for perform TWDM PON and calculate Delay, Throughput, Jitter? Please can you give me sample code?

Réponses (1)

Ishaan
Ishaan le 26 Mar 2025
Hey,
I understand that you want to perform Time and Wavelength Division Multiplexing Passive Optical Network (TWDM-PON) and calculate parameters like delay, throughput and jitter.
Here is some sample code that achieves the same.
% Define the Parameters
num_wavelengths = 4;
num_time_slots = 10;
time_slot_duration = 1e-3; % in seconds
bandwidth_per_wavelength = 10e9; % in bits per second
% Simulation
data_transmitted = zeros(num_wavelengths, num_time_slots);
for w = 1:num_wavelengths
for t = 1:num_time_slots
% TDM: Divides the communication channel into time slots
% WDM: Transmits multiple signals on different wavelengths
data_transmitted(w, t) = bandwidth_per_wavelength * time_slot_duration * rand();
end
end
% Delay: The time it takes for data to travel from the source to the destination
total_data = sum(data_transmitted, 'all');
delay = total_data / (num_wavelengths * bandwidth_per_wavelength);
fprintf('Delay: %.2f ms\n', delay * 1e3);
Delay: 5.73 ms
% Throughput: The rate at which data is successfully transmitted over the network
throughput = total_data / (num_time_slots * time_slot_duration);
fprintf('Throughput: %.2f Gbps\n', throughput / 1e9);
Throughput: 22.92 Gbps
% Jitter: The variation in packet delay at the receiver
packet_delays = sum(data_transmitted, 2) / bandwidth_per_wavelength;
jitter = std(packet_delays);
fprintf('Jitter: %.2f ms\n', jitter * 1e3);
Jitter: 0.17 ms
I hope this helps.

Catégories

En savoir plus sur Optics dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by