LTE学习笔记 HARQHARQ processHARQ information同步异步自适应非自适应ACKNACK反馈上行HARQ1.docx
- 文档编号:5809982
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:11
- 大小:374.78KB
LTE学习笔记 HARQHARQ processHARQ information同步异步自适应非自适应ACKNACK反馈上行HARQ1.docx
《LTE学习笔记 HARQHARQ processHARQ information同步异步自适应非自适应ACKNACK反馈上行HARQ1.docx》由会员分享,可在线阅读,更多相关《LTE学习笔记 HARQHARQ processHARQ information同步异步自适应非自适应ACKNACK反馈上行HARQ1.docx(11页珍藏版)》请在冰豆网上搜索。
LTE学习笔记HARQHARQprocessHARQinformation同步异步自适应非自适应ACKNACK反馈上行HARQ1
20140307(HARQ、HARQprocess、HARQinformation、同步/异步、自适应/非自适应、ACK/NACK反馈、上行HARQ
(1))
一、HARQ介绍
HARQ(HybridAutomaticRepeatreQuest),混合式自动重传请求,是一种结合FEC(ForwardErrorCorrection)与ARQ(AutomaticRepeatreQuest)方法的技术。
FEC通过添加冗余信息,使得接收端能够纠正一部分错误,从而减少重传的次数。
对于FEC无法纠正的错误,接收端会通过ARQ机制请求发送端重发数据。
接收端使用检错码,通常为CRC校验,来检测接收的数据包是否出错。
如果无错,则发送一个肯定的确认(ACK);如果出错,则接收端会丢弃数据包,并发送一个否定的确认(NACK)给发送端,发送端收到NACK后,会重发相同的数据。
前面介绍的ARQ机制采用丢弃数据包并请求重传的方式。
然而,虽然这些数据包无法被正确解码,但其中还是包含了有用的信息,如果丢弃了,这些有用的信息就丢失了。
通过使用HARQwithsoftcombining,接收到的错误数据包会保存在一个HARQbuffer中,并与后续接收到的重传数据包进行合并,从而得到一个比单独解码更可靠的数据包。
然后对合并后的数据包进行解码,如果还是失败,则再请求重传,再进行软合并。
根据重传的bit信息与原始传输是否相同,HARQwithsoftcombining分为Chasecombining和incrementalredundancy(IR,增量冗余)两类。
Chasecombining中重传的bit信息与原始传输相同;增量冗余中重传的bit信息不需要与原始传输相同。
这里我们只介绍增量冗余,因为LTE中使用的是这种机制。
在增量冗余中,每一次重传并不需要与初始传输相同。
相反,会生成多个codedbit的集合,每个集合都携带相同的信息。
每当需要重传时,通常会传输与前一次不同的codedbit集合,接收端会把重传的数据与前一次传输的数据进行合并。
每次重传的codedbit集合称为一个冗余版本(RedundancyVersion,RV)
由于重传可能携带了不包含前次传输中的额外奇偶校验比特(paritybit),所以重传的码率会降低。
每次重传可以包含与初始传输数目不同的codedbit,且不同重传的调制方式也可以不同。
图1是一个增量冗余的例子:
图1:
增量冗余的例子
这里我们以DL-SCH的物理层处理步骤来简单介绍一下冗余版本RV的生成过程。
UL-SCH的处理与之类似。
图2:
DL-SCH的物理层处理
图3:
速率匹配和HARQ功能
从图2、图3可以看出,在Turbo编码之后,会输出systematicbits,firstparitybits和secondparitybits。
这些输出会先进行交织,然后插入一个环形缓冲器(circularbuffer)中。
其中,systematicbits会先插入,然后firstparitybits和secondparitybits交替着插入。
不同的RV意味着从环形缓冲器的不同起始位置来提取要发送的bit。
对于DL-SCH和UL-SCH而言,其信道编码采用了Turbo编码。
Turbo编码中的systematicbit比paritybit更重要,在初传(initialtransmission)中至少需要包含所有的systematicbit和部分paritybit;而在重传(retransmission)中,会包含初传中没有的paritybit。
如果初传(注意:
这里是“第一次传输”)的接收质量很差或根本没收到,此时重传只带paritybit的RV不如重传包含全部(或部分)systematicbit的RV来得性能好。
这里有两种不同的否定应答:
NACK和DTX。
NACK要求重传额外的paritybit,而DTX要求重传systematicbit。
总之,基于之前传输尝试的信号质量来决定重传中包含多少systematicbit和paritybit是很重要的。
HARQ是通过校验CRC来判断接收到的数据包是否出错,并且校验CRC是在软合并之后进行的。
HARQ功能同时跨越物理层和MAC层。
其中发送端生成不同的redundancyversion(选用哪个RV是由MAC层告诉物理层的)以及接收端软合并是由物理层负责的。
在接收端,HARQbuffer通常位于物理层中,这是因为物理层需要对接收到的数据进行软合并和解码处理。
二、HARQprocess
HARQprotocol是MAC层的功能,HARQprotocol在发送端和接收端都存在。
发送端的HARQ操作包括传输和重传TB、接收并处理ACK/NACK;接收端的HARQ操作包括接收TB,软合并处理,生成ACK/NACK。
HARQ使用stop-and-waitprotocol(停等协议)来发送数据。
在停等协议中,发送端发送一个TB后,就停下来等待确认信息。
只需要1bit的信息来对该传输块进行肯定(ACK)或否定(NACK)的确认即可。
但是每次传输后发送端就停止并等待确认,会导致吞吐量很低。
因此LTE使用多个并行的stop-and-waitprocess:
当一个HARQprocess在等待确认信息时,发送端可以使用另一个HARQprocess来发送数据。
如图1所示。
这些HARQprocess共同组成了一个HARQ实体(HARQentity),这个实体结合了停等协议,同时允许数据的连续传输。
图1:
多个并行的HARQprocess
每个HARQprocess一次只处理一个TB(TransportBlock,传输块)。
每个HARQprocess在接收端都需要有独立的HARQbuffer以便对接收到的数据进行软合并。
每个UE都有一个HARQ实体。
在载波聚合中,每个载波单元(ComponentCarrier)都有各自的HARQ实体。
在空分复用中,一个TTI会并行传输2个TB,此时每个TB有各自独立的HARQ确认信息,1个HARQ实体包含2个HARQprocess集合。
使用多个并行的stop-and-waitprocess可能导致接收端的MAC层送往RLC层的数据是乱序的。
如图1所示,传输块5在传输块1之前成功解码,导致传输块5先于传输块1送往RLC层,从而出现数据的乱序。
因此,RLC层需要对接收到的数据进行重排序。
在载波聚合中,RLC层同样需要负责数据的重排序,这是因为RLC层对载波聚合不可见,而每个载波单元有独立的HARQ实体,导致一个RLC层需要从多个HARQ实体中接收数据,而接收自多个HARQ实体的数据很可能是乱序的。
当发送端收到一个确认信息(ACK/NACK)后,需要知道该确认信息对应的HARQprocess,这是通过确认信息与传输的数据之间固定的timing关系来确定的(上行、下行都适用。
注意:
这里是针对某次传输与对应的ACK/NACK之间的timing关系的,而同步/异步是针对重传和初传之间的timing关系的)。
三、HARQinformation
在处理HARQ时,有一些比较重要的信息值得我们关注,我把这些信息整理了一下:
图1:
HARQinformation
注:
1)下行DCI包括DCIformat1/1A/1B/1D/2/2A/2B/2C,但不包含DCIformat1C,因为1C不支持HARQ。
上行DCI包括DCIformat0/4。
2)重传时TBsize是不变的,因此没有必要在重传的DCI中指示新的TBsize,但必须保证初传的DCI是正确接收的。
TBsize是通过MCSindex指定的,MCSindex有5bit,但只使用29种组合(0~28),剩余的3种组合(29~31)是预留的,且这3种组合只用于重传。
从36.213的Table7.1.7.1-1(用于下行)和Table8.6.1-1(用于上行)可以看出,对于MCSindex29~31,TBSIndex都是预留的,这也可以说明,重传是不会改变TBsize的。
但对于下行而言,ModulationOrder是可以改变的,而上行不可以。
当然,使用这3种预留组合的前提是UE成功地接收了初传中的DCI(使用MCSindex0~28),否则重传中需要显式地指定TBsize,即此时不能使用MCSindex29~31。
3)关于MCSIndex在取值范围0~28和29~31的不同处理,以及上下行中的不同含义,大家需要好好关注一下。
四、同步/异步、自适应/非自适应
HARQ协议在时域上分为同步(synchronous)和异步(asynchronous)两类;在频域上分为自适应(adaptive)和非自适应(non-adaptive)两类。
注意:
这里的前提是针对同一HARQprocess。
一个HARQprocess在同一TTI只能处理一个TB。
异步HARQ(asynchronousHARQ)意味着重传可以发生在任一时刻,也意味着能以任意顺序使用HARQprocess。
同步HARQ(synchronousHARQ)意味着重传只能在前一次传输之后的固定时刻发送,也意味着某个特定的子帧,只能使用某个特定的HARQprocess。
同步HARQ的好处在于HARQprocess号可以直接从系统帧号/子帧号中推导出来,而无需显式地发送HARQprocess号(如何推导会在上行HARQ时介绍);异步HARQ的好处在于重传调度更加灵活。
自适应HARQ(adaptiveHARQ)意味着可以改变重传所使用的PRB资源以及MCS。
非自适应HARQ(non-adaptiveHARQ)意味着重传必须与前一次传输(新传或前一次重传)使用相同的PRB资源和MCS。
在LTE中,下行使用异步、自适应HARQ;上行使用同步HARQ,但重传可以是自适应的,也可以是非自适应的。
HARQ
Downlink
Uplink
timedomain
asynchronous
synchronous
frequencydomain
adaptive
adaptiveornon-adaptive
注意:
异步/同步、自适应/非自适应都是针对前一次传输(包括新传和前一次重传)与重传之间的关系的,而不是针对PUSCH传输(包括新传和重传)与ACK/NACK之间的关系的。
总结:
HARQ是混合式自动重传请求,是一种结合FEC(ForwardErrorCorrection)与ARQ(AutomaticRepeatreQuest)方法的技术。
TransportBlock经过信道编码(turbocoder)的数据包括三段,第一段可以认为是基本数据,其余两段是冗余数据,这三段数据依次放在一个环形缓冲区内。
RV版本其实就是指示从这个缓冲区的哪个位置来取数据。
NDI是新数据指示信令。
3GPPLTE中的HARQ采用了多通道停等机制,最大通道数可达8,合并方法采用了Chase和IR两种。
HARQ每次重传的传输块都与第l次传输时的相同。
然而,每次重传时采用的调制方式、信道码的集合和传输功率都可能与第1次传输时不同,即每次重传时的可用信道比特数可能不同,即使可用信道比特数相同,在物理信道中传输的信息比特也可能不同。
HARQ每次重传使用不同的冗余版本(RV),最多有8个不同的冗余版本,这里每个冗余版本对应了不同的编码比特子集,每个子集包含不同的比特。
Chase合并对应单一的冗余版本。
发送方在发送数据包的同时设置1比特的新数据指示信令NDI,每当发送新数据包则NDI翻转1次,接收方收到则会把接收数据缓存清空。
存储新的数据;而重传数据包时NDI保持不变,接收方收到则把它存在接收数据缓存中,与之前的版本进行合并译码。
二、ACK/NACK反馈:
LTE-ACK/NACKbundling与ACK/NACKmultiplexing
ACK/NACKbundling和ACK/NACKmultiplexing分别代表什么意思?
接收端如何区分各用户的接收状况?
Bundling是多个DLsubframe的每个codeword的接收结果通过逻辑与在一个ULsubframe用1bit反馈。
如果2个codeword就用2个bit反馈。
bundling是使用一个ack/nack完成前面若干个下行数据的TTI反馈,几个ack/nack进行and运算,然后用一个ack/nack来反馈,它的缺点是eNB不知道哪个子帧被错误接收,如一个子帧错误,那么就要重传所有的子帧,所以bundling不适合下行覆盖受限的情况。
目前协议中默认的ack/nack形式是bundling,协议中引入DAI(inDCI)来指示UE丢失信令的情况,如果DAImiss的话,会给所有的码字生成NACK。
Multiplexing是多个DLsubframe的接收结果在一个ULsubframe用多个bit反馈。
每个DLsubframe的多个codeword通过逻辑与变成一个bit。
Multiplexing是在一个上行时隙反馈多个ack/nack,即对多个下行数据反馈它们每一个的ack/nack信息。
所有的ack/nack信息可以用2bit来表示,利用对应的PDCCH中CCE的信息计算出ack/nack的反馈资源,并用2bit进行反馈,eNB接收反馈信息后根据反馈值和反馈资源查表得到每个下行资源的反馈信息。
另外Multiplexing不是协议的默认反馈形式,需要高层1bit信令配置。
无论bundling还是multiplexing,多用户上行ACK/NACK的区分靠的是扩频码和zadoff序列的循环移位值,ACK/NACK和下行接收数据块并不是一对一的关系;实际上,UE在接收过程中,若干个子帧内接收到的多个TB,可能只通过一个ACK/NACK反馈给发送端,根据Bunding模式和Multiplexing模式具体参数定义,可知一个上行ACK/NACK和哪些下行接收TB块的校验结果相对应。
总结:
Bundling是默认的配置,其方式为bundling使用一个ack/nack完成前面若干个下行数据的TTI反馈,几个ack/nack进行and运算,然后用一个ack/nack来反馈。
Multiplexing需要高层1bit信令配置。
其方式是多个下行数据反馈它们每一个的ack/nack信息。
三、上行HARQ
(1)
图1是关于上行数据传输的一个示意图(除了SR外,不包含PUCCH)。
本文主要
介绍其中的上行HARQ处理。
图1:
上行流程
eNodeB使用PHICH来告诉UE是否成功接收PUSCH,一个上行TB对应一个PHICH。
对于FDD而言,如果上行传输模式为TM1,则有8个上行HARQprocess;如果上行传输模式为TM2,则有上行HARQprocess数将翻倍,为16个,此时每个子帧有2个HARQprocess。
对于TDD而言,如果上行传输模式为TM1,则不同的TDD上下行配置对应的上行HARQprocess数见36.213的Table8-1所示(如下图);如果上行传输模式为TM2,则有上行HARQprocess数将翻倍,此时每个子帧有2个HARQprocess。
这里我们不考虑子帧绑定(subframebundling)的场景。
Table8-1:
NumberofsynchronousULHARQprocessesforTDD
TDDUL/DLconfiguration
NumberofHARQprocessesfornormalHARQoperation
NumberofHARQprocessesforsubframebundlingoperation
0
7
3
1
4
2
2
2
N/A
3
3
N/A
4
2
N/A
5
1
N/A
6
6
3
每个UE(而不是每个无线承载)会被配置一个最大传输次数。
Msg3的最大传输次数是通过RACH-ConfigCommon的maxHARQ-Msg3Tx字段来配置的;而除Msg3外的其它上行HARQprocess允许的最大传输次数是通过MAC-MainConfig的maxHARQ-Tx字段来配置的。
前面已经介绍过,在LTE中,上行使用同步HARQ,但重传可以是自适应的,也可以是非自适应的。
上行HARQ使用同步(synchronous)、非自适应(non-adaptive)的目的是为了降低开销。
由于上行重传总是发生在可预知的子帧上(例如:
在FDD下,重传总是发生在前一次传输的8个子帧之后;TDD见后续介绍),所以根据timing关系可以直接推导出使用的HARQprocess。
并且在非自适应重传时,重传与与前一次传输(注意:
不是“新传”,这可以在36.300的9.1节和36.321的5.4.2.2节得到答案)使用相同的PRB资源和MCS。
因此下行只需要PHICH这一种控制信令,而不需要PDCCH(ULgrant),从而降低了开销。
而上行HARQ有时使用自适应(adaptive)重传是为了避免分割上行频域资源或避免与随机接入的资源发生碰撞。
此时eNodeB不仅会发送PHICH,还会发送PDCCH(ULgrant)以指示重传所使用的新的PRB资源和MCS。
如果上行同时支持自适应和非自适应HARQ,则要求对应同一上行子帧的PHICH和PDCCH拥有相同的timing,即在同一子帧中发送。
如果不满足该条件,则UE不知道是该听从PHICH还是该等待ULgrant而不管PHICH,实现的复杂度会大增。
HARQfeedbackseenbytheUE
PDCCHseenbytheUE
UEbehaviour
retransmissiontype
ACKorNACK
newtransmisson
(NDIistoggled)
newtransmissionaccordingtoPDCCH,andflushtheHARQbuffer
NA
ACKorNACK
retransmission
(NDIisnottoggled)
retransmissionaccordingtoPDCCH
adaptiveretransmission
ACK
none
no(re)transmission,keepdatainHARQbufferandaPDCCHisrequiredtoresumeretransmissions
NA
NACK
none
retransmissionoccursatthesamefrequencyresourcesandwiththesametransmissionformatastheprevioustransmission
non-adaptiveretransmission
图2:
上行HARQ处理(参见36.300的9.1节)
上行HARQ处理见图2,这对FDD和TDD是一样的。
可以看出:
(1)给定某个HARQprocess,即使接收到的PHICH指示为ACK,也不会清空HARQ缓存区。
此时,还需要通过在当前子帧或后续子帧中接收到的ULgrant中的NDI来决定是进行重传(NDI没有反转),还是进行新传(NDI反转,此时会清空HARQ缓存区)。
也即,是否清空HARQ缓存区是由ULgrant的NDI来决定的。
假如UE收到了ACK,之后要进行重传,只能进行自适应重传、而不能进行非自适应重传!
(见36.300的9.1节)
(2)给定某个HARQprocess,无论收到的PHICH指示的是ACK还是NACK,只要同时还收到ULgrant,则UE会忽略PHICH而使用ULgrant来决定如何进行下一次传输(新传还是重传)。
(3)如果在某个子帧只收到PHICH(NACK),则使用非自适应重传。
前面已经介绍了UE如何确定是新传还是重传,现在我们来介绍UE如何确定重传的冗余版本RV。
如果是非自适应重传,UE只会收到PHICH中指示的ACK/NACK信息,而不会显式地收到RV信息。
上行HARQ是同步的,RV遵循一个固定的顺序:
0,2,3,1(注意:
这个顺序只对“非自适应重传”有意义)。
新传使用的RV由ULgrant指定,值为0;若之后UE收到NACK,则会使用前一次传输对应的下一个RV版本(对应0,下一个RV值为 2;对应2,下一个RV值为 3)来发起重传,依此类推。
如果是自适应重传,则UE不仅会收到PHICH,还会收到PDCCH(ULgrant)。
如果需要重传,UE会根据ULgrant的指示来选择RV(见36.213的Table8.6.1-1),但不一定是0,2,3,1的顺序。
如果ULgrant中指示的MCSindex为0~28,则RV=0并使用Table8.6.1-1中指示的真正的MCS。
如果ULgrant中指示的MCSindex为29~31,RV版本见Table8.6.1-1,并且从表中可以看出,这3个MCSindex是预留的,不携带真正的MCS信息,因此如果MCSindex为29~31,其MCS遵循前一次传输使用的MCS(TBsize和调制方式都与前一次传输,或者说,最近一次接收到的MCSindex为0~28的ULgrant相同)。
(见36.213的Table8.6.1-1)
在ULgrant调度的重传中使用哪种RV需要在增量冗余增益和稳定性之间取得平衡。
从增量冗余的角度上看,改变重传之间的RV值有益于充分利用来自增量冗余的增益。
但如果丢失了第一次传输的ULgrant信息,则意味着需要使用RV=0的冗余版本,以便显式地指示MCS信息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LTE学习笔记 HARQHARQ processHARQ information同步异步自适应非自适应ACKNACK反馈上行HARQ1 LTE 学习 笔记
链接地址:https://www.bdocx.com/doc/5809982.html