lteDCI
Downlink control information format structures and bit payloads
Syntax
Description
returns
the dciout
= lteDCI(enb
,dciin
)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.
[___] = lteDCI(
uses enb
,bitsin
,opts
)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.
[___] = lteDCI(
permits
formats to be extended with additional bit fields on a per-UE basis
using the UE-specific channel configuration structure, enb
,chs
,bitsin
,opts
)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.
[___] = lteDCI(
accepts
an input structure, istr
,opts
)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
Create DCI
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: [1x1 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: [1x1 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 Format 1 TDD DCI Message
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: [1x1 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 DCI Bit Message
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: [1x1 struct]
ModCoding: 0
HARQNo: 0
NewData: 0
RV: 0
TPCPUCCH: 0
TDDIndex: 0
SRSRequest: 0
HARQACKResOffset: 0
bitsout'
ans = 1x25 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: [1x1 struct]
ModCoding: 0
HARQNo: 0
NewData: 0
RV: 0
TPCPUCCH: 0
TDDIndex: 0
SRSRequest: 0
HARQACKResOffset: 0
bitsout'
ans = 1x25 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: [1x1 struct]
ModCoding: 0
NewData: 0
TPC: 0
CShiftDMRS: 0
TDDIndex: 0
CSIRequest: 0
SRSRequest: 0
AllocationType: 1
bitsout'
ans = 1x25 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.
Optional DCI Message Views
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 = 1x1 cell array
{'fieldsizes'}
dci1 = lteDCI(enb,dciin,opts)
dci1 = struct with fields:
DCIFormat: 'Format1'
CIF: 0
AllocationType: 1
Allocation: [1x1 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 = 1x2 cell
{'fieldsizes'} {'excludeunusedfields'}
dci1 = lteDCI(enb,dciin,opts)
dci1 = struct with fields:
DCIFormat: 'Format1'
AllocationType: 1
Allocation: [1x1 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.
Blindly Recover Modified Format 1A DCI Message
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: [1x1 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: [1x1 struct] ModCoding: 0 HARQNo: 0 NewData: 0 RV: 1 TPCPUCCH: 0 TDDIndex: 0 SRSRequest: 0 HARQACKResOffset: 0
disp(dci1Arec.Allocation)
RIV: 6 Gap: 0
Create DCI Message Using UE-Specific Control
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 = 1x2 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: [1x1 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.
Create DCI Message Using UE-Specific Control And Bit Stream
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: [1x1 struct]
ModCoding: 5
HARQNo: 4
NewData: 1
RV: 2
TPCPUCCH: 2
TDDIndex: 2
TPMI: 2
PMI: 1
HARQACKResOffset: 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. () |
DCIFormat | Required (see syntax descriptions for applicability) |
| Downlink control information (DCI) format |
CellRefP | Optional | 1 (default), 2, 4 | Number of cell-specific reference signal (CRS) antenna ports |
DuplexMode | Optional |
| Duplexing mode, specified as either:
|
dciin
— DCI settings
structure
DCI settings, specified as a structure that can contain these fields.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
DCIFormat | Required, except when |
| 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
.
opts
— Formatting options for output DCI structure
character vector | cell array of character vectors | string array
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 |
| Set the fields to zero or to their input values. |
| Sets the field values to their bit sizes and adds
the | |
Fields to include |
|
|
|
|
Example: 'fieldsizes excludeunusedfields'
,
"fieldsizes excludeunusedfields"
,
{'fieldsizes','excludeunusedfields'}
, or
["fieldsizes","excludeunusedfields"]
specify the same
formatting options.
Data Types: char
| string
| cell
chs
— User-equipment-related channel configuration
structure
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.
DCIFormat
— DCI format name
'Format0'
| 'Format1'
| 'Format1A'
| 'Format1B'
| 'Format1C'
| 'Format1D'
| 'Format2'
| 'Format2A'
| 'Format2B'
| 'Format2C'
| 'Format2D'
| 'Format3'
| 'Format3A'
| 'Format4'
| 'Format5'
'Format5A'
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
ChannelControlType
— Physical control channel type
'PDCCH'
(default) | 'EPDCCH'
| optional
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
SearchSpace
— Search space mapping
'UESpecific'
(default) | 'Common'
| optional
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
EnableCarrierIndication
— Option to enable carrier indication
'Off'
(default) | 'On'
| optional
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
EnableSRSRequest
— Option to enable SRS request
'Off'
(default) | 'On'
| optional
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
EnableMultipleCSIRequest
— Option to enable multiple CSI requests
'Off'
(default) | 'On'
| optional
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
NTxAnts
— Number of UE transmission antennas
1 (default) | 2 | 4 | optional
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
PSSCHNSubchannels
— Number of sub-channels in V2X PSSCH pool
1 (default) | integer scalar from 2 to 110 | optional
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
bitsin
— Input bits
vector
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
istr
— Input structure
structure
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
dciout
— DCI message structure
structure
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 Formats | dciout Fields | Size | Description |
---|---|---|---|
'Format0' | DCIFormat | - | 'Format0' |
CIF | 0 or 3 bits | Carrier indicator field | |
FreqHopping | 1 bit | PUSCH frequency hopping flag | |
Allocation | Varies | 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 | |
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. | |
CSIRequest | 1, 2, or 3 bits | CSI request | |
SRSRequest | 0 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 | |
AllocationType | 1 bit | Resource allocation type, only present if ≤. | |
'Format1' | DCIFormat | - | 'Format1' |
CIF | 0 or 3 bits | Carrier 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 | |
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. | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 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. | |
SRSRequest | 0 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 | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 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. | |
TPMI | 2 bits for two antennas 4 bits for four antennas | PMI information | |
PMI | 1 bit | PMI confirmation | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 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. | |
TPMI | 2 bits for two antennas 4 bits for four antennas | Precoding TPMI information | |
DlPowerOffset | 1 bit | Downlink power offset | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 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 for two antennas 6 bits for four antennas | Precoding information | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 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 for two antennas 2 bits for four antennas | Precoding information | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 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 | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 | |
TxIndication | 3 bits | Antenna ports, scrambling identity, and number of layers indicator | |
SRSRequest | Varies | 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 | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier 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 | |
TxIndication | 3 bits | Antenna ports, scrambling identity, and number of layers indicator | |
SRSRequest | Varies | 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 | |
REMappingAndQCL | 2 bits | PDSCH RE Mapping and Quasi-Co-Location Indicator | |
HARQACKResOffset | 2 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' |
CIF | 0 or 3 bits | Carrier indicator field | |
Allocation | Varies | Resource block assignment/allocation | |
TPC | 2 bits | PUSCH TPC command | |
CShiftDMRS | 3 bits | Cyclic shift for DM-RS | |
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. | |
CSIReq | Varies | CSI request | |
SRSRequest | 2 bits | SRS request | |
AllocationType | 1 bit | Resource allocation header type 0 or 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 for two antennas 6 bits for four antennas | Precoding information | |
'Format5' | DCIFormat | - | 'Format5' |
PSCCHResource | 6 bits | Resource for PSCCH | |
TPC | 1 bit | TPC command for PSCCH and PSSCH | |
FreqHopping | 1 bit | Frequency hopping flag | |
Allocation | Varies | Resource block assignment and hopping resource allocation | |
TimeResourcePattern | 7 bits | Time resource pattern | |
'Format5A' | DCIFormat | - | 'Format5A' |
CIF | 3 bits | Carrier indicator | |
FirstSubchannelIdx | Lowest index of the subchannel allocation to the initial transmission | ||
RIV | from 0 to 13 bits, | Resource indication value | |
TimeGap | 4 bits |
Time gap between initial transmission and retransmission | |
SLIndex | 2 bits | SL 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 Fields | Size (bits) | Description |
'Format1' | Bitmap | Varies | Bitmap value in terms of RBG, specified as a character vector |
Resource allocation type 1 | |||
---|---|---|---|
DCI Formats | Allocation Fields | Size (bits) | Description |
'Format1' | Bitmap | Varies | Bitmap value in terms of RBG, specified as a character vector |
RBSubset | 2 bits | Selected resource blocks subset indicator | |
Shift | 1 bit | Shift of the resource allocation span indicator |
Resource allocation type 2 (localized) | |||
---|---|---|---|
DCI Formats | Allocation Fields | Size (bits) | Description |
'Format1A' | RIV | Varies | Resource indication value |
Resource allocation type 2 (distributed) | |||
---|---|---|---|
DCI Formats | Allocation Fields | Size (bits) | Description |
'Format1A' | RIV | Varies | Resource indication value |
Gap | 1 bit | Gap value: 0 (gap1), 1 (gap2) |
Uplink Nonhopping allocation | |||
---|---|---|---|
DCI Formats | Allocation Fields | Size (bits) | Description |
'Format0' | RIV | Varies | Resource indication value |
Uplink Hopping allocation | |||
---|---|---|---|
DCI Formats | Allocation Fields | Size (bits) | Description |
'Format0' | RIV | Varies | Resource indication value |
HoppingBits | Varies | When the number of hopping bits is 1, |
bitsout
— DCI message in bit payload form
bit vector
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
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.
Algorithms
Resource allocation type 0
In type 0 resource allocation, a bitmap represents a resource
block group (RBG) allocated to a UE. P
gives the
RBG size, which can be deduced from TS 36.213 [3], Table 7.1.6.1-1 for a given system bandwidth.
The number of bits in the Bitmap
field is equal
to .
Each bit in the Bitmap
selects a small contiguous
group whose size depends on the bandwidth (RBG: 1,…,4). The
maximum resource block (RB) coverage of any type 0 allocation is the
entire bandwidth, that is, a type 0 allocation with all the bits in
bitmap set to '1'
is equivalent to the entire bandwidth.
Example 50 RB bandwidth
The number of bits in Bitmap
are 17. Each
bit in the 17-bit bitmap selects a group of three RB (apart from the
last group, which only contains two RB for this bandwidth). Each bit
is associated with a group of RBs with the same color.
Resource allocation type 1
In type 1 resource allocation, a bitmap indicates physical resource
blocks inside a selected resource block group subset p,
where 0 ≤ p < P. The
maximum resource block (RB) coverage of any type 1 allocation is a
subset of entire bandwidth. A type 1 allocation, even with all the
bits in the Bitmap
set to '1'
,
does not span the entire bandwidth. Each bit in the bitmap selects
a single RB from "islands" of small contiguous groups whose size (RBG)
and separation depend on the total bandwidth. This grouping provides
the provision of selecting a single RB without turning on any other
RB.
In type 1, the resource block assignment signaling is split into three field parts:
RBSubset
— Represents the selected resource block group subsetShift
— Indicates whether to apply an offset when interpreting the bitmapBitmap
— Contains the bitmap that indicates to the UE the specific physical resource block within the resource block group subset.
In comparison to type 0, the bitmap size for type 1 is always short by bits, where P is defined as in resource allocation type 0.
Example 50 RB bandwidth
The number of bits in Bitmap
are 14 (3 bits
short as compared to type 0, due to RBSubset
and Shift
parameters).
Each bit in the 14-bit bitmap selects an individual RB inside a selected
subset. The figure shows all the bits in Bitmap
set
to '1'
for different subsets and offset values.
Resource allocation type 2
In type 2 resource allocation, physical resource blocks are not directly allocated. Instead, virtual resource blocks are allocated, which are then mapped onto physical resource blocks. Type 2 allocation supports both localized and distributed virtual resource block allocation, differentiated by one-bit flag. The starting point of the virtual resource block and the length in terms of the contiguously allocated virtual resource blocks can be derived from Resource Indication Value (RIV) signaled within the DCI.
Example 50 RB bandwidth
A UE is allocated a bandwidth of 25 resource blocks (LCRBs=25), starting from resource block 10 (RBstart=10) in the frequency domain. To calculate the RIV value, refer to the formula given in TS 36.213 [3], Section 7.1.6.3, which yields RIV = 1210. Using this RIV, which is signaled in the DCI, the UE can unambiguously derive the starting resource block and the number of allocated resource blocks from RIV again.
Uplink Nonhopping Resource Allocation
For uplink nonhopping resource allocation, the rules for type 2 localized resource allocation apply for deriving the resource allocation from the RIV value.
Uplink Hopping Resource Allocation
When FreqHopping
is set to 1, uplink hopping
resource allocation is available. For uplink hopping resource allocation,
two types of hopping are used: Type 1 PUSCH Hopping and Type 2 PUSCH
Hopping. Do not confuse these types with downlink resource allocation
types 1 and 2 described earlier. Type 1 PUSCH Hopping is calculated
using the RIV value and parameters signaled by higher layers. Type
2 PUSCH Hopping is calculated using a predefined pattern, which is
a function of the subframe and frame number, as defined in TS 36.211 [1], Section 5.3.4. The fundamental
set of resource blocks used as part of the hopping is calculated via
the rules for type 2 localized resource allocation from the RIV value,
except either 1 or 2 (depending on system bandwidth) hopping bits
have been deducted from the resource allocation bitmap. These hopping
bits specify whether Type 1 or Type 2 PUSCH Hopping is used, and for
the case of 2 bits, variations of the position of the Type 1 hopping
in the frequency domain. The definition of the hopping bits can be
found in TS 36.213 [3], Table
8.4-2. Bandwidth dependency for the number of hopping bits allocated
follows the following rule:
If the system BW is
NULRB<=49
, the number of hopping bits is 1, andHoppingBits
can be 0 or 1.If the system BW is
NULRB>49
, the number of hopping bits is 2, andHoppingBits
can be 00, 01, 10, or 11.
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
See Also
lteDCIEncode
| lteDCIDecode
| lteDCIResourceAllocation
| lteDCIInfo
| lteSCI
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 (한국어)