Main Content

lteEPDCCHSearch

Enhanced downlink control information search

Description

example

[dcistr,dcibits] = lteEPDCCHSearch(enb,chs,softbits) recovers DCI message structures, and corresponding vectors of DCI message bits, after blind decoding the multiplexed EPDCCHs. The multiplexed EPDCCHs are within the received EPDCCH payload given by matrix of soft bits. This function carries out search for a single EPDCCH set. For more information, see EPDCCH Search Processing.

Examples

collapse all

Encode a DCI message and modulate it on the EPDCCH. Perform EPDCCH decoding and then EPDCCH blind-search to recover the DCI message. For DCI messages sent on the EPDCCH, set the ControlChannelType to 'EPDCCH'.

Initialize cell-wide settings structure and EPDCCH transmission channel structure.

enb = lteRMCDL('R.43');
chs.RNTI = 42;
chs.ControlChannelType = 'EPDCCH';
chs.EPDCCHType = 'Localized';
chs.EPDCCHPRBSet = [2 3];
chs.EPDCCHNID = 0;
chs.EPDCCHFormat = 1;
chs.DCIFormat = 'Format1A';

Create a DCI message. Generate EPDCCH candidates.

[dci,dciBits] = lteDCI(enb,chs,struct('DCIFormat',chs.DCIFormat));

candidates = lteEPDCCHSpace(enb,chs);
chs.EPDCCHECCE = candidates(1,:);

Generate RE grid indices and EPDCCH info structure. Encode the DCI message into a codeword for transmission. Generate EPDCCH symbols and populate resource grid.

[ind,info] = lteEPDCCHIndices(enb,chs);
cw = lteDCIEncode(chs,dciBits,info.EPDCCHG);

sym = lteEPDCCH(enb,chs,cw);
grid = lteDLResourceGrid(enb,4);
grid(ind) = sym;

Decode the EPDCCH transmission. Recover and view DCI message.

rxsoftbits = lteEPDCCHDecode(enb,chs,grid);

rxdci = lteEPDCCHSearch(enb,chs,rxsoftbits);
rxdci{1}
ans = struct with fields:
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 0
          Allocation: [1x1 struct]
           ModCoding: 0
              HARQNo: 0
             NewData: 0
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0

Search for multiple EPDCCH sets. The first EPDCCH set is as configured above and the second is of Distributed type with 8 PRBs.

Transmit the EPDCCH DM-RS for channel estimation.

grid(lteEPDCCHDMRSIndices(enb,chs)) = lteEPDCCHDMRS(enb,chs);

Configure the channel estimation.

cec.PilotAverage = 'TestEVM';
cec.Reference = 'EPDCCHDMRS';

Configure two EPDCCH sets.

chs.EPDCCHTypeList = {'Localized' 'Distributed'};
chs.EPDCCHPRBSetList = {[2; 3] (8:15).'};

Perform the EPDCCH search for each set.

for p = 1:numel(chs.EPDCCHTypeList)
    chs.EPDCCHType = chs.EPDCCHTypeList{p};
    chs.EPDCCHPRBSet = chs.EPDCCHPRBSetList{p};
    [hestgrid,noiseest] = lteDLChannelEstimate(enb,chs,cec,grid);
    rxsoftbits = lteEPDCCHDecode(enb,chs,grid,hestgrid,noiseest);
    rxdci = lteEPDCCHSearch(enb,chs,rxsoftbits);
    X = ['EPDCCH set ' num2str(p)];
    disp([X ', DCI messages found: ' num2str(numel(rxdci))])
    if (~isempty(rxdci))
        rxdci{1}
    end
end
EPDCCH set 1, DCI messages found: 1
ans = struct with fields:
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 0
          Allocation: [1x1 struct]
           ModCoding: 0
              HARQNo: 0
             NewData: 0
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0

EPDCCH set 2, DCI messages found: 0

A DCI message is found in EPDCCH set 1 but not in EPDCCH set 2.

Input Arguments

collapse all

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)

