1. PUSCH DMRS基础概念与核心作用
在5G NR上行链路中,物理上行共享信道(PUSCH)的解调参考信号(DMRS)就像是快递包裹上的条形码。想象一下,当基站收到来自多个用户设备(UE)的上行数据时,就像快递分拣员面对一堆没有标签的包裹——完全无法区分谁寄了什么。DMRS正是解决这个问题的关键设计,它为每个UE的上行数据"贴"上专属标识,帮助基站准确识别和解调数据。
实际工程中遇到过这样的案例:某运营商初期部署时,由于DMRS配置不当导致上行误码率飙升30%。后来排查发现是Transform Precoding模式下的序列生成规则与标准不符。这个教训让我深刻理解到,DMRS虽然只占很少的资源,但配置错误会直接毁掉整个上行链路的通信质量。
DMRS的核心参数包括三个维度:
- 序列生成:决定信号的"指纹特征"
- 频域位置:确定信号在频率轴上的分布
- 时域位置:安排信号在时间轴上的出现时机
这三个维度的组合,构成了5G NR中千变万化的DMRS配置方案。接下来我们就拆解每种配置的技术细节。
2. Transform Precoding模式下的序列生成
2.1 Transform Precoding禁用场景
当Transform Precoding关闭时(对应CP-OFDM波形),PUSCH DMRS的序列生成方式与下行PDSCH保持高度一致。这种设计降低了实现复杂度,但配置规则却相当精细:
# 伪代码示例:序列初始化ID获取逻辑 def get_scrambling_id(): if 调度类型 == "DCI 0_1": if RRC配置了scramblingID0/1: return RRC配置值 else: return 小区ID elif 调度类型 == "Type1 Configured Grant": if RRC配置了dmrs-SeqInitialization: return RRC配置值 else: return 小区ID elif 调度类型 == "DCI 0_0": return 0 else: # 包括Type0 CG等场景 return 小区ID实测中发现一个易错点:使用CS-RNTI加扰的DCI 0_0调度时,虽然属于"其它场景",但初始化ID固定为0而非小区ID。某次现场问题就是因为这个细节导致多个UE的DMRS冲突。
2.2 Transform Precoding启用场景
当采用DFT-s-OFDM波形(Transform Precoding开启)时,序列生成规则完全不同。这时需要特别关注跳频参数的影响:
- RAR调度或TC-RNTI加扰的DCI 0_0:直接使用groupHoppingEnabledTransformPrecoding参数
- 其他PUSCH传输:当hopping参数未配置时,会回退到MSG3的跳频模式
这里有个重要限制:协议明确规定UE不应同时启用groupHopping和sequenceHopping。我在某厂商的测试中就遇到过两者同时使能导致UE无法接入的案例,后来通过RRC重配置才解决。
3. 频域资源配置的两种类型
3.1 Configuration Type 1详解
这是最常用的频域配置模式,其核心特征是采用"梳齿状"结构。具体实现时:
- 每个RB内包含6个DMRS子载波
- 通过循环移位实现多用户复用
- 参考点k的计算公式为:
其中Δ取决于Transform Precoding状态k = 4n + 2k' + Δ
在毫米波频段测试时发现,Type 1配置对相位噪声更鲁棒,这是因为它提供了更密集的频率域参考。下表对比了两种配置的关键参数:
| 参数 | Type 1 | Type 2 |
|---|---|---|
| 每RB子载波数 | 6 | 4 |
| 最大正交端口数 | 4 | 6 |
| 参考信号密度 | 较高 | 较低 |
| 适用场景 | 高速移动 | 多用户复用 |
3.2 Configuration Type 2的特殊性
Type 2配置虽然使用较少,但在特定场景下优势明显:
- 每个RB只有4个DMRS子载波
- 采用"交错式"分布模式
- 支持更多正交端口(最多6个)
在Massive MIMO测试中,当需要支持超过4层的上行传输时,就必须使用Type 2配置。但要注意其参考点k的计算与Type 1不同,特别是在Transform Precoding启用时会有额外偏移量。
4. 时域符号位置的确定逻辑
4.1 Mapping Type A与B的差异
时域配置首先需要区分两种映射类型:
- Type A:必须从时隙的第一个符号开始
- Type B:起始位置灵活,适用于低时延业务
通过实测数据发现,Type A在小区边缘的性能更稳定,而Type B更适合URLLC业务。下表是某次外场测试的结果对比:
| 指标 | Mapping Type A | Mapping Type B |
|---|---|---|
| 解调成功率 | 98.7% | 95.2% |
| 时延 | 2.3ms | 0.8ms |
| 适用场景 | eMBB | URLLC |
4.2 单双符号配置策略
DMRS在时域上可以是单个或双符号,这由maxLength参数决定:
- 未配置或设为len1:强制单符号
- 设为len2:通过DCI动态指示
在载波聚合场景下,建议对不同CC采用不同的maxLength配置。例如在主CC使用双符号保证可靠性,在辅CC使用单符号提升效率。
跳频时的配置更为复杂,需要根据38.211表6.4.1.1.3-3精确计算符号位置。曾经遇到过一个坑:当PUSCH符号数=4且mappingTypeA时,必须设置dmrs-TypeA-Position='pos2',否则会导致DMRS与数据冲突。
5. 实际配置中的交互影响
5.1 与跳频的协同设计
当启用频域跳频时,DMRS的位置需要特殊处理:
- 第一跳使用常规配置
- 第二跳需要根据跳频偏移量调整
- 必须保证两跳的DMRS不重叠
在某次海面覆盖优化中,由于未考虑跳频影响,导致DMRS在第二跳时与SRS碰撞。后来通过调整跳频偏移量解决了这个问题。
5.2 多用户复用场景
通过组合不同的DMRS参数,可以实现多用户复用:
- 频分:使用不同的Configuration Type
- 码分:应用不同的循环移位
- 时分:安排在不同的符号位置
实验室测试表明,采用Type2配置+码分复用可以支持12个用户同时传输。但要注意循环移位的最小间隔要求,否则会导致信道估计性能下降。