5G/NR - DCI                                                                               Home : www.sharetechnote.com

 

 

 

 

 

 

DCI

 

The main purpose of DCI (Downlink Control Information) is the same as DCI in LTE(I strongly recommend you to read LTE DCI page first if you are not so familiar with what the DCI does). That is, it is a special set of information which schedules downlink data channel (e.g, PDSCH) or uplink data channel (e.g, PUSCH).

 

Followings are the list of DCI types and its contents defined in 38.212 - 7.3 Downlink control information.

 

< 38.212 - Table 7.3.1-1: DCI formats >

DCI Format

Usage

Format 0_0

Scheduling of PUSCH in one cell

Format 0_1

Scheduling of PUSCH in one cell

Format 1_0

Scheduling of PDSCH in one cell

    DCI format 1_0 with CRC scrambled by C-RNTI

    DCI format 1_0 with CRC scrambled by RA-RNTI

    DCI format 1_0 with CRC scrambled by TC-RNTI

    DCI format 1_0 with CRC scrambled by SI-RNTI

    DCI format 1_0 with CRC scrambled by P-RNTI

Format 1_1

Scheduling of PDSCH in one cell

Format 2_0

Notifying a group of UEs of the slot format

Format 2_1

Notifying a group of UEs of the PRB(s) and OFDM symbol(s) where UE may assume no transmission is intended for the UE

Format 2_2

Transmission of TPC commands for PUCCH and PUSCH

Format 2_3

Transmission of a group of TPC commands for SRS transmissions by one or more UEs

 

 

NOTE : The contents of the table shown here is based on 38.212. This specification is very dry. As any other 3GPP spcecification, it just describes 'what should be done' and does not describe anything on the background story. To get any further technical background, you need to follow through a lot of TDocs. However, unless you are a firmware or DSP engineering implementing the physical channel, it will be very difficult to keep track of all the TDocs. One trick that I would recommend is to go through several latest TDocs not far away from TS (Technical Specification) because those TDocs usually have the summary of past stories and more detailed design concept. I put several TDocs under Reference section that might help you to get some background stories.

 

 

 

Format 0_0

 

This is used for the scheduling of PUSCH in one cell.

 

Field (Item)

Bits

Reference

Identifier for DCI formats

1

 

Frequency domain resource assignment

N

Variable with UL BWP N_RB.

Indicate PRB location within the BWP.

The number of bits and the value is determined as described here.

Time domain resource assignment

X

Carries the row index of the items in pusch_allocationList in RRC

Frequency Hopping Flag

1

 

Modulation and coding scheme

5

38.214 - 6.1.4 (See this table)

New data indicator

1

 

Redundancy version

2

0,1,2,3

HARQ process number

4

 

TPC command for scheduled PUSCH

2

38.213 - Table 7.1.1-1

UL/SUL indicator

0 or 1

0 bit : SUL not figured

1 bit : SUL configured

 

 

< Frequency domain resource assignment >

 

The number of bits(bit length) for this field is determined by following formula

     

    The meaning of varies depending on the search space where DCI_0_0 is transmitted.

    • When stransmitted in common search space,
      • it indicates the size of the Initial Bandwidth Part

    • When stransmitted in UE specific search space and meets following criteria
        • the total number of different DCI sizes monitored per slot <= 4

          the total number of different DCI sizes with C-RNTI monitored per slot <= 3

        it indicates the size of the Active Bandwidth Part

The value of this field is determined as follows.

    Case 1 : PUSCH hopping = True and Resource allocation type 1

      • MSB bits are used to indicate the frequency offset
        • = 1 if  Frequency-hopping-offsets-set contains two offset values
        • = 2 if  Frequency-hopping-offsets-set contains four offset values
        • Remaining Bits indicates PUSCH RIV

     

    Case 2 : PUSCH hopping = False and Resource allocation type 1

      • the whole bits of this field indicates PUSCH RIV

     

 

 

 

