NG Toolset开发笔记--5GNR Resource Grid(38)

100 篇文章 0 订阅
42 篇文章 1 订阅

Procedures to parse/make RIV(resource indication value):

def parseRiv(self, riv, N_BWP_Size):
        div = riv // N_BWP_Size
        rem = riv % N_BWP_Size
        
        L_RBs = [div + 1, N_BWP_Size + 1 - div]
        RB_start = [rem, N_BWP_Size - 1 - rem]
        #self.ngwin.logEdit.append('Info: RIV = %d, L_RBs = [%d,%d], RB_start = [%d,%d], N_BWP_Size = %d.' % (riv, L_RBs[0], L_RBs[1], RB_start[0], RB_start[1], N_BWP_Size))
        if L_RBs[0] >= 1 and L_RBs[0] <= (N_BWP_Size - RB_start[0]) and L_RBs[0] <= math.floor(N_BWP_Size / 2):
            return (L_RBs[0], RB_start[0])
        elif L_RBs[1] >= 1 and L_RBs[1] <= (N_BWP_Size - RB_start[1]) and L_RBs[1] > math.floor(N_BWP_Size / 2):
            return (L_RBs[1], RB_start[1])
        else:
            #invalid RIV
            return (None, None)
 def makeRiv(self, L_RBs, RB_start, N_BWP_Size):
        if L_RBs < 1 or L_RBs > (N_BWP_Size - RB_start):
            #self.ngwin.logEdit.append('ERROR: L_RBs = %d, RB_start = %d, N_BWP_Size = %d.' % (L_RBs, RB_start, N_BWP_Size))
            return None 
        
        if (L_RBs - 1) <= math.floor(N_BWP_Size / 2):
            riv = N_BWP_Size * (L_RBs - 1) + RB_start
        else:
            riv = N_BWP_Size * (N_BWP_Size - L_RBs + 1) + (N_BWP_Size - 1 - RB_start)
        
        return riv

Interpretation of locationAndBandwidth field in BWP:

L_RBs, RB_start= self.parseRiv(riv, 275)

Note 1: According to 38.213 12:

and the value range of locationAndBandwidth is 0~37949.

Note 2: locationAndBandwidth range [37675, 37812] is invalid, aka, L_RBs = 139, RB_start=[137, 274]. For example, let locationAndBandwidth=37675:

parseRiv: riv=37675, L_RBs=139, RB_start=274
ERROR: L_RBs = 139, RB_start = 274, N_BWP_Size = 275.

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值