7.3.5.1 从 Msg4 到 PUCCH:切入点回顾与 UCI 的基本概念

本节课程视频

7.3.5.1.1 从初始接入回到 Msg4:PUCCH 为什么在这里出现?

前面的章节已经从 SSB、小区搜索、PRACH、RAR、Msg3 一路讲到了 Msg4。为了理解 PUCCH,不需要重新学习整个随机接入过程,而只需要抓住一个变化:在 Msg4 之前,UE 主要是在"请求进入网络"和"获得发送机会";到了 Msg4,gNB 已经能够针对某一个临时身份对应的 UE 发送下行内容,而 UE 此时第一次面临一个新的问题------如何把"我对这次下行传输的接收结果"返回给 gNB。

这一点非常重要,因为无线通信不是"发送端把比特发出去"就结束。对于采用 HARQ 的下行传输,gNB 发送一个 PDSCH Transport Block 后,需要知道 UE 是否能够正确解码,从而决定后续是继续发送新的数据,还是安排重传。因此,可靠的数据传输天然需要形成"下行发送---上行反馈"的闭环。

图7.3.5.1-1 从 Msg4 到 PUCCH 的空口信道时序回顾(课程原有时序图)

从图中最值得注意的是:Msg4 的 PDCCH/PDSCH 位于下行方向,而紧接其后的 HARQ ACK/NACK 通过 PUCCH 返回上行方向。这里的"紧接"是逻辑意义上的流程衔接,并不意味着固定为"下一个 slot 必然发送";实际发送时刻受物理层 HARQ 反馈时序、可用资源和 UE 处理能力等规范条件约束。

因此,本节所谓"从 Msg4 到 PUCCH",真正强调的是协议逻辑上的切入点,而不是简单描述一个时间相邻关系:Msg4 让 UE 从"等待网络响应"进入"需要对网络下行传输做出反馈"的阶段。

7.3.5.1.2 Msg4 到 PUCCH:先分清三个不同的"结果"

在实际测试和日志分析中,Msg4 之后最容易出现的一类误判,是把三个不同层次的结果混为一个结果。建议从三个问题分别观察。

|------------|----------|-----------------------------------|------------------------|
| 观察对象 | 所在层次 | 核心问题 | 典型结果 |
| PDSCH 解码结果 | 物理层 | 承载 Msg4 的传输块能否正确恢复? | CRC OK / CRC KO、或未成功检测 |
| HARQ-ACK | 物理层控制反馈 | UE 对该 PDSCH 的接收状态向 gNB 如何反馈? | ACK / NACK 等反馈状态 |
| 竞争解决判决 | MAC 层 | Msg4 中的竞争解决身份是否与本 UE 的 Msg3 身份匹配? | 成功 / 失败 |

三者之间存在因果关系,但并不是同义词。PDSCH 的解码结果是形成 HARQ-ACK 的基础;而竞争解决身份的匹配属于 MAC 层逻辑判断。换句话说,"CRC OK"首先说明物理层成功恢复了一个传输块,并不自动等价于"竞争解决成功";反过来,讨论竞争解决是否成功时,也不能只看 PUCCH 上有没有一个 ACK。

图7.3.5.1-2 Msg4 接收、译码、竞争解决与 HARQ-ACK 的层次关系

7.3.5.1.3 什么是 HARQ-ACK?从"是否正确收到"理解 ACK/NACK

HARQ(Hybrid Automatic Repeat reQuest)可以理解为"带前向纠错能力的自动重传机制"。发送端首先发送经过信道编码的数据;接收端尝试解码并进行错误检测;如果接收端确认数据正确,就反馈 ACK;如果判断该传输未被正确解码,则反馈 NACK,发送端据此决定是否需要后续重传。

在 NR 中,PDSCH 的传输块通常在接收端经过解调、解扰、信道译码和 CRC 检查等物理层处理。CRC 的核心作用是帮助接收端判断"当前恢复出的比特序列是否具有足够可信度"。因此,从教学角度可以把链路简化为:

PDSCH 接收 → 物理层译码 → CRC 检查 → 形成接收判决 → HARQ-ACK 信息 → 上行反馈

这里必须避免一个常见的概念错误:ACK/NACK 本身不是"CRC 的结果字段"。CRC 是接收端进行错误检测的一种内部依据,而 ACK/NACK 是 UE 根据接收结果形成的上行控制信息。前者服务于"判错",后者服务于"把判决告诉发送端"。

