具体实施方式
本发明实施例提供一种MAC调度方法及装置,确定包括T个下行子帧的时域调度位置队列,并按照设定顺序将各个待调度UE映射到时域调度位置队列的各个子帧上,在时域调度位置队列中的每个下行子帧上,分别对映射到该子帧上的UE进行频域调度。由于在T个子帧时间内只进行一次UE的时域排序,即时域调度,从而有效地减少一个子帧内的MAC调度的运算量。
如图2a所示,本发明实施例提供的MAC调度方法包括:
步骤S201、确定时域调度位置队列,时域调度位置队列中包括TDL个下行子帧;
步骤S202、按照设定顺序将各个待调度UE映射到时域调度位置队列的各个子帧上;
步骤S203、在时域调度位置队列中的每个下行子帧上,分别对映射到该子帧上的UE进行频域调度。
由于每次进行时域调度时,同时为TDL个下行子帧进行了时域调度,时域调度位置队列中包括T个子帧,包括TDL个下行子帧,所以如图2b所示,只要每T个子帧进行一次时域调度即可,无需在每个下行子帧开始时进行时域调度,所以减少了每个下行子帧内的调度运算量,图2b中,虚线代表时域调度的时间点,实线代表频域调度的时间点,当前等待下行调度的UE个数为MUE。
在步骤S202中,可以按照各个待调度UE的优先级来进行映射,在进行优先级计算时,可以根据UE的业务、等待时间等参数进行计算。
下面以按照各个待调度UE的优先级来进行映射为例进行说明,此时,步骤S202具体包括:
确定各个待调度UE的优先级;
按照各个待调度UE的优先级顺序,将各个待调度UE映射到时域调度位置队列的各个子帧上。
其中,确定各个待调度UE的优先级时,可以采用为UE预先设置优先级的方式,也可以根据UE当前状态来计算UE的优先级值,例如,可以对于每个UE,根据该UE占用的数据量、分组时延值以及丢包率三个参数之一或组合,来确定该UE的优先级值。
具体的,可以根据下式计算每个UE的优先级权值:
其中,Pri(UEm)是UEm的优先级,Pri(UEm)是一个标量值,取值从1,…,TDL;
F{.}是获得UE优先级的映射函数,该映射函数需要保证映射到各个优先级队列上的UE的数据量大致相等,当计算出Pri(UEm)为k时,即将该UE映射到时域调度位置队列中第k个下行子帧中,其中,0≤k≤TDL。
其输入参数含义如下:(BufferSizem,p,PacketDelaym,p,PacketErrorRatem,p)分别表示UEm的第p个RB(RBm,p)占用的数据量、分组时延值和丢包率;其中,m=1,L,MUE;p=1,L,Pm,Pm表示第m个UE占用的RB个数。
下面给出映射函数F{·}的一个具体实施例:
当一个UE占用多个RB时,以该UE中占用的RB的最小分组时延值作为该UE的分组时延值:
根据所得到的UE分组时延值从小到大的顺序,确定分组时延值越小的UE的优先级越高,即分组时延值最小的UE的优先级Pri(UEm)最高,分组时延值最大的UE的优先级Pri(UEm)最小。
当然,在进行映射时,还可以计算出每个UE的优先级值,并按照优先级从高到低的顺序,先将优先级最高的TDL个UE分别映射到时域调度位置队列中TDL个子帧的优先调度位置;
再将优先级次高的TDL个UE分别映射到时域调度位置队列中TDL个子帧的次优先调度位置,直至将所有待调度UE都映射到时域调度位置队列的各个子帧上。
在步骤S202中,所映射到时域调度位置队列中的UE个数不能超过该TDL个下行子帧所能够承载的最大数据量。该TDL个下行子帧所能够承载的最大数据量可以根据当前子帧和之前子帧中UE上报的宽带CQI信息,以及时域调度位置队列中所有子帧内包含的TDL个下行子帧的可用PRB个数来估计。
通过步骤S202进行映射后的时域调度位置队列如图3所示,该队列中的每一个元素对应T个子帧中的一个下行子帧,共TDL个下行子帧,每个下行子帧下的UE为在该子帧等待调度的UE,每个下行子帧下的UE可以用链表的方式保存。
在步骤S203中,在时域调度位置队列中的每个下行子帧上,分别对映射到该子帧上的UE进行频域调度,具体包括:在时域调度位置队列中的每个下行子帧上,为映射到该子帧上的全部UE依次分配PRB资源、MCS等级和功率资源。在在第一个下行子帧,为时域调度位置1(TSPos_1)中的全部UE依次分配PRB资源、MCS等级和功率资源;在第二个下行子帧,为时域调度位置2(TSPos_2)的全部UE依次分配PRB资源、MCS等级和功率资源,直至全部下行子帧调度完毕,为队列中所有UE都分配了PRB资源。
进一步,为了防止在T周期内信道出现变化,可以在T个下行子帧中的设定子帧中,根据设定时间内PUCCH(Physical Uplink Control Channel,物理上行控制信道)信道承载的ACK和/或NACK的接收误码率,对下行信道进行预测;并根据预测结果,更新映射到时域调度位置队列的各个子帧上的各个待调度UE。
具体的,eNodeB可以在设定时间内统计PUCCH信道承载的ACK/NACK的接收误码率,和LTE36.213协议10.1节给出的ACK/NACK复用表格,进行相关预测,具体的预测算法不再详细叙述,当预测结果满足预先设定的规则时,根据预测结果更新时域调度位置队列,重新将未进行频域调度的UE映射到时域调度位置队列的各个子帧上。在进行重新映射时,可以仅对单个下行子帧进行时域调度,即仅对某一时域调度位置上的各个UE进行重新映射,也可以对未进行频域调度的各个子帧上都进行时域调度,对未进行频域调度的调度位置上的UE进行重新映射。
本发明实施例还相应提供一种MAC调度装置,该装置可以具体为一种基站,适用于LTE TDD和LTE FDD***,当然也可以用于其它通信***,如图4所示,该装置中包括:
确定单元401,用于确定时域调度位置队列,时域调度位置队列中包括TDL个下行子帧;
时域调度单元402,用于按照设定顺序将各个待调度UE映射到时域调度位置队列的各个子帧上;
频域调度单元403,用于在时域调度位置队列中的每个下行子帧上,分别对映射到该子帧上的UE进行频域调度。
其中,当根据UE的优先级进行时域调度时,时域调度单元402具体用于:
确定各个待调度UE的优先级;
按照各个待调度UE的优先级顺序,将各个待调度UE映射到时域调度位置队列的各个子帧上。
具体的,时域调度单元402确定各个待调度UE的优先级,具体包括:
对于每个UE,根据该UE占用的数据量、分组时延值以及丢包率三个参数之一或组合,来确定该UE的优先级值。
根据分组时延值确定UE优先级是,时域调度单元402确定各个待调度UE的优先级,具体包括:
对于每个UE,以该UE占用的RB的最小分组时延值作为该UE的分组时延值;
确定分组时延值越小的UE的优先级越高。
时域调度单元402按照各个待调度UE的优先级顺序,将各个待调度UE映射到时域调度位置队列的各个子帧上,具体包括:
按照优先级从高到低的顺序,先将优先级最高的TDL个UE分别映射到时域调度位置队列中TDL个子帧的优先调度位置;
再将优先级次高的TDL个UE分别映射到时域调度位置队列中TDL个子帧的次优先调度位置,直至将所有待调度UE都映射到时域调度位置队列的各个子帧上。
频域调度单元403具体用于:
在时域调度位置队列中的每个下行子帧上,为映射到该子帧上的全部UE依次分配PRB资源、MCS等级和功率资源。
为进一步根据信道情况更新时域调度结果,时域调度单元402还用于:
在T个下行子帧中的设定子帧中,根据设定时间内PUCCH信道承载的ACK和/或NACK的接收误码率,对下行信道进行预测;
根据预测结果,更新映射到时域调度位置队列的各个子帧上的各个待调度UE。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。