用于LTE移动通信***的RLC PDU传输方法
技术领域
本发明涉及移动通信领域,尤其是涉及一种用于LTE移动通信***的减少RLC分段的RLC PDU传输方法。
背景技术
传输MAC层所生成的协议数据单元MAC PDU即传输块TB(Transfer Block)。MAC层通过调度算法确定传输块TB的尺寸,并根据TB的尺寸决定每个逻辑信道能够传输的比特数。RLC PDU是根据MAC层提供的各逻辑信道能够传输的比特数对RLC SDU进行分段/串接/(或填充)处理并附加相应的RLC层头后生成的。RLC PDU发送到MAC层后称为MAC SDU,在MAC层再经过复用处理并附加相应的MAC层头信息后生成MAC PDU。
如果某个逻辑信道需要传输的比特数加上RLC头的大小大于MAC层提供的此逻辑信道能够传输的比特数,RLC层会根据MAC层提供的能够传输的比特数对此逻辑信道的数据RLC SDU进行分段,附加相应的RLC层头后最终生成RLC PDU。分段操作会增加***复杂度以及处理开销。
另外,当RLC层根据MAC层提供的每个逻辑信道能够传输的比特数产生RLC PDU发送给MAC层,并最终发送给接收端,当达到MAC层最大传输次数后,接收端若仍然没有正确接收此MAC SDU即RLC PDU,RLC层就会对此MAC PDU中所包含的RLC PDU进行重传,若初传时的RLC PDU尺寸大于MAC层新调度的TB尺寸,则重传时RLC PDU就会被重分段传输,重分段操作也会增加***复杂度以及处理开销。
LTE相关关键词如下:
发明内容
为了解决新传时RLC PDU尺寸过大,导致重传时重分段问题,而在解决此问题的同时又不能增加新传时的分段概率,本发明提供了一种可以减少新传和重传时RLC层分段的方法。
本发明技术方案提供一种用于LTE移动通信***的RLC PDU传输方法,RLC层将每个逻辑信道需要传输的每个RLC SDU的大小上报给MAC层,在MAC层对每个UE每个逻辑信道在一个子帧内可以传输的比特数做限制,并且只给整数个RLC SDU分配资源,最终确定每个逻辑信道在一个子帧内能够传输的比特数;
而且,采用以下步骤实现,
步骤101,RLC层将每个逻辑信道的每个RLC SDU按照优先级从大到小的顺序排序,并按照排序后的顺序将要发送的每个RLC SDU的数据大小发送给MAC层;
步骤102,MAC层根据RLC上报的每个逻辑信道下每个RLC SDU的数据大小进行调度,确定每个逻辑信道可以传输的比特数;包括以下子步骤,
步骤1021,MAC层对有数据要传输的每个UE以及UE下的逻辑信道进行排序;
步骤1022,MAC层确定每个UE每个逻辑信道允许传输的最大比特数;
步骤1023,MAC层确定每个UE需要传输的数据大小;
步骤1024,MAC层为每个UE分配资源;
步骤1025,MAC层确定每个逻辑信道能够传输的数据量;
步骤103,MAC层为每个逻辑信道分配完资源后,将每个逻辑信道在本子帧可以传输的数据大小反馈给RLC层,并且将RLC层需要分段的逻辑信道做标记;RLC层根据MAC层反馈的每个逻辑信道在本子帧可以传输的数据大小进行组RLC PDU,对MAC层标记的逻辑信道进行分段,其它均不分段。
而且,步骤101中,所述每个逻辑信道的每个RLC SDU的优先级为,状态报告的优先级大于重传RLC SDU,重传RLC SDU的优先级大于新传,对于新传RLC SDU,到达RLC层的时间越早,优先级越高。
而且,步骤1021中,对每个UE下有数据要传输的逻辑信道分别按照预定的资源调度算法进行优先级从大到小的顺序排序;以每个UE下优先级最大的逻辑信道作为依据对UE进行排序。
而且,步骤1022中,首先从排序后的UE队列中依次取出UE,从取出的UE的排序后的逻辑信道队列中依次取出逻辑信道,将取出的逻辑信道下的每个RLC SDU大小依次相加,并加上RLC头的大小,直到累加后的数据量D满足以下条件为止,
GBR承载:D≥C×_GBR
Non-GBR承载:D≥(C/N)×_AMBR
其中,D为N_packet个RLC SDU大小的累加和加上RLC头的大小,是逻辑信道允许传输的最大比特数;N_packet为满足上述条件的最小整数值;N为此UE下Non-GBR承载的个数;C为系数因子,GBR为保证比特速率,AMBR为总计最大比特速率。
而且,步骤1023中,将UE下的所有逻辑信道允许传输的最大比特数D相加,并加上MAC头的大小,得到此UE需要传输的数据量。
而且,步骤1024中,MAC层按照排序后的UE队列依次取出UE,根据频谱效率确定调制阶数MCS,分配RB或RBG数依次增加,每分配一个RB或RBG,就通过MCS和已分配的RB数计算传输块大小TBS,直至TBS大于等于UE需要传输的数据量,则此UE分配完毕。
而且,步骤1025中,MAC层按排序依次取出UE,将步骤1024中求得的此UE能够传输的数据量TBS,依次分配给此UE下的逻辑信道,每个逻辑信道的分配大小为步骤1022中计算出的相应逻辑信道在本子帧允许传输的最大比特数D;
当UE的TBS大于此UE需要传输的数据量时,则为此UE下所有逻辑信道分配完后,剩余的数据用来传输MAC头以及填充;
当UE的TBS等于此UE需要传输的数据量时,则为此UE下所有逻辑信道分配完后,剩余的数据用来传输MAC头;
当UE的TBS小于此UE需要传输的数据量时,在确定每个逻辑信道能够传输的数据量时,按照此UE排序后的逻辑信道队列依次取出逻辑信道进行分配。
而且,当UE的TBS小于此UE需要传输的数据量时,每为一个逻辑信道分配资源时,也需要分配出此逻辑信道对应的MAC头的资源,若剩余的数据量小于此逻辑信道允许传输的最大比特数D加上此逻辑信道对应的MAC头的大小,则为此逻辑信道分配MAC头资源后,此逻辑信道就按照RLC SDU的单位进行分配,直至剩余的数据量a小于某个RLC SDU的大小b时,则需要判断以下条件,满足以下条件则不给这个RLC SDU分配资源,剩余的数据量用来传填充;否则传输此RLC SDU的一部分,
a/b<TH_SDU且a/c<TH_PDU
其中,a为剩余的数据量;b为此RLC SDU的大小;c为此逻辑信道能够传输的所有RLC SDU的大小累加值;TH_SDU为a占b的比例阈值;TH_PDU为a占c的比例阈值。
而且,TH_SDU为10%,TH_PDU为5%。
通过本发明技术方案,一个子帧最多只有可能有一个UE的一个逻辑信道在组RLCPDU时会分段,这样既避免了一个子帧的资源被一个UE占用,同时又不增加RLC的分段机会,并有效的限制了RLC PDU的大小,减少了RLC层重传时的分段几率。应用该技术方案大大降低了***复杂度和处理开销,在通信领域具有重要的市场意义。
附图说明
图1为本发明实施例的流程原理图。
具体实施方式
以下结合附图和实施例详细说明本发明的具体实施方式。
本发明提出,RLC层将每个逻辑信道需要传输的每个RLC SDU的大小上报给MAC层,在MAC层对每个UE每个逻辑信道在一个子帧内可以传输的比特数做限制,并且只给整数个RLC SDU分配资源,最终确定每个逻辑信道在一个子帧内能够传输的比特数。此方法通过限制新传RLC PDU的大小,有效的减少重传时由于RLC SDU过大而导致的重传分段概率,也有效的避免了一个子帧的RB资源都被一个UE所占用;并且MAC层只给整数个RLC SDU分配资源,这样也有效的减少了RLC层新传的分段概率;从而降低***复杂度,减少处理开销。
参见图1,本发明实施例提供的用于LTE移动通信***的RLC PDU传输方法,主要分为以下几个步骤:
(1)RLC层将每个逻辑信道的每个RLC SDU按照优先级排序,并按照排序后的顺序将每个RLC SDU要传的数据大小发送给MAC层;
(2)MAC层根据RLC上报的每个逻辑信道下每个RLC SDU的数据大小进行调度,确定每个逻辑信道可以传输的比特数;
(3)MAC层将每个逻辑信道在本子帧能够传输的bit数以及是否分段的标志位反馈给RLC层;RLC层组装RLC PDU发送给MAC层;
实施例的流程具体描述如下:
步骤101,RLC层将每个逻辑信道的每个RLC SDU按照优先级从大到小的顺序排序,并按照排序后的顺序将要发送的每个RLC SDU的数据大小发送给MAC层。
所述每个逻辑信道的每个RLC SDU的优先级为:状态报告的优先级大于重传RLCSDU,重传RLC SDU的优先级大于新传,对于新传RLC SDU,到达RLC层的时间越早,优先级越高;
所述RLC层将每个逻辑信道的每个RLC SDU按照优先级从大到小的顺序排序后,每个逻辑信道下都会生成一个排序后的RLC SDU队列。
步骤102,MAC层根据RLC上报的每个逻辑信道下每个RLC SDU的数据大小进行调度,确定每个逻辑信道可以传输的比特数。
实施例中,在MAC层对每个UE每个逻辑信道在一个子帧内可以传输的比特数做限制,并且只给整数个RLC SDU分配资源,最终确定每个逻辑信道在一个子帧内可以传输的比特数。具体方法如下:
(1)MAC层对有数据要传输的每个UE以及UE下的逻辑信道进行排序。
对每个UE下有数据要传输的逻辑信道分别按照预定的资源调度算法进行优先级从大到小的顺序排序,选择的资源调度算法不同,排序的依据也不同,资源调度算法主要包括轮询、最大载干比、比例公平,具体实施时可按需选择。
以每个UE下优先级最大的逻辑信道作为依据对UE进行排序,即逻辑信道的优先级越大,此逻辑信道所属的UE的优先级也就越大,从而得到排序后的UE队列。
以下对UE以及逻辑信道的操作都是按照排序后的UE和逻辑信道队列进行操作。
(2)MAC层确定每个UE每个逻辑信道允许传输的最大比特数:首先从排序后的UE队列中依次取出UE,从取出的UE的排序后的逻辑信道队列中依次取出逻辑信道,将取出的逻辑信道下的每个RLC SDU大小依次相加,并加上RLC头的大小,直到累加后的数据量D满足以下条件为止:
GBR承载:D≥C×_GBR Non-GBR承载:D≥(C/N)×_AMBR
其中,D为N_packet个RLC SDU大小的累加和加上RLC头的大小,是逻辑信道允许传输的最大比特数;N_packet为满足上述条件的最小整数值;N为此UE下Non-GBR承载的个数;C为系数因子,可根据当前***中的UE数来决定,UE数越少,系数因子越大;GBR为保证比特速率,AMBR为总计最大比特速率。若有某个逻辑信道下所有的RLC SDU大小累加值都不能满足上述条件,则此逻辑信道下所有RLC SDU大小累加值即为此逻辑信道在本子帧允许传输的最大比特数,记为相应的D;
所述的每个逻辑信道允许传输的最大比特数D,是指在本子帧此逻辑信道实际传输的比特数不能超过此最大比特数D,即为所述的D;
所述每个逻辑信道下RLC头的大小即为假设RLC不分段情况下传输N_packet个RLCSDU需要的头的大小。
将UE队列中的每个UE每个逻辑信道都按照上述方法计算每个逻辑信道允许传输的最大比特数D,直到UE队列中的所有UE及各UE对应的逻辑信道队列中逻辑信道都轮询一遍为止。
(3)MAC层确定每个UE需要传输的数据大小:按照(1)所得UE排序结果,依次取出UE队列中的UE,将此UE下的所有逻辑信道允许传输的最大比特数D相加,并加上MAC头的大小,即为此UE需要传输的数据量。直到UE队列中的所有UE都轮询一遍为止。
所述MAC头的大小和UE的逻辑信道数量有关,每个逻辑信道对应一个MAC子头,多个MAC子头组成了MAC头。
(4)MAC层为每个UE分配RB资源:MAC层按照排序后的UE队列依次取出UE,根据频谱效率确定调制阶数MCS,分配RB或RBG数依次增加,每分配一个RB或RBG,就通过MCS和已分配的RB数计算传输块大小TBS,直至TBS大于等于UE需要传输的数据量,则此UE分配完毕;具体实施例时,所述分配RB的最小粒度是RB还是RBG可取决于所用的资源分配方式。实施例中,最小粒度是RB,MAC层按照排序后的UE队列依次取出UE,根据当前信道状况确定MCS(具体计算MCS可采用现有技术),依次分配RB(资源块),并根据MCS、RB数计算TBS(传输块大小),直至TBS大于等于UE需要传输的数据量,则此UE分配完毕。直至队列中的UE都轮询一遍,则为UE分配RB资源结束。
所述方法可能出现某一个UE的TBS小于UE需要传输的数据量,但已经没有可以分配的RB的情况,这种情况当没有可以分配的RB时,则此UE分配完毕,并根据成功分配的RB个数计算出TBS。因为已经没有可以分配的RB资源,所以为UE分配RB资源结束。
所述UE的TBS小于UE需要传输的数据量的情况在一个子帧内最多只可能有一个UE出现;
所述根据MCS、RB数计算TBS是根据3GPP协议36.213规定的映射表来得到的;
所述UE需要传输的数据量即为(3)中计算的结果;
所述TBS为UE在本子帧能够传输的数据量,即一个TB块的长度。
(5)MAC层确定每个逻辑信道能够传输的数据量:MAC层按照排序后的UE队列依次取出UE,将(4)中求得的此UE能够传输的数据量TBS,依次分配给此UE下的逻辑信道,每个逻辑信道的分配大小即为(2)中计算出的相应逻辑信道在本子帧允许传输的最大比特数D;
当UE的TBS大于此UE需要传输的数据量时,则为此UE下所有逻辑信道分配完后,剩余的数据用来传输MAC头以及padding(填充);
当UE的TBS等于此UE需要传输的数据量时,则为此UE下所有逻辑信道分配完后,剩余的数据用来传输MAC头;
当UE的TBS小于此UE需要传输的数据量时,在确定每个逻辑信道能够传输的数据量时,按照此UE排序后的逻辑信道队列依次取出逻辑信道进行分配,每为一个逻辑信道分配资源时,也需要分配出此逻辑信道对应的MAC头的资源,若剩余的数据量小于此逻辑信道允许传输的最大比特数D加上此逻辑信道对应的MAC头的大小,则为此逻辑信道分配MAC头资源后,此逻辑信道就按照RLCSDU的单位进行分配,直至剩余的数据量a小于某个RLC SDU的大小b时,则需要判断以下条件,满足以下条件则不给这个RLC SDU分配资源,剩余的数据量用来传padding;否则传输此RLC SDU的一部分:
a/b<TH_SDU且a/c<TH_PDU
其中a为剩余的数据量;b为此RLC SDU的大小;c为此逻辑信道能够传输的所有RLCSDU的大小累加值(即本子帧分配给此逻辑信道的总资源大小,包括剩余资源a);TH_SDU为a占b的比例阈值;TH_PDU为a占c的比例阈值。
所述(5)中TH_SDU建议为10%,TH_PDU建议为5%,具体实施时阈值可根据实现做适当的调整。
所述(5)中以某逻辑信道下RLC SDU的顺序进行分配时,RLC SDU的顺序为步骤101中RLC层排序后的顺序。
MAC层将排序后的UE队列轮询完一遍后,MAC层即为每个UE的每个逻辑信道确定了能够传输的数据量。
MAC层将需要分段的逻辑信道用1比特的标志位表示,当标志位为1时,RLC层组装RLC PDU时需要分段,否则不分段。
步骤103,MAC层为每个逻辑信道分配完资源后,将每个逻辑信道在本子帧可以传输的数据大小反馈给RLC层,并且将RLC层需要分段的逻辑信道做标记;RLC层根据MAC层反馈的每个逻辑信道在本子帧可以传输的数据大小进行组RLC PDU,对MAC层标记的逻辑信道进行分段,其它均不分段。
实施例中,MAC层将每个逻辑信道在本子帧能够传输的bit数以及是否分段的标志位反馈给RLC层,RLC层组装RLC PDU发送给MAC层:RLC层根据MAC层反馈的逻辑信道在本子帧能够传输的比特数,按照步骤101中每个逻辑信道的每个RLC SDU按照优先级排序后的顺序,组装RLC PDU。在组装RLC PDU时,通过MAC层反馈的分段标志位来确定是否需要分段,例如当标志位为1时,RLC层组装RLC PDU时需要分段,否则不分段,最终生成每个逻辑信道的RLC PDU,并发送给MAC。
具体实施时,以上流程可采用计算机软件方式实现自动运行。
以上所述均为本发明的较佳实施例,并不限于本实施例,凡在本实施例的精神和原则之内所做的修改、替换、改进等,均应包含在本专利的保护范围之内。