< 38.214 v15.1 - Table 6.1.4.1-1: MCS index table for PUSCH with transform precoding and 64QAM >

 

MCS Index

I_MCS

Modulation Order

Qm

Target code Rate

R x 1024

Spectral

efficiency

0

q

240/ q

0.2344

1

q

314/ q

0.3066

2

2

193

0.377

3

2

251

0.4902

4

2

308

0.6016

5

2

379

0.7402

6

2

449

0.877

7

2

526

1.0273

8

2

602

1.1758

9

2

679

1.3262

10

4

340

1.3281

11

4

378

1.4766

12

4

434

1.6953

13

4

490

1.9141

14

4

553

2.1602

15

4

616

2.4063

16

4

658

2.5703

17

6

466

2.7305

18

6

517

3.0293

19

6

567

3.3223

20

6

616

3.6094

21

6

666

3.9023

22

6

719

4.2129

23

6

772

4.5234

24

6

822

4.8164

25

6

873

5.1152

26

6

910

5.332

27

6

948

5.5547

28

1

reserved

29

2

reserved

30

4

reserved

31

6

reserved

 

 

 

< 38.213 v2.0.0 - Table 7.1.1-1: Mapping of TPC Command Field in DCI format 0_0, DCI format 0_1, or DCI format 2_2, or DCI format 2_3 having CRC parity bits scrambled by TPC-PUSCH-RNTI or TPC-SRS-RNTI, to absolute and accumulated  d_PUSCH,c values >

 

 

 

Format 0_1

 

This is used for the scheduling of PUSCH in one cell.

 

Field (Item)

Bits

Reference

Identifier for DCI formats

1

 

Carrier indicator

0 or 3

 
UL/SUL Indicator

0,1

0 - bit for UE not configured with SUL in the cell

1 - bit for UEs configured with SUL in the cell

Bandwidth part indicator

0,1,2

Determined by BandwidthPart-Config in higher layer message and 38.212 - Table 7.3.1.1.2-1

Frequency domain resource assignment

Variable

Variable with Resource Allocation Type

Time domain resource assignment

0,1,2,3,4

Carries the row index of the items in pusch_allocationList in RRC

Number of Bit Length is determined by log(I,2), where I is the number of elements in pusch_allocationList in RRC

Frequency Hopping Flag

0,1

 

Modulation and coding scheme

5

38.214 - 6.1.4 (See this table)

New data indicator

1

 

Redundancy version

2

0,1,2,3

HARQ process number

4

 

1st Downlink assignment index

1,2

 

2nd Downlink assignment index

0,2

 

TPC command for scheduled PUSCH

2

 

SRS resource indicator

Variable

Determined by RRC Parameter SRS-SetUse

Precoding information and number of layers

0,2,3,4,5,6

Determined by ulTxConfig, Number of Antenna ports, PUSCH-tp, ULmaxRank

Antenna ports

2,3,4,5

Determined by PUSCH-tp, DL-DMRS-config-type, DL-DMRS-config-max-len, Rank

SRS request

2

Table 7.3.1.1.2-24

CSI request

0,1,2,3,4,5,6

Determined by ReportTriggerSize in RRC message

CBG transmission information

0,2,4,6,8

Determined by maxCodeBlockGroupPerTransportblock in RRC message

PTRS - DMRS Association

0,2

Determined by UL-PTRS-present, PUSCH-tp in RRC Message

beta_offsetr Indicator

0,2

0 - if uci-on-PUSCH.dynamic = Not Configured

2 - otherwise, see Table 7.3.1.1.2-27

DMRS Sequence Initialization

0,1

0 - if PUSCH-tp=Disabled

1 - if PUSCH-tp=Enabled

UL-SCH Indicator

1

0 - UL-SCH shall not be transmitted on the PUSCH

1 - UL-SCH shall be transmitted on the PUSCH

 

 

 

