通信人家园
标题: LTE中RLC参数设置对系统性能影响分析  [查看完整版帖子] [打印本页]
  
时间:  2012-9-17 14:48
作者: cc003     
标题: LTE中RLC参数设置对系统性能影响分析
 
1.       LTE协议RLC简介在LTE中,为了给数据传输提供足够的可靠性,层2使用了双重传机制。ARQ位于RLC层,HARQ位于MAC层中。ARQ与HARQ的交互更有利地保证了数据的无差错传输,在HARQ的某个数据包重传失败后,ARQ将发起RLC PDU的重传,RLC层传输失败后,则会有更上层(如TCP/IP协议层)保障数据的可靠性。
层2的RLC子层为用户和控制数据提供分段和重传服务,RLC实体有3种工作模式:透明模式(TM),非确认模式(UM)),确认模式(AM)。如下图所示:
 
图1-1 RLC协议层简图(参照协议36系列36.322)
 
RLC子层主要功能列表:
表1-1 RLC子层主要功能表
 
ARQ功能只在AM模式使用,ARQ方式有3种基本类型:SAW(Stop and Wait)重传、退N步(GBN:Go back N)重传和选择重传(SR:Selective Retransmission)。
l         SAW重传是指发端发送每个分组数据后都要等待收端的回执,收到NACK就重传,收到ACK后则准备发送下一个分组数据。
l         GBN重传可持续发送多个分组数据,发端发送第一个分组数据后不必等待回执,经过网络延迟后回执到达发端,若收端反馈的是NACK,则发端重传该分组数据及其后在延迟期间发送的分组数据。
l         SR重传中发端按固定顺序发送分组数据,只重传收到NACK所对应的分组数据。
在3种重传方式中,SR重传的效率是最高的,但由于需要保证分组数据的传送顺序,收发两端必须占用较大的缓冲区。
  目前的LTE标准采用的是SR重传方式,保证数据传输效率更高。
  
如上表1所示,AM模式功能最完备,如下章节以AM模式为例说明RLC参数配置对LTE性能影响。
AM模式需要考虑的关键参数如下:
表1-2 RLC子层AM模式关键参数
 | 
 |  | 窗长:和SN序列号(10bits)有关,目前协议固定为512。  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 窗长:和SN序列号(10bits)有关,目前协议固定为512。  | 
 |  | 
 |  | 
   
 参照协议36系列36.331中RLC-Config说明,RLC层AM模式各参数对应字段取值范围如下:
RLC-Config information element
-- ASN1START
 
RLC-Config ::=            CHOICE {
    am                               SEQUENCE {
       ul-AM-RLC                        UL-AM-RLC,
       dl-AM-RLC                        DL-AM-RLC
    },
    um-Bi-Directional                SEQUENCE {
       ul-UM-RLC                        UL-UM-RLC,
       dl-UM-RLC                        DL-UM-RLC
    },
    um-Uni-Directional-UL            SEQUENCE {
       ul-UM-RLC                        UL-UM-RLC
    },
    um-Uni-Directional-DL            SEQUENCE {
       dl-UM-RLC                        DL-UM-RLC
    },
    ...
}
 
UL-AM-RLC ::=                    SEQUENCE {
    t-PollRetransmit                 T-PollRetransmit,
    pollPDU                          PollPDU,
    pollByte                         PollByte,
    maxRetxThreshold                 ENUMERATED {
                                        t1, t2, t3, t4, t6, t8, t16, t32}
}
 
DL-AM-RLC ::=                    SEQUENCE {
    t-Reordering                     T-Reordering,
    t-StatusProhibit                 T-StatusProhibit
}
 
UL-UM-RLC ::=                    SEQUENCE {
    sn-FieldLength                   SN-FieldLength
}
 
DL-UM-RLC ::=                    SEQUENCE {
    sn-FieldLength                   SN-FieldLength,
    t-Reordering                     T-Reordering
}
 
SN-FieldLength ::=               ENUMERATED {size5, size10}
 
T-PollRetransmit ::=             ENUMERATED {
                                     ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                     ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                     ms75, ms80, ms85, ms90, ms95, ms100, ms105,
                                     ms110, ms115, ms120, ms125, ms130, ms135,
                                    ms140, ms145, ms150, ms155, ms160, ms165,
                                     ms170, ms175, ms180, ms185, ms190, ms195,
                                     ms200, ms205, ms210, ms215, ms220, ms225,
                                     ms230, ms235, ms240, ms245, ms250, ms300,
                                     ms350, ms400, ms450, ms500, spare9, spare8,
                                     spare7, spare6, spare5, spare4, spare3,
                                     spare2, spare1}
 
