nrPDSCHDMRSConfig
Description
The nrPDSCHDMRSConfig
object sets demodulation reference signal
(DM-RS) configuration parameters for a physical downlink shared channel (PDSCH), as defined in
TS 38.211 Section 7.4.1.1 [1]. Use this object when setting
the DMRS
property of the nrPDSCHConfig
or nrWavegenPDSCHConfig
objects.
The object defines the properties of PDSCH DM-RS symbols and indices generation and the resource elements pattern not used for data in DM-RS symbol locations. The read-only properties of this object provide the DM-RS subcarrier locations within a resource block (RB), code division multiplexing (CDM) groups, and time and frequency weights for DM-RS symbols. By default, the object specifies a single symbol DM-RS at symbol index 2 (0-based) with configuration type 1 and antenna port 0.
Creation
Description
creates a DM-RS
configuration object for a PDSCH with default properties.dmrs
= nrPDSCHDMRSConfig
specifies properties using one or more name-value pair arguments. Enclose each property in
quotes. For example, dmrs
= nrPDSCHDMRSConfig(Name,Value
)'DMRSConfigurationType',1,'DMRSLength',2
specifies
a double-symbol DM-RS with configuration type 1. Unspecified properties take their default
values.
Properties
DMRSConfigurationType
— DM-RS configuration type
1
(default) | 2
DM-RS configuration type, specified as 1
or 2
.
This property is the higher-layer parameter dmrs-Type.
Data Types: double
DMRSReferencePoint
— Reference point for DM-RS sequence to subcarrier resource mapping
CRB0
(default) | PRB0
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 CORESET 0.CRB0
— When the reference point is subcarrier 0 of the common resource block 0 (CRB 0)
Data Types: char
| string
DMRSTypeAPosition
— Position of first DM-RS OFDM symbol for mapping type A
2
(default) | 3
Position of the first DM-RS OFDM symbol for mapping type A, specified as
2
or 3
. This property is the higher-layer
parameter dmrs-TypeA-Position.
This property only applies when the MappingType
property of the
nrPDSCHConfig
or nrWavegenPDSCHConfig
object is set to 'A'
.
Data Types: double
DMRSAdditionalPosition
— Maximum number of DM-RS additional positions
0
(default) | 1
| 2
| 3
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
DMRSLength
— Number of consecutive front-loaded DM-RS OFDM symbols
1
(default) | 2
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
CustomSymbolSet
— DM-RS OFDM symbol locations
[]
(default) | integer from 0 to 13 | vector of nonnegative integers
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
DMRSPortSet
— DM-RS antenna port indices
[]
(default) | vector of nonnegative integers
DM-RS antenna port indices, specified as a vector of nonnegative integers from 0 to 23. The valid range of antenna port indices depends on the DM-RS configuration type, DM-RS symbol duration, and whether enhanced DM-RS multiplexing is enabled, as described in this table.
DMRSEnhancedR18
Value | DMRSLength Value | Valid Range of Antenna Port Indices | |
---|---|---|---|
DMRSConfigurationType=1 | DMRSConfigurationType=2 | ||
0 for basic multiplexing | 1 for single symbol | [0, 3] | [0, 5] |
2 for double symbol | [0, 7] | [0, 11] | |
1 for enhanced multiplexing | 1 for single symbol | [0, 3] and [8, 11] | [0, 5] and [12, 17] |
2 for double symbol | [0, 15] | [0, 23] |
This table corresponds to the PDSCH DM-RS antenna port values, as defined in TS 38.211 Table 7.4.1.1.2-5. The value range from 0 to 23 in this table corresponds to the range from 1000 to 1023, respectively, in Table 7.4.1.1.2-5.
The default value, []
, implies that the object automatically
selects the first N valid port indices, where N is
the number of layers that is specified by the NumLayers
property of
the nrPDSCHConfig
or nrWavegenPDSCHConfig
objects. For example, if NumLayers=6
and the valid port indices are
in the range [0, 3] and [8, 11], then the object selects the 0, 1, 2, 3, 8, 9 port
indices.
Data Types: double
NIDNSCID
— DM-RS scrambling identities
[]
(default) | 1-by-2 integer vector | scalar integer
DM-RS scrambling identities (NID0 and NID1), specified as one of these options.
1-by-2 integer vector of values from 0 to 65,535 — The vector elements define NID0 and NID1.
Scalar integer from 0 to 65,535 — This option specifies equal values for both NID0 and NID1.
[]
— Use this option to set the DM-RS scrambling identity to the physical layer cell identity, specified by theNCellID
property of the carrier configuration.
Data Types: double
NSCID
— DM-RS scrambling initialization
0
(default) | 1
DM-RS scrambling initialization, specified as 0
or
1
.
Data Types: double
NumCDMGroupsWithoutData
— Number of DM-RS CDM groups without data
2
(default) | 1
| 3
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 02
— CDM group numbers 0 and 13
— CDM group numbers 0, 1, and 2
Data Types: double
DMRSDownlinkR16
— Low PAPR DM-RS sequence
0
(default) | 1
Low peak-to-average-power ratio (PAPR) DM-RS sequence, specified as one of these logical values.
0
(false
) — Disable the use of low PAPR DM-RS.1
(true
) — Enable the use of low PAPR DM-RS. The DM-RS sequence generation depends on the DM-RS antenna port indices (DMRSPortSet
) as well as the scrambling initialization (NSCID
).
Data Types: double
CDMGroups
— CDM group numbers corresponding to each DM-RS port
0
(default) | integer from 0 to 2 | row vector of integers
This property is read-only.
CDM group numbers corresponding to each DM-RS port, specified as one of these options.
Integer from 0 to 2 — When
DMRSPortSet
property is a scalar, specifying single DM-RS antenna port.Row vector of integers from 0 to 2 — When
DMRSPortSet
property is a vector, specifying multiple DM-RS antenna ports. Each element corresponds to a CDM group number for that port.
Value of this property depends on the DMRSConfigurationType
property according to TS 38.211 Table 7.4.1.1.2-1 or 7.4.1.1.2-2 [1].
Data Types: double
DeltaShifts
— Delta shifts corresponding to each CDM group
0
(default) | integer from the set {0, 1, 2, 4} | row vector of integers
This property is read-only.
Delta shifts corresponding to each CDM group, specified as one of these options.
Integer from the set {0, 1, 2, 4} — When
DMRSPortSet
property is a scalar, specifying single DM-RS antenna port.Row vector of integers from the set {0, 1, 2, 4} — When
DMRSPortSet
property is a vector, specifying multiple DM-RS antenna ports. Each element corresponds to the delta shift to be applied for that port.
Value of this property depends on the DMRSConfigurationType
according to TS 38.211 Table 7.4.1.1.2-1 or 7.4.1.1.2-2 [1].
Data Types: double
FrequencyWeights
— Frequency weights
[1; 1]
(default) | column vector of integers | matrix of integers
This property is read-only.
Frequency weights for the DM-RS symbols, specified as one of these options.
Column vector of integers — When
DMRSPortSet
property is a scalar, specifying single DM-RS antenna port.Matrix of integers — When
DMRSPortSet
property is a vector, specifying multiple DM-RS antenna ports. Each column corresponds to the weights for that port.
Value of this property depends on the DMRSConfigurationType
according to TS 38.211 Table 7.4.1.1.2-1 or 7.4.1.1.2-2 [1].
Data Types: double
TimeWeights
— Time weights
[1; 1]
(default) | column vector of integers | matrix of integers
This property is read-only.
Time weights for to the DM-RS symbols, specified as one of these options.
Column vector of integers — When
DMRSPortSet
property is a scalar, specifying single DM-RS antenna port.Matrix of integers — When
DMRSPortSet
property is a vector, specifying multiple DM-RS antenna ports. Each column corresponds to the weights for that port.
Value of this property depends on the DMRSConfigurationType
according to TS 38.211 Table 7.4.1.1.2-1 or 7.4.1.1.2-2 [1].
Data Types: double
DMRSSubcarrierLocations
— Subcarrier locations in RB for each port
[0; 2; 4; 6; 8; 10]
(default) | column vector of integers | matrix of integers
This property is read-only.
Subcarrier locations in an RB for each port, specified as one of these options.
Column vector of integers — When
DMRSPortSet
property is a scalar, specifying single DM-RS antenna port.Matrix of integers — When
DMRSPortSet
property is a vector, specifying multiple DM-RS antenna ports. Each column corresponds to the subcarrier locations for that port.
Data Types: double
CDMLengths
— CDM arrangement for reference signals
[1 1]
(default) | two-element row vector
This property is read-only.
CDM arrangement for reference signals, specified as the comma-separated pair
consisting of 'CDMLengths'
and a two-element row vector of
nonnegative integers [FD
TD]. Array elements FD and TD
specify the length of CDM despreading in the frequency domain (FD-CDM) and time domain
(TD-CDM), respectively. A value of 1
for an element specifies no
CDM.
Data Types: double
DMRSEnhancedR18
— Enhanced DM-RS multiplexing
0
(default) | 1
Since R2024a
Enhanced DM-RS multiplexing, specified as one of these logical values:
0
(false
) — Disable enhanced DM-RS multiplexing.1
(true
) — Enable enhanced DM-RS multiplexing to extend the set of DM-RS antenna ports for MU-MIMO use.
This property together with the DMRSLength
and DMRSConfigurationType
properties define the valid range of antenna port
indices, as described in this table.
DMRSEnhancedR18
Value | DMRSLength Value | Valid Range of Antenna Port Indices | |
---|---|---|---|
DMRSConfigurationType=1 | DMRSConfigurationType=2 | ||
0 for basic multiplexing | 1 for single symbol | [0, 3] | [0, 5] |
2 for double symbol | [0, 7] | [0, 11] | |
1 for enhanced multiplexing | 1 for single symbol | [0, 3] and [8, 11] | [0, 5] and [12, 17] |
2 for double symbol | [0, 15] | [0, 23] |
Data Types: double
Examples
Create PDSCH DM-RS Object
Create a physical downlink shared channel (PDSCH) demodulation reference signal (DM-RS) object.
Specify a single-symbol DMRS with configuration type as 2, number of DM-RS additional positions as 2, and antenna ports as 0, 1, and 3.
View the corresponding properties.
dmrs = nrPDSCHDMRSConfig; dmrs.DMRSConfigurationType = 2; dmrs.DMRSLength = 1; dmrs.DMRSAdditionalPosition = 2; dmrs.DMRSPortSet = [0 1 3]; dmrs
dmrs = nrPDSCHDMRSConfig with properties: DMRSConfigurationType: 2 DMRSReferencePoint: 'CRB0' DMRSTypeAPosition: 2 DMRSAdditionalPosition: 2 DMRSLength: 1 CustomSymbolSet: [] DMRSPortSet: [0 1 3] NIDNSCID: [] NSCID: 0 NumCDMGroupsWithoutData: 2 DMRSDownlinkR16: 0 DMRSEnhancedR18: 0 Read-only properties: CDMGroups: [0 0 1] DeltaShifts: [0 0 2] FrequencyWeights: [2x3 double] TimeWeights: [2x3 double] DMRSSubcarrierLocations: [4x3 double] CDMLengths: [2 1]
Generate PDSCH DM-RS Symbols and Indices
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');
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.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2020aR2024a: Use enhanced DM-RS multiplexing for MU-MIMO
Use the DMRSEnhancedR18
object property to enable enhanced DM-RS multiplexing for
MU-MIMO transmissions.
R2024a: Value range of DMRSPortSet
property has changed
The value range of the DMRSPortSet
property has changed to match the PDSCH DM-RS antenna port values
from TS 38.211 Table 7.4.1.1.2-5. In previous releases, the valid antenna port numbers range
from 0 to 11 and the nominal value depends on the DM-RS configuration type and DM-RS symbol
duration. Starting in R2024a, the valid antenna port numbers range from 0 to 23 and the
nominal value also depends on whether enhanced DM-RS multiplexing is enabled.
The range from 0 to 23 in
the DMRSPortSet
property corresponds to the range from 1000 to 1023,
respectively, in Table 7.4.1.1.2-5.
R2022a: Release 16 updates for low PAPR sequences, DM-RS scrambling identities, and type B mapping
The
DMRSDownlinkR16
property enables low peak-to-average-power ratio (PAPR) physical downlink shared channel (PDSCH) DM-RS sequences, as defined in Release 16 of TS 38.211 Section 7.4.1.1.The
NIDNSCID
property supports dynamic ID selection.PDSCH DM-RS symbol generation now supports type B mapping DM-RS symbol positions, as defined in Release 16 of TS 38.211 Tables 7.4.1.1.2-3 and 7.4.1.1.2-4.
See Also
Functions
Objects
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)