1:上行harq是对UE发往eNode数据pusch进行反馈及相应重传处理流程。上行harq是同步,ACK/NACK反馈和重传有固定的时序关系。
下行harq是对enodeb发往UE数据pdsch进行反馈及相应重传处理流程。下行harq是异步,ACK/NACK 有固定时序,可是重传没有,看ENB实现。
上行harq反馈时序:
bundling:
反馈bit数的确定比较简单:1bit或者2bit,由PDSCH里codeword的个数确定。
但是反馈内容的计算稍显复杂,不能仅仅是把所有反馈结果相与,因为可以想象把若干个值合成到一个值可能会有信息的遗失。比如漏检,如果有4个下行,但是UE只正确收到3个下行,那么相与的结果是TRUE,但是实际上漏检了一个。为了尽量避免这种错误,UE在反馈前要判断下需要反馈的个数,如果判断需要反馈的个数是4,但是只收到3个,那么就回NACK。个数的判断通过PDCCH控制信令的DAI实现。每个PDCCH指示的下行都会带有DAI。比如一个上行要反馈3个下行,那么第一个下行多DAI就是0,第二个是1,第三个是2。如果最后收到的是2,那么就认为没有漏检。
multiplexing:
反馈的bit内容比较简单,每个子帧的接收结果直接相与就可以,如果有2个codewords也不存在漏检的情况。但是由于子帧数不确定,也就是反馈的bit数,这样反馈资源选择较复杂。
36.213 7.3,如果发送反馈的上行子帧有PUSCH资源,那么分配资源的PDCCH format0会有DAI域,指示UE要反馈几个子帧,也就是几bit的。如果没有指示,那么需要反馈的bit数就是需要反馈的下行子帧的个数M。
36.21310.1如果发送反馈的上行子帧没有PUSCH资源,只能使用PUCCH资源,而PUCCH上发送ack/nack的格式只有1a和1b,最多只有2个bit,因此需要M=2,3,4映射到不同PUCCH资源上的2bit,网络根据PUCCH资源的位置和2个bit的内容,就可以知道这M个bit的情况。
可以看到M=2时,如果两个子帧收到的结果 是ACK, NACK/DTX,那么就使用来发送 ” 0,1”.网络通过检查资源和b0b1的结果就可以知道UE的接收结果。
Table 10.1-2: Transmission of ACK/NACK multiplexing for M= 2
HARQ-ACK(0), HARQ-ACK(1) |
||
ACK, ACK |
1, 1 |
|
ACK, NACK/DTX |
0, 1 |
|
NACK/DTX, ACK |
0, 0 |
|
NACK/DTX, NACK |
1, 0 |
|
NACK, DTX |
1, 0 |
|
DTX, DTX |
N/A |
N/A |
PUCCH资源由决定,可以由下行的PDCCH的第一个CCE的位置决定或者由SPS的36.213Table 9.2-2决定。
Pusch最多可以发送多少个bit,
这里不理解使用pdsch和pucch反馈的bit数是否不同,处理方式是否不同。