Transform-precoded PUSCH DM-RS:两种 low-PAPR 序列、长度与端口 OCC

发布时间:2026/9/12 21:26:48

Transform-precoded PUSCH DM-RS:两种 low-PAPR 序列、长度与端口 OCC 结论先行启用 transform precoding 的 PUSCH其 DM-RS 使用的 low-PAPR 序列但并非只有一种 low-PAPR 序列。满足特定 \pi/2-BPSK 条件时使用 TS 38.211 §5.2.3 的 type 2其余情形使用 §5.2.2 的 type 1且。此外必须把“序列长度选择”和“端口 OCC/频域偏移”作为独立环节处理。本文以 3GPP TS 38.211 §5.2.2、§5.2.3、§6.4.1.1.1.2 和 §6.4.1.1.3 为依据解释 transform-precoded PUSCH DM-RS 的完整判断路径。1. 不要把三个“type”混成一个在这类问题中至少有三个不同维度名称它回答的问题关键规范位置low-PAPR sequence type 1/type 2DM-RS 的低 PAPR 基序列怎样生成TS 38.211 §5.2.2 / §5.2.3DMRS configuration type 1/type 2DM-RS 使用哪种 RE pattern、端口复用结构TS 38.211 §6.4.1.1.3DM-RS antenna port该端口取哪组频域 OCC、时域 OCC 和频域偏移TS 38.211 表 6.4.1.1.3-1 / -2本文的主角是第一项后两项决定“同一条序列如何在不同端口和 RE 上区分”。因此low-PAPR type 2 不等于 DMRS configuration type 2。delta 1 表示什么是 low-PAPR 序列定义中的长度缩放索引不是功率参数、循环移位也不是 DM-RS port。对于 transform-precoded PUSCH DM-RS§6.4.1.1.1.2 将它固定为因此因为 NR 每个 RB 有个子载波令序列长度变为每 RB 6 个样点。它与 transform-precoded PUSCH DM-RS 的 Comb-2 映射相匹配DM-RS 占用隔一个取一个的子载波位置所以只需生成分配总子载波数一半长度的 low-PAPR 序列。因此还要加上一条本篇讨论范围内的约束对启用 transform precoding 的 PUSCH DM-RS映射采用 Comb-2即 DM-RS configuration type 1 的 1/2 频域密度若dmrs-Typetype2则不进入本篇的 transform-precoded PUSCH DM-RS 链路。换言之低 PAPR 序列仍可在 sequence type 1 与 sequence type 2 之间选择但 RE 映射不是 configuration type 2。2. 先判定什么时候会有两种 low-PAPR 序列若 PUSCH 启用 transform precodingTS 38.211 §6.4.1.1.1.2 规定其 DM-RS 从下列 low-PAPR 序列中产生具体分支如下。分支 Alow-PAPR sequence type 2§5.2.3同时满足以下条件时DM-RS 采用 §5.2.3 的low-PAPR sequence type 2高层参数dmrs-UplinkTransformPrecoding已配置PUSCH 采用 \pi/2-BPSK 调制本次 PUSCH 不是 Msg3本次传输不是由 common search space 中 DCI format 0_0 调度。这时 c_{\mathrm{init}} 仍然参与相关伪随机序列的初始化可由pi2BPSK-ScramblingID0/1给出未配置时按规范回退到小区物理层身份相关值。序列组号使用其中是组跳频项的来源随上述高层配置及调度场景而定。组跳频与序列跳频分别影响组号 u 和组内序列号 v规范不要求 UE 支持两者同时启用。分支 Blow-PAPR sequence type 1§5.2.2只要没有同时满足分支 A 的全部条件DM-RS 走 §5.2.2 的low-PAPR sequence type 1并且在这一 PUSCH DM-RS 分支中这句话非常关键type 1 在通用定义中允许通过循环移位从基序列派生多个序列但当前讨论的 transform-precoded PUSCH DM-RS 的“其他情形”被 §6.4.1.1.1.2 明确限定为。选择逻辑总结可以把选择逻辑记为transform precoding enabled? └─ 是δ 1 ├─ dmrs-UplinkTransformPrecoding 已配置 │ 且 π/2-BPSK │ 且非 Msg3 │ 且非 common-SS DCI 0_0 调度 │ └─ low-PAPR sequence type 238.211 §5.2.3 └─ 其他所有情形 └─ low-PAPR sequence type 138.211 §5.2.2α03. 为什么“不同长度对应不同序列”必须单独处理对于 transform-precoded PUSCH DM-RSlow-PAPR 序列长度为其中 NR 的而在这条 PUSCH DM-RS 链中。例如PUSCH 带宽DM-RS low-PAPR 长度 M1 RB162 RB2124 RB4245 RB5306 RB63620 RB20120这里的“不同长度对应不同序列”不是指把一条长序列简单截断标准针对长度区间规定了不同的基序列构造。具体设计如下。M对应 PUSCH 分配type 1TS 38.211 §5.2.2type 2TS 38.211 §5.2.361 RB短序列表 5.2.2.2-1 给出各组号的相位参数 \phi_i。短序列表 5.2.3.2-1 直接给出相位参数 \phi_i。122 RB短序列表 5.2.2.2-2 给出相位参数 \phi_i。短序列表 5.2.3.2-2 给出二进制序列 b_i再作 \pi/2-BPSK。183 RB短序列表 5.2.2.2-3 给出相位参数 \phi_i。短序列表 5.2.3.2-3 给出 b_i再作 \pi/2-BPSK。244 RB短序列表 5.2.2.2-4 给出相位参数 \phi_i。短序列表 5.2.3.2-4 给出 b_i再作 \pi/2-BPSK。305 RB仍属于 M36 的短长度区间走 §5.2.2.2 中为该长度给出的专门定义。已进入 M\ge30 分支伪随机序列 c_i 经 \pi/2-BPSK 后按 §5.2.3.1 的 M 点变换构造基序列。36,42,48,\ldots6,7,8,\ldots RB长序列按 §5.2.2.1 选择满足条件的最大素数长度再用根序列构造并做循环扩展。继续使用 M\ge30 分支c_i → \pi/2-BPSK → M 点变换。例如当带宽从 4 RB 增至 5 RB 时长度从 M24 变为 M30type 2 会从“表驱动的短序列”切换到“伪随机 \pi/2-BPSK 加 M 点变换”的通用构造这不是多补 6 个样点而是生成机制本身切换。同理type 1 在 M36 才从短序列定义切换到基于最大素数长度的根序列构造。因此写仿真或协议代码时应当先计算 M再进入 type 1/type 2 各自的长度分支。不能只实现“一个低 PAPR 公式”然后对所有 RB 数复用否则序列的相位集合、相关特性和低 PAPR 设计目标都会偏离规范。4. 不同天线端口为什么对应不同 OCC 序列生成 r(n) 后DM-RS 还没有完成端口区分。TS 38.211 §6.4.1.1.3 对 transform-precoded PUSCH 给出如下映射骨架其中p 是 DM-RS antenna port是频域 OCC是时域 OCC是该端口/码分复用组对应的频域偏移是前文选出的 low-PAPR DM-RS 序列。规范的表 6.4.1.1.3-1configuration type 1和表 6.4.1.1.3-2configuration type 2对每个可用端口列出 CDM group、\Delta、w_f 和 w_t。因此不同端口不仅可能占用不同的频域偏移也会使用不同的 OCC 符号模式。例如频域 OCC 可以出现 [1,1,1,1]、[1,-1,1,-1]也可以出现含 j 的复数正交码时域 OCC 则可为 [1,1] 或 [1,-1]。这样做的意义是即便若干端口在同一 DM-RS OFDM symbol、相同或部分重叠的频域结构中发送gNB 仍可利用已知的 w_f、w_t 与 \Delta 将端口分离并分别做信道估计。注意端口可否被配置、可否并发使用以及最终的预编码矩阵仍要以 TS 38.214 的调度与端口配置约束为准。这里的 OCC 表描述的是 DM-RS 端口正交化规则不等价于“任意端口组合都可用于任意 transform-precoded PUSCH”。5. 从配置到 RE 的正确实现顺序推荐把实现和排障按下列顺序拆开读取 PUSCH 是否启用 transform precoding固定 delta1由 RB 数计算长度判断是否满足 \pi/2-BPSK 的 type 2 条件否则选择 type 1并设置 alpha0按所选 type 的长度分支生成从 DM-RS port 与 DMRS configuration type 的对应表取出 w_f、w_t、\Delta按映射式生成再进入后续预编码和物理资源映射。最常见的错误有三个把DMRS configuration type 2误当作low-PAPR sequence type 2忽略 RB 数变化导致的 M 变化错误复用不同长度的基序列为所有 DM-RS port 使用同一组 w_f、w_t 和 \Delta从而破坏端口正交性。6. 小结对 transform-precoded PUSCH DM-RS可以用一句话记住先由高层配置、调制方式和调度场景在 type 1/type 2 两个 low-PAPR 家族中选序列再由 RB 数选长度构造最后按端口表施加对应的频域 OCC、时域 OCC 和频域偏移。这三个步骤缺一不可序列家族保证波形与调制路径正确长度分支保证短/长资源分配下的序列定义正确OCC 与 \Delta 则保证端口可分离。参考规范3GPP TS 38.211,NR; Physical channels and modulation§5.2.2、§5.2.3、§6.4.1.1.1.2、§6.4.1.1.33GPP TS 38.214,NR; Physical layer procedures for dataPUSCH transform precoding、DM-RS port 和资源映射相关过程3GPP TS 38.331,NR; Radio Resource Control (RRC) protocol specificationDMRS-UplinkConfig等高层配置。本文面向理解和实现拆解。协议实现、一致性测试或仿真应以目标 Release 对应的正式规范版本及其表格为准。
延伸阅读

