第三章 LTE MAC协议解读 --- UL-SCH 数据传输_LTE通信人家_新浪博客

3.4.5.4 UL-SCH 数据传输

3.4.5.4.1 UL 授权接收

(这一节内容主要是翻译,主要是这里不好排版,大家对照一下协议,有什么问题,再讨论)

为了在UL-SCH发送数据,UE必须有一个合法的上行授权(除了非自适应的HARQ重传,因为它会在初始传输的资源上发送重传,而自适应重传必须有PDCCH指示用于重传的资源等),这个上行授权可能动态得从PDCCH获得,或者在随机接入响应消息里(RAR)或者是SPS半静态调度里预先配置好的。当请求传输时,MAC层从物理层收到相应的HARQ信息。

timeAlignmentTimer正在运行时(如果不运行,那只有两种可能:UE跟基站失步了或者还没有起来),并且具有CRNTI,SPS-C-RNTI或者临时C-RNTI,在每一个TTI,UE都需要根据以下条件来工作:

如果在这个TTI收到一个发送到UE的C-RNTI或者临时C-RNTI的上行授权或者这个上行授权是携带在随机接入响应消息里(RAR):

 如果这个上行授权发给UE的C-RNTI,但是呢,在此之前的一个上行授权是给SPS C-RNTI或者配置好的上行授权,并且跟当前授权是使用同一个HARQ进程;

那么无论NDI值是什么,都认为这是一个新的传输(NDI toggled的,也就是NDI值发生了变化)。

(注:为什么这样处理呢?其实SPS的传输方式跟普通的动态调度是不一样的,他没有显性的PDCCH授权指示,当然在需要重传的时候,就会发送,但是处理方式也是不一样。另外从HARQ进程的特性来看,如果这次是发送到动态的C-RNTI的话,也可以认为之前的SPS调度已经完成了,因此这一次肯定是新的传输。)

把这个TTI的上行授权以及相关的HARQ信息传给HARQ实体,(注:为什么要传给HARQ实体,我们在之前的下行HARQ时已经提到,HARQ实体类似于一个转发中心,它负责调度所有的HARQ进程,因此从物理层收到的HARQ相关信息以及在MAC层的传输块都是先发给HARQ实体,然后由HARQ实体分配到相应的HARQ进程。)

或者,如果在PDCCH上收到的这个TTI的上行授权是发给UE的SPS C-RNTI:

如果收到NDI为1,那么就认为NDI值没有变化,需要重传,并把这个TTI的上行授权以及相关的HARQ信息传给HARQ实体

否则,如果NDI值为0的话,如果PDCCH的内容指示释放SPS,那么xx配置的上行授权(也就是之前SPS调度配置好的上行授权,它周期性的获得),

否则保存收到的上行授权以及相关HARQ信息,作为配置的上行授权;初始化(没有xx的话)或者重新初始化(如果已经xx)配置的上行授权,然后从当前的TTI开始算起,之后的周期性授权调度参考SPS调度相关内容;认为NDI值发生了变化(相当于{dy}次发送);把这个TTI的上行授权以及相关的HARQ信息传给HARQ实体。

否则,如果这个TTI的上行授权是已经配置好的(也就是说这个TTI没有收到相应的PDCCH,并且有SPS调度发生):那么就认为NDI值发生了变化,开始一个新的传输;把这个TTI的上行授权以及相关的HARQ信息传给HARQ实体

注:如果UE在一个TTI里面存在多个上行授权,比如RAR携带的,或者针对C-RNTI的,或者SPS调度配置好的上行授权,UE可以选择任意一个发送新的数据(虽然是任意一个授权,但是其内容要跟授权匹配,而不能发送其它授权对应的信息)。

总的来说,这一节就是告诉我们如何处理上行授权信息。

3.4.5.5   HARQ 操作

3.4.5.5.1   HARQ 实体

在UE测,只有一个HARQ实体,用于维护一些平行的HARQ进程,它能够保证可以进行连续的传输,并且可以等待针对之前传输的成功或者不成功的HARQ反馈,HARQ进程数跟帧格式有关,FDD固定为8个,而TDD不同的帧配置下有所不同。

在一个特点TTI,收到一个上行授权,HARQ实体能够确认到底是哪一个进程需要发送数据,它就会把收到的相关的HARQ反馈,MCS和资源,发到相应的HARQ进程。(省略了关于TTI绑定的描述)。

每一个TTI,HARQ实体需要:

确认哪一个HARQ进程跟这个TTI相关,也就是那一个HARQ进程会发送数据或者接收一些相关的HARQ信息;

如果已经确认这个TTI有一个上行授权;

如果这个上行授权不是发给临时C-RNTI并且NDI值相对于上一次传输发生了变化(这个进程的上一次传输);如果上行授权是发给C-RNTI的,并且这个HARQ进程对应的HARQ缓冲区是空的或者;

如果这个上行授权是在RAR消息里的,如果有一个MAC PDU在消息3的缓冲区里,那么就从这个消息3的缓冲区里面取MAC PDU用于发送

否则,就从"Multiplexing and assembly"实体取MAC PDU用于发送;

把这个MAC PDU,上行授权以及相关的HARQ信息发送到相应的HARQ进程,并指示这个HARQ进程触发一个新的传输。

否则,

把上行授权以及相关的HARQ信息(冗余 版本)发送到相应的HARQ进程;并指示这个HARQ进程产生一个自适应的重传(因为此时收到了相应的PDCCH指示重传,因此此时的重传是一个自适应的重传而不是非自适应的)。

否则,如果这个TTI对应的HARQ进程的缓冲区不为空那么指示HARQ进程产生一个非自适应的重传。(注:应该说此时已经收到的HARQ反馈,也即是NACK,但是没有收到显性的PDCCH消息,那么就默认为是非自适应的重传)

3.4.5.5.2   HARQ 进程

每一个HARQ进程都跟一个缓冲区进行关联每一个HARQ进程维护一个状态变量CURRENT_TX_NB,用于指示在缓冲区的当前MAC PDU发生了多少次传输,还有一个状态变量HARQ_FEEDBACK,用于指示当前在缓冲区的MAC PDU的HARQ反馈。当HARQ进程建立时,CURRENT_TX_NB要初始化为0。

上行HARQ的冗余版本按照固定的顺序产生(0,2,3,1)。变量CURRENT_IRV用于指示当前的冗余版本,按照模除4进行更新(这是由于上行时同步HARQ,在通常情况下,是不需要PDCCH指示重传的,因此必然有一个事先已知的冗余版本顺序)。

新的传输按照PDCCH或者RAR指示的MCS以及资源上传输,自适应的重传类似。而非自适应的重传,使用上一次的资源以及MCS发送。UE{zd0}的重传的次数由RRC配置,maxHARQ-TxmaxHARQ-Msg3Tx当收到这个TB的HARQ反馈,HARQ进程把状态变量HARQ_FEEDBACK设置为收到的值

如果HARQ实体请求一个新的传输,这个HARQ进程需要做到:

如果HARQ实体要求重传,那么这个HARQ进程需要:

把CURRENT_TX_NB加1(增加当前传输块的发送次数,这样就可以检验是否达到{zd0}次数)

如果HARQ实体请求的是自适应的重传

  • 把从HARQ实体收到的上行授权保存起来
  • 设置CURRENT_IRV为收到的HARQ信息里的冗余版本索引
  • 把HARQ_FEEDBACK设为NACK
  • 按照如下的方式产生一个传输(3.4.5.5.3 产生传输)
否则,如果HARQ进程请求的是一个非自适应的重传
  • 如果HARQ HARQ_FEEDBACK = NACK,按照下面的描述产生一个传输(3.4.5.5.3 产生传输)

3.4.5.5.3 产生传输

为了产生一个传输,HARQ进程需要

如果这个MAC PDU是从消息3的缓冲区里获得的,或者,

如果在当前传输时不需要测量(在做切换时的,对临小区的测量等),或者如果是重传,但是这个重传不跟从消息3的缓冲区里获得MAC PDU的传输冲突

  • 指示物理层根据保存的上行授权以及由CURRENT_IRV值指示的冗余版本产生一个传输;
  • 把CURRENT_IRV加1;
  • 如果在接收HARQ反馈时,存在测量,并且这个MAC PDU不是从消息3的缓冲区获得的,

      在接收HARQ反馈的时候把HARQ_FEEDBACK置为ACK。

  当完成上面的操作,HARQ进程检查CURRENT_TX_NB是否等于{zd0}传输次数减1(也就是达到{zd0}传输次数),如果是,则情况HARQ缓冲区。

已投稿到:
郑重声明:资讯 【第三章 LTE MAC协议解读 --- UL-SCH 数据传输_LTE通信人家_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——