5G 层二的 HARQ(混合自动重传请求,Hybrid Automatic Repeat reQuest)流程,是MAC(媒体接入控制)子层确保数据在物理层可靠传输的核心机制。它位于 MAC 子层,通过结合前向纠错(FEC)与自动重传请求(ARQ),在不可靠的无线环境中为数据提供高效、可靠的传输保障。
5G NR 的 HARQ 流程主要围绕以下核心概念展开:
🧠 核心概念:HARQ 实体与进程
HARQ 的核心是“停等协议(Stop-and-Wait)”。
停等协议:发送端发送一个传输块(TB,Transport Block)后,会停下来等待接收端的确认(ACK/NACK),再决定发送下一个或重传当前数据。
并行进程:为了克服停等协议导致的低吞吐量问题,NR 使用多个并行的 HARQ 进程。当一个进程在等待确认时,其他进程可以继续发送数据,实现了数据的连续传输。
HARQ 实体:管理这些并行 HARQ 进程的是HARQ 实体(HARQ Entity)。每个小区(Serving Cell)都有一个 HARQ 实体,每个 UE 也有自己的 HARQ 实体。
进程数量:NR 支持最多16 个并行的 HARQ 进程。相比 LTE 更多,这是为了适应更灵活的帧结构、高频段更短的时隙以及更复杂的网络部署。
HARQ 缓冲区:每个 HARQ 进程都关联一个独立的HARQ 缓冲区(HARQ buffer),用于存储未能成功解码的数据,以便后续与重传数据合并。
⚙️ 核心流程:一次 HARQ 传输的“旅程”
一个典型的 HARQ 流程如下:
初始传输:发送端(gNB 或 UE)的 MAC 层将一个 MAC PDU 封装成传输块(TB),通过物理层发送出去。
接收与解码:接收端收到 TB 后,物理层会尝试解码。
反馈(ACK/NACK):
成功:若解码成功,接收端反馈确认(ACK)。
失败:若解码失败,接收端会将这个“虽错误但包含信息”的数据包存入该进程的 HARQ 缓冲区,并反馈否定确认(NACK)。
重传决策:发送端根据收到的反馈做出决策:
收到 ACK:该 HARQ 进程清空缓冲区,准备发送新数据。
收到 NACK:触发重传。
重传与软合并:发送端进行数据重传。接收端收到重传数据后,不会丢弃,而是将其与 HARQ 缓冲区中先前存储的“软比特”信息进行软合并(Soft Combining),大幅提高正确解码的概率。
循环与结束:如果合并后解码成功,则反馈 ACK,流程结束。如果仍然失败,则继续请求重传,直到成功或达到最大重传次数。达到最大次数后,MAC 子层会重置该进程并向上层报告错误。
✨ 5G NR 的关键增强
相比 4G LTE,5G NR 的 HARQ 在几个方面有显著增强:
异步 HARQ(Asynchronous HARQ):在 5G NR 中,上行和下行都采用异步 HARQ。这意味着重传可以发生在任意时刻,调度更灵活,尤其适合 5G 动态 TDD 和未授权频谱等复杂场景。由于重传时间不固定,发送端必须在调度信令(DCI)中显式携带 HARQ 进程号(HARQ Process ID),以告知接收端该重传属于哪个进程。
增量冗余(Incremental Redundancy, IR):5G NR 采用异步增量冗余(Asynchronous Incremental Redundancy)HARQ 机制。每次重传可以发送与初传不同的额外奇偶校验位(冗余版本)。随着重传次数增加,接收端能获得越来越丰富的纠错信息,有效解码的概率也随之提高。
代码块组(CBG, Code Block Group)重传:对于很大的数据包,物理层会将其分割成多个代码块(CB)。当发生错误时,可能只有少数代码块受损。NR 支持仅重传出错的代码块组(CBG),而不是整个 TB,这能显著提升大流量场景下的传输效率。CBG 重传对 MAC 层是透明的,由物理层处理。
💡 与 RLC ARQ 的协同
HARQ 并非唯一的可靠性保障。在它之上,RLC 子层(确认模式 AM)还提供了另一层ARQ(自动重传请求)机制。
这两者形成了一个两级重传体系:
HARQ:提供快速重传,作为第一道防线,主要纠正物理层的大部分错误。
RLC ARQ:作为第二道防线,处理 HARQ 未能纠正的残余错误,确保数据的最终可靠交付。
这种设计在速度和可靠性之间取得了良好的平衡。
总的来说,5G NR 的 HARQ 是一个由 HARQ 实体管理多个并行进程,通过停等协议、软合并及快速反馈,并结合异步调度、增量冗余和 CBG 重传等增强技术,为数据提供高可靠、高效率传输的核心机制