LTE: Semi-Persistent Scheduling

In the case of Dynamic Scheduling, the UE can get scheduling assignments/grants in every subframe. This gives the network full flexibility in assigning the resources to the UE at the cost of transmission of resource allocation information on PDCCH in every subframe. This also gives the flexibility of varying the resource allocation based on the reported channel conditions

For services such as VoIP, the packet size is small and the inter-arrival time of VoIP packets is constant (i.e., AMR codec provides one packet every 20ms during active period and one silence indicator (SID) at 160ms). The control signaling overhead (PDCCH) is too much for the E-UTRAN in order to support a large number of VoIP users. So, the optimal solution is to allocate the resources at once and let the UE use these resources instead of allocating the resources periodically.


How does the eNB configure the UE with SPS?

The eNB can configure the UE with SPS at any time but, typically this is done at the time of dedicated bearer establishment for the VoIP service. SPS can be configured/re-configured by RRC at any time using SPS-Config. This SPS-Config includes the configuration for semiPersistSchedC-RNTI (sps-CRNTI), sps-ConfigDL and sps-ConfigUL.

SPS can be configured only in the uplink (sps-ConfigUL), or in the downlink (sps-ConfigDL) or in both directions. Configuration of SPS doesn’t mean that the UE can start using SPS grants/assignments. The eNB has to explicitly activate SPS as explained below, in order for the UE to use SPS grants/assignments.  So, SPS configuration and activation are two different things, eNB first configures the UE with SPS and then activates the same. The eNB can explicitly release SPS without release SPS RRC configuration


SPS Activation/Release

When configuring SPS in any direction either UL or DL, SPS C-RNTI is mandatorily provided by the eNB. Soon after the UE is configured with SPS C-RNTI, the UE is configured by higher layers to decode PDCCH with CRC scrambled by the SPS C-RNTI.

A UE shall monitor PDCCH with CRC scrambled by the SPS C-RNTI in every subframe as the eNB can activate/re-activate/release SPS at any time using Downlink control information (DCI)

DCI Format 0 is used to activate/release SPS in UL; DCI Format 1/1A/2/2A/2B/2C is used to activate SPS in DL. In order to release SPS in DL, only DCI Format 1A can be used. The received DCI format on SPS C-RNTI can be a grant/assignment for a retransmission or for activation/re-activation/release of SPS. 3GPP TS 36213 has tabulated the validation procedure for activation/re-activation/release of SPS. A UE shall validate a SPS assignment PDCCH only if all the following conditions are met:

·     the CRC parity bits obtained for the PDCCH payload are scrambled with the SPS C-RNTI
·      the new data indicator field is set to ‘0’. In case of DCI formats 2, 2A, 2B and 2C, the new data indicator field refers to the one for the enabled transport block

Validation is achieved if all the fields for the respective used DCI format are set according to Table 9.2-1 or Table 9.2-1A. If validation is achieved, the UE shall consider the received DCI information accordingly as a valid SPS activation or release.  If validation is not achieved, the received DCI format shall be considered by the UE as having been received with a non-matching CRC
































SPS Configuration details

The following high level IEs are provided by RRC.
  



SPS-ConfigDL has the following IEs (for the FDD mode of operation)



SPS-ConfigUL has the following IEs (for the FDD mode of operation)



SPS Operation in Uplink direction

For UL SPS, SPS C-RNTI, semiPersistSchedIntervalUL, implicitReleaseAfter and optionally p0-Persistent values are configured by RRC. After configuring SPS in UL direction, the eNB can send DCI Format 0 on SPS C-RNTI to activate the SPS in UL direction. After receiving activation command, the UE should consider that the uplink grant has been configured and should consider sequentially that the Nth grant occurs in the subframe for which the below condition satisfies:

(10 * SFN + subframe) = [(10 * SFNstart time + subframestart time) + N * semiPersistSchedIntervalUL] modulo 10240

Where SFNstart time and subframestart time are the SFN and subframe, respectively, at the time the configured uplink grant were (re-) initialized.
So, the UE shall use the grant provided in the SPS activation DCI Format 0 once every semiPersistSchedIntervalUL subframes and shall transmit PUSCH using this grant. If there is no data to be transmitted, the Multiplexing and Assembly entity shall provide MAC PDU containing zero MAC SDU to be transmitted on Semi-Persistent Scheduling resource. The UE shall clear the configured uplink grant immediately after implicitReleaseAfter number of consecutive new MAC PDUs each containing zero MAC SDUs, on the Semi-Persistent Scheduling resource. This is called as implicit release of UL SPS configured grant. After this the UE shall not use this configured grant for new transmissions at the occasions satisfying the above equation. Note that, retransmissions for Semi-Persistent Scheduling can continue after clearing the configured uplink grant

