HARQ

HARQ介绍

原文地址:http://blog.sina.com.cn/s/blog_927cff010101bzet.html

原文地址:https://blog.csdn.net/a34140974/article/details/79577942

LTE中存在两种级别的重传机制:MAC层的HARQ,以及RLC层的ARQ(AM模式)。其主要作用的是MAC层的HARQ,而RLC的ARQ是作为一种补充手段而存在的。

      HARQ(Hybrid Automatic Repeat reQuest),混合式自动重传请求,是一种结合FEC(Forward Error Correction)与ARQ(Automatic Repeat reQuest)方法的技术。

      FEC通过添加冗余信息,使得接收端能够纠正一部分错误,从而减少重传的次数。(详见[3])

FEC是一种数据编码技术,在FEC方式中,接收端不但可以发现差错,而且可以确定二进制马元发生错误的位置,从而加以纠正。FEC方式必须使用纠错码。发现错误无须通知发送方重发。前向纠错是指信号在被传输之前预先对其进行按一定的格式处理,在接收端则按规定的算法进行解码以达到找出错码并纠错的目的。

      对于FEC无法纠正的错误,接收端会通过ARQ机制请求发送端重发数据。接收端使用检错码,通常为CRC校验,来检测接收的数据包是否出错。如果无错,则发送一个肯定的确认(ACK);如果出错,则接收端会丢弃数据包,并发送一个否定的确认(NACK)给发送端,发送端收到NACK后,会重发相同的数据。

      前面介绍的ARQ机制采用丢弃数据包并请求重传的方式。然而,虽然这些数据包无法被正确解码,但其中还是包含了有用的信息,如果丢弃了,这些有用的信息就丢失了。通过使用HARQ with soft combining,接收到的错误数据包会保存在一个HARQ buffer中,并与后续接收到的重传数据包进行合并,从而得到一个比单独解码更可靠的数据包。然后对合并后的数据包进行解码,如果还是失败,则再请求重传,再进行软合并。

      根据重传的bit信息与原始传输是否相同,HARQ with soft combining分为Chase combining和incremental redundancy(IR,增量冗余)两类。Chase combining中重传的bit信息与原始传输相同;增量冗余中重传的bit信息不需要与原始传输相同。这里我们只介绍增量冗余,因为LTE中使用的是这种机制。

      在增量冗余中,每一次重传并不需要与初始传输相同。相反,会生成多个coded bit的集合,每个集合都携带相同的信息。每当需要重传时,通常会传输与前一次不同的coded bit集合,接收端会把重传的数据与前一次传输的数据进行合并。每次重传的coded bit集合称为一个冗余版本(Redundancy Version,RV)

HARQ_第1张图片

HARQ分类

