%% Get Two DCI Messages
% 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.

rxDCI = ltePDCCHSearch(enb,chs,pdcchmux)
rxDCI{:}

% Copyright 2012 The MathWorks, Inc.