Main Content

lteDCIDecode

Downlink control information decoding

Description

example

[dcibits,crc_rnti] = lteDCIDecode(dcilen,softbits) recovers a downlink control information (DCI) message, given the DCI vector length, dcilen, and a softbits input vector. For more information, see DCI Message Decoding.

example

[dcibits,crc_rnti] = lteDCIDecode(enb,softbits) uses the cell-wide configuration structure, enb. With this syntax, the DCI message length is deduced from enb.DCIFormat and cell-wide settings in enb.

example

[dcibits,crc_rnti] = lteDCIDecode(enb,chs,softbits) uses the UE-specific channel configuration structure, chs. With this syntax, the DCI message length is deduced from chs.DCIFormat, the cell-wide configuration in enb, and the UE-specific channel configuration in chs.

Examples

collapse all

Perform DCI decoding of a sample codeword and return the decoded vector, decodedDCIbits, of the length defined for the DCI Format 1 message.

enb.NDLRB = 50;
enb.CellRefP = 1;
enb.DuplexMode = 'FDD';

dciInfo = lteDCIInfo(enb);
dcilen = dciInfo.Format1
dcilen = uint64
    31
ue.PDCCHFormat = 1;
ue.RNTI = 10;
ue.NDLRB = 50;

dciBits = zeros(dcilen,1);
cw = lteDCIEncode(ue,dciBits);

[decodedDCIbits,crcRNTI] = lteDCIDecode(dcilen,cw);

decodedDCIbitslen = size(decodedDCIbits)
decodedDCIbitslen = 1×2

    31     1

crcRNTI
crcRNTI = uint32
    10

The decodedDCIbits length matches the value of dcilen. The crcRNTI output has a value of 10, corresponding to the RNTI values used in CRC masking.

Perform DCI decoding of a sample codeword and return the decoded vector, decodedDCIbits, of the length defined for the DCI Format 1 message. The lteDCIDecode function uses fields in enb to determine DCI length.

enb.NDLRB = 25;
enb.CellRefP = 1;
enb.DuplexMode = 'FDD';

dciInfo = lteDCIInfo(enb);
dcilen = dciInfo.Format1
dcilen = uint64
    27
ue.PDCCHFormat = 1;
ue.RNTI = 7;
ue.NDLRB = 25;

dciBits = zeros(dcilen,1);
cw = lteDCIEncode(ue,dciBits);

Define the enb configuration structure for recovery of the DCI message and RNTI. Perform DCI decoding using enb.

enb.DCIFormat = 'Format1';

[decodedDCIbits,crcRNTI] = lteDCIDecode(enb,cw);

decodedDCIbitslen = size(decodedDCIbits)
decodedDCIbitslen = 1×2

    27     1

crcRNTI
crcRNTI = uint32
    7

The decodedDCIbits length matches the value of dcilen. The crcRNTI value recovered corresponds to and matches ue.RNTI, which is the RNTI value used in the CRC masking.

Perform DCI decoding of a sample codeword and return the decoded vector, decodedDCIbits, of the length defined for the DCI Format 2A message.

enb.NDLRB = 25;
enb.CellRefP = 1;
enb.DuplexMode = 'FDD';

dciInfo = lteDCIInfo(enb);
dcilen = dciInfo.Format2A
dcilen = uint64
    36
ue.PDCCHFormat = 2;
ue.RNTI = 5;
ue.NDLRB = 25;

dciBits = zeros(dcilen,1);
cw = lteDCIEncode(ue,dciBits);

Define the ue-specific configuration structure, chs, for recovery of the DCI message and RNTI. Perform DCI decoding using enb and chs.

chs.DCIFormat = 'Format2A';
chs.ControlChannelType  = 'PDCCH';
chs.EnableCarrierIndication  = 'Off';

[decodedDCIbits,crcRNTI] = lteDCIDecode(enb,chs,cw);

decodedDCIbitslen = size(decodedDCIbits)
decodedDCIbitslen = 1×2

    36     1

crcRNTI
crcRNTI = uint32
    5

The decodedDCIbits length matches the value of dcilen. The crcRNTI value recovered corresponds to and matches ue.RNTI, which is the RNTI value used in the CRC masking.

Input Arguments

collapse all

Length of recovered DCI message vector, specified as a positive integer.

Data Types: double

Floating-point soft bits, specified as a column vector.

Data Types: double | int8

eNodeB cell-wide settings, specified as a structure containing these parameter fields.

Parameter FieldRequired or OptionalValuesDescription
NDLRBRequired

Scalar integer from 6 to 110

Number of downlink resource blocks (NRBDL)

NULRBRequired

Scalar integer from 6 to 110

