NG Toolset开发笔记--NB-IoT Resource Grid(13)

本文介绍了NB-IoT系统中上行调度的具体实现方法,包括如何使用sendNpuschFormat1发送数据,以及如何通过fillNpuschFormat1和fillNpuschFormat2填充上行调度资源。文中详细解释了在不同子载波间隔下的资源映射过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2/23号完成:

(1)sendNpuschFormat1

(2)fillNpuschFormat1和fillNpuschFormat2

至此,NB Grid基本实现完毕。(todo list:NPDSCH/NPDCCH gap和以tab方式绘制nb grid

比如fillNpuschFormat1实现如下:

def fillNpuschFormat1(self, hsfn, sfn, slot):
        allSymb = self.args['npuschAllSymbols']
        scs = self.args['npuschFormat1Scs']
        
        #host LTE grid (isc, isymb)
        hostScs = [self.args['nbInbandPrbIndUl'] * 12 + isc for isc in scs] if self.args['nbUlScSpacing'] == NbiotPhy.NBIOT_UL_15K.value else [self.args['nbInbandPrbIndUl'] * 12 + math.floor(isc/4) for isc in scs]
        hostSlot = [slot] if self.args['nbUlScSpacing'] == NbiotPhy.NBIOT_UL_15K.value else list(range(4*slot, 4*(slot+1)))
        hostSymb = []
        hostSymb.extend([i*self.symbPerSlotNb+j for i in hostSlot for j in range(self.symbPerSlotNb)])
        
        key = str(hsfn)+'_'+str(sfn)
        for ind, isc in enumerate(scs):
            for isymb in range(self.symbPerSlotNb):
                if allSymb: #npusch-AllSymbols = True
                    if self.gridNbUl[key][0][isc][slot*self.symbPerSlotNb+isymb] == NbiotResType.NBIOT_RES_BLANK.value:
                        self.gridNbUl[key][0][isc][slot*self.symbPerSlotNb+isymb] = NbiotResType.NBIOT_RES_NPUSCH_FORMAT2.value
                else:
                    isSrs = False
                    for i in range(1 if self.args['nbUlScSpacing'] == NbiotPhy.NBIOT_UL_15K.value else 4):
                        if self.args['hostLteGridUl'][0][hostScs[ind]][hostSymb[4*isymb+i]] == LTE_RES_SRS.value:
                            isSrs = True
                            break
                    if not isSrs and self.gridNbUl[key][0][isc][slot*self.symbPerSlotNb+isymb] == NbiotResType.NBIOT_RES_BLANK.value:
                        self.gridNbUl[key][0][isc][slot*self.symbPerSlotNb+isymb] = NbiotResType.NBIOT_RES_NPUSCH_FORMAT2.value

缺省配置下,NB部分输出为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值