此外,在更复杂的 NR 系统中,一次上行反馈可能需要对应多个候选下行传输,因此 HARQ-ACK 不一定永远表现为"一个 PDSCH 对应一个独立的物理比特"。当存在多个需要反馈的下行传输时,UE 会按照相应的 HARQ-ACK codebook 规则形成一组反馈信息。本节只需要建立这一认识:**HARQ-ACK 是对一个或多个下行传输接收状态的上行控制反馈集合,而不是简单的单比特"开关"。**

图7.3.5.1-3 HARQ-ACK 的基本闭环:从下行数据到上行反馈

7.3.5.1.4 为什么不能直接用 PUSCH 来反馈 Msg4?

理解 PUCCH 的最好方法之一,是反过来问:既然已经有 PUSCH,为什么还需要 PUCCH?答案在于"反馈发生时,UE 是否已经拥有可用于上行共享传输的资源"。

PUSCH 的核心定位是上行共享传输。它非常适合承载较大的上行数据或高层信令,但它不是一个让 UE 在没有上行授权时可以随意占用的"自由上行信道"。而 Msg4 的 HARQ-ACK 具有明显的反馈属性:UE 必须在规范规定的反馈时机向 gNB 报告,而不能等待"以后某一次 PUSCH 有资源时再顺便告诉基站"。

因此,NR 设计了 PUCCH 作为上行控制信息的专门承载手段。它的价值并不在于"能发送很多数据",而在于:**在很少的比特、严格的时序和有限的资源条件下,把关键控制反馈可靠地送回 gNB。**

|-------------------|------------------|--------------------|
| 问题 | PUSCH | PUCCH |
| 主要定位 | 上行共享传输 | 上行控制反馈 |
| 典型内容 | UL-SCH 数据及上行高层信令 | UCI |
| 资源获得方式 | 通常需要上行授权或预配置 | 由系统配置/控制机制提供对应控制资源 |
| Msg4 后首次 HARQ-ACK | 不是本节所强调的默认切入方式 | 是典型应用场景 |
| 本节关注点 | 作为对比参照 | 重点理解其"控制反馈承载"定位 |

需要强调,"PUCCH 是控制信道"并不意味着它只能承载一个 ACK。控制信息可以具有不同的大小和不同的来源;本节先建立"控制信息需要可靠、及时地返回 gNB"的总体概念,具体的 UCI 内容、资源和格式等属于后续知识链。

7.3.5.1.5 UCI 到底是什么?------从"信息"而不是"信道"理解

UCI 的全称是 Uplink Control Information,即上行控制信息。最简单的理解是:**UCI 不是一种物理信道,而是一类需要从 UE 送往 gNB 的控制信息。**

例如,UE 收到一个下行 PDSCH 后产生的 HARQ-ACK,就是 UCI;UE 希望获得上行调度机会时产生的 SR,也属于 UCI;UE 对无线信道质量进行测量后形成的 CSI,同样属于 UCI。它们共同点不是"格式一样",而是它们都是 UE→gNB 方向、用于控制或辅助无线资源和数据传输的信息。

图7.3.5.1-4 UCI、PUCCH 与 PUSCH 的概念层次

|----------|-----------------------|---------------|
| 概念 | 回答的问题 | 是否等同于物理信道 |
| UCI | UE 要向 gNB 报告什么控制信息? | 否 |
| PUCCH | 这些控制信息的一种专门上行物理承载是什么? | 是 |
| PUSCH | 上行共享数据通过什么物理信道传输? | 是 |
| HARQ-ACK | UE 对下行传输的接收状态是什么? | 否,属于 UCI 的一种 |

可以用一个非常直观的类比来记忆:UCI 更像"信件内容",PUCCH 更像"专门的邮路"。同一类内容在不同场景下可以采用不同的承载方式;因此不要把"UCI"和"PUCCH"当成同一个层面的对象。

7.3.5.1.6 UCI 的基本组成:本节只建立三类"概念地图"

在本课程后续内容中,UCI 会进一步按照具体内容展开。本节只需要建立一个总地图:UCI 的基础内容主要可以归纳为 HARQ-ACK、SR 和 CSI 三类。这里不进入每一类内部字段、码本生成或具体资源格式,而是理解它们分别回答什么问题。

|------------|-------------------------|----------------------|------------|
| UCI 类型 | UE 在告诉 gNB 什么? | 典型触发背景 | 本节掌握程度 |
| HARQ-ACK | 刚才的下行传输我是否正确收到? | 下行 PDSCH 接收后 | 重点理解 |
| SR | 我有上行数据,希望获得上行发送机会 | 需要上行资源但当前没有合适的 UL 资源 | 建立概念 |
| CSI | 当前无线信道状态怎样,可供 gNB 做传输决策 | 周期/触发式测量反馈 | 建立概念 |

