lteNPDSCHIndices

NB-IoT physical downlink resource element indices

Syntax

[ind,info] = lteNPDSCHIndices(enb,chs)
[ind,info] = lteNPDSCHIndices(enb,chs,opts)

Description

example

[ind,info] = lteNPDSCHIndices(enb,chs) returns a matrix, ind, containing narrowband physical downlink shared channel (NPDSCH) resource element (RE) indices and a structure, info, containing information related to the NPDSCH indices. By default, the output indices are returned in a 1-based, linear indexed 3-D array representing the subframe resource element grid for all antenna ports. You can use ind to index elements of the subframe resource grid directly for all antenna ports. This function is initialized with cell-wide settings, enb, and channel transmission configuration, chs.

example

[ind,info] = lteNPDSCHIndices(enb,chs,opts) formats the returned indices using options specified by opts.

Examples

collapse all

Generate the NPDSCH RE indices mapping for one antenna and display related information.

Create the eNodeB structure cell-wide settings for one antenna.

enb.NNCellID = 10;
enb.NBRefP = 1;
enb.OperationMode = 'Inband-SamePCI';

Create the channel transmission configuration. Specify the number of subframes (NSF). The NSF field is required for returning information related to the NPDSCH indices.

chs.NPDSCHDataType = 'BCCHNotSIB1NB';
chs.NSF = 2;

Generate the NPDSCH RE indices column vector. Display the first seven indices.

[ind,info] = lteNPDSCHIndices(enb,chs);
ind(1:7)
ans = 7×1

    37
    38
    39
    40
    41
    42
    43

Display the fields contained in the info structure.

info.G
ans = 472
info.Gd
ans = 236

Generate the NPDSCH RE 0-based indices mapping in linear index form for two antennas.

Create the eNodeB structure cell-wide settings for two antennas.

enb.NNCellID = 10;
enb.NBRefP = 2;
enb.OperationMode = 'Standalone';

Create the channel transmission configuration.

chs.NPDSCHDataType = 'SIB1NB';

Generate the 0-based NPDSCH RE indices in linear index form. The indices matrix has two columns, one for each antenna ports. Display the first seven indices.

ind = lteNPDSCHIndices(enb,chs,{'0based','ind'});
ind(1:7,:)
ans = 7×2

     0   168
     1   169
     2   170
     3   171
     4   172
     5   173
     6   174

Input Arguments

collapse all

eNodeB cell-wide settings, specified as a structure containing these parameter fields.

Parameter FieldRequired or OptionalValuesDescription
NNCellIDRequired

Nonnegative integer

Narrowband physical layer cell identity

NBRefPRequired

1, 2

Number of transmit antenna ports for NB-IoT eNodeB

OperationModeOptional

'Standalone' (default),

'Inband-SamePCI',

'Inband-DifferentPCI',

'Guardband'

NB-IoT operation mode

CellRefPOptional (See note)

1, 2, 4

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

ControlRegionSizeOptional (See note)

3 (default), scalar from 0 to 13

LTE control region size, used to set the starting OFDM symbol index (0-based) in a subframe

Note

CellRefP

  • When OperationMode is 'Guardband' or 'Standalone', then CellRefP is ignored.

  • When OperationMode is 'Inband-SamePCI', then CellRefP is equal to NBRefP.

ControlRegionSize

  • When OperationMode is 'Inband-SamePCI' or 'Inband-DifferentPCI', and chs.NPDSCHDataType is not equal to 'SIB1NB', then ControlRegionSize is required.

  • When OperationMode is 'Inband-SamePCI' or 'Inband-DifferentPCI', and chs.NPDSCHDataType is 'SIB1NB', then ControlRegionSize is set to 3.

  • When OperationMode is 'Guardband' or 'Standalone', then ControlRegionSize is set to 0.

Data Types: struct

NPDSCH-specific channel transmission configuration, specified as a structure that can contain the following parameter fields.

Parameter FieldRequired or OptionalValuesDescription
NPDSCHDataTypeOptional

'NotBCCH' (default),

'SIB1NB',

'BCCHNotSIB1NB'

Type of the data carried by NPDSCH

  NSFOptional (See note)

Nonnegative integer

Number of subframes that a codeword is mapped to (not including repetitions)

Note

  • If you return the second output parameter info, and NPDSCHDataType is not equal to 'SIB1NB', then NSF is required.

  • If you return info and NPDSCHDataType is 'SIB1NB', then NSF is set to 8.

  • If you do not return info, then NSF is ignored.

Data Types: struct

Index generation options, specified as a character vector, cell array of character vectors, or string array. 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):

OptionValuesDescription
Indexing style

'ind' (default), 'sub'

Style for the returned indices, specified as one of the following options.

  • 'ind' — Return the indices in linear index form as a column vector.

  • 'sub' — Return the indices in [subcarrier, symbol, port] subscript row style. The number of rows in the output, ind, is the number of resource elements (NRE). Thus, ind is an NRE-by-3 matrix.

Index base

'1based' (default), '0based'

Base value of the returned indices. Specify '1based' to generate indices where the first value is 1. Specify '0based' to generate indices where the first value is 0.

Example: 'ind 1based', "ind 1based", {'ind','1based'}, or ["ind","1based"] specify the same formatting options.

Data Types: char | string | cell

Output Arguments

collapse all

NPDSCH RE indices, returned as a NRE-by-P matrix. Each column of the matrix contains the per-antenna indices for the NRE resource elements in each of the P resource array planes.

Information related to NPDSCH indices, returned as a structure containing the following fields.

Parameter FieldValuesDescription
G

one- or two-element vector

Number of coded and rate-matched DL-SCH data bits for each codeword

Gd

Integer equal to CHS.NSF multiplied by the number of rows in the NPDSCH indices

Number of coded and rate-matched DL-SCH data symbols per layer

Data Types: uint32

Introduced in R2018a