Number of uplink resource blocks. (NRBUL)

DCIFormatRequired (see syntax descriptions for applicability)

'Format0', 'Format1', 'Format1A', 'Format1B', 'Format1C', 'Format1D', 'Format2', 'Format2A', 'Format2B', 'Format2C', 'Format2D', 'Format3', 'Format3A', 'Format4', 'Format5', 'Format5A'

Downlink control information (DCI) format

CellRefPOptional

1 (default), 2, 4

Number of cell-specific reference signal (CRS) antenna ports

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as either:

  • 'FDD' for Frequency Division Duplex

  • 'TDD' for Time Division Duplex

User-equipment-related (UE-related) channel configuration, specified as a structure containing these UE-specific fields.

Note

All fields in chs are optional. The presence of these optional fields depends on:

  • Whether the transmission of DCI message is in a PDCCH using common search space mapping or in an EPDCCH.

  • The release-specific features configured at the destination UE.

These additional UE-specific bit fields are off by default.

DCI format name, specified as a character vector or string scalar. For string scalar, use double quotes. See syntax descriptions for applicability.

Data Types: char | string

Physical control channel type used to carry DCI formats, specified as 'PDCCH' or 'EPDCCH'. The setting for ChannelControlType affects the presence of the HARQ-ACK resource offset field and message padding.

Data Types: char | string

Search space mapping for DCI formats 0/1A/1C, specified as 'UESpecific' or 'Common'. This field is only applicable for PDCCH. None of the additional fields can be present when formats 0 or 1A are mapped into the PDCCH common search space.

Data Types: char | string

Option to enable carrier indication field (CIF) in the UE configuration, specified as 'Off' or 'On'. By default, EnableCarrierIndication is disabled. When EnableCarrierIndication is enabled ('On'), the CIF is present in the UE-specific configuration.

Data Types: char | string

Option to enable SRS request in the UE configuration, specified as 'Off' or 'On'. By default, EnableSRSRequest is disabled. When EnableSRSRequest is enabled ('On'), the SRS request field is present in UE-specific formats 0/1A for FDD or TDD and formats 2B/2C/2D for TDD.

Data Types: char | string

Option to enable multiple CSI requests in the UE configuration, specified as 'Off' or 'On'. By default, EnableMultipleCSIRequest is disabled. When EnableMultipleCSIRequest is enabled ('On'), the UE is configured to process multiple channel state information (CSI) requests from cells. Enabling multiple CSI requests affects the length of the CSI request field in UE-specific formats 0 and 4.

Data Types: char | string

Number of UE transmission antennas, specified as 1, 2, or 4. The number of UE transmission antennas affects the length of the precoding information field in DCI format 4.

Data Types: double

Number of sub-channels in V2X PSSCH pool, specified as an integer scalar from 1 to 110. It affects the length of RIV in format 5A

Data Types: double

Data Types: struct

Output Arguments

collapse all

Recovered DCI message bit vector, returned as a column vector. The length of dcibits is defined though structure enb in terms of the DCI message format and the bandwidth.

Data Types: int8

16-bit integer result of the CRC decoder, returned as a column vector. crc_rnti is equivalent to the RNTI value that would need to mask (XOR) the CRC for no CRC error.

Data Types: uint32

More About

collapse all

DCI Message Decoding

Downlink control information (DCI) message decoding performs the inverse DCI processing operation as specified in TS 36.212 [1], Section 5.3.3. Specifically, lteDCIDecode performs rate recovery, and Viterbi and CRC decoding to recover the DCI message bit vector (dcibits) from an input vector of received soft bits previously coded by the DCI processing. lteDCIDecode also returns the 16-bit integer result of the CRC decoder, crc_rnti, which is equivalent to the RNTI value that would need to mask (XOR) the CRC for no CRC error. Using the RNTI, recovered with no CRC errors, enables the system to match the recovered DCI message with a specific ue.

The length of the DCI information payload to be recovered can be specified

  • Directly by dcilen

  • Determined using the fields in enb that specify the DCI message format (DCIFormat) and bandwidth (either NDLRB or NULRB).

For information on link bandwidth assignment, see Specifying Number of Resource Blocks.

Specifying Number of Resource Blocks

The number of resource blocks specifies the uplink and downlink bandwidth. The LTE Toolbox™ implementation assumes symmetric link bandwidth unless you specifically assign different values to NULRB and NDLRB. If the number of resource blocks is initialized in only one link direction, then the initialized number of resource blocks (NULRB or NDLRB) is used for both uplink and downlink. When this mapping is used, no warning is displayed. An error occurs if NULRB and NDLRB are both undefined.

References

[1] 3GPP TS 36.212. “Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2014a