西安中兴新软件有限责任公司 陕西西安 710114
摘要:文章提取影响NR速率的几个重要因素,并将这些参数收集整理到一张数据图中,可以有效直观的看到这段时间中终端的速率情况以及其它影响终端速率情况的参数条件是否有异常。比如;某一段时间速率出现比较低,若网络的RSRP、RSRQ等参数没有明显变化,而此刻的numplayers若出现了掉落,那我们就可以直接认为是,终端目前所处的环境不利于MIMO,可以考虑变换终端位置来满足MIMO的条件。
关键字: NR 、速率
1.项目背景
随着移动互联网的快速发展,用户对网络带宽和速率的需求日益增加。为了满足高清视频、大型文件传输、虚拟现实、增强现实等高带宽、低时延应用的需求,5G网络的发展是越来越来越紧迫。
2.NR速率便捷分析工具研究
在日常使用中经常会出现有速率异常情况出现,一般的问题定位需要先从RSRP、RSRQ、BLER、网络分配的RB数,终端使用的MCS数值、调制模式(QPSK\16QAM64QAM\Z56QAM)以及使用几层的player等相关参数检查,而这些参数都不会再同一段日志中,需要查询3-5段日志才能将相同时间点的相关参数全面找出,并且还只是找到一个点的参数集合,无法反映出一段时间内的速率变化情况。基于此种情况,预想能够开发一种便捷工具,能够方便处理速率日志,能够提取影响速率的关键因素,并能将这些参数输出到速率图表,能够有效直观的看到这段时间中终端的速率情况以及其它影响终端速率情况的参数条件是否有异常。
3.解决思路
3.1收集影响速率的关键因素
从3GPP协议中我们查到速率的计算公式如下:
上述的计算公式十分准确的,常用是实验室环境,而在实际使用中我们可以重点关注影响速率最主要的几个参数。以下是一个简化的NR速率计算公式:
峰值数据速率= 调制阶数 × 信道带宽(Hz) × 子载波间隔(Hz) × 编码效率 × 空间流数
将以上与速率成正比的参数与实际中的工程参数对应如下:
1.调制阶数:采取哪种方式与当前终端的无线条件有关,无线环境质量越高,网络给终端配置的调制方式越高,与MCS取值(0到31(但29、30、31被保留))为正比,与无线质量有关的参数有:RSRP\RSRQ\BLER等;
2.信道带宽:这个参数可以对应终端当前占用的RB数目;
3.空间流数:对应终端使用的层数
子载波间隔和编码效率在实际分析速率问题时并不占绝对原因,此处暂时不加入提取参数范围。
3.2平台速率相关参数提取
不同芯片平台的日志的结构均有不同,此处以某个芯片为例进行举例:
注册band 频点:
[CS]SYNCMEAS DFE cfg:ARFCN=512670,optiontype=1,ANT=3,BAND=41,CBW=1,TS=0,eSceneType=9 //band
注册小区PCI:
[AFC]ssb_cfg: freq=2604137KHz, pci=141, ssb_flag_idx=0x90,qcl_ssb_idx=0x1,ant_bitmap=0xf, pciSsb=1411 @TAG
下行RB:
[PDSCH]NR_Dl_Pdsch_Config_Task:numAllocRB=2@TAG, numSymbol=5@TAG, new_data=1, rntiType=4,dciFormat=3@TAG,symStart=1,vrbStart=271,
下行层数:
[PDSCH]NR_Dl_Pdsch_Chan_Config:layer=2@TAG,C0=0,C1=0,E0=528,E1=0,set_idx=2,Kb=6,Zmin=20)
下行MCS:
[PDSCH] NR_Dl_Pdsch_Chan_Config:K1=1688,K0=0,Ncb=5280,C=1,mcs=16@TAG
从上述信令中
3.2平台速率相关参数的处理
目前只需要将以上日志中的关键参数提取出来即可。在实际操作中,在抓取的芯片日志中一个traceview.dat文件基本能包含所需参数,就以traceview.dat文件里的数据为基础编写python程序进行数据处理。
由于traceview.dat并没有时间标志,而且日志打印的这些参数并不是均匀打印的,比如RB参数可能打印了2000个,而速率却只打印了1000个,而MCS 可能打印了1500个,导致这些参数如果单纯只安装数量放在一起进行分析,会导致图形不对称,无法有效得出速率下降的原因,如下图所示当速率显示为0的时候,对应的RB数据竟然已经占满整个带宽了,这个显然是不合理的。所以要能达到分析问题的目的,还是需要将时间因素合入进来。
查询芯片厂家的技术文档后,发现了可以使用的相关技术方案,可以通过CMD line的方式将日志中需要的日志导出,
• Cmd line parameters format:
None blocking mode: Logel.exe –f [options]
Blocking mode: start /WAIT Logel.exe –f [options]
-o [m|t|f|p|d|s|w]
Indicate that export Message/Trace/Air/PHY Trace/DSP TP detail to txt file. It usually carries three parameters such as: -o mtf. The parameters can be freely combined.
m: Message; t: Trace; f: Air; p:PHY Trace; d:DSP Test Point
there are another two option: s: only export message name and .etc content but no detail message tree for Message/Air.
最后可以通如下命令将所需要的信息提取出来:
Logel.exe –f D:/NRspeedplot/ -ot|trace:[CS]SYNCMEAS DFE cfg,ssb_cfg: freq=,[MEAS]:servResult:cell_rsrp=,NR_UL_TPUT:PDCP=,NR_DL_TPUT:PDCP=,[PDSCH]NR_Dl_Pdsch_Config_Task:numAllocRB,[PDSCH]NR_Dl_Pdsch_Chan_Config:K1,[PDSCH]curSlotScheTimerTime,[PDSCH]NR_Dl_Pdsch_Chan_Config:layer=,layer_num,[UL]puschPower=,[UL bler info],Nr_DciDecoder_Format0_1 -t ./nrspeedtemp" -q
导出的文档均为trace格式均可通过Python进行读取和处理。
虽然将时间因素加入到数据中,但在实际操作中,发现采样数据数目差异大的问题依旧存在,如MCS的采样点接近4万,而速率采样点才只有40个。
这样的数据如果不加优化,还是会导致各个图形之间出现失真。
根据观察,发现速率的输出是按照秒输出的,那针对其他参数均以秒级进行数据平均,这样基本上也能反映出速率下降和其他参数之前的相关关系了,同时也保留原始数据以便跟踪故障起始点。
下图为工具输出的速率图行,从图中可看到终端一直处在同一个小区上,无线环境情况良好无波动,而速率产生的波动是由于RB的变动导致的,而RB的变动是因为终端在问题点是停掉了FTP下载出现的异常,与实际情况是可以对应起来的。
4.结束语
文章通过速率日志的处理,实现方便快捷的提取速率相关参数,并生成相应图表,对于速率问题的分析带来极大便利。在此基础上也可提取其它相关参数来完成问题分析,而不仅局限于日志工具上提供的功能。
参考文献:
[1]https://blog.csdn.net/lele52141/article/details/122626088 5G NR的速率计算方法