本文主要简述一下在无线通信系统中常用的HARQ机制。注意,在不同的标准中,HARQ传输机制有所不同。
虽然ARQ(混合自动请求)错误控制机制简单,并提供了高传输可靠性,但随着信道错误率的增加,ARQ方案的吞吐量会迅速下降,而且由于重传,延迟可能会过高,对于某些延迟敏感的应用程序来说是不可容忍的。另一方面,使用前向纠错(FEC)的系统可以保持恒定的吞吐量,而不受信道误码率的影响。然而,FEC方案也存在一些缺陷。FEC很难实现高可靠性,需要使用长而强大的纠错码,增加了实现的复杂性。
只要将两种误差控制方案适当地结合起来,就可以克服ARQ和FEC的缺点。为了提高分组传输的吞吐量和降低时延,将ARQ错误控制机制与FEC编码相结合,设计了混合ARQ (HARQ)方案。HARQ系统由一个包含在ARQ系统中的FEC子系统组成。该方法通过对频繁出现的错误进行修正,从而减少了平均重传次数。然而,当检测到较低频率的错误时,接收方请求重传,其中每次重传都携带相同或一些冗余信息,以帮助数据包检测。HARQ使用FEC来纠正接收端部分错误,并依靠错误检测来检测剩余的错误。大多数实用的HARQ方案使用CRC码进行错误检测,并使用某种形式的FEC来纠正传输错误,例如信道编解码常用的Turbo码或者LDPC码。
根据后续重传的内容,HARQ方案通常分为两种:
软合并HARQ:在这种HARQ方案中,每次重传都传输相同的数据包。采用软合并可提高可靠性。在传输之前,数据块和CRC码一起使用FEC编码器进行编码。如果接收方无法正确解码数据块,则请求重新传输。当接收到重传的编码块时,将其与先前接收到的对应于相同信息位的块合并(例如使用最大比合并方法)并传输给解码器。由于每次重传都是原始传输的相同副本,因此每次重传接收到的Eb/N0,即每信息位的能量除以噪声谱功率密度,每次重传都会增加,提高了正确解码的可能性。在软合并HARQ中,被编码bit的冗余版本在每次传输中都不会改变。因此,打孔模式保持不变。接收端使用当前码块和之前所有的HARQ传输来解码信息位。这个过程将会继续,直到信息位被正确解码并通过CRC测试或达到HARQ重传的最大数量。当达到最大重传次数时,MAC子层重置该进程,继续重新传输相同的码块。当一个进程在等待应答时,许多用于HARQ的并行通道可以帮助提高吞吐量;另一个进程可以利用信道传输子数据包。图1说明了软合并HARQ (HARQ- cc)方案的操作,以及相同编码位的重传如何在保持有效码率不变的情况下改变每比特的合并能量Eb。
图1 软合并HARQ
增量冗余HARQ:在这种HARQ方案中,在随后的重传中发送额外的奇偶校验位。因此,每次重传后,接收端都能获得更丰富的奇偶校验位集,提高了可靠解码的概率。然而,在增量冗余方案中,信息不能仅从奇偶校验位恢复。在增量冗余HARQ (HARQ-IR)方案中,当请求重传时,生成多个冗余度递增的编码比特,并传输给接收端,以协助接收端对信息比特进行解码。接收端将每一次重传与先前接收到的属于同一数据包的软比特相结合。由于每一次重传都携带额外的奇偶校验位,因此每一次重传都会降低有效码率,如图2所示。红外是基于低速率编码和不同的冗余版本是通过戳穿通道编码器输出。在图2所示的示例中,基本码率为R,在每次重传中传输三分之一的编码位。由于合并,除了每次重发都会增加接收的信噪比Eb/N0外,每次重发还会获得一个编码增益。注意,软合并是HARQ-IR的一个特殊情况,其中重传是原始编码位的相同副本。
图2 增量冗余HARQ
3GPP NR下行链路和上行链路采用异步HARQ-IR方案。gNB通过DCI动态或通过RRC配置消息半静态向UE(终端)提供HARQ-ACK反馈定时。gNB使用DCI上的上行链路授权来调度每个上行链路的传输和重传。在LTE中,上行HARQ的基本操作方式是同步重传,这可以减少重传的调度开销。在这种情况下,HARQ ACK/NACK作为一个简短而有效的消息在PHICH上进行。NR支持异步HARQ。为了支持异步HARQ,对于gNB来说,一个简单的解决方案是通过PDCCH发送一个显式的上行授权,以用于重传,就像在LTE中传输一样。在某种意义上,显式授权可能意味着隐式ACK/ NACK。例如,重传的显式调度可能意味着初始传输的NACK。每个cell上下行的HARQ进程数不能超过16个。每个cell在终端上通过RRC参数nrofHARQ-processesForPDSCH单独配置HARQ进程数。在没有任何配置的情况下,终端可以采用默认的8个HARQ进程。
在通信系统设计过程中,需要考虑为了支持HARQ功能,需要使用较大的buffer空间,例如采用FPGA进行BBU设计,外挂丰富的DDR资源。