Downlink MIMO Configuration
I assume that most of the readers are already familiar with the basic concept of MIMO from LTE MIMO. In 5G/NR, we will use a very special types of MIMO called Massive MIMO to implement both sptial multiplexing(MIMO) and BeamForming.
In this page, I will describe mostly about 3GPP details on how the MIMO is operated in NR.
The major factors for MIMO configuration is the number of antenna and layers. In LTE, these factors are specified explicitely by RRC message (RRC Connection Setup or RRCConnectionSetupReconfiguration). However, in NR there is no explicit RRC parameter for the number of Antenna and the number of layers. In stead, both UE and gNB carries a few predefined tables defining the number of antenna
port and layers.
Now you would have a few questions. Out of these multiple predefiend table, how a UE figure out which table to use ?
It is specified by the two dmrs related RRC parameters : dmrs-Type and maxLength. The mapping between the table and the RRC parameters is as follows.
< Antenna port(s) and number of layers >
Now you would have another question. Once a specific table is selected, how UE can figure out which row in the table is being used for each transmission from gNB ?
UE figures it out from a field called Antenna port(s) and number of layers in DCI 1_1. The number of DMRS ports indicates the number of Antenna being used in the tables.
Following table, extracted from 3GPP TS 38.212 Table 7.3.1.2.2-1, defines the mapping between different parameter values and their corresponding DMRS configurations for PDSCH transmission when one codeword is enabled (Codeword 0 is active, and Codeword 1 is disabled). It applies to Antenna port(s) (1000 + DMRS port), with dmrs-Type=1 and maxLength=1.
The table consists of three columns: Value, Number of DMRS CDM group(s) without data, and DMRS port(s).
-
The "Value" represents an index used in the system to configure DMRS parameters.
-
The "Number of DMRS CDM groups without data" defines how many CDM groups are allocated exclusively for DMRS, affecting channel estimation and spectral efficiency.
-
The "DMRS port(s)" column specifies the corresponding DMRS antenna ports assigned for transmission.
For lower values (0-1), only one CDM group is allocated, while from value 2 onwards, two CDM groups are assigned, increasing DMRS robustness. The DMRS ports change based on the value, ranging from a single port (e.g., 0 or 1) to multiple ports (e.g., 0-2). Values 12-15 are reserved and not used in this configuration.
< 38.212 - Table 7.3.1.2.2-1: Antenna port(s) (1000 + DMRS port), dmrs-Type=1, maxLength=1 >

NOTE : Interpretation of 'Number of front-load symbols' column are stated in 38.214 5.1.6.2 as below :
the UE may be configured with the maximum number of front-loaded DM-RS symbols for PDSCH by higher layer parameter maxLength given by DMRS-DownlinkConfig..
- if maxLength is set to 'len1', single-symbol DM-RS can be scheduled for the UE by DCI, and the UE can be configured with a number of additional DM-RS for PDSCH by higher layer parameter dmrs-AdditionalPosition, which can be set to 'pos0', 'pos1', 'pos2' or 'pos3'.
- if maxLength is set to 'len2', both single-symbol DM-RS and double symbol DM-RS can be scheduled for the UE by DCI, and the UE can be configured with a number of additional DM-RS for PDSCH by higher layer parameter dmrs-AdditionalPosition, which can be set to 'pos0' or 'pos1'.
NOTE : Interpretation of "Number of CDM groups without data" : The "Number of CDM groups without data" in the table refers to the number of Code Division Multiplexing (CDM) groups that are allocated only for DMRS (Demodulation Reference Signals) and do not carry any actual PDSCH data.
What is CDM group ? :In 5G NR, DMRS symbols are mapped to resource elements (REs) using CDM (Code Division Multiplexing). CDM allows multiple DMRS symbols to be transmitted simultaneously within the same time and frequency resources by using different orthogonal cover codes.
- A higher number of CDM groups without data means that more resources are allocated to DMRS, improving channel estimation accuracy but reducing spectral efficiency (since fewer resources are available for PDSCH data).
- A lower number of CDM groups without data means fewer DMRS resources are used, improving data throughput but potentially reducing channel estimation quality.
Following table, extracted from 3GPP TS 38.212 Table 7.3.1.2.2-2, defines the PDSCH DMRS (Demodulation Reference Signal) antenna port mapping and configurations for different values when dmrs-Type=1 and maxLength=2.
- The table is divided into two main sections:
- One Codeword (Codeword 0 enabled, Codeword 1 disabled)
- Two Codewords (Both Codeword 0 and Codeword 1 enabled)
- For One Codeword, the table provides three key parameters for each value:
- Number of DMRS CDM groups without data: Determines how many CDM groups are allocated solely for DMRS, affecting channel estimation quality and spectral efficiency.
- DMRS port(s): Indicates the assigned antenna port(s) for DMRS transmission.
- Number of front-load symbols: Specifies how many DMRS symbols are placed at the beginning of the transmission for early channel estimation.
- For Two Codewords, the structure is similar but allows for multi-layer MIMO transmission:
- The number of CDM groups without data is set to 2 for all entries.
- The DMRS ports expand to multiple antennas, supporting spatial multiplexing.
- The number of front-load symbols is always 2, ensuring sufficient channel estimation across both codewords.
< 38.212 - Table 7.3.1.2.2-2: Antenna port(s) (1000 + DMRS port), dmrs-Type=1, maxLength=2 >

