首页 › ran › NR PUCCH格式选择与UCI复用机制

NR PUCCH五格式选择决策与UCI三级复用博弈

一、为什么PUCCH需要五种格式

5G NR的设计哲学与LTE截然不同——LTE仅定义了Format 1/1a/1b/2/2a/2b/3七种子格式,全部是长格式(1ms子帧边界传输)。NR面对的场景远比LTE复杂:

这五种格式不是随意定义的,而是沿两个维度交叉设计的结果:

graph TB
    A[UCI载荷大小] --> B["≤2 bit"]
    A --> C[">2 bit"]
    B --> D{"符号数"}
    C --> E{"符号数"}
    D -->|"1-2符号"| F["Format 0<br/>序列选择/调制"]
    D -->|"4-14符号"| G["Format 1<br/>OCC扩频+序列调制"]
    E -->|"1-2符号"| H["Format 2<br/>OFDM DMRS+数据复用"]
    E -->|"4-14符号"| I{"是否需要UE复用"}
    I -->|"单UE"| J["Format 3<br/>OFDM 无扩频"]
    I -->|"多UE"| K["Format 4<br/>Block-wise扩频"]

    style F fill:#4CAF50,color:#fff
    style G fill:#2196F3,color:#fff
    style H fill:#FF9800,color:#fff
    style J fill:#9C27B0,color:#fff
    style K fill:#F44336,color:#fff

TS 38.213 Section 9.2.1给出了明确的格式选择判定规则:UE首先根据UCI比特数确定PUCCH资源集索引,然后在对应资源集中根据DCI的PUCCH Resource Indicator字段选择具体PUCCH资源,资源的格式由RRC配置隐含确定。

二、PUCCH资源集三级配置体系

2.1 资源集划分逻辑

3GPP定义了最多4个PUCCH Resource Set,按UCI载荷大小分级:

资源集编号 UCI载荷范围 最大资源数 典型格式 配置参数
Set 0 ≤2 bit 32 F0/F1 无maxPayloadSize
Set 1 >2 bit 且 ≤N₁ 32 F2/F3/F4 maxPayloadSize=N₁
Set 2 >N₁ 且 ≤N₂ 32 F2/F3 maxPayloadSize=N₂
Set 3 >N₂ 且 ≤1706 32 F2/F3 maxPayloadSize=1706

关键设计意图:Set 0是"轻量通道",承载最关键的HARQ-ACK和SR反馈(1-2bit),gNB可以为大量UE配置不同的Format 0/1资源实现复用。Set 1-3是"大容量通道",当聚合载波数增多、码本变大时自动升级到更高阶资源集。

Set 0的UCI比特数上限固定为2,不需要maxPayloadSize参数(TS 38.331 PUCCH-Config IE定义)。Set 1-3通过maxPayloadSize显式声明各自承载的比特上限。

2.2 RRC配置全链路

PUCCH的完整配置链路涉及三个层次的IE嵌套:

graph TD
    A["BWP-Config<br/>(TS 38.331)"] --> B["PUCCH-Config<br/>per BWP"]
    B --> C["resourceSetToAddModList<br/>最多4个PUCCH-ResourceSet"]
    B --> D["resourceToAddModList<br/>最多128个PUCCH-Resource"]
    B --> E["spatialRelationInfoToAddModList<br/>最多8个Spatial Relation"]
    C --> F["PUCCH-ResourceSet"]
    F --> G["resourceIdList<br/>引用PUCCH-Resource ID"]
    F --> H["maxPayloadSize<br/>UCI比特上限"]
    D --> I["PUCCH-Resource"]
    I --> J["formatType: F0/F1/F2/F3/F4"]
    I --> K["startingPRB / nrofPRBs"]
    I --> L["startingSymbolIndex / nrofSymbols"]
    I --> M["initialCyclicShift / timeDomainOCC"]

    style C fill:#E3F2FD
    style D fill:#FFF3E0
    style E fill:#E8F5E9