更多相关文章

2026/9/9 18:27:09

读《我为什么离开 Youtube》有感

偶然看到了一个篇文章《我为什么离开 Youtube》,作者是 Zhachory Volker,文章主要讲的是一个在 YouTube 工作多年的人,为什么决定离开,以及他对大厂职业晋升体系的一次反思。 文章还蛮长的,但核心是在说,不…

2026/9/12 21:26:05

Flask+Bootstrap博客系统:Python全栈入门最佳实践

简介:这是一套基于Flask后端框架与Bootstrap前端库构建的轻量级博客系统开源实现,面向Python Web开发初学者及全栈入门者,帮助快速掌握MVC结构、数据库操作、用户认证与响应式页面开发等核心实践能力。资源共70个文件,压缩包仅463…

2026/9/12 21:26:05

Android四合一应用源码解析:闹钟、秒表与自定义滚轮实现

简介:面向Android毕业设计及移动开发初学者的四合一应用源码包,完整集成闹钟、秒表、倒计时与时钟功能,覆盖界面布局、后台服务、广播接收等典型开发路径,适合作为课程设计或论文配套项目。压缩包共335个文件,大小仅4.…

2026/9/12 21:26:05

Java开发者转型Agent开发与大模型应用指南

1. 为什么Java开发者需要关注Agent开发与大模型最近三年,大模型技术以惊人的速度渗透到各个领域。作为Java开发者,我们正站在技术变革的十字路口。传统Java开发虽然仍是企业级应用的中流砥柱,但大模型带来的智能化浪潮正在重塑整个技术栈。Ag…

2026/9/12 21:26:05

DINOv2 实战指南:从 3 行代码到图像检索与微调

DINOv2 实战指南:从 3 行代码到图像检索与微调 【免费下载链接】dinov2 PyTorch code and models for the DINOv2 self-supervised learning method. 项目地址: https://gitcode.com/GitHub_Trending/di/dinov2 DINOv2 是 Meta AI 的自监督视觉特征提取框架&…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/12 10:09:03

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码