从时间特性来看,HARQ-ACK 与某一次具体的下行传输紧密绑定,因此具有很强的时序约束;SR 是"需要资源"的请求;CSI 则是对信道状态的报告。三者虽然都属于 UCI,但产生原因完全不同。

这一分类的意义在于帮助工程人员读日志:当看到 PUCCH 时,不应只问"这是哪个 Format",更应该先问"这次 PUCCH 上的 UCI 是什么业务事件触发的?"对于本节而言,最典型的答案就是:**Msg4 PDSCH 接收 → 产生 HARQ-ACK → PUCCH 发送。**

7.3.5.1.7 UCI 为什么适合用"少量比特 + 高可靠性"的方式传输?

与 PDSCH/PUSCH 承载的用户数据相比,UCI 的典型特征是信息量较小,但信息价值很高。例如,一个 ACK 可能只有极少量的信息,但它可能直接影响 gNB 是否继续等待、是否进行重传以及后续 HARQ 状态推进。

这形成一个典型的无线通信设计矛盾:**信息量很小,却不能轻易错。** 因此,NR 的控制信息物理层设计特别强调可靠性、时延和资源效率之间的平衡。

这里需要特别澄清一个在工程调试中非常容易出现的认识:**"UCI 没有附加 CRC"并不等于"UCI 是裸比特直接发出去"。** 不同大小的 UCI 有不同的物理层处理路径。对于本节,只需知道其总体思想是:UCI 会根据自身比特数和承载场景采用相应的控制信息编码与资源映射机制;具体编码门限、CRC 长度、Polar/RM/重复码等细节留给后续专门章节。

因此,从架构上可以把 UCI 看成一个由上层事件产生、经过物理层专门处理、最终进入 PUCCH 或在特定情况下与 PUSCH 共同发送的"控制信息对象"。

7.3.5.1.8 Msg4、HARQ-ACK 与后续 RRC 过程之间是什么关系?

Msg4 在随机接入过程中具有双重意义:一方面,它完成竞争解决;另一方面,它可以携带 RRCSetup 等后续连接建立所需要的内容。对于 UE 而言,Msg4 的到来意味着网络已经对此前的 Msg3 作出了响应。

但是,"Msg4 已经收到"和"UE 已经把后续 RRC 消息发送出去"之间并不是一个瞬时动作。UE 首先需要完成下行 PDSCH 的接收与译码,然后形成相应的 HARQ-ACK,并在规定的上行反馈时机通过 PUCCH 发送;随后,RRC/MAC 状态机继续推进,才进入后续的上行信令交互。

因此,在抓取空口日志时,可以把这一阶段看成三个连续但不同的事件:

  • 下行事件:gNB 发送 Msg4 PDCCH/PDSCH;
  • UE 接收事件:UE 完成 Msg4 PDSCH 检测、解调、译码及相关 MAC 处理;
  • 上行控制事件:UE 在规定时机发送对应 HARQ-ACK PUCCH。

这样理解以后,Msg4 与 PUCCH 就不再是两个孤立的信号,而是一条跨越下行与上行的控制闭环。

7.3.5.1.9 典型案例:如何从空口时序追踪一次 Msg4 HARQ-ACK

假设 UE 已经发送 Msg3,gNB 决定接受该 UE,并向其发送 Msg4。为了简化分析,只考虑一个 PDSCH 传输和一个对应的 HARQ-ACK。

|--------------|-------------------|-------------------|----------------------|
| 步骤 | UE 侧动作 | gNB 侧动作 | 观察重点 |
| ① Msg3 完成 | 完成 Msg3 PUSCH 发送 | 等待/处理 Msg3 | Msg3 是否成功接收 |
| ② Msg4 调度 | 监听对应 PDCCH | 发送用于 Msg4 的下行控制信息 | DCI 是否成功检测 |
| ③ Msg4 PDSCH | 接收并解码 TB | 发送 Msg4 PDSCH | PDSCH 解码结果 |
| ④ HARQ 判决 | 根据接收结果形成 HARQ-ACK | 等待 UE 上行反馈 | ACK/NACK 是否产生 |
| ⑤ PUCCH | 在规定反馈资源/时机发送 UCI | 检测对应 PUCCH | PUCCH 是否被检测、UCI 是否正确 |