一个典型的PUCCH-Resource配置示例(TS 38.331 ASN.1):

PUCCH-Resource ::= SEQUENCE {
    pucch-ResourceId          PUCCH-ResourceId,
    startingPRB               INTEGER (0..maxNrofPhysicalResourceBlocks-1),
    secondHopPRB              INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,
    format                    ENUMERATED {format0, format1, format2, format3, format4},
    -- Format 0/1 specific
    initialCyclicShift        INTEGER (0..11)     OPTIONAL,  -- m0
    nrofSymbols               INTEGER (1..2)      OPTIONAL,  -- Format 0/2
    startingSymbolIndex       INTEGER (0..13)     OPTIONAL,
    -- Format 1 specific
    timeDomainOCC             INTEGER (0..6)      OPTIONAL,
    -- Format 2/3 specific
    nrofPRBs                  INTEGER (1..16)     OPTIONAL,
    -- Format 4 specific
    occ-Length                ENUMERATED {n1,n2,n4} OPTIONAL,
    occ-Index                 INTEGER (0..n4-1)   OPTIONAL
}

2.3 DCI动态指示PUCCH资源

gNB在调度PDSCH的DCI Format 1_0/1_1中通过PUCCH Resource Indicator (PRI) 字段动态指示UE使用哪个PUCCH资源。

PRI字段比特数 = ⌈log₂(N_PUCCH)⌉,其中N_PUCCH是当前激活资源集中的PUCCH资源数。

决策时序如下:

sequenceDiagram
    participant gNB
    participant UE
    Note over UE: Step 1: 计算UCI总比特数<br/>O_ACK + O_SR + O_CSI
    gNB->>UE: DCI 1_1 (含PRI=3, K1=4)
    Note over UE: Step 2: 根据UCI比特数<br/>确定Resource Set索引
    Note over UE: Step 3: 在对应Resource Set中<br/>PRI=3 → 第4个PUCCH Resource
    Note over UE: Step 4: 查询PUCCH-Resource配置<br/>确定Format/PRB/Symbol
    Note over UE: Step 5: 确定PUCCH发送时机<br/>slot n + K1
    UE->>gNB: PUCCH (指定格式/资源)

运营商成本博弈点:PUCCH资源越多,PRI字段越宽,DCI开销越大。运营商需要在"PUCCH灵活性"和"DCI开销"之间取舍。实际部署中,Set 0通常配置8-16个资源(PRI=3-4bit),Set 1配置4-8个资源。

三、五种格式物理层结构深度对比

3.1 Format 0:序列选择的极简设计

Format 0是NR独有的创新设计——不传任何数据符号,UCI信息完全通过序列选择编码。

参数 取值
符号数 1或2
PRB数 1
DMRS 无
UCI容量 1-2 bit
序列长度 12(1PRB的子载波数)
多UE复用 通过不同initialCyclicShift(最多12个)

HARQ-ACK到序列循环移位的映射(TS 38.211 Table 9.2.3-3/4):

HARQ-ACK比特 值 m_cs(循环移位索引)
1 bit NACK m₀
1 bit ACK m₀ + 6
2 bit NACK/NACK m₀
2 bit ACK/NACK m₀ + 3
2 bit NACK/ACK m₀ + 6
2 bit ACK/ACK m₀ + 9

SR复用机制:当HARQ-ACK和Positive SR同时发送时,Format 0通过选择不同的循环移位来区分: - Negative SR + HARQ-ACK:使用上表映射 - Positive SR + HARQ-ACK:循环移位索引额外偏移 Δ_shift = N_CS,其中N_CS由高层参数配置

3.2 Format 2:短格式大容量管道

Format 2是短PUCCH中唯一支持大UCI载荷的格式,采用OFDM结构,DMRS和数据在不同子载波上频分复用。

