5G NR: DCI Formats

5G NR: DCI Formats



Introduction: 
         In this blog of our 5g series, we discussed downlink control information or DCI. we will look at its content on how it is encoded and modulated then mapped to the 5g new radio slot etc.


DCI: 
=> downlink control information or DCI carries control information used to schedule user data PD-SCH on the downlink and PU SCH on the uplink.

=> it is carried by the PDC CH or physical downlink control channel.

=> it indicates the location in time and frequency of the data that is scheduled for transmission.

=> the modulation and coding schemes used the number of antenna ports or layers as well as other aspects such as HARQ.

=> the user equipment needs to decode the DCI before they can decode downlink data or transmit uplink data depending on the content of the DCI.

=> one or more of several formats can be used.





 => Format 0 is for uplink grant meaning that it contains information that pertains to data the UE is about to transmit on the uplink.

=> Format 1 is for downlink allocation this means it includes information about the way data was sent to the UE.

=>For both uplink and downlink information there are two possible formats one with
underscore zero(0) and one with an underscore one(1).

=> The format with underscore zero is called the fallback format it is more compact than the full format with underscore one because it doesn't include all options and therefore it trades off less scheduling flexibility for reduced control overhead.

=> finally format 2 addresses the information needed for groups of UEs and TPC commands.

=> Downlink control information uses polar code for error protection this is the main difference with encoding in LTE where tell binding convolutional encoding was used.

=> another difference with LTE where that the CRC used here is longer at 24 bits instead
of 16 for LTE.
=> the CRC value is crumbled with a UE identifier called the radio network temporary identifier(RNTI) in order to indicate that which UE the message is intended for.

=> After encoding downlink control information is scrambled with QPSK modulated and mapped to resource blocks with a very specific pattern.

=>UE must look for PDCCH and decode the PDCCH to get the required DCI information for further processing.



=> There are several significant differences with LTE:
1-  first the PDC CH may not spend the complete 5g bandwidth whereas in LTE it always does this. it is important because of the bandwidth may be much larger up to 400 Mhz in 5g and UEs in 5G or not required to support large bandwidth.

2- PDCCH in 5g supports device-specific beamforming this means, control information can be beamed toward a particular UE, this is possible because of the PDCCH has associated DMRS or demodulation reference symbols which undergo the same beamforming. it is similar to the concept of EPDCCH that was introduced late in LTE deployment.
    
 note that P DCCH is mapped to a corset or control resource set a concept that defines the location of a control region within the 5G resource grid.

Examples:
let us now look at two concrete examples of DCI usage first for downlink data scheduling.

For Downlink:




=>  The UE looks for the pc CH and if a match is found meaning that a block decoded with a CRC that matches the RNTi of a UE. it passes the DCI and extracts all information about where in time and frequency data is located and how data was sent to the UE, with this information, the UE can grab the relevant parts of the 5g grids.

=>Performs channel estimation equalization inverse rate matching and decoding to
retrieve the downlink data packet.

For uplink:





 => for the uplink transmission downlink control information carrying an uplink grant. comes in response to a scheduling request from the UE when the gNB received the scheduling request, it makes all the decisions about when and how the UE should transmit the data that is ready for transmission.

=> Those parameters include beside the time and frequency location and modulation and coding scheme other information such as precoding which comes in the form of an index that points to a table of possible precoding matrices.

=>After decoding the control information for the uplink grant remember this would be format 0_0 and format 0_1. The UE transmits uplink data according to those parameters.

=> To understand how downlink information is mapped to the 5g grid, we must introduce two new concepts.
1- resource element groups
2- control channel elements or CCE

1-Resource element group:
    The resource element group is simply a block of 12 resource elements by one symbol. this is the basic unit used to define CCEs.




2- control channel elements or CCE




=> one control channel element corresponds to six resource element groups this means that one CCE includes six times 12 resource elements that equals 72.

1CCE = 6x12 = 72 resource elements

54 are available for the PDCCH itself.
18 are reserved for associated DMRS or demodulation reference symbols.

 =>one PDCCH is mapped to one or more CCEs. the standard defines several aggregation
levels as in LTE except for the introduction of a new level of 16 which was not available in LTE. 

=> The higher the aggregation level the more resources are used but the more possibility for redundancy enhance.

DCI_Format 0_0 Decoder:

DCI Format 0_0:

This is used for the scheduling of PUSCH in a single cell and it is shared by gNB to UE in DL direction. UE is required to decode the UL grant on PDCCH, so that the UE can transmit PUSCH on UL Slot in Uplink. DCI 0_0 is mainly used for common search space signaling and UL Grant.

Field of DCI 0_0:

Add program

Decoder



