Main Content

lteDCIResourceAllocation

DCI message physical resource blocks allocation

Description

[prbset,nrbg,rbgsize] = lteDCIResourceAllocation(enbue,dcistr) returns a matrix containing the zero-based physical resource block (PRB) indices prbset, the number of resource block groups nrbg, and the resource block group size rbgsize, for the specified DCI message settings structure enbue and DCI message structure dcistr.

TS 36.213 [1] specifies resource allocation types used for downlink, uplink and sidelink. For more information, see Resource Allocation Types.

If you specify DCI Format 0, Format 4, or Format 5 in dcistr.DCIFormat, the function sets the system bandwidth based on the number of uplink resource blocks, enbue.NULRB. If you do not specify enbue.NULRB, the function sets the system bandwidth based on the number of downlink resource blocks, enbue.NDLRB. For all other formats, the function first checks enbue.NDLRB for the number of resource blocks. For more information, see Specifying Number of Resource Blocks.

example

[prbset,nrbg,rbgsize] = lteDCIResourceAllocation(dcistr) returns outputs prbset, nrbg, and rbgsize as above, except the fields described in structure enbue must be present as part of dcistr.

Calling lteDCIResourceAllocation specifying the dcistr structure as the only input argument is not recommended because this signature will be removed in a future release.

Examples

collapse all

Allocate DCI resource and shows the allocation of the DCI resources.

Create a DCI message structure with a system bandwidth of 50 resource blocks and DCI Format 1A.

enb = struct('NDLRB',50);
dciStr = lteDCI(enb,struct('DCIFormat','Format1A','AllocationType',1));

Return allocated physical resource block indices, the number of resource block groups, and the resource block group size.

[prbSet, nrBg, rbgSize] = lteDCIResourceAllocation(enb,dciStr)
prbSet = 1×2 uint64 row vector

    0   27

nrBg = int32

17
rbgSize = int32

3

Display the PRB allocations associated with the sequence of subframes in a frame for DCI Format 0 and uplink resource allocation type 1.

Configure a type 1 uplink resource allocation (multi-cluster). TS 36.213, Section 8.1.2 describes the resource indication value (RIV) determination.

enbue = struct('NDLRB',50);
dcistr = lteDCI(enbue,struct('DCIFormat','Format0','AllocationType',1));
dcistr.Allocation.RIV = 1;

Display an image of the PRBs used in each slot of each subframe in a frame.

  • Create a subframeslots matrix full of zeros. There are 20 slots per frame, specifically two slots per subframe and ten subframes per frame.

  • Loop through assigning a PRB set of indices for each subframe. Also assign a value in subframeslots for each occupied PRB index.

subframeslots = zeros(enbue.NDLRB,20);
for i = 0:9
    enbue.NSubframe = i;
    prbSet = lteDCIResourceAllocation(enbue,dcistr);
    prbSet = repmat(prbSet,1,2/size(prbSet,2));
    for s = 1:2
        subframeslots(prbSet(:,s)+1,2*i+s) = 20+s*20;
    end
end
imagesc(subframeslots); 
axis xy;
xlabel('Subframe Slots'); 
ylabel('PRB Indices');

Figure contains an axes object. The axes object with xlabel Subframe Slots, ylabel PRB Indices contains an object of type image.

Observe from the image that the same set of PRB indices is used in each slot.

Display the PRB allocations associated with the sequence of subframes in a frame for an uplink resource allocation with hopping.

Configure a type 1 uplink resource allocation that has type 0 hopping and slot and subframe hopping.

enbue = struct('NDLRB',50,'NCellID',0);
dcistr = lteDCI(enbue,struct('DCIFormat','Format0','AllocationType',0,...
    'FreqHopping',1));
dcistr.Allocation.HoppingBits = 0;
dcistr.Allocation.RIV = 110;
enbue.PUSCHHopping = 'InterAndIntra';
enbue.MacTxNumber = 0;
enbue.NSubbands = 1;
enbue.PUSCHHoppingOffset = 10;

Display an image of the PRBs used in each slot of each subframe in a frame.

  • Create a subframeslots matrix full of zeros. There are 20 slots per frame, specifically two slots per subframe and ten subframes per frame.

  • Loop through assigning a PRB set of indices for each subframe. Also assign a value in subframeslots for each occupied PRB index.

