Main Content

lteDCI

Downlink control information format structures and bit payloads

Description

dciout = lteDCI(enb,dciin) returns the dciout structure containing a downlink control information (DCI) message given input structures containing the cell-wide settings and the DCI format setting. With this syntax, the messages created have the minimum possible sizes for the cell configuration (link bandwidths, frame structure, and so on).

This function creates and manipulates DCI messages for the formats defined in TS 36.212 [2], Section 5.3.3. Later releases of the LTE standard may add UE-specific bit fields to a format. By default, any UE-specific bit fields added after a format is first released, appear in the output but are inactive. Uses for lteDCI include creation of a default DCI message, blind decoding of DCI format types, and determining the sizes of the bit fields.

For information on link bandwidth assignment, see Specifying Number of Resource Blocks.

example

[dciout,bitsout] = lteDCI(enb,dciin) also returns a vector, bitsout, representing the set of message fields mapped to the information bit payload (including any zero padding).

example

[___] = lteDCI(enb,dciin,opts) formats the returned structure through the options specified by opts.

This syntax supports output options from prior syntaxes.

example

[___] = lteDCI(enb,chs,dciin,opts) permits formats to be extended with additional bit fields on a per-UE basis using the UE-specific channel configuration structure, chs.

example

[___] = lteDCI(enb,bitsin,opts) uses bitsin to initialize all the message fields. bitsin is treated as the DCI information bit payload and directly maps to bitsout, (bitsout == bitsin). By default the format is deduced directly from the length of bitsin. Therefore, the length of bitsin must be one of the valid format sizes for the given cell-wide parameters, enb. For more information, see lteDCIInfo.

When multiple formats have the same payload size, the first matching format is selected. The function checks formats 0 and 1A first, favoring the more likely common search space. If no match is found, the remaining formats are searched in alphanumerical order. To override the blind format matching in this syntax, add an explicit enb.DCIFormat field.

example

[___] = lteDCI(enb,chs,bitsin,opts) permits formats to be extended with additional bit fields on a per-UE basis using the UE-specific channel configuration structure, chs. The DCI payload sizes for the combination of cell-wide and UE-specific parameters define the set of valid bitsin lengths. For more information, see lteDCIInfo.

As with the previous syntax, the format type is deduced from the length of bitsin. To override the blind format matching in this syntax, add an explicit chs.DCIFormat field.

example

[___] = lteDCI(istr,opts) accepts an input structure, istr. The fields described in the structures enb and dciin must be present as part of istr. In this syntax, dciout, also carries forward the NDLRB and DCIFormat fields supplied in istr.

This syntax is not recommended and will be removed in a future release. Instead, use one of the previous syntaxes that separates the parameters into different input structures.

Examples

collapse all

Create a format 1A DCI message structure with the distributed VRB allocation type. The allocation message fields are contained in the dci1A.Allocation substructure. When the format 1A AllocationType field is properly initialized at the input to the function, the appropriate set of fields is output. For format 1A, setting AllocationType to 1 gives a distributed allocation and 0 gives a localized allocation.

enb = struct('NDLRB',50,'CellRefP',1,'DuplexMode','FDD');
dciin = struct('DCIFormat','Format1A','AllocationType',1);
dci1A = lteDCI(enb,dciin)
dci1A = struct with fields:
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 0
              HARQNo: 0
             NewData: 0
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0

allocfields = dci1A.Allocation
allocfields = struct with fields:
    RIV: 0
    Gap: 0

The field values of this structure can be set and passed back through the function. Output the information bits with the new values.

dci1A.RV = 1;
dci1A.Allocation.RIV = 6;
dci1Aupdated = lteDCI(enb,dci1A)
dci1Aupdated = struct with fields:
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 0
              HARQNo: 0
             NewData: 0
                  RV: 1
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0

allocfields = dci1Aupdated.Allocation
allocfields = struct with fields:
    RIV: 6
    Gap: 0