< 38.212 v2.0.0 - Table 7.3.1.1.2-1: Bandwidth part indicator  >

Value of BWP indicator field

Bandwidth part

1 bit

2 bits

0

0

First bandwidth part configured by higher layers

1

1

Second bandwidth part configured by higher layers

 

10

Third bandwidth part configured by higher layers

 

11

Fourth bandwidth part configured by higher layers

 

 

< Frequency domain resource assignment >

 

The bit length of this field is determined as follows.

 

Resource Allocation Type

Mumber of Bits

Resource Allocation Type 0 only

, P is defined in 38.214 Table 6.1.2.2.1-1

Resource Allocation Type 1 only

Resource Allocation Type 0 and Type 1

Bit Length :

      

MSB Indicates Resource Allocation Type

     0 : Resource Allocation Type 0

     1 : Resource Allocation Type 1

 

The value of this field is determined as follows :

  • Resource Allocation Type 0 only : Bitmap determined as described here.
  • Resource Allocation Type 1 only : Determined depending on PUSCH Hopping field as follows
    • Case 1 : PUSCH hopping = True
        • MSB bits are used to indicate the frequency offset
          • = 1 if  Frequency-hopping-offsets-set contains two offset values
          • = 2 if  Frequency-hopping-offsets-set contains four offset values
          • Remaining Bits indicates PUSCH RIV
    • Case 2 : PUSCH hopping = False
        • the whole bits of this field indicates PUSCH RIV

 

 

< 38.214-Table 6.1.2.2.1-1: Nominal RBG size P >

Carrier Bandwidth Part Size

Configuration 1

Configuration 2

[1st Range of RBs]

P = [one of {2, 4, 8, 16}]

P = [one of {2, 4, 8, 16}]

[2nd Range of RBs]

P = [one of {2, 4, 8, 16}]

P = [one of {2, 4, 8, 16}]

[3rd Range of RBs]

P = [one of {2, 4, 8, 16}]

P = [one of {2, 4, 8, 16}]

[4th Range of RBs]

P = [one of {2, 4, 8, 16}]

P = [one of {2, 4, 8, 16}]

NOTE : Which RBG(Resource Block Group) size to be used is determined by PUSCH-Config.rbg-Size in RRC message from gNB

 

 

< SRS resource indicator >

SRS-SetUse

Bit Length of SRS Resource Indicator

CodeBook

N_SRS is the number of configured SRS resources in the SRS resource set associated with  SRS-SetUse

NonCodeBook

 

 

 

 

< Precoding information and number of layers >

ulTxConfig

Antenna

PUSCH-tp

ULmaxRank

ULCodebookSubset

Bit Length

Table

NonCodeBook

 

 

 

 

0

 

CodeBook

4 ports

Disabled

2 or 3 or 4

 

4 or 5 or 6

7.3.1.1.2-2

CodeBook

4 ports

Disabled

 

 

2 or 4 or 5

7.3.1.1.2-3

Enabled

1

 

CodeBook

2 ports

 

2

 

3 or 4

7.3.1.1.2-4

CodeBook

2 ports

 

1

 

2 or 3

7.3.1.1.2-5

NOTE : PUSCH-tp indicates PUSCH Transform Precoding. Refer to Transform Precoding section in Waveform Page if you want to know what this is.

 

 

<  Antenna ports >

PUSCH-tp

DL-DMRS-config-type

DL-DMRS-config-max-len

Rank

Bit Lenth

Table

Enabled

1

1

 

2

7.3.1.1.2-6

1

2

 

4

7.3.1.1.2-7

Disabled

1

1

1

3

7.3.1.1.2-8

1

1

2

3

7.3.1.1.2-9

1

1

3

3

7.3.1.1.2-10

1

1

4

3

7.3.1.1.2-11

Disabled

1

2

1

4

7.3.1.1.2-12

1

2

2

4

7.3.1.1.2-13

1

2

3

4

7.3.1.1.2-14

1

