### 5G NR: PDSCH Resource Allocation in Time-Domain

1.            Introduction
As discussed in the post: Time Domain – Slots and Slot Formats, number of slots/symbols available for transmission/reception varies depending upon the network configuration. Therefore, it is important for the network to signal the UE about the timing of data transmission/reception.
Signalling of time-domain resources means, informing the UE about which slots/symbols the data can be transmitted/received. Similar to LTE, NR resource allocation is done either dynamically or in semi-persistent manner.
Dynamic scheduling in the uplink is done using PDCCH DCI. For semi-persistent scheduling, NR defines two mechanisms; one using PDCCH DCI (similar to LTE) and the other one purely via RRC signalling (new in NR).
PDCCH DCI is used for both dynamic and Semi-Persistent Scheduling (SPS) in the downlink (similar to LTE).
Time-domain PUSCH resource allocation is discussed in the post: PUSCH Resource Allocation in Time-Domain. In this post, downlink (PDSCH) resource allocation in time-domain is discussed in detail.
2                       PDSCH Resource Allocation in Time-Domain
2.1             Dynamic Scheduling
For more details on PDSCH time-domain resource allocation, refer to section 5.1.2.1 of 38.214.
In NR, DCI formats 1_0 and 1_1 are used to dynamically allocate time-domain resources for PDSCH. These DCI formats are thoroughly discussed in the post: DCI Formats in 5G NR.
In the case of dynamic scheduling, PDCCH carrying DCI 1_0 and 1_1 are in general addressed to either C-RNTI or MCS-C-RNTI. Other RNTIs such as SI-RNTI, P-RNTI, Temporary C-RNTI, and RA-RNTI are also used for this purpose.
DCI formats 1_0 and 1_1 carries 4-bit field named ‘time domain resource assignment’ which points to one of the rows of a look-up table. How the UE determines which look-up table to be used is discussed in section 2.1.2.
There can be up to 16 rows in the look-up table and hence only 4-bits are used for the field ‘time domain resource assignment’ and value ‘m’ for this field points to row number ‘m+1’ within the look-up table.
Each row in the look-up table provides the following parameters;
-      slots offset K0. This parameter is used to derive the slot in which PDSCH reception occurs. When K0 = 0, PDSCH reception is intended within the same slot where DCI is received. When allocation and PDSCH transmission are contained in the same slot, it is referred to as ‘self-contained’ slot.
-      SLIV (jointly coded start and length indicator values), or individual values for the start symbol ‘S’ and the allocation length ‘L’.
-      PDSCH mapping type’ to be assumed on the PDSCH reception.
The contents of the look-up table are summarised below;
 Parameter Explanation K0 Used to derive the slot offset from the slot where DCI is received S ’S’ is the ‘start symbol’ -> First symbol in the slot in which PDSCH will be received L Allocation length in number of OFDM symbols. SLIV Start and Length values are jointly encoded to produce Start and length Indicator Value (SLIV) PDSCH mapping type PDSCH mapping type (Type A or Type B) to be assumed in the PDSCH reception.

The following figure illustrates an example with time domain resource assignment field in DCI 1_0/1_1 indicating (based on look-up table) K0 = 1, S = 4 and L = 7.

In the above illustration, it is assumed that SCS for PDSCH and PDCCH are the same.
It is possible that network configures different SCS for PDCCH and PDSCH. Determining slot offset based on just K0 is not sufficient if SCS for PDCCH and PDSCH are different. In such cases, the slot where the UE shall receive the PDSCH is calculated according to the below equation;
$The\:slot\:number\:allocated\:for\:PDSCH\:=\:\Big \lfloor n.\dfrac{2^{\mu_{PDSCH}}}{2^{\mu_{PDCCH}}} \Big\rfloor + K_0$
where n is the slot with the scheduling DCI, K0 is based on the numerology of PDSCH, and µPDSCH and µPDCCH are the subcarrier spacing configurations for PDSCH and PDCCH, respectively.
Considering same example from the above illustration, K0 = 1, S = 4, L = 7, µPDSCH = 2, and µPDCCH = 0 => if the DCI is received in slot number 1 (using PDCCH SCS), the PDSCH will be received in the slot number 5 (= 4+1 based on the above equation) using PDSCH SCS. Note that in this example, there are 4 times more number of slots with PDSCH SCS as compared to PDCCH SCS.
2.1.1           Valid ‘S’ and ‘L’ combinations:
Not all start and length values are valid due to the fact that a single time-domain resource allocation must be contained within a slot i.e., the allocation should not cross the slot boundary.
Moreover, the number of symbols in a slot varies with cyclic prefix which will also limit number of allowed start and length combinations => for normal CP, a slot contains 14 OFDM symbols and with extended CP, 12 OFDM symbols form a slot.
The UE shall consider the S and L combinations defined in table below as a valid PDSCH allocations. Note from column ‘S+L’ that the sum of start symbol number and allocation length should not exceed 14 for normal CP and 12 for extended CP.
 PDSCH Mapping Type Normal cyclic prefix Extended cyclic prefix S L S+L S L S+L Type A {0, 1, 2, 3} (Note1) {3,…,14} {3,…,14} {0, 1, 2, 3} (Note1) {3,…,12} {3,…,12} Type B {0,…,12} {2, 4, 7} {2,…,14} {0,…,10} {2, 4, 6} {2,…,12} Note1: S = 3 is applicable only if dmrs-TypeA-Position = 3

