Main Content


PSCCH DM-RS resource element indices



ind = ltePSCCHDRSIndices(ue) returns a column vector of PSCCH demodulation reference signal (DM-RS) resource element indices for the specified UE settings structure. For more information, see PSCCH Demodulation Reference Signal Indexing.


ind = ltePSCCHDRSIndices(ue,opts) formats the returned indices using options specified by opts.


collapse all

Write the complex PSCCH DM-RS values into the PSCCH DM-RS resource elements in a PSCCH subframe for both D2D normal cyclic prefix and V2X. Display an image of their locations to compare both sidelink modes.

Create a user equipment settings structure and an empty resource grid subframe for 10 MHz bandwidth and D2D normal cyclic prefix. Assign a PRB set index of 5.

ue.NSLRB = 50;
ue.CyclicPrefixSL = 'Normal';
ue.NSLID = 1;
subframe_D2D = lteSLResourceGrid(ue);
ue.PRBSet = 5;

Generate PSCCH DM-RS indices and write PSCCH DM-RS values into subframe.

pscchdrs_indices = ltePSCCHDRSIndices(ue);
subframe_D2D(pscchdrs_indices) = ltePSCCHDRS();

Change user equipment settings to V2X sidelink mode. Assign a PRB set indices of 5 and 6.

ue.SidelinkMode = 'V2X';
subframe_V2X = lteSLResourceGrid(ue);
ue.PRBSet = [5 6]';

Generate PSCCH DM-RS indices and write PSCCH DM-RS values into subframe.

pscchdrs_indices = ltePSCCHDRSIndices(ue);
subframe_V2X(pscchdrs_indices) = ltePSCCHDRS(ue);

Display the PSCCH DM-RS locations for both sidelink modes.

axis xy
axis xy; 

Compare PSCCH DM-RS resource element indexing formats.

Create a UE settings structure.

ue = struct('NSLRB',15,'CyclicPrefixSL','Normal','PRBSet',5);

One-based linear indexing, this is the default output style

Generate PSCCH DM-RS indices, using the default one-based linear indexing style.

ind1 = ltePSCCHDRSIndices(ue);
ans = uint32

Zero-based linear indexing

Generate PSCCH DM-RS indices, using zero-based linear indexing style.

opts = '0based';
ind0 = ltePSCCHDRSIndices(ue,opts);
ans = uint32

For zero-based indexing, the first assigned index is one lower than the one-based indexing.

One-based indexing in [subcarrier,symbol,port] subscript row style

Generate PSCCH DM-RS indices, one-based subscript row style.

opts = {'sub','1based'};
ind1sub = ltePSCCHDRSIndices(ue,opts);
ans = 1×2

    24     3

ans = 1x3 uint32 row vector

   61    4    1

The subscript row style outputs a 24-by-3 matrix. Viewing the first row you can see symbol number 4 is occupied.

Two PSCCH subframe symbols are reserved for transmission of the PSCCH DM-RS. Inspecting the output matrix for unique symbol values, shows that the PSCCH DM-RS occupy symbols 4 and 11 for one-based indexing.

ans = 2x1 uint32 column vector


Input Arguments

collapse all

User equipment settings, specified as a parameter structure containing these fields:

Sidelink mode, specified as 'D2D' or 'V2X'.

Data Types: char | string

Number of sidelink resource blocks, specified as an integer scalar from 6 to 110.

Example: 6, which corresponds to a channel bandwidth of 1.4 MHz.

Data Types: double

Cyclic prefix length, specified as 'Normal' or 'Extended'.

Data Types: char | string

Zero-based physical resource block (PRB) index, specified as an integer, an integer column vector, or a two-column integer matrix.

For D2D sidelink, the PSCCH is intended to be transmitted in a single PRB in a subframe and therefore, specifying PRBSet as a scalar PRB index is recommended. For V2X sidelink, the PSCCH is intended to be transmitted in a pair of consecutive PRB in a subframe, therefore PRBSet must be a column vector containing two consecutive indices. However, for a more general nonstandard multi-PRB allocation, PRBSet can be a set of indices specified as an integer column vector or as a two-column integer matrix corresponding to slot-wise resource allocations for PSCCH.

Data Types: double

Data Types: struct

Output format options for resource element indices, 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) :

Category Options Description

Indexing style

'ind' (default)

The returned indices are in linear index style.


The returned indices are in [subcarrier,symbol,port] subscript row style.

Index base

'1based' (default)

The returned indices are one-based.


The returned indices are zero-based.

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

Data Types: char | string | cell

Output Arguments

collapse all

PSCCH DM-RS resource element indices, returned as an integer column vector or a three-column integer matrix. For D2D sidelink, the returned vector or matrix has 24 PSCCH DM-RS resource element indices. For a V2X configured PSCCH, ind is a 96-by-1 vector with indices of the resource elements in the four DRS symbols in a subframe. For more information, see PSCCH Demodulation Reference Signal Indexing.

Data Types: uint32

More About

collapse all

PSCCH Demodulation Reference Signal Indexing

Use the indexing function, ltePSCCHDRSIndices, and the corresponding sequence function, ltePSCCHDRS, to populate the resource grid for any PSCCH subframe. The PSCCH DM-RS is transmitted in the available SC-FDMA symbols in a PSCCH subframe, using a single layer on antenna port 1000.

The indices are ordered as the PSCCH DM-RS QPSK modulation symbols should be, applying frequency-first mapping. One-based linear indexing is the default return format but you can also generate alternative indexing formats by using the opts input.

The resource elements in the last SC-FDMA symbol within a subframe are counted in the mapping process but should not be transmitted. The sidelink-specific SC-FDMA modulation creates the last symbol, which serves as a guard symbol.

For D2D sidelink, in zero-based indexing, the SC-FDMA symbol indices used are {3,10} for normal cyclic prefix and {2,8} for extended cyclic prefix. The same symbols are used by the ltePUSCHDRSIndices function. For V2X sidelink, there are four DM-RS SC-FDMA symbols with indices {2,5,8,11}, defined for normal cyclic prefix only.


The indicated symbol indices are based on TS 36.211, Section 9.8. However to align with the LTE Toolbox™ subframe orientation, these indices are expanded from symbol index per slot to symbol index per subframe.

For more information on mapping symbols to the resource element grid, see Resource Grid Indexing.

PSCCH Demodulation Reference Signal

The PSCCH demodulation reference signal (DM-RS) sequence is transmitted alongside the ltePSCCH values using the two SC-FDMA symbols allocated to DM-RS in a PSCCH subframe. By default, the output vector is the repetition of a 12-element sequence and specified in TS 36.211, Section 9.8. The output vector is mapped onto the 12 subcarriers of the DM-RS SC-FDMA symbol in each slot of the single PSCCH physical resource block (PRB) transmission on antenna port 1000. For a V2X configured PSCCH, the output will be a 96-by-1 vector to be mapped onto the 24 subcarriers in each of the pair of DRS SC-FDMA symbols per slot for two consecutive resource blocks.

The single-PRB PSCCH DM-RS is transmitted using a short base QPSK reference sequence instead of the Zadoff-Chu sequence that is normally used for reference signals. Because the Zadoff-Chu sequence is not used, the RootSeq and NZC fields are set to –1 in the info structure returned by ltePSCCHDRS.


[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:

Version History

Introduced in R2016b