task3 should be complete now

This commit is contained in:
ti_mo
2026-06-08 19:17:42 +02:00
parent 6f5052f469
commit 763a341cfd
6 changed files with 2185 additions and 25 deletions
+58 -20
View File
@@ -1,3 +1,13 @@
% this code is in no manner clean
% use these fields to select the task that should be calculated
do_task1 = false;
do_task2 = false;
do_task3_1 = false;
do_task3_2 = false;
do_task3_2_simple_calc = true;
do_task4 = false;
carrier_frequency = 2.4e9;
wifi_be_subcarrier_spacing = 78.125e3;
leo_altitude = 600e3;
@@ -26,30 +36,58 @@ seed = 666;
ntn_tdl_delay_profiles = ["A" "B" "C" "D"];
use_t1_as_t4 = false;
% task1;
if do_task1
use_t1_as_t4 = false;
task1;
end
use_pilot_tracking = false;
task2;
results_apep4000_npt = results(apep_values == 4000, :);
if do_task2 || do_task3_1
use_pilot_tracking = false;
task2;
results_apep4000_npt = results(apep_values == 4000, :);
use_pilot_tracking = true;
task2;
results_apep4000_pt = results(apep_values == 4000, :);
end
use_pilot_tracking = true;
task2;
if do_task3_1
% plot for 3.1
figure;
semilogy(snrs, results_apep4000_npt, ['-' 'o']);
hold on;
semilogy(snrs, results_apep4000_pt, ['-' 'x']);
hold on;
results_apep4000_pt = results(apep_values == 4000, :);
grid on;
xlabel('SNR (dB)');
ylabel('PER');
figure;
semilogy(snrs, results_apep4000_npt, ['-' 'o']);
hold on;
semilogy(snrs, results_apep4000_pt, ['-' 'x']);
hold on;
dataStr = ["no pilot tracking" "pilot tracking"];
legend(dataStr, 'Location', 'NorthEastOutside');
title('PER over SNR for APEP 4000, usage of pilot tracking comparision, CBW20, NTN-TDL-C');
end
grid on;
xlabel('SNR (dB)');
ylabel('PER');
dataStr = ["no pilot tracking" "pilot tracking"];
legend(dataStr, 'Location', 'NorthEastOutside');
title('PER over SNR for APEP 4000, usage of pilot tracking comparision, CBW20, NTN-TDL-C');
if do_task3_2
use_pilot_tracking = false;
task3;
use_pilot_tracking = true;
task3;
end
if do_task3_2_simple_calc
carrier_frequencies = [1e9 2.4e9 5e9 5.8e9 6e9 12e9 24e9 60e9];
meanDopplerShifts = zeros(1, numel(carrier_frequencies));
parfor f_idx = 1 : numel(carrier_frequencies);
dopplerShifts = arrayfun(@(el) dopplerShiftCircularOrbit(el, leo_altitude, 0, carrier_frequencies(f_idx)), elevationAngles);
meanDopplerShifts(f_idx) = mean(dopplerShifts);
end
% direct markdown insertable
disp("| Frequency | Mean Doppler Shift | Normalized Carrier Frequency Offset epsilon")
disp("|:---:|:---:|:---|")
for f_idx = 1 : numel(carrier_frequencies)
fprintf("| %.1f GHz | ~%.2fkHz | ~%.2f |\n", carrier_frequencies(f_idx) / 1e9, meanDopplerShifts(f_idx) / 1e3, meanDopplerShifts(f_idx) / wifi_be_subcarrier_spacing);
end
end