2.1.2           Which resource allocation table to be used for PDSCH?

There are two types of PDSCH resource allocation tables (look-up tables);
1.     default PDSCH time domain allocation table”: There are a couple of pre-defined default tables in 38.214, table 5.1.2.1.1-2, 5.1.2.1.1-4, 5.1.2.1.1-5 for normal CP and table 5.1.2.1.1-3 for extended CP.
2.    RRC configured table pdsch-TimeDomainAllocationList sent in either pdsch-ConfigCommon (sent via SIB1 or dedicated RRC signalling) or pdsch-Config (sent via dedicated RRC signalling)
The UE will choose appropriate table based on several factors like which of the above tables is configured in the UE, RNTI, SSB and CORESET multiplexing pattern, search space type etc… Table 5.1.2.1.1-1 in 38.214 specifies the table selection criteria and is presented below for a quick reference.
 RNTI PDCCH search space SS/PBCH block and CORESET multiplexing pattern pdsch-ConfigCommon includes pdsch- TimeDomain AllocationList pdsch-Config includes pdsch-TimeDomain AllocationList PDSCH time domain resource allocation to apply SI-RNTI Type0 common 1 N/A N/A Default A for normal CP 2 N/A N/A Default B 3 N/A N/A Default C SI-RNTI Type0A common 1 No N/A Default A 2 No N/A Default B 3 No N/A Default C 1,2,3 Yes N/A pdsch-TimeDomain AllocationList provided in pdsch-ConfigCommon RA-RNTI, TC-RNTI Type1 common 1, 2, 3 No N/A Default A 1, 2, 3 Yes N/A pdsch-TimeDomain AllocationList provided in pdsch-ConfigCommon P-RNTI Type2 common 1 No N/A Default A 2 No N/A Default B 3 No N/A Default C 1,2,3 Yes N/A pdsch-TimeDomain AllocationList provided in pdsch-ConfigCommon C-RNTI,  MCS-C-RNTI, CS-RNTI Any common search space associated with  CORESET 0 1, 2, 3 No N/A Default A 1, 2, 3 Yes N/A pdsch-TimeDomain AllocationList provided in pdsch-ConfigCommon C-RNTI,  MCS-C-RNTI,  CS-RNTI Any common search space not associated with  CORESET 0 (or) UE specific search space 1,2,3 No No Default A 1,2,3 Yes No pdsch-TimeDomainAllocationList provided in pdsch-ConfigCommon 1,2,3 No/Yes Yes pdsch-TimeDomainAllocationList provided in pdsch-Config

Notes from the above table;
-    There are 3 different default PDSCH time domain allocation tables; Default A, Default B and Default C.
-    default PDSCH time domain allocation table is chosen in cases where TimeDomainAllocationList is not configured by either pdsch-ConfigCommon or PDSCH-Config (for applicable cases).
-    If available, TimeDomainAllocationList provided by pdsch-ConfigCommon is always used except for a case where the same list is also provided by pdsch-Config and the concerned search space is either UE-specific or common search space not associated with CORESET0.
-    For P-RNTI and SI-RNTI, the default table type depends upon SSB and CORESET multiplexing pattern. pattern 1 => Default A, pattern 2 => Default B, and for pattern 3 => Default C.
2.1.2.1        Default PDSCH time-domain allocation tables
Default PDSCH time domain resource allocation tables are presented in section 4 in this post.
2.1.2.2        TimeDomainAllocationList
TimeDomainAllocationList is configured by either pdsch-ConfigCommon or pdsch-Config.
The IE pdsch-TimeDomainResourceAllocation is used to configure a time-domain relation between PDCCH and PDSCH. pdsch-TimeDomainResourceAllocationList contains one or more (up to 16) of such pdsch-TimeDomainResourceAllocations.
The network indicates in the DL assignment which of the configured time domain allocations the UE shall apply for that DL assignment. Value 0 in the DCI field refers to the first element in this list, value 1 in the DCI field refers to the second element in this list, and so on.
The bit width of the DCI field is based on the number of entries in the pdsch-TimeDomainResourceAllocationList.
pdsch-TimeDomainResourceAllocationList IE structure is shown below. It contains K0, PDSCH mapping type, and startSymbolAndLength (SLIV).
 PDSCH-TimeDomainResourceAllocationList PDSCH-TimeDomainResourceAllocationList List from 1 up to 16 PDSCH-TimeDomainResourceAllocation PDSCH-TimeDomainResourceAllocation k0 INTEGER  (0..32) mappingType ENUMERATED  {type A, type B} startSymbolAndLength INTEGER  (0..127)

