1-30开始NB-IoT资源栅格开发。NgNbiotGrid基于NgLteGrid开发,主要实现inband模式。
第一步是,调整NgLteGrid输出csv中time/frequency的索引方式,从base10调整为base36
time domain:格式为[AABBCD],AA为HSFN,BB为SFN,C为subframe,D为symbol
frequency domain:格式为[AABB],AA为PRB,BB为subcarrier
#ngb36utils.py
from numpy import base_repr
def time2str36(hsfn, sfn, subf, symb):
#HSFN, range 0~1023, two base36 chars
strHsfn = base_repr(hsfn, base=36)
#SFN, range 0~1023, two base36 chars
strSfn = base_repr(sfn, base=36)
#subframe, range 0~10, one base36 char
strSubf = base_repr(subf, base=36)
#symbol, range 0~14, one base36 char
strSymb = base_repr(symb, base=36)
return '[%s%s%s%s]' % (strHsfn.zfill(2), strSfn.zfill(2), strSubf, strSymb)
def freq2str36(prb, sc):
#prb, range 0~99, two base36 chars
strPrb = base_repr(prb, base=36)
#subcarrier, range 0~47, two base36 chars
strSc = base_repr(sc, base=36)
return '[%s%s]' % (strPrb.zfill(2), strSc.zfill(2))
现在的LTE资源栅格绘制出来后如下: