5G NR PDSCH DMRS Figured Out
Demodulation reference signals (DMRS) are used in virtually any channel bar the uplink random access one - PBCH, PDCCH, PDSCH, PUCCH and PUSCH. To keep it simple, this article will attempt to guide you how to determine physical resource allocation for DMRS based on just one example - DMRS for PDSCH. The general idea elaborated hereinafter is similarly applied to DMRS for PUSCH. Again, for simplicity, the example below covers only PDSCH mapping type A and PDSCH DMRS configuration type 1. Even though this combination is only one of many possible, it is the most common combination used in the 5G networks today, be in low- or mid- or hi-band. Another assumption for the sake of simplicity is that the NR cells are capable of MIMO 4x4 maximum.
Let's go step by step and find all parameters in the RRC signalling to determine the PDSCH DMRS configuration on the physical resource grid.
The first step is figuring out the position of the first (or the only) DM-RS for downlink, and uplink for that matter. According to 7.4.1.1.2 Mapping to physical resources paragraph of 3GPP TS 38.211 Physical channels and modulation, for PDSCH Mapping Type B the first (or the only) symbol used for DMRS in time domain is always 0. However for PDSCH Mapping Type A it may be either 2 or 3 and is subject to higher-layer parameter dmrs-TypeA-Position, hence reading the higher-layer parameter dmrs-TypeA-Position will provide an answer in our example. The parameter dmrs-TypeA-Position can be found either in MIB in case of NR SA network or in RrcReconfiguration message in case of NR NSA network:
value BCCH-BCH-Message ::=
? message mib :?
? ? ? systemFrameNumber '100000'B,
? ? ? subCarrierSpacingCommon scs30or120,
? ? ? ssb-SubcarrierOffset 4,
? ? ? dmrs-TypeA-Position pos2,
? ? ? pdcch-ConfigSIB1?
? ? ? ? controlResourceSetZero 12,
? ? ? ? searchSpaceZero 4
? ? ? ?,
? ? ? cellBarred notBarred,
? ? ? intraFreqReselection allowed,
? ? ? spare '0'B?
In our example dmrs-TypeA-Position has value pos2 and we can vaguely assume that our PDSCH DMRS is somewhere in the grey area:
Two consecutive symbols (2 and 3) are greyed out because DMRS may be one or two symbols long in time domain and at this stage we don't know exactly how long it is in our specific example.
The second step would be determining the PDSCH DMRS configuration type in use - whether it is type 1 or type 2. The configuration type impacts the frequency domain resources used by the DMRS. In simple terms Configuration Type 1 allocates every second resource element to DMRS, whereas Configuration Type 2 allocates every third pair of resource elements to DMRS. In the dedicated signalling (both in SA and NSA) the optional parameter dmrs-Type in the PDSCH-Config structure defines the selection of the DMRS type to be used for DL, or to be correct the presence of the parameter dmrs-Type in the PDSCH-Config structure unambiguously implies type 2. If the field is absent, the UE uses DMRS type 1, and this is exactly our case - the parameter dmrs-Type is not present in our example (hence nothing to demonstrate). As the outcome of the second step now we know that our PDSCH Configuration Type is 1 and that is why in the frequency domain the DMRS signals occupy every second subcarrier:
We are still not sure if our DMRS is one or two symbol long. At the third step let's try and find a parameter maxLength in the dedicated signalling - the maximum number of OFDM symbols for DL front loaded DMRS. Please note, if the field is absent, the UE applies value len1. If set to len2, the UE determines the actual number of DM-RS symbols by the associated DCI. In our example maxLength is absent too, hence we are up against one symbol long DMRS:
The fourth step is to figure out if this determined DMRS in symbol 2 is the only one of if there is any additional DMRS. In the same dedicated signalling PDSCH-Config parameter structure there may be absent or present dmrs-AdditionalPosition parameter - position for additional DM-RS in DL. If the field is absent, the UE applies the value pos2. In our example the dmrs-AdditionalPosition field is present and it is pos1:
spCellConfig
? ? spCellConfigDedicated?
? ? ? initialDownlinkBWP?
? ? ? ? pdsch-Config setup :?
? ? ? ? ? ? dmrs-DownlinkForPDSCH-MappingTypeA setup :?
? ? ? ? ? ? ? ? dmrs-AdditionalPosition pos1,
? ? ? ? ? ? ? ? scramblingID0 35
? ? ? ? ? ? ? ?,
? ? ? ? ? ? resourceAllocation resourceAllocationType0,
? ? ? ? ? ? rbg-Size config1,
? ? ? ? ? ? mcs-Table qam256,
? ? ? ? ? ? maxNrofCodeWordsScheduledByDCI n1,
? ? ? ? ? ? prb-BundlingType staticBundling :??
The values of this field are just indexes of enumeration array and their actual meaning is advised in the Table 7.4.1.1.2-3 PDSCH DM-RS positions?l?for single-symbol DM-RS in TS 38.211:
According to 7.4.1.1.2 Mapping to physical resources paragraph of 3GPP TS 38.211 Physical channels and modulation, for PDSCH mapping type A, l "d"?is the duration between the first OFDM symbol of the slot and the last OFDM symbol of the scheduled PDSCH resources in the slot, and in our case it is obviously 14. The value l "0"?has been already determined at the very first step (dmrs-TypeA-Position) and we already know it is 2 in our example. The value l "1"?equals 11 by default, except if spectrum sharing with LTE (DSS) is configured in the serving NR cell, in which case l "1"?equals 12. In our example the serving cell is not a member of dynamic spectrum sharing with LTE, which is why dmrs-AdditionalPosition being pos1 implies the default value 11:
The pictures above depict two possible shifts of the PDSCH DMRS in frequency domain. Where does it come from?!?
Remember in the very beginning the assumption was that the NR cells are capable of MIMO 4x4 maximum? In fact this assumption covers majority of the mid-band NR networks these day, so it is very practical. Again, to keep it short, the first picture includes the DMRS for antenna ports 1000 and 1001 (dark green) and the second picture includes the DMRS for antenna ports 1002 and 1003 (light green) - all up for 4 MIMO layers.
This translates to the fact that when PDSCH is transmitter via 3 or 4 (>2 essentially) MIMO layers, both DMRS groups are transmitted all 12 subcarriers contain this or that DMRS:
领英推荐
In the picture above the symbol 0 is occupied by PDCCH (yellow), the symbols 2 and 11 are totally occupied by either DMRS group (light green or dark green) and the rest of the physical resources are used for PDSCH itself (blue). This is the case when the number of MIMO layers is >2 and more than one DMRS group is required as a result.
Though what resources are used for PDSCH in case of up to 2 MIMO layers, i.e. when only one DMRS group is sufficient? There are two options:
What controls which option is to be applied? It is done dynamically by means of DCI resource allocation, in our example where PDSCH is considered only, this is DCI 1_1.
Specifically it is done by means of the field "Antenna Ports" (antPorts) of DCI 1_1. The "Antenna Ports" field value and meaning are defined in four tables in 3GPP TS 38.212:
We already know that in the example scrutineered in this article we are up against the case of dmrs-Type=1 and maxLength=3, hence Table 7.3.1.2.2-1 should be applied:
In simple terms, when antPorts value in the DCI 1_1 is 0 or 1 or 2, the DMRS is frequency multiplexed with PDSCH, thus increasing efficiency:
All other values of antPorts (values 3...11) imply no frequency multiplexing of the DMRS with PDSCH:
Having only up to to MIMO layers allocated by the current DCI 1_1 doesn't automatically imply frequency multiplexing of the DMRS with PDSCH unconditionally: look at the antPorts values 3-8 and 11 - they are all about 1 or 2 MIMO layers, nevertheless they don't stipulate frequency multiplexing of the DMRS with PDSCH because their corresponding "Number of DMRS CDM group(s) without data" equals 2, i.e both available DMRS CDM groups are without data.
DCI 1_1 example with antPorts=7:
? Identifier_DCI_Formats : 1
? ? Carrier_indicator : 0
? ? Bandwidth_part_indicator : First BW part configured by higher layers(0)
? ? Resource_Allocation_Type : RA Type 0
? ? Freq_domain_res_assign : 0x03FFF
? ? Time_domain_res_assign : 0
? ? VRB_to_PRB_mapping : Non-interleaved(0)
? ? PRB_bundling_size_indicator : Static Bundling or not-Configured(0)
? ? Modulation_Coding_Scheme_TB1 : 19
? ? New_data_indicator_TB1 : 0
? ? Redundancy_version_TB1 : 0
? ? Modulation_Coding_Scheme_TB2 : 0
? ? New_data_indicator_TB2 : 0
? ? Redundancy_version_TB2 : 0
? ? HARQ_process_number : 0
? ? Rate_matching_indicator : 0
? ? ZP_CSI_RS_trigger : 0
? ? Downlink_Assignment_Index : 15
? ? TPC_command_scheduled_PUCCH : 1
? ? PUCCH_Resource_Indicator : 1st PUCCH Resource(0)
? ? PDSCH_to_HARQ_feedback_timing_indicator : 1st value provided by dl-DataToUL-ACK(0)
? ? antPorts : 7
? ? transConfigInd : 0
? ? SRS_request : No aperiodic SRS Resource set triggered(0)
? ? cbgTransInfo : Not-transmitted(0)
? ? cbgFlushoutInfo : Disabled(0)
? ? DmrsSeqinit : Both scramblingID0 and scramblingID1 are not configured(0)
? ? New_Tx_Flag : True(1)
? ? 256QAM Enabled : Enabled(1)
? ? PRB : 106
? ? Modulation_Order : 64QAM(6)
DCI 1_1 example with antPorts=3:
? Identifier_DCI_Formats : 1
? ? Carrier_indicator : 0
? ? Bandwidth_part_indicator : First BW part configured by higher layers(0)
? ? Resource_Allocation_Type : RA Type 0
? ? Freq_domain_res_assign : 0x00020
? ? Time_domain_res_assign : 0
? ? VRB_to_PRB_mapping : Non-interleaved(0)
? ? PRB_bundling_size_indicator : Static Bundling or not-Configured(0)
? ? Modulation_Coding_Scheme_TB1 : 17
? ? New_data_indicator_TB1 : 0
? ? Redundancy_version_TB1 : 0
? ? Modulation_Coding_Scheme_TB2 : 0
? ? New_data_indicator_TB2 : 0
? ? Redundancy_version_TB2 : 0
? ? HARQ_process_number : 9
? ? Rate_matching_indicator : 0
? ? ZP_CSI_RS_trigger : 0
? ? Downlink_Assignment_Index : 0
? ? TPC_command_scheduled_PUCCH : 1
? ? PUCCH_Resource_Indicator : 1st PUCCH Resource(0)
? ? PDSCH_to_HARQ_feedback_timing_indicator : 4th value provided by dl-DataToUL-ACK(3)
? ? antPorts : 3
? ? transConfigInd : 0
? ? SRS_request : No aperiodic SRS Resource set triggered(0)
? ? cbgTransInfo : Not-transmitted(0)
? ? cbgFlushoutInfo : Disabled(0)
? ? DmrsSeqinit : Both scramblingID0 and scramblingID1 are not configured(0)
? ? New_Tx_Flag : True(1)
? ? 256QAM Enabled : Enabled(1)
? ? PRB : 16
? ? Modulation_Order : 64QAM(6)
Neither example above implies DMRS multiplexing with data (antPorts 3 or 7), because only antPorts values 0, 1 or 2 would imply so.
Ph.D. Student @ UC3M, IMDEA Networks
3 个月Thank you for your article. I came across something in the standards that seems a bit unclear and I was hoping if you could clarify it. Based on 3GPP TS 38.214 Table 6.2.2-1 (Rel-17), the ratio of PUSCH EPRE to DMRS EPRE in dB is less than or equal to 0, correct? If that’s the case, does it imply that for 2 CDM groups without data, the DMRS EPRE should be double (i.e., 3 dB higher) than that of the PUSCH?
5G/RF Wireless
6 个月?"the first picture includes the DMRS for antenna ports 1000 and 1001 (dark green)?", ==> Do you mean when NW is sending pdsch on 2*2 MIMO, both layers use same DMRS symbol here ? Can you help to confirm
5G-NR/LTE/UMTS/GSM Senior Optimization Consultant at Huawei Technologies
2 年PDSCH DMR5?
5G-NR/LTE/UMTS/GSM Senior Optimization Consultant at Huawei Technologies
2 年The overhead of type 1 DMRS is less than that of type 2 DMRS. Is it correct
Test Manager | 5G SA/NSA | LTE | NB-IoT | UE (L1,L2,L3) LOG ANALYSIS | Device Protocol Testing
2 年l "d"?is the duration between the first OFDM symbol of the slot and the last OFDM symbol of the scheduled PDSCH resources in the slot, and in our case it is obviously 14. How did we get the value 14? Can you please help?