subframeslots = zeros(enbue.NDLRB,20);
for i = 0:9
    enbue.NSubframe = i;
    prbSet = lteDCIResourceAllocation(enbue,dcistr);
    prbSet = repmat(prbSet,1,2/size(prbSet,2));
    for s = 1:2
        subframeslots(prbSet(:,s)+1,2*i+s) = 20+s*20;
    end
end
imagesc(subframeslots)
axis xy
xlabel('Subframe Slots')
ylabel('PRB Indices')

Figure contains an axes object. The axes object with xlabel Subframe Slots, ylabel PRB Indices contains an object of type image.

Observe from the image that the occupied PRB indices hops in odd and even slots.

Input Arguments

collapse all

DCI message settings, specified as a structure. enbue can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
NDLRBRequired

Scalar integer from 6 to 110

Number of downlink resource blocks (NRBDL)

CellRefPOptional

1, 2, 4

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

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as one of the following:

  • 'FDD' — Frequency division duplex (default)

  • 'TDD' — Time division duplex

The following parameters apply when dcistr.DCIFormat = 'Format0' or 'Format4'

  NULRBRequired

Scalar integer from 6 to 110

Number of uplink resource blocks. (NRBUL)

The following parameters apply when dcistr.FreqHopping = 1

  NCellIDRequired

Integer from 0 to 503

Physical layer cell identity

  NSubframeRequired

0 (default), nonnegative scalar integer

Subframe number

  NFrameRequired

0 (default), nonnegative scalar integer

Frame number

  PUSCHHoppingOptional

'Inter' (default), 'InterAndIntra'

Uplink subframe hopping mode

  MacTxNumberOptional

Scalar integer from 0 (default) to 27

Number of the current MAC (re-)transmission, CURRENT_TX_NB

  NSubbandsOptional

1 (default), 2, 3, or 4

Number of subbands.

  PUSCHHoppingOffsetOptional

Scalar integer from 0 (default) to 98

PUSCH hopping offset

The following parameters apply for DCI Format 5 (dcistr = 'Format5').

  NULRBRequired

Scalar integer from 6 to 110

Number of uplink resource blocks. (NRBUL)

The following parameters apply for DCI Format 5 (dcistr = 'Format5') with frequency hopping (dcistr.FreqHopping = 1).

  NSubframePSSCHRequiredInteger

Subframe number in PSSCH subframe pool

  PSSCHHoppingParameterOptionalInteger from 0 (default) to 510. All values ≥ 504 are set to 510.

PSSCH hopping parameter

  NSubbandsOptional1, 2, or 4

Number of subbands

  PSSCHHoppingOffsetOptionalInteger from 0 (default) to 110

PSSCH hopping offset

  PRBPoolOptionalInteger vector

PSSCH resource block pool (sidelink transmission mode 2). A vector of zero-based indices giving the PRBs in the pool. If absent or empty then the pool is assumed to be the full transmission bandwidth

The following parameters apply for DCI Format 5A (dcistr = 'Format5A').

PSSCHNSubchannelsOptionalInteger from 1 (default) to 110

Number of sub-channels in the V2X PSSCH resource pool

PSSCHSubchannelSizeOptionalInteger from 1 to 110. Default value is 4.Number of PRB in each sub-channel
PSSCHSubchannelPRBStartOptionalInteger from 0 (default) to 109

First PRB index associated with first sub-channel of the resource pool

PSSCHAdjacencyOptional

'On' (default), 'Off'

Whether PSCCH and PSSCH are transmitted in adjacent PRB

Data Types: struct

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

The field names associated with dcistr are dependent on the DCI format. The format is expected to be one of the formats generated by lteDCI. The LTE standard defines resource allocations types for downlink, uplink, and sidelink. For more information, see Resource Allocation Types

The following table details the DCI formats and accompanying dcistr parameter fields.

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

Data Types: struct

Output Arguments

collapse all

Physical resource block indices, returned as a nonnegative integer column-vector or N-by-2 matrix of zero-based indices. The returned prbset will be a single column vector or a two-column matrix depending on whether the allocation type defines a different set of PRB indices in the first and second slots of the subframe.

Data Types: uint64

Number of resource block groups in the allocation, returned as an integer.

Data Types: int32

Number of resource blocks in a group, returned as an integer.

Data Types: int32

More About

collapse all

References

[1] 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