LTE -DCI3和功率调整

1.DCI3格式

DCI0、DCI1A、DCI2、DCI2A格式虽然可以动态调整上行PUCCH和PUSCH的发送功率,但这些DCI都需要强制分配一些RB资源给UE。如果某些UE不需要使用RB资源,仅需要调整PUSCH或PUCCH的发送功率,那么这个时候使用DCI0/1A/2/2A这些格式显然就不合理了。为了能够通过PDCCH控制一组UE的PUCCH或PUSCH功率,协议引入了DCI3和3A格式。这两种格式类似,本文只介绍DCI3这种格式。

DCI3的目的仅仅是为了能够一次性动态调整多个UE的PUCCH或PUSCH的发送功率,不用于分配上行或者下行的RB资源。当小区内有多个UE同时在线,这些UE不需要分配RB资源时,如果需要对这些UE进行上行的功率控制,就可以通过DCI3或DCI3A来实现。

DCI3格式的码流由N个2bit的TPC命令单元“TPC Command”组成,如表1所示。  

组成单元 长度 (bits) 说明
TPC command number 1
(user 1)
 2 每个TPC命令单元的值范围均为0~3,用于调整某个UE的PUSCH或PUCCH功率,1个DCI3可以调整N个UE的上行功率:
当DCI3用于调整PUSCH功率时,N个TPC命令单元的含义同DCI0中的TPC字段,此时参考图2,但支持TPC绝对值调整。
当DCI3用于调整PUCCH功率时,N个TPC命令单元的含义同DCI1A中的TPC字段,此时参考图3。
关于DCI0和DCI1A中TPC字段的用法,相关博文已有描述,这里不再重复。
TPC command number 2
(use 2)
 2
...  2
TPC command number N
(user N)
 2 N=floor(L_format0 / 2)   
L_format0表示当前带宽下DCI0码流的有效长度。
如果floor(L_format0 / 2) < (L_format0 / 2),需要在DCI3码流的末尾增加1个比特0,因为DCI3/3A的payload size需要和DCI0、DCI1A相同。
(表1)
举个例子说明一下,比如当前是10MHz带宽,TDD制式且上下行子帧配置为1,那么DCI0码流的payload长度是(1+1+11+5+1+2+3+2+1)=27,所以L_format=27,N=13。因为13<(27/2),所以需要在DCI3码流的末尾再加一个比特0,因而DCI3的payload大小=13*2+1=27,如图1所示(这个图后面还会用到)。如果TPC command number1对应的2比特值等于(01)=1,且当前DCI3用于PUSCH的功率调整(仅支持Accumulated调整),那么通过查找图2中的表格可以知道,TPC command number1对应的UE需要调整的功率值是0dB,即意味这该UE不需要调整PUSCH的发送功率。

(图1)


(图2 调整PUSCH功率时需要查找的表)


(图3 调整PUCCH功率时需要查找的表)

2.UE如何判断当前是PUCCH调整还是PUSCH调整

既然DCI3可以调整PUSCH的功率,也可以调整PUCCH的功率,那么UE如何来区分呢?这里协议采用RNTI值的不同来进行区分。如果当前的DCI3进行的是PUCCH功率调整,那么DCI3使用PUCCH-TPC-RNTI来加扰,而如果进行的是PUSCH功率调整,则DCI3使用PUSCH-TPC-RNTI来加扰。这两种RNTI值类似于C-RNTI和TC-RNTI,也都是由RRC配置的,通过信元PhysicalConfigDedicated中的tpc-PDCCH-ConfigPUCCHtpc-PDCCH-ConfigPUSCH携带给UE,如图4所示。



(图4)

如果当前LTE系统支持DCI3格式,那么RRC就需要为小区内的UE配置TPC-PDCCH-Config参数。由于DCI3的每个TPC命令单元都对应着1个UE,因此可以为多个不同的UE配置相同的PUCCH-TPC-RNTI和PUSCH-TPC-RNTI值。比如UE1、UE2、UE3这三个UE,配置给它们的PUSCH-TPC-RNTI可以是相同的,配置的PUCCH-TPC-RNTI也可以是相同的。

3.DCI3针对的是哪些UE

通过不同的RNTI解决了区分PUCCH和PUSCH功率调整的问题,还剩下一个问题就是,DCI3中的TPC命令单元都是为哪些UE配置的。

在上文的图4中,定义了一个叫做tpc-Index的字段,可以利用这个字段来区分不同的UE。如果当前eNB动态调度的是DCI3格式,那么tpc-Index这个字段的范围是1~15,也就是说一个DCI3可以最多为15个UE调整上行功率;而采用DCI3A格式,则最多可以为31个UE调整功率控制。

正如前文的图1所示,eNB需要为不同的UE配置不同的tpc-index,比如为UE1配置的Index等于1,那么在DCI3中index=1的位置填写的2比特TPC命令单元,就是针对UE1分配的;如果为UE2分配的index=13,那么DCI3中index=13的TPC命令单元,就是针对UE2配置的。

4.动态调整PUSCH的示例

我们已经知道,DCI0可以用于调整PUSCH的功率,DCI3/3A也可以用于PUSCH的调整,通常在实际的环境中我们会将两者相结合进行动态的调整。


(图5 PUSCH功率调整示意)

图5给出了eNB对UE-A和UE-B进行PUSCH调整的示意图,阶梯实线是每次DCI3/3A调整后的实际值,虚线是目标值。可以看到,对于频率调整较快的UE-A来说,实际值与目标值较为接近,但调整的频率越快,负载也越大;对于UE-B来说,调整的周期较长,离目标值相距较远,但负载也较小。当实际值与目标值距离过大时,可以通过DCI0进行一次绝对值的调整,这样更利于功率的快速调整。

参考:
(1)3GPP TS 36.212 V9.4.0 (2011-09) Multiplexing and channel coding
(2)3GPP TS 36.213 V9.3.0 (2010-09) Physical layer procedures
(3)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)

猜你喜欢

转载自blog.csdn.net/m_052148/article/details/51994384