4G/LTE - LTE NB

 

 

 

 

NPDCCH/DCI

 

If you have been working since the legacy LTE, you would be familiar with the concepts and parameters related to how network notify UE of downlink and uplink resource assignment and you may not need any explanation about the general concept of PDCCH / DCI and you can jump directly in the details. However, if LTE-NB is the first LTE experience, you would need to the basic concept of DCI. For the basic concept, I would suggest you to read the legacy LTE DCI page or at least the first section of the page.

 

 

Basic Terminologies

 

When we are talking about resource allocation mechanism, DCI(Downlink Control Indicator) is the most important part but if you are going a little bit deeper into the implementation of DCI in Transport/Physical layer. You would see a couple of additional parameters that may confuse you in some case.

 

Terminology

Meaning

DCI A Logical Block(Unit) that carries data for NPDSCH(Downlink) or NPUSCH(Uplink) data
NPDCCH The Physical Channel that carries(conveys) DCI
NCCE The basic unit of physical block in NPDCCH where DCI data is allocated. NPDCCH split its area into two subblock. This subblock is called NCCE. In NPDCCH, there are two subblocks called NCCE 0 and NCCE 1.

 

 

NPDCCH / NCCE

 

As in legacy LTE, in LTE-NB as well the DCI is carried by the physical channel called NPDCCH. The basic resource allocation unit for PDCCH is called NCCE. There are two NCCE that are defined as shown below. There are two different types of NPDCCH format (Format 0 and Format 1). NPDCCH Format 0 takes up only one NCCE and NPDCCH format 1 takes up two NCCEs.

 

 

 

DCI(Downlink Control Indicator)

 

Unlike in LTE, in LTE-NB only three types of DCI (DCI Format N0, N1, N2) as described in 36.212 6.4.3 Downlink control information

 

There are three different DCI format defined in LTE-NB as summarized in the table shown below.

 

DCI Format

Bit Length (size)

Purpose / Usage

N0

23

UL Grant (NPUSCH Scheduling)

N1

23

DL Scheduling (NPDSCH Scheduling)

RACH initiated by PDCCH Order

N2

15

Paging and direct indication

 

 

Format N0

 

DCI Format N0 is for UL Grant. It is equivalent to DCI 0 in normal LTE. Each of the field in DCI format N0 is defined as follows.

 

Field

# of Bits

Description

Flag for format N0/format N1 differentiation

1

0 - N0, 1 - N1

Subcarrier indication

6

When Subcarrier Spacing = 15 Khz

      See 36.213 Table 16.5.1.1-1

When Subcarrier Spacing = 3.75 Khz

      n_sc = I_sc

Resource assignment

3

See 36.213 Table 16.5.1.1-2

Scheduling delay

2

See 36.213 Table 16.5.1-1

Modulation and coding scheme

4

See 36.213 Table 16.5.1.2-1

Redundancy version

1

 

Repetition number

3

See 36.213 Table 16.5.1.1-3

New data indicator

1

 

DCI subframe repetition number

2

 

Total Number of Bits

23

 

 

 

 

Format N1

 

DCI Format N1 is for all NPDSCH (user data and SIBs) except NPDSCH carrying Paging and to trigger PRACH(non-contention based).  Each of the field in DCI format N0 is defined as follows.

 

< NPDCCH order = 0,  N1 CRC not masked with RA-RNTI >

This is to assign resources for normal NPDSCH

Field

# of Bits

Description

Flag for format N0/format N1 differentiation

1

0 - N0, 1 - N1

NPDCCH order indicator

1

 

Scheduling delay

3

See 36.213 Table 16.4.1-1

Resource assignment

3

See 36.213 Table 16.4.1.3-1

Modulation and coding scheme

4

See 36.213 16.4.1.5

Repetition number

4

See 36.213 Table 16.4.1.3-2

New data indicator

1

 

HARQ-ACK resource

4

See 36.213 Table 16.4.2-1,  

      36.213 Table 16.4.2-2

DCI subframe repetition number

2

 

Total Number of Bits

23

 

 

 

< NPDCCH order = 0,  N1 CRC masked with RA-RNTI >

This is to assign resources for NPDSCH for RAR(Random Access Response)

Field

# of Bits

Description

Flag for format N0/format N1 differentiation

1

0 - N0, 1 - N1

NPDCCH order indicator

1

 

Scheduling delay

3

 

Resource assignment

3

 