See Specifying Number of Resource Blocks.

NULRBRequired

Scalar integer from 6 to 110

Number of uplink resource blocks. (NRBUL)

NCellIDRequired

Integer from 0 to 503

Physical layer cell identity

CyclicPrefixOptional

'Normal' (default), 'Extended'

Cyclic prefix length

CellRefPRequired

1, 2, 4

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

NSubframeRequired

0 (default), nonnegative scalar integer

Subframe number

The following parameter is applicable only when chs.EPDCCHStart is absent.

  CFIRequired

1, 2, or 3
Scalar or if the CFI varies per subframe, a vector of length 10 (corresponding to a frame).

Control format indicator (CFI) value. In TDD mode, CFI varies per subframe for the RMCs ('R.0', 'R.5', 'R.6', 'R.6-27RB', 'R.12-9RB')

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as one of the following:

  • 'FDD' — Frequency division duplex (default)

  • 'TDD' — Time division duplex

The following parameters apply when DuplexMode is set to 'TDD'.

  TDDConfigOptional

0, 1 (default), 2, 3, 4, 5, 6

Uplink–downlink configuration

  SSCOptional

0 (default), 1, 2, 3, 4, 5, 6, 7, 8, 9

Special subframe configuration (SSC)

NFrameOptional

0 (default), nonnegative scalar integer

Frame number

CSIRSPeriodOptional

'Off' (default), 'On', Icsi-rs (0,...,154), [Tcsi-rs Dcsi-rs]. You can also specify values in a cell array of configurations for each resource.

CSI-RS subframe configurations for one or more CSI-RS resources. Multiple CSI-RS resources can be configured from a single common subframe configuration or from a cell array of configurations for each resource.

The following CSI-RS resource parameters apply only when CSIRSPeriod sets one or more CSI-RS subframe configurations to any value other than 'Off'. Each parameter length must be equal to the number of CSI-RS resources required.

  CSIRSConfigRequired

Nonnegative scalar integer

Array CSI-RS configuration indices. See TS 36.211, Table 6.10.5.2-1.

  CSIRefPRequired

1 (default), 2, 4, 8

Array of number of CSI-RS antenna ports

ZeroPowerCSIRSPeriodOptional

'Off' (default), 'On', Icsi-rs (0,...,154), [Tcsi-rs Dcsi-rs]. You can also specify values in a cell array of configurations for each resource.

Zero power CSI-RS subframe configurations for one or more zero power CSI-RS resource configuration index lists. Multiple zero power CSI-RS resource lists can be configured from a single common subframe configuration or from a cell array of configurations for each resource list.

The following zero power CSI-RS resource parameter is applicable only if one or more of the above zero power subframe configurations are set to any value other than 'Off'.

  ZeroPowerCSIRSConfigRequired

16-bit bitmap character vector or string scalar (truncated if not 16 bits or '0' MSB extended), or a numeric list of CSI-RS configuration indices. You can also specify values in a cell array of configurations for each resource.

Zero power CSI-RS resource configuration index lists (TS 36.211 Section 6.10.5.2). Specify each list as a 16-bit bitmap character vector or string scalar (if less than 16 bits, then '0' MSB extended), or as a numeric list of CSI-RS configuration indices from TS 36.211 Table 6.10.5.2-1 in the '4' CSI reference signal column. Multiple lists can be defined using a cell array of individual lists.

EPDCCH-specific channel transmission configuration, specified as a structure that can contain the following parameter fields.

Parameter FieldRequired or OptionalValuesDescription
EPDCCHTypeRequired

'Localized', 'Distributed'

EPDCCH transmission type

EPDCCHPRBSetRequired

Vector of zero-based indices for the PRB pairs corresponding to the EPDCCH PRB set. The number of PRB pair indices must be a power of 2.

EPDCCH PRB pair indices

EPDCCHStartOptional

integer from 0 to 4

If this parameter is not present, then the cell-wide CFI parameter is used for the starting symbol.

