LTE学习笔记HARQBSR.docx
- 文档编号:7384662
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:17
- 大小:481.13KB
LTE学习笔记HARQBSR.docx
《LTE学习笔记HARQBSR.docx》由会员分享,可在线阅读,更多相关《LTE学习笔记HARQBSR.docx(17页珍藏版)》请在冰豆网上搜索。
LTE学习笔记HARQBSR
20140310HARQ,BSR
LTE:
上行HARQ
(二)
接下来,我们来看看上行是如何进行同步的。
首先需要说明的是,如果UE需要在PUSCH上发送数据,UE需要满足以下两个条件之一:
1)收到一个有效的ULGrant:
该ULgrant可以来自动态调度的PDCCH(DCIformat0/4,本文只介绍这种情况)、或来自RAR,或通过半静态配置。
2)收到一个PHICH且指示为NACK:
对应非自适应重传。
接下来,我们分FDD、TDD1~6、TDD0三种配置来介绍上行HARQ在时域上的同步关系!
每种配置都包含2部分:
1)ULgrant/PHICH与对应的PUSCH传输之间的timing关系;2)PUSCH传输与对应的PHICH(ACK/NACK)之间的timing关系。
1)FDD
对FDD而言,如果UE在子帧n收到了ULgrant(DCIformat0/4,对应新传或自适应重传)或PHICH(只收到NACK,对应非自适应重传),则UE会在n+4子帧发送对应的PUSCH。
(见36.213的8.0节)
对FDD而言,如果UE在子帧n收到了PHICH,则该PHICH对应UE在上行子帧n-4发送的PUSCH。
(见36.213的8.3节)
如图3所示。
图3:
FDD中的上行传输,ULgrant、PUSCH、ACK/NACK之间的timing关系
子帧n,n+4、n+8、n+12、n+16都对应同一HARQprocess。
只要确定了子帧n所使用的HARQprocessnumber,根据timing关系,也就知道后续子帧n+4、n+8、n+12、n+16所使用的HARQprocess。
TDD的情况类似,但是timing关系略有不同。
(注:
每个子帧只对应一个HARQprocess,空分复用的情况下是2个,每个对应一个TB。
)
2)TDD1~6
对TDDUL/DLconfiguration1~6而言,如果UE在子帧n收到了ULgrant(DCIformat0/4,对应新传或自适应重传)或PHICH(只收到NACK,对应非自适应重传),则UE会在n+k子帧发送对应的PUSCH。
其中k的值见36.213的Table8-2(见下图)。
(见36.213的8.0节)
Table8-2kforTDDconfigurations0-6
TDDUL/DL
Configuration
subframenumbern
0
1
2
3
4
5
6
7
8
9
0
4
6
4
6
1
6
4
6
4
2
4
4
3
4
4
4
4
4
4
5
4
6
7
7
7
7
5
图4给出了TDDConfiguration1和2下,ULgrant/PHICH与对应的PUSCH传输之间的timing关系。
以TDDConfiguration1为例,如果UE在子帧1收到了ULgrant(或PHICH),则UE会在子帧7(n+k=1+6)发送PUSCH(或重传);如果UE在子帧9收到了ULgrant(或PHICH),则UE会在下一系统帧的子帧3(n+k=9+4)发送PUSCH(或重传)。
图4:
TDD1/2中,ULgrant/PHICH与对应的PUSCH传输之间的timing关系
(对应36.213的Table8-2)
对TDDUL/DLconfiguration1-6而言,如果UE在子帧n收到了PHICH,则该PHICH对应UE在上行子帧n-k发送的PUSCH。
其中k的值见36.213的Table8.3-1(见下图)。
(见36.213的8.3节)
Table8.3-1kforTDDconfigurations0-6
TDDUL/DL
Configuration
subframenumberi
0
1
2
3
4
5
6
7
8
9
0
7
4
7
4
1
4
6
4
6
2
6
6
3
6
6
6
4
6
6
5
6
6
6
4
7
4
6
图5给出了TDDConfiguration1和2下,PUSCH传输与对应的PHICH(ACK/NACK)之间的timing关系。
以TDDConfiguration1为例,如果UE在子帧2发送了PUSCH,则UE会在子帧6(N-K=6-4)接收对应的PHICH;如果UE在子帧7发送了PUSCH,则UE会在下一系统帧的子帧1(N-K=1-4=7)接收对应的PHICH。
图5:
TDD1/2中,PUSCH传输与对应的PHICH(ACK/NACK)之间的timing关系
(对应36.213的Table8.3-1)
图6举了一个例子:
TDD1下,假如UE在下行子帧1收到ULgrant,对照图4可知,UE会在上行子帧7发送PUSCH,进一步对照查图5可知,UE会在下行子帧1接收PHICH(和ULgrant)。
如果需要重传,对照图4可知,UE会在上行子帧7进行重传,如此反复!
这就是一个完整的HARQ处理流程。
图6:
举例
3)TDD0
对TDDUL/DLconfiguration0而言,一个系统帧内的下行子帧数少于上行子帧数。
因此,一个下行子帧可能需要同时给2个上行子帧发送ULgrant,为了实现该功能,DCIformat0/4新增了一个2bit的字段:
ULindex(见36.212的5.3.3.1.1节和5.3.3.1.8节)。
与此同时,一个下行子帧可能需要同时反馈2个上行子帧的ACK/NACK信息,为了将不同上行子帧对应的PHICH区分开,又新增了
的概念(见36.213的9.1.2节)。
注意:
只有TDDUL/DLconfiguration0下的上行子帧4和9对应
;其它情况下(包括其它TDD配置和FDD),
。
对TDDUL/DLconfiguration0而言,如果UE在子帧n收到的ULgrant的MSB置为1,或在子帧0或5接收到的PHICH对应
(反馈的不是子帧4或9的ACK/NACK信息),则UE会在子帧n+k发送对应的PUSCH,其中k的值见36.213的Table8-2。
对TDDUL/DLconfiguration0而言,如果UE在子帧n收到的ULgrant的LSB置为1,或在子帧0或5接收到的PHICH对应
,或在子帧1或6接收到PHICH,则UE会在子帧n+7发送对应的PUSCH。
对TDDUL/DLconfiguration0而言,如果UE在子帧n收到的ULgrant的MSB和LSB均置为1,则UE会在子帧n+k和n+7都发送对应的PUSCH。
(见36.213的8.0节)
从图7中可以看出:
在TDD0中,
(1)任意一个下行子帧发送的ULgrant都可能对应2个上行子帧发送的PUSCH;2)某个上行子帧可能得到来自2个下行子帧的ULgrant。
例如:
如果在下行子帧0收到的ULgrant的LSB置为1,同时在下行子帧1收到的ULgrant的MSB置为1,则对应上行子帧7,会收到2个ULgrant!
关于1个上行子帧有2个ULgrant的情形该如何处理,我没有找到相关的介绍。
但我这里也有些疑惑:
2个ULgrant如果调度到同一块PRB资源怎么办?
或是2选一?
或是eNodeB在做上行调度时,保证对应一个上行子帧只会收到一个ULgrant?
图7:
TDD0中,ULgrant(PHICH)与对应的UL-SCH之间的timing关系
如图8所示,下行子帧0需要同时反馈上行子帧3(
)和4(
)的ACK/NACK信息;下行子帧5需要同时反馈上行子帧8(
)和9(对应
)的ACK/NACK信息。
如果UE在对应
的子帧n收到了PHICH,则该PHICH对应UE上行子帧n-k发送的PUSCH数据,其中k的值见36.213的Table8.3-1;如果UE在对应
的子帧n收到了PHICH,则该PHICH对应UE上行子帧n-6发送的PUSCH数据。
其中k的值见36.213的Table8.3-1。
(见36.213的8.3节)
图8:
TDD0中,PUSCH传输与对应的ACK/NACK之间的timing关系
【举例】
图9是一个FDD下,上行HARQ的例子。
TDD除了timing关系不同外,其它处理是一样的。
图不是很清晰,大家注意一下每个子帧对应的虚线。
图9:
非自适应和自适应HARQ操作(FDD)
注:
R-10中新增了DCIformat4以支持上行空分复用,此时2个codeword对应的是不同的HARQprocess,处理方式与之前介绍的相同。
但在非自适应重传时,如果接收到的NACK数与最近接收到的PDCCH指示的TB数,有特殊处理,大家可以关注下36.213的8.0节。
因为对DCIformat4没有太深的了解,这里我就不做介绍了。
本文总结:
1)如何确定是重传还是新传?
给定某个HARQprocess,无论收到的PHICH指示的是ACK还是NACK,只要同时还收到ULgrant,则UE会忽略PHICH而使用ULgrant来决定如何进行下一次传输(新传还是重传)。
当前子帧或后续子帧中接收到的ULgrant中的NDI来决定是进行重传(NDI没有反转),还是进行新传(NDI反转,此时会清空HARQ缓存区)。
2)什么时候会清空缓冲区?
是否清空HARQ缓存区是由ULgrant的NDI来决定的。
3)如何确定HARQprocess?
对于FDD而言,如果上行传输模式为TM1,则有8个上行HARQprocess;如果上行传输模式为TM2,则有上行HARQprocess数将翻倍,为16个,此时每个子帧有2个HARQprocess。
对于TDD而言,如果上行传输模式为TM1,则不同的TDD上下行配置对应的上行HARQprocess数见36.213的Table8-1所示(如下图);如果上行传输模式为TM2,则有上行HARQprocess数将翻倍,此时每个子帧有2个HARQprocess。
这里我们不考虑子帧绑定(subframebundling)的场景
4)如何确定冗余版本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)
5)如何确定同步关系?
本章分FDD、TDD1~6、TDD0三种配置来介绍上行HARQ在时域上的同步关系。
每种配置都包含2部分:
1)ULgrant/PHICH与对应的PUSCH传输之间的timing关系;2)PUSCH传输与对应的PHICH(ACK/NACK)之间的timing关系。
FDD
TDD1`6
TDD0
ULgrant
n+4
n+k
n+k/n+7
PHICH(ACK/NACK)
n-4
n-k
n-k/n-6
6)上行HARQ中的自适应和非自适应处理有何不同?
1、如果是非自适应重传,UE只会收到PHICH中指示的ACK/NACK信息。
如果是自适应重传,则UE不仅会收到PHICH,还会收到PDCCH(ULgrant)。
2、在非自适应重传时,重传与与前一次传输使用相同的PRB资源和MCS。
因此下行只需要PHICH这一种控制信令,而不需要PDCCH(ULgrant),从而降低了开销。
在自适应重传时是为了避免分割上行频域资源或避免与随机接入的资源发生碰撞。
此时eNodeB不仅会发送PHICH,还会发送PDCCH(ULgrant)以指示重传所使用的新的PRB资源和MCS。
3、自适应重传/非自适应重传的同步timing时间不一样。
二、HARQbundling和HARQmultiplexing
对于TDD,如果UE不支持聚合超过1个servingcell,即非载波聚合的条件下,RRC层可以给UE配置2种ACK/NACK反馈模式。
(见36.213的10.1.3节)
1、HARQ-ACKbundling(或称为HARQbundling、ACK/NACKbundling)
2、HARQ-ACKmultiplexing(或称为HARQmultiplexing、ACK/NACKmultiplexing)
可以看出,只有TDD且非载波聚合的情况下,才有HARQbundling和HARQmultiplexing的概念。
UE使用HARQbundling还是HARQmultiplexing是通过PUCCH-ConfigDedicated的tdd-AckNackFeedbackMode字段来配置的。
该字段对PUCCH和PUSCH上回复的ACK/NACK均有效。
一、HARQbundling
HARQbundling:
将同一servingcell的多个下行子帧的对应同一codeword的ACK/NACK做逻辑与(logicalAND)操作,最终得到1bit(非空分复用,使用PUCCHformat1a)或2bit(空分复用,使用PUCCHformat1b)的ACK/NACK信息。
做HARQbundling操作的是属于同一HARQ绑定窗口内的
个PDSCH传输和指示下行SPS释放PDCCH的子帧,那些没有发送PDCCH/PDSCH的子帧是不考虑在内的。
(根据每个子帧发送多少个codeword,即是否使用空分复用,决定发送多少个bit的信息)
注意:
HARQbundling只用于单个cell的场景。
也就是说,载波聚合并不使用HARQbundling。
图1:
HARQbundling的一个例子
上图是HARQbundling的一个例子,空分复用的UE在4个下行子帧接收到的PDSCH对应在同一个上行子帧回ACK/NACK。
eNodeB在第1、2、4个子帧发送了PDSCH,对应codeword0,HARQ反馈分别为NACK/ACK/ACK,则有0&1&1=0;对应codeword1,HARQ反馈分别为ACK/ACK/ACK,则有1&1&1=1。
则在对应的PUCCH/PUSCH上做反馈时,会携带2bit的信息01,即对应的所有下行子帧的第一个codeword都需要重传,而第二个codeword不需要重传。
假定上图中其他条件不变,eNodeB在第3个子帧(对应阴影部分)也发送了PDCCH和PDSCH,但UE没有检测到,此时UE应该反馈00。
但由于UE不知道eNodeB是否在第三个子帧发送了数据,根据HARQbundling的原理,还是会反馈01,这就不对了。
为了解决这类问题,LTE提出了DAI的概念,这在之前的博文已经介绍。
注意:
协议中的提到“spatialHARQ-ACKbundling(或spatially-bundled)”与“HARQ-ACK bundling”不是同一个概念。
“spatialHARQ-ACK bundling(或spatially-bundled)”是指将同一小区,同一下行子帧发送的2个codeword对应的2个ACK/NACK做逻辑与(logicalAND)处理,得到1bit的ACK/NACK信息。
它主要应用于HARQmultiplexing、PUCCHformat1bwithchannelselection和PUCCHformat3。
(这只是对单个下行子帧的处理,而HARQbundling/multiplexing是对整个HARQ绑定窗口的处理)
使用HARQbundling的场景有3种(见36.213的7.3节):
(1)tdd-AckNackFeedbackMode设置为bundling;
(2)tdd-AckNackFeedbackMode设置为multiplexing,但回应ACK/NACK的上行子帧对应的M值为1(M的取值见36.213的Table10.1.3.1-1),即一个上行子帧对应一个下行子帧的场景。
这种场景至多需要回应2bit(空分复用)的ACK/NACK,如果使用HARQmultiplexing,至多只能携带1bit的信息,反而不如使用HARQbundling将2bit的信息都回复给eNodeB(使用PUCCHformat1b)。
(3)对于TDDUL-DLconfiguration5且UE不支持聚合超过1个servingcell(即非载波聚合条件下),则该UE只支持HARQbundling。
(见36.213的10.1.3节)
对于HARQbundling,当UE配置了TM3/4/8/9并且ACK/NACK在PUSCH上传输(注意:
不包含PUCCH上回应ACK/NACK的情况),则UE总是假定codeword0和1都使能,并最终生成2bit的ACK/NACK信息。
如果UE在HARQ绑定窗口内只在codeword0检测到PDSCH传输,则UE为codeword1生成NACK。
(关于codeword使能/去使能,会在后面介绍)
通过之前的介绍,我们可以看出,对于HARQbundling,只要UE在绑定窗口内有一个TB没有正确接收(NACK/DTX),对应该TB所在的codeword,eNodeB就应该收到NACK或根本没收到HARQ反馈,并重传所有下行子帧对应该codeword的数据。
由于只需要传输1或2bit的ACK/NACK信息,HARQbundling能够提高上行控制信令的ULcoverage和capacity(尤其对小区边缘的UE)。
而不足之处在于eNodeB无法确认哪一个或几个下行子帧解码失败,只好把所有下行子帧的数据都重传一遍,这会导致throughput的下降。
二、HARQmultiplexing
HARQmultiplexing:
将同一servingcell的同一下行子帧发送的2个codeword对应的ACK/NACK做逻辑与(logicalAND)操作(注意:
在协议中,这称为“spatiallybundled”或“spatialHARQ-ACK bundling”处理,与HARQbundling不是同一个概念),得到1bit的ACK/NACK信息。
做HARQmultiplexing操作的是属于同一HARQ绑定窗口内的下行子帧,根据有多少个子帧发送了下行数据,或M值的大小,决定发送多少bit的信息。
这两种情况的区别,见后续介绍。
图5:
HARQmultiplexing的一个例子
上图是HARQmultiplexing的一个例子,空分复用的UE在4个下行子帧接收到的PDSCH对应在同一个上行子帧回ACK/NACK。
eNodeB在第1、2、4个下行子帧发送了PDSCH,对应第1个子帧,2个codeword的HARQ反馈分别为NACK/ACK,则有0&1=0;对应第2个子帧,2个codeword的HARQ反馈分别为ACK/ACK,则有1&1=1;对应第3个子帧,没有下行传输,则有0&0=0(注意:
这个0可能发送,也可能不发送,这会在后续介绍);对应第4个子帧,2个codeword的HARQ反馈分别为ACK/ACK,则有1&1=1。
则在对应的PUCCH/PUSCH上做反馈时,会携带3bit(或4bit)的信息011(或0101),即第1个下行子帧的2个codeword都需要重传。
使用HARQmultiplexing的场景:
tdd-AckNackFeedbackMode设置为multplexing,且反馈ACK/NACK的上行子帧对应的M值为大于1(M的取值见36.213的Table10.1.3.1-1),即一个上行子帧对应多个下行子帧的场景。
(见36.213的7.3节)
对于TDDUL-DLconfiguration5且UE不支持聚合超过1个servingcell(即非载波聚合条件下),则该UE只支持HARQbundling,而不支持HARQmultiplexing。
(见36.213的10.1.3节)
总结:
参考
二、BufferStatusReport(BSR)
在前一篇博客(见《LTE:
上行调度请求(Scheduling Request,SR)》)中已经介绍到,UE通过SR向eNodeB请求上行资源时,只指明了其是否有上行数据需要发送,而没有指明自己需要发送多少上行数据。
UE需要通过BSR(BufferStatusReport)告诉eNodeB,其上行buffer里有多少数据需要发送,以便eNodeB决定给该UE分配多少上行资源。
根据业务的不同,UE可能建立大量的无线承载(radiobearer,每个bearer对应一个逻辑信道),如果为每一个逻辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LTE学习笔记 HARQBSR LTE 学习 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)