VoLTE Semi Persistent Scheduling and Power Control

To enhance capacity in VoLTE, semi-persistent scheduling and power control is implemented.

When dynamic scheduling is used for voice services, the time-frequency resources or MCS is updated through the PDCCH every 20 ms. This consumes a large volume of PDCCH resources. Figure below shows the resource allocation for dynamic scheduling.

Resource allocation for dynamic scheduling

Huawei has developed the VoIP semi-persistent scheduling function for small-packet services (such as VoIP services) using periodic transmissions. When a talk spurt arrives, the eNodeB allocates fixed resources to the UE through a PDCCH Order. Before the talk spurt ends or the resources are released, there is no more need for resource allocation over the PDCCH, reducing the consumption of PDCCH resources. Figure below shows the resource allocation for semi-persistent scheduling.

After the PDCCH Order is sent, voice packets are sent at the intervals specified by CellUlschAlgo UISpsinterval or CellDischAlgo DiSpsinterval. A smaller semi-persistent scheduling interval indicates a smaller scheduling delay of voice packets on the eNodeB side and higher voice quality for VoLTE UES.

In FDD, the value ADAPTIVE does not take effect. Instead, a 20 ms interval is used.

The eNodeB configures semi-persistent scheduling parameters for UEs that support semi-persistent scheduling in RRC Connection Reconfiguration messages during setup of QCI 1 data radio bearers (DRBs). The eNodeB activates uplink or downlink semi-persistent scheduling for UEs when the UEs meet the activation conditions. The eNodeB notifies UEs of the activation using the PDCCH Order. For details on the format of the PDCCH Order notification, check topics “PDCCH/EPDCCH/MPDCCH/SPDCCH validation for semi-persistent scheduling” in 3GPP TS 36.213 V12.3.0.

Effect Period

Below picture shows semi-persistent scheduling effect period.

semi-persistent scheduling effect period in VoLTE

During talk spurts in VoLTE, semi-persistent scheduling (SPS) is applied only if certain conditions are satisfied. The first requirement is that specific parameter switches must be enabled. For the uplink, both the SpsSchSwitch and UISchSwitch under CellAlgoSwitch need to be turned on. For the downlink, the SpsSchSwitch under CellAlgoSwitch and DISchSwitch must be activated. Additionally, for emergency call services, the EmcSpsSchSwitch under CellAlgoSwitch must also be enabled along with the uplink and downlink switches.

Another important condition is that the user equipment (UE) must support semi-persistent scheduling and should not be part of a blacklist. If necessary, the feature can be selectively disabled for certain types of UEs by configuring the SPS_SWITCH_OFF option under the UeCompat.BlkLstCtrlSwitch parameter. This allows operators to control which UEs can use SPS, based on terminal awareness and compatibility.

For a UE with multiple bearers, semi-persistent scheduling (SPS) is applied only under strict bearer configuration conditions. Specifically, there must be exactly one QCI 1 voice bearer and one QCI 5 bearer for voice SIP signaling, with no more than one data service bearer configured. If a data bearer is present, no actual data traffic should be transmitted on it. When both QCI 1 and QC bearers exist simultaneously, SPS is disabled and does not take effect.

In the uplink, RLC segmentation is not performed for the UE when SPS is active. Additionally, if ROHC (Robust Header Compression) is enabled, SPS requires the ROHC compression state to be stable, meaning the size of each ROHC header remains relatively constant to ensure efficiency and predictable packet sizes.

Dynamic scheduling, on the other hand, takes over during talk spurts when specific conditions arise. For example, when large packets need to be scheduled (such as channel-associated signaling messages or uncompressed packets generated during ROHC context updates), dynamic scheduling is triggered instead of SPS. In the downlink, dynamic scheduling is used when semi-persistently scheduled data needs retransmission. Similarly, in the uplink, it is applied when semi-persistently scheduled data requires adaptive retransmission.

Finally, in emergency call scenarios, SPS does not apply if the parameter CellAlgoSwitch.EmcSpsSchSwitch is set to OFF, ensuring dynamic scheduling is used instead.

Downlink Semi-Persistent Scheduling