graph TB
    subgraph "Format 2 时频结构(2符号示例)"
        direction LR
        subgraph "Symbol 0"
            D1["DMRS: 每4个子载波插入1个DMRS<br/>Pattern: DMRS-Data-Data-Data"]
        end
        subgraph "Symbol 1"
            D2["DMRS: 同样Pattern<br/>与Symbol 0频域交错"]
        end
    end
参数 取值范围
符号数 1或2
PRB数 1-16
DMRS 频分复用,密度1/4
UCI容量 最大约1400+ bit(取决于PRB数)
调制方式 QPSK(当UCI+CRC > 11bit时用PI/2 BPSK可选)
多UE复用 FDM(不同UE分配不同PRB)

Format 2的PRB数由PUCCH-Resource中的nrofPRBs显式配置。gNB根据预期UCI比特数选择合适的PRB数。经验公式(近似):

O_UCI ≤ nrofPRBs × nrofSymbols × 3 × Rate_matching_ratio

其中Rate_matching_ratio通常取0.8-0.9(考虑DMRS开销和编码率限制)。

3.3 五格式全景对比

维度 Format 0 Format 1 Format 2 Format 3 Format 4
符号数 1-2 4-14 1-2 4-14 4-14
PRB数 1 1 1-16 1-16 1
DMRS 无 TDM FDM TDM TDM
UCI容量 ≤2 bit ≤2 bit >2 bit >2 bit >2 bit
波形 DFT-s-OFDM DFT-s-OFDM CP-OFDM CP-OFDM/DFT-s-OFDM DFT-s-OFDM
UE复用 CS(12个) CS+OCC(84个) FDM 无 Block-spreading(2/4个)
覆盖 弱 强(长符号) 弱 强(长符号+多PRB) 中等
典型场景 单CC HARQ-ACK 单CC远端UE 多CC HARQ-ACK 大码本 中等码本+复用

Format 1的84个UE复用:由12个initialCyclicShift × 7个timeDomainOCC = 84个正交资源。当符号数≥7时,OCC长度为7;符号数4-6时,OCC长度为符号数-3(DMRS占3个符号)。

四、UCI三级复用决策全链路

4.1 复用场景分类

当多种UCI在同一个PUCCH时机碰撞时,UE必须按TS 38.213 Section 9.2.5的规则进行复用或丢弃。

三大UCI类型及其优先级(从高到低):

  1. HARQ-ACK:最高优先级,不可丢弃(除非低优先级业务)
  2. SR(Scheduling Request):与HARQ-ACK同级复用
  3. CSI(Channel State Information):最低优先级,可被丢弃

4.2 复用决策完整流程

flowchart TD
    A["UCI碰撞检测<br/>同一slot有多种UCI"] --> B{"HARQ-ACK + SR?"}
    B -->|Yes| C{"UCI总比特 ≤ 2?"}
    C -->|Yes| D["Format 0/1: 序列选择编码<br/>Positive SR通过循环移位偏移表示"]
    C -->|No| E["Format 2/3: 载荷拼接<br/>HARQ-ACK + 1bit SR指示"]
    B -->|No| F{"HARQ-ACK + CSI?"}
    F -->|Yes| G{"UCI总比特 ≤ PUCCH容量?"}
    G -->|Yes| H["复用传输<br/>HARQ-ACK + CSI Part1 + CSI Part2"]
    G -->|No| I["丢弃CSI<br/>仅发HARQ-ACK"]
    F -->|No| J{"SR + CSI?"}
    J -->|Yes| K{"有Positive SR?"}
    K -->|Yes| L["仅发SR<br/>丢弃CSI"]
    K -->|No| M["丢弃SR<br/>仅发CSI"]
    J -->|No| N["各UCI独立发送"]

    style D fill:#4CAF50,color:#fff
    style H fill:#2196F3,color:#fff
    style I fill:#FF9800,color:#fff
    style L fill:#9C27B0,color:#fff

4.3 HARQ-ACK + SR复用详解