2

4

4

7.3.1.1.2-15

Disabled

2

1

1

4

7.3.1.1.2-16

2

1

2

4

7.3.1.1.2-17

2

1

3

4

7.3.1.1.2-18

2

1

4

4

7.3.1.1.2-19

Disabled

2

2

1

5

7.3.1.1.2-20

2

2

2

5

7.3.1.1.2-21

2

2

3

5

7.3.1.1.2-22

2

2

4

5

7.3.1.1.2-23

NOTE : PUSCH-tp indicates PUSCH Transform Precoding. Refer to Transform Precoding section in Waveform Page if you want to know what this is.

 

 

<  PTRS - DMRS Association >

UL-PTRS-present

PUSCH-tp

UL PTRS port

UL-PTRS-ports

Bit Length

Table

OFF

Disabled

 

 

0

N/A

ON

Enabled

 

 

0

N/A

ON

Disabled

 

 

0

N/A

Otherwise

0

1

2

7.3.1.1.2-25

0

2

2

7.3.1.1.2-26

1

2

2

7.3.1.1.2-26

 

 

 

Format 1_0

 

 

This is used for the scheduling of PDSCH in one cell.

 

< DCI format 1_0 with CRC scrambled by C-RNTI >  

Field (Item)

Bits

Reference

Identifier for DCI formats

1

Always set to 1, meaning this is for DL

Frequency domain resource assignment

Variable

Variable with DL BWP N_RB

     

Time domain resource assignment

4

Carries the row index of the items in pdsch_allocationList in RRC

VRB-to-PRB mapping

1

According to 38.212 Table 7.3.1.1.2-33

     0 : Non-Interleaved

     1 : Inverleaved

Modulation and coding scheme

5

38.214  - Table 5.1.3.1-1: MCS index table 1 for PDSCH

38.214 - Table 5.1.3.1-2: MCS index table 2 for PDSCH

New data indicator

1

 

Redundancy version

2

 

HARQ process number

4

 

Downlink assignment index

2

 

TPC command for scheduled PUCCH

2

 

PUCCH resource indicator

3

 

PDSCH-to-HARQ_feedback timing indicator

3

Row number(index) of K1

 

The meaning of varies depending on the search space where DCI_1_0 is transmitted.

    When stransmitted in common search space,

      it indicates the size of the Initial Bandwidth Part

    When stransmitted in UE specific search space and meets following criteria

        the total number of different DCI sizes monitored per slot <= 4

        the total number of different DCI sizes with C-RNTI monitored per slot <= 3

      it indicates the size of the Active Bandwidth Part

 

 

< DCI format 1_0 with CRC scrambled by RA-RNTI >  

: This is used to schedule RAR (Msg2) in RACH Procedure

Field (Item)

Bits

Reference

Frequency domain resource assignment

Variable

Variable with UL BWP N_RB

     

indicates the size of CORESET 0

Time domain resource assignment

4

Carries the row index of the items in pdsch_allocationList in RRC

VRB-to-PRB mapping

1

According to 38.212 Table 7.3.1.1.2-33

     0 : Non-Interleaved

     1 : Inverleaved

Modulation and coding scheme

5

38.214  - Table 5.1.3.1-1: MCS index table 1 for PDSCH

38.214 - Table 5.1.3.1-2: MCS index table 2 for PDSCH

TB Scaling

2

 

Reserved

16

Reserved

 

The meaning of varies depending on the search space where DCI_1_0 is transmitted.

    When stransmitted in common search space in CORESET 0 ,

      it indicates the size of the Initial Bandwidth Part

    When stransmitted in UE specific search space and meets following criteria

        the total number of different DCI sizes monitored per slot <= 4

        the total number of different DCI sizes with C-RNTI monitored per slot <= 3

      it indicates the size of the Active Bandwidth Part

 

 

< DCI format 1_0 with CRC scrambled by TC-RNTI >  

