MAC Scheduler is used to assign bandwidth to UE in uplink and downlink channels. eNB will decide for which UE how many resources to be allocated.
MAC scheduler will also enforce QOS like priority, bit rate and latency for different UE connections.
How MAC Scheduler works?
From the above image, we can see that:
1. QOS and UE policies will be received from PCRF to MAC Scheduler. This will help to give minimum guaranteed bandwidth, packet loss rate etc.
2. PHY layer will send the information about radio channel quality.
3. RLC layer will provide buffer status.
4. Based on the above points MAC Scheduler will decide the scheduling decisions based on the below scheduling algorithms.
Different Types of Scheduling Algorithms:
Round Robin:
This algorithm uses equal bandwidth for all UE. This is used mainly for testing purpose. It will reduce overall cell throughput.
Proportional Fairness:
It will try to balance between QOS priorities and total throughput.
Max CQI:
This will guarantees that MAC Scheduler will assign UE with best channel quality RB’s.
Different types of Scheduling
There are 3 different types of Scheduling:
1. Dynamic Scheduling
2. Persistent Scheduling
3. Semi-Persistent Scheduling
1. Dynamic Scheduling:
In Dynamic Scheduling, the UE can get scheduling assignments/grants in every subframe.
2. Persistent Scheduling:
In Persistent Scheduling, the UE will get scheduling grants in fixed basis. It is not dependent on channel conditions.
3. Semi-Persistent Scheduling (SPS):
In SPS, it is typically used in VOIP calls. Because in VoIP calls, the packets arrive at regular intervals. For g729 codec it is always 20 ms duration.
RRC IEs for configuring SPS.
- semiPersistSchedC-RNTI - DLConfig − semiPersistSchedIntervalDL(sf10 to sf640) − NumberOfConfSPS-Processes (1..8) − N1PUCCH-AN-PersistentList (1..4 PUCCH resource index) − ULConfig − semiPersistSchedIntervalUL − implicitReleaseAfter − p0-NominalPUSCH-Persistent − p0-UE-PUSCH-Persistent − TwoIntervalsConfig