LTE中RLC分段、串接、重组及实现.doc

上传人:小** 文档编号:87217190 上传时间:2019-03-29 格式:DOC 页数:30 大小:2.05MB
返回 下载 相关 举报
LTE中RLC分段、串接、重组及实现.doc_第1页
第1页 / 共30页
LTE中RLC分段、串接、重组及实现.doc_第2页
第2页 / 共30页
LTE中RLC分段、串接、重组及实现.doc_第3页
第3页 / 共30页
LTE中RLC分段、串接、重组及实现.doc_第4页
第4页 / 共30页
LTE中RLC分段、串接、重组及实现.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《LTE中RLC分段、串接、重组及实现.doc》由会员分享,可在线阅读,更多相关《LTE中RLC分段、串接、重组及实现.doc(30页珍藏版)》请在金锄头文库上搜索。

1、1 将RLC SDU组成RLC PDU1.1 功能介绍发送UM RLC实体/AM RLC实体的发送侧将RLC SDU组成UMD PDU时,它们将:- 根据低层通知的特定发送时机以及由低层指示的RLC PDU(s)的总大小,将RLC SDU分段和/或串接成合适的RLC PDU(UMD PDU / AMD PDU)- 在RLC PDU中包含相应的RLC PDU头。Figure 1.1-1: RLC PDU Structure1.2数据结构和宏MIN_PDU_DATA_SIZE宏值, 表示PDU数据域元素的最小长度(=1)。PDU_Header_Ext表示PDU头扩展部分的结构类型, 包含E和LI位

2、域。PDU表示一个RLC PDU结构的类型,包含的数据成员有: PDU头固定部分:UM和AM模式的PDU头不同,不同模式,包含各自的所有的位域; PDU头扩展部分:指向PDU_HeaderExt的指针;数据域:每个元素为一个字节的数组。 SDU_context: 表示SDU上下文的结构类型,并包含的数据成员有:BYTE *tbuff:指向存放RLC SDU的缓存器;SDU_leftsize:RLC SDU的长度,初始表示当前顺序从buffer里取出的RLC SDU的长度,每次组建后更新为剩下的RLC SDU的长度; Segment:表示RLC SDU分段的标识,初始为0, 每次顺序取到一个RL

3、C SDU, 如果标识为1,表示是一个RLC SDU分段;否则,表示是一个RLC SDU;PDU_context: 表示PDU上下文的结构类型,并包含的数据成员有:PDU_SN:下一个将要发送的UMD PDU的 SN。PDU_leftsize(PDU剩余大小):表示组建当前RLC PDU时,该PDU还可以包含的字节数。初始值为此发送时机低层指示的RLC PDU的总大小;ElemNo: 该变量计数RLC PDU数据域元素的个数, 初始为0;每次组建一个RLC PDU结束,ElemNo更新为0。PDU_finish:表示组建一个RLC PDU结束的标识。 值为0,表示正在组建一个RLC PDU;

4、值为1, 表示组建一个RLC PDU结束,也表示下一次将要组建一个新的RLC PDU。 初始为1,每次组建后,如果正在组建的RLC PDU未结束,更新为0;1.3算法流程1.4详细设计函数原型void Rlc_Pdu_Process(SDU_context &)描述RLC SDU分段或串接成RLC PDU输入SDU上下文:* tbuff 指向存放RLC SDU的缓存器SDU_leftsize RLC SDU的(剩余)长度segment 表示RLC SDU分段的标识输出SDU上下文(记录发送buffer的第一个RLC SDU的信息)1. 在MAC通知的发送时机,初始化PDU上下文;2. 从发送B

5、uffer里顺序取出一个RLC SDU,更新SDU上下文,如果PDU上下文里的PDU_finish1,该SDU将用于组建一个新的RLC PDU,转到3;否则,转到4;3. 创建一个新的RLC PDU 首先创建一个初始的RLC PDU; 根据SDU上下文里的SDU分段标识segment确定PDU头固定部分的FI域的第一位:即如果segment为0,该RLC SDU是一个完整的SDU,FI第一位为0;否则,它是一个SDU分段,FI的第一位为1; 并更新PDU_leftsize PDU_leftsize2(PDU头的固定部分大小)。4. 比较PDU_leftsize与SDU_leftsize, 如果

6、:1) PDU_leftsize 1,扩展部分的最后一个E域为0,即扩展部分第(ElemNo-1)个E域=0。(第1到ElemNo个E域已经确定,这里只需确定最后一个E域) 如果ElemNo为奇数,在最后一个LI后加四个填充比特,组建一个RLC PDU结束。实例:以下面的AMD PDU为例,假设这次分段结束后,当前的ElemNo k+1,那么,该SDU前面分段是RLC PDU的最后一个数据域元素,没有E和LI域;固定部分如上所述,其中FI=01或11, E=1; 扩展部分从第1个到第k-1个E = 1;LI1k 为各自数据域元素长度;第K个E = 0。2) PDU_leftsize = = S