Format 0场景(UCI ≤ 2 bit): - HARQ-ACK通过循环移位编码 - Positive SR通过额外偏移N_CS个循环移位表示 - Negative SR不改变HARQ-ACK映射

Format 2/3场景(UCI > 2 bit): - SR用1bit表示(0=Negative,1=Positive) - HARQ-ACK和SR在编码前直接拼接:[HARQ-ACK bits] + [SR bit] - 总比特数 = O_ACK + O_SR

4.4 HARQ-ACK + CSI复用:Part1/Part2的分层编码

CSI报告在Rel-15/16/17中被分为Part 1和Part 2,这是一个精妙的设计:

CSI部分 内容 特点
Part 1 RI(Rank Indicator)+ CQI + CRC 固定载荷大小,gNB可直接解码
Part 2 PMI(Precoding Matrix Indicator) 载荷大小取决于Part 1中的RI值

设计意图:Part 2的载荷大小依赖于Part 1的RI值。gNB先解码Part 1获得RI,然后才能确定Part 2的比特长度并解码Part 2。这种"两阶段解码"避免gNB盲检CSI载荷大小。

当UCI总比特超过PUCCH容量时,丢弃顺序: 1. 首先丢弃CSI Part 2 2. 如果仍然超载,丢弃CSI Part 1 3. HARQ-ACK永不丢弃

4.5 高低优先级UCI碰撞(Rel-16/17增强)

TS 38.213 Section 9.2.5.0引入了增强的优先级机制,支持URLLC和eMBB业务的UCI差异化处理:

碰撞场景 处理规则 TS参考
HP HARQ-ACK vs LP HARQ-ACK HP HARQ-ACK优先,LP被丢弃 38.213 §9.2.5.0
HP HARQ-ACK vs LP CSI HP HARQ-ACK优先,LP CSI丢弃 38.213 §9.2.5
LP HARQ-ACK vs HP CSI 如果能复用则复用,否则LP HARQ-ACK丢弃 38.213 §9.2.5.0
HP PUSCH vs LP PUCCH 丢弃LP PUCCH上的UCI 38.213 §9.2.5

HP=High Priority(URLLC),LP=Low Priority(eMBB)。这种机制确保URLLC的HARQ-ACK始终能及时反馈,不受eMBB业务干扰。

五、PUCCH空间关系与波束管理

5.1 Spatial Relation三层配置

PUCCH的波束方向通过Spatial Relation信息确定(TS 38.213 Section 9.2.3):

graph TB
    A["PUCCH Spatial Relation"] --> B["参考源选择"]
    B --> C["SSB Index"]
    B --> D["CSI-RS Index<br/>(NZP CSI-RS)"]
    B --> E["SRS Index"]

    A --> F["配置方式"]
    F --> G["RRC静态配置<br/>spatialRelationInfo"]
    F --> H["MAC CE动态激活<br/>PUCCH Spatial Relation<br/>Activation/Deactivation MAC CE"]

    A --> I["激活路径"]
    I --> J["最多8个候选<br/>通过MAC CE选择1个激活"]

    style G fill:#E3F2FD
    style H fill:#FFF3E0

MAC CE激活流程(TS 38.321 Section 6.1.3.29):

字段 大小 含义
Serving Cell ID 5 bit 目标服务小区
BWP ID 2 bit 目标BWP
PUCCH Resource ID n bit 目标PUCCH资源
Spatial Relation Info ID 3 bit 从RRC配置的8个候选中激活哪一个

Rel-17多TRP增强:TS 38.321 Section 6.1.3.45定义了支持多TRP的PUCCH Spatial Relation Activation/Deactivation MAC CE,允许PUCCH重复(Repetition)时在不同TRP方向上轮转发送。

六、实战:抓包识别PUCCH格式与UCI复用

6.1 Wireshark/OAI抓包识别要点

