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

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

Implementation notes on 'Msg3 PUSCH':

Note 1: 'msg3 pusch' is scheduled by RAR.

Note 2: 'msg3 pusch' use RA type1, can be configured in RACH-ConfigCommon to use 'transform precoding', and can be configured in RAR UL Grant to use 'frequency hopping'.

Note 3: 'frequency domain resource assignment' fields in RAR UL Grant:

*fixed to 14bits

*bitwidth of initial ul bwp: can < 14bits and can >=14bits

self.bitwidthType1IniUlBwp = math.ceil(math.log2(bwpSize * (bwpSize + 1) / 2))
self.bitwidthType1Msg3Pusch = max(14, self.bitwidthType1IniUlBwp)

*relation of 14bits-'freq alloc field' in rar ul grant, and bitwidth of riv(=bitwidth of initial ul bwp) as below:

When bitwidthType1IniUlBwp(denoted as n) > 14bits, (n-14) bits will be inserted into the 14bits-'freq alloc field' in rar ul grant, so that we have n bits RIV, and the (n-14)bits must be all '0'.

This means that, some L_RBs/RB_start combinations is not valid when n>14.

For example, assume msg3PuschTp=enabled, msg3PuschFreqHop=enabled, bwpSizeIniUlBwp=270(and n=16bits), RB_start=0, and L_RBs=160:

The 16bits RIV is: 0111011000011111, 2MSBs(='01') is for freq hop, next two bits(='11') is the inserted bits which is apperently not all '0'.

For this kind of invalid combination, you will get an Error message:

[2018-11-30 08:27:52]Error: Inserted bits(="11") must be all zeros! Please refer to 3GPP 38.213 vf30 Section 8.2 for details.

Note 4: when 'transform precoding' is enabled, the L_RBs must be of 2^x*3^y*5^z (with x/y/z>=0) pattern which is similar to LTE.

 if self.nrRachMsg3TpComb.currentText() == 'enabled':
            self.lrbsMsg3PuschTp = []
            for x in range(math.ceil(math.log(bwpSize, 2))):
                for y in range(math.ceil(math.log(bwpSize, 3))):
                    for z in range(math.ceil(math.log(bwpSize, 5))):
                        lrbs = 2 ** x * 3 ** y * 5 ** z
                        if lrbs <= bwpSize:
                            self.lrbsMsg3PuschTp.append(lrbs)
                        else:
                            break
            #sort in ascending order
            self.lrbsMsg3PuschTp.sort()           

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值