task3 should be complete now
This commit is contained in:
+58
-20
@@ -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
|
||||
Reference in New Issue
Block a user