: This is used to schedule Contention Resolution (Msg4) in RACH Procedure

Field (Item)

Bits

Reference

Identifier for DCI formats

1

Always set to 1, meaning this is for DL

Frequency domain resource assignment

Variable

Variable with UL BWP N_RB

     

indicates the size of CORESET 0

Time domain resource assignment

4

Carries the row index of the items in pdsch_allocationList in RRC

VRB-to-PRB mapping

1

According to 38.212 Table 7.3.1.1.2-33

     0 : Non-Interleaved

     1 : Inverleaved

Modulation and coding scheme

5

38.214  - Table 5.1.3.1-1: MCS index table 1 for PDSCH

38.214 - Table 5.1.3.1-2: MCS index table 2 for PDSCH

New data indicator

1

 

Redundancy version

2

 

HARQ process number

4

 

Downlink assignment index

2

Reserved

TPC command for scheduled PUCCH

2

 

PUCCH resource indicator

3

 

PDSCH-to-HARQ_feedback timing indicator

3

Row number(index) of K1

 

The meaning of varies depending on the search space where DCI_1_0 is transmitted.

    When stransmitted in common search space in CORESET 0 ,

      it indicates the size of the Initial Bandwidth Part

    When stransmitted in UE specific search space and meets following criteria

        the total number of different DCI sizes monitored per slot <= 4

        the total number of different DCI sizes with C-RNTI monitored per slot <= 3

      it indicates the size of the Active Bandwidth Part

 

 

DCI format 1_0 with CRC scrambled by SI-RNTI >  

: This is used to schedule SIB1 and other SIB messages

Field (Item)

Bits

Reference

Frequency domain resource assignment

Variable

Variable with UL BWP N_RB

     

indicates the size of CORESET 0

Time domain resource assignment

4

Carries the row index of the items in pdsch_allocationList in RRC

VRB-to-PRB mapping

1

According to 38.212 Table 7.3.1.1.2-33

     0 : Non-Interleaved

     1 : Inverleaved

Modulation and coding scheme

5

38.214  - Table 5.1.3.1-1: MCS index table 1 for PDSCH

38.214 - Table 5.1.3.1-2: MCS index table 2 for PDSCH

Redundancy Version

2

 

System Information Indicator

1

0 : SIB 1

1 : SI messages

Reserved

15

Reserved

 

 

DCI format 1_0 with CRC scrambled by P-RNTI>  

: This is used to schedule Paging messages

Field (Item)

Bits

Reference

Short Message Indicator

2

Refer to 38.212 - Table 7.3.1.2.1-1

Short Messages

8

This field is set as reserved when 'Short Message Indicator' field is 01.

Refer to 38.331 - Table 6.5-1

Frequency domain resource assignment

Variable

Variable with UL BWP N_RB

     

indicates the size of CORESET 0

Time domain resource assignment

4

Carries the row index of the items in pdsch_allocationList in RRC

VRB-to-PRB mapping

1

According to 38.212 Table 7.3.1.1.2-33

     0 : Non-Interleaved

     1 : Inverleaved

Modulation and coding scheme

5

38.214  - Table 5.1.3.1-1: MCS index table 1 for PDSCH

38.214 - Table 5.1.3.1-2: MCS index table 2 for PDSCH

TB Scaling

2

 

Reserved

6

Reserved

 

 

< 38.212 - Table 7.3.1.2.1-1: Short Message indicator >

Bit Field

Short Message Indicator

00

Reserved

01

Only scheduling information for Paging is present in the DCI

10

Only short message is present in the DCI

11

Both scheduling information for Paging and short message are present in the DCI

 

 

< 38.331 - Table 6.5-1: Short messages >

Bit

Short Message Indicator

1

systemInfoModification

If set to 1: indication of a BCCH modification other than SIB6, SIB7 and SIB8.

2

etwsAndCmasIndication

If set to 1: indication of an ETWS primary notification and/or an ETWS secondary notification and/or a CMAS notification

