Main Content


Generate PDSCH PT-RS Indices



ind = nrPDSCHPTRSIndices(carrier,pdsch) returns ind, which contains 1-based phase tracking reference signal (PT-RS) resource elements (RE) of the physical downlink shared channel (PDSCH), as defined in TS 38.211 Section [1]. The function returns ind in linear form, for given carrier configuration carrier and physical downlink shared channel configuration pdsch.

ind = nrPDSCHPTRSIndices(carrier,pdsch,Name,Value) specifies output formatting options by using one or more name-value pair arguments. Unspecified options take default values.


collapse all

Create a carrier configuration object with default properties. This object corresponds to a 10 MHz carrier.

carrier = nrCarrierConfig;

Create a default PDSCH configuration object, and then enable the PT-RS configuration.

pdsch = nrPDSCHConfig;
pdsch.EnablePTRS = 1;

Create a PDSCH phase tracking reference signal (PT-RS) configuration object with specified properties.

ptrs = nrPDSCHPTRSConfig;
ptrs.TimeDensity = 2;
ptrs.FrequencyDensity = 4;
ptrs.REOffset = '10';

Assign the PDSCH PT-RS configuration object to PTRS property of PDSCH configuration object.

pdsch.PTRS = ptrs;

Generate PDSCH PT-RS symbols of data type single.

sym = nrPDSCHPTRS(carrier,pdsch,'OutputDataType','single')
sym = 78x1 single column vector

  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 - 0.7071i
  -0.7071 - 0.7071i
  -0.7071 + 0.7071i
  -0.7071 - 0.7071i
  -0.7071 + 0.7071i
   0.7071 + 0.7071i

Generate PDSCH PT-RS indices in subscript form and set the index orientation to bandwidth part.

ind = nrPDSCHPTRSIndices(carrier,pdsch,'IndexStyle','subscript','IndexOrientation','bwp')
ind = 78x3 uint32 matrix

    19     1     1
    67     1     1
   115     1     1
   163     1     1
   211     1     1
   259     1     1
   307     1     1
   355     1     1
   403     1     1
   451     1     1

Input Arguments

collapse all

Carrier configuration parameters for a specific OFDM numerology, specified as an nrCarrierConfig object. This function uses only these properties of the nrCarrierConfig object.

PDSCH configuration parameters, specified as an nrPDSCHConfig object. This function only uses these nrPDSCHConfig object properties.

Property FieldValuesDescription

[] (default), integer from 1 to 275

Size of the bandwidth part (BWP) in terms of number of physical resource blocks (PRBs). The default value of [] implies that the value is equal to NSizeGrid of carrier input argument.


[] (default), integer from 0 to 2473

Starting PRB index of BWP relative to CRB 0. The default value of [] implies that the value is equal to NStartGrid of carrier input argument.


nrPDSCHReservedConfig (default), cell array of nrPDSCHReservedConfig objects

Reserved PRBs and OFDM symbols pattern in BWP, specified as a cell array of objects, of class nrPDSCHReservedConfig.


[] (default), nonnegative integer vector

Reserved resource elements (RE) indices within the BWP


1 (default), integer from 1 to 8

Number of transmission layers. For one codeword, use an integer between 1 to 4. For two codewords, use an integer between 5 to 8.


'A' (default), 'B'

Mapping type of PDSCH


[0 14] (default), two-element vector of nonnegative integers

OFDM symbols allocated for PDSCH


[0:51] (default), vector of nonnegative integer from 0 to 274

PRBs allocated for PDSCH within the BWP


1 (default), integer from 0 to 65,535

Radio network temporary identifier of the user equipment


nrPDSCHDMRSConfig configuration object

DMRS configuration object only uses these properties.

  • DMRSConfigurationType

  • DMRSTypeAPosition

  • DMRSLength

  • DMRSAdditionalPosition

  • CustomSymbolSet

  • DMRSPortSet

For more information, see nrPDSCHDMRSConfig.


0 (default), 1

PT-RS configuration, specified as one of these values.

  • 0 — Disable PT-RS configuration.

  • 1 — Enable PT-RS configuration.


nrPDSCHPTRSConfig configuration object

PDSCH PT-RS configuration, specified as a nrPDSCHPTRSConfig configuration object.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'IndexStyle','subscript','IndexBase','0based' specifies the RE indexing form and base, respectively, of the output.

RE indexing form, specified as one of these values:

  • 'index' — The indices are in linear index form.

  • 'subscript' — The indices are in [subcarrier, symbol, antenna] subscript row form.

Data Types: char | string

RE indexing base, specified as one of these values:

  • '1based' — The index counting starts from 1.

  • '0based' — The index counting starts from 0.

Data Types: char | string

Indexing orientation of resource elements, specified as the comma-separated pair consisting of 'IndexOrientation' and one of these values:

  • 'carrier' — Indices are referenced with respect to carrier grid.

  • 'bwp' — Indices are referenced with respect to bandwidth part.

Data Types: char | string

Output Arguments

collapse all

PT-RS resource element indices, returned as one of these values.

  • Column vector — The function returns this type of value when 'IndexStyle' is set to 'index'.

  • M-by-3 matrix — The function returns this type of value when 'IndexStyle' is set to 'subscript'. The matrix rows correspond to the [subcarrier, symbol, antenna] subscripts based on the number of subcarriers, OFDM symbols, and number of antennas, respectively.

Depending on the value of 'IndexBase', the function returns either 1-based or 0-based indices. Depending on the value of 'IndexOrientation', the function returns either carrier oriented indices or BWP oriented indices.

Data Types: uint32


[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Extended Capabilities

Introduced in R2020a