5G 工具站

5G / LTE / 6G 工具站

返回工具首页
📖物理层

HARQ-ACK Codebook

HARQ-ACK 码本

对比 5G NR 三种 HARQ-ACK 码本类型:半静态、动态、增强动态码本

Type 1 — 半静态码本
Semi-static Codebook

码本大小固定,由RRC配置确定。每个PDSCH候选位置对应1个ACK/NACK比特,无论该位置是否实际调度了PDSCH。

关键参数

  • 码本大小由RRC配置的PDSCH候选位置数决定
  • 每个候选位置对应1个ACK/NACK比特
  • 未调度位置填充NACK

优点

  • 实现简单,UE和gNB处理复杂度低
  • gNB始终知道码本大小,无需额外信令
  • 不存在码本大小不匹配问题

缺点

  • 开销大 — 包含未调度位置的NACK比特
  • 频谱效率低,尤其在调度稀疏时

适用场景

适用于固定调度模式或PDSCH调度密集的场景

Type 2 — 动态码本
Dynamic Codebook

码本大小可变,通过DAI(下行分配索引)动态确定。仅包含实际调度的PDSCH对应的ACK/NACK比特。

关键参数

  • 使用counter-DAI追踪已调度PDSCH数量
  • 使用total-DAI指示总调度数
  • 码本仅包含实际调度的PDSCH反馈

优点

  • 开销小 — 仅反馈实际调度的PDSCH
  • 频谱效率高,尤其在调度稀疏时

缺点

  • 实现复杂度高
  • 依赖DAI信令的可靠传输
  • DAI丢失可能导致码本大小不匹配

适用场景

适用于动态调度、调度密度变化大的场景

Type 3 — 增强动态码本
Enhanced Dynamic Codebook (Rel-16+)

支持一个PUCCH上报多个HARQ-ACK,使用子码本(sub-codebook)概念。支持CBG(码块组)级别的HARQ反馈。

关键参数

  • 支持多个子码本(sub-codebook)
  • 支持CBG级HARQ反馈
  • 支持一个PUCCH承载多HARQ-ACK
  • 支持Type-1和Type-2的混合使用

优点

  • 灵活性最高,支持多种反馈粒度
  • CBG级反馈减少不必要的重传
  • 适合多载波和载波聚合场景

缺点

  • 实现最复杂
  • 需要Rel-16及以上版本支持
  • 信令开销增加

适用场景

适用于载波聚合、高可靠低延迟(URLLC)等高级场景

码本对比示例

假设有 8 个 PDSCH 候选位置,其中仅位置 0、3、7 实际调度了 PDSCH 且全部正确接收:

Type 1 (半静态码本) — 8 bits

#0ACK
#1NACK未调度
#2NACK未调度
#3ACK
#4NACK未调度
#5NACK未调度
#6NACK未调度
#7ACK

码本包含所有 8 个候选位置的反馈,未调度位置填充 NACK

Type 2 (动态码本) — 3 bits (with DAI)

DAI=1ACK
DAI=2ACK
DAI=3ACK

码本仅包含 3 个实际调度 PDSCH 的反馈,通过 DAI 索引追踪

8
Type 1 bits
vs
3
Type 2 bits
节省 62.5% 反馈开销

HARQ-ACK 码本说明

HARQ-ACK 码本决定了 UE 如何在 PUCCH 上组织和发送 ACK/NACK 反馈信息。码本类型由 RRC 参数 pdsch-HARQ-ACK-Codebook 配置。

Type 1 (半静态) 码本大小固定,适合简单场景;Type 2 (动态) 码本根据实际调度情况调整大小,适合提高频谱效率;Type 3 (增强动态,Rel-16+) 引入了子码本和 CBG 级反馈,支持更灵活的反馈机制。

DAI (下行分配索引) 是 Type 2 码本的关键机制,包含 counter-DAI(累计计数)和 total-DAI(总数指示),用于 UE 确定码本大小并检测可能的 PDCCH 丢失。