LTE HARQ
HARQ结构
以下是 LTE HARQ 实体的整体架构。 有关机制的详细说明,请参阅 36.321 5.4.2.1 和 5.4.2.2。
< Overall Architecture of LTE HARQ Entity >
HARQ进程
根据是用于 FDD 还是 TDD 以及是否用于上行链路和下行链路,使用的 HARQ 进程的模式略有不同。 但我只会谈论 FDD 案例。
在 FDD 中,我们使用 8 个 HARQ 进程。
i) 对于下行链路:异步过程
-
a)可以以任意顺序使用 8 个 HARQ 进程 (Asynchronous Process).
-
b)UE 在获取 DL 数据之前对 HARQ 进程信息一无所知。 因此网络在PDCCH(DCI,请参阅本网站的 DCI 部分)中发送这些信息(进程 ID、RV)。
ii) 对于上行链路:同步过程
-
a)它必须在特定子帧中使用特定过程(Synchronous Process)。UE 必须每 8 个子帧使用相同的 HARQ 进程号。
-
b)由于 UE 必须在特定子帧使用特定的 HARQ 进程 ID,因此接收方(eNode B)确切地知道哪个 HARQ 进程何时到来。 eNodeB 也可以知道 RV,因为来自 eNodeB 的 UL Grant (DCI 0) 可以使用 MCS 字段指定 RV。
-
c)它有两种操作模式:自适应和非自适应 HARQ
-
< Adative UL HARQ Process >
-
下面是一个自适应 UL HARQ 过程的示例(关键思想是每次 UL 重传使用不同的 RV,并且 RV 由 DCI 0 确定)。
-
-
< Non-Adative UL HARQ Process >
-
以下是非自适应 UL HARQ 过程的示例(关键思想是每次 UL 重传使用不同的 RV,并且 RV 由 TS36.321“5.4.2.2 HARQ 过程”中指定的预定义序列确定)。
-
-
最后但非常重要的问题是“UE如何知道它是否应该进行自适应重传和非自适应重传?”
-
- 如果 UE 检测到 DCI 0 且NDI未反转的情况下,则执行“自适应重传”。 (在这种情况下,UE 不关心“HARQ 反馈(PHICH)”,它基于 DCI 0 信息重传)。
- 如果 UE 检测到“HARQ 反馈 (PHICH=NACK)”但没有检测到DCI 0,则 UE 执行“非自适应重传”。在这种情况下,UE使用预定义的RV和MCS重传PUSCH,没有DCI 0的信息。
上行链路的详细 HARQ 过程在 36.321 - 5.4.2.2 中描述,以下是我对插图中规范的解释。
Case 1 : HARQ Process for Uplink (except Msg 3)
HARQ进程号同步
当通过 HARQ 进程传输数据时,接收者和发送者应该知道关于每个 HARQ 进程的进程号的“一些信息”,以便接收者可以成功地保存每个进程数据而不会混淆它们。
在异步 HARQ 的情况下(例如,LTE 中的 PDSCH 传输),发送方应明确告知接收方 HARQ 处理器编号。 对于LTE,DCI 1 和 2 携带此信息,如您在 DCI 1 和 DCI 2 示例中看到的。
在同步 HARQ 的情况下呢? 在这种情况下,您不必通知进程 ID,因为进程 ID 可以从传输时间推断出来(在 LTE UL HARQ 情况下,此时间以 SFN 和子帧号表示)。
那么是否有任何特定的规则(数学公式)可以从 SFN 和子帧号中找出 HARQ 进程 ID?
在 LTE 中,3GPP 规范中没有定义具体的公式,但以下可能是 LTE 情况下最简单的规则之一。
UL HARQ Process ID = (SFN x 10 + subframe) modulo 8,这里我们使用模8,因为LTE使用8个HARQ进程
接收方(LTE 情况下的 eNodeB)是否需要知道确切的 HARQ 进程 ID?
并不需要。 只要eNodeB至少准备8个HARQ缓冲区并将每个子帧的PUSCH分别地存储在各个缓冲区内,这样解码每个HARQ数据就没有问题。 一种可能的处理过程是这样的:
-
i) eNodeB 准备 8 个单独的 HARQ 缓冲区并将其命名为 Buf0,Buf1,…,Buf7。
-
ii) 当 eNodeB 接收到第一个 PUSCH 时,它会将 PUSCH 放入 eNodeB 中的第一个 UL HARQ 缓冲区 (Buf0)。
-
iii) 当 eNodeB 接收到第二个 PUSCH 时,它会将 PUSCH 放入 eNodeB 中的第二个 UL HARQ 缓冲区 (Buf1)。 … 重复此过程
-
iv) 当 eNodeB 接收到第八个 PUSCH 时,它会将 PUSCH 放入 eNodeB 中的第八个 UL HARQ 缓冲区 (Buf7)。
-
v) 当 eNodeB 接收到第九个 PUSCH 时,它会将 PUSCH 放入 eNodeB 中的第九个 UL HARQ 缓冲区 (Buf0)。 … 重复此过程
这样,UE侧分配的UL HARQ Process ID和eNodeB接收缓冲区分配的Buf编号可能不匹配,但解码数据没有问题。
参考资料
[1] HARQ Process Boosts LTE Communications
[2] HARQ in LTE
NR HARQ
什么是H-ARQ ?
什么是 H-ARQ? 为什么它称作“混合”?
首先考虑术语 ARQ。 ARQ 代表 Automatic Repeat Request,如果你有研究 IP 通信的经验,你会听到很多(我想你可以在谷歌上搜索很多关于这方面的教程,所以我不会在这里解释什么是 ARQ)。 HARQ 中的“H”表示“Hybrid”,这意味着 HARQ 是“Something”和“ARQ”的组合。
那么“Something”会是什么? “Something”是 FEC(前向纠错)。 FEC 也不是 LTE 特有的技术,而是一种通用的纠错机制。 所以我希望你在谷歌上搜索一些关于 FEC 的信息。
NR 中 HARQ 的基本概念与 LTE HARQ 类似,但在细节上存在一些细微差别。 在本页中,我将尝试解释 NR HARQ 与 LTE HARQ 的对比。 所以如果你已经熟悉LTE HARQ,对了解NR HARQ会有很大帮助。
上下行链路都使用异步HARQ : 在LTE HARQ中,下行使用异步机制,而上行使用同步机制。相反,在 NR 中,下行链路和上行链路都使用异步机制。 (关于异步HARQ和同步HARQ的定义,请参考