Modulation and coding scheme

4

 

Repetition number

4

 

Reserved

1

 

Reserved

4

 

DCI subframe repetition number

2

 

Total Number of Bits

23

 

 

 

< NPDCCH order = 1 and CRC masked with C-RNTI>

This is to trigger PRACH (in Non-contention based RACH)

Field

# of Bits

Description

Flag for format N0/format N1 differentiation

1

0 - N0, 1 - N1

NPDCCH order indicator

1

 

Starting number of NPRACH repetitions

2

 

Subcarrier indication of NPRACH

6

 

All the remaining fields

13

1

Total Number of Bits

23

 

 

 

Format N2

 

DCI format N2 is used for for paging and direct indication and each of the field in this format is as follows.

 

< Flag = 0 >

Field

# of Bits

Description

Flag for paging/direct indication differentiation

1

0 - Direct Indication, 1 - Paging

Direct Indication information

8

 

Reserved information bits (Padding)

 

 

Total Number of Bits

15

 

 

 

< Flag = 1 >

Field

# of Bits

Description

Flag for paging/direct indication differentiation

1

0 - Direct Indication, 1 - Paging

Resource assignment

3

 

Modulation and coding scheme

4

 

Repetition number

4

 

DCI subframe repetition number

3

 

Total Number of Bits

15

 

 

 

Tables and Figures for Parameter Details

 

The following table illustrates the mechanism for configuring uplink resources in NB-IoT by linking the subcarrier indication field (I_sc) to the physical structure of a Resource Unit (RU). The top table (36.213) defines how the I_sc value from the control information maps to a specific number of allocated subcarriers, distinguishing between single-tone transmissions and multi-tone groups of 3, 6, or 12 subcarriers.

< 36.213 Table 16.5.1.1-1: Allocated subcarriers for NPUSCH with subcarrier spacing = 15 Khz >

 

Following two table shows how the subcarrier indication field in DCI format N0 specifies the specific subcarriers to allocate UL resource.

It details the dimensions of an RU for these different configurations, showing the inverse relationship between bandwidth and time; as the number of allocated subcarriers increases, the number of slots required to form one RU decreases. The arrows connecting the two tables visually demonstrate that selecting a specific I_sc value not only assigns frequency resources but also automatically dictates the time duration (number of slots) for the transmission, ensuring the total resource capacity remains consistent across different bandwidth modes.

NOTE : The "Grid" Changes

  • Standard LTE/NB-IoT (15 kHz): The 180 kHz block is divided into 12 subcarriers (12 × 15 kHz = 180 kHz).
  • 3.75 kHz Mode: The same 180 kHz block is divided into 48 subcarriers (48 × 3.75 kHz = 180 kHz).

The following table defines the specific mapping between the resource assignment index (I) found in the DCI Uplink Grant and the actual number of resource units (NRU) allocated for the transmission. This table acts as a lookup mechanism that allows the network to communicate the duration of the uplink transmission using a compact 3-bit value.

The table demonstrates that for lower index values (0 through 5), the mapping is largely linear, where the index corresponds directly to counts of 1, 2, 3, 4, 5, and 6 resource units respectively. However, for the highest two indices, the allocation jumps non-linearly, with index 6 assigning 8 resource units and index 7 assigning 10 resource units, allowing the scheduler to grant longer transmission periods without requiring additional bits in the control message.

< 36.213 Table 16.5.1.1-2: Number of resource units (N_RU) for NPUSCH. >  


The following table defines the scheduling delay (K0) for DCI Format N0.

This table dictates the time gap between when the UE receives the Uplink Grant (DCI Format N0) and when it must actually start transmitting the data (NPUSCH). This gap gives the UE time to process the grant and prepare the transmission.

< 36.213 Table 16.5.1-1: k0 for DCI format N0 >  

Key Parameters

  • K0: This is the 2-bit "Scheduling Delay" field found inside the DCI Format N0.
  • Delay (ms): This is the resulting delay in milliseconds (subframes).

How it Works

When the network sends a DCI, it sets the K0 field to one of the four values (0–3). The UE reads this value and applies the corresponding delay:

  • K0 = 0: Wait 8 ms before transmitting.
  • K0 = 1: Wait 16 ms.
  • K0 = 2: Wait 32 ms.
  • K0 = 3: Wait 64 ms.