7、DU_leftsize:直接映射直接把该RLC SDU映射到RLC PDU的最后一个数据域元素(拷贝)。更新SDU上下文:SDU_leftsize = 0;segment = 0;更新PDU上下文:PDU_leftsize = 0;PDU_finish=1;ElemNo+。确定RLC PDU头的固定部分:FI域的后一位 = 0;如果RLC PDU 只有一个数据域元素(即ElemNo1),没有扩展部分, PDU头固定部分的E域 = 0; 否则,有扩展部分,PDU头固定部分的E域=1;确定SN域等于发送状态变量(VT(US)或VT(S)。对AM PDU,确定D/C域 = 1, RF域 = 0, P

8、域这里不设置。确定PDU头扩展部分:(该RLC SDU在扩展部分没有E和LI;)如果ElemNo 1, 扩展部分的最后一个E域为0,即扩展部分第(ElemNo-1)个E域=0。(第1到ElemNo个E域已经确定,这里只需确定最后一个E域)如果ElemNo为奇数,在最后一个LI后加四个填充比特,组建一个RLC PDU结束。实例:以下面的UMD PDU为例,假设这次组建结束后,当前的ElemNo 1,那么, 该SDU是RLC PDU的唯一的一个数据域元素,没有扩展部分;固定部分如上所述,其中FI=00或10, E = 0; 3) PDU_leftsize SDU_leftsize: SDU串接把该

9、RLC SDU串接到RLC PDU的当前最后的数据域元素的后面。更新PDU上下文: PDU_leftsize PDU_leftsizeSDU_leftsize; 如果 PDU_leftsize + (k%2)*0.5 1.5 MIN_PDU_DATA_SIZE,(1.5是PDU头扩展部分一个E和LI域的字节数, 当k= ElemNo是奇数是,0.5是当前补充比特的字节数,MIN_PDU_DATA_SIZE是初始定义的宏) 且Buffer不为空,那么还可以继续串接RLC SDU来组建该RLC PDU,- 更新PDU上下文: ElemNo;PDU_finish = 0;PDU_leftsize P

10、DU_leftsize(1.5* ElemNo(ElemNo2)*0.5) v ElemNo奇数PDU_leftsize PDU_leftsize(1.5* ElemNo +0.5); v ElemNo偶数PDU_leftsize PDU_leftsize1.5* ElemNo;- 确定RLC PDU头的固定部分:确定PDU头固定部分的E为1;确定SN域等于发送状态变量(VT(US)或VT(S);对AM PDU,确定D/C域 = 1; RF域 = 0; P域与轮询机制有关。- 确定PDU头扩展部分:PDU头的扩展部分包括第ElemNo个PDU_Header_Ext对象, 即一个E和LI k域(

11、kElemNo);确定LIk SDU_leftsize(或者用偏移量来表示);确定扩展部分的上一个(第k-1个)的E域为1;- 更新SDU上下文:SDU_leftsize = 0;segment = 0;- 循环回到 2, 即继续顺序取出发送Buffer里第一个RLC SDU, 开始继续串接该RLC SDU或一部分来组成RLC PDU;实例:以下面的AMD PDU为例,假设这次串接结束后,当前的ElemNo k1,那么,扩展部分新增的E和LIk+1是当前串接的SDU的E和LI域;固定部分如上所述,其中E=1; 扩展部分第k个E1; 第(K+1)个E = 0;LIk+1 SDU_leftsize

12、 ; 否则,如果发送Buffer为空,或者0 PDU_leftsize + (k%2)*0.51.5 1,扩展部分的最后一个E域为0,即扩展部分第ElemNo-1个E域 = 0 ;(第1到ElemNo-2个E域已经确定,这里只需确定最后一个E域,所有的LI域已确定)- 如果ElemNo为奇数,在最后一个LI后加四个填充比特,组建一个RLC PDU结束。以下面的AMD PDU为例,假设这次串接结束后,当前的ElemNo k, 那么,扩展部分没有当前串接的SDU的E和LI域;固定部分如上所述,其中FI00或10;E=0; 扩展部分第k个E1;5. 将组建结束的RLC PDU递交给低层, 同时更新发送状态变量加1,结束。1.5 AMD PDUv 什么时候用到AMD PDU分段?当重传AMD PDU的大小大于本次发送通知中对MAC SDU长度的要求时,可以对AMD PDU进行再分段,形成AMD PDU分段。 v 结构再分段只是对数据域的分段,AMD PDU分段中头的部分除了RF域、新增的LSF域和SO域外都与再分段前的AMD PDU相同。 2 将RLC PDU重组为RLC SDU2.1 接收UM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号