Main Content

nrWavegenPDSCHConfig

PDSCH configuration parameters for 5G waveform generation

Description

The nrWavegenPDSCHConfig object sets physical downlink shared channel (PDSCH) configuration parameters, as defined in TS 38.211 Sections 7.3.1, 7.4.1.1, and 7.4.1.2 [1]. Use this object to set the PDSCH property of the nrDLCarrierConfig object when configuring 5G downlink waveform generation.

This object defines several properties of the PDSCH, including the modulation scheme, layer mapping, target code rate, time-domain and frequency-domain allocation, and virtual resource blocks (VRB) to physical resource blocks (PRBs) interleaving. The object also contains properties of the associated physical reference signals, such as the demodulation reference signal (DM-RS) and the phase tracking reference signal (PT-RS).

By default, the object configures a physical downlink shared channel occupying a 10 MHz bandwidth at a subcarrier spacing (SCS) of 15 kHz (52 resource blocks) and spanning over 14 OFDM symbols in a slot.

Creation

Description

example

pdsch = nrWavegenPDSCHConfig creates a default PDSCH configuration object for 5G waveform generation.

pdsch = nrWavegenPDSCHConfig(Name,Value) specifies properties using one or more name-value pair arguments. Enclose each property name in quotes. For example, 'NumLayers',7 specifies seven transmission layers.

Properties

expand all

Enable PDSCH in 5G waveform generation, specified as one of these values.

  • 1 — Enable PDSCH.

  • 0 — Disable PDSCH.

Data Types: double | logical

Name of the PDSCH configuration, specified as a character array or string scalar. Use this property to set a mnemonic description to the PDSCH configuration.

Data Types: char | string

Power scaling of the PDSCH in dB, specified as a real scalar. Use this property to scale the power of the PDSCH in the generated 5G waveform.

Data Types: double

ID of bandwidth part (BWP), containing the configured PDSCH, specified as a nonnegative integer. Use this property to associate this PDSCH configuration with one of the BWP configurations specified by the BandwidthParts property of the nrDLCarrierConfig object.

Data Types: double

Modulation scheme, specified as 'QPSK', '16QAM', '64QAM', or '256QAM', a string scalar, a string array, or a cell array of character vectors. This modulation scheme specifies the modulation type of the codewords and the number of bits used per modulation symbol. For one codeword, specify the modulation scheme as a character vector or string scalar. If two codewords are present (NumLayers > 4), the same modulation scheme applies to both codewords or you can specify different modulation schemes for each codeword by using a string array or a cell array of character vectors.

Modulation SchemeNumber of Bits Per Symbol
'QPSK'2
'16QAM'4
'64QAM'6
'256QAM'8

Example: {'QPSK','16QAM'} or ["QPSK","16QAM"] specifies different modulation schemes for two codewords.

Data Types: char | string | cell

Number of transmission layers, specified as an integer from 1 to 8.

  • For one codeword, specify an integer from 1 to 4.

  • For two codewords, specify an integer from 5 to 8.

Data Types: double

Mapping type of the physical shared channel, specified as 'A' or 'B'.

Data Types: char | string

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

Data Types: cell

Control-resource set (CORESET) IDs for PDSCH rate matching, specified as [], an integer from 0 to 11, or a vector of integers from 0 to 11. The integers must match the CORESETID property values of the nrCORESETConfig objects specified by the nrDLCarrierConfig.CORESET property. When you set this property to a value other than [], this property specifies PDSCH rate matching around the denoted CORESET and associated search spaces.

Data Types: double

OFDM symbol allocation of the physical shared channel, specified as a two-element vector of nonnegative integers. The first element of this property represents the start of symbol allocation (0-based). The second element represents the number of allocated OFDM symbols.

Data Types: double

Slot allocation in a PDSCH period, specified as a nonnegative integer or row vector of nonnegative integers. This property specifies the slot positions of the PDSCH by using 0-based indexing and values smaller than the value of the Period property.

Data Types: double

PDSCH allocation period in slots, specified as a nonnegative integer.

Data Types: double

PRB allocation of the PDSCH in the BWP, specified as a vector of integers from 0 to 274.

Data Types: double

Enable VRB-to-PRB interleaving, specified as one of these values.

  • 0 — Disable VRB-to-PRB interleaving.

  • 1 — Enable VRB-to-PRB interleaving.

Data Types: double | logical

VRB bundle size, in terms of the number of PRBs for VRB-to-PRB interleaving, specified as 2 or 4.

Dependencies

To enable this property, set the VRBToPRBInterleaving property to 1.

Data Types: double

