5G NR: PDSCH Resource Allocation in Frequency-Domain

1.            Introduction
Time Domain Resource Allocation is thoroughly discussed in the post: ‘PDSCH Resource Allocation in Time-Domain’.
Signalling of frequency-domain resources means, informing the UE about resource blocks (RBs) and the corresponding bandwidth part (BWP) on which the intended data to be transmitted/received. Using the allocated frequency resources, the UE transmits/receives the data on PUSCH/PDSCH.
The post, Bandwidth Parts thoroughly discusses about BWP allocation and this post discusses PDSCH resource allocation in frequency domain in detail. For uplink resource allocation, refer to the post: PUSCH Resource Allocation in Frequency-Domain.
Frequency-domain resource allocation concept in NR is almost similar to that of LTE, except for the fact that NR frequency resources are allocated per BWP whereas in LTE, the resource allocation is done over entire carrier bandwidth.
The network informs the UE about the frequency resources to be used for the reception of PDSCH using DCI Formats 1_0, 1_1 or 1_2. Within these DCI Formats, the field ‘Frequency domain resource assignment carries the required resource allocation information.
2                       PDSCH Frequency-domain Resource Allocation Types
Refer to 5.1.2.2 from 38.214 for more information.
NR supports two types of downlink resource allocation schemes; type 0 and type 1.
When resource allocation is received via fallback DCI Format 1_0, type 0 is always used.
The network informs the UE about which resource allocation scheme to be used via RRC signalling within PDSCH-Config IE;
PDSCH-Config
. . .

resourceAllocation ENUMERATED  {resourceAllocationType0, resourceAllocationType1, dynamicSwitch}
resourceAllocationForDCI-Format1-2-r16 ENUMERATED  {resourceAllocationType0, resourceAllocationType1, dynamicSwitch}
. . .


The field resourceAllocation refers to resource allocation using DCI format 1_1 and the field resourceAllocationForDCI-Format1-2 refers to DCI format 1_2. The value of these two fields should be interpreted as below;
-    resourceAllocationType0 -> resource allocation type 0 should be used.
-    resourceAllocationType1 -> resource allocation type 1 should be used.
-    dynamicSwitch -> resource allocation type is left flexible, meaning that either type 0 or type 1 shall be used as indicated by DCI. The MSB bit of the field ‘Frequency domain resource assignment’ within the DCI 1_1/1_2 is used to indicate resource allocation type 0 or type 1 (bit value = 0 -> type 0 and bit value = 1 -> type 1).
So far, the discussion has been about the resource allocation using DCI formats 1_1 and 1_2. When using DCI format 1_0, always type 1 is used.

Below table provides summary of DCI format vs resource allocation type.


DCI Format
Downlink Resource Allocation Type
DCI Format 1_0
Type 1
DCI Format 1_1
Type 0, Type 1
DCI Format 1_2
Type 0, Type 1
3                       Downlink Resource Allocation Type 0
As discussed in section 2, the network can ask the UE to use type 0 either via RRC signalling (resourceAllocationType0) or via DCI format 1_1/1_2 (dynamicSwitch).
The downlink resource allocation type 0 is a bitmap-based resource allocation scheme. The RB assignment information includes a bitmap indicating the Resource Block Groups (RBGs) that are allocated to the scheduled UE.
An RBG is a set of consecutive Virtual Resource Blocks (VRB). In type 0, non-interleaved VRB-to-PRB mapping is performed, meaning that VRBn is directly mapped to PRBn.
The number of RBs within an RBG are derived based on the RRC parameter rbg-size configured by PDSCH-Config and the size of the bandwidth part.
The parameter rbg-Size controls the selection between configuration 1 and configuration 2 for RBG size for PDSCH. This filed is only applicable for downlink resource allocation type 0.
PDSCH-Config
  . . .

rbg-Size ENUMERATED  {config1, config2}
  . . .


The following table summarises the relationship between rbg-size configuration and bandwidth part size.
Bandwidth Part Size
RGB Size (P)
Configuration 1
Configuration 2
1 – 36
2
4
37 - 72
4
8
73 - 144
8
16
145 - 275
16
16

