对LTE和NR中RIV(Resource Indicator Value)的设计的个人理解
📅20251204
LTE和NR5G中都有用到RIV来指示RB的分配情况,并且给出了一个看起来有些复杂的计算公式。就笔者的了解初体验来看,即使看懂了数学公式,还是一脸懵:为什么要这么设计呢?为什么这样设计就是满足要求的呢?
我们不妨从设计的角度来考虑问题。
由于NR和LTE中RB都是连续分配的,RB的分配情况包含了两个信息,起始的RB编号 N s t a r t N_{start} Nstart(从0开始编号)和RB的数量 N R B N_{RB} NRB。以LTE为例,最大带宽20MHz对应了最大的RB分配数量:100。很自然的,我们会想到用两个参数来表示,由于这两个数都不会超过100,RB编号更是不会超过100-1=99。这两个数字分别最少使用7个比特来表示( 2 7 = 128 2^7=128 27=128),加起来就是14比特。可以看出来,101-128这些数是永远不会用到的,可以说这两个7比特的数据分别都有零点几个比特是被浪费了的。
有没有办法再提高一些传输效率呢?也就说是能不能减少比特数,实际上RIV做到了。
这两个数字还有一个特征,那就是加起来小于系统最大RB数量
N s t a r t + N R B ≤ N c a r r i e r N_{start}+N_{RB} \leq N_{carrier} Nstart+NRB≤Ncarrier
这就是在区间 [ 0 , N c a r r i e r ] [0,N_{carrier}] [0,Ncarrier]中找两个整数,使得他们的和小于等于 N c a r r i e r N_{carrier} Ncarrier,实际上 N R B N_{RB} NRB不可能等于0, N s t a r t N_{start} Nstart不可能等于50,因为RB从0开始编号,我们暂时先放宽条件。
为了简化描述和计算,以 N c a r r i e r = 5 N_{carrier}=5 Ncarrier=5为例(LTE实际最小RB为6,1.4M带宽),我们分别以 N s t a r t N_{start} Nstart为x轴, N R B N_{RB} NRB为y轴在笛卡尔坐标系中画出来符合要求的区域,y=4-x的图像和坐标轴正半轴围成的等腰直角三角形就是我们关心的范围。这个范围内坐标由整数组成的点就是可能的RB分配: (0,1),(1,1),(2,1)等等。

可以数出来总共有15个点,也就是说,用数字0-14就能编号所有RB的分配情况,现在我们可以用一个数字来表示两个信息了。0-14的数字最少需要4个比特来表示,相比用两个3比特的数字来表示,节省了2个比特
可以推广到任意 N c a r r i e r N_{carrier} Ncarrier需要多少个数字来代表所有的RB分配情况,我们用字母V来表示:
V = N c a r r i e r × ( N c a r r i e r + 1 ) ÷ 2 V=N_{carrier} \times (N_{carrier}+1) \div 2 V=Ncarrier×(Ncarrier+1)÷2
LTE最多有100个PRB,因此V最大为5050,可以用13个比特来表示,相比两个7比特的数据,节省了1比特
V = 100 × ( 100 + 1 ) ÷ 2 = 5050 V=100 \times (100+1) \div 2 = 5050 V=100×(100+1)÷2=5050
这里讨论一下细节:在前面的例子中,不能分配0个RB,因此y=0上的点应该被略去,也不能分配编号为 N c a r r i e r N_{carrier} Ncarrier的RB,x= N c a r r i e r N_{carrier} Ncarrier的点应当被略去,为什么没有这样做?在LTE系统100PRB的情况下,略去这些点并不能达到节省比特的目的,因此没有讨论这些点。
至此,我们已经明白RIV为什么可以节省比特了,至于具体的编码细节:用哪个数字来表示哪种RB分配方法,参阅3GPP给出的公式即可。