The following table is the Modulation and TBS (Transport Block Size) index table specifically for Single-Tone NPUSCH transmissions (indicated by Isc = 0). This table serves as a lookup mechanism that the UE uses to interpret the "MCS" field received in the Uplink Grant (DCI Format N0).

When the network schedules a device using only a single subcarrier (3.75 kHz or 15 kHz), it provides an MCS Index (Imcs) ranging from 0 to 10. The table maps this index to a Modulation Order (Qm), which determines the robustness of the signal. Notably, for the lowest MCS indices (0 and 1), the modulation order is 1, indicating the use of BPSK (specifically π/2-BPSK in NB-IoT). This is the most robust setting available, designed to maintain connectivity in extreme coverage conditions. For MCS indices of 2 and above, the modulation order increases to 2, switching the scheme to QPSK (specifically π/2-QPSK) to allow for higher data throughput.

Simultaneously, the table maps the input MCS index to a TBS Index (Itbs). It is important to note that this column does not provide the actual number of bits directly. Instead, this Itbs value acts as a pointer. The UE takes this resulting Itbs and combines it with the number of assigned resource units (NRU) to look up the final transport block size (in bits) in a separate standard table (Table 16.5.1.2-2).

< 36.213 Table 16.5.1.2-1: Modulation and TBS index table for NPUSCH with NscRU = 1 >


The following table is the final lookup table used to determine the Transport Block Size (TBS) for an NPUSCH transmission.

This table represents the culmination of the scheduling process. Once the User Equipment (UE) has determined the duration of the transmission (from the Resource Assignment) and the efficiency of the coding (from the MCS), it uses this table to find the exact number of bits it can transmit in that specific slot.

< 36.213 Table 16.5.1.2-2: Transport block size (TBS) table for NPUSCH >

The Axes of the Table

The table is organized as a matrix defined by two key inputs:

  1. Rows (Itbs): This is the TBS Index (0 to 12). The UE derives this value from the MCS field in the DCI using the previous table you viewed (Table 16.5.1.2-1). A higher Itbs indicates a higher modulation order or a less redundant coding scheme, allowing for more data density.
  2. Columns (IRU): This is the Resource Unit Index (0 to 7). This value comes directly from the "Resource Assignment" field in the DCI. It corresponds to the duration of the transmission (e.g., column 0 represents 1 RU, column 7 represents 10 RUs).

How to Read the Data

To find the payload size, the UE finds the intersection of its assigned Itbs and IRU.

  • Vertical Trend: As you move down a column (increasing Itbs), the block size increases because the coding rate becomes more aggressive (fitting more bits into the same time duration).
  • Horizontal Trend: As you move right across a row (increasing IRU), the block size increases because the transmission duration is longer, providing more physical symbols to carry data.

Limitations

You will notice empty cells in the bottom-right corner of the table (e.g., Itbs 9-12 combined with IRU 6-7). These empty spaces indicate invalid configurations. The standard does not support using the highest coding rates combined with the longest transmission durations, likely to prevent excessive packet error rates or processing complexity.


The following table defines the Repetition Number (Nrep) for NPUSCH transmissions.

This table explains how the 3-bit "Repetition Number" field (Irep) inside the Uplink Grant (DCI Format N0) maps to the actual number of times the UE must repeat the transmission.

< 36.213 Table 16.5.1.1-3: Number of repetitions (N_Rep) for NPUSCH >

Key Concepts

  • Exponential Growth: The mapping follows a power-of-two scale (Nrep = 2Irep). This allows the network to request massive coverage extension using only a small 3-bit field.
  • Coverage Enhancement: Repetition is the core feature of NB-IoT that allows it to work in basements or deep underground. By repeating the exact same signal multiple times (up to 128 times in this table), the base station can accumulate the energy to decode signals that would otherwise be lost in noise.

How to Interpret the Values

  • Irep = 0: This means no repetition. The UE transmits the packet exactly once.
  • Irep = 7: The UE transmits the same packet 128 times consecutively.

Impact on Transmission Time

This parameter drastically affects the total time the UE is busy.

  •   If your resource assignment is 2 RUs (2 ms) and Nrep = 1, the transmission takes 2 ms.
  •   If your resource assignment is 2 RUs (2 ms) but Nrep = 128 (128 repetitions), the transmission takes:

The following table defines the scheduling delay (k0) specifically for Downlink Data (NPDSCH) transmissions.