The eNB can explicitly send DCI Format 0 to indicate SPS release. Upon receiving DCI Format 0 which indicates SPS release, the UE should clear the configured uplink grant

Optionally, the eNB can configure the UE with p0-Persistent which is used to calculate the transmit power of PUSCH using SPS C-RNTI if the eNB wants the UE to use different power as compared to PUSCH on C-RNTI. Basically, in the PUSCH Tx power calculation, the UE should use p0-NominalPUSCH-Persistent and p0-UE-PUSCH-Persistent in place of p0-NominalPUSCH and p0-UE-PUSCH respectively. If the IE p0-Persistent absent, the UE shall use p0-NominalPUSCH and p0-UE-PUSCH in PUSCH Tx power calculation


SPS Operation in Downlink direction

For DL SPS, SPS C-RNTI, semiPersistSchedIntervalDL, numberOfConfSPS-Processes and n1PUCCH-AN-PersistentList values are configured by RRC. After configuring SPS in DL direction, the eNB can send DCI Format 1/1A/2/2A/2B/2C on SPS C-RNTI to activate the SPS in DL direction. From this point on the UE should consider that the downlink assignment has been configured and should consider sequentially that the Nth assignment occurs in the subframe for which the below condition satisfies:

(10 * SFN + subframe) = [(10 * SFNstart time + subframestart time) + N * semiPersistSchedIntervalDL] modulo 10240

Where SFNstart time and subframestart time are the SFN and subframe, respectively, at the time the configured downlink assignments were (re-) initialised.
The UE shall use this configured assignment once in every semiPersistSchedIntervalDL subframes and decode PDSCH (no corresponding PDCCH).

In order to transmit HARQ response (Ack/Nack) on PUCCH, the UE would need to calculate frequency resources. In the dynamic scheduling case, a PDCCH (DCI) is present, so the UE calculates Ack/Nack resources based on nCCE. For the SPS case, from the DCI format indicating DL SPS activation, the TPC command for PUCCH field shall be used as an index to one of the four PUCCH resource values (n1PUCCH-AN-PersistentList) configured by RRC.

If the eNB wants to release configured assignment without releasing RRC configuration, it would explicitly send DCI Format 1A to indicate SPS release. Upon receiving DCI Format 1A which indicates SPS release, the UE should clear the configured downlink assignment

Another important aspect is the HARQ process ID calculation. In case of dynamic scheduling the corresponding DCI format indicates the HARQ process ID, whereas in the case of SPS, there is no PDCCH corresponding to PDSCH. The HARQ process ID needs to be calculated based on the below equation:

HARQ Process ID = [floor (CURRENT_TTI/semiPersistSchedIntervalDL)] modulo numberOfConfSPS-Processes

where CURRENT_TTI = [(SFN * 10) + subframe number]. Current TTI is the TTI in which PDSCH has been received on the configured assignment


Re-transmission Handling

Re-transmission handling on SPS C-RNTI (UL or DL) is an important aspect. When using dynamic scheduling, the eNB would use same NDI (New Data Indicator) as was sent for initial (new) transmission to indicate the grant/assignment received is for a re-transmission. When using SPS, the grant/assignment for new transmission is not provided every time as it is configured already. It has been already explained for SPS activation/release, that NDI is set to 0. If the eNB wants to send a grant/assignment for a retransmission it would toggle NDI i.e., NDI is always set to 1 for a re-transmission


Notes:

o   When Semi-Persistent Scheduling for uplink or downlink is disabled by RRC, the corresponding configured grant or configured assignment shall be discarded
o    Semi-Persistent Scheduling is supported on the PCell only
o    The UE should clear any configured downlink assignments and uplink grants when timeAlignmentTimer expires or during MAC reset or when UE has transmitted the scheduling request for maximum number of times (dsr-TransMax)
o    Except for handover or releasing SPS, E-UTRAN does not reconfigure sps-Config (RRC) when there is a configured downlink assignment or a configured uplink grant


SPS Occasions can be calculated using the below tool!

SPS calculations

sps-Interval           activation-SFN           activation-Subframe          UL-DL Config
                                                       

uplink SPS?            downlink SPS?             Is TDD?             twoIntervalConfig?


SPS Occasions will be displayed here

