通信人家园
标题:
MAC UL mutiplexing
[查看完整版帖子]
[打印本页]
时间:
2012-4-17 13:01
作者:
纪伯伦
标题:
MAC UL mutiplexing
原则:
1
、在
ulgrant
允许的基础上尽可能多的传数。
2
、兼顾
LC
,避免可着一个逻辑信道传,而低优先级信道永远无法传,所以使用了令牌桶算法。
BJ
初始化为
0
,并且每个
TTI
加上
PBR
,
BJ
不能超过桶的
size.
Step1:
所有
BJ>0
的
LC,
按照优先级递减组包。
BJ
不能大于桶大小,否则传的数据最大就是桶大小
PBR*BSD
(
Bucket Size Duration
)。
当
PBR
无穷大的时候,必须把这个
LC
的数据传完才会考虑比它优先级底的逻辑信道。
Step2
:
BJ
减去步骤
1
里面的数据包的大小。
Step3
:如果前两步执行完还有
ulgrant
的话,不管
BJ
,把剩下的数据按照
LC
优先级组包。
上面的话看起来很晦涩,换一种方式来理解。
用小学进出水管的办法理解令牌桶。
假设有一个容积为
V
的水桶,有一个进水管和一个出水管。
进水管常开,
Vin=
流速
A*
时间
T
,但是
Vin
必须小于等于
V
,再多水就会溢出了,进不到桶里。(这个进水管就是令牌桶原理里的令牌)
出水管偶尔才会打开。每一次流出的水不一定,而且
Vout
偶尔还会比
V
大(这个很难理解,我们姑且认为它用了魔法从别处借的水,信用卡式魔法桶,但是借的迟早要还的)。
那么桶里有多少水呢?(桶内的令牌数)
Vnow=Vin-Vout
这是小学学的。
Vnow
是可能为负数的。
为负数的可能性有以下几点:
1
、首先
Vin
永远小于
V
,
Vout
却可能大于
V
,
Vout
大于
V
的时候肯定是负数。
2
、假设
t
很小的时候,这时
Vin
也非常小,极限情况
t=0
,
Vin=0
。这时有
Vout
肯定是负数。
3
、最正常的情况,
Vout
和
Vin
都在桶大小之内,但是
Vout
大于
Vin
的情况。这时也是负数。
刚才说了借债要还,所以出水管多倒出去的水是要还的,需要进水管很长时间补充才能偿还。
这段时间我们规定出水管不能再打开了。这就跟信用卡一样,你可以透支,但你透了一定程度的时候,就不能再透了。
我们再假设有好几个桶(比如
10
个逻辑信道),每一个桶都有进水管和出水管。优先级高的逻辑信道优先传输,但是一次传的太多了,信用卡欠账了,
Vnow
小于
0
了,这时它就不传输了。上行资源就留给其他低优先级的桶去调度,当高优先的桶把欠账还了,进水管的水补充好了,桶里有水了,就可以恢复传输了。
这样做的好处:
1、
兼顾各个优先级,避免低优先饥饿,总也分不到资源。
起到一定的流控作用。虽然偶尔会有流量的波动,但这种方法可以保证长期流速在
A
值。
进水管
容积
V
出水管
通信人家园 (https://www.txrjy.com/)
Powered by C114