Create a format 1 DCI message structure with the resource allocation type 1 and TDD modulation scheme. Set AllocationType to 1, and output the set of allocation fields. AllocationType is the resource allocation header bit for format 1. Also initialize the ModCoding field at the input. All noninitialized fields default to 0.

enb.NDLRB = 50;
enb.CellRefP = 1;
enb.DuplexMode = 'TDD';

dciin.DCIFormat = 'Format1';
dciin.AllocationType = 1;
dciin.ModCoding = 7;

dci1 = lteDCI(enb,dciin)
dci1 = struct with fields:
           DCIFormat: 'Format1'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 7
              HARQNo: 0
             NewData: 0
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
    HARQACKResOffset: 0

allocfields = dci1.Allocation
allocfields = struct with fields:
      Bitmap: '00000000000000'
    RBSubset: 0
       Shift: 0

For the specified configuration, the Allocation substructure includes the character vector bit field, Bitmap, plus RBSubset and Shift fields.

Create a format 1A DCI message structure and output the bitsout message. Modify the DCI message and observe the change.

Create cell-wide settings and DCI message settings structures. For the DCI message, assign format 1A and allocation type 0. Generate the DCI message. View the DCI message structure and bits output.

enb = struct('NDLRB',25,'CellRefP',1,'DuplexMode','FDD');
dciin = struct('DCIFormat','Format1A','AllocationType',0);

[dciout,bitsout] = lteDCI(enb,dciin);

dciout
dciout = 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

bitsout'
ans = 1×25 int8 row vector

   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

The first bit in bitsout is a 1 for DCI message format 1A. The second bit is 0 for AllocationType = 0.

Modify the allocation type to 1. Regenerate the DCI message. View the DCI message structure and bits output.

dciin = struct('DCIFormat','Format1A','AllocationType',1);

[dciout,bitsout] = lteDCI(enb,dciin);

dciout
dciout = struct with fields:
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 0
              HARQNo: 0
             NewData: 0
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0

bitsout'
ans = 1×25 int8 row vector

   1   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

Note the AllocationType and the second bit of bitsout both changed from 0 to 1.

Modify the DCI message format to 0. Regenerate the DCI message. View the DCI message structure and bits output.

dciin = struct('DCIFormat','Format0','AllocationType',1);

[dciout,bitsout] = lteDCI(enb,dciin);

dciout
dciout = struct with fields:
         DCIFormat: 'Format0'
               CIF: 0
        Allocation: [1×1 struct]
         ModCoding: 0
           NewData: 0
               TPC: 0
        CShiftDMRS: 0
          TDDIndex: 0
        CSIRequest: 0
        SRSRequest: 0
    AllocationType: 1

bitsout'
ans = 1×25 int8 row vector

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   0

The first bit in bitsout change from 1 to 0. Because the message formats 0 and 1A have the same length, the first bit in bitsout is used to distinguish these formats. For all other formats, the message length is used to distinguish the format types. For format 0, the setting for AllocationType is specified by bit number 24.

Create a format 1 DCI message structure and supply the optional 'fieldsizes' and 'excludeunusedfields' inputs. By default, the output structure contains all possible fields for the input format. Not all fields are active for the given input parameters. Specifically, some might not be present in the payload bits. To see the number of bits associated with each field, use the optional 'fieldsizes' input. The 'fieldsizes' option also adds the 'Padding' field to the output indicating the number of padding bits.

enb.NDLRB = 50;
enb.CellRefP = 1;
enb.DuplexMode = 'TDD';

dciin.DCIFormat = 'Format1';
dciin.AllocationType = 1;
dciin.ModCoding = 7;

opts = {'fieldsizes'}
opts = 1×1 cell array
    {'fieldsizes'}

