当前位置: 首页 > news >正文

5G NR PUSCH时域资源实战:从DCI调度到Configured Grant,手把手教你读懂配置表

5G NR PUSCH时域资源实战:从DCI调度到Configured Grant的深度解析

引言:为什么PUSCH时域资源分配如此重要?

在5G NR系统中,物理上行共享信道(PUSCH)承载着用户设备(UE)向基站发送的关键数据。时域资源分配的合理配置直接影响着上行传输的效率、可靠性和时延性能。与4G LTE相比,5G NR在PUSCH时域资源分配上引入了更多灵活性和复杂性,包括多种映射类型(Mapping Type)、重复传输机制(Repetition Type)以及多时隙TB处理(TBoMS)等新特性。

对于5G协议栈开发工程师和网络优化人员而言,深入理解PUSCH时域资源分配机制至关重要。这不仅关系到系统性能优化,还直接影响着URLLC(超可靠低时延通信)和mMTC(海量机器类通信)等关键场景的实现。本文将从一个实际配置案例出发,系统解析PUSCH时域资源分配表(pusch-TimeDomainAllocationList)中各参数的实际含义和配置逻辑,并对比不同调度方式下的应用差异。

1. PUSCH时域资源分配基础:核心参数解析

1.1 映射类型(Mapping Type)的选择与影响

5G NR定义了两种PUSCH映射类型,直接影响着资源分配的灵活性:

Mapping Type A特点

  • 起始符号必须从时隙的第一个符号(符号0)开始
  • 最小符号长度为4个符号
  • 适用于对时延要求不严格的eMBB业务

Mapping Type B特点

  • 起始符号可以从时隙内任意符号开始
  • 最小符号长度仅为1个符号
  • 支持更灵活的微时隙(mini-slot)调度
  • 特别适合URLLC等低时延场景

实际配置示例:

Mapping Type A典型配置: startSymbolAndLength = 0 (SLIV=0) → S=0, L=14 (全时隙占用) Mapping Type B典型配置: startSymbolAndLength = 32 (SLIV=32) → S=4, L=4 (从符号4开始,占用4个符号)

1.2 重复传输类型(Repetition Type)的配置策略

5G NR支持两种PUSCH重复传输机制,用于增强覆盖和可靠性:

Repetition Type A(基于时隙的重复)

  • 每个重复占用完整时隙
  • 所有重复使用相同的符号分配(相同的S和L)
  • 每次重复使用不同的RV版本
  • 适用于中低速移动场景

Repetition Type B(基于符号的重复)

  • 支持更细粒度的符号级重复
  • 每次重复可以跨越时隙边界
  • 支持名义重复(Nominal)和实际重复(Actual)的概念
  • 特别适合URLLC的超低时延需求

配置对比表:

特性Repetition Type ARepetition Type B
时间粒度时隙级符号级
最小重复单元1个时隙1个符号
适用场景eMBB、mMTCURLLC
调度灵活性较低较高
时延性能一般优秀

1.3 时隙偏移K2的计算与优化

K2参数定义了PUSCH传输相对于调度DCI的时隙偏移,其计算需要考虑多种因素:

基本计算公式: Ks = floor(n * 2^μ_PUSCH / 2^μ_PDCCH) + K2 + K_offset 其中: - n:调度DCI所在的时隙号 - μ_PUSCH/μ_PDCCH:PUSCH/PDCCH的子载波间隔配置 - K_offset:CA场景下的额外偏移量

实际工程中需要注意:

  • 不同子载波间隔(SCS)下的K2值需要转换
  • 载波聚合(CA)场景需要考虑跨载波调度偏移
  • 对于Configured Grant Type 2,首次传输的K2由激活DCI决定

2. 动态调度PUSCH的时域资源分配实战

2.1 DCI格式与资源分配表的对应关系

不同DCI格式使用不同的时域资源分配表:

DCI格式0_0

  • 仅支持R15版本的时域资源分配表
  • 不支持重复传输和TBoMS
  • 适用于简单的调度场景

DCI格式0_1/0_2

  • 支持R15/R16增强的时域资源分配表
  • 支持重复传输和TBoMS
  • 支持一个DCI调度多个PUSCH
  • 适用于复杂的高级调度场景

配置示例:

// R16时域资源分配表示例 pusch-TimeDomainAllocationListDCI-0-1-r16 ::= SEQUENCE { k2 INTEGER(0..31), mappingType ENUMERATED {typeA, typeB}, startSymbolAndLength INTEGER(0..127), numberOfRepetitions ENUMERATED {n1, n2, n4, n8} OPTIONAL, numberOfSlotsTBoMS ENUMERATED {n1, n2, n4, n8, n16, n32} OPTIONAL }

2.2 时域资源分配表的实际解码过程

