EVDO网络的反向链路负荷控制算法.docx
《EVDO网络的反向链路负荷控制算法.docx》由会员分享,可在线阅读,更多相关《EVDO网络的反向链路负荷控制算法.docx(11页珍藏版)》请在冰豆网上搜索。
![EVDO网络的反向链路负荷控制算法.docx](https://file1.bdocx.com/fileroot1/2022-12/7/146fd77e-3c10-4e45-88a2-2c5c3a9d61d6/146fd77e-3c10-4e45-88a2-2c5c3a9d61d61.gif)
EVDO网络的反向链路负荷控制算法
EVDO网络的反向链路负荷控制算法
1.引言
DO系统的反向链路与前向链路不同,不存在调度器,反向以码分为主,用长码掩码区分不同的用户。
从这一点上来说,DO的反向链路与1X系统相似,是一个反向干扰受限的系统。
在EVDORel.0版本中,AN根据扇区负荷的变化情况,通过各个扇区RA子信道下发RAB比特通知AT此扇区的负载情况,AT通过RAB比特提供的信息根据转移概率矩阵对自己的传送速率进行调整。
这种速率控制机制,升速或降速需要多次倍速转换,传输突发数据流易造成较大的延迟,速率抬升较慢,造成反向链路可靠性差。
因此,Rel.0达不到数据流的QoS应用要求。
在EVDORev.A中,为了保证不同QoS级别用户和用户内不同QoS级别的业务流,实现精准控制AT的反向发送优先级,提出了基于T2P桶算法的概念。
Subtype3RLMAC协议提供了多个激活MAC流之间的QoS,通过对每个激活流的T2P(TraffictoPilotPowerRatio)控制来完成速率控制。
AN根据扇区负荷情况决定RAB比特,AT根据RAB比特计算每个激活流可用的T2P资源来控制传输速率。
为了便于理解,先简要介绍一下QoS机制。
为了提供高速实时多媒体分组数据业务,EVDORev.A版本增加了多流包应用协议MFPA(Multi-FlowPacketApplication),要求提供端到端的QoS业务,每个用户可以有多个不同QoS要求的业务流。
这些业务流的数据包因为业务属性不同而具有不同的优先等级,表现在准入控制、负荷控制、优先级调度等无线资源管理和地面链路资源管理等各个方面。
评价QoS的关键指标主要包括:
可用性、带宽/吞吐量、时延、抖动和误包率。
本文主要涉及到用户内(Intra-user)QoS。
根据业务流对时延敏感性的不同,QoS分为以下三类:
⏹EF(ExpeditedForwarding):
时延敏感,要求低误包率,如VoIP、视频电话;
⏹AF(AssuredForwarding):
可容忍一定时延,有低速率要求,如视频点播;
⏹BE(BestEffort):
对时延和速率不敏感,如FTP、HTTP、E-mail。
AN通过支持并发多流来支持不同业务应用的QoS,同样每个流都有对应的QoS。
前向无线资源通过时分复用的方式被多用户共享,针对不同QoS要求的多个流分别分配前向时隙调度的优先级,AN优先保证EF,其次是AF,最后是BE;在反向,AT根据不同业务流的QoS需求申请反向功率资源,AN综合所有AT的请求,进行集中式资源分配。
2.反向负荷控制算法
2.1概述
与EVDORel.0使用的基于转移概率的负荷控制算法不同,EVDORev.A使用的是基于T2P的漏桶算法,
先简单介绍一下T2P的概念。
当终端没有数据需要传输时,终端在反向链路上仅仅发送导频信号。
通过功率控制算法,在保证基站接收机可以正常监测和正确解调的前提下,终端发射最小功率的导频信号。
当有数据在反向链路上面传输时,终端在反向业务信道上面也需要一定的发射功率。
数据速率越高,终端需要的发射功率就越大。
T2P就是指示了相对于导频信道功率终端需要多少额外的功率分配给反向业务信道。
其算法实现过程如下图所示:
此例以仅以一个MAC流为例进行介绍。
此过程从基站测量反向链路激活比特(RAB)开始:
(1)基站每个时隙向终端反馈反向激活比特RAB,终端通过相关算法计算每一个MAC流的QRAB和FRAB,确定扇区的负载情况;
(2)终端根据扇区负载情况,计算T2PInflow的变化,即△T2PInflow;
(3)终端更新T2PInflow;
(4)根据需要传输数据的延迟要求,终端决定传输数据包的大小和传输模式;
(5)如果待传数据适合用上一步确定的数据包大小传输,且T2P资源足够,终端则更新T2POutflow,准备传输数据。
(6)终端更新BucketLevelSat(漏桶的大小)和BucketLevel(漏桶内T2P资源的数量)。
2.2现网扇区激活比特RAB的确定(AN侧)
RAB是ReverseActivityBit的简称,即反向激活比特,用于反映扇区的忙闲。
RAB的计算过程是:
系统测试反向底噪,然后根据实际的RSSI和底噪相比,计算得到底噪抬升(ROT),ROT再与我们设定的RAB门限做比较,大于则下发RAB=1,否则下发RAB=0。
具体如下:
1)ROT的计算
DO系统中一个扇区的ROT是基站从系统中所有终端处接收的功率与热噪声功率的比值。
在静默(ReverseLinkSilenceDuration)期间,系统中所有的终端都禁止发射功率,基站可以测量出热噪声功率,即静默噪声。
在其他非静默时间,基站测量出总接收功率,两者之比就是ROT。
基于ROT的测量可以实时获得系统反向链路上干扰情况,目前除MSC2下系统过载的门限值是9dB外,其余交换机均是12dB。
2)RAB的计算
基站根据相应的算法测量反向链路的ROT,以反向链路激活比特(RAB)的方式,通过前向RA信道反馈给终端。
当ROT超过设定的RABThreshold时,RAB=1,表示系统反向过载;否则,RAB=0,表示系统反向轻载。
2.3T2P算法(AT侧)
2.3.1T2P概述
T2P是TraffictoPilotPowerRatio的简称,以即业务信道相对于导频信道的增益。
其含义与其他反向信道(如DRC、DSC、ACK等)相对于导频信道的增益类似,只不过是其他信道相对于导频信道的增益是一个固定值,而业务信道相对于导频信道的增益,是一个随系统反向负荷和不同业务等条件而动态调整的值。
对于每个单独的MAC流来说,Subtype3RLMAC协议为它维护一个大小可变漏桶,这个流可用的T2P资源就是漏桶里的水平面。
Subtype3RLMAC协议对每个激活的MAC流进行管理,根据业务属性的不同,为MAC流协商不同的T2P参数,并由这些参数决定此MAC流的资源获取的优先级及传送模式等。
不同的流对应不同的T2P资源流出,对周围所有扇区的负载就会产生影响,进而影响AT激活集扇区的RAB。
T2P调度器根据RAB的变化对自己的来水量(T2PInflow)、潜在出水量(PotentialT2POutflow)、实际流水量(T2POouflow)、漏桶的大小(BucketLevelSat)等做出变化,控制漏桶内的T2P资源,使得不同的流获得不同的发送速率,从而实现反向用户间和用户内不同业务流的QoS。
T2P原理如下图所示:
漏桶的水平面和漏桶的来水量和出水量有关。
漏桶的来水量就是新进入漏桶的T2P资源,它取决于当前子帧的忙闲程度、漏桶的最大容量等因素。
漏桶的出水量是当前子帧允许可用的最大T2P资源,它与漏桶的水平面、入水量等因素有关,漏桶的出水量也是决定发包大小的直接因素。
2.3.2重要的变量和函数
要理解T2P算法,首先需要了解以下几个重要的变量和函数:
1)重要变量
⏹△T2PInflow
漏桶的来水量T2PInflow的调整值,根据RAB的忙闲,确定该值增加或减少。
⏹T2PInflow
漏桶的来水量,根据上一子帧的T2PInflow和T2POutflow进行滤波,再加上△T2PInflow。
⏹PotentialT2POutflow
潜在T2P输出量,决定发送包大小的因素之一。
⏹T2POutflow
流在当前发送的包中实际占有的T2P资源,当只有单流时,与当前发送包的大小一一对应;等于“流包含的字节占整个包大小的比例×发送当前包需要的T2P资源”,影响下一个子帧的T2PInflow和BucketLevel的大小。
⏹BucketLevel
漏桶内可用T2P资源的数量,每个子帧发送前根据上一次的T2PInflow和T2POutflow的差值进行更新,在发送一个新包时,用于PotentialT2POutflow的计算;当超过了BucketLevelSat时,当前子帧的△T2PInflow=0。
⏹BucketLevelSat
表示漏桶的饱和度,本流在当前子帧能够使用的最大T2P资源数量受该变量限制。
2)重要函数
⏹T2PUp(T2PInflow,FRAB)/T2PDn(T2PInflow,FRAB)
T2Pup()或T2PDn()是T2PInflow和FRAB共同组成的三维曲线,用于决定△T2PInflow,最终改变T2PInflow。
当系统负载轻时,使用T2Pup()函数抬升△T2PInflow,从而抬升T2PInflow,增大终端的T2P资源,提升反向速率;相反,当系统负载重时,使用T2PDn()函数降低△T2PInflow,从而减少T2PInflow,减少终端的T2P资源,降低反向速率。
⏹BucketFactor(T2PInflow,FRAB)
该函数在计算PotentialT2POutflow和BucketLevelSat时使用,实际上起到了限制了反向包的包长变化幅度的作用。
该函数是一个以T2PInflow和FRAB为轴的三维函数。
定义了当T2PInflow和FRAB确定时,PotentialT2POutflow和BucketLevelSat的变化幅度值。
BE业务的BucketLevelSat函数体现的原则是:
当系统反向负荷低或者已经分配的T2P资源较少时,允许包长波动较大;反之,当系统反向负荷高或者已分配的T2P资源较多时,只允许包长在小范围内波动。
而EF业务的T2P分配策略是固定分配的,一般情况下BucketFactor函数不随T2PInflow和FRAB的变化而变化。
两种业务对应的函数曲线如下所示:
2.3.3T2P算法的主要步骤
1)每个子帧,AT计算QRAB和FRAB
QRAB是短期(如4个时隙)内RAB的平均值,用于判断对一个特定的MAC流增加或者减少T2PInflow资源,其取值为1或者-1。
如果QRAB=1,则说明扇区过载;如果QRAB=-1,则说明扇区空载。
QRAB是面向激活集内所有扇区中的每一个MAC流。
对于Best-Effort流,QRAB的设置比较保守,只要激活集内任意一个扇区的RAB=1,则QRAB置为1,表示过载。
FRAB是长期(如384个时隙)内RAB的平均值,反映扇区长时间段内的负荷情况,用于决定分配给所有MAC流的T2PInflow资源增加或者减少的幅度。
FRAB是面向激活集内所有扇区中的每一个终端。
FRAB取值空间为[-1,1]。
如果FRAB=1,则说明扇区过载严重;如果FRAB=0,则说明扇区过载;如果FRAB=-1,则说明扇区空载。
2)更新△T2PInflow
终端根据第一步计算出来的QRAB/FRAB来决定T2P资源的变化。
⏹当基站没有限制分配给终端的T2P资源保持常数,并且QRAB=1(系统反向忙),并且该流对应的漏桶没有满,则
=-T2PDn(
,FRAB);
⏹当基站没有限制分配给终端的T2P资源保持常数,并且QRAB=0(系统反向闲),并且该流对应的漏桶没有满,则
=T2PUp(
,FRAB);
⏹当终端没有接收到前向CDMA信道,或者正处于反向链路静默时间,或者该流对应的漏桶已经满,则
=0。
3)更新T2PInflow
终端根据上一子帧的T2PInflow和T2POutflow进行更新,且T2PInflow资源的分配限
于(T2PInflowmin,T2PInflowmax)之间。
计算公式如下:
=(1-(1/T2PFilterTC))*
+(1/T2PFilterTC)*
+
,其中T2PFilterTC是每个子帧AT计算T2PInflow值的无限脉冲响应(IIR)滤波器时间常数。
4)更新PotentialT2POutflow
PotentialT2POutflow指的是当前子帧允许可用的最大T2P资源,它是决定发送包大小的因素之一。
如果该子帧有包需要发送,则计算MAC流在HC和LL两种模式下的PotentialT2POutflow会有所不同,但都是由BucketLevel和T2PInflow,或者函数BucketFactor()*T2PInflow决定。
5)确定传输模式和包大小
MAC流共有HiCap和LoLat两种传输模式,如下图所示,其中HiCap传输模式用于非时延敏感业务,无需保障时延,期望能够在四个子包内完成数据传输,4个子包所使用的业务信道功率都相同,并且比较低。
而LoLat传输模式主要用于时延敏感业务,期望能够在2个子包内传输成功,因此前2个子包所使用的业务信道功率相同,并且要高于后2个子包。
HiCap传输模式
LoLat传输模式
MAC流的传输模式确定原则如下:
⏹当前流全是HC模式时,如果数据量之和高于载荷门限(PayloadThresh)时,所有待发数据流工作于LL模式;反之则工作于HC模式。
⏹当前流中含有LL模式时,满足以下任意条件的所有待发数据流都工作于LL模式:
●数据流的初始传输模式为LL模式;
●
<FRABlow,表示系统轻载;
●总的HC流输出超过合并门限(MergeThreshold)时,所有HC流都转为LL模式。
反向数据包大小的确定:
相对于EVDORel.0版本,Rev.A系统的反向链路提供了更小和更大的数据包,共有12种包大小,分别满足日益增长的各种业务需求。
反向链路数据包的大小最终由T2P算法根据最大可用T2P资源、上层待传数据序列大小和优先级来确定。
6)更新T2POutflow
终端将根据每个MAC流需要传输的数据从T2P资源池中按比例地抽取T2P资源用于数据的传输。
当某个MAC流没有数据传输时,则无需抽取T2P资源分配给这个MAC流。
更新T2POutflow分三种情况:
⏹当仅传输数据业务时,
=(
/
)*
,其中
是第n个子帧所有MAC流数据的字节之和,
是第i个MAC流的字节数;
⏹有时传输某个特定大小的物理包时同时需要辅助导频,便于在接收端更好的解调,所以也需要从T2P资源池中抽取T2P资源用于辅助导频的传输。
这时:
=(
/
)*
*(1+AuxPilotChannelGain);
⏹当子帧n的第i个MAC流无数据包传送时,
=0。
7)更新下一个子帧的BucketLevelSat和BucketLevel
最后,系统将根据抽取的T2P资源的情况更新T2P资源池和漏桶饱和度,为下一个子帧传送做好准备。
在更新下一个子帧所需的T2P池前,需要先更新下一个子帧对应的漏桶饱和度,其计算公式如下:
=min(
*
,
)*
,
)
若AT在第n个子帧未收到相应前向信道数据或处于反向链路静默时间内,则AT置下一个子帧的漏桶内堆积的T2P资源为零,即
0,反之则更新如下:
=min(
+
-
,
)
2.3.4T2P的主要参数
T2P参数分为功率类、漏桶类、传输模式类、滤波常数和QRAB判决五类参数。
其中,功率参数与各种数据包的终止子帧数密切相关;漏桶参数控制各个流的性能;传输模式参数直接决定各个流的低时延和高容量模式;滤波常数用作基础负荷数据的更新;QRAB的判决参数影响了T2PInflow的分配,保障了不同流的QoS特性。
由于T2P算法涉及到的参数很多,在此只挑选一些重要的参数进行简单介绍。
⏹FRAB门限(FRABlow)
这是一个有关FRAB和传输模式选择之间的门限值。
若当前子帧待发数据流中包含LL流,且FRAB小于FRABLow,则所有待发数据流(HC+LL)都被聚合到一个待发数据流集合中,并以LL模式发送。
如果该值设得越大,HC流越容易转为LL流,可能可以获得更高的反向速率,但是这会使HC流使用过多的T2P资源,增大了反向干扰。
该值设置越小,HC流越难转为LL流,反向速率有所下降,但可以使T2P资源更有效利用,从而减少ROT抬升。
⏹合并门限(MergeThreshold)
该参数用来确定在有LL流存在时,是否可以将来自HC流和LL流的反向链路数据包合并的门限。
这种机制用来保证有LL流存在时,HC流不会长时间得不到服务。
设的越小,HC流越容易转为LL流,可能可以获得更高的反向速率,但这会使HC流使用过多的T2P资源,增大了反向干扰。
设置越大,HC流越难转为LL流,反向速率有所下降,但可以减少T2P资源的消耗,从而减少ROT抬升。
⏹载荷门限(PayloadThresh)
当前子帧所有待发数据流都是HC流时,若所有待发数据量之和大于等于该门限值,则可使用LL模式发送当前所有待发数据流。
该值设置太小,HC流越容易以LL流发送,可能可以获得更高的反向速率,但这会使HC流使用过多的T2P资源,增大系统的ROT。
该值设置太大,HC流越难转为LL流,反向速率有所下降,但可减少T2P资源的使用,从而减少系统ROT抬升。
2.4反向功率控制
DO系统反向功率控制的机制与1X网络的相似,反向功率控制机制是控制终端发射导频信号的功率大小,而反向业务信道发射功率则由T2P算法来控制与分配。
二者同时作用来保证达到反向链路的性能,如下图所示。
其中,T2P算法用于控制终端T2P资源的分配,也就是控制终端业务信道发射功率的分配,它是基于每一个MAC流来实现的;而反向链路功率控制用于调整终端导频信号发射功率,它是基于每一终端来实现的。
为了实现快速的调度与控制,T2P算法和反向链路功率控制都是每一个子帧(6.67ms)更新一次。
2.5小结
反向T2P算法是1xEV-DORevA引入的反向速率控制及负荷控制算法,其作用是根据当前反向链路的负荷情况、用户业务等级和可用系统资源等因素确定反向数据包的发送速率和AT的发射功率。
反向速率控制的机制是:
基站实时测量反向链路的ROT,以反向链路激活比特(RAB)的方式,通过前向RA信道反馈给终端。
AT通过相关算法计算每一个MAC流的QRAB和FRAB,确定扇区的负载情况,并以此来决定如何为每一个MAC流来分配T2P资源,调整反向包大小和发送模式,从而AT调整反向业务速率和发射功率。
如果DO反向链路负荷较重或存在干扰,系统会根据调度算法降低分配的T2P资源,从而导致反向数据速率的降低。