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
2
(default) | 3
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
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 ports
[]
(default) | integer scalar | vector of nonnegative integers
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 Value | DMRSConfigurationType Value | Nominal Range of Antenna Ports Supported |
---|---|---|
1 | 1 | [0, 3] |
2 | [0, 5] | |
2 | 1 | [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
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
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 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 R2020aR2022a: 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
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
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)