dci1 = lteDCI(enb,dciin,opts)
dci1 = struct with fields:
           DCIFormat: 'Format1'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 5
              HARQNo: 4
             NewData: 1
                  RV: 2
            TPCPUCCH: 2
            TDDIndex: 2
    HARQACKResOffset: 0
             Padding: 0

allocfields = dci1.Allocation
allocfields = struct with fields:
      Bitmap: 14
    RBSubset: 2
       Shift: 1

View the output to see the sizes for all DCI message fields.

Remove unused (0 bit) fields from the output structure by using the 'excludeunusedfields' option.

opts = {'fieldsizes','excludeunusedfields'}
opts = 1×2 cell
    {'fieldsizes'}    {'excludeunusedfields'}

dci1 = lteDCI(enb,dciin,opts)
dci1 = struct with fields:
         DCIFormat: 'Format1'
    AllocationType: 1
        Allocation: [1×1 struct]
         ModCoding: 5
            HARQNo: 4
           NewData: 1
                RV: 2
          TPCPUCCH: 2
          TDDIndex: 2

allocfields = dci1.Allocation
allocfields = struct with fields:
      Bitmap: 14
    RBSubset: 2
       Shift: 1

The output fields with bit length equal to zero bits no longer appear in the output.

Create a format 1A DCI message structure with the distributed VRB allocation type. The Allocation substructure contains the allocation message fields. To specify a distributed allocation, set the format 1A AllocationType field to 1. To specify a localized allocation, set the AllocationType field to 0.

enb.NDLRB = 50;
enb.CellRefP = 1;
enb.DuplexMode = 'FDD';
dciin.DCIFormat = 'Format1A';
dciin.AllocationType = 1;
[dci1A,bits] = lteDCI(enb,dciin);
disp(dci1A)
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 0
              HARQNo: 0
             NewData: 0
                  RV: 0
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0
disp(dci1A.Allocation)
    RIV: 0
    Gap: 0

Adjust the RV and RIV field values of dci1A. Call the lteDCI function again to update the information bits with the new values. View the updated message fields by blindly recovering them directly from the output DCI message bits.

dci1A.RV = 1;
dci1A.Allocation.RIV = 6;
[~,bitsUpdated] = lteDCI(enb,dci1A);
dci1Arec = lteDCI(enb,bitsUpdated);
disp(dci1Arec)
           DCIFormat: 'Format1A'
                 CIF: 0
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 0
              HARQNo: 0
             NewData: 0
                  RV: 1
            TPCPUCCH: 0
            TDDIndex: 0
          SRSRequest: 0
    HARQACKResOffset: 0
disp(dci1Arec.Allocation)
    RIV: 6
    Gap: 0

Use an additional UE-specific input parameter structure to control UE-specific DCI fields. Create a message to be sent on the EPDCCH that is intended for a UE configured with the carrier indicator field, CIF.

Initialize cell-wide structure enb, DCI format structure dciin, UE-specific structure chs, and output options structure opts.

enb.NDLRB = 50;
enb.CellRefP = 1;
enb.DuplexMode = 'TDD';

dciin.DCIFormat = 'Format1';
dciin.AllocationType = 1;
dciin.ModCoding = 7;

chs.ControlChannelType = 'EPDCCH';
chs.EnableCarrierIndication = 'On';
chs.EnableSRSRequest = 'Off';
chs.EnableMultipleCSIRequest = 'Off';

opts = {'fieldsizes','excludeunusedfields'}
opts = 1×2 cell
    {'fieldsizes'}    {'excludeunusedfields'}

Create and view the DCI message.

dci1 = lteDCI(enb,chs,dciin,opts)
dci1 = struct with fields:
           DCIFormat: 'Format1'
                 CIF: 3
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 5
              HARQNo: 4
             NewData: 1
                  RV: 2
            TPCPUCCH: 2
            TDDIndex: 2
    HARQACKResOffset: 2

allocfields = dci1.Allocation
allocfields = struct with fields:
      Bitmap: 14
    RBSubset: 2
       Shift: 1

