PDSCH Resource Allocation in Time-Domain

5G(NR): How PDSCH Resource Allocation happened in Time-Domain


 Introduction:
           it is important for the network to tell the UE about the timing of data transmission and reception. So we use the resource allocation process for informing the UE about in which slots/symbols the data can be transmitted/received. the resource allocation can be done either dynamically or in a semi-persistent manner.

PDSCH Resource Allocation in Time-Domain
1- Dynamic Scheduling:
            In Short, PDSCH is the physical channel that carries the user data. The resources allocated for PDSCH are within the bandwidth part (BWP) of the carrier, according to the TS 38.214 Section 5.1.2 [2], The resources in the time domain for PDSCH transmissions are scheduled by DCI format 1_0 and 1_1 in the field Time-domain resource assignment. This field indicates the slot offset K0, starting symbol S, the allocation length L, and the mapping type of PDSCH.

 The valid combinations of S and L are shown in  below Table. For mapping type A, the value of S is 3 only when the DM-RS type A position is set to 3.


PDSCH mapping type
Normal cyclic prefix
Extended cyclic prefix
S
L
S+L
S
L
S+L
Type A
{0,1,2,3}
{3,…,14}
{3,…,14}
{0,1,2,3}
{3,…,12}
{3,…,12}
(Note 1)
(Note 1)
Type B
{0,…,12}
{2,…,13}
{2,…,14}
{0,…,10}
{2,4,6}
{2,…,12}
Note 1:: S = 3 is applicable only if dmrs-TypeA-Position = 3.

        When UE is scheduled to receive PDSCH by a DCI format 1_0 and 1_1, the Time domain resource assignment field value 'm' of the DCI provides a row index 'm + 1' to an allocation table. The determination of the used resource allocation table is defined in Clause 5.1.2.1.1. The indexed row defines slot offset - K0, the Start and length indicator 'SLIV', or directly the start symbol S and the allocation length L, and the PDSCH mapping type to be assumed in the PDSCH reception.




where 'n' is the slot with the scheduling DCI 10 and 1_1, and K0 is based on the numerology of PDSCH, and the subcarrier spacing(SCS) configurations for PDSCH and PDCCH, respectively.

How to Determine the resource allocation table to be used for PDSCH:
1.   default PDSCH time domain allocation table:   PDSCH and PUSCH scheduling is done by the combination of many different factors. But most of those factors are optional parameters which cannot be configured. Those parameters can be omitted.  If any of those parameters are omitted (not configured), then the system will get those parameters from 3gpp predefined table [38.214 v15.3 - Table 5.1.2.1.1-2,3]. These set of predefined scheduling parameters are called 'Default' parameter.(See in section 4 below)
2.  pdsch-TimeDomainAllocationList provided in pdsch-ConfigCommon: When pdsch-TimeDomainAllocationList is configured by RRC parameters and sent in either pdsch-ConfigCommon (sent via SIB1 or dedicated RRC signalling) or pdsch-Config (sent via dedicated RRC signalling) 

        Below Table define which PDSCH time domain resource allocation configuration is to apply. Either a default PDSCH time domain allocation A, B or C is to applied, or the higher layer. RRC configured pdsch-TimeDomainAllocationList is to applied.

Table 5.1.2.1.1-1: Applicable PDSCH time domain resource allocation for DCI formats 1_0 and 1_1.



=============================================================================
TimeDomainAllocationList
The PDSCH-TimeDomainResourceAllocation is an IE(Information Element) of the PDSCH-Config and PDSCH-ConfigCommon. It is defined as an element (kind of array element) of an IE called pdsch-AllocationList with RRC signaling.  Once this array(pdsch-AllocationList) is defined in RRC message, which elements of the array is used for each PDSCH scheduling is determined by the field called Time domain resource assignment in DCI 1_0 and DCI 1_1.
The pdsch-TimeDomainResourceAllocationList contains one or more (up to 16)  pdsch-TimeDomainResourceAllocations.
pdsch-TimeDomainResourceAllocationList IE structure is shown below. It contains K0, PDSCH mapping type, and startSymbolAndLength (SLIV).



=>In pdsch-TimeDomainResourceAllocationList, upto 16 TimeDomainResourceAllocations
can be possible.(0 to 15).
=>under every TimeDomainResourceAllocations the value of K0 can be from 0 to 32 integer values, when value of K0 is absent, the UE will consider value 0.

