Documentation

ltePDCCHSearch

PDCCH downlink control information search

Syntax

  • [dcistr,dcibits] = ltePDCCHSearch(enb,chs,softbits)
    example

Description

example

[dcistr,dcibits] = ltePDCCHSearch(enb,chs,softbits) recovers downlink control information (DCI) message structures, dcistr, and corresponding vectors of DCI message bits, dcibits, after blind decoding the multiplexed physical downlink control channels (PDCCHs) within the control region given by input vector of soft bits, softbits, cell-wide settings enb and user equipment (UE)-related configuration structure, chs.

The UE is required to monitor multiple PDCCHs within the control region. The UE is only informed of the width, in OFDM symbols, of the control region within a subframe, and is not aware of the exact location of PDCCHs relevant to it. The UE finds the PDCCHs relevant to it by monitoring a set of PDCCH candidates, a set of consecutive control candidate elements (CCEs) on which PDCCH could be mapped, in every subframe. For details, see ltePDCCHSpace. This process is referred to as blind decoding.

To simplify the decoding task at the UE, the whole control region is subdivided into common and UE-specific search spaces which the UE monitors (monitor implies attempting to decode each PDCCH). Each search space comprises 2, 4 or 6 PDCCH candidates whose data length depends on its corresponding PDCCH format; each PDCCH must be transmitted on 1, 2, 4 or 8 CCE (1 CCE = 72 bits). The common search space is limited to only two aggregation levels, 4 and 8, while the UE-specific search space can have an aggregation level of 1, 2, 4, or 8.

The common search space carries control information common to all UEs and is therefore monitored by all UEs within a cell. The common control information carries initial important information including paging information, system information and random access procedures. The UE monitors the common search space by de-masking each PDCCH candidate with different RNTIs e.g. P-RNTI, SI-RNTI, RA-RNTI etc.

In the UE-specific search space the UE finds the PDCCH relevant to it by monitoring a set of PDCCH candidates in every subframe. If no CRC error is detected when the UE de-masks a PDCCH candidate with its RNTI (16-bit C-RNTI value), the UE determines that the PDCCH candidate carries its own control information.

The number and location of candidates within a search space is different for each PDCCH format. There are four PDCCH formats (i.e., 0, 1, 2 or 3). If the UE fails to decode any PDCCH candidates for a given PDCCH format, it tries to decode candidates for another PDCCH format.

DCI messages are blindly decoded on the basis of their lengths. The lengths and order in which they are searched for is provided by lteDCIInfo. If one or more messages have the same length then the message format that is first in the list is used to decode the message. The other potential message formats are ignored. The transmission mode (TM) is not taken into account during blind search and no DCI message format is filtered on the basis of transmission mode. Format 3 and 3A (power adjustment commands for PUSCH and PUCCH) are not searched by this function.

This function returns the DCI messages in two forms:

  • dcistr is a cell array of structures. Each structure represents a successfully decoded DCI whose fields match those of the associated DCI format. Each structure contains the fields associated with one or more decoded DCI messages. Since multiple PDCCHs can be transmitted in a subframe, the UE has to monitor all possible PDCCHs directed at it. If more than one PDCCHs is directed to the UE or successfully decoded then DCISTR will contain that number of decoded DCI messages.

  • dcibits is a cell array containing one or more vectors. Each vector contains the bit stream of a recovered DCI message including any zero-padding. Each vector of bit values corresponds to successfully decoded DCI messages. For details, see lteDCI.

Examples

collapse all

Get DCI Message Structure and Bits

Extract the PDCCH symbols from the transmit resource grid and decode them.

rmc = lteRMCDL('R.0');
[~,txGrid] = lteRMCDLTool(rmc,[1;0;0;1]);
pdcchSymbols = txGrid(ltePDCCHIndices(rmc));
rxPdcchBits = ltePDCCHDecode(rmc,pdcchSymbols);

The UE monitors the common search space by demasking the PDCCH candidate with RNTIs. Perform blind decoding of the multiplexed PDCCH within the control region. Recover the DCI cell array, rxDCI, and the corresponding vector of DCI message bits, rxDCIBits.

ueConfig.RNTI = rmc.PDSCH.RNTI;
[rxDCI,rxDCIBits] = ltePDCCHSearch(rmc,ueConfig,rxPdcchBits);

Display the first successfully decoded DCI, decDCI, a structure whose fields match those of the associated DCI format. Also, get the bit stream of the first recovered DCI message, including any zero-padding.

decDCI = rxDCI{1}
decDCIBits = rxDCIBits{1};
         DCIFormat: 'Format1'
               CIF: 0
    AllocationType: 1
        Allocation: [1x1 struct]
         ModCoding: 14
            HARQNo: 0
           NewData: 1
                RV: 0
          TPCPUCCH: 0
          TDDIndex: 0

