LTE-TDD的时序不同于LTE-FDD,并不是固定的n+4的关系,而是与上下行子帧配置UL/DL config参数相关,该参数由SIB1中的tdd-Config字段下发到UE。

(图1)

1.上行HARQ时序需要考虑的地方

本文主要从时序方面分析上行HARQ过程,主要包括以下几个时序:

(1)eNB收到RA/SR/BSR后分配UL_GRANT,UE使用该UL_GRANT在PUSCH中发送数据的时序;

(2)eNB在PHICH中发送NACK,UE接收PHICH的时序;

(3)UE执行上行重传的同步时序。

下面从时序角度具体分析各个过程。

2.eNB调度ULSCH资源,UE使用分配的UL_GRANT发送UL_DATA的时序

这里需要分两种情况讨论:

(1)UE通过随机接入过程,向eNB发送MSG1(随机接入过程内容较多,以后专门另开博文介绍)。eNB在RAR中配置MSG3将要使用的UL_GRANT,后续UE在UL_GRANT指定的资源中发送MSG3。具体流程如下。

(图2)

因为MSG1发出后的第3个子帧,UE才开始接收RAR,因此上图中标注的下行时间是(>=t+3),具体时间需要依赖于eNB实际调度。RAR的格式如下图所示。

(图3)

其中UL_GRANT占用20个bits,具体内容是:

- Hopping flag – 1 bit

- Fixed size resource block assignment – 10 bits

- Truncated modulation and coding scheme – 4 bits

- TPC command for scheduled PUSCH – 3 bits

- UL delay – 1 bit

- CQI request – 1 bit

UL_delay字段表示MSG3使用哪个时刻的PUSCH资源。如果UL_delay=0,那么MSG3将在(m+p)的第一个上行子帧发送,p>=6,如果UL_delay=1,那么MSG3将在(m+p)的第一个上行子帧的下一个上行子帧发送。比如当前上下行子帧配置是1(2、3、7、8号子帧是上行子帧),RAR在1号子帧下发,那么如果UL_delay=0,则MSG3将在(m+p)=(1+6)=7号子帧中发送;如果UL_delay=1,则MSG3将在(m+p)=(1+6)=7号子帧的下一个上行子帧,即8号子帧中发送。

(图4)

(2)eNB收到SR/BSR后分配UL_GRANT。协议36213中Table8-2规定了其中一种时序关系(下图。注:上行重传也要用到这个表),这种关系可以简单称之为(n+k)的关系。

(图5)

即:n表示下行携带UL_GRANT(DCI0)的子帧号,k表示子帧时延,也就是上图中二维表格中的焦点值,(n+k)%10的值表示UE需要在哪个子帧的PUSCH上发送数据。比如上下行子帧配置1模式,eNB在1#子帧给UE下发了DCI0,UE将在(1+6)=7#子帧中上传数据,而eNB也会在这个时刻点去解码来自该UE的数据。

特殊的,如果是上下行子帧配置0,除了支持(n+k)的关系外,还支持(n+7)的关系。因为上下行子帧配置0中有6个上行子帧,而下行子帧只有4个,那么如果按照(n+k)的规则,势必会浪费2个上行子帧。因此这里引入了一个新的规则,就是(n+7)的规则。

在上下行子帧配置0的情况下,一个DCI0的资源既可以在(n+k)中使用,也可以在(n+7)中使用。比如UE在0号子帧收到了DCI0,那么UE和eNB怎么协商这种对应关系?UE怎么知道它当前是需要使用(n+k)的资源还是需要使用(n+7)的资源?既然这种关系是不确定的,因此就没有办法在协议中事先规定好,只能通过唯一的途径即DCI0来解决。因此,协议在DCI0中引入了一个叫UL_INDEX的字段。UL_INDEX字段只有2个bits,具体含义是:

高比特(MSB)=1、低比特(LSB)=0,表示交互双方需要使用(n+k)的规则;

高比特(MSB)=0、低比特(LSB)=1,表示交互双方需要使用(n+7)的规则;

高比特(MSB)=1、低比特(LSB)=1,表示交互双方同时需要使用(n+k)以及(n+7)的规则,此时就是1个DCI0同时调度2个PUSCH的资源。另外,正如下图描绘的,SR/BSR到UL_GRANT(DCI0)之间的时延,协议并没有明确说明,因此由eNB侧的实现决定。

(图6)

3.eNB在PHICH中发送NACK,UE接收PHICH的时序

eNB解码数据之后,需要向UE回复ACK或NACK。这个ACK/NACK信息被封装在PHICH的特定位置(以后会有博文详细介绍PHICH中怎么回复ACK/NACK)。既然eNB要发送PHICH,UE要接收PHICH,那么双方就需要事先知道PHICH发送的时刻。这里协议也给我们规定了这种时序关系,即(n+k)的关系。n是UE发送PUSCH数据的上行子帧号,k是二维表格中的焦点值,如下图所示。需要说明的是,这里不再有(n+7)的关系了。

(图7)