This table dictates how long the UE must wait between receiving the Downlink Grant (DCI Format N1) and the start of the actual Data transmission. Unlike the Uplink table you saw earlier, this table has two different columns for delays, depending on the coverage level (determined by Rmax).

< 36.213 Table 16.4.1-1: k0 for DCI format N1 >

Key Parameters

  • k0: The 3-bit "Scheduling Delay" field inside DCI Format N1.
  • Rmax: The maximum number of repetitions configured for the NPDCCH (Control Channel) search space. This acts as a proxy for the coverage condition: (NOTE : Rmax is configured by an RRC parameter (e.g, npdcch-NumRepetitions-r13)
    • Rmax ≤ 2: Normal coverage (standard delays).
    • Rmax > 2: Extreme coverage (extended delays).

How to Read the Table

When the UE receives a DCI, it checks the k0 field value (0–7) and its current Rmax configuration to find the actual delay.

  1. Normal Coverage (Rmax ≤ 2):
    • Delays are relatively short to minimize latency.
    • Example: k0 = 0. (Transmission starts immediately in the next subframe).
    • Example: k0 = 7.
  2. Extreme Coverage (Rmax > 2):
    •   Delays are significantly scaled up. This huge gap is necessary because devices in deep coverage (like basements) often need extra time to switch modes or process weak signals.
    • Example: k0 = 7 (over 1 second!).

Summary

This mechanism allows the base station to dynamically adjust the timeline. For a device with a good signal, it can schedule data immediately (Rmax ≤ 2). For a device in a weak-signal area (high Rmax), it can push the transmission far into the future (up to about 1 second) to ensure the device is ready and resources are clear.


The following table defines how the ACK/NACK resource field (0–15) maps to (1) the exact single-tone subcarrier index used for HARQ-ACK on NPUSCH and (2) the corresponding scheduling delay k0.

From the table, resource field 0–7 uses k0 = 13, and resource field 8–15 uses k0 = 21. The ACK/NACK subcarrier cycles through 38–45 in both ranges.

< 36.213 Table 16.4.2-1: ACK/NACK subcarrier and k0 for NPUSCH with Subcarrier Spacing= 3.75KHz >


The following table defines the specific resources (frequency and time) a UE must use to send an ACK/NACK response (NPUSCH Format 2) when the system uses 15 kHz subcarrier spacing.

This table maps the 4-bit "HARQ-ACK resource" field found in the Downlink Grant (DCI Format N1) to two critical parameters:

< 36.213 Table 16.4.2-2: ACK/NACK subcarrier and k0 for NPUSCH with Subcarrier Spacing= 15KHz >

ACK/NACK Subcarrier (Frequency)

This column tells the UE which specific subcarrier (Index 0, 1, 2, or 3) to use for the feedback transmission.

  •   Even though the total bandwidth has 12 subcarriers (in 15 kHz mode), the ACK/NACK is typically assigned to specific subsets to separate it from data traffic.

k0 (Timing Delay)

This column defines the scheduling delay in milliseconds (subframes). The UE must wait k0 ms after the end of the Downlink Data (NPDSCH) transmission before sending the ACK/NACK.

How the Table is Organized

The table groups the 16 possible values (0–15) into four distinct timing “buckets” to help the network manage congestion:

  • Values 0–3: Fast response (k0 = 13 ms).
  • Values 4–7: Medium response (k0 = 15 ms).
  • Values 8–11: Slow response (k0 = 17 ms).
  • Values 12–15: Slowest response (k0 = 19 ms).

Why is this useful?

If the Base Station sends data to 4 different UEs in the same subframe, it can assign them different "ACK/NACK resource field" values. This forces the UEs to reply at different times (e.g., one at 13 ms, another at 15 ms) or on different subcarriers, preventing their signals from colliding.


The following table defines the Number of Subframes (Nsf) for an NPDSCH (Downlink Data) transmission.

This table serves as the downlink equivalent to the Resource Unit table used in the uplink. It maps the 3-bit "Resource Assignment" field (Isf) found in the Downlink Grant (DCI Format N1) to the specific duration of the data transmission.

< 36.213 Table 16.4.1.3-1: Number of subframes (N_SF) for NPDSCH >

Key Difference from Uplink

While the Uplink (NPUSCH) defines duration in "Resource Units" (which can vary in bandwidth and slot count), the Downlink (NPDSCH) typically occupies the entire bandwidth of the resource block. Therefore, the resource allocation is defined purely in terms of Time (Subframes).

How the Mapping Works

The table uses a 3-bit input (0–7) to define transmission lengths ranging from 1 ms to 10 ms:

  • Linear Range (Indices 0–5): For the majority of the values, the mapping is linear. The index number plus one equals the duration in subframes. For example, Index 0 is 1 subframe, and Index 5 is 6 subframes.
  • Extended Range (Indices 6–7): To support larger data payloads without increasing the size of the control bits, the mapping jumps non-linearly at the end. Index 6 assigns 8 subframes, and Index 7 assigns 10 subframes.

Example

If the network sends a DCI with the resource assignment field set to 011 (Decimal 3), the UE knows that the downlink data packet will last exactly 4 milliseconds (4 Subframes).


The following table defines the Repetition Number (Nrep) specifically for NPDSCH (Downlink Data) transmissions.

This table explains how the 4-bit "Repetition Number" field (Irep) found in DCI Format N1 maps to the actual number of times the base station will repeat the downlink packet.

< 36.213 Table 16.4.1.3-2: Number of repetitions (N_Rep) for NPDSCH >

Key Differences from the Uplink Table

You may recall the Uplink Repetition table you viewed earlier (Table 16.5.1.1-3). There are two major differences here:

  1. Larger Field Size: The Downlink DCI uses 4 bits (indices 0–15) instead of the Uplink's 3 bits, allowing for more granular control.
  2. Massive Scale: While the Uplink table you saw maxed out at 128 repetitions, this Downlink table goes significantly higher, allowing up to 2048 repetitions.

How to Interpret the Values

  • Normal Coverage (Indices 0–3): Standard repetitions (Nrep = 1, 2, 4, 8). Used for devices with good signal quality to handle minor fading.
  • Deep Coverage (Indices 12–15): Extreme repetitions (Nrep = 256, 512, 1024, 2048).
    • Example: If Irep = 15, the base station transmits the same 1 ms subframe 2048 times.
    • Impact: This single packet transmission would take over 2 seconds to complete (2048 ms ≈ 2.048 s).

Why 2048 Repetitions?

This extreme level of repetition is what enables NB-IoT to achieve the 20 dB coverage enhancement (MCL 164 dB) compared to legacy LTE. It allows the signal to be decoded even by devices buried deep underground or inside shielded infrastructure, provided they have the battery life to listen for that long.


< 36.213 - 16.4.1.5 Modulation order and transport block size determination >

 

I_MCS and I_TBS mapping gets different depending on whether the NPDSCH carries SystemInformationBlockType1-NB or User Data as follows.

  • Case 1 : When the NPDSCH carries SystemInformationBlockType1-NB
  • Case 2 : When the NPDSCH carries user data
    • I_TBS = I_MCS

 

 

NPDCCH Search Space

 

In order to detect whether there is any data (NPDSCH) sent for it or detect any UL Grant for NPUSCH, it should monitor (try to decode) various regions within downlink subframes. There is no explicit regions notified by the network about exactly which regions UE need to monitor. UE needs to monitor all the possible regions that are allowed for NPDCCH and decode the information in try-and-error based. This kind of process is called 'blind decoding'. However, UE does not try to decode every possible combinations of resource elements within a subframe. There are a certain set of predefined regions in which a PDCCH can be allocated. UE monitor only those predefined regions. These predefined set of regions are called NPDCCH Search Space.  

 

There are a few types of NPDCCH space as shown below (36.213 - 16.6 Narrowband physical downlink control channel related procedures).

 

Type

Sub Type

Description

Common

Type1-NPDCCH common search space

NPDCCH for Paging Message

Type2-NPDCCH common search space

NPDCCH for RAR, Msg3 retransmission and Msg4

UE Specific

NPDCCH UE-specific search space

 

 

 

NPDCCH Location (NPDCCH Subframes)

 

The location of NPDCCH (the subframes transmitting NPDCCH) is determined as follows (described in 36.213-16.6 Narrowband physical downlink control channel related procedures).

 

 

NOTE : In case of Type1-NPDCCH common search space, k = k0 and is determined from locations of NB-IoT paging opportunity subframes

 

 

< 36.213-Table 16.6-1: NPDCCH UE- specific search space candidates >

 

 

< 36.213-Table 16.6-2: Type 1- NPDCCH common search space candidates >

 

 

< 36.213-Table 16.6-3: Type 2- NPDCCH common search space candidates >