LTE时代的CRS(Cell-specific Reference Signal)是一种"始终在线"的参考信号——无论小区是否有数据传输,CRS都会在每个子帧的固定位置持续发送。这种设计虽然简单,但在空载时造成了不可忽视的功率浪费和邻区干扰。5G NR彻底颠覆了这一理念,引入了DM-RS(Demodulation Reference Signal)——一种与PDSCH紧密绑定的UE级参考信号。
DM-RS的核心设计原则体现在三个维度:
第一维度:前置加载(Front-loaded)。DM-RS固定出现在PDSCH分配区域的起始位置(通常是第2或第3个OFDM符号),UE无需等待整个时隙结束就能开始信道估计。这意味着接收机可以更早启动解码流水线,显著降低处理时延——对URLLC场景尤为关键。
第二维度:按需密度(Configurable Density)。通过dmrs-AdditionalPosition参数,NR允许在时隙内插入最多3组额外DM-RS符号。低速场景用pos0(仅前置DM-RS)即可获得良好信道估计;高速场景则需要pos2甚至pos3来跟踪快衰落信道的时变特性。
第三维度:端口复用(Port Multiplexing)。NR通过CDM(Code Division Multiplexing)和FDM(Frequency Division Multiplexing)的组合,在有限的时频资源上承载多达12个DM-RS端口,为MU-MIMO提供了物理层基础。
graph TD
A[DM-RS设计三角] --> B[前置加载<br/>低时延]
A --> C[按需密度<br/>适配多普勒]
A --> D[端口复用<br/>支持多层MIMO]
B --> B1[Symbol 2/3固定位置]
B --> B2[早解码早反馈]
C --> C1[pos0: 仅前置]
C --> C2[pos1-pos3: 额外符号]
D --> D1[Type 1: 最多8端口]
D --> D2[Type 2: 最多12端口]
Configuration Type 1采用comb-2的频域映射模式,将每个PRB内12个子载波按奇偶分为两组CDM组。
| 参数 | Configuration Type 1 |
|---|---|
| CDM组数 | 2 |
| 频域模式 | Comb-2(奇偶子载波分离) |
| 每CDM组端口数 | 2(通过OCC长度2码分) |
| 单符号最大端口 | 4 (p=1000~1003) |
| 双符号最大端口 | 8 (p=1000~1007) |
| 每端口每PRB占用RE | 6(单符号)/ 12(双符号) |
| 最大开销(12RE/PRB/symbol) | ~8.3% |
CDM组0:占据偶数子载波 {0, 2, 4, 6, 8, 10},承载端口1000和1001。两个端口通过时域OCC(+1, +1)和(+1, -1)区分——这就是CDM的本质。
CDM组1:占据奇数子载波 {1, 3, 5, 7, 9, 11},承载端口1002和1003,同样通过OCC区分。
当使用双符号DM-RS(maxLength=2)时,时域扩展为2个OFDM符号,每个CDM组可以容纳4个端口(2个频域 × 2个时域OCC),总端口数翻倍至8。
Configuration Type 2采用频域连续块的映射模式,将12个子载波分为3组,每组占4个连续子载波中的2个。
| 参数 | Configuration Type 2 |
|---|---|
| CDM组数 | 3 |
| 频域模式 | 2连续RE块(频域间隔分布) |
| 每CDM组端口数 | 2 |
| 单符号最大端口 | 6 (p=1000~1005) |
| 双符号最大端口 | 12 (p=1000~1011) |
| 每端口每PRB占用RE | 4(单符号)/ 8(双符号) |
| 最大开销(12RE/PRB/symbol) | ~8.3% |
CDM组0:子载波 {0, 1, 6, 7},端口1000和1001 CDM组1:子载波 {2, 3, 8, 9},端口1002和1003 CDM组2:子载波 {4, 5, 10, 11},端口1004和1005
graph TD
subgraph "Type 1 (Comb-2)"
T1SC0["SC0"] --- T1SC2["SC2"] --- T1SC4["SC4"] --- T1SC6["SC6"] --- T1SC8["SC8"] --- T1SC10["SC10"]
T1SC1["SC1"] --- T1SC3["SC3"] --- T1SC5["SC5"] --- T1SC7["SC7"] --- T1SC9["SC9"] --- T1SC11["SC11"]
end
subgraph "Type 2 (Block)"
T2G0["SC0,1"] --- T2G1["SC2,3"] --- T2G2["SC4,5"] --- T2G3["SC6,7"] --- T2G4["SC8,9"] --- T2G5["SC10,11"]
end
T1SC0 -.-> |CDM组0| C0A["端口1000/1001"]
T1SC1 -.-> |CDM组1| C1A["端口1002/1003"]
T2G0 -.-> |CDM组0| C0B["端口1000/1001"]
T2G3 -.-> |CDM组0| C0B
T2G1 -.-> |CDM组1| C1B["端口1002/1003"]
T2G4 -.-> |CDM组1| C1B
T2G2 -.-> |CDM组2| C2B["端口1004/1005"]
T2G5 -.-> |CDM组2| C2B
两种配置类型在最大端口数相同的开销下,呈现出截然不同的效率曲线:
| 对比维度 | Type 1 | Type 2 |
|---|---|---|
| 1层(1端口)开销 | 6 RE/PRB (4.2%) | 4 RE/PRB (2.8%) |
| 2层开销 | 6 RE/PRB (4.2%) | 4 RE/PRB (2.8%) |
| 3层开销 | 12 RE/PRB (8.3%) | 8 RE/PRB (5.6%) |
| 4层开销 | 12 RE/PRB (8.3%) | 8 RE/PRB (5.6%) |
| 5-6层开销 | 不支持 | 12 RE/PRB (8.3%) |
| 7-8层开销 | 24 RE/PRB (双符号) | 不支持(需双符号) |
| MU-MIMO容量 | 单符号最多4用户 | 单符号最多6用户 |
核心发现:Type 2在几乎所有的端口配置下开销更低或持平,唯一的劣势是单符号最大只能支持6层(Type 1双符号可达8层),但Type 2双符号可达12层。
前置DM-RS(Front-loaded DM-RS)的时域位置取决于PDSCH映射类型和DCI中的时域资源分配:
| 映射类型 | DM-RS位置(symbol l₀) | 条件 |
|---|---|---|
| Type A | l₀ = 3(默认) | 当dmrs-TypeA-Position = pos3 |
| Type A | l₀ = 2 | 当dmrs-TypeA-Position = pos2 |
| Type B | l₀ = 第一个PDSCH符号 | PDSCH起始符号即为DM-RS位置 |
Type A映射用于绝大多数常规PDSCH调度(占用整个时隙的大部分符号),DM-RS固定在symbol 2或3——这正好在CORESET之后,UE完成了PDCCH解码即可立即开始DM-RS信道估计。
Type B映射用于mini-slot调度(仅占用2-7个符号),DM-RS直接放在分配的第一个符号上,最大化利用有限的时域资源。
dmrs-AdditionalPosition参数控制额外DM-RS符号的数量,取值范围{pos0, pos1, pos2, pos3}:
gantt
title DM-RS时域位置分布(Mapping Type A, l₀=3, 单符号)
dateFormat X
axisFormat %s
section pos0
仅前置DM-RS :dm1, 3, 1
section pos1
前置DM-RS :dm2, 3, 1
附加DM-RS-1 :dm3, 11, 1
section pos2
前置DM-RS :dm4, 3, 1
附加DM-RS-1 :dm5, 7, 1
附加DM-RS-2 :dm6, 11, 1
section pos3
前置DM-RS :dm7, 3, 1
附加DM-RS-1 :dm8, 6, 1
附加DM-RS-2 :dm9, 9, 1
附加DM-RS-3 :dm10, 12, 1
附加DM-RS的时序位置由TS 38.211 Table 7.4.1.1.2-3/4严格定义,取决于PDSCH持续时间(duration)和映射类型。以Mapping Type A为例:
| 附加位置 | 单符号持续时间 | 双符号持续时间 | 典型场景 |
|---|---|---|---|
| pos0 | 仅l₀ | 仅l₀/l₀+1 | 低速(<30km/h) |
| pos1 | l₀, l₀+ld/2取整 | l₀~l₀+1, 对应位置 | 中速(30-120km/h) |
| pos2 | l₀, ~ld/3, ~2ld/3 | 对应双符号位置 | 高速(120-350km/h) |
| pos3 | l₀, ~ld/4, ~ld/2, ~3ld/4 | 对应双符号位置 | 极高速(>350km/h) |
每个附加DM-RS符号意味着PDSCH数据RE减少。以Type 1、单符号、4层(占用2个CDM组)为例:
| 配置 | DM-RS符号数 | 每时隙DM-RS RE | 数据RE损失 | 吞吐量损失 |
|---|---|---|---|---|
| pos0 | 1 | 12 × N_PRB | 基准 | 基准 |
| pos1 | 2 | 24 × N_PRB | +8.3% | ~6-8% |
| pos2 | 3 | 36 × N_PRB | +16.7% | ~12-15% |
| pos3 | 4 | 48 × N_PRB | +25.0% | ~18-22% |
但信道估计质量提升带来的MCS等级提升可以部分甚至完全补偿吞吐损失。MDPI发表的研究论文(2024年)通过仿真证明,在120km/h速度下,pos2相比pos0可实现5-15%的吞吐量增益——信道估计精度的提升允许调度器使用更高的MCS索引,从而获得更多数据RE的收益。
PDSCH的DM-RS端口分配由DCI Format 1_1或1_2中的Antenna Port(s)字段决定。该字段的比特数和含义取决于四个参数的组合:
TS 38.214定义了四张端口分配表(Table 5.1.6.2-1至5.1.6.2-4),以最常用的Type 1 + maxLength=1为例:
| DCI值 | DM-RS端口 | CDM组数(无数据) | 层数 |
|---|---|---|---|
| 0 | {1000} | 1 | 1 |
| 1 | {1001} | 1 | 1 |
| 2 | {1000, 1001} | 1 | 2 |
| 3 | {1000, 1002} | 2 | 2 |
| 4 | {1000, 1003} | 2 | 2 |
| 5 | {1000, 1001, 1002} | 2 | 3 |
| 6 | {1000, 1001, 1003} | 2 | 3 |
| 7 | {1000, 1001, 1002, 1003} | 2 | 4 |
DCI中有一个关键字段"Number of DM-RS CDM group(s) without data",它告诉UE哪些CDM组的频域资源完全被DM-RS占用,不能用于PDSCH数据传输。
这个字段的博弈含义极其精妙:
场景一:SU-MIMO单用户。当gNB只调度一个UE时,假设分配rank=2(端口1000和1001),这两个端口在同一CDM组0内通过OCC码分。此时CDM组1的子载波(奇数子载波)仍然可以传输PDSCH数据。DCI指示CDM组数=1,意味着只有CDM组0的RE不传数据。
场景二:MU-MIMO多用户。当gNB在同一时频资源上复用多个UE时,不同UE使用不同CDM组的端口。例如UE1用端口1000(CDM组0),UE2用端口1002(CDM组1)。此时DCI指示CDM组数=2,所有DM-RS RE都不能传数据。
sequenceDiagram
participant gNB
participant UE1
participant UE2
Note over gNB: MU-MIMO调度决策
gNB->>UE1: DCI 1_1 (Antenna Port=0<br/>端口{1000}, CDM组=2)
gNB->>UE2: DCI 1_1 (Antenna Port=1<br/>端口{1002}, CDM组=2)
Note over UE1: 解码CDM组0的DM-RS<br/>(偶数子载波)
Note over UE2: 解码CDM组1的DM-RS<br/>(奇数子载波)
gNB->>UE1: PDSCH数据(所有非DM-RS RE)
gNB->>UE2: PDSCH数据(相同RE,不同预编码)
Note over UE1,UE2: 各自用DM-RS估计信道<br/>消除对方干扰
| 对比维度 | Type 1 (maxLen=1) | Type 2 (maxLen=1) | Type 1 (maxLen=2) | Type 2 (maxLen=2) |
|---|---|---|---|---|
| DCI字段比特 | 3 bit (8值) | 4 bit (12值) | 4 bit (12值) | 5 bit (24值) |
| 最大层数 | 4 | 6 | 8 | 12 |
| 单CDM组层数 | 1-2 | 1-2 | 1-4 | 1-4 |
| 多CDM组组合数 | 4 | 8 | 8 | 16 |
Type 2 + maxLength=2的24种组合提供了最灵活的端口分配方案,这也是为什么mmWave场景(FR2)几乎总是使用Type 2的原因——波束赋形层数多,MU-MIMO配对灵活度高。
DM-RS序列由Gold序列生成(TS 38.211 Section 7.4.1.1.1):
r(n) = (1/√2)(1 - 2·c(2n)) + j(1/√2)(1 - 2·c(2n+1))
初始化序列号c_init的计算为:
c_init = (2^17 · (14·n_slot_f + l + 1) · (2·n_ID + 1) + 2^5 · n_ID) mod 2^31
其中关键参数:
| 参数 | 含义 | 取值 |
|---|---|---|
n_slot_f |
帧内时隙号 | 0~79(FR1) |
l |
DM-RS符号在时隙内的位置 | l₀及附加位置 |
n_ID |
DM-RS扰码ID | 0或1(由RRC配置或DCI指示) |
n_SCID(0或1)由DCI动态指示,这意味着gNB可以在不改变RRC配置的情况下动态切换DM-RS序列,这在不同时隙间提供了一定的干扰随机化能力。
在MU-MIMO场景中,配对的多个UE理想情况下应使用相同的DM-RS端口组(因为它们共享相同的时频资源和DM-RS),通过预编码矩阵区分空间层。但如果两个UE使用不同的n_SCID值,它们的DM-RS序列不同,这会带来什么影响?
实际上,在标准MU-MIMO中,配对UE应使用相同CDM组内的不同端口(OCC码分),因此n_SCID通常相同。n_SCID的切换更多用于时隙间干扰随机化——相邻小区的DM-RS使用不同的扰码ID,降低DM-RS间的互干扰。
从RRC配置到DCI动态调度的完整信令链如下:
sequenceDiagram
participant gNB
participant UE
Note over gNB,UE: Step 1: RRC配置(半静态)
gNB->>UE: RRCReconfiguration<br/>PDSCH-Config
Note right of UE: dmrs-Type = type1/type2<br/>maxLength = len1/len2<br/>dmrs-AdditionalPosition = pos0~pos3<br/>dmrs-TypeA-Position = pos2/pos3<br/>nSCID配置(0和/或1)
Note over gNB,UE: Step 2: DCI调度(动态)
gNB->>UE: DCI Format 1_1
Note right of UE: Antenna Port(s)字段<br/>→ 查表得端口分配<br/>nSCID字段<br/>→ 选择DM-RS序列<br/>Number of CDM groups without data<br/>→ 确定数据RE范围
Note over UE: Step 3: 信道估计
Note right of UE: 1. 提取DM-RS RE<br/>2. 生成理想DM-RS序列<br/>3. LS/MMSE信道估计<br/>4. 频域/时域插值
Note over UE: Step 4: PDSCH解码
Note right of UE: 1. 确定数据RE范围<br/>(排除DM-RS CDM组)<br/>2. 使用信道估计结果<br/>3. 解调解码数据
DM-RS相关的RRC参数嵌套在PDSCH-Config → DMRS-DownlinkConfig中:
DMRS-DownlinkConfig ::= SEQUENCE {
dmrs-Type ENUMERATED {type2} -- 默认type1
dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos2, pos3}
maxLength ENUMERATED {len2} -- 默认len1
dmrs-TypeA-Position ENUMERATED {pos2, pos3} -- 默认pos2
scramblingID0 INTEGER (0..65535) -- n_SCID=0时的n_ID
scramblingID1 INTEGER (0..65535) -- n_SCID=1时的n_ID
...
}
注意:dmrs-Type的ASN.1定义只列出了type2作为可选项——如果该字段缺省,则默认使用type1。这是ASN.1编码的一个常见陷阱:缺省不等于未配置,而是有明确的默认值。
在L1 MAC层抓包中,识别DM-RS配置需要关注以下信息元素:
| 层级 | 参数 | 位置 | 识别方法 |
|---|---|---|---|
| RRC | dmrs-Type | PDSCH-Config | Wireshark过滤: nr-rrc.dmrs-Type |
| RRC | maxLength | DMRS-DownlinkConfig | Wireshark过滤: nr-rrc.maxLength |
| RRC | dmrs-AdditionalPosition | DMRS-DownlinkConfig | Wireshark过滤: nr-rrc.additionalPosition |
| DCI | Antenna Port(s) | DCI Format 1_1 | 查表反推端口分配 |
| DCI | Number of CDM groups | DCI Format 1_1 | 解析DM-RS开销 |
故障一:MU-MIMO配对后BLER飙升
根因:MU-MIMO配对的两个UE被分配了同一CDM组内的端口(如UE1用1000,UE2用1001),但gNB的预编码矩阵设计不佳,导致OCC码分复用后残留干扰过大。
排查路径: 1. 检查DCI中Antenna Port字段值,确认两个UE的端口是否在不同CDM组 2. 如果在同一CDM组,检查gNB的PMI选择策略 3. 尝试切换到Type 2配置,利用更多的CDM组实现更好的端口隔离
故障二:高速场景吞吐量异常低
根因:dmrs-AdditionalPosition配置为pos0(仅前置DM-RS),高速移动下信道在时隙后半段已经发生了显著变化,单点DM-RS无法跟踪。
排查路径: 1. 检查UE速度估计算法的输出 2. 尝试将Additional Position从pos0调整到pos1或pos2 3. 对比调整前后的MCS分布和BLER曲线
故障三:FR2场景下rank始终不超过4
根因:RRC配置中dmrs-Type仍为默认的type1,单符号最多4端口,双符号最多8端口。但FR2的Massive MIMO天线阵列可以支持更高的层数。
排查路径:
1. 检查RRC配置中是否显式配置了dmrs-Type = type2
2. 检查maxLength是否为len2(双符号DM-RS)
3. Type 2 + len2可达12端口,配合64T64R天线支持12层传输
DM-RS配置的最终选择是一个多维度的博弈优化问题:
graph TD
A[DM-RS配置决策] --> B{部署场景}
B -->|FR1 sub-6| C[Type 1优先]
B -->|FR2 mmWave| D[Type 2优先]
C --> E{UE速度}
D --> F{层数需求}
E -->|低速 <30km/h| G[pos0 + len1<br/>开销~4.2%]
E -->|中速 30-120| H[pos1 + len1<br/>开销~8.3%]
E -->|高速 >120| I[pos2 + len1<br/>开销~12.5%]
F -->|≤4层 SU-MIMO| J[len1足够<br/>6端口/符号]
F -->|>4层 MU-MIMO| K[len2必要<br/>最多12端口]
以100MHz带宽、30kHz子载波间隔为例的定量分析:
| 配置 | 可用PRB | DM-RS RE/时隙 | 数据RE/时隙 | 有效吞吐量损失 |
|---|---|---|---|---|
| Type1, pos0, 1层 | 273 | 1,638 | ~155,520 | 1.0% |
| Type1, pos0, 4层 | 273 | 3,276 | ~149,214 | 2.1% |
| Type1, pos1, 4层 | 273 | 6,552 | ~145,938 | 4.2% |
| Type2, pos0, 4层 | 273 | 2,184 | ~149,214 | 1.4% |
| Type2, pos1, 4层 | 273 | 4,368 | ~147,030 | 2.9% |
| Type2, pos2, 6层 | 273 | 9,828 | ~141,570 | 6.5% |
关键结论:Type 2在所有配置下开销都低于Type 1(同层数),且支持更多层数。但Type 1在4层以下时梳状映射提供了更均匀的频域采样密度,信道估计精度可能略优。这个"开销 vs 精度"的权衡是运营商网络优化中的核心博弈点。
Q1: 为什么NR不直接全部使用Type 2,Type 1存在的意义是什么?
A: Type 1的comb-2映射在频域上采样更均匀(每2个子载波一个采样点),这对于高频选择性衰落场景(如室内密集多径)的信道插值更有利。Type 2的块状映射虽然开销更低,但频域采样集中在6个子载波的间隔内,中间区域的信道估计需要更多插值。此外,Rel-15最初设计时Type 1是默认选项,后向兼容性也是一个考虑因素。实际部署中,FR1(sub-6GHz)Type 1和Type 2的性能差异在大部分场景下并不显著。
Q2: dmrs-AdditionalPosition应该根据什么来配置?
A: 核心依据是UE的最大多普勒频移与DM-RS时域间隔的比值。经验法则:当多普勒频移 f_d × T_dmrs_interval > 0.05时(T_dmrs_interval为两个相邻DM-RS的时间间隔),应增加附加DM-RS。对应速度约为:pos0适用<30km/h,pos1适用30-120km/h,pos2适用120-350km/h,pos3适用于极高速(高铁350km/h+)。实际网络中基站通常根据UE上报的RSRP时变特性或CSI时变特性自适应调整。
Q3: maxLength=len1和len2的区别是什么,何时用双符号?
A: len1表示DM-RS只占1个OFDM符号,每个CDM组只能容纳2个端口(仅靠频域OCC区分)。len2表示DM-RS占2个连续OFDM符号,时域OCC长度从2扩展,每个CDM组可容纳4个端口。何时用双符号:需要超过4层(Type 1)或超过6层(Type 2)的SU-MIMO场景,或MU-MIMO配对层数较多时。代价是多占一个符号的数据RE。
Q4: nSCID在DCI中动态切换有什么实际意义?
A: nSCID提供了一种轻量级的干扰随机化机制。相邻小区的DM-RS在相同时频位置上可能产生干扰,不同nSCID生成不同序列,降低了DM-RS间干扰的相关性。某些厂商还利用nSCID切换来实现SFN(Single Frequency Network)场景中的DM-RS分集——不同发射点使用不同nSCID,UE可以区分来自不同TRP的DM-RS,辅助JT(Joint Transmission)的信道估计。
Q5: CDM组数(without data)设为1还是2,对UE吞吐量影响有多大?
A: 直接影响可达4-8%。以Type 1为例:1个CDM组占用6个RE/PRB(约4.2%开销),2个CDM组占用12个RE/PRB(约8.3%开销)。在SU-MIMO场景下,rank≤2时只需1个CDM组(端口1000和1001在同一CDM组内),多出的6个RE/PRB可用于数据传输。但MU-MIMO必须使用2个CDM组以上,否则无法实现不同UE的端口隔离。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