以配置1为例,eNB在2#子帧收到了PUSCH数据后,需要在(2+4)=6#子帧下发PHICH(含ACK或NACK)。那么,除了这个规则,UE和eNB之间的交互就没有其它需要考虑的问题了吗?不妨再看看配置0的情况。

对于配置0来说,就稍微复杂些。比如eNB在3#和4#上行子帧都收到了PUSCH数据,按照上面表格中的(n+k)规则,都需要在0#下发PHICH。也就是说,eNB需要在同个子帧发送两个不同的PHICH序列,那么UE怎么来区分到底哪个是我3#子帧发送的应答,哪个是4#子帧发送的应答呢?毕竟eNB可能在3#子帧解码数据失败,而在4#子帧解码数据成功,那么两个PHICH序列,其中1个携带的可能是NACK信息,而另一个则是ACK信息。

(图8)

进一步分析子帧配置0会发现,这种2个不同PUSCH子帧对应同1个PHICH子帧的场景,只出现在子帧3、4之间,以及子帧8、9之间,如上图所示。基于此,在计算PHICH位置的时候,协议巧妙的引入一个参数I_PHICH。当PHICH是反馈子帧4或子帧9的时候,I_PHICH等于1,否则等于0。由于这个I_PHICH参数是计算PHICH位置的(后面会有博文详细介绍这个I_PHICH参数),不同的子帧和资源位置,能得到不同的PHICH序列,也就能区分指定的ACK/NACK信息了。

总结如下:

(1)上下行子帧配置0

(图9)

(2)上下行子帧配置1(其他配置的时序关系类似,不再给出)

(图10)

4.UE执行上行重传的同步时序

若eNB解码PUSCH失败,可能向UE反馈NACK。如果UE解码到了NACK且没有达到HARQ最大次数,就需要重传PUSCH数据。无论是自适应重传还是非自适应重传,上行都是执行同步时序,即重传的时机与新传的时机存在着固定的时序关系。那么协议怎么来规定PUSCH数据重传的时机问题呢?

对于上下行子帧配置不等于0的场景,上行新传与重传的子帧号始终是相同的,比如UE在3#子帧新传了某个数据,那么重传将会在下个系统帧的3#子帧进行,如下图所示。

(图11)

对于子帧配置0来说,UE可能会在0子帧(或5子帧)收到2个不同的PHICH序列,分别对应上一次3#、4#子帧(或8#、9#子帧)的PUSCH数据应答,如果两个子帧的PUSCH数据都需要重传,那么就需要在不同子帧的PUSCH上分别重传3#、4#子帧(或8#、9#子帧)的PUSCH数据。

协议36213规定了:

如果0、5子帧收到的PHICH,对应的I_PHICH参数=0(即分别对应3、8子帧的PUSCH数据应答),那么就按照Table 8-2表,按(n+k)的时序重传,n是下行PHICH子帧号,k是表格中的焦点值。

如果0、5子帧收到的PHICH,对应的I_PHICH参数=1(即分别对应4、9子帧的PUSCH数据应答),那么就按照(n+7)的时序重传,n是下行PHICH子帧号。

另外,如果是1、6子帧收到的PHICH,采用的也是(n+7)的时序重传。下图给出了0、6子帧PHICH与HARQ重传的时序示意图。从图中可以得到,在上下行子帧配置0的情况下,上行重传的子帧号是前次传输的子帧的下一个上行子帧。如图中所示的,前次传输的子帧是4号子帧,那么重传的子帧号是4号子帧的下一个上行子帧,即7号子帧。

(图12)

本段开头提到,eNB解码PUSCH失败,可能返回的是NACK,这里意味着eNB也可能返回ACK。这种场景比较特殊,如资源碰撞导致。比如上下行子帧配置1,eNB在7#子帧有来自UE1的PUSCH数据,该PUSCH的PHICH需要在下个系统帧的1#下发。此时eNB可能有另一个UE2的MSG3资源需要调度。基于MSG3的(n+6)的规则,调度的是下个系统帧7#子帧的PUSCH资源,而这块ULRB资源可能占用了UE1的非自适应重传资源位置,如果此时UE1的PUSCH解码失败,且没有其他的ULRB分配给UE1,那么eNB必须向UE1发送ACK,以便阻止UE1的非自适应重传,从而避免影响UE2的MSG3传输。

(图13)

为了继续让该UE1重传PUSCH,后续需要执行上行HARQ的自适应重传过程。比如在1#给UE1下发DCI0(NDI不翻转),重新在7#子帧分配PUSCH资源。

不用担心eNB向UE反馈ACK导致PUSCH数据丢失的问题。因为协议36300中已经明确了(下表),如果UE只是收到了ACK,是不会丢弃数据的。

(图14)

5.后文

在我们实际测试中发现,Aeroflex公司生产的TM500仪器,并没有很好的测试子帧配置0的流程。如果有该公司的同事,希望可以私下交流下。

6.参考资料

(1)3GPP TS 36.213 V9.3.0 (2010-09) Physical layer procedures