=> startSymbolAndLength(SLIV) :SLIV is the Start and Length Indicator for the time domain allocation for PDSCH, It defines start symbol 'S' and number of consecutive symbols (Length= 'L')for PDSCH allocation.





According to the above equation, you can create a huge tables with all the possible S and L values. But not all of the combinations are considered as valid. 
The UE shall consider the 'S' and 'L' combinations defined in table 5.1.2.1-1 satisfying for normal cyclic prefix(CP) and for extended cyclic prefix(EP) as valid PDSCH allocations: 


PDSCH mapping type
Normal cyclic prefix
Extended cyclic prefix
S
L
S+L
S
L
S+L
Type A
{0,1,2,3}
{3,…,14}
{3,…,14}
{0,1,2,3}
{3,…,12}
{3,…,12}
(Note 1)
(Note 1)
Type B
{0,…,12}
{2,…,13}
{2,…,14}
{0,…,10}
{2,4,6}
{2,…,12}
Note 1: S = 3 is applicable only if dmrs-TypeA-Position = 3


=====================================================================
PDSCH mapping type:
        Both PDSCH and PUSCH has two different types of mapping called Type A and Type B. These types are characterized by DMRS type (PDSCH DMRS type and PUSCH DMRS type) and SLIV table as shown below.

< 38.214-Table 5.1.2.1-1: Valid S and L combinations >



PDSCH mapping type A:

=> PDSCH DMRS is Type 
          -->The DMRS location is fixed to 3rd (pos2) or 4th(pos3)
=> PDSCH Starting Symbol can be 0~3
=> PDSCH Length can be 3~14 in case of normal CP and 3~12 in case of extended CP
=> the DMRS symbol can start only at symbol 2 or 3 regardless of PDSCH start and length. It implies this cannot be used when PDSCH start symbol is greater than 3. This is related to the row 'Type A' in PDSCH SLIV table. This type is used for slot based scheduling.


PDSCH mapping type-B:

=> PDSCH DMRS is Type B
         -->The DMRS location is fixed to the first symbol of the allocated PDSCH
=> PDSCH Starting Symbol can be 0~12 in case of Normal CP and 0~10 in case of extended CP
=> PDSCH Length can only be 2 or 4 or 7 in case of Normal CP and 2 or 4 or 6 in case of extended CP
=> The DMRS symbol can start at the first PDSCH symbol regardless of PDSCH start. This is related to the row 'Type B'  in PDSCH SLIV table. This type is used for mini-slot based scheduling.
2- Semi-Persistent Scheduling:
        Under downlink SPS, PDCCH carrying DCI 1_0 and 1_1 is addressed to Configured Scheduling-RNTI (CS-RNTI). In LTE, SPS-C-RNTI is used for this purpose. CS-RNTI is used to configured downlink assignment.
       As shown in picture below, SPS in downlink assignment is configured by the network to the UE, and UE stores this assignment and uses it according to the pre-configured timing given by the network in RRC signaling messages.

      Once SPS is configured, UE will start monitoring the PDCCH because the time-domain resource allocation is done using PDCCH DCI (format 1_0 or 1_1) addressed to CS-RNTI. Even for re-transmissions, PDCCH DCI 1_0 or 1_1 addressed to CS-RNTI is used.
      Once network configured time domain resource allocation using DCI 1_0 or 1_1, the UE periodically uses same time-domain resources until the gNB(MAC) re-transmit PDCCH with new configuration to the UE.
Configure CS for Downlink / SPS

3-Slot Aggregation:
Some time when UE is in bad radio network coverage (far from the network base station or you can say cell edge area) then the big possibility of incorrect PDCCH decoding. so in such scenario the network transmit the PDSCH in consecutive slots  instead of waiting confirmation from the UE.
=> PDSCH AggregationFactor is a mechanism that one DCI can schedule multiple consecutive downlink slots for PDSCH. 
=> The number of the consecutive slots can be 2 or 4 or 8. The number of slots can be determined by the RRC parameter pdsch-AggregationFactor.