根据重传内容的不同,在3GPP标准和建议中主要有3种混合自动重传请求机制,包括HARQ-I、HARQ-II和HARQ-III等。
(1)HARQ-I型:FEC前向纠错+重传
HARQ-I即为传统HARQ方案,它仅在ARQ的基础上引入了纠错编码,即对发送数据包增加循环冗余校验(CRC)比特并进行FEC编码。接收端对接收的数据进行FEC译码和CRC校验,如果有错则放弃错误分组的数据,并向发送端反馈NACK信息请求重传与上一帧相同的数据包。一般来说,物理层设有最大重发次数的限制,防止由于信道长期处于恶劣的慢衰落而导致某个用户的数据包不断地重发,从而浪费信道资源。如果达到最大的重传次数时,接收端仍不能正确译码,则确定该数据包传输错误并丢弃该包,然后通知发送端发送新的数据包。这种HARQ方案对错误数据包采取了简单的丢弃,而没有充分利用错误数据包中存在的有用信息。所以,HARQ-I型的性能主要依赖于FEC的纠错能力。
(2)HARQ-II型:FEC前向纠错+重传+组合译码
HARQ-II也称作完全增量冗余方案。在这种方案下,信息比特经过编码后,将编码后的校验比特按照一定的周期打孔,根据码率兼容原则依次发送给接收端。收端对已传的错误分组并不丢弃,而是与接收到的重传分组组合进行译码;其中重传数据并不是已传数据的简单复制,而是附加了冗余信息。接收端每次都进行组合译码,将之前接收的所有比特组合形成更低码率的码字,从而可以获得更大的编码增益,达到递增冗余的目的。每一次重传的冗余量是不同的,而且重传数据不能单独译码,通常只能与先前传的数据合并后才能被解码。
(3)HARQ-III型:FEC前向纠错+重传+互补删除
HARQ-III型是完全递增冗余重传机制的改进。对于每次发送的数据包采用互补删除方式,各个数据包既可以单独译码,也可以合成一个具有更大冗余信息的编码包进行合并译码。另外根据重传的冗余版本不同,HARQ-III又可进一步分为两种:一种是只具有一个冗余版本的HARQ-III,各次重传冗余版本均与第一次传输相同,即重传分组的格式和内容与第一次传输的相同,接收端的解码器根据接收到的信噪比(SNR)加权组合这些发送分组的拷贝,这样,可以获得时间分集增益。另一种是具有多个冗余版本的HARQ-III,各次重传的冗余版本不相同,编码后的冗余比特的删除方式是经过精心设计的,使得删除的码字是互补等效的。所以,合并后的码字能够覆盖FEC编码中的比特位,使译码信息变得更全面,更利于正确译码。目前LTE采用这种。

HARQ分类总结

1、第一种:FEC ARQ FEC纠错,丢弃错误包,接收端申请复制重传消息,重传超时后,发送端新的数据(非软合并)
2、第二种:FEC AQ FEC纠错,接收端申请含有不同冗余的重传消息,且接收端在接收到新的重传消息后,把之前传的所有该条数据进行组合解码,且只能进行组合译码,即软合并。
3、第三种:FEC ARQ FEC纠错,既可以单独译码,也可以组合译码,有分为:重传只有一种冗余版本和各次重传的冗余版本不相同(编码后的冗余比特的删除方式是经过精心设计的,
使得删除的码字是互补等效的,使译码信息变得更全面,更利于正确译码);

目前LTE采用第三种。

增量冗余(incremental redundancy

在IR(Incremental redundancy)中,每一次重传的bit内容并不一定需要与第一次传输相同。IR机制会根据同一份Info生成多个不同bit集合(但携带的信息相同)。每次重传发送一份RV版本,但多份可以组合解码。由于在重传的时候一般会携带额外的奇偶校验bits(parity bit),所以重传的误码率会降低。
Ps:这里需要注意的是CRC是在HARQ的上层,判断一个info是否正确传输的依据在于CRC校验是否成功。第一次的奇偶校验bits一般具有更高的效率,所以在信号特别不好的时候,有时候重传RV#1能获得更好的结果。HARQ 功能同时跨越物理层和 MAC 层。其中发送端生成不同的冗余版本以及接收端进行软合并、CRC 校验是由物理层负责的。在接收端,HARQbuffer 通常位于物理层中,这是因为物理层需要对接收到的数据进行软合并和解码处理。而发送端RV 版本的选择是在MAC 层告诉物理层的)。

HARQ Process

由于数据发送后接收端的NACK/ACK是有好几个SF的延迟的,而HARQ使用的又是停等协议来发送数据,为了充分利用这之间的SF,LTE使用8个HARQ Process构成HARQ Process entity来处理。在在载波聚合中一个中UE可以有多个HARQ entity。
每个HARQ process在一个TTI只处理一个TB。每个HARQ process在接收端都有一个对应的HARQ buffer对相应的数据进行软合并。空分复用在一个TTI中传输2个TB,使用不同的HARQ process处理,此时有16个HARQ process。
 

 

 

你可能感兴趣的:(HARQ)