Based on the UE-specific settings in chs, the output includes the three bit CIF field and the two bit HARQACKResOffset field. If these fields were present in dciin, their values would be mapped into the appropriate positions in the information bits at the output.

Use an additional UE-specific input parameter structure to control UE-specific DCI fields. Create a message to be sent on the EPDCCH that is intended for a UE configured with the carrier indicator field, CIF.

Initialize cell-wide structure enb, UE-specific structure chs, and output options structure opts.

enb.NDLRB = 50;
enb.CellRefP = 1;
enb.DuplexMode = 'TDD';

chs.DCIFormat = 'Format1B';
chs.ControlChannelType = 'EPDCCH';
chs.EnableCarrierIndication = 'On';
chs.EnableSRSRequest = 'Off';
chs.EnableMultipleCSIRequest = 'Off';
chs.NTxAnts = 1;

opts = {'fieldsizes','excludeunusedfields'};

Based on the UE-specific settings in chs, the DCI message length is extended to include fields CIF (3 bits) and HARQACKResOffset (2 bits). Using lteDCIInfo and chs to determine the correct input bitstream length, create bitsin.

info = lteDCIInfo(enb,chs);

bitsin = zeros(getfield(info,chs.DCIFormat),1);

Create a new DCI message using cell-wide settings, UE-specific Control and bitsin.

[dciout,bitsout] = lteDCI(enb,chs,bitsin,opts);
dciout
dciout = struct with fields:
           DCIFormat: 'Format1B'
                 CIF: 3
      AllocationType: 1
          Allocation: [1×1 struct]
           ModCoding: 5
              HARQNo: 4
             NewData: 1
                  RV: 2
            TPCPUCCH: 2
            TDDIndex: 2
                TPMI: 2
                 PMI: 1
    HARQACKResOffset: 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)

NULRBRequired

Scalar integer from 6 to 110

Number of uplink resource blocks. (NRBUL)

DCIFormatRequired (see syntax descriptions for applicability)

'Format0', 'Format1', 'Format1A', 'Format1B', 'Format1C', 'Format1D', 'Format2', 'Format2A', 'Format2B', 'Format2C', 'Format2D', 'Format3', 'Format3A', 'Format4', 'Format5', 'Format5A'

Downlink control information (DCI) format

CellRefPOptional

1 (default), 2, 4

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

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as either:

  • 'FDD' for Frequency Division Duplex

  • 'TDD' for Time Division Duplex

DCI settings, specified as a structure that can contain these fields.

Parameter FieldRequired or OptionalValuesDescription
DCIFormat

Required, except when bitsin is input

'Format0', 'Format1', 'Format1A', 'Format1B', 'Format1C', 'Format1D', 'Format2', 'Format2A', 'Format2B', 'Format2C', 'Format2D', 'Format3', 'Format3A', 'Format4', 'Format5', 'Format5A'

Downlink control information (DCI) format

Any format-specific fields can be initialized by adding them to dciin. See dciout for specific fields output for each DCIFormat.

Formatting options for output DCI structure, specified as a character vector, cell array of character vectors, or a string array. You can specify a format for the Field content and Fields to include. For convenience, you can specify several options as a single character vector or string scalar by a space-separated list of values placed inside the quotes. Values for opts when specified as a character vector include (use double quotes for string):

Category Options Description

Field content

'fieldvalues' (default)

Set the fields to zero or to their input values.

'fieldsizes'

Sets the field values to their bit sizes and adds the Padding field to dciout. Padding indicates the number of padding bits appended.

Fields to include

'includeallfields' (default)

dciout includes all possible fields for the requested DCI format.

'excludeunusedfields'

dciout excludes fields that have zero length for the given parameter set.

Example: 'fieldsizes excludeunusedfields', "fieldsizes excludeunusedfields", {'fieldsizes','excludeunusedfields'}, or ["fieldsizes","excludeunusedfields"] specify the same formatting options.