3-[8]

Not used in this release of the specification, and shall be ignored by UE if received.

 

 

 

Format 1_1

 

This is used for the scheduling of PDSCH in one cell.

 

Field (Item)

Bits

Reference

Carrier indicator

0,3

 

Identifier for DCI formats

1

Always set to 1, indicating a DL DCI format

Bandwidth part indicator

0,1,2

 

Frequency domain resource assignment

Variable

Variable with Resource Allocation Type

Time domain resource assignment

1,2,3,4

Carries the row index of the items in pdsch_allocationList in RRC

VRB-to-PRB mapping

0,1

 

PRB bundling size indicator

0,1

 

Rate matching indicator

0,1,2

 

Modulation and coding scheme [TB1]

5

 

New data indicator [TB1]

1

 

Redundancy version [TB1]

2

 

Modulation and coding scheme [TB2]

5

 

New data indicator [TB2]

1

 

Redundancy version [TB2]

2

 

HARQ process number

4

 

Downlink assignment index

0,4

 

TPC command for scheduled PUCCH

2

 

PUCCH resource indicator

2

 

PDSCH-to-HARQ_feedback timing indicator

3

Row number(index) of K1

Antenna port(s) and number of layers

1,2,3,4,5,6

 

Transmission configuration indication

0,3

 

CSI request

2

 

CBG transmission information

0,2,4,6,8

 

CBG flushing out information

0,1

 

DMRS sequence initialization

1

 

 

 

 

Format 2_0

 

This is used for notifying the slot format.

 

Field (Item)

Bits

Reference

Identifier for DCI formats

1

 

Slot format indicator

Variable

Bit size is determined by RRC message here

 

Slot format indicator : a Bit string indicating Slot format indicator 1, Slot format indicator 2, , Slot format indicator N

 

 

 

Format 2_1

 

This is used for notifying the PRB(s) and OFDM symbol(s) where UE may assume no transmission is intended for the UE.

 

Field (Item)

Bits

Reference

Identifier for DCI formats

1

 

Pre-emption indication

Variable

 

 

 

 

Format 2_2

 

This is used for the transmission of TPC commands for PUCCH, PUSCH

 

Field (Item)

Bits

Reference

Identifier for DCI formats

1

 

TPC command number 1, TPC command number 2,, TPC command number N

Variable

 

 

 

 

Format 2_3

 

This is used for the transmission of a group of TPC commands for SRS transmissions by one or more UEs. Along with a TPC command, a SRS request may also be transmitted.

 

Field (Item)

Bits

Reference

Identifier for DCI formats

1

 

block number 1, block number 2,, block number B

Variable

 
SRS Request

0,2

 
TPC Command Number

2

 

 

 

 

Reference

 

[1] 3GPP TS 38.212 NR;Multiplexing and channel coding   

[2] 3GPP TSG RAN WG1 Meeting #92  : R1-1802117 : Discussion on DCI contents

[3] 3GPP TSG-RAN WG1 #92 : R1-1802905 : Remaining issues of the DCI contents and formats  

[4] 3GPP TSG RAN WG1 Meeting #92 : R1-1801976 : DCI Contents and Formats

[5] 3GPP TSG RAN WG1 Meeting #92 : R1-1802097 : Remaining issues on MIMO related DCI design

[6] 3GPP TSG RAN WG1 Meeting #92 : R1-1802482 : DCI contents and formats

[7] 3GPP TSG RAN WG1 Meeting #92 : R1-1802597 : Remaining issues in DCI contents and formats  

[8] 3GPP TSG RAN WG1 Meeting #92 : R1-1802209 : Remaining issues on DCI contents and formats

[9] 3GPP TSG RAN WG1 Meeting #92 : R1-1801730 : Open issues on DCI contents and formats

[10] 3GPP TSG RAN WG1 Meeting #92 : R1-1801624 : Remaining issues on DCI content