PollPDU ::=                          ENUMERATED {
                                     p4, p8, p16, p32, p64, p128, p256, pInfinity}
 
PollByte ::=                     ENUMERATED {
                                     kB25, kB50, kB75, kB100, kB125, kB250, kB375,
                                     kB500, kB750, kB1000, kB1250, kB1500, kB2000,
                                     kB3000, kBinfinity, spare1}
 
T-Reordering ::=                 ENUMERATED {
                                     ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                     ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                     ms75, ms80, ms85, ms90, ms95, ms100, ms110,
                                     ms120, ms130, ms140, ms150, ms160, ms170,
                                     ms180, ms190, ms200, spare1}
 
T-StatusProhibit ::=             ENUMERATED {
                                     ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                     ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                     ms75, ms80, ms85, ms90, ms95, ms100, ms105,
                                     ms110, ms115, ms120, ms125, ms130, ms135,
                                     ms140, ms145, ms150, ms155, ms160, ms165,
                                     ms170, ms175, ms180, ms185, ms190, ms195,
                                     ms200, ms205, ms210, ms215, ms220, ms225,
                                     ms230, ms235, ms240, ms245, ms250, ms300,
                                     ms350, ms400, ms450, ms500, spare8, spare7,
                                     spare6, spare5, spare4, spare3, spare2,
                                     spare1}
-- ASN1STOP
 
另外,AM模式其它的中间状态变量,不在这里重复考虑和描述,请参考协议,主要状态变量如下:
l         AM实体发送端
1)        VT(A):确认状态变量
Ø         下一个需要被正确确认的AMD PDU的SN,作为发送窗口的最低边界。初始值为0,当收到一个SN = VT(A)的AMD PDU的正确确认后更新该参数;
2)        VT(MS):最大发送状态参数
Ø         该参数值等于VT(A) + AM_Window_Size,为发送窗口的最高边界;
3)        VT(S):发送状态参数
Ø         分配给下一个将要生成的AMD PDU的SN,初始值为0,只要发送了一个SN= VT(S)的AMD PDU后,该值便会更新;
4)        POLL_SN:轮询发送状态变量
Ø         该变量值等于最近一次发送的P位置1的RLC数据PDU的SN,初始值为0;
 
l         AM实体接收端
1)        VR(R):接收状态变量
Ø         变量值为最后一个顺序接收到的AMD PDU的下一个PDU的SN,作为接收窗口的最低边界。初始值为0,当收到SN= VR(R)的AMD PDU时,该值更新;
2)        VR(MR):最大可接收状态变量
Ø         等于VR(R) + AM_Window_Size,接收窗外第一个PDU的SN,作为接收窗的最高边界;
3)        VR(X):t-Reordering状态变量
Ø         等于触发t-Reordering的RLC数据PDU的下一个PDU的SN;
4)        VR(MS):最大STATUS发送状态变量
Ø         当需要构造一个STATUS PDU的时候,该值等于可以被“ACK_SN”指示的SN的最大值;
5)        VR(H):最高接收状态变量
Ø         已经接收到的RLC数据PDUs中的SN最高值,初始值为0;
6)        POLL_SN:轮询发送状态参数
Ø         等于最近一次发送的P位指示为1的RLC数据PDU时的VT(S)-1,初始值为0;
    
    后续各章节将从包时延,吞吐量性能指标角度分别对发送端参数和接收端参数做重点分析,其中AM_Window_Size参数发送端和接收端共有参数,在发送端一并说明。
  
时间:  2013-1-8 12:24
作者: xushizhang1024
 
本人正在研究RLC层协议的层三参数,看到这个资料感觉很不错,下下来阅读一下。  
时间:  2015-5-7 13:15
作者: 一向如此
 
参考学习,谢谢分享  
时间:  2015-7-10 16:01
作者: shuaiheaven
 
好好学习,天天向上  
时间:  2015-11-26 15:51
作者: CR7
 
不错啊,好东东  
时间:  2015-11-26 16:12
作者: CR7
 
还有后续章节么,能否上传分享下
  
时间:  2016-11-10 15:07
作者: xlgjh
 
好,有参数介绍
  
时间:  2022-2-14 18:36
作者: daisy0711
 
非常好,有收获。感谢分享。  
| 通信人家园 (https://www.txrjy.com/) | 
Powered by C114 |