EPDCCH starting symbol

RNTIRequired

0 (default), scalar integer

Radio network temporary identifier (RNTI) value (16 bits)

EPDCCHNIDRequired

nonnegative scalar integer

EPDCCH nID parameter for scrambling sequence initialization.

EPDCCHPRBSetListOptional

cell array of one or two vectors

PRB pair indices for one or two EPDCCH sets.

EPDCCHPRBTypeListOptional

cell array of character vector or string array

EPDCCH transmission types for one or two EPDCCH sets.

EnableCarrierIndicationOptional

'Off' (default), 'On'

UE configured with carrier indication field (affects presence of CIF)

EnableSRSRequestOptional

'Off' (default), 'On'

UE configured for SRS request (affects presence of SRS request field in UE-specific formats 0/1A and 2B/2C/2D TDD)

EnableMultipleCSIRequestOptional

'Off' (default), 'On'

UE configured for multiple CSI requests (multiple cells/CSI processes) (affects length of CSI request field in UE-specific formats 0/4)

NTxAntsOptional

1 (default), 2, 4

Number of UE transmission antennas (affects length of precoding information field in format 4)

Received EPDCCH payload containing coded Downlink Control Information (DCI), specified as a MTot-by-4 matrix. MTot is the total number of bits associated with EPDCCHs, nEPDCCH*NECCENECCEPerPRB*2. The matrix contains soft EPDCCH bits estimates for all EPDCCH ECCEs and all EPDCCH reference signal ports.

If chs.EPDCCHPRBSetList and chs.EPDCCHTypeList are present and each contain two elements, the creation of the EPDCCH candidate locations support two EPDCCH sets. For more information, see TS 36.213 [2], Tables 9.1.4-3a to 9.1.4-5b.

Data Types: double

Output Arguments

collapse all

DCI message structure, returned as a cell array of structures whose fields match of the fields associated DCI format.

The field names associated with dcistr depend on the DCI format. The format is expected to be one of the formats generated by lteDCI.

The following table details the DCI formats and accompanying dcistr parameter fields.

DCI Formats DCISTRFields 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-bitResource 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-bitResource 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.
'Format2C'DCIFormat —'Format2C'
CIFvariableCarrier indicator
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
TxIndication3-bitsAntenna port(s), scrambling identity, and number of layers indicator
SRSRequestvariableSRS 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
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 variableTPC commands for PUCCH and PUSCH
'Format3A' DCIFormat 'Format3A'
TPCCommands variableTPC commands for PUCCH and PUSCH
'Format4'DCIFormat'Format4'
CIFvariableCarrier indicator
AllocationvariableResource block assignment/allocation
TPC2-bits PUSCH TPC command
CShiftDMRS3-bits Cyclic shift for DMRS
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-bitResource allocation header: non-hopping PUSCH resource allocation type 0, 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-bitNew data indicator for transport block 2
PrecodingInfo

3-bits (2 antennas)

6-bits (4 antennas)

Precoding information

Data Types: struct

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

More About

collapse all

EPDCCH Search Processing

EPDCCH search processing blindly decodes DCI messages based on their lengths. The lengths and order in which the DCI messages are searched for is provided by lteDCIInfo. For DCI messages conveyed on the EPDCCH, set ControlChannelType to 'EPDCCH' when calling lteDCIInfo.

If one or more messages have the same length, the first message format in the list is used to decode the message. The other potential message formats are ignored. The lteEPDCCHSearch function does not consider transmission mode during blind search, and no DCI message format is filtered based on transmission mode. It does not search for format 3 and 3A (power adjustment commands for PUSCH and PUCCH). It also does not search for format 1C as this format is never used in the UE-specific search space. EPDCCH is never used for common search space messages. For more information on the association between transmission mode, transmission scheme, DCI format, and search space, see TS 36.213 [2], Section 7.1 and Table 7.1-5A.

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.211. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation.” 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 R2016b