时域资源分配表的解码流程:

  1. UE根据DCI格式确定使用的资源分配表
  2. 通过DCI中的"Time domain resource assignment"字段获取行索引
  3. 从对应行中解析出各参数:
    • k2:时隙偏移
    • mappingType:映射类型
    • startSymbolAndLength:起始符号和长度
    • numberOfRepetitions:重复次数(可选)
    • numberOfSlotsTBoMS:TBoMS时隙数(可选)

关键点

  • 对于Repetition Type B,startSymbol和length直接给出
  • 对于Repetition Type A,需要通过SLIV公式计算S和L

SLIV计算公式:

if (L-1) ≤ 7 then SLIV = 14 × (L-1) + S else SLIV = 14 × (14 - L + 1) + (14 - 1 - S) end if

2.3 TBoMS配置与重复传输的协同设计

TB processing over multi-slot(TBoMS)是R16引入的重要特性:

TBoMS核心特点

  • 一个TB块跨越多个时隙传输
  • 所有时隙传输相同的RV版本
  • 与Repetition Type A可以同时配置
  • 必须满足N×K ≤ 32的约束条件

实际配置案例:

// 示例:配置TBoMS N=4,重复K=8 pusch-TimeDomainAllocationListDCI-0-1-r16 ::= { k2 = 2, mappingType = typeA, startSymbolAndLength = 0, // S=0, L=14 numberOfRepetitions = n8, numberOfSlotsTBoMS = n4 }

工程注意事项

  • TBoMS传输的TB块大小受限于3840或8448比特
  • 每个CB块独立进行速率匹配
  • 需要特别关注跨时隙的速率匹配连续性

3. 随机接入过程中的PUSCH资源分配

3.1 4步随机接入中的MSG3 PUSCH

MSG3 PUSCH的时域资源配置特点:

  • 初传由RAR UL grant调度
  • 重传由TC-RNTI加扰的DCI 0_0调度
  • 仅支持Repetition Type A
  • 重复次数K由MCS字段的2个最高有效位(MSB)指示

MSG3重复传输配置流程:

1. 基站通过SIB1或RRC专用信令配置numberOfMsg3-RepetitionList 2. UE根据RAR中的MCS字段MSB选择重复次数 3. 在连续N_PUSCH_repeat个时隙中传输PUSCH 4. 对于TDD系统,跳过包含下行符号或SSB符号的时隙

3.2 2步随机接入中的MSGA PUSCH

MSGA PUSCH的关键配置参数:

参数说明示例值
msgA-PUSCH-TimeDomainOffset相对于PRACH的时隙偏移2
nrofSlotsMsgA-PUSCH连续传输的时隙数1
nrofMsgA-PO-perSlot每时隙PO数2
startSymbolAndLengthMsgA-PO起始符号和长度32 (S=4,L=4)

资源配置特点

  • 时频资源通过msgA-PUSCH-Config半静态配置
  • 支持时域和频域的多路复用
  • PRACH preamble与PUSCH occasion有固定映射关系
  • 支持时隙内频率跳变(intra-slot frequency hopping)

4. Configured Grant PUSCH的时域资源管理

4.1 Configured Grant Type1的资源配置

Type1 CG PUSCH的核心特点:

  • 完全通过RRC信令配置(rrc-ConfiguredUplinkGrant)
  • 无需DCI激活
  • 支持Repetition Type A/B
  • 时域资源分配表选择规则与DCI 0_0相同

典型配置示例:

configuredGrantConfig ::= { configuredGrantType = type1, rrc-ConfiguredUplinkGrant ::= { timeDomainAllocation = 1, repK = n4, pusch-RepTypeIndicator = pusch-RepTypeA }, ... }

4.2 Configured Grant Type2的灵活调度

Type2 CG PUSCH的关键特性:

  • 通过RRC配置+DCI激活的混合方式
  • 支持动态重配置
  • 支持TBoMS和重复传输
  • 首次传输的K2由激活DCI决定

激活流程:

1. 基站通过RRC配置configuredGrantConfig 2. UE接收CS-RNTI加扰的激活DCI 3. 从DCI指示的时域资源分配表行获取参数 4. 按照配置的周期性和偏移进行周期性传输

4.3 Configured Grant的性能优化建议

基于实际部署经验,我们建议:

  1. URLLC场景

    • 使用Type2 CG+Repetition Type B组合
    • 配置适当的K_offset保证传输可靠性
    • 启用invalidSymbolPattern避免符号冲突
  2. mMTC场景

    • 采用Type1 CG+Repetition Type A组合
    • 合理设置repK值增强覆盖
    • 考虑TBoMS降低信令开销
  3. eMBB场景

    • 根据业务周期选择CG类型
    • 优化timeDomainAllocation提升资源利用率
    • 动态调整SCS和CP配置

