NB-IoT信令分析-以NB86-G模组为例
引言信令是UE在与基站交互的时候,留下来的debug信息,分析信令信息可以帮助我们理解UE的行为和当前的状态,用于诊断UE侧的问题。我们可以通过UE侧的信令,推测其与基站之间通信的细节。以NB86-G模组为例,使用软件UE Monitor来记录和查看信令。原始信令数据是一大堆的二进制的log,需要使用与模组固件版本相对应的解码器xml才能够正确解出信令,转换成可直观阅读的文本数据。
一条信令的信息DetailsTransport字段是这个信令的十六进制字节流和一些不太重要的信息。 header字段指示了信令是协议栈当中具体哪些层之间的交互,我们比较关注的层有:LAYER_LL1, LAYER_MAC, LAYER_RRC, LAYER_L2, LAYER_MN, LAYER_EMMSM。 剩下的信息基本是不同的信令各有不同。
一些关键的信令application reportAPPLICATION_REPORT 应用层的一些信息,message字段解释每个application_report信令的含义。
RA相关通常与RA相关的信令都含有RACH: lLL1_RACH_REQ 随机接入请求,对应RA过程中的MSG1(preamble)。 lLL1_LOG_ECL_INFO 指示当前UE所处的覆盖等级,details部分需要关注的字段有: current_ecl:当前的ecl ecl_selected_by:本ecl是通过测量rsrp所得,还是通过UE主动降级 rsrp:判断ecl的时刻rsrp的数值 threshold:这个是判断ecl的门限,由基站下发给UE的。 lLL1_NPRACH_START_TIME,LL1_NPRACH_END_TIME 指示UE发送MSG1(preamble)的信道资源。 hfn,sfn,sf:帧号,是跟时间对应的。 lLL1_RAR_UL_GRANT UE收到的基站发送过来的MSG2(RAR),这个信令中包含了基站给UE分配的接下来的MSG3的信道资源和重复次数等信息。 lLL1_RACH_MSG3_TX_REQ_IND,LL1_RACH_MSG3_TX_REQ_RSP 指示UE当前发送MSG3。 lLL1_RACH_CONTENTION_RESOLUTION_RSP UE收到的基站下发的MSG4,指示当前UE随机接入成功。 信令的status字段,LL1_RACH_SUCCESS说明随机接入成功。
UL data 相关NB-IoT的上行需要服从一条铁律:先调度,后传输。UE需要等基站分配信道资源,然后才能在基站指定的信道上发送数据。所以信令也是,先收到DCI N0,才有一个Tx_power。 另外,UE发送上行数据,如果数据量比较大,没法一次性发完,是分块发送的。比如需要发送500字节的数据,基站可能会让它分5次,每次一百字节这样发送。每个传输块都需要先有DCI N0,才有Tx_power。 lLL1_DCI_FORMAT_N0:即DCI N0,为基站在NPDCCH信道下发的消息,消息的内容是基站为UE本次上行数据分配的NPUSCH信道的资源和配置的重复次数等。 lLL1_PUSCH_CALC_TX_POWER:指示UE的发射功率。 lMAC_UL_UPDATE_BUFFER_SIZE_REQ:指示当前UE还剩下多少字节的数据等待发送。每发送一个数据块之后,这个信令会更新数值。
DL data 相关lLL1_DCI_FORMAT_N1_NORMAL 即DCI N1,下行NPDSCH调度,指示UE有待接收的下行数据。具体字段细节见吴那本书。 lLL1_HARQ_ACK_SENT/LL1_HARQ_NACK_SENT UE给基站发送反馈,告诉基站是否收到了下行消息。
paging相关lLL1_CALC_PAGING_DATA UE监听下行信道,一旦基站有寻呼消息立马建立连接。NB-IoT中的paging周期是2.56s。 lLL1_PAGING_STATS_DATA 对UE接收到的paging消息的统计情况。
小区选择相关LL1_CELL_SELECT_CNF RRC_CELL_SELECT_IND
小区重选相关RRC_DBG_RESELECTION_CANDIDATES UE为小区重选进行的准备工作:邻区测量。需要关注的字段有: num_candidates:指示当前有多少个可以选择的小区。 candidate[n]:排名为n的备选小区。如果排名为1的小区就是当前UE附着的小区,就不需要进行小区重选了。
信号强度相关lPROTO_LL1_SERVING_CELL_MEASUREMENT_IND 指示当前服务小区的测量信息(earfcn,phy_cell_id, nrsrp, snr. nrsrq. rssi) lLL1_NRS_MEASUREMENT_LOG 指示测量的NRS的信号强度信息,主要关注的信息是:filtered_rsrp和filtered_nrs_snr |