When downlink semi-persistent scheduling (SPS) is activated, the eNodeB assigns an MCS (Modulation and Coding Scheme) and PRBs (Physical Resource Blocks) to the UE. This assignment is determined by two main factors: the voice packet size (if ROHC is disabled) or the compressed voice packet size (if ROHC is enabled), and the wideband CQIs reported by the UE. These factors ensure that the allocated resources are appropriate for both packet characteristics and the current radio conditions.

After SPS activation, the eNodeB continuously monitors whether the allocated MCS remains suitable for the channel conditions. If the MCS is not well-matched, the eNodeB triggers reactivation of SPS to adjust resource assignments. Two main reactivation scenarios exist:

  1. MCS decrease scenario: If the periodically measured IBLER (Instantaneous Block Error Rate) is greater than or equal to the threshold value defined by CellDlschAlgo.DISpsMcsDecreaseIblerThd, the eNodeB lowers the MCS index and reactivates downlink SPS. This helps maintain transmission reliability in poor channel conditions.
  2. MCS increase scenario: If the periodically measured IBLER is less than 5%, the eNodeB increases the MCS index and reactivates SPS. This adjustment improves spectral efficiency when channel conditions are favorable. The increase in MCS index is controlled by the DISpsMcsIncreaseSwitch option under the CellAlgoSwitch.CqiAdjAlgoSwitch parameter.

Through this adaptive mechanism, downlink SPS ensures efficient resource allocation for voice services, balancing between link reliability and spectral efficiency depending on the varying radio environment.

According to 3GPP TS 36.321 and TS 36.331, the eNodeB reserves specific HARQ processes for use with downlink semi-persistent scheduling (SPS) when configuring this feature for UEs. Before SPS is activated, these reserved HARQ processes are not idle; instead, they can be temporarily used for dynamic scheduling, which increases the number of HARQ processes available for other data services. This function is controlled by the DISpsRevHarqUseSwitch option of the CellDlschAlgo.DIEnhancedVoipSchSw parameter.

When downlink SPS is configured, the PUCCH (Physical Uplink Control Channel) requires available SPS code channels to handle HARQ feedback. For voice services, if there are sufficient downlink PRBs, it is recommended to enable the DIVoiceRetransOptSwitch option in the CellDlschAlgo.DIEnhancedVoipSchSw parameter. Enabling this option allows the eNodeB to use the RB-increased adaptive retransmission mode in the downlink. This mechanism helps to reduce voice packet loss rates and significantly improves the user’s voice experience during real-time communications.

Scheduling Based on TTI-level UE Number

Voice services in LTE can be scheduled using two methods: dynamic scheduling and semi-persistent scheduling (SPS). These methods differ in responsiveness, modulation capability, and control channel resource usage. Dynamic scheduling responds quickly to channel condition changes, allows a higher MCS index, but consumes more PDCCH resources. In contrast, semi-persistent scheduling responds more slowly to channel changes, uses a lower MCS index, but requires fewer PDCCH resources.

Scheduling MethodResponse to Channel Condition ChangesHighest MCS IndexPDCCH Resource Consumption
Dynamic SchedulingFast28Large
Semi-Persistent SchedulingLow15Small

For newly initiated voice services, the eNodeB can apply adaptive scheduling based on the number of UEs scheduled per TTI in a cell. This mechanism allows the base station to automatically choose between dynamic and semi-persistent scheduling:

  • If the cell load is high (many UEs scheduled per TTI), the eNodeB selects semi-persistent scheduling to avoid PDCCH overload and to maintain voice quality and capacity.
  • If the cell load is low (few UEs scheduled per TTI), the eNodeB selects dynamic scheduling to provide a better voice experience and improve spectral efficiency.

The eNodeB determines the cell load condition by monitoring the number of UEs scheduled per TTI. High UE numbers per TTI indicate heavy load, while low UE numbers per TTI indicate light load.

Control of adaptive scheduling for voice services is achieved through the following parameters:

  • UIVoIPLoadBasedSchSwitch option in the CellUlschAlgo.UlEnhancedVoipSchSw parameter (uplink)
  • DIVoIPLoadBasedSchSwitch option in the CellDlschAlgo.DIEnhancedVoipSchSw parameter (downlink)

Leave a Comment

error: Content is Protected.