PDSCH scrambling identity, specified as [] or an integer from 0 to 1023.

  • If the higher layer parameter dataScramblingIdentityPDSCH is configured, NID must be in the range from 0 to 1023.

  • If the higher layer parameter dataScramblingIdentityPDSCH is not configured, NID must be in the range from 0 to 1007.

When you specify this property as [], the object sets the PDSCH scrambling identity to the physical layer cell identity, specified by the NCellID property of the carrier.

Data Types: double

Radio network temporary identifier of the user equipment (UE), specified as an integer from 0 to 65,535.

Data Types: double

Enable downlink shared channel (DL-SCH) encoding of transport blocks, specified as one of these values.

  • 1 — Enable transport block encoding.

  • 0 — Disable transport block encoding.

Data Types: double | logical

Target code rate, specified as a numeric scalar or a 1-by-2 numeric vector of values in the interval (0, 1). The default value corresponds to 526/1024. If you specify this property as a scalar, the object applies scalar expansion when processing two transport blocks (NumLayers > 4). To specify different target code rates for each transport block, specify this property as a vector.

Dependencies

To enable this property, set the Coding property to 1.

Data Types: double

Codeword scaling factor, specified as one of these options.

  • For one codeword, specify 0.25, 0.5, or 1.

  • For two codewords (NumLayers > 4), specify a 1-by-2 integer vector with values 0.25, 0.5, or 1.

Dependencies

To enable this property, set the Coding property to 1.

Data Types: double

Rate matching overhead, specified as 0, 6, 12, or 18.

Data Types: double

Redundancy version sequence, specified as a nonnegative integer, a vector of nonnegative integers, or a two-element cell array containing unique nonnegative integers. When the sequence is a two-element cell array, the second value only applies to a second codeword (NumLayers > 4).

Data Types: double

Source of contents for transport blocks, specified as one of these options.

  • 'PN9-ITU', 'PN9', 'PN11', 'PN15', or 'PN23'

  • Two-element cell array consisting of one of the character vectors from the previous list and a random numeric seed (for example, {'PN9',7})

  • Binary vector

If you do not specify a random seed, all shift registers are initialized with an active state.

Data Types: double | cell | string | char

PDSCH DM-RS configuration parameters, specified as an nrPDSCHDMRSConfig object. The nrWavegenPDSCHConfig object uses only these nrPDSCHDMRSConfig properties:

DM-RS configuration type, specified as 1 or 2. This property is the higher-layer parameter dmrs-Type.

Data Types: double

Reference point for the DM-RS sequence to subcarrier resource mapping, specified as one of these options.

  • PRB0 — When the reference point is subcarrier 0 of the physical resource block 0 (PRB 0) of the bandwidth part (BWP). Use this option when PDSCH is signalled by control resource set 0 (CORESET 0). For this case, the BWP parameters must align with CORSET 0.

  • CRB0 — When the reference point is subcarrier 0 of the common resource block 0 (CRB 0)

Data Types: char | string

Position of first DM-RS OFDM symbol, provided by higher layer parameter dmrs-TypeA-Position, specified as 2 or 3.

This property only applies when the MappingType property of the nrPDSCHConfig or nrWavegenPDSCHConfig objects is set to 'A'.

Data Types: double

Maximum number of DM-RS additional positions, specified as 0, 1, 2, or 3. This property is the higher layer parameter dmrs-AdditionalPosition.

Data Types: double

Number of consecutive front-loaded DM-RS OFDM symbols, specified as 1 (single-symbol DM-RS) or 2 (double-symbol DM-RS).

Data Types: double

DM-RS OFDM symbol locations that are 0-based, specified as one of these options.

  • Integer from 0 to 13 — For one DM-RS symbol

  • Vector of nonnegative integers from 0 to 13 — For multiple DM-RS symbols

Each input symbol location is assumed to be a single-symbol DM-RS within the physical shared channel symbol allocation.

The default value, [], corresponds to the DM-RS symbol locations, as defined in TS 38.211 Table 7.4.1.1.2-3 or 7.4.1.1.2-4. Setting this property overrides the corresponding DM-RS symbol locations in these standard lookup tables.

Data Types: double

DM-RS antenna ports, specified as one of these options.

  • Integer from 0 to 11 — For a single antenna port

  • Vector of nonnegative integers from 0 to 11 — For multiple antenna ports

Nominal antenna ports supported depend on DMRSLength and DMRSConfigurationType property values.

DMRSLength ValueDMRSConfigurationType ValueNominal Range of Antenna Ports Supported
11[0, 3]
2[0, 5]
21[0, 7]
2[0, 11]

