function [cfgEHT, simParameters, channel, chInfo, maxChDelay, satelliteDopplerShift, chanBW] = create_baseline_configuration(profile, ... bandwidth_mhz, ... include_free_space_pathloss, ... delay_model, ... carrier_frequency, ... mobile_speed, ... mobile_altitude, ... satellite_altitude, ... random_stream, ... seed, ... tx_antenna_count, ... rx_antenna_count, ... apep) switch bandwidth_mhz case 20 chanBW = 'CBW20'; case 40 chanBW = 'CBW40'; case 80 chanBW = 'CBW80'; case 160 chanBW = 'CBW160'; case 320 chanBW = 'CBW320'; otherwise error("Not supported bandwidth!"); end cfgEHT = wlanEHTMUConfig(chanBW); cfgEHT.User{1}.APEPLength = apep; cfgEHT.NumTransmitAntennas = tx_antenna_count; cfgEHT.User{1}.NumSpaceTimeStreams = 1; cfgEHT.User{1}.MCS = 0; % default to sweep later fs = wlanSampleRate(chanBW); simParameters.IncludeFreeSpacePathLoss = include_free_space_pathloss; simParameters.DelayModel = delay_model; simParameters.CarrierFrequency = carrier_frequency; simParameters.ElevationAngle = 0; % default to sweep later simParameters.MobileSpeed = mobile_speed; simParameters.MobileAltitude = mobile_altitude; simParameters.SatelliteAltitude = satellite_altitude; simParameters.SampleRate = fs; simParameters.RandomStream = random_stream; simParameters.Seed = seed; simParameters.NumTransmitAntennas = tx_antenna_count; simParameters.NumReceiveAntennas = rx_antenna_count; simParameters.NTNChannelType = "TDL"; simParameters.DelayProfile = "NTN-TDL-" + profile; simParameters.DelaySpread = 30e-9; c = physconst("lightspeed"); satelliteDopplerShift = dopplerShiftCircularOrbit( ... simParameters.ElevationAngle,simParameters.SatelliteAltitude, ... simParameters.MobileAltitude,simParameters.CarrierFrequency); channel = nrTDLChannel; channel.DelayProfile = simParameters.DelayProfile; channel.DelaySpread = simParameters.DelaySpread; channel.SatelliteDopplerShift = satelliteDopplerShift; channel.MaximumDopplerShift = simParameters.MobileSpeed*simParameters.CarrierFrequency/c; channel.NumTransmitAntennas = simParameters.NumTransmitAntennas; channel.NumReceiveAntennas = simParameters.NumReceiveAntennas; channel.SampleRate = simParameters.SampleRate; channel.RandomStream = simParameters.RandomStream; channel.Seed = simParameters.Seed; chInfo = info(channel); maxChDelay = ceil(max(chInfo.PathDelays*channel.SampleRate)) + chInfo.ChannelFilterDelay; end