小区同步流程

发布于:2022-12-31 ⋅ 阅读:(273) ⋅ 点赞:(0)

我们知道,一个终端为了能成功接入一个无线基站,首先需要在自己可以工作的频段范围内搜索可能存在的小区的中心频点(详情请参考博文“无线信号的传输与接收(Channel-arrangement)”),在定位到符合条件(通常是以检测到的SSB信号强度为判断标准)的小区之后,再在该小区做上下行同步流程最后成功接入该小区。整个过程大致可以概括为两个流程:

  1. 小区搜索流程:在该流程中终端进行小区搜索并在搜索到合适的小区后进行下行同步:终端利用读取到的PSS,SSS来确定小区的PCI以及下行的系统帧10ms边界同步;再通过MIB获取下行系统帧号,从而完成下行的同步(在NR中,PSS,SSS和MIB都包含在SSB中)。
  2. 上行同步流程:终端使用随机接入流程完成与基站的上行同步流程。
这篇博文我们主要介绍小区搜索流程。
小区搜索
上面我们说过了,终端在进行小区搜索之前必须先确定在自己的工作频段有哪些可能的小区中心频点,再在每个可能的小区中心频点上检测对应的SSB强度,在确定需要接入的小区后获取其中的PSS(主同步信号)和SSS(辅同步信号)来进行下行的10ms系统帧边界同步并从中获取小区的PCI。
我们知道NR中的SSB和LTE中的PSS、SSS和MIB不一样,并不是以小区中心频点为中心均匀分布。那么小区搜索流程的一个重要问题就是:
针对一个可能的小区中心频点,终端如何找到其对应的SSB并进行相应的测量工作。
以上问题包含了两个要点:1. 如何确定SSB在频域上的位置;2. 如何确定SSB在时域上的位置。
我们下面来看看如何确定SSB在时频域上的位置。
我们在博文“无线信号的传输与接收(Channel-arrangement)”中提到SSB的发送使用的是全局同步光栅(Global synchronization raster),并给出了 SS_{REF}(SSB reference frequency position)和GSCN(Global Synchronization Channel number)的计算公式以及相关参数:
SS_{REF}给出的就是NR-ARFCN,因此我们通过GSCN就可以知道间接计算出SSB的中心频点。

但是仅仅这样还是不够,为了加快终端小区搜索的时间,3GPP为不同的NR频段上的SSB定义了各种子载波间距和SSB模式(SSB pattern),具体如下:

以上图表我们在博文“无线信号的传输与接收(Channel-arrangement)”已经做过解释,所以此处只给出FR1范围的频段的图表。

在时域上,一个小区的所有候选SSB集中在一个系统帧的5ms内,根据SSB pattern的不同,候选SSB的最大个数可以为4,8或者64(请参考博文“下行物理信道和物理信号(PBCH)”)。

通过以上表格中对每个频段上的GSCN范围、SSB子载波间距和SSB模式做出不同的定义,一个终端在其工作频段内搜寻对应的SSB时,就可以尽可能地减少尝试次数以达到尽快搜索到合适小区的目的。以n78为例,工作频段在n78的终端在搜索对应中心频点的SSB时会以SSB子载波间距30 kHz,Case C,GSCN范围7711~8051来搜索SSB。
下面我们举一个详细的例子来说明终端搜索SSB中心频点的过程,这里我直接引用了技术网站 ShareTechnote中“ SIB1 decoding”一文中的例子(请原谅我的懒惰,因为我觉得这个例子足够全面^_^):

通过前面的表格我们知道n78的频率范围是:3300 MHz~3800 MHz,GSCN范围是7711~8051,那么对应的GSCN计算公式为:

GSCN = 7499 + N

对应NR-ARFCN的计算公式为:

SS_{REF}= 3000 MHz + N * 1.44 MHz

3GPP协议规定了在终端进行初始小区选择的场景中,SSB以20毫秒为周期发送,通过这种方式,终端就可以知道必须要在某个候选GSCN上停留多少时间才能得出SSB不存在的结论,从而转到下一个候选GSCN上。

假设终端在GSCN = 7838处检测到了有效的SSB,此时我们根据以上公式知道了N=339,那么该SSB的中心频点对应的NR-ARFCN = 3000 MHz+339 * 1.44 MHz = 3488.16 MHz;
由于一个SSB占用240个子载波,也就是20 个PRB,所以这样我们就知道了这个SSB底部的频点位置:
       SSB_LOW = 3488.16 MHz - 30 kHz * 12 * 10 =  3484.56 MHx