The default value, [], implies that DMRSPortSet is in the range from 0 to NumLayers– 1, where NumLayers is a property of nrPDSCHConfig or nrWavegenPDSCHConfig.

Data Types: double

DM-RS scrambling identity, specified as one of these options.

  • Integer from 0 to 65,535 — Use this option when the higher layer parameter scramblingID0/scramblingID1 is configured.

  • [] — Use this option when scramblingID0/scramblingID1 is not configured. In this case, the object sets the DM-RS scrambling identity to the physical layer cell identity, specified by the NCellID property of the carrier.

Data Types: double

DM-RS scrambling initialization, specified as 0 or 1.

Data Types: double

Number of DM-RS CDM groups without data, specified as 1, 2, or 3.

Each value indicates a different set of CDM group numbers, according to TS 38.214 Section 5.1.6.2.

  • 1 — CDM group number 0

  • 2 — CDM group numbers 0 and 1

  • 3 — CDM group numbers 0, 1, and 2

Data Types: double

Power scaling of the PDSCH DM-RS in dB, specified as a real scalar. Use this property to scale the power of the PDSCH DM-RS in the generated 5G waveform. This scaling is additional to the PDSCH-wide power scaling specified by the Power property.

Data Types: double

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

  • 0 — Disable PT-RS configuration.

  • 1 — Enable PT-RS configuration.

Data Types: double | logical

PDSCH PT-RS configuration, specified as an nrPDSCHPTRSConfig object. This property relates to the phase tracking reference signal configuration and contains all properties of the specified nrPDSCHPTRSConfig object.

PT-RS time density, specified as 1, 2 or 4. This property is the higher layer parameter timeDensity.

Data Types: double

PT-RS frequency density, specified as 2 or 4. This property is the higher layer parameter frequencyDensity.

Data Types: double

Resource element offset with a specific subcarrier offset, specified as '00', '01','10', or '11'. This property is the higher layer parameter resourceElementOffset.

Data Types: char | string

PT-RS antenna port set, specified as a nonnegative integer. Specify [] to set this property to the lowest value in the DMRSPortSet property of nrPDSCHDMRSConfig object. This usage of [] value is applicable only when nrPDSCHPTRSConfig object is used as a property of nrPDSCHConfig or nrWavegenPDSCHConfig.

Data Types: double

Dependencies

To enable this property, set the EnablePTRS property to 1.

Power scaling of the PDSCH PT-RS in dB, specified as a real scalar. Use this property to scale the power of the PDSCH PT-RS in the generated 5G waveform. This scaling is additional to the PDSCH-wide power scaling specified by the Power property.

Dependencies

To enable this property, set the EnablePTRS property to 1.

Data Types: double

Examples

collapse all

Create a PDSCH configuration object for 5G waveform generation with the specified property values.

pdsch = nrWavegenPDSCHConfig( ...
    'BandwidthPartID',0, ...
    'Modulation','16QAM', ...
    'TargetCodeRate',658/1024, ...
    'SymbolAllocation',[0 7], ...
    'SlotAllocation',[0 2], ...
    'Period',3, ...
    'PRBSet',[0:20], ...
    'EnablePTRS',true);

Create a downlink carrier configuration object, specifying the previously defined PDSCH configuration.

cfg = nrDLCarrierConfig('PDSCH',{pdsch});

Create two SCS carrier configuration objects with mixed numerologies.

carrier1 = nrSCSCarrierConfig('SubcarrierSpacing',15);
carrier2 = nrSCSCarrierConfig('SubcarrierSpacing',30);

Create two BWP configuration objects, one for each of the SCS carriers.

bwp1 = nrWavegenBWPConfig('BandwidthPartID',0,'SubcarrierSpacing',15);
bwp2 = nrWavegenBWPConfig('BandwidthPartID',1,'SubcarrierSpacing',30);

Create two PDSCH configuration objects for 5G waveform generation, specifying a unique UE and one of the BWP configurations for each PDSCH.

pdsch1 = nrWavegenPDSCHConfig('RNTI',1,'BandwidthPartID',0,'Modulation','QPSK');
pdsch2 = nrWavegenPDSCHConfig('RNTI',2,'BandwidthPartID',1,'Modulation','16QAM');

Create a downlink carrier configuration object, specifying the previously defined configurations.

cfg = nrDLCarrierConfig( ...
    'SCSCarriers',{carrier1,carrier2}, ...
    'BandwidthParts',{bwp1,bwp2}, ...;
    'PDSCH',{pdsch1,pdsch2});

References

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

[2] 3GPP TS 38.214. “NR; Physical layer procedures for data.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Introduced in R2020b