具体实施时,可定义一个计数器TPUSCH,TPUSCH初始化为0,每个子帧加1。当TPUSCH计数值为N个HARQ RTT时,TPC发送流程被触发,此时,基站按顺序响应TPC请求发送队列中的TPC请求。以每次处理m个TPC请求为例,基站从TPC请求发送队列的队首开始取出相应的m个元素,根据相应m个终端所对应的测量SINR和目标SINR的差值,分别为这m个终端计算TPC命令字,并向相应UE发送UL grant,其中携带有TPC命令字。在UE侧,当TPC命令更新之前,终端根据上一次的TPC命令设置自己的发射功率,即两次TPC命令更新之间的TPC命令保持不变。
上述过程中,为方便技术实现,可使用等效SINR误差队列存放各个终端对应的测量SINR和目标SINR的差值,其中,测量SINR可根据成功解调的PUSCH数据包估计得到。基站可在TPUSCH计数值为HARQ RTT时,维护该等效SINR误差队列,即,将测量SINR与目标SINR的差值放入等效SINR误差队列。当然,也可以在TPUSCH计数值为N个HARQ RTT时维护该等效SINR误差队列。
图3示出了TPC命令更新周期为2个HARQ RTT时的TPC命令更新周期示意图。可以看出,由于本发明实施例延长了TPC命令更新周期,即从1个HARQ RTT延长为2个HARQ RTT,因此在UE侧,2个HARQ RTT后才更新TPC命令,因此一定程度上避免了由于闭环TPC命令更新频繁,导致出现UE侧的PUSCH发射功率过调整或调整不当的情况。
本发明实施例中,基站可采用现有TPC算法计算TPC命令字。以下分别描述累积方式和绝对值方式的TPC算法流程。
LTE标准中规定了TPC命令需要包含于具有DCI(Downlink ControlInformation,下行链路控制信息)格式0的PDDCH(Physical Downlink ControlChannel,物理下行链路控制信道)中,或包含于DCI格式3/3A的PDCCH中并与其他TPC命令联合编码(此时PDCCH的CRC(Cyclic Redundancy Check,循环冗余校验)比特由TPC-PUSCH-RNTI进行加扰)。当前的PUSCH功率控制调整状态由f(i)给出。
(1)累积方式的TPC算法
若通过RRC(Radio Resource Control,无线资源控制协议)层通知的UE专属参数Accumulation-enabled开启了累积值方式的功率控制,或者TPC命令字δPUSCH包含在DCI Format0并且CRC比特采用Temporary C-RNTI加扰的PDCCH,则
f(i)=f(i-1)+δPUSCH(i-KPUSCH)………………………………[1]
其中,δPUSCH(i-KPUSCH)指i-KPUSCH子帧上的DCI格式0或3/3A发送的TPC命令,f(0)是f(i)重置之后的初始值。
KPUSCH的取值包括以下几种情况:
(i)对于FDD,KPUSCH=4;
(ii)对于TDD UL/DL配置1-6,KPUSCH值见表1;
表1、不同TDD UL/DL配置的KPUSCH取值
(iii)对于TDD UL/DL配置0:当由PDCCH DCI格式0调度的PUSCH传输位于子帧2或7且DCI中的UL index信息域的低比特位为1时,KPUSCH=7;对于其它情况的PUSCH传输,KPUSCH由表1给出。
UE在每个非DRX(Discontinuous Reception,非连续接收)子帧用该UE的C-RNTI或SPS-RNTI尝试解码一个DCI Format0的PDCCH,同时也用该UE的TPC-PUSCH-RNTI尝试解码一个DCI Format3/3A的PDCCH。如果UE在同一子帧内同时检测到DCI Format0和DCI Format3/3A的PDCCH,则UE只使用由DCI Format0给出的TPC命令δPUSCH。
当在某一子帧中没有解码出TPC命令,或UE处于DRX状态,或在TDD(Time Division Duplexing,时分双工)模式下第i个子帧不是上行子帧时,δPUSCH=0dB;当累积修正值δPUSCHdB包含在具有DCI格式0的PDCCH时,其调整值见表2,但是,如果DCI Format0的功能是SPS(Semi-PersistentScheduling,半持续调度)激活或SPS释放,则δPUSCH=0dB;当累积修正值δPUSCHdB包含在具有DCI格式3/3A的PDCCH时,其调整值集合包括两种:集合1由表2给出、集合2由表3给出,具体选择哪个集合由RRC层参数TPC-Index的比特数决定。
表2、DCI format 0/3 TPC命令字含义
表3、DCI format 3A TPC命令字含义
若UE达到最大发射功率,则“正”的TPC命令不进行累积;若UE达到最小发射功率,则“负”的TPC命令不进行累积;处于如下状态的UE需要重新设置TPC命令的累积:
(i)当PO_UE_PUSCH改变时;
(ii)当收到随机接入响应消息时(处于同步/重同步状态)。
(2)绝对值方式的TPC算法
若通过RRC层配置的UE专属参数Accumulation-enabled未开启累积值方式时,UE处于绝对值闭环方式,则
f(i)=δPUSCH(i-KPUSCH)………………………………[2]
其中,δPUSCH(i-KPUSCH)由子帧i-KPUSCH中的具有DCI格式0的PDCCH指示。KPUSCH的值按如下方式确定:
(i)对于FDD,KPUSCH=4;
(ii)对于TDD UL/DL配置1-6,KPUSCH值见表1;
(iii)对于TDD UL/DL配置0:当由PDCCH DCI格式0调度的PUSCH传输位于子帧2或7且DCI中的UL index信息域的低比特位为1时,那么KPUSCH=7;对于其它情况的PUSCH传输,KPUSCH由表1给出。
绝对值方式下的δPUSCH由具有DCI格式0的PDCCH指示,δPUSCH取值见表2;如果DCI Format0的功能是SPS激活或SPS释放则δPUSCH=0dB。
如果某个子帧中没有解码出具有DCI format0的PDCCH,或UE处于DRX状态,或在TDD模式下第i个子帧不是上行子帧时,f(i)=f(i-1)。
对于两种TPC调整值f(*)计算方法(累积值方式或绝对值方式),其初始值设置为:PO_UE_PUSCH配置发生改变时,f(i)=0;否则,f(0)=ΔPrampup+δmsg2。其中,δmsg2是随机接入响应消息中指示的TPC命令字,参见表4;ΔPrampup由RRC层配置,对应于从首次至最后一次preamble传输之间总的功率爬升量。
表4、用于调度的PUSCH的TPC命令字δmsg2
TPC Command |
Value(in dB) |
0 |
-6 |
1 |
-4 |
2 |
-2 |
3 |
0 |
4 |
2 |
5 |
4 |
6 |
6 |
7 |
8 |
通过以上流程可以看出,本发明实施例在上行PUSCH功率控制过程中,避免由于闭环TPC命令更新频繁,导致出现UE侧的PUSCH发射功率过调整或调整不当的情况。
基于相同的技术构思,本发明实施例还提供了一种基站设备。
参见图4,为本发明实施例提供的基站设备的结构示意图,如图所示,该基站设备可包括:
TPC命令生成模块402,用于在TPC命令更新周期到达时,根据终端的上行信号,为所述终端生成TPC命令;所述TPC命令更新周期长度为HARQ RTT的N倍,N≥2;TPC命令发送模块403,用于向所述终端发送TPC命令。
进一步的,该基站设备还可包括:SINR误差队列维护模块401,用于在每个HARQ RTT到达时,将根据终端上行信号测量得到的SINR与目标SINR的差值放入等效SINR误差队列。相应的,TPC命令生成模块402在TPC命令更新周期到达时,根据TPC请求队列,从所述等效SINR误差队列中获取相应终端的SINR差值,并根据相应终端的SINR差值为所述相应终端生成TPC命令。
具体的,TPC命令生成模块402可采用累积方式的TPC算法或绝对值方式的TPC算法,为终端生成TPC命令。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。