Data Types: char | string | cell

User-equipment-related (UE-related) channel configuration, specified as a structure containing these UE-specific fields.

Note

All fields in chs are optional. The presence of these optional fields depends on:

  • Whether the transmission of DCI message is in a PDCCH using common search space mapping or in an EPDCCH.

  • The release-specific features configured at the destination UE.

These additional UE-specific bit fields are off by default.

DCI format name, specified as a character vector or string scalar. For string scalar, use double quotes. See syntax descriptions for applicability.

Data Types: char | string

Physical control channel type used to carry DCI formats, specified as 'PDCCH' or 'EPDCCH'. The setting for ChannelControlType affects the presence of the HARQ-ACK resource offset field and message padding.

Data Types: char | string

Search space mapping for DCI formats 0/1A/1C, specified as 'UESpecific' or 'Common'. This field is only applicable for PDCCH. None of the additional fields can be present when formats 0 or 1A are mapped into the PDCCH common search space.

Data Types: char | string

Option to enable carrier indication field (CIF) in the UE configuration, specified as 'Off' or 'On'. By default, EnableCarrierIndication is disabled. When EnableCarrierIndication is enabled ('On'), the CIF is present in the UE-specific configuration.

Data Types: char | string

Option to enable SRS request in the UE configuration, specified as 'Off' or 'On'. By default, EnableSRSRequest is disabled. When EnableSRSRequest is enabled ('On'), the SRS request field is present in UE-specific formats 0/1A for FDD or TDD and formats 2B/2C/2D for TDD.

Data Types: char | string

Option to enable multiple CSI requests in the UE configuration, specified as 'Off' or 'On'. By default, EnableMultipleCSIRequest is disabled. When EnableMultipleCSIRequest is enabled ('On'), the UE is configured to process multiple channel state information (CSI) requests from cells. Enabling multiple CSI requests affects the length of the CSI request field in UE-specific formats 0 and 4.

Data Types: char | string

Number of UE transmission antennas, specified as 1, 2, or 4. The number of UE transmission antennas affects the length of the precoding information field in DCI format 4.

Data Types: double

Number of sub-channels in V2X PSSCH pool, specified as an integer scalar from 1 to 110. It affects the length of RIV in format 5A

Data Types: double

Data Types: struct

Input bits, specified as a column vector. bitsin is treated as the DCI information bit payload, that is, bitsout == bitsin. The length of bitsin must be one of the valid sizes for the format type and number of resource blocks. For information on link bandwidth assignment, see Specifying Number of Resource Blocks. For information on valid sizes, see lteDCIInfo.

When bitsin is specified, the structure dciin does not require the DCIFormat field. If the DCIFormat field is not present, lteDCI attempts to decode the format from the length of the payload vector bitsin.

Data Types: double

Input structure, specified as a structure that includes all the fields described in the structures enb and dciin.

Use of the istr input syntax is not recommended and will be removed in a future release. Instead, use one of the previous syntaxes that separates the parameters into different input structures.

Output Arguments

collapse all

DCI message structure, returned as a structure whose fields match the associated DCI format contents.

The field names associated with dciout depend on the DCI format field in dciin. By default, all values are set to zero. However, if any of the DCI fields are already present in the input dciin, their values are carried forward into dciout. The input field values appear in the associated bit positions in bitsout. Carrying the values forward allows for easy initialization of DCI field values, particularly the resource allocation type, which affects the fields used by the format. dciout also carries forward the NDLRB and DCIFormat fields supplied in dciin.

This table presents the fields associated with each DCI format as defined in TS 36.212 [2], Section 5.3.3.

