Main Content

ltePDCCHSearch

PDCCH downlink control information search

Description

[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 the softbits input vector, cell-wide configuration, enb, and UE-specific channel configuration, chs. For more information, see PDCCH Search Processing.

example

Examples

collapse all

Extract and decode the PDCCH symbols from the control region of a subframe grid created by the DL waveform generator, lteRMCDLTool. Use the blind search function, ltePDCCHSearch, to search the common and UE-specific spaces by demasking all PDCCH candidates with the configured RNTI.

Use a waveform generator to create a full subframe grid containing a reference PDSCH and associated DCI in UE-specific search space. Extract and decode all the PDCCH multiplex (control region) bits.

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

pdcchSymbols = txGrid(ltePDCCHIndices(rmc));
rxPdcchBits = ltePDCCHDecode(rmc,pdcchSymbols);

Configure the UE-specific parameters that affect the DCI message lengths to match those of the reference UE.

ueConfig.RNTI = rmc.PDSCH.RNTI;
ueConfig.EnableCarrierIndication = 'Off';
ueConfig.EnableSRSRequest = 'Off';
ueConfig.EnableMultipleCSIRequest = 'Off';
ueConfig.NTxAnts = 1;

Use PDCCH blind search to find the DCI that schedules the PDSCH. Extract and display first DCI message structure from the search list. Compare the format of the DCI message returned in the previous step with the format used by the waveform generator.

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

decDCI = rxDCI{1}
decDCI = struct with fields:
           DCIFormat: 'Format1'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 14
              HARQNo: 0
             NewData: 1
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
    HARQACKResOffset: 0

decDCIFormat = decDCI.DCIFormat
decDCIFormat = 
'Format1'
txDCIFormat = rmc.PDSCH.DCIFormat
txDCIFormat = 
'Format1'

Map a pair of format 0 uplink and format 1A downlink grants into a UE-specific search space in the PDCCH multiplex. Use the blind search function to recover them. Because the search space is UE-specific, you can extend the messages to include the Release 10 SRS request field and a 2-bit CSI request field for the format 0 DCI. For simplicity, the example does not include any PDCCH channel processing steps.

Create a vector containing the control region PDCCH multiplex bits.

enb = lteRMCDL('R.0');
pdcchinfo = ltePDCCHInfo(enb);
pdcchmux = zeros(1,pdcchinfo.MTot);

Configure the UE-specific parameters to control the DCI and encoding.

chs = struct('RNTI',1,'PDCCHFormat',2);
chs.ControlChannelType = 'PDCCH';
chs.SearchSpace = 'UESpecific';
chs.EnableCarrierIndication = 'Off';
chs.EnableSRSRequest = 'On';
chs.EnableMultipleCSIRequest = 'On';
chs.NTxAnts = 1;

List the formats to create and get the UE-specific search space candidate locations in the PDCCH multiplex.

formats = {'Format0','Format1A'};
candidates = ltePDCCHSpace(enb,chs);

For each DCI format, create the DCI info bits and encode them for PDCCH mapping. Demonstrate setting of the ModCoding field to a nondefault value. Select a candidate to carry the target PDCCH.

for f = 1:length(formats)
    
    dciin = struct('DCIFormat',formats{f},'ModCoding',f);
    [dci,dcibits] = lteDCI(enb,chs,dciin);
    pdcch = lteDCIEncode(chs,dcibits);
    
    pdcchmux(candidates(f,1):candidates(f,2)) = pdcch;
end

Search PDCCH multiplex bits for any DCI messages directed at UE RNTI.

rxPdcchBits = 2*pdcchmux - 1;
rxDCI = ltePDCCHSearch(enb,chs,rxPdcchBits)
rxDCI=1×2 cell array
    {1×1 struct}    {1×1 struct}

rxDCI{:}
ans = struct with fields:
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 0
          Allocation: [1×1 struct]
           ModCoding: 2
              HARQNo: 0
             NewData: 0
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0

ans = struct with fields:
         DCIFormat: 'Format0'
               CIF: 0
       FreqHopping: 0
        Allocation: [1×1 struct]
         ModCoding: 1
           NewData: 0
               TPC: 0
        CShiftDMRS: 0
          TDDIndex: 0
        CSIRequest: 0
        SRSRequest: 0
    AllocationType: 0

Input Arguments

collapse all

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

Parameter FieldRequired or OptionalValuesDescription
NDLRBRequired

Scalar integer from 6 to 110

Number of downlink resource blocks (NRBDL)

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

NULRBRequired

Scalar integer from 6 to 110

Number of uplink resource blocks. (NRBUL)

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

NSubframeRequired

0 (default), 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

Data Types: struct

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

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

Data Types: double

Option to enable carrier indication UE configuration, specified as 'Off' or 'On'. Default configuration is disabled. When enabled, 'On', the carrier indication field is present.

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

Data Types: struct

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

Data Types: double

Output Arguments

collapse all

Downlink control information (DCI) message structures, returned as a cell array of structures. Each structure represents a successfully decoded DCI whose fields match fields of the associated DCI format. Each structure contains the fields associated with one or more decoded DCI messages. Because 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 the UE or is successfully decoded, dcistr contains that number of decoded DCI messages.

Each cell contains a structure with the fields associated with the DCI format of the received PDCCHs.

DCI format type, specified as a character vector. This table presents the fields associated with each DCI format as defined in TS 36.212 [1], Section 5.3.3.

DCI Formatsdciout FieldsSizeDescription
'Format0' DCIFormat-'Format0'
CIF0 or 3 bitsCarrier indicator field
FreqHopping1 bit PUSCH frequency hopping flag
AllocationVaries Resource block assignment/allocation
ModCoding5 bits Modulation, coding scheme, and redundancy version
NewData1 bit New data indicator
TPC2 bits PUSCH TPC command
CShiftDMRS3 bits Cyclic shift for DM RS
TDDIndex2 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.

CSIRequest1, 2, or 3 bitsCSI request
SRSRequest0 or 1 bit

SRS request. This field can only be present in DCI formats scheduling PUSCH which are mapped onto the UE specific search space given by the C-RNTI

AllocationType1 bit

Resource allocation type, only present if NRBULNRBDL.

'Format1' DCIFormat     -'Format1'
CIF0 or 3 bitsCarrier indicator field
AllocationType

1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation    VariesResource block assignment/allocation
ModCoding     5 bitsModulation 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.

HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format1A' DCIFormat      -'Format1A'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    Varies Resource block assignment/allocation
ModCoding     5 bits Modulation and coding scheme
HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
NewData       1 bitNew 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.

SRSRequest0 or 1 bit

SRS request. This field can only be present in DCI formats scheduling PUSCH which are mapped onto the UE specific search space given by the C-RNTI

HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format1B' DCIFormat      -'Format1B'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    Varies Resource block assignment/allocation
ModCoding     5 bits Modulation and coding scheme
HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
NewData       1 bitNew 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.

TPMI         

2 bits for two antennas

4 bits for four antennas

PMI information
PMI           1 bitPMI confirmation
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

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

3 bits (FDD)

4 bits (TDD)

HARQ process number
NewData       1 bitNew 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.

TPMI         

2 bits for two antennas

4 bits for four antennas

Precoding TPMI information
DlPowerOffset 1 bit Downlink power offset
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2' DCIFormat      - 'Format2'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation    Varies Resource block assignment/allocation
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.

HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
SwapFlag      1 bitTransport 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 for two antennas

6 bits for four antennas

Precoding information
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2A' DCIFormat      -'Format2A'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation    Varies Resource block assignment/allocation
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.

HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
SwapFlag      1 bitTransport 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 for two antennas

2 bits for four antennas

Precoding information
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2B' DCIFormat  - 'Format2B'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation Varies Resource block assignment/allocation
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.

HARQNo

3 bits (FDD)

4 bits (TDD)

HARQ process number
ScramblingId 1 bitScrambling 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
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2C'DCIFormat-'Format2C'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation Varies Resource block assignment/allocation
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.

HARQNo

3 bits (FDD)

4 bits (TDD)

HARQ process number
TxIndication3 bitsAntenna ports, scrambling identity, and number of layers indicator
SRSRequestVariesSRS request. Only present for TDD.
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
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2D'DCIFormat-'Format2D'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation Varies Resource block assignment/allocation
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.

HARQNo

3 bits (FDD)

4 bits (TDD)

HARQ process number
TxIndication3 bitsAntenna ports, scrambling identity, and number of layers indicator
SRSRequestVariesSRS request. Only present for TDD.
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
REMappingAndQCL 2 bits

PDSCH RE Mapping and Quasi-Co-Location Indicator

HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format3' DCIFormat - 'Format3'
TPCCommands Varies TPC commands for PUCCH and PUSCH
'Format3A' DCIFormat - 'Format3A'
TPCCommands Varies TPC commands for PUCCH and PUSCH
'Format4'DCIFormat- 'Format4'
CIF0 or 3 bitsCarrier indicator field
AllocationVariesResource 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.

CSIReqVariesCSI request
SRSRequest2 bits SRS request
AllocationType1 bit

Resource allocation header type 0 or type 1.

ModCoding5 bits Modulation, coding scheme, and redundancy version
NewData1 bitNew data indicator
ModCoding15 bits Modulation and coding scheme for transport block 1
NewData11 bitNew data indicator for transport block 1
ModCoding25 bits Modulation and coding scheme for transport block 2
NewData21 bit New data indicator for transport block 2
PrecodingInfo

3 bits for two antennas

6 bits for four antennas

Precoding information
'Format5'DCIFormat- 'Format5'
PSCCHResource6 bits

Resource for PSCCH

TPC1 bit

TPC command for PSCCH and PSSCH

FreqHopping1 bit

Frequency hopping flag

AllocationVaries

Resource block assignment and hopping resource allocation

TimeResourcePattern7 bits Time resource pattern
'Format5A'DCIFormat- 'Format5A'
CIF3 bitsCarrier indicator
FirstSubchannelIdx log2(NsubchannelSL)Lowest index of the subchannel allocation to the initial transmission
RIVfrom 0 to 13 bits, log2(NsubchannelSL×(NsubchannelSL+1)2)Resource indication value
TimeGap4 bits

Time gap between initial transmission and retransmission

SLIndex2 bitsSL SPS configuration index

Data Types: char

Data Types: cell

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 more information, see lteDCI.

Data Types: cell

More About

collapse all

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.

[2] 3GPP TS 36.213. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical layer procedures.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2014a