首页 > NR:UE初始搜网流程

NR:UE初始搜网流程

UE的初始搜网流程,PSS->SSS->PBCH->RMSI.我画了一个简单的流程图如下,里面标注了每个环节的重点。

在这里插入图片描述

UE的初始搜网流程: 分为SSB同步(包括MIB读取)和RMSI的读取。

1. SSB

SSB包括: PSS,SSS,PBCH. UE 在GSCN频点上,搜索SSB.

SSB,在时域上占用0~3,共4个symbol. 在频域上占用20个RB(240个子载波)。

SSB的子载波间隔:15/30kHz for sub6G, 120/240kHz for A6G.

SSB时频资源定义见38.211 - Table 7.4.3.1-1

在这里插入图片描述

根据上图,我用excel画出了PSS/SSS/PBCH各部分的时频布局图,如下:

在这里插入图片描述

通过上图可知,PSS和SSS在频域上都占有相同的127个子载波。

PSS: 频域长度为127的伪随机序列(由M序列生成),采用BPSK调制。3个循环移位,对应NID(2)N_{ID}^{(2)}NID(2)的3个值。

SSS: 频域长度为127的伪随机序列,BPSK调制。

伪随机序列可以参考:https://blog.csdn.net/wowricky/article/details/103290121

m序列可以参考: https://blog.csdn.net/wowricky/article/details/103282509

NIDCELLN_{ID}^{CELL}NIDCELL = 3NID(1)+NID(2)N_{ID}^{(1)} + N_{ID}^{(2)}NID(1)+NID(2) (NID(1)∈N_{ID}^{(1)} inNID(1) {0,1,…,335} NID(2)∈N_{ID}^{(2)} inNID(2) {0,1,2})

UE搜索到PSS/SSS后,获得了NIDCELLN_{ID}^{CELL}NIDCELL,接下来要解码PBCH。要解码PBCH,首先根据NIDCELLN_{ID}^{CELL}NIDCELL计算出DMRS参考信号的位置。

v = NIDCELLN_{ID}^{CELL}NIDCELL mod 4. // v为DMRS在频域起始位置。

参考 3GPP 38.211中的Table 7.4.3.1-1( DM-RS for PBCH)可知, 相邻的DMRS 在频域间隔4个子载波。

在这里插入图片描述

举例v=1, DMRS位置如下:

在这里插入图片描述

知道了PBCH DMRS的位置,下一步信道估计进而得以解调PBCH(MIB)了。

SSB 的时域位置

SSB的周期可以位5/10/20/40/80/160 ms, 默认20 ms,SSB的周期信息由SIB1->ServingCellConfigCommon->ssb-periodcityServingcell 定义。SSB在一个SSB burst set 中,可以发送多次, 且SSB burst set 中所有SSB位于同一个half-frame内(5ms). SSB 的时域特性比LTE要复杂的多,参考38.213 - 4.1 Cell Search, 这一章定义了SSB块的时域特点, 针对不同的频率范围、不同的SCS, 定义了5种Case A/B/C/D/E. 下图来自sharetechnote:

在这里插入图片描述

对于这5中case, SSB 周期内发送的最大个数位L=4/8/64, UE需要从PBCH块中获取当前的SSB 索引信息,才能得到完整的下行Timing(SFN、子帧、slot、symbol). UE 根据不同的FR范围,所支持的Band, 对可能的case 进行盲检

PBCH除了承载MIB信息外,还有8bit的额外信息,下图来自Keysight网站,描述非常清楚。

在这里插入图片描述

通过上图可以看到SSB index 与如下2部分参数有关:

  1. PBCH DMRS (iSSB_{SSB}SSB) // 使用8种DMRS初始化序列去盲检, 获取iSSB_{SSB}SSB, 参考38.211 - 7.4.1.4.1
  2. PBCH Payload // L=64时,需要6个bit来表示,高位的3bit位对应PBCH Payload的aˉAˉ+5ar{a}_{ar{A}+5}aˉAˉ+5aˉAˉ+6ar{a}_{ar{A}+6}aˉAˉ+6aˉAˉ+7ar{a}_{ar{A}+7}aˉAˉ+7 参考38.213 - 7.1.1

UE解调PBCH成功后,获取MIB信息 和 SSB index后,也就获取了时域的完整信息(SFN、子帧、slot)

RMSI

RMSI: Remaining Minimum System Information, 可以认为就是SIB1.

MIB中有2个重要信元:kSSBk_{SSB}kSSB 和 pdcch-ConfigSIB1。

在这里插入图片描述

kSSBk_{SSB}kSSB 在获取PointA时使用, 而pdcch-ConfigSIB1 是获取RMSI的重要依据,它用来指示UE获取RMSI的调度的PDCCH的信息。和LTE的套路一样,SIB1信息通过PDSCH发送,而PDSCH的资源位置需要PDCCH信道的DCI来指示。

pdcch-ConfigSIB1包含2个信元:ControlResourceSetZero(写为CORESET 0) 、searchSpaceZero. ,

CORESET 0 就是RMSI对应物理资源的集合,TS38.213 13章中预定义了一些表格用来描述SIB1所在CORREST的位置以及SIB1与SSB的复用方式。我准备后续专门写一篇文章来描述SIB1的解调(目前还没有详细研究透彻, 😦 ).

UE获取了COREST 0的时频位置,可以在COREST 0对应的Type 0 CSS(公共搜索空间)使用SI-RNTI盲检(DCI1_0)RMSI的调度信息。UE 根据RMSI的调度信息,在指定的时频位置解码PDSCH信道,获取RMSI(SIB1)的内容,完成初始搜网过程。

在这里插入图片描述

更多相关:

  • 参考3GPP – 36.212 EnodeB在发送PBCH的时候,会根据天线端口来选择不同的CRC mask, 见下图。因此,UE在解码PBCH时,就可以获取当前cell 对应的天线端口数目。...

  • 原来我们可以从官网 http://trafficserver.apache.org/tools/via 获取via头的解码信息来得到指定url的缓存状态信息,现在我们可以直接利用本地工具就可以达到目的。 traffic_via工具能够解码Via头信息,输入的参数要求是[]包含的字符串。 使用方法: 参考...

  • 简介 channel_stats插件能对每个channel收集运行时统计信息(速率,请求数,更多选项将在未来添加),这些统计信息通过http json方式输出,这些 接口代码取自stats_over_http插件。通常,该插件只用于具有*固定*个数的remap规则的反向代理服务器,它并非为那些不限制channel的代理服务器,比如op...

  • logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息 logger语法: 可以使用的相关命令 -d, --udp 使用数据报(UDP)而不是使用默认的流连接(TCP) -i, --id 逐行记录每一次logger的进程ID -f, --fil...

  • 今天在测试中遇到了一个问题 使用JMeter时请求相关地址参数及方法都填写正确,但是相应数据返回始终不对,例如 查看取样器结果显示 200 正常,但响应数据不符合正常的结果。 经反复检查发现问题如下: 1)没有添加HTTP信息头管理器 (获取根据就近原则) 2)HTTP信息头管理器中填写错误,将Content-Type 填写成了Co...

  • 第一,你要有log4j的对应的包,由于我用的maven,所以直接在pom.xml文件依赖下载则可,如你尚为有此包,请自行百度下载导入,或上http://www.mvnrepository.com/搜索。上如则是我的log4j的包的版本。好了,用了jar包之后,用来学习的项目结构如下:在对应的路径下创建log4Test.java和log...