lteEPDCCHSearch
Enhanced downlink control information search
Description
[
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.dcistr
,dcibits
]
= lteEPDCCHSearch(enb
,chs
,softbits
)
Examples
Search EPDCCH for DCI Messages
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
enb
— eNodeB cell-wide settings
structure
eNodeB cell-wide settings, specified as a structure containing these parameter fields:
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
NDLRB | Required | Scalar integer from 6 to 110 |
Number of downlink resource blocks () |
NULRB | Required | Scalar integer from 6 to 110 | Number of uplink resource blocks. () |
NCellID | Required | Integer from 0 to 503 | Physical layer cell identity |
CyclicPrefix | Optional |
| Cyclic prefix length |
CellRefP | Required | 1, 2, 4 | Number of cell-specific reference signal (CRS) antenna ports |
NSubframe | Required | 0 (default), nonnegative scalar integer | Subframe number |
The following parameter
is applicable only when | |||
CFI | Required | 1, 2, or 3 | Control format indicator ( |
DuplexMode | Optional |
| Duplexing mode, specified as one of the following:
|
The following parameters
apply when | |||
TDDConfig | Optional | 0, 1 (default), 2, 3, 4, 5, 6 | Uplink–downlink configuration |
SSC | Optional | 0 (default), 1, 2, 3, 4, 5, 6, 7, 8, 9 | Special subframe configuration (SSC) |
NFrame | Optional | 0 (default), nonnegative scalar integer | Frame number |
CSIRSPeriod | Optional |
| 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 | |||
CSIRSConfig | Required | Nonnegative scalar integer | Array CSI-RS configuration indices. See TS 36.211, Table 6.10.5.2-1. |
CSIRefP | Required | 1 (default), 2, 4, 8 | Array of number of CSI-RS antenna ports |
ZeroPowerCSIRSPeriod | Optional |
| 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 | |||
ZeroPowerCSIRSConfig | Required | 16-bit bitmap character vector or string scalar (truncated if
not 16 bits or | 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 |
chs
— EPDCCH
-specific channel transmission configuration
structure
EPDCCH
-specific channel transmission configuration,
specified as a structure that can contain the following parameter
fields.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
EPDCCHType | Required |
| EPDCCH transmission type |
EPDCCHPRBSet | Required | 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 |
EPDCCHStart | Optional | 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 |
RNTI | Required | 0 (default), scalar integer | Radio network temporary identifier (RNTI) value (16 bits) |
EPDCCHNID | Required | nonnegative scalar integer | EPDCCH nID parameter for scrambling sequence initialization. |
EPDCCHPRBSetList | Optional | cell array of one or two vectors | PRB pair indices for one or two EPDCCH sets. |
EPDCCHPRBTypeList | Optional | cell array of character vector or string array | EPDCCH transmission types for one or two EPDCCH sets. |
EnableCarrierIndication | Optional |
| UE configured with carrier indication field (affects presence of CIF) |
EnableSRSRequest | Optional |
| UE configured for SRS request (affects presence of SRS request field in UE-specific formats 0/1A and 2B/2C/2D TDD) |
EnableMultipleCSIRequest | Optional |
| UE configured for multiple CSI requests (multiple cells/CSI processes) (affects length of CSI request field in UE-specific formats 0/4) |
NTxAnts | Optional | 1 (default), 2, 4 | Number of UE transmission antennas (affects length of precoding information field in format 4) |
softbits
— Received EPDCCH
payload
MTot-by-4 matrix
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, . 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
dcistr
— DCI message structure
cell array of structures
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-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. | |
'Format2C' | DCIFormat | — | 'Format2C' |
CIF | variable | Carrier 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 | |
TxIndication | 3-bits | Antenna port(s), scrambling identity, and number of layers indicator | |
SRSRequest | variable | SRS 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 | variable | TPC commands for PUCCH and PUSCH | |
'Format3A' | DCIFormat | — | 'Format3A' |
TPCCommands | variable | TPC commands for PUCCH and PUSCH | |
'Format4' | DCIFormat | — | 'Format4' |
CIF | variable | Carrier indicator | |
Allocation | variable | Resource block assignment/allocation | |
TPC | 2-bits | PUSCH TPC command | |
CShiftDMRS | 3-bits | Cyclic shift for DMRS | |
TDDIndex | 2-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. | |
CQIReq | variable | CQI request | |
SRSRequest | 2-bits | SRS request | |
AllocationType | 1-bit | Resource allocation header: non-hopping PUSCH resource allocation type 0, type 1 | |
ModCoding | 5-bits | Modulation, coding scheme and redundancy version | |
NewData | 1-bit | New data indicator | |
ModCoding1 | 5-bits | Modulation and coding scheme for transport block 1 | |
NewData1 | 1-bit | New data indicator 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 | |
PrecodingInfo | 3-bits (2 antennas) 6-bits (4 antennas) | Precoding information |
Data Types: struct
dcibits
— Recovered DCI
message bit vector
cell array of vectors
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
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
See Also
lteEPDCCH
| lteEPDCCHDecode
| lteEPDCCHIndices
| lteEPDCCHSpace
| lteEPDCCHPRBS
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)