In second step, network sends DCI format 1_1 on PDCCH with CRC scrambled with C-RNTI, MCS-C-RNTI, or CS-RNTI.
After slot aggregation is activated, the UE follows the below procedures....
=>    When the MAC entity is configured with pdsch-AggregationFactor > 1, the parameter pdsch-AggregationFactor provides the number of transmissions of a TB within a bundle
=>    After the initial transmission, pdsch-AggregationFactor – 1 HARQ retransmissions follow within a bundle.
=>    Same HARQ process is used for each transmission that is part of the same bundle.
=>    The UE may expect the same symbol allocation across the PDSCH-AggregationFactor consecutive slots i.e., the network shall repeat the same TB across the PDSCH-AggregationFactor consecutive slots applying the same symbol allocation in each slot.
=>    The redundancy version to be applied on the nth transmission occasion of the TB, where n = 0, 1, ... (PDSCH-AggregationFactor - 1), is determined according to table below.

4- Default PDSCH time-domain allocation tables:
        PDSCH and PUSCH scheduling is done by the combination of many different factors. But most of those factors are optional parameters that cannot be configured. Those parameters can be omitted.  If any of those parameters are omitted (not configured), then the system will get those parameters from 3gpp predefined table [38.214 v15.3 - Table 5.1.2.1.1-2,3]. These sets of predefined scheduling parameters are called the 'Default' parameter.

The Default PDSCH time domain resource allocation A for normal CP and extended CP.

Row index
dmrs-TypeA-Position
PDSCH mapping type
K0
Normal CP
Extended CP
S
L
S
L
1
2
Type A
0
2
12
2
6
3
Type A
0
3
11
3
5
2
2
Type A
0
2
10
2
10
3
Type A
0
3
9
3
9
3
2
Type A
0
2
9
2
9
3
Type A
0
3
8
3
8
4
2
Type A
0
2
7
2
7
3
Type A
0
3
6
3
6
5
2
Type A
0
2
5
2
5
3
Type A
0
3
4
3
4
6
2
Type B
0
9
4
6
4
3
Type B
0
10
4
8
2
7
2
Type B
0
4
4
4
4
3
Type B
0
6
4
6
4
8
2,3
Type B
0
5
7
5
6
9
2,3
Type B
0
5
2
5
2
10
2,3
Type B
0
9
2
9
2
11
2,3
Type B
0
12
2
10
2
12
2,3
Type A
0
1
13
1
11
13
2,3
Type A
0
1
6
1
6
14
2,3
Type A
0
2
4
2
4
15
2,3
Type B
0
4
7
4
6
16
2,3
Type B
0
8
4
8
4



=> 38.214 v15.3 - Table 5.1.2.1.1-4: Default PDSCH time domain resource allocation B.
          
Row index
dmrs-TypeA-Position
PDSCH mapping type
K0
S
L
1
2,3
Type B
0
2
2
2
2,3
Type B
0
4
2
3
2,3
Type B
0
6
2
4
2,3
Type B
0
8
2
5
2,3
Type B
0
10
2
6
2,3
Type B
1
2
2
7
2,3
Type B
1
4
2
8
2,3
Type B
0
2
4
9
2,3
Type B
0
4
4
10
2,3
Type B
0
6
4
11
2,3
Type B
0
8
4
12 (Note1)
2,3
Type B
0
10
4
13 (Note1)
2,3
Type B
0
2
7
14 (Note1)
2
Type A
0
2
12
3
Type A
0
3
11
15
2,3
Type B
1
2
4
16
Reserved
Note1: If the PDSCH was scheduled with SI-RNTI in PDCCH Type0 common search space, the UE may assume that this PDSCH resource allocation is not applied     
  

=> 38.214 v15.3 - Table 5.1.2.1.1-5: Default PDSCH time domain resource allocation C 

Row index
dmrs-TypeA-Position
PDSCH mapping type
K0
S
L
1 (Note1)
2,3
Type B
0
2
2
2
2,3
Type B
0
4
2
3
2,3
Type B
0
6
2
4
2,3
Type B
0
8
2
5
2,3
Type B
0
10
2
6
Reserved
7
Reserved
8
2,3
Type B
0
2
4
9
2,3
Type B
0
4
4
10
2,3
Type B
0
6
4
11
2,3
Type B
0
8
4
12
2,3
Type B
0
10
4
13 (Note1)
2,3
Type B
0
2
7
14 (Note1)
2
Type A
0
2
12
3
Type A
0
3
11
15 (Note1)
2,3
Type A
0
0
6
16 (Note1)
2,3
Type A
0
2
6
Note1: The UE may assume that this PDSCH resource allocation is not used, if the PDSCH was scheduled with SI-RNTI in PDCCH Type0 common search space