Main Content


Physical downlink control channel



[sym,info] = ltePDCCH(enb,cw) returns an NRE-by-CellRefP complex matrix, sym, of modulation symbols given the input bit vector cw.

The function returns a matrix (sym) of complex modulation symbols generated by the set of Physical Downlink Control Channels (PDCCH) in a subframe. The channel processing includes the stages of scrambling, QPSK modulation, layer mapping and precoding, followed by REG interleaving and cyclic shifting. For a given input bit vector (typically the PDCCH multiplex), the output matrix sym contains the QPSK symbols in column-wise antenna form. Any input bits with value < 0 are turned into <NIL> ('0') symbols. The optional structure info returns control resourcing information about the output symbols (see ltePDCCHInfo for details).

[sym,info] = ltePDCCH(enb,cw,NREG) returns matrix sym. sets the number of output QPSK symbols, NRE, based on the NREG input value (NRE = 4 × NREG) instead of calculating it from the parameters of the enb structure.

[sym,info] = ltePDCCH(enb,cw,NREG,CCEGAINS) returns matrix sym. CCEGAINS allows control of the QPSK symbol gains on a per control channel element (CCE) basis.


collapse all

Generate complex modulated symbols for the PDCCH. The PDCCH symbols are QPSK modulated. Each QPSK symbol represents two bits.

Create a cell-wide configuration structure, initialized for RMC R.0. Retrieve the PDCCH information.

enb = lteRMCDL('R.0');
pdcchInfo = ltePDCCHInfo(enb)
pdcchInfo = struct with fields:
        NREG: 113
         NRE: 452
        NCCE: 12
    NREGUsed: 108
     NREUsed: 432
        MTot: 904
    NSymbols: 3

The field pdcch.MTot indicates the maximum number of input bits that can be transmitted on the PDCCH.

Generate a codeword that is MTot bits long. Using the codeword, generate PDCCH symbols.

cw = randi([0,1],pdcchInfo.MTot,1);
[pdcchSym,info] = ltePDCCH(enb,cw);
numCodewordBits = length(cw)
numCodewordBits = 904
numPDCCHSymbols = length(pdcchSym)
numPDCCHSymbols = 452

Since there are two bits per symbol, the number of output PDCCH symbols is half length of the codeword bit stream.

Input Arguments

collapse all

Cell-wide settings, specified as a scalar structure. enb contains the following fields.

Parameter FieldRequired or OptionalValuesDescription

1, 2, 4

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


Integer from 0 to 503

Physical layer cell identity


Integer greater than 0

Subframe number


Nonnegative scalar integer (6,...,110)

Number of downlink resource blocks (NRBDL)


'Normal' (default), 'Extended'

Cyclic prefix length


1, 2, or 3

Control format indicator value


'Sixth', 'Half', 'One', 'Two'

HICH group multiplier


'FDD' (default), 'TDD'

Duplexing mode, specified as either:

  • 'FDD' for Frequency Division Duplex

  • 'TDD' for Time Division Duplex

The following field is required when DuplexMode is set to 'TDD'.

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

Uplink–downlink configuration

Data Types: struct

Input bit vector that is 32 elements in length, specified as a vector. If length(cw) < 32, cw is padded with zeros before channel processing. If length(cw) > 32, only the first 32 elements are used.

Example: cw = lteCFI(struct('CFI',1));

Data Types: int8

Resource element groups (REGs) assigned to PDCCH.

Vector that controls the QPSK symbol gains on a per CCE basis. Each CCE (Control Channel Element) is a group of 36 QPSK symbols (72 bits) and is the minimum unit that a single coded DCI can be mapped to. The number of complete CCE, NCCE = floor(NREG/9), is available via the NCCE field in info. Each element of CCEGAINS acts as a linear multiplier to all 36 symbols generated from the associated block of 72 input bits. If CCEGAINS does not cover all the NREG symbols, specifically length(CCEGAINS) < NCCE, then the uncovered CCE receives zero power. All symbols are interleaved before they are output.

Data Types: double
Complex Number Support: Yes

Output Arguments

collapse all

PDCCH modulation symbols, given the input bit vector cw, returned as a NRE-by-CellRefP complex matrix. NRE is the number of QPSK symbols per antenna and CellRefP is the number of TX antenna ports. NRE corresponds to the number of control region resource elements assigned to the PDCCH given the structure enb.

Data Types: double
Complex Number Support: Yes

Information for various PDCCH resourcing quantities, returned as a structure. It contains fields including NRE, NREG, and MTot.

MTot is the maximum number of input bits that can be transmitted on the NRE symbols (MTot = 2×NRE = 8×NREG). If length(cw)<MTot, the input is padded with (MTot-length(cw)) <NIL> elements which translate to zero valued symbols. Any elements of input vector cw valued < 0 are also treated as <NIL> elements. If length(cw) > MTot then only the first MTot bits are used.

Data Types: struct

Version History

Introduced in R2014a