DCI Formatsdciout FieldsSizeDescription
'Format0' DCIFormat-'Format0'
CIF0 or 3 bitsCarrier indicator field
FreqHopping1 bit PUSCH frequency hopping flag
AllocationVaries Resource block assignment/allocation
ModCoding5 bits Modulation, coding scheme, and redundancy version
NewData1 bit New data indicator
TPC2 bits PUSCH TPC command
CShiftDMRS3 bits Cyclic shift for DM RS
TDDIndex2 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.

CSIRequest1, 2, or 3 bitsCSI request
SRSRequest0 or 1 bit

SRS request. This field can only be present in DCI formats scheduling PUSCH which are mapped onto the UE specific search space given by the C-RNTI

AllocationType1 bit

Resource allocation type, only present if NRBULNRBDL.

'Format1' DCIFormat     -'Format1'
CIF0 or 3 bitsCarrier indicator field
AllocationType

1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation    VariesResource block assignment/allocation
ModCoding     5 bitsModulation 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.

HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format1A' DCIFormat      -'Format1A'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    Varies Resource block assignment/allocation
ModCoding     5 bits Modulation and coding scheme
HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
NewData       1 bitNew 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.

SRSRequest0 or 1 bit

SRS request. This field can only be present in DCI formats scheduling PUSCH which are mapped onto the UE specific search space given by the C-RNTI

HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format1B' DCIFormat      -'Format1B'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    Varies Resource block assignment/allocation
ModCoding     5 bits Modulation and coding scheme
HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
NewData       1 bitNew 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.

TPMI         

2 bits for two antennas

4 bits for four antennas

PMI information
PMI           1 bitPMI confirmation
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format1C' DCIFormat      - 'Format1C'
Allocation    Varies Resource block assignment/allocation
ModCoding      5 bits Modulation and coding scheme
'Format1D' DCIFormat      - 'Format1D'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit VRB assignment flag: 0 (localized), 1 (distributed)
Allocation    Varies Resource block assignment/allocation
ModCoding     5 bits Modulation and coding scheme
HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
NewData       1 bitNew 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.

TPMI         

2 bits for two antennas

4 bits for four antennas

Precoding TPMI information
DlPowerOffset 1 bit Downlink power offset
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2' DCIFormat      - 'Format2'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation    Varies Resource block assignment/allocation
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.

HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
SwapFlag      1 bitTransport 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 for two antennas

6 bits for four antennas

Precoding information
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2A' DCIFormat      -'Format2A'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation    Varies Resource block assignment/allocation
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.

HARQNo       

3 bits (FDD)

4 bits (TDD)

HARQ process number
SwapFlag      1 bitTransport 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 for two antennas

2 bits for four antennas

Precoding information
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2B' DCIFormat  - 'Format2B'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation Varies Resource block assignment/allocation
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.

HARQNo

3 bits (FDD)

4 bits (TDD)

HARQ process number
ScramblingId 1 bitScrambling 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
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2C'DCIFormat-'Format2C'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation Varies Resource block assignment/allocation
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.

HARQNo

3 bits (FDD)

4 bits (TDD)

HARQ process number
TxIndication3 bitsAntenna ports, scrambling identity, and number of layers indicator
SRSRequestVariesSRS 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
HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format2D'DCIFormat-'Format2D'
CIF0 or 3 bitsCarrier indicator field
AllocationType 1 bit

Resource allocation header: type 0, type 1. If downlink bandwidth is ≤10 PRBs there is no resource allocation header and resource allocation type 0 is assumed.

Allocation Varies Resource block assignment/allocation
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.

HARQNo

3 bits (FDD)

4 bits (TDD)

HARQ process number
TxIndication3 bitsAntenna ports, scrambling identity, and number of layers indicator
SRSRequestVariesSRS 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
REMappingAndQCL 2 bits

PDSCH RE Mapping and Quasi-Co-Location Indicator

HARQACKResOffset2 bits

HARQ-ACK resource offset. Present when this format is carried by EPDCCH. Not present when this format is carried by PDCCH