(2)3GPP TS 36.321 V9.6.0 (2012-03) Medium Access Control (MAC) protocol specification

(3)3GPP TS 36.300 V9.10.0 (2012-12) Overall description

(4)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)

(5)http://www.sharetechnote.com

LTE-TDD HARQ(1)-上行HARQ时序相关推荐

  1. ShareTechnote系列LTE(15):HARQ

    HARQ HARQ(hybrid ARQ)是一个非常复杂的过程,这里仅简要描述. 先考虑一下术语.什么是H-ARQ?为什么用"Hybrid "这个词? ARQ代表自动重复请求,Hy ...

  2. LTE:信道质量,HARQ的比较

    SRS VS. CQI CQI用来衡量下行信道质量,UE汇报CQI,可以是全带宽,子带,或者由高层配置.有1-15从低到高数值的选择.CQI为0时候表示没有资源分配. SRS用来衡量上行信道质量,是可 ...

  3. LTE TDD的特殊子帧

    http://www.mscbsc.com/askpro/question49421 LTE TDD中,帧的长度是10s,分成10个长度为1s的子帧.上行和下行的数据在同一个帧内不同的子帧上传输.LT ...

  4. LTE TDD在未来4G技术标准中的位置

    摘要: 国际电联(ITU)无线电通信部门(ITU-R)正在征集IMT-Advanced标准的建议,IMT-Advanced是ITU对于4G的称呼.虽然该标准的技术要求尚未确定下来,但WiWax.LTE ...

  5. 5G NR中的HARQ机制 CBG传输

    NR和LTE一样都有两级重传机制:MAC层的HARQ机制和RLC层的ARQ机制.丢失或出错数据的重传主要是由MAC层的HARQ机制处理,并由RLC的ARQ进行补充.MAC层的HARQ机制能够提供快速重 ...

  6. LTE 的一些基础知识 【转】

    原文出处:https://www.txrjy.com/thread-1013259-1-2.html 查看: 4860|回复: 0 [原理资料] 自己学习LTE的一些笔记 [复制链接] xuzefen ...

  7. LTE MAC HARQ--01

    参考: India    LTE ARQ and HARQ (Part1)| LTE ARQ and HARQ (Part2) 前言: 这里面主要基于ARQ&HARQ ,讨论的Error De ...

  8. DM368开发 -- 华为3G/4G模块移植

    一.模块介绍 用的是华为 ME909s-821 Mini PCIe. 模块介绍,参看: ME909s-821 Mini PCIe 规格参数 其他模块,参看:华为全系列模块 产品介绍 ME909s-82 ...

  9. 无线通信网络学习之LTE关键技术之HARQ(20141217)

    今天我们来一起了解一下LTE中运用到的一个关键技术HARQ(混合自动重传技术) 由于信息在信道传输的过程中,会产生信息丢失,所以为了保持信息的完整性,务必需要重传信息至所有的信息都完成接收为止. 首先 ...

最新文章

  1. 【北京-知春路】这10家互联网公司值得你加入
  2. 微信十年,张小龙下一步要干什么?
  3. hbase windows安装
  4. “相对论“ 2019-07-10
  5. ubuntu下qt的常见错误
  6. 全民超神VS王者荣耀:从角色养成到账户养成
  7. Party at Hali-Bula UVA - 1220(树形dp)
  8. python中文编码正则_python的unicode编码问题(以正则表达式为例)
  9. sed 第n行后加入_【高新课堂】第一百三十九期Liunx运维17个实用技巧
  10. 这是一个无效的源路径/url
  11. MacOS上禁用自动启动Adobe Creative Cloud
  12. Node.js连接数据库等操作
  13. WP 手机Lumia 820 锁屏密码的POJI研究
  14. iOS面试 第三方库
  15. PM_24 项目管理成熟度模型(了解)、26 知识产权与标准规范、收尾管理
  16. 沉睡者IT - 月赚几千的创业项目思路,抖音文案号网赚项目
  17. led的伏安特性曲线 matlab实现_小灯泡伏安特性曲线实验报告
  18. 【推荐】两大APP与云账户红包SDK集成详情及Demon分享v
  19. 腾讯游戏10大经典案例(二):天堂等于天下
  20. 强迫症患者之黑苹果优化(启动画面、CPU重命名、显示真实主板、开启12代CPU全核心)

热门文章

  1. Python小项目——银行记账系统
  2. 物理CPU-Core-逻辑CPU -超线程
  3. FL studio 20中那些“花里胡哨”的效果器(一)
  4. 风险价值法(VAR)
  5. 24Bit LVDS中的JEIDA和VESA标准差异
  6. Android 自定义控件,模仿小米秒表样式的时钟,完整代码注解
  7. 永劫无间为啥显示连接服务器失败,永劫无间服务器故障原因-永劫无间服务器连接失败解决方法_游戏369...
  8. bootstrap 图标glyphicons图标符号不正常显示解决办法
  9. pojo、vo、dto、entity都是什么
  10. 我的互联网方法论周鸿祎