Main Content

nrPDSCHConfig

PDSCH configuration parameters

Description

ThenrPDSCHConfigobject 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].

This object defines all the properties involved in the PDSCH processing chain, including scrambling, symbol modulation, layer mapping, virtual resource blocks (VRB) to physical resource blocks (PRB) interleaving, and resource element (RE) mapping with the reserved resources patterns. The object also contains properties of the associated physical reference signals, such as demodulation reference signal (DM-RS) and phase tracking reference signal (PT-RS).

The defaultnrPDSCHConfigobject configures a single-layer PDSCH with mapping type A, QPSK modulation, a resource allocation of 52 resource blocks and 14 OFDM symbols in a slot, and single-symbol DM-RS type 1. This configuration corresponds to a full resource allocation with respect to the defaultnrCarrierConfigobject.

Creation

Description

pdsch= nrPDSCHConfigcreates a PDSCH configuration object with default properties.

example

pdsch= nrPDSCHConfig(Name,Value)specifies properties using one or more name-value pair arguments. Enclose each property in quotes. For example,'NSizeBWP',200,'NumLayers',7specifies 200 PRBs in the bandwidth part (BWP) and 7 transmission layers. Unspecified properties take their default values.

Properties

expand all

Channel Configuration

Number of PRBs in BWP, specified as an integer from 1 to 275. Use[]to set this property to theNSizeGridproperty of thenrCarrierConfigobject.

Data Types:double

年代tarting PRB index of BWP relative to common resource block (CRB) 0, specified as an integer from 0 to 2473. Use[]to set this property to theNStartGridproperty of thenrCarrierConfigobject.

Data Types:double

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

Data Types:cell

Reserved RE indices within the BWP, specified as a vector of nonnegative integers. This property specifies RE indices (0-based) that are unavailable for a PDSCH due to the channel state information reference signal (CSI-RS) or cell-specific reference signal being present in a particular slot.

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 Scheme Number 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

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.

When you set this property to[]or the second element of the vector to0, no symbol is allocated for the channel.

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 as2or4.

Dependencies

To enable this property, set theVRBToPRBInterleavingproperty to1.

Data Types:double

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

  • If the higher layer parameterdataScramblingIdentityPDSCHis configured,NIDmust be in the range from 0 to 1023.

  • If the higher layer parameterdataScramblingIdentityPDSCHis not configured,NIDmust 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 theNCellIDproperty 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

Reference Signals Configuration

PDSCH DM-RS configuration parameters, specified as annrPDSCHDMRSConfigobject.

启用PT-RS,指定这些值.

  • 0(false) — Disable the PT-RS configuration.

  • 1(true) — Enable the PT-RS configuration.

Data Types:double|logical

PDSCH PT-RS configuration, specified as annrPDSCHPTRSConfigobject.

Read-Only Properties

This property is read-only.

Number of codewords, specified as1or2. This property is updated based on theDMRSPortSetproperty ofnrPDSCHDMRSConfigobject. UseNumLayersproperty to calculate the number of codewords, whenDMRSPortSetproperty is empty.

Data Types:double

Examples

collapse all

Create a physical downlink shared channel (PDSCH) configuration object that occupies a bandwidth of 10 MHz bandwidth with 15 kHz subcarrier spacing.

年代pecify 52 PRBs in the bandwidth part (BWP), a scrambling identity of 750, and a 16-QAM modulation scheme. Enable VRB-to-PRB interleaving and PT-RS configuration.

pdsch = nrPDSCHConfig; pdsch.NSizeBWP = 52; pdsch.NID = 750; pdsch.Modulation ='16QAM'; pdsch.VRBToPRBInterleaving = 1; pdsch.EnablePTRS = 1; disp(pdsch)
nrPDSCHConfig with properties: NSizeBWP: 52 NStartBWP: [] ReservedPRB: {[1x1 nrPDSCHReservedConfig]} ReservedRE: [] Modulation: '16QAM' NumLayers: 1 MappingType: 'A' SymbolAllocation: [0 14] PRBSet: [1x52 double] VRBToPRBInterleaving: 1 VRBBundleSize: 2 NID: 750 RNTI: 1 DMRS: [1x1 nrPDSCHDMRSConfig] EnablePTRS: 1 PTRS: [1x1 nrPDSCHPTRSConfig] Read-only properties: NumCodewords: 1

Create a PDSCH configuration object with two reserved PRB patterns.

pdsch = nrPDSCHConfig('ReservedPRB',{nrPDSCHReservedConfig,nrPDSCHReservedConfig});

For each reserved PRB pattern, specify the reserved PRB indices in the BWP, the OFDM symbols associated with those reserved PRBs, and the period for the number of slots in the pattern.

pdsch.ReservedPRB{1}.PRBSet = (0:15); pdsch.ReservedPRB{1}.SymbolSet = (5:6); pdsch.ReservedPRB{1}.Period = 5; pdsch.ReservedPRB{2}.PRBSet = (0:23); pdsch.ReservedPRB{2}.SymbolSet = [2:4 7:9]; pdsch.ReservedPRB{2}.Period = 3;

Display the two PRB patterns.

PRBPattern1 = pdsch.ReservedPRB{1}
PRBPattern1 = nrPDSCHReservedConfig with properties: PRBSet: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15] SymbolSet: [5 6] Period: 5
PRBPattern2 = pdsch.ReservedPRB{2}
PRBPattern2 = nrPDSCHReservedConfig with properties: PRBSet: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23] SymbolSet: [2 3 4 7 8 9] Period: 3

Create a carrier configuration object with default properties. Specify the physical layer cell identity as 42 and slot number as 10.

carrier = nrCarrierConfig; carrier.NCellID = 42; carrier.NSlot = 10;

Create a PDSCH configuration object with a 16-QAM modulation scheme. Set the radio network temporary identifier to 1005, size of the BWP to 25, starting PRB index of the BWP to 10, and PRB set to occupy the whole BWP.

pdsch = nrPDSCHConfig; pdsch.Modulation ='16QAM'; pdsch.RNTI = 1005; pdsch.NID = [];等于NCellID %设置国家免疫日改过的y of carrierpdsch.NSizeBWP = 25; pdsch.NStartBWP = 10; pdsch.PRBSet = 0:pdsch.NSizeBWP-1;

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

[ind,info] = nrPDSCHIndices(carrier,pdsch,'IndexStyle','subscript','IndexOrientation','bwp')
ind =3900x3 uint32 matrix1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 ⋮
info =struct with fields:G: 15600 Gd: 3900 NREPerPRB: 156 DMRSSymbolSet: 2 PTRSSymbolSet: [1x0 double]

Generate PDSCH symbols of data type single.

numDataBits = info.G; cws = randi([0 1],numDataBits,1); sym = nrPDSCH(carrier,pdsch,cws,'OutputDataType','single')
sym =3900x1 single column vector-0.9487 + 0.9487i -0.9487 - 0.9487i -0.3162 - 0.9487i 0.9487 - 0.3162i -0.9487 + 0.3162i 0.3162 + 0.9487i 0.3162 + 0.9487i -0.3162 + 0.3162i 0.3162 + 0.3162i 0.9487 - 0.3162i ⋮

References

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2020a