Main Content

nrDCIEncode

Encode downlink control information (DCI)

Description

[dcicw,mcrc] = nrDCIEncode(dcibits,rnti,E) encodes the input DCI bits, as defined in TS 38.212 Section 7.3.2, 7.3.3, and 7.3.4 [1], and returns the rate-matched DCI codeword of length E. The processing includes cyclic redundancy check (CRC) attachment, polar encoding, and rate matching. The last 16 bits of the 24 appended CRC bits are masked with rnti, the radio network temporary identifier (RNTI) of the user equipment (UE). The function also returns the RNTI-masked CRC bits, mcrc.

example

Examples

collapse all

Create a random sequence of binary values corresponding to a DCI message of 32 bits.

dcibits = randi([0 1],32,1);

Encode the message for the specified RNTI and rate-matched output length.

rnti = 100; 
E = 240;
dcicw = nrDCIEncode(dcibits,rnti,E)
dcicw = 240×1

     0
     1
     0
     1
     0
     0
     0
     0
     0
     0
      ⋮

Input Arguments

collapse all

DCI message bits, specified as a column vector of binary values. dcibits is the input to the DCI processing to be transmitted on a single physical downlink control channel (PDCCH).

Data Types: double | int8

RNTI of the UE, specified as an integer from 0 to 65,535.

Data Types: double

Length of rate-matched DCI codeword in bits, specified as a positive integer. E must be in the range K + 24 < E ≤ 8192, where K is the length of dcibits.

Data Types: double

Output Arguments

collapse all

Rate-matched DCI codeword, returned as an E-by-1 column vector of binary values. dcicw inherits its data type from the input dcibits.

Data Types: double | int8

RNTI-masked CRC bits of the form p0, p1, …, p23, returned as a nonnegative integer equal to p0×223 + p1×222 + .... + p23×20.

Data Types: double

References

[1] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2018b

expand all

See Also

Functions