RNTI Masking

RNTI masking is used in PDCCH chain to scramble the crc bits using radio network temporary identifier. The RNTI masking allows the UE to identify whether the data is intended for unicast, multicast or broadcast. Furthermore if the data is unicast, it allows the UE to distinguish between different DCI formats which are carrying the same payload size but are intended for different purpose. The implementation details of rnti masking is provided in section 7.3.2 of [3GPPTS38212_rnti].


  • RNTI masking is inverse process. The same module can be used for masking and unmasking both.

The following example demonstrate the usage of the

RNTI Masking

K       = 56    # Number of DCI bits
dciBits = np.random.randint(0, 2, size = K) # Generates DCI bits
rnti    = 11548                      # RNTI for masking the bits
dciRNTI = RNTImasking(rnti)(dciBits) # Performing DCI masking

Removing the RNTI mask

decBits = RNTImasking(rnti)(dciRNTI) # Removing DCI mask

The details about the input-output interface of the RNTI masking is provided below.

class toolkit5G.Scrambler.RNTImasking(rnti)[source]

The module performs the RNTI masking and unmasking of last 16 CRC bits of the input payload. The rnti parameter is provided as input to the constructor. The RNTI is used to scramble the input bits provided to object of the class.


rnti (int) – It defines the radio network temporary identifier (RNTI) \(\in \{1,2,..,65519\}\).


[…, length], np.int8 – Input sequence


[…, length], np.int8 – scrambled sequence.


rnti value should be less than \(2^{16}-1\).


Length of inputBits should not be more than 16.

  • ValueError – [Error-RNTImasking]: ‘inputBits’ must be an NumPy array of number!

  • ValueError – [Error-RNTImasking]: number of ‘inputBits’ must be more than 16!

  • ValueError – [Error-RNTImasking]: ‘rnti’ in pdcch scrambler must be +ve integer between 0 and 2**16-1!

property rnti

Define radio network temporary identifier used for scrambling the last 16 bits of the input payload.


3GPP TS 38.211 “Physical channels and modulation (Release 17)”, V17.1.0 (2022-03).