工程上不要只看"PUCCH 有没有发"。完整的问题链应该是:gNB 是否真的发送了 Msg4?UE 是否检测到了对应 PDCCH?UE 是否成功解码 PDSCH?UE 是否形成了对应 HARQ-ACK?PUCCH 是否在正确的时间和资源上发射?gNB 是否成功检测 PUCCH?

这条链条特别适合用于 QXDM、PHY log、MAC log 或空口抓包的联合分析。任何一个环节失败,都可能导致最终看到"没有 PUCCH"或者"PUCCH 没有被正确检测"的现象,但根因可能完全不同。

7.3.5.1.10 工程调试视角:看到"Msg4 后没有 PUCCH"应该怎么想?

本节不讨论具体厂商日志字段,而建立通用的故障定位思路。假设测试人员发现 Msg4 已经在 gNB 侧发出,却没有观察到预期的 HARQ-ACK PUCCH,可以按照以下逻辑逐层排查:

  • 先确认 Msg4 的确被 UE 作为目标 PDSCH 处理,而不是仅仅在 gNB 发射日志中出现。
  • 检查 UE 是否检测到了用于调度 Msg4 的 PDCCH,以及其目标身份是否与该 UE 当前上下文一致。
  • 检查 Msg4 PDSCH 的解调/译码结果。不要把"没有 PUCCH"直接解释成"Msg4 解码失败"。
  • 确认 UE 的 HARQ 状态机是否针对该 PDSCH 产生了需要反馈的 HARQ-ACK 信息。
  • 确认反馈时机。PUCCH 不是收到 Msg4 后立即任意发送,而是在规范定义的 HARQ feedback timing 下发送。
  • 确认对应的上行 BWP、PUCCH 资源及 UE 当前状态是否一致;本节只需认识到这些资源由控制流程提供,具体规则在后续内容讨论。
  • 最后从 gNB 接收机角度确认:即使 UE 发射了 PUCCH,也还要经过检测、解调和 UCI 解码,才能在 gNB 侧形成有效的 HARQ-ACK。

其中最重要的一条经验是:**"没有看到 PUCCH"是一个现象,不是一个根因。** 必须把 Msg4 PDSCH、UE HARQ 状态、PUCCH 发射和 gNB PUCCH 检测分开观察。

7.3.5.1.11 三个最容易混淆的概念

|----------------------|--------------------------------------------------------|
| 容易混淆 | 正确理解 |
| Msg4 = HARQ-ACK | Msg4 是下行 PDSCH 承载的内容/传输事件;HARQ-ACK 是 UE 对该下行传输产生的上行反馈。 |
| UCI = PUCCH | UCI 是信息内容;PUCCH 是承载 UCI 的一种物理信道。 |
| CRC OK = 竞争解决成功 | CRC OK 说明对应传输块通过了物理层错误检测;竞争解决还涉及 MAC 层身份匹配等逻辑。 |
| ACK = UE 一定已经进入完整业务态 | ACK 首先表示对应下行传输的接收反馈;后续连接状态还由更高层流程继续推进。 |
| 没有用户数据就没有上行传输 | 上行控制信息本身就是一种必须传输的上行信息,因此即使没有用户面数据,也可能存在 PUCCH。 |

相关推荐
Gnail31 个月前
7.2.4.1 PDCCH的基本概念和目的分类
dci·pucch·pdcch·rnti·盲检·coreset0
Soari4 个月前
终结摄像头依赖:深度拆解 RuView,用商品化 Wi-Fi 信号构建私密、实时的边缘空间智能
csi·wifi感知·边缘ai·空间智能·生命体征监测·无线感知
【ql君】qlexcel4 个月前
MIPI简介,DSI、CSI
摄像头·csi·mipi·屏幕·dsi
BUG_MeDe5 个月前
openwrt的UCI命令的使用(2)
openwrt·uci·libuci
Geektec7 个月前
MIPI DPHY各个版本的差异
csi·mipi·dphy
Asher阿舍技术站7 个月前
【5G无线接入技术系列】八、物理层控制信号
5g·物理层·控制信号·pucch·pdcch
飞翔沫沫情8 个月前
基于OpenEuler的iSulad容器引擎部署实践手册
containerd·cni·csi·cri·容器引擎·isulad·国产容器引擎
刘孬孬沉迷学习8 个月前
5G下行CSI-RS波束成形全流程
标准·大规模mimo·物理层·csi·csi-rs·波束赋形·5gnr
刘孬孬沉迷学习8 个月前
5G NR CSI-RS完整仿真流程
5g·matlab·信息与通信·csi·移动通信·csi-rs·5g nr