Number of BWP RBs :

UL-DCI HexValue      :

Binary value :

DCI Fields No of bits Bits Decimal value
Identifier for DCI formats 1
Frequency domain resource assignment  
Time domain resource assignment 4
Frequency hopping flag 1
Modulation and coding scheme 5
New data indicator 1
Redundancy version 2
HARQ process number 4
TPC command for scheduled PUSCH 2
Padding Bits x
UL/SUL indicator x



5G-NR: MIB


5G-NR: MIB

Introduction:
                   When the UE switches on, it starts listening to the SSB(PSS/SSS/PBCH) for synchronization and tried to get the system information. after the successful cell setup gNB always broadcasting the MIB according to the SSBs occasions.

MIB:
MIB (Master information block) includes the system information and always transmitted on the BCH from network to UE with a periodicity of 80 ms and repetitions made within 80 ms.

it also includes the parameters that are needed to acquire/decode the SIB1 from the cell. 

The first transmission of the MIB is scheduled in subframes defined by [TS 38.211, 7.4.3.2] and repetitions are scheduled according to the period of SSB;

It uses QPSK modulation for transmission from the network to UE It is transmitted on OFDM symbol 1,2,3.


RRC parameters of MIB:

NR PBCH under SSB:


MIB ::=                             SEQUENCE {
    systemFrameNumber                   BIT STRING (SIZE (6)),
    subCarrierSpacingCommon             ENUMERATED {scs15or60, scs30or120},
    ssb-SubcarrierOffset                INTEGER (0..15),  รจ offset in number of sub carrier between SSB(RB-0) and OffsetToPointA.
    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},
    pdcch-ConfigSIB1                    PDCCH-ConfigSIB1,
    cellBarred                          ENUMERATED {barred, notBarred},
    intraFreqReselection                ENUMERATED {allowed, notAllowed},
    spare                               BIT STRING (SIZE (1))
}

Description if parameters:

systemFrameNumber:
The 6 most significant bit (MSB) of the 10-bit System Frame Number. The 4 LSB of the SFN is conveyed in the PBCH transport block as part of channel coding (i.e. outside the MIB encoding).

subCarrierSpacingCommon

Subcarrier spacing for SIB1, Msg.2/4 for initial access and broadcast SI-messages. If the UE acquires this MIB on a carrier frequency <6GHz, the value scs15or60 corresponds to 15 Khz and the value scs30or120 corresponds to 30 kHz. If the UE acquires this MIB on a carrier frequency >6GHz, the value scs15or60 corresponds to 60 Khz and the value scs30or120 corresponds to 120 kHz.

scs15or60

scs30or120

FR1

15 Khz

30 Khz

FR2

60 Khz

120 Khz

 


ssb-SubcarrierOffset
Corresponds to kSSB (see TS 38.213 [13]), which is the frequency domain offset between SSB and the overall resource block grid in the number of subcarriers. (See 38.211).
The value range of this field maybe extended by an additional most significant bit encoded within PBCH as specified in 38.213 [13].
This field may indicate that this beam does not provide SIB1 and that there is hence no common CORESET (see TS 38.213 [13], section 13). In this case, the field pdcch-ConfigSIB1 may indicate the frequency positions where the UE may (not) find a SS/PBCH with a control resource set and search space for SIB1 (see 38.213 [13], section 13)

dmrs-TypeA-Position
Position of (first) DM-RS for in downlink (see 38.211, section 7.4.1.1.1) and in uplink (see 38.211, section 6.4.1.1.3).

cellBarred indicates whether the cell allows UEs to camp on this cell as per specification TS 38.304

intraFreqReselection indicates if Intra frequency cell reselection is Allowed or notAllowed. It controls cell reselection to intra-frequency cells when the highest ranked cell is barred, or treated as barred by the UE as specified in TS 38.304



The call flow of MIB and SIB:






NR and LTE comparison:


Parameters
Long Term Evolution (LTE)
New Radio (NR)
Broadcast Channel
Transport – BCH
Transport – BCH
Physical- PBCH
Physical- PBCH
Periodicity
40 ms periodicity with 10 ms re-transmission periodicity
 80 ms periodicity with repetitions made within 80 ms
Channel Coding
Tail Bit Convolution encoding
Polar Coding
Modulation
QPSK Modulation
QPSK Modulation
Resource Allocation
6 RBs (72 subcarriers) in Frequency domain
It is transmitted on OFDM symbol 1,2,3.
4 symbols of first subframe second slot symbol 0, 1, 2 and 3.
It uses 0 to 239 subcarriers number on symbol 1 & 3, whereas on symbol 2 it uses sub carried number 0 to 47 and 192 to 239



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