Following table, extracted from 3GPP TS 38.212 Table 7.3.1.2.2-3, defines the PDSCH DMRS (Demodulation Reference Signal) antenna port mapping and configurations for dmrs-Type=2 and maxLength=1.
- The table is divided into two sections:
- One Codeword (Codeword 0 enabled, Codeword 1 disabled)
- Two Codewords (Both Codeword 0 and Codeword 1 enabled)
- For One Codeword, the table provides:
- Number of DMRS CDM groups without data, which determines the number of CDM groups reserved for DMRS and not used for PDSCH data.
- DMRS port(s), which indicates the assigned DMRS antenna port(s).
- The values range from 0 to 23, with 24-31 being reserved.
- For Two Codewords, the table specifies:
- The number of DMRS CDM groups without data, which is fixed at 3 for valid entries.
- The DMRS port(s), which expands to support multiple antenna ports (spatial multiplexing).
- Values 2-31 are reserved, limiting the available configurations.
This table is critical for configuring PDSCH DMRS in 5G NR, particularly when using Type-2 DMRS, which supports higher flexibility in MIMO transmission and better channel estimation performance in high-mobility scenarios.
< 38.212 - Table 7.3.1.2.2-3: Antenna port(s) (1000 + DMRS port), dmrs-Type=2, maxLength=1 >

Following table, extracted from 3GPP TS 38.212 Table 7.3.1.2.2-4, specifies the PDSCH DMRS (Demodulation Reference Signal) antenna port mapping and configurations for dmrs-Type=2 and maxLength=2.
- The table is divided into two sections:
- One Codeword (Codeword 0 enabled, Codeword 1 disabled)
- Two Codewords (Both Codeword 0 and Codeword 1 enabled)
- For One Codeword, the parameters defined are:
- Number of DMRS CDM groups without data: The number of CDM groups allocated exclusively for DMRS, which impacts spectral efficiency and channel estimation.
- DMRS port(s): Specifies the antenna ports assigned to DMRS.
- Number of front-load symbols: Defines how many DMRS symbols are positioned at the beginning of the slot to assist in early channel estimation.
- For Two Codewords, the parameters include:
- Number of DMRS CDM groups without data: Set to 2 or 3 based on the value.
- DMRS port(s): Expands to multiple antenna ports to support spatial multiplexing in MIMO scenarios.
- Number of front-load symbols: Fixed at 1 or 2, ensuring robust channel estimation for both codewords.
- Reserved values (e.g., 6-63 for Two Codewords and 58-63 for One Codeword) indicate configurations that are not defined for use.
This table is crucial in configuring PDSCH DMRS in 5G NR, particularly in scenarios requiring high spectral efficiency and robust channel estimation, such as MIMO deployments and high-mobility conditions.
< 38.212 - Table 7.3.1.2.2-4: Antenna port(s) (1000 + DMRS port), dmrs-Type=2, maxLength=2 >


value = 0;
|

|
value = 1;
|

|
value = 2;
|

|
value = 3;
|

|
value = 4;
|

|
value = 5;
|

|
value = 6;
|

|
value = 7;
|

|
value = 8;
|

|
value = 9;
|

|
value = 10;
|

|
value = 11;
|

|
value = 0;
|

|
value = 1;
|

|
value = 2;
|

|
value = 3;
|

|
value = 4;
|

|
value = 5;
|

|
value = 6;
|

|
value = 7;
|

|
value = 8;
|

|
value = 9;
|

|
value = 10;
|

|
value = 11;
|

|
value = 12;
|

|
value = 13;
|

|
value = 14;
|

|
value = 15;
|

|
value = 16;
|

|
value = 17;
|

|
value = 18;
|

|
value = 19;
|

|
value = 20;
|

|
value = 21;
|

|
value = 22;
|

|
value = 23;
|

|
value = 24;
|

|
value = 25;
|

|
value = 26;
|

|
value = 27;
|

|
value = 28;
|

|
value = 29;
|

|
value = 30;
|

|
value = 0;
|

|
value = 1;
|

|
value = 2;
|

|
value = 3;
|

|
value = 4;
|

|
value = 5;
|

|
value = 6;
|

|
value = 7;
|

|
value = 8;
|

|
value = 9;
|

|
value = 10;
|

|
value = 11;
|

|
value = 12;
|

|
value = 13;
|

|
value = 14;
|

|
value = 15;
|

|
value = 16;
|

|
value = 17;
|

|
value = 18;
|

|
value = 19;
|

|
value = 20;
|

|
value = 21;
|

|
value = 22;
|

|
value = 23;
|

|
value = 0;
|

|
value = 1;
|

|
value = 2;
|

|
value = 3;
|

|
value = 4;
|

|
value = 5;
|

|
value = 6;
|

|
value = 7;
|

|
value = 8;
|

|
value = 9;
|

|
value = 10;
|

|
value = 11;
|

|
value = 12;
|

|
value = 13;
|

|
value = 14;
|

|
value = 15;
|

|
value = 16;
|

|
value = 17;
|

|
value = 18;
|

|
value = 19;
|

|
value = 20;
|

|
value = 21;
|

|
value = 22;
|

|
value = 23;
|

|
value = 24;
|

|
value = 25;
|

|
value = 26;
|

|
value = 27;
|

|
value = 28;
|

|
value = 29;
|

|
value = 30;
|

|
value = 31;
|

|
value = 32;
|

|
value = 33;
|

|
value = 34;
|

|
value = 35;
|

|
value = 36;
|

|
value = 37;
|

|
value = 38;
|

|
value = 39;
|

|
value = 40;
|

|
value = 41;
|

|
value = 42;
|

|
value = 43;
|

|
value = 44;
|

|
value = 45;
|

|
value = 46;
|

|
value = 47;
|

|
value = 48;
|

|
value = 49;
|

|
value = 50;
|

|
value = 51;
|

|
value = 52;
|

|
value = 53;
|

|
value = 54;
|

|
value = 55;
|

|
value = 56;
|

|
value = 57;
|

|
Reference
[1]
|
|