53 comments:

  1. its very good indeed...
    But then does it mean that Dynamic & SPS can occur at same subframe as UE will have to
    decode using CRNTI also??

    ReplyDelete
  2. In case of SPS, after the current scheduled resources are used up if the UE needs to send more UL data will it send a BSR?

    ReplyDelete
    Replies
    1. Yes, BSR will be sent indicating more UL data is pending at UE.
      N/W would then give more UL grant

      Delete
  3. Thanks for providing this tutorial.

    I've a question about retransmission.

    36.321 - 5.3.2.2 mentions that "If the NDI, when provided, has been toggled compared to the value of the previous received transmission corresponding to this TB, UE shall consider this transmission to be a new transmission".

    From your last paragraph, the sentence "When using dynamic scheduling, the eNB would toggle NDI (New Data Indicator) bit to indicate the grant/assignment received is for a re-transmission" seems to me that toggling the NDI bit indicates a re-transmission. This seems different to what the spec means.

    Would you mind clarifying the difference?

    Thanks a lot
    CC

    ReplyDelete
    Replies
    1. hi Good catch. I wrote it too fast...it was a typo. Correct now. Thanks

      Delete
  4. Thanks for the tutorial.
    I have a question.
    How is the DL/UL SPS interval informed to the UE ?
    I know its via RRC messages. But does it mean they go via DCI or DLSCH ?

    ReplyDelete
  5. Hi Sharan,

    The interval is configured by via RRC signalling only. The RRC message is of course go on DL-SCH (C-RNTI). I will be very soon posting a tool (in the same post) which calculates SPS interval and grant/assignment recurring subframe etc...

    ReplyDelete
  6. Is it possible for eNB to reconfigure the DL SPS without relasing the existing configuration using the reconfiguration message. It sends a reconfiguration message again to the UE indicating a change in the SPSSchedulingInterval for example.

    ReplyDelete
  7. Yes it is possible to reconfigure SPS without releasing but DL SPS should not be active.

    Except for handover or releasing SPS, E-UTRAN does not reconfigure sps-Config (RRC) when there is a configured downlink assignment or a configured uplink grant

    ReplyDelete
  8. Hi Kumar,

    May I know why only subframe 3/8 are allowed for DL SPS occasions in TDD UL/DL Config-2?

    Thanks
    CC

    ReplyDelete
    Replies
    1. Hi,
      There was bug in the code...the warning message was intended for the uplink...I corrected it now...please check and let me know if it is correct now...Thanks

      Delete
    2. it's corrected now. thanks

      Delete
  9. Nice tutorial.

    I have confusion regarding retransmission for SPS DL data. Will retransmission will be done with SPS-CRNTI and will wait for SPS occasion for retransmission?

    ReplyDelete
    Replies
    1. retransmission will happen without waiting for SPS DL occasion. Yes, the retransmission is done using SPS-CRNTI

      Delete
  10. Awsome tutorial, but why do we use sps crnti as 500 , and SPS scheduling takes advantage of the AMR codec rate, since the codec transmits once in 20 msec..
    the only thing the scheduler has to be transmit every 20 msec?
    can this not be done w/o sps scheduling?

    ReplyDelete
  11. How about UL SPS and measurement gap overlap?
    Will UE send any data in SPS TTIs which is actually measurement gap?

    ReplyDelete
    Replies
    1. No. The UE drops PUSCH when it falls in the measGAP. A re-transmission after measGAP would follow.

      Delete
  12. Excellent tutorial. One question: after activation in UL using activation DCI0, must the eNB send another DCI0 on PDCCH for assignment? Otherwise UE doesn't know about TB size, RB assignment and MCS? Thanks

    ReplyDelete
    Replies
    1. Activation DCI0 itself has the required grant information. Note that only MSB of MCS (and RV) field is set to zero.

      Delete
    2. Thanks for your response, that is clear now. One other question - If, say for UL SPS, new data arrives at the UE buffer for a different RB (QCI8 data bearer for example) and the existing SPS UL grant is insufficient to carry the new data, then the UE shall have to generate a SR/BSR for this data on PUCCH? And if so, can the eNB schedule UL resource for this data using normal C-RNTI scrambled DCI0 while SPS grant is still active, or does eNB have to release SPS grant and then schedule this data?
      Thanks once again.

      Delete
    3. I think in such cases, eNB would re-activate UL SPS with new assignment i.e More RBs etc

      Delete
  13. There is a question: in TDD config 2 for uplink SPS, why will the non-adaptive re-transmission of packet n collide with the new-transmission of packet n+1? As we know, for TDD config 2, the uplink harq process is the same for subframe 2 (or 7). Provided that in SPS TTI, the packet n needs re-transmission, then the new transmission of packet n+1 will be delayed till the next SPS TTI, so I think the conflict doesn't happen. Could you explain this question for me?

    ReplyDelete
    Replies
    1. I am sorry, I couldn't quite understand your question. The new transmission always take priority over re-transmission. I don't understand what you mean by "the new transmission of packet n+1 will be delayed"

      Delete
  14. kindly provide Spec reference for following statement:
    "For the SPS case, from the DCI format indicating DL SPS activation, the TPC command for PUCCH field shall be used as an index to one of the four PUCCH resource values (n1PUCCH-AN-PersistentList) configured by RRC."

    ReplyDelete
    Replies
    1. got it in 3GPP TS 36.213. nice write up on SPS..

      Delete
  15. Hello Kumar, In Table 7.1-6 of 36.213 (Table 7.1-6: PDCCH and PDSCH configured by SPS C-RNTI), is it hinted that all SPS allocations are TX diversity?

    ReplyDelete
    Replies
    1. Yes, PDSCH transmission schemes are TxD except for single antenna port TMs as given in the table that you have mentioned.

      Delete
    2. You can ignore the question above, I got the answer. Thank you.

      Delete
    3. Thank you Kumar. This is good input.

      Delete
  16. Thank you Kumar , as usual very good & informative explanation of topic

    ReplyDelete
  17. How does UE find the SFN and subframe start times for UL SPS? Is that the actual SFN and subframe when the DCI0 is received or a different configured number?

    ReplyDelete
    Replies
    1. UE calculates SFN and subframe number based on the below equation.

      (10 * SFN + subframe) = [(10 * SFNstart time + subframestart time) + N * semiPersistSchedIntervalUL] modulo 10240

      The start SFN and subframe number is when DCI0 for SPS activation is received.

      Delete
    2. Kumar, i have a doubt.

      "The start SFN and subframe number is when DCI0 for SPS activation is received." Is this true for UL SPS in TDD also? Because, in TDD SPS activation in DCI0 would be in DL subframe and actual UL SPS allocation would in in UL subframe.

      Delete
  18. Thank you for very nice write up.

    Is it possible to have multiple HARQ processes in UL SPS?
    If yes, how they are mapped to PUSCH occasions?

    ReplyDelete
    Replies
    1. Hi,
      Answer to your question is NO.

      When SPS is activated, the PUSCH and HARQ process is calculated based on the activation TTI and as you are aware the HARQ process is tied to this TTI. To have multiple HARQ processes, multiple PUSCH transmissions on SPS-CRNTI needs to be supported, which means multiple SPS activations needs to be supported which is not the case actually.

      Delete
    2. Hi,
      Since harq process is tied to TTI , and for activation harq process should be zero , does it mean that sps activation can be sent only in certain subframes?

      Delete
  19. Hi,

    How does eNB know, when to activate the SPS,is it like it should be used only for voip??. if not then what are all the parameters eNB should consider before activating SPS

    ReplyDelete
    Replies
    1. Hello,

      VoIP is the main and practical application that uses SPS. There could be other applications which periodically transmit/receive data with fixed amount of data which I am not aware of...

      Delete
  20. Hi, how do you activate a MCS-16 or greater when activation requires the msb(it) to be 0?

    ReplyDelete
  21. What is PDSCH SPS Power Control.? RRU Power Wastage? Pre Allocation? Timers related to drops and their working?

    ReplyDelete
  22. What is DL Enhanced Scheduling?

    ReplyDelete
  23. I want to know about implicit release of SPS in which if certain number of MAC PDUs have zero MAC SDUs then SPS releases. So is it possible to make a MAC PDU with zero MAC SDU and none Control Element. If yes, how? Can you give any example?

    ReplyDelete
  24. Thanks broo....Really nice explanation ,Your note gives more clarity than 3GPP documents...Expect more on both LTE and 5G networks...

    ReplyDelete
  25. Hi, is there any configuration send by eNB for Dynamic sceduling?

    ReplyDelete
    Replies
    1. No,it will not send. That's why its dynamic/

      Delete
  26. For sps activation/release/re-activation on pdcch, does the UE send any ack/nack?

    ReplyDelete
    Replies
    1. No, It will not..These are the physical channel & doesn't have harq entity to transmit ACK/NACK..Yes, for the corresponding PDSCH data UE will send ack/nack in PUSCH/PUCCH .

      Delete
    2. SPS release is ACKed though, as described in 36.213-7.3.
      It produces an A/N bit, like any PDSCH.

      Delete
  27. Hi. For re transmission , in DL data: How UE knows about in which SF it will receive the PDSCH..
    and for UL: How UE knows in which SF it will send the PUSCH? As for UL UE is clearing configured UL grant?? Kindly reply

    ReplyDelete