NB-IoT的HARQ是一种将前向纠错(Forward Error Correction,FEC)编码和ARQ相结合而形成的技术。HARQ的基本原理是缓存没有正确接收到的数据,并且将重传数据和原始数据进行合并。此过程可以高效地补偿由于采用链路适配所带来的误码,提高了数据传输速率,见笑了数据传输时延。
HARQ主要是存储、请求重传和合并解调。接收方在解码失败的情况下,保存接收到的数据,并要求发送方重传数据,接收方将重传的数据和先前接收到数据进行合并后再解码。传统的ARQ技术简单地抛弃错误的数据,不做存储,也就不存在合并的过程,自然没有分集增益,往往需要过多重传、过长时间等待。
HARQ的基本原理如下:
(1)在接收端使用FEC技术纠正所有错误中能够纠正的那一部分;
(2)通过错误检测判断不能纠正错误的数据包;
(3)丢弃不能纠正的数据包,向发射端请求重新发送相同的数据包。
NB-IoT的HARQ技术主要有两种实现方式。
(1)软合并
在单纯的HARQ机制中,接收到的错误数据包是指直接被丢弃的。虽然这些错误数据包不能够独立地正确译码,但是它们依然包含有一定的信息。软合并就是利用这部分信息,即是将接收到的错误数据包保存在存储器中,与重传的数据包合并在一起进行译码,提高了传输效率。
(2)增量冗余
增量冗余技术是通过在第一次传输时发送信息bit和一部分冗余bit,而通过重传发送额外的冗余bit。如果第一次传输没有成功解码,则可以通过重传更多冗余bit降低信道编码率,从而提高解码成功率。如果加上重传的冗余bit仍然无法正常解码,则进行再次重传。随着重传次数的增加,冗余bit不断积累,信道编码率不断降低,从而可以获得更好的解码效果。
NB-IoT在十几种采取的软合并方式取决于HARQ合并机制。在软合并方案中,第一次发送的数据和重传的数据相同,接收端要对整个数据块进行合并。在增量冗余方案中,在错误块的基础上增加一些新的校验信息,接收端接收的编码符号中包含了和第一次传输数据不同的信息。
在E-UTRAN中,HARQ采用同步重传机制,下行链路HARQ采用自适应的异步重传机制。在同步机制中,只能按照第一次发送时的子帧号进行重传;在异步重传机制中,可在任意时刻发送重传数据。
上行链路之所以采用同步方式主要是为了减小协议开销。因为采用同步方式时接收端可以获取子帧号,所以不需要标示HARQ处理的通道号。
NB-IoT和LTE系统在物理层处理上有一个最大的区别,即为了实现覆盖增强和提升MCL,NB-IoT所有上、下物理信道都支持重传功能,即一个信道通过时间上的多次重复发送,以达到提升覆盖的目的。
NPDSCH和NPUSCH信道,在多次重复发送情况下,如果对端信道解码仍然失败,则依然可以通过HARQ方式,进行重传。
NB-IoT沿用和LTE系统相同的HARQ准则,但区别是NB-IoT UE设计复杂度低,采用单进程HARQ。