-    The value of K0 ranges from 0 to 32, when K0 is absent, the UE applies the value 0.
-    startSymbolAndLength provides an index giving valid combinations of start symbol and length (jointly encoded) as start and length indicator (SLIV). The network configures the field so that the allocation does not cross the slot boundary.
As can be noted, in this option, the network doesn’t give individual values of starting symbol ‘S’ and length value ‘L’, instead, a jointly encoded value (SLIV) is provided.
The ‘S’ and ‘L’ values allocated for the PDSCH are determined from the SLIV as shown below:
if (L − 1) ≤ 7:
SLIV = 14.(L − 1) + S
else:
SLIV = 14(14 − L + 1) + (14 − 1 − S)
where 0 < L ≤ 14 − S
2.1.3           PDSCH mapping type:
Refer to section 7.4.1.1.2 from 38.211 for additional details.
PDSCH mapping type defines the DM-RS configuration of PDSCH transmissions. Depending upon the location of first DM-RS symbol, there are two mapping types defined; type A and type B.
As discussed already, time domain resource assignment field within the DCI points to a row number within the look-up table and each row defines PDSCH mapping type (either type A or type B) to be followed.
PDSCH mapping type A:
In type A, DM-RS is mapped relative to the start of the slot irrespective of which symbol in the slot the PDSCH transmission starts.
The position of the first DM-RS symbol for type A is configured by RRC via either MIB or via ServingCellConfigCommon (SIB1 or dedicated signalling). The field dmrs-TypeA-Position is used for this purpose. This field takes two values pos2 or pos3. First symbol of DM-RS is located at either symbol 2 (pos2) or at symbol 3 (pos3) within the slot.
 dmrs-TypeA-Position ENUMERATED  { pos2, pos3 }

PDSCH mapping type B:
In type B, DM-RS is mapped relative to the start of the PDSCH allocation rather than start of the slot boundary. To be precise, the DM-RS location is the first OFDM symbol where PDSCH reception starts.
In this case, as the DM-RS start symbol is fixed, the network need not explicitly provide configuration for type B.
Valid S and L combinations:
‘S’ and ‘L’ values are defined separately for each PDSCH mapping type because, not all combinations are valid for a given mapping type.
 PDSCH Mapping Type Normal cyclic prefix Extended cyclic prefix S L S+L S L S+L Type A {0, 1, 2, 3} (Note1) {3,…,14} {3,…,14} {0, 1, 2, 3} (Note1) {3,…,12} {3,…,12} Type B {0,…,12} {2, 4, 7} {2,…,14} {0,…,10} {2, 4, 6} {2,…,12} Note1: S = 3 is applicable only if dmrs-TypeA-Position = 3

2.2             Semi-Persistent Scheduling
For 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. The assignment received using CS-RNTI is referred to as configured downlink assignment.
Similar to downlink SPS in LTE, configured downlink assignment in NR is given by the network to the UE who stores this assignment and uses it according to the pre-configured timing given by the network.
Configured downlink assignment will be discussed thoroughly in a separate post.
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 configured using DCI 1_0 or 1_1, the UE periodically uses same time-domain resources until the configured downlink assignment is re-activated (kind of reconfiguration at MAC level).
As the time-domain resource allocation is done using DCI 1_0 or 1_1 (similar to dynamic allocation), all the discussions in section 2.1 are valid for downlink SPS as well.
3                       Slot Aggregation:
In a cell edge scenario, the probability of incorrectly decoding PDSCH is more, so instead of waiting confirmation from the UE, it would be beneficial to transmit PDSCH in consecutive slots.
With slot aggregation data transmission can span over multiple slots i.e., the network would transmit same TB across a pre-configured number of consecutive slots.
In the first step, the network configures slot aggregation via RRC signalling; pdsch-AggregationFactor within PDSCH-Config IE is used for dynamic and semi-persistent scheduling. This field can take values of 2, 4 or 8 repetitions as shown below;
 pdsch-AggregationFactor ENUMERATED  { n2, n4, n8 }

In the second step, network sends DCI format 1_1 on PDCCH with CRC scrambled with C-RNTI, MCS-C-RNTI, or CS-RNTI.
Once slot aggregation is activated, the UE follows the below procedure;
-    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.
 rvid indicated by the DCI scheduling the PDSCH rvid to be applied to nth transmission occasion n mod 4 = 0 n mod 4 = 1 n mod 4 = 2 n mod 4 = 3 0 0 2 3 1 2 2 3 1 0 3 3 1 0 2 1 1 0 2 3

-     For the case of SPS, except for activation, there is no PDCCH involved for scheduling PDSCH. In this case, the UE should assume rvid = 0 for initial transmission (n mod 4) and follow the pattern {0, 2, 3, 1} for retransmissions (1st row in the above table).
Note that when slot aggregation is active, the PDSCH is limited to a single transmission layer.
The following example illustrates PDSCH slot aggregation;

4                       Default PDSCH time-domain allocation tables:
 Default PDSCH time domain resource allocation A 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

 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

 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

Reference: 3GPP TS 38.211, 38.212, 38.213, 38.214, and 38.331