The bitmap is of size NRBG bits with each bit within the bitmap represents an RBG such that each RBG within the bandwidth part is addressable.
RBG bitmap is such that RBG#0 to RBG#NRBG−1 are mapped from MSB to LSB of the bitmap.
As explained with the below equations, the bitmap is of size NRBG and varies depending upon the size of the bandwidth part and the position of the bandwidth part within the CRB grid, and RBG size (P).


Example1 below illustrates the distribution of RBGs and RBG bitmap when position of bandwidth part within CRB grid starts at an RB value that is an integer multiple of RBG size.

Example2 below illustrates the distribution of RBGs and RBG bitmap when position of bandwidth part within CRB grid starts at an RB value that is not an integer multiple of RBG size.
Finally, let’s look at how RBG allocation is done to individual UEs. As discussed already, the field Frequency domain resource assignment (bitmap) within DCI 1_1/1_2 is used to indicate which RBGs are allocated to the UE.
An RBG is allocated to the UE if the corresponding bit value in the bitmap is 1, the RBG is not allocated to the UE if the bit value is 0.
Consider an example with two UEs and UE1’s resource allocation bitmap = 10011001 and UE2’s bitmap = 01100110, the following figure illustrates which RBs are allocated to UE1 and UE2.


















4                       Downlink Resource Allocation Type 1
As discussed in Section 3, type 0 relies on RBG bitmap-based allocation scheme whereas in type 1 the network provides the UE with an encoded value of starting resource block number and the length of RBs.
In type 1, the resource block assignment information indicates to a scheduled UE a set of contiguously allocated non-interleaved or interleaved VRBs.
Type 1 supports contiguous allocation of VRB only. With type 1, the number of bits required to represent a set of RBs is less than that of type 0.
As type 1 takes less bits as compared to type 0, fallback DCI format 1_0 uses type 1. For fallback DCI formats, reduced overhead is desirable as compared to scheduling flexibility as a result of non-contiguous RB allocation.
The network can allocate resources for type 1 via ‘Frequency domain resource assignment’ field within DCI formats 1_0, 1_1 and 1_2.
The procedure for deriving the allocated PRBs involves two steps;
-    Using RIV method, derive a set of contiguously allocated VRBs (start VRB and length of VRBs).
-    Perform VRB-to-PRB mapping: In this step, a set of VRBs (derived from step 1) are mapped onto a set of PRBs using interleaved or non-interleaved mapping procedure.

Step-1: Derive contiguously allocated VRBs:
In general, a downlink type 1 resource allocation field consists of a resource indication value (RIV) corresponding to a starting virtual resource block number (RBstart) and a length in terms of contiguously allocated VRBs (LRBs).
The RIV value is defined by the following equation;


Let’s consider a couple of examples and derive RIV value;


Downlink Resource Allocation Type 1 when received via DCI format 1_2:
When the downlink assignment is received with DCI format 1_2, the RIV corresponds to starting RBG and length in terms of RBGs. Note RB group here instead of individual RB assignment (DCI format 1_0/1_1).
With this scheme, the total number of bits required to represent all RBs within the bandwidth part are less than that of type 1 RIV scheme used in DCI formats 1_0 and 1_1.
The size of RBG is provided by RRC parameter ResourceAllocationType1-granularity-ForDCIFormat1_2 within PDSCH-Config IE. If this field is not configured, then RBG size should be set to 1. This field configures the scheduling granularity applicable for both the starting point and length indication. The granularity can be 2, 4, 8 or 16 RBs.
PDSCH-Config
  . . .

resourceAllocationType1GranularityForDCI-Format1-2-r16 ENUMERATED  {n2, n4, n8, n16}
  . . .


The resource allocation field consists of a resource indication value (RIV) corresponding to a starting resource block group RBGstart (0, 1, …, NRBG-1) and length in terms of virtually contiguously allocated resource block groups LRBGs (1, 2, …, NRBG).
In the RIV equation, instead of starting RB and total RBs, starting RBG and total RGBs are used. The RIV value is defined by the following equation;


