Main Content

lteEPDCCHSearch

Enhanced downlink control information search

Description

[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.

example

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: [1×1 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: [1×1 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

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