'Format3' DCIFormat - 'Format3'
TPCCommands Varies TPC commands for PUCCH and PUSCH
'Format3A' DCIFormat - 'Format3A'
TPCCommands Varies TPC commands for PUCCH and PUSCH
'Format4'DCIFormat- 'Format4'
CIF0 or 3 bitsCarrier indicator field
AllocationVariesResource block assignment/allocation
TPC2 bits PUSCH TPC command
CShiftDMRS3 bits Cyclic shift for DM-RS
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.

CSIReqVariesCSI request
SRSRequest2 bits SRS request
AllocationType1 bit

Resource allocation header type 0 or 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 bit New data indicator for transport block 2
PrecodingInfo

3 bits for two antennas

6 bits for four antennas

Precoding information
'Format5'DCIFormat- 'Format5'
PSCCHResource6 bits

Resource for PSCCH

TPC1 bit

TPC command for PSCCH and PSSCH

FreqHopping1 bit

Frequency hopping flag

AllocationVaries

Resource block assignment and hopping resource allocation

TimeResourcePattern7 bits Time resource pattern
'Format5A'DCIFormat- 'Format5A'
CIF3 bitsCarrier indicator
FirstSubchannelIdx log2(NsubchannelSL)Lowest index of the subchannel allocation to the initial transmission
RIVfrom 0 to 13 bits, log2(NsubchannelSL×(NsubchannelSL+1)2)Resource indication value
TimeGap4 bits

Time gap between initial transmission and retransmission

SLIndex2 bitsSL SPS configuration index

The DCIFormat field indicates the DCI format. All other fields are represented by an integer which is converted to a set of binary message bits for each individual field.

The ModCoding fields in the table correspond to the variable IMCS defined in TS 36.213 [3], Section 7.1.7, Table 7.1.7.1-1. This field expects to be assigned a decimal number. The call to lteDCI serializes ModCoding into a 5-bit field value. For example, the ModCoding field for 64QAM modulation (Qm) and transport block index (ITBS) 15 is assigned 17 (a decimal number).

The fields included in the Allocation structure vary based on the format type as outlined in these tables. All fields take a character vector of zeros and ones with the appropriate bit length.

Resource allocation type 0
DCI Formats Allocation FieldsSize (bits)Description
'Format1'
'Format2'
'Format2A'
'Format2B'
BitmapVariesBitmap value in terms of RBG, specified as a character vector
Resource allocation type 1
DCI Formats Allocation FieldsSize (bits)Description
'Format1'
'Format2'
'Format2A'
'Format2B'
BitmapVariesBitmap value in terms of RBG, specified as a character vector
RBSubset2 bitsSelected resource blocks subset indicator
Shift  1 bitShift of the resource allocation span indicator
Resource allocation type 2 (localized)
DCI Formats Allocation FieldsSize (bits)Description
'Format1A'
'Format1B'
'Format1C'
'Format1D'
RIVVariesResource indication value
Resource allocation type 2 (distributed)
DCI Formats Allocation FieldsSize (bits)Description
'Format1A'
'Format1B'
'Format1C'
'Format1D'
RIVVariesResource indication value
Gap1 bitGap value: 0 (gap1), 1 (gap2)
Uplink Nonhopping allocation
DCI Formats Allocation Fields Size (bits)Description
'Format0'
'Format5'
RIV VariesResource indication value
Uplink Hopping allocation
DCI Formats Allocation Fields Size (bits) Description
'Format0'
'Format5'
RIV VariesResource indication value
HoppingBits Varies

When the number of hopping bits is 1, HoppingBits value can be 0 or 1.
When the number of hopping bits is 2, HoppingBits value can be 00, 01, 10, or 11.
See TS 36.213 [3], Table 8.4-2.

DCI message in bit payload form, returned as a column vector. bitsout represents the set of message fields mapped to the information bit payload (including any zero-padding).

More About

collapse all

Algorithms

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.212. “Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

[3] 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 R2014a