识别维度 抓包字段 判断方法
PUCCH格式 RRC Reconfiguration中的formatType 直接读取PUCCH-Resource IE
资源集 PUCCH-ResourceSet ID 根据maxPayloadSize推算承载范围
UCI比特数 DCI中的PRI + HARQ-ACK码本大小 PRI索引映射到PUCCH-Resource
波束方向 MAC CE中激活的Spatial Relation ID 关联到对应SSB/CSI-RS/SRS

6.2 常见故障点

故障1:PUCCH Resource Set 0资源不足 - 现象:UE在多载波聚合时HARQ-ACK丢失 - 根因:UCI比特数超过Set 0的2bit上限,但Set 1未配置或PRI指向错误 - 定位:检查PUCCH-Config中resourceSetToAddModList是否包含Set 1

故障2:CSI被频繁丢弃 - 现象:gNB CSI报告缺失,下行调度MCS偏低 - 根因:HARQ-ACK码本过大,挤占了CSI的PUCCH容量 - 定位:检查PUCCH-Resource的nrofPRBs是否足够承载O_ACK + O_CSI

故障3:Format 0循环移位碰撞 - 现象:gNB解码HARQ-ACK出现大面积错误 - 根因:多个UE的initialCyclicShift配置冲突 - 定位:检查同小区UE的PUCCH-Resource配置,确保m₀ + Δ_mcs不重叠

七、Release 18/19增强方向

7.1 Rel-18 PUCCH增强(TS 38.213 V18.x)

7.2 Rel-19预期方向

常见问题

Q1: Format 0和Format 1都承载≤2bit UCI,何时用哪个? A: 关键区别在于符号数和覆盖。Format 0用1-2符号(短PUCCH),适合时延敏感场景(URLLC);Format 1用4-14符号(长PUCCH),适合覆盖受限场景(小区边缘UE)。Format 1还支持更多UE复用(84 vs 12)。

Q2: PUCCH Resource Set 0为什么最多32个资源? A: 这是PRI字段开销和资源灵活性的折中。32个资源需要5bit PRI,与DCI Format 1_0的字段设计对齐。32个资源足以覆盖典型8x8 PRB网格中的Format 0/1跳频资源分配。

Q3: CSI Part 1/Part 2分离编码的核心价值是什么? A: Part 1固定大小,gNB可以无歧义解码获得RI;Part 2大小依赖RI值,gNB根据已解码的RI推算Part 2长度再解码。这避免了gNB盲检所有可能的PMI组合,大幅降低了解码复杂度。

Q4: UCI超过PUCCH容量时为什么先丢CSI Part 2而不是Part 1? A: 因为Part 1包含RI和CQI,这些是下行调度的关键输入。Part 2的PMI是"锦上添花"——即使没有PMI,gNB仍可根据CQI用开环MIMO调度。丢失RI会导致整个MIMO维度错乱,代价远大于丢失PMI。

Q5: 为什么Format 4最多只支持4个UE复用? A: Format 4使用Block-wise spreading(pre-DFT扩频),扩频因子只有2和4两种。扩频因子受限于单PRB内的子载波数(12个)和DMRS开销。更大的扩频因子会导致序列正交性恶化。

参考来源

  1. 3GPP TS 38.213 V18.7.0 — Section 9.2 UCI reporting procedures, Section 9.2.1 PUCCH resource sets, Section 9.2.5 UCI multiplexing
  2. 3GPP TS 38.211 V18.x — Section 6.3 PUCCH physical channel structure, Table 9.2.3-3/4 HARQ-ACK to sequence mapping
  3. 3GPP TS 38.331 V18.x — PUCCH-Config IE, PUCCH-Resource IE, PUCCH-ResourceSet IE definition
  4. ShareTechnote - 5G PUCCH — PUCCH format overview and resource allocation tutorial
  5. srsRAN Project - PUCCH and UCI Scheduling — Open-source PUCCH implementation reference
  6. PUCCH Format 2/3/4 Bit Processing — Detailed bit processing chain for large-payload PUCCH formats

本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入