我是靠谱客的博主 难过秋天,这篇文章主要介绍NB-IoT中DCI Format N0格式解析DCI Format N0的用途RAR random access responseDCI Format N0包含的信元:解析RAR脚本参考文档,现在分享给大家,希望可以做个参考。

DCI Format N0的用途

DCI: Downlink Control Information 携带在NPDCCH中,用于上下行发送的调度。
DCI Format N0用于调度上行的NPUSCH。

RAR random access response

为什么需要先了解下RAR?

在解析在DCI Fromat N0时刻,有些信息在RAR中已经作为前置条件存在,如子载波间隔subcarrier spacing

RAR的组成(总长度15比特),从MSB到LSB:

  • Uplink subcarrier spacing: 1bit 0-3.75kHz 1-15kHz
  • subcarrier indication field: 6bits 参考DCI Format N0中的 subcarrier indication
  • Scheduling delay field: 2bits 参考DCI Format N0中的 Scheduling delay,不同的是值为0时,delay为12
  • Msg3 repetition number: 3bits 参考DCI Format N0中的repetition number
  • MCS index indicating TBS, modulation, and number of RUs for Msg3: 3bits 参考下图,第一次Msg3的RV0,后续重传使用NPDCCH中的配置
    在这里插入图片描述

DCI Format N0包含的信元:

Flag for format N0/format N1

1bit 0-format N0 1-format N1

subcarrier indication - 6bits

  • Msg3MCS.PNG 从之前的RAR中获取;
  • 采用3.75k的情况下,信元指示的值即为所采用子载波,有效值为0-47,48-63为保留值;
  • 采用15kHz的情况下参考下图
    在这里插入图片描述

Resource assignment -3bits

  • 能够到RU的个数,参考下图
    在这里插入图片描述

Scheduling delay-2bits

  • 指示最后一个子帧距离第一个上行发送的子帧间隔
    在这里插入图片描述

Modulation and scheme-4bits

  • 得到的值为 I M C S I_{MCS} IMCS,如 N s c > 1 N_{sc}>1 Nsc>1 I T B S = I M C S I_{TBS} = I_{MCS} ITBS=IMCS,否则通过下图映射得到
    在这里插入图片描述
  • 根据TBS index和RU Index得到blocksize
    在这里插入图片描述

Redundancy version-1bits

  • RV值,影响编解码

Repetition number-3bits

  • 重复次数配置
    在这里插入图片描述

New data indicator-1bit

  • 指示前后两次数据是重传,还是新传;

DCI subframe repetition number-2bits

  • NPDCCH R的repeat次数,用于计算最后一个发送子帧,再根据delay可以算出NPUSCH发送的第一个子帧时间;

HARQ process number-1bit

  • R14 支持两个HARQ的情况下,指示哪一个HARQ传输。

Uplink Resource Unit

在这里插入图片描述

解析RAR脚本

需要解析码流太麻烦,搞个小脚本~

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/python3 class MyBitDecoderClass(): '''MLB first''' def __init__(self,elementList): self.elmentList = elementList pass def __del__(Self): pass def bitdecoder(self,hexValStr,offset=0): decoderVal = int(hexValStr,16) decoderVal = decoderVal>>offset #print(decoderVal) decoderRslt = {} for eachKey in self.elmentList.keys(): decoderRslt[eachKey] = decoderVal>>self.elmentList[eachKey][0] maskVal = (0x1<<self.elmentList[eachKey][1])-1 decoderRslt[eachKey] = decoderRslt[eachKey] & maskVal return decoderRslt def decoderRAR(hexValStr,offset=0): RaRElementList = { #key first Bit Index,bitNumber 'subcarrierSpacing':[14,1], 'subcarrerIndication':[8,6], 'schedulingDealy':[6,2], 'Msg3RepetionNumber':[3,3], 'MCSIndex':[0,3], } bitDecoder = MyBitDecoderClass(RaRElementList) decoderRslt = bitDecoder.bitdecoder(hexValStr,offset) if(decoderRslt['subcarrierSpacing'] == 0): print('subcarrierSpacing 3.75k') print('subcarrerIndication : %d'%decoderRslt['subcarrerIndication']) else: print('subcarrierSpacing 15k') if(decoderRslt['subcarrerIndication']<12): print('subcarrerIndication : %d'%decoderRslt['subcarrerIndication']) elif(decoderRslt['subcarrerIndication']<16): print('subcarrerIndication totalNumber 3 : start %d'%(3*(decoderRslt['subcarrerIndication']-12))) elif(decoderRslt['subcarrerIndication']<18): print('subcarrerIndication totalNumber 6 : start %d'%(3*(decoderRslt['subcarrerIndication']-16))) elif(decoderRslt['subcarrerIndication']<19): print('subcarrerIndication totalNumber 12') else: print('subcarrerIndication error configuration!') #print('schedulingDealy : %d'%(8*(1<<decoderRslt['schedulingDealy']))) if(decoderRslt['schedulingDealy'] == 0): print('schedulingDealy : %d'%12) else: print('schedulingDealy : %d'%(8*(1<<decoderRslt['schedulingDealy']))) print('Msg3RepetionNumber : %d'%(1<<decoderRslt['Msg3RepetionNumber'])) print('MCSIndex : %d'%(decoderRslt['MCSIndex'])) pass if __name__ == '__main__': #print('test bit decoder') #print(decoderRslt) decoderRAR('0x88040',5) pass

参考文档

  • 3GPP 36.212 - R14
  • 3GPP 36.213 - R14
  • 3GPP 36.211 - R14

最后

以上就是难过秋天最近收集整理的关于NB-IoT中DCI Format N0格式解析DCI Format N0的用途RAR random access responseDCI Format N0包含的信元:解析RAR脚本参考文档的全部内容,更多相关NB-IoT中DCI内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部