Input Arguments

collapse all

enb — Cell-wide settingsstructure

Cell-wide settings, specified as a structure with these fields.

Parameter FieldRequired or OptionalValuesDescription
NDLRBRequired

Scalar integer (6, ..., 110). Standard bandwidth values are 6, 15, 25, 50, 75, and 100. NDLRB will also accept the standardized bandwidths in string format from the set {'1.4MHz', '3MHz', ‘5MHz', '10MHz', ‘15MHz', ‘20MHz'}.

Number of downlink (DL) resource blocks (RBs)

See Note
NULRBRequired

Positive scalar integer

Number of uplink (UL) resource blocks (RBs)

See Note
NSubframeRequired

Nonnegative scalar integer

Subframe number

CellRefPRequired

1, 2, 4

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

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as one of the following:

  • 'FDD' — Frequency division duplex (default)

  • 'TDD' — Time division duplex

    Note:   Note that at least one of the NDLRB and NULRB parameter pair must be provided. If either is not provided then the function assumes symmetric link bandwidth where NDLRB and NULRB are equal. No warning message will be displayed in this event.

Data Types: struct

chs — User Equipment (UE) related configurationstructure

User Equipment (UE) related configuration, specified as a structure containing the following field.

RNTI — Radio network temporary identifier1 (default) | numeric scalar

Radio network temporary identifier value, specified as a numeric scalar.

Data Types: double

Data Types: struct

softbits — Input vector of soft bitsnumeric column vector

Input vector of soft bits, specified as a column vector of double values.

Data Types: double

Output Arguments

collapse all

dcistr — DCI message structurescell array of structures

DCI message structures, returned as a cell array of structures where each structure represents a successfully decoded DCI whose fields match those of the associated DCI format. Each structure contains the fields associated with one or more decoded DCI messages. Since multiple PDCCHs can be transmitted in a subframe, the UE must monitor all possible PDCCHs directed at it. If more than one PDCCH is directed to UE or successfully decoded, DCISTR contains that number of decoded DCI messages.

Each cell contains a structure with these fields.

DCIFormat — Downlink control information (DCI) format type'Format0' | 'Format1' | 'Format1A' | 'Format1B' | 'Format1C' | 'Format1D' | 'Format2' | 'Format2A' | 'Format2B' | 'Format2C' | 'Format3' | 'Format3A' | 'Format4'

Downlink control information (DCI) format type, specified as a string. The following table presents the fields associated with each DCI format.

DCI Formats DCISTR Fields Size Description
'Format0'DCIFormat      - 'Format0'
FreqHopping 1-bit PUSCH frequency hopping flag
Allocation    variable Resource block assignment/allocation
ModCoding     5-bits Modulation, coding scheme and redundancy version
NewData       1-bit New data indicator
TPC           2-bits PUSCH TPC command
CShiftDMRS    3-bits Cyclic shift for DM RS
CQIReq        1-bit CQI request
TDDIndex 2-bits For TDD config 0, this field is the Uplink Index.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format1'DCIFormat      - 'Format1'
AllocationType

1-bit

Resource allocation header: type 0, type 1

(only if downlink bandwidth is >10 PRBs)

Allocation    variable Resource block assignment/allocation
ModCoding     5-bits Modulation and coding scheme
HARQNo        3-bits (FDD)

4-bits (TDD)

HARQ process number
NewData       1-bit New data indicator
RV            2-bits Redundancy version
TPCPUCCH      2-bits PUCCH TPC command
TDDIndex 2-bits For TDD config 0, this field is not used.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format1A'DCIFormat      - 'Format1A'
AllocationType 1-bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    variable Resource block assignment/allocation
ModCoding     5-bits Modulation and coding scheme
HARQNo        3-bits (FDD)

4-bits (TDD)

HARQ process number
NewData       1-bit New data indicator
RV            2-bits Redundancy version
TPCPUCCH      2-bits PUCCH TPC command
TDDIndex 2-bits For TDD config 0, this field is not used.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format1B'DCIFormat      - 'Format1B'
AllocationType 1-bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    variable Resource block assignment/allocation
ModCoding     5-bits Modulation and coding scheme
HARQNo        3-bits (FDD)

4-bits (TDD)

HARQ process number
NewData       1-bit New data indicator
RV            2-bits Redundancy version
TPCPUCCH      2-bits PUCCH TPC command
TPMI          2-bits
(2 antennas)

4-bits
(4 antennas)

PMI information
PMI           1-bit PMI confirmation
TDDIndex 2-bits For TDD config 0, this field is not used.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format1C'DCIFormat      - 'Format1C'
Allocation    variable Resource block assignment/allocation
ModCoding      5-bits Modulation and coding scheme
'Format1D'DCIFormat      - 'Format1D'
AllocationType 1-bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    variable Resource block assignment/allocation
ModCoding     5-bits Modulation and coding scheme
HARQNo        3-bits (FDD)

4-bits (TDD)

HARQ process number
NewData       1-bit New data indicator
RV            2-bits Redundancy version
TPCPUCCH      2-bits PUCCH TPC command
TPMI          2-bits
(2 antennas)

4-bits
(4 antennas)

Precoding TPMI information
DlPowerOffset 1-bit Downlink power offset
TDDIndex 2-bits For TDD config 0, this field is not used.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format2'DCIFormat      - 'Format2'
AllocationType 1-bit Resource allocation header: type 0, type 1

(only if downlink bandwidth is >10 PRBs)

Allocation    variable Resource block assignment/allocation
TPCPUCCH 2-bits PUCCH TPC command
HARQNo        3-bits (FDD)

4-bits (TDD)

HARQ process number
SwapFlag      1-bit Transport block to codeword swap flag
ModCoding1    5-bits Modulation and coding scheme for transport block 1
NewData1      1-bit

New data indicator for transport block 1

RV1           2-bits Redundancy version for transport block 1
ModCoding2    5-bits Modulation and coding scheme for transport block 2
NewData2      1-bit New data indicator for transport block 2
RV2           2-bits Redundancy version for transport block 2
PrecodingInfo 3-bits
(2-antennas)

6-bits
(4-antennas)

Precoding information
TDDIndex 2-bits For TDD config 0, this field is not used.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format2A'DCIFormat      - 'Format2A'
AllocationType 1-bit Resource allocation header: type 0, type 1

(only if downlink bandwidth is >10 PRBs)

Allocation    variable Resource block assignment/allocation
TPCPUCCH      2-bits PUCCH TPC command
HARQNo        3-bits (FDD)

4-bits (TDD)

HARQ process number
SwapFlag      1-bit Transport block to codeword swap flag
ModCoding1    5-bits Modulation and coding scheme for transport block 1
NewData1      1-bit New data indicator for transport block 1
RV1           2-bits Redundancy version for transport block 1
ModCoding2    5-bits Modulation and coding scheme for transport block 2
NewData2      1-bit New data indicator for transport block 2
RV2           2-bits Redundancy version for transport block 2
PrecodingInfo 0-bits
(2 antennas)

2-bits
(4 antennas)

Precoding information
TDDIndex 2-bits For TDD config 0, this field is not used.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format2B'DCIFormat  - 'Format2B'
AllocationType 1-bit Resource allocation header: type 0, type 1

(only if downlink bandwidth is >10 PRBs)

Allocation variable Resource block assignment/allocation
TPCPUCCH 2-bits PUCCH TPC command
HARQNo 3-bits (FDD)

4-bits (TDD)

HARQ process number
ScramblingId 1-bit Scrambling identity
ModCoding1    5-bits Modulation and coding scheme for transport block 1
NewData1      1-bit New data indicator for transport block 1
RV1 2-bits Redundancy version for transport block 1
ModCoding2 5-bits Modulation and coding scheme for transport block 2
NewData2 1-bit New data indicator for transport block 2
RV2 2-bits Redundancy version for transport block 2
TDDIndex 2-bits For TDD config 0, this field is not used.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

'Format3'DCIFormat  - 'Format3'
TPCCommands variable TPC commands for PUCCH and PUSCH
'Format3A'DCIFormat  - 'Format3A'
TPCCommands variable TPC commands for PUCCH and PUSCH
'Format4'DCIFormat - 'Format4'
CIFvariableCarier indicator
AllocationvariableResource block assignment/allocation
TPC2-bits PUSCH TPC command
CShiftDMRS3-bits Cyclic shift for DM RS
TDDIndex2-bits For TDD config 0, this field is Uplink Index.

For TDD Config 1-6, this field is the Downlink Assignment Index.

Not present for FDD.

CQIReqvariableCQI request
SRSRequest2-bits SRS request
AllocationType1-bits Resource allocation header: non-hopping PUSCH resource allocation type 0, type 1
ModCoding5-bits Modulation, coding scheme and redundancy version
NewData1-bits New data indicator
ModCoding15-bits Modulation and coding scheme for transport block 1
NewData11-bits New data indicator for transport block 1
ModCoding25-bits Modulation and coding scheme for transport block 2
NewData21-bits New data indicator for transport block 2
PrecodingInfo3-bits
(2 antennas)

6-bits
(4 antennas)

Precoding information

Data Types: char

Data Types: cell

dcibits — DCI message bitscell array of numeric vectors

DCI message bits, returned as a cell array of one or more numeric vectors. Each vector contains the bit stream of a recovered DCI message including any zero-padding. Each vector of bit values corresponds to successfully decoded DCI messages. For details, see lteDCI.

Data Types: cell

Introduced in R2014a

Was this topic helpful?