nrPDSCHDMRS

Generate PDSCH DM-RS symbols

Description

example

sym = nrPDSCHDMRS(carrier,pdsch) returns a matrix containing demodulation reference signal (DM-RS) symbols of physical downlink shared channel (PDSCH), as defined in TS 38.211 Section 7.4.1.1.1 [1]. carrier specifies the carrier configuration parameters for a specific OFDM numerology. pdsch specifies the PDSCH configuration parameters.

sym = nrPDSCHDMRS(carrier,pdsch,'OutputDataType',datatype) specifies the data type for the DM-RS symbols.

Examples

collapse all

Create a carrier configuration object specifying the slot number as 10.

carrier = nrCarrierConfig('NSlot',10);

Create a physical downlink shared channel (PDSCH) configuration object, pdsch, with physical resource blocks (PRBs) allocated from 0 to 30.

pdsch = nrPDSCHConfig;
pdsch.PRBSet = 0:30;

Create a PDSCH demodulation reference signal (DM-RS) object, dmrs, with specified properties.

dmrs = nrPDSCHDMRSConfig;
dmrs.DMRSConfigurationType = 2;
dmrs.DMRSLength = 2;
dmrs.DMRSAdditionalPosition = 1;
dmrs.DMRSTypeAPosition = 2;
dmrs.DMRSPortSet = 5;
dmrs.NIDNSCID = 10;
dmrs.NSCID = 0;

Assign the PDSCH DM-RS configuration object to DMRS property of PDSCH configuration object.

pdsch.DMRS = dmrs;

Generate PDSCH DM-RS symbols and indices for the specified carrier, PDSCH configuration, and output formatting name-value pair argument.

sym = nrPDSCHDMRS(carrier,pdsch,'OutputDataType','single')
sym = 496x1 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
      ⋮

ind = nrPDSCHDMRSIndices(carrier,pdsch,'IndexBase','0based','IndexOrientation','carrier')
ind = 496x1 uint32 column vector

   1252
   1253
   1258
   1259
   1264
   1265
   1270
   1271
   1276
   1277
      ⋮

Display the generated DM-RS symbols on the carrier resource grid.

grid = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot pdsch.NumLayers]));
grid(ind+1) = sym;
imagesc(abs(grid(:,:,1)));
axis xy;
xlabel('OFDM Symbols');
ylabel('Subcarriers');
title('PDSCH DM-RS Resource Elements in the Carrier Resource Grid');

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.

Property FieldValuesDescription
NCellID

1 (default), integer from 0 to 1007

Physical layer cell identity

SubcarrierSpacing

15 (default), 30, 60, 120, 240

Subcarrier spacing in kHz

CyclicPrefix

'normal' (default), 'extended'

Cyclic prefix length, specified as one of these options.

  • 'normal' corresponds to 14 OFDM symbols in a slot.

  • 'extended' corresponds to 12 OFDM symbols in a slot.

For the numerologies specified in TS 38.211 Section 4.2, extended cyclic prefix length applies only for 60 kHz subcarrier spacing.

NSizeGrid

52 (default), integer from 1 to 275

Number of resource blocks in the carrier resource grid

NStartGrid

0 (default), integer from 0 to 2199

Start of carrier resource grid relative to common resource block 0 (CRB 0)

NSlot

0 (default), nonnegative integer scalar

Slot number. You can set NSlot to a value larger than the number of slots per frame.

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

Property FieldValuesDescription
NSizeBWP

[] (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.

NStartBWP

[] (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.

ReservedPRB

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.

NumLayers

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.

MappingType

'A' (default), 'B'

Mapping type of PDSCH

SymbolAllocation

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

OFDM symbols allocated for PDSCH

PRBSet

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

PRBs allocated for PDSCH within the BWP

RNTI

1 (default), integer from 0 to 65535

Radio network temporary identifier of the user equipment

DMRS

nrPDSCHDMRSConfig object

DMRS configuration object only uses these properties.

  • DMRSConfigurationType

  • DMRSReferencePoint

  • DMRSTypeAPosition

  • DMRSLength

  • DMRSAdditionalPosition

  • CustomSymbolSet

  • DMRSPortSet

  • NIDNSCID

  • NSCID

For more information, see nrPDSCHDMRSConfig.

Data type for the generated DM-RS symbols, specified as 'double' or 'single'.

Data Types: char | string

Output Arguments

collapse all

DM-RS symbols, returned as a complex matrix. The number of columns correspond to the number of antenna ports configured.

Data Types: single | double
Complex Number Support: Yes

References

[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