5. 跨场景时域资源分配对比与最佳实践

5.1 不同调度方式的参数支持对比

特性动态调度MSG3 PUSCHConfigured Grant
映射类型A/BA/BA/B
重复类型A/B仅AA/B
TBoMS支持不支持Type2支持
K2配置动态固定Type1无,Type2动态
资源分配表多套可选仅Default A或专用表与DCI类型相关

5.2 常见配置问题排查指南

问题1:PUSCH传输时机不正确

  • 检查K2计算是否考虑SCS差异
  • 验证CA场景下的slotOffset配置
  • 确认TDD上下行配比是否冲突

问题2:重复传输次数不符预期

  • 检查numberOfRepetitions配置
  • 确认Repetition Type是否匹配
  • 验证TDD系统中可用时隙计算

问题3:TBoMS传输失败

  • 确保N×K ≤ 32
  • 检查跨时隙的速率匹配连续性
  • 验证TB大小是否超出限制

5.3 版本兼容性注意事项

  • R15 UE不支持Repetition Type B和TBoMS
  • R16引入的AvailableSlotCounting需要终端支持
  • R17增强的RedCap特性可能影响时隙计算
  • 前向兼容设计时需考虑默认表(Default A)的支持

在实际网络部署中,我们曾遇到一个典型案例:某厂商设备因未正确处理TBoMS的速率匹配连续性,导致在高负载场景下出现系统性传输失败。通过抓包分析和信令跟踪,最终定位到是跨时隙的k0计算存在偏差,通过补丁更新解决了该问题。

http://www.jsqmd.com/news/995972/

相关文章:

  • Cortex-M3/M4开发避坑指南:如何配置SCB->SHCSR使能BusFault、MemFault和UsageFault
  • 2026年当下青阳九华山家常菜馆酒楼推荐与避坑指南 - 品牌鉴赏官2026
  • 量子Walsh-Hadamard变换在信号频带检测中的应用
  • 人工智能导论——从迷宫到现实:搜索算法的核心思想与应用演进
  • 从‘并联支路’到单个元件:Simulink电力系统模块库(Specialized Power Systems)的元件使用心法
  • 3步构建企业级数据可视化大屏的完整解决方案
  • 别再死记1/jωC了!从电容充电放电的动画,带你直观理解容抗公式的物理意义
  • 硬件工程师避坑指南:芯片选型时,I/O Pad和封装参数你真的看对了吗?
  • 从数据手册到实际电路:手把手教你解读运放Vos和Ios参数,并完成精准测量与补偿
  • 解决 Alpine Linux 虚拟机从 VirtualBox 迁移到 VMware 的内核崩溃问题
  • Pentaho Kettle 11.x 架构深度解析:高性能ETL引擎的并发处理与内存优化策略
  • 5G-A+边缘计算:低延迟应用爆发的真正推手
  • 从收音机到手机:聊聊BJT这个‘老古董’是怎么在模拟电路里扛起放大重任的
  • 2026年炉渣钢渣行业深度分析:专业厂家如何选?上阳建材、天娇包装、木林森等企业实力对比 - 优质品牌商家
  • 鸿蒙导航意图 的 Flutter 侧封装思路
  • 2026重庆家装设计力榜单:十大优质设计装修公司评测与消费参考 - 互联网科技品牌测评
  • Java 创建对象有几种方式
  • 光刻、蚀刻、离子注入… 芯片厂里这些‘黑话’到底在干嘛?5分钟带你搞懂
  • 从‘踩方格’到‘递推思维’:一个经典OJ题如何帮你彻底理解动态规划的状态转移
  • bitsandbytes CUDA版本不兼容问题终极解决方案指南
  • 进阶RAG实战:RAG吃透80%基础场景,Graph RAG攻克20%复杂业务瓶颈
  • RIGOL示波器DS6104背后接口实测:触发信号延迟40ns?输出阻抗到底是多少?
  • 纸盒定做不用愁起订量,小批量即可定制,具备迪士尼认证 + 环保资质,全程免费设计方案,免费寄送样品核验品质
  • 字节AI布局深潜:从豆包到Trae,重构开发者生态
  • MCU固件OTA升级必备:BIN文件自动补0xFF对齐工具(含批处理+源码)
  • FPGA数据流设计优化:深入对比Standard与FWFT FIFO时序,并手把手实现一个零延迟读转换桥接模块
  • 深入浅出:图解5G NR PUSCH的Repetition Type A/B与TBoMS,到底该怎么选?
  • 苹果AirTag、小米UWB技术背后的秘密:详解802.15.4z新波形如何提升定位精度与抗干扰
  • Java毕设选题推荐:基于SpringCloud的美食分享交流平台内容发布、互动交流、搜索推荐等功能【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 3个步骤掌握ipatool:在任意系统下载iOS应用的终极方案