carrier_frequency = 2.4e9; wifi_be_subcarrier_spacing = 78.125e3; leo_altitude = 600e3; bandwidth = 20; mcs_values = [0 2 4 8 10 12 13]; mcs_t1 = 2; apep = 1000; tx_antenna_count = 1; rx_antenna_count = 1; snrs = (0:1:40); packets_per_snr = 1024; maxNumErrors = 50; elevationAngles = [ ... linspace(10, 90, ceil(packets_per_snr / 2)), ... linspace(90, 10, floor(packets_per_snr / 2)) ... ]; meanElevationAngle = mean(elevationAngles); slantRanges = arrayfun(@(el) slantRangeCircularOrbit(el, leo_altitude, 0), elevationAngles); dopplerShifts = arrayfun(@(el) dopplerShiftCircularOrbit(el, leo_altitude, 0, carrier_frequency), elevationAngles); random_stream = "mt19937ar with seed"; seed = 666; ntn_tdl_delay_profiles = ["A" "B" "C" "D"]; use_t1_as_t4 = false; task1; task2; apep1000Idx = find(apep_values == 1000); figure; semilogy(snrs, errorRates(1,:), "-o"); hold on; semilogy(snrs, results(apep1000Idx,:), "-x"); grid on; xlabel("SNR (dB)"); ylabel("PER"); legend("Task 1 APEP 1000", "Task 2 APEP 1000"); title("Task 1 vs Task 2 consistency check");