Let’s consider a couple of examples and derive RIV value;


Step-2: VRB-to-PRB mapping:
For more details, see section 7.3.1.6 from 38.211.
After step 1, the starting VRB number and the number of consecutive VRBs are known. Now, the goal is to derive the actual PRBs required for the reception of PDSCH. To do so, VRB-to-PRB mapping needs to be done.
VRB-to-PRB mapping can be of two types: interleaved and non-interleaved;
Fallback DCI format 1_0 includes a single bit field ‘VRB-to-PRB mapping’ whose interpretation is as given in the below table;
Bit field value
VRB-to-PRB mapping Type
0
Non-interleaved
1
Interleaved

For non-fallback DCI formats 1_1 and 1_2, RRC needs to inform the UE whether or not this bit field is present in the DCI. PDSCH-config IE carries a field called vrb-ToPRB-Interleaver for DCI format 1_1 and vrb-ToPRB-InterleaverForDCI-Format1-2 for DCI format 1_2.
PDSCH-Config
. . .

vrb-ToPRB-Interleaver ENUMERATED  {n2, n4}
vrb-ToPRB-InterleaverForDCI-Format1-2 ENUMERATED  {n2, n4}
. . .


-    When this field is absent, non-interleaved mapping is used and DCI doesn’t carry ‘VRB-to-PRB mapping’ field.
-    Inclusion of this field means; DCI format 1_1/1_2 includes a single bit field ‘VRB-to-PRB mapping’ within the DCI. This bit field can still control (as show in the above table) whether or not interleaved mapping is used -> Bit value 0 indicates non-interleaved and value 1 indicates interleaved mapping.
-    When interleaved mapping is indicated, this field also indicates corresponding interleaving unit called Resource Block Bundles (RBB, discussed in the next section). This field can configure RBB as 2 or 4 RBs as shown below;

Type 1: Interleaved VRB-to-PRB mapping
An interleaved VRB-to-PRB uses a concept called Resource Block Bundles (RBB), each RBB is a set of contiguous RBs.
The size of the RBB is provided by PDSCH-Config via vrb-ToPRB-Interleaver for DCI format 1_1 and vrb-ToPRB-InterleaverForDCI-Format1-2 for DCI format 1_2. This field can configure the size of RBB as either 2 RBs or 4 RBs.
When using fallback DCI format 1_0 for interleaved VRB-to-PRB mapping, the RBB size is not configured by RRC but is fixed to be 2 RBs.
Depending upon the size of the bandwidth part and the position of the bandwidth part within the CRB grid, and RBB size (L), the RBB sizes of the first and last RBB could be different to that of RBB size configured by the RRC.


Example1 below illustrates the distribution of RBBs when position of bandwidth part within CRB grid starts at an RB value that is an integer multiple of RBB size.


Example2 below illustrates the distribution of RBBs when position of bandwidth part within CRB grid starts at an RB value that is not an integer multiple of RBB size.


The general procedure of interleaved VRB-to-PRB mapping is as described below;


Let’s consider the same example 2 above and check how mapping is done;


In the above example let’s say that an UE gets an allocation of start VRB = 56 and length = 8 VRBs -> virtual RB bundles 2 and 3. As a result of VRB-to-PRB mapping, the UE gets Physical RB bundles 1 and 5 -> allocated PRBs: 52, 53, 54, 55, 68, 69, 70, and 71
Type 2: Non-interleaved VRB-to-PRB mapping
In non-interleaved VRB-to-PRB mapping, VRBn is directly mapped on PRBn as no interleaving procedure is involved.
In the above example let’s say that an UE gets an allocation of start VRB = 56 and length = 8 VRBs -> start PRB = 56 and length = 8 PRBs are allocated to the UE.
As it is obvious, since VRB allocation is contiguous, the resulting PRB allocation is also contiguous as there is no interleaving involved.

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