N.B. 需要知道SSB底部频点信息的原因,我们在下篇博文“系统消息的发送和接收”中会解释。
现在我们知道了SSB在频域上的位置。下一步就是通过读取PSS,SSS和MIB来确定该小区的下行系统帧10ms边界以及PCI。
首先终端必须先检测PSS和SSS,一方面是为了获取候选SSB在时域上的第一个symbol位置,一方面是为了获取候选小区的PCI。而获取PCI则是为了获取PBCH的DRMS在频域上的相对位置,用于解码PBCH获取MIB信息。

终端从检测PSS序列和SSS序列的过程中就可以获得候选小区的PCI,对于NR中的PSS,其序列如下:

 其中N_{ID}^{(2)}\in \left \{ 0,1,2 \right \},由此我们可以知道,NR中有三种不同的PSS序列,每种PSS序列长度为127;

对于SSS,其序列如下:

 其中N_{ID}^{(1)}\in \left \{ 0,1,...,335\right \},所以NR中有336个不同的SSS序列,每种序列长度同样为127;

当终端成功检测PSS之后,也就知道了SSS在时域上的位置,通过检测SSS,就可以确定候选小区的PCI:N_{ID}^{cell} =3N_{ID}^{(1)}+N_{ID}^{(2)}

从以上PCI的计算公式也可以知道,NR总共有1008个不同的PCI。

下一步我们就是要获取下行系统帧的10ms边界同步。  这里我们简单回顾一下LTE系统中如何确定下行系统帧的10ms边界:在子帧0和子帧5上的辅同步信号SSS的序列不同。通过读取SSS,终端就可以确定一个系统帧10ms边界。
但是在NR中,由于一个小区中所有候选SSB的PSS和SSS都是相同的,因此无法效仿LTE系统中的方法来确定NR系统中的10ms边界。解决的方法是通过读取候选SSB中的索引来确定下行系统帧的10ms边界:
我们在上面的内容中介绍了每个候选SSB的第一个OFDM符号在时域上的位置(也就是PSS在时域上的位置),如下:

 而SSB的索引对应每个候选SSB在时域上以升序排列。举个简单的例子:SSB class A,SSB中心频点大于3 GHz并属于FR1范围,此时候选SSB的第一个符号索引以及SSB的索引在5ms周期内排列如下:

通过以上例子我们可以看出,如果终端在检测到一个候选SSB之后,可以获取到该SSB的索引,那么就可以知道该SSB在小区下行系统帧中的位置,从而就可以确定10ms边界。

 候选SSB的索引由以下两部分组成:

  1. PBCH的扰码序列部分:对于候选SSB最大数量为4的,扰码序列的低2位用来表示候选SSB的索引;对于候选SSB最大数量大于4的,扰码序列的低3位用来表示候选SSB的索引;
  2. PBCH的有效负荷部分:当候选SSB最大数量为64的时候,PBCH的有效负荷中的\bar{a}_{\bar{A}+5},\bar{a}_{\bar{A}+6},\bar{a}_{\bar{A}+7}用来表示候选SSB索引的高三位,PBCH的扰码序列中的低三位用来表示候选索引的低三位。

候选SSB索引的表示方法我们在博文“下行物理信道和物理信号(PBCH)”中已经做过了详细描述,所以在这里我们只是简单介绍一下。

到此为止,终端已经通过读取SSB的扰码信息以及有效负荷信息确定了该SSB的索引并进一步获取到该SSB在时域上的位置信息,从而完成了下行系统帧的10ms边界同步。下一步终端需要获取下行系统帧号以完成整个下行同步流程。

在NR中,系统帧号的范围是0~1023,因此表示一个系统帧号需要使用10个bits,为了避免频繁更新MIB编码信息,NR规定在MIB信息中存放当前系统帧号的高6位,而在PBCH的有效负荷中存放当前系统帧号的低4位:

至此,终端已完成了对于候选小区的下行同步。但是就目前而言,终端只知道该小区的SSB的时频域位置,对于其他的信息一无所知(比如小区的initial BWP的长度,起始位置等)。下一步就是要读取系统消息来获取小区级别的信息以及随机接入所需要的信息,我们将在下篇博文中介绍。

本文含有隐藏内容,请 开通VIP 后查看