5G New Radio PHY layer

RLC

2021-11-05  本文已影响0人  国宝级初学者

包括有TM,UM,AM模式,

TM模式即是不做任何修改,广播消息,寻呼消息等,比如SIB消息直接从RRC,通过RLC透传到MAC往下发;

UM模式与TM不同,主要在于UM需要对报文做处理再往下发,可以分段,串接,有RLC头,支持的业务包括VoIP等;

AM模式较UM增加的是有RLC的ARQ重传,并且可以支持RLC PDU的再分段。复杂的主要是AM模式;重分段的意思是当重传AM PDU的大小大于本次MAC的允许的SDU的大小时,进行重分段;分段也只是对数据域的分段。

[if !supportLists]1.1 [endif]RLC参数

[if !supportLists]1.1 [endif]UM模式

发射就只有看VT(US),一直发送。

主要看接收,其中的一些参数是这么看的:

重排序计时器范围是0-200ms,值太小的话导致超时过快而常有丢包就重组递交给上层,但是VOIP业务是不能等的,先保证快速递交。

当SN长度是5bit时,重排序窗口大小是16,SN长度是10bit时,重排序窗口大小512

[if !supportLists]1.1 [endif]AM模式

首先是发送端参数VT(A),VT(MS),VT(S),Poll_SN:

触发轮询的目的:

防止发送侧Buffr溢出

触发轮询的条件:

[if !supportLists]l [endif]PDU_without_Poll >= pollPDU

[if !supportLists]l [endif]BYTE_without_Poll >= pollByte

[if !supportLists]l [endif]发送区和重传缓冲区都为空

[if !supportLists]l [endif]没有新的RLC数据PDU能发送(发送窗口堵塞)

触发轮询后的操作

[if !supportLists]l [endif]RLC data PDU的P字段设置为1;

[if !supportLists]l [endif]PDU_without_Poll和BYTE_without_Poll设置为0;

[if !supportLists]l [endif]VT(S) = VT(S) + 1, POLL_SN = VT(S) – 1;

[if !supportLists]l [endif]启动或者重启t-PollRetransmit。

发生重传的条件:

[if !supportLists]l [endif]t-PollRetransmit超时,轮训后未得到响应

[if !supportLists]l [endif]status报告含有NACK

接收端状态报告

状态报告的目的:

接收端向发送端反馈哪些PDU已经正确接收,哪些还没有收到

状态报告的触发条件:

[if !supportLists]l [endif]发送端polling:该PDU前所有的数据都收到

[if !supportLists]l [endif]重排序定时器超时

状态报告禁止定时器:

[if !supportLists]l [endif]当一个状态报告发送给底层,启动t_status_prohibit

[if !supportLists]l [endif]当状态PDU被触发时,如果t_status_prohibit没有运行,那么就在底层指示的第一个发送机会,发状态报告;如果t_status_prohibit正在运行,那么就在t_status_prohibit超时后底层指示的第一个发送机会,发状态报告

接收端参数:VR(R),VR(MR),VR(X),VR(MS),VR(H),t-Reordering,t-StatusProhibit

t-PollRetransmit值过小会导致频繁超时触发重传,接收方收到大量重复PDU,值过大可能因无法及时进行重传导致吞吐量降低

pollPDU和pollByte,值过小会频繁触发轮询,值过大可能导致发送窗口堵塞

t-Reordering,值过小会频繁触发NACK状态报告,导致发送端频繁重传

t-StatusProhibit,值过大会延缓状态报告发送,导致发送端频繁t-PollRetransmit超时

重传的触发条件

对等端AM RLC实体的状态报告(必选),来自MAC实体的HARQ发送失败(可选)

当对AMD PDU或AMD PDU分段进行重传时,AM RLC实体发送侧应进行如下操作:如果该AMD PDU大小可以完全适合此发送时机的TB块大小,发送该AMD PDU,除P域外;否则,根据TB大小,对AMD PDU进行必要的分割,形成新的AMD PDU分段 

如果满足则将关联RETX_COUNT置为0;

否则:

如果上次递增或者RETX_COUNT值为0相对应的AMD PDU或者AMD PDU部分已经递交给低层,则将RETX_COUNT加1。

如果RETX_COUNT = Max_Retx_Threshold:

向高层指示已达到最大重传次数,可以出发RLF流程

以上就是简要归纳了一下接收端的处理

状态报告的目的

接收端向发送端反馈哪些PDU或PDU分段已经正确接收到,哪些还没有收到;

状态报告的触发条件

发送侧polling:该PDU前所有数据都收到

重排序定时器超时

状态报告的大小

已经触发一个状态PDU,且状态禁止定时器没有运行或者已经超时,该UE将估计在下一个传输时机被传输的状态PDU的大小 

状态报告禁止

当一个状态报告递交给低层,启动T_status_prohibit。

当状态PDU被触发时,如果T_status_prohibit没有运行,AM RLC实体接收侧将在随后低层指示的第一个发送机会,组织一个状态报告发送;

当状态PDU被触发时,如果T_status_prohibit在运行,在T_status_prohibit超时后低层指示的第一个发送机会,组织一个状态报告发送

从一个文档中得到的结果:

[if !supportLists]1. [endif]T-Reordering,当数值小于MAC的时延,系统性能指标会出现剧烈变化,当大于MAC的时延,系统性能指标趋于稳定;因此T-Reordering取值要大于MAC时延

[if !supportLists]2. [endif]T-StatusProhibit, t-pollRetransmit作用基本相同,计数器值增大,反向带宽减小,PDU平均重传次数减少,时延增大,吞吐量减小;推荐T-StatusProhibit区间【ms50-ms300】,推荐t-pollRetransmit区间【ms50-ms120】;不能t-pollRetransmit很小而T-StatusProhibit很大

[if !supportLists]3. [endif]pollPDU,pollByte作用基本相同,计数器值增大,反向带宽减小,PDU平均重传次数减少,时延增大,吞吐量减小;推荐pollPDU区间【p32-p128】,推荐pollByte区间【kB500-kB1500】

上一篇下一篇

猜你喜欢

热点阅读