configureScheduler
Download Required: To use configureScheduler
,
first download the Communications Toolbox Wireless Network Simulation Library add-on.
Description
configureScheduler(
configures a scheduler at a 5G new radio (NR) base station (gNB) node. The function sets the
scheduling parameters using one or more optional name-value arguments. For example,
gnb
,Name=Value
)ResourceAllocationType=0
sets the resource allocation type to
0
. You can configure a scheduler at multiple gNB nodes in a single
configureScheduler
function call. In this case, all the nodes use the
same scheduling parameter values specified in the name-value arguments.
Examples
Simulate 5G Network by Configuring Scheduler at gNB
Initialize the wireless network simulator.
networkSimulator = wirelessNetworkSimulator.init;
Create a default gNB node.
gnb = nrGNB;
Create two UE nodes, specifying their positions.
ue = nrUE(Position=[100 100 0; 5000 100 0]); % In Cartesian x, y, and z coordinates.
Configure a scheduler at the gNB with the maximum number of users per transmission time interval (TTI) as 3.
configureScheduler(gnb,MaxNumUsersPerTTI=3)
Connect the UE nodes to the gNB node.
connectUE(gnb,ue)
Create voice over Internet protocol (VoIP) application traffic pattern objects to generate VoIP application traffic patterns between the gNB and UE nodes.
traffic1 = networkTrafficVoIP(ExponentialMean=5,GeneratePacket=true); traffic2 = networkTrafficVoIP(ExponentialMean=125,GeneratePacket=true);
Add a data traffic source from the gNB node to the UE nodes.
addTrafficSource(gnb,traffic1,DestinationNode=ue(1)) addTrafficSource(gnb,traffic2,DestinationNode=ue(2))
Add the nodes to the network simulator.
addNodes(networkSimulator,gnb) addNodes(networkSimulator,ue)
Set the simulation time, in seconds.
simulationTime = 0.3;
Run the simulation for the specified simulation time.
run(networkSimulator,simulationTime)
Obtain statistics for the gNB and UE nodes.
gnbStats = statistics(gnb); ue1Stats = statistics(ue(1)); ue2Stats = statistics(ue(2));
Input Arguments
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: configureScheduler(gnb,ResourceAllocationType=0)
sets the
resource allocation type to 0
Scheduler
— Scheduler strategy
"RoundRobin"
(default) | "BestCQI"
| " ProportionalFair"
Scheduler strategy, specified as one of these options.
"RoundRobin"
— Enable the round-robin scheduler. This scheduler provides equal scheduling opportunities to all the UE nodes."BestCQI"
— Enable the best channel quality indicator (CQI) scheduler. This scheduler gives priority to the UE node with the best CQI."ProportionalFair"
— Enable the proportional-fair scheduler. This scheduler is a compromise between the round-robin and best CQI schedulers.
Data Types: char
| string
PFSWindowSize
— Time constant of exponential moving average
20
(default) | positive integer
Time constant of an exponential moving average, specified as a positive integer, in number of slots. The proportional-fair scheduler uses this time constant to calculate the average data rate.
Dependencies
To enable this name-value argument, specify the Scheduler
argument as "ProportionalFair"
.
Data Types: double
ResourceAllocationType
— Resource allocation type
1
(default) | 0
Resource allocation type, specified as 1
(resource allocation
type 1) or 0
(resource allocation type 0).
Data Types: double
MaxNumUsersPerTTI
— Maximum number of users per TTI
8
(default) | positive integer
Maximum number of users per transmission time interval (TTI), specified as a positive integer.
Data Types: double
FixedMCSIndexDL
— MCS index for DL
[]
(default) | integer in range [0, 27]
Modulation and coding scheme (MCS) index for downlink (DL), specified as an
integer in the range [0, 27]. The MCS index corresponds to a row in TS 38.214, table
5.1.3.1-2 [1]. The gNB node stores
the MCS table as the static property MCSTable
. The
default value of []
indicates for the gNB to select the MCS based
on the CSI-RS measurement report.
Data Types: double
FixedMCSIndexUL
— MCS index for UL
[]
(default) | integer in range [0, 27]
Modulation and coding scheme (MCS) index for uplink ( UL), specified as an integer
in the range [0, 27]. The MCS index corresponds to a row in TS 38.214, table
5.1.3.1-2. The gNB node stores the MCS table as static property MCSTable
. The
default value of []
indicates for the gNB to select the MCS based
on the sounding reference signal (SRS) measurements.
Data Types: double
MUMIMOConfigDL
— Configuration of DL MU-MIMO
structure
Configuration of DL multi-user multiple-input and multiple-output (MU-MIMO), specified as a structure. The structure must contain these fields.
MaxNumUsersPaired
— The maximum number of users that the scheduler can pair for a MU-MIMO transmission, specified as integer in the range[2, 4]
. The default value is2
MinNumRBs
— The minimum number of resource blocks (RBs) the scheduler must allocate to a UE for considering the UE as an MU-MIMO candidate, specified as a positive integer. The default value is6
.MinCQI
— The minimum channel quality indicator (CQI) required for considering a UE as an MU-MIMO candidate, specified as an integer in the range[1, 15]
. The default value is7
. For more information about the CQI table, see TS 38.214 Table 5.2.2.1-2 [1].SemiOrthogonalityFactor
— Inter-user interference (IUI) orthogonality factor, specified as a numeric scalar in the range[0, 1]
. The scheduler uses this value to decide whether to pair up the UE nodes for MU-MIMO.SemiOrthogonalityFactor
values of0
and1
indicate nonorthogonality and orthogonality between the UE nodes, respectively. The default value ofSemiOrthogonalityFactor
is0.75
.
References
[1] 3GPP TS 38.321. “NR; Medium Access Control (MAC) protocol specification.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
Version History
Introduced in R2023aR2023a: Includes support for selecting a scheduling strategy and setting time constant of an exponential moving average
The configureScheduler object function now supports these functionalities.
Select a scheduling strategy through the Scheduler property.
Set time constant of an exponential moving average through the PFSWindowSize property.
See Also
Objects
Functions
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)