欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

5GNR漫谈12:PRACH随机接入信道

程序员文章站 2022-04-02 08:06:40
先撸一下随机接入发起前的一些前提。终端开机后进行小区搜索,解调SSB获得MIB信息以及系统帧号和帧边界,MIB信息里面包含有8位pdcch-ConfigSIB1指示,告知了SIB1调度信息可能出现的时频资源位置,也即search space和CORESET。UE再根据这个时频资源位置采用SI-RNTI(System Information RNTI)去盲检SIB1的调度信息,获得SIB1的调度指示,即SIB1会出现在哪里,UE需要在哪个地方蹲点把SIB1接收解调。SIB1有个花名叫RMSI(remainin...

先撸一下随机接入发起前的一些前提。终端开机后进行小区搜索,解调SSB获得MIB信息以及系统帧号和帧边界,MIB信息里面包含有8位pdcch-ConfigSIB1指示,告知了SIB1调度信息可能出现的时频资源位置,也即search space和CORESET。UE再根据这个时频资源位置采用SI-RNTI(System Information RNTI)去盲检SIB1的调度信息,获得SIB1的调度指示,即SIB1会出现在哪里,UE需要在哪个地方蹲点把SIB1接收解调。SIB1有个花名叫RMSI(remaining minimum system information ),包含了终端发起初始随机接入前所需要知道的系统信息,它以160ms周期性的承载在PDSCH上发送。SIB1中包含的RACH信息如下所示RACH-CconfigCommon。
5GNR漫谈12:PRACH随机接入信道
在漫谈11中,已经了解了随机接入preamble的数学生成公式,参数多,初次接触,不搞物理算法的小伙伴看着也头痛脑胀,云里雾里,一时半会不知道为啥搞这么复杂。我们把上图中RACH信息红圈圈搞明白就差不多了。
Prach-RootSequenceIndex是小区基站告诉终端,本小区长短preabmle可以采用的根号,即u值。
5GNR漫谈12:PRACH随机接入信道
5GNR漫谈12:PRACH随机接入信道
Msg1-SubcarrierSpaceing告知终端在发起随机接入第一条msg1时所采用的子载波间隔。zeroCorrelationZoneConfig告诉终端对应的限制集和NCS移位数。NCS移位有什么用?无非就是改变ZC序列的相位,相位的旋转表现为时延上的扩展。作用就是同一个根序列可以区分多用户,所以长preamble可以支持多个NCS移位,这个小区也就支持更多的用户,小半径就比短preamble要大了。后面再讲讲怎么接收检测preamble,怎么区分用户。
5GNR漫谈12:PRACH随机接入信道
5GNR漫谈12:PRACH随机接入信道

Prach-ConfiguationIdex告知终端可在哪个时间点发射PRACH,即哪个系统帧,哪个子帧,哪个slot,起始symbol,这个表很长,总共有256个index。
5GNR漫谈12:PRACH随机接入信道

msg1-FDM告知终端,当前时间点发射的频域上有多少个PRACH Occasion;msg1-FrequecnyStart告知终端频域上的起始位置。在漫谈11中说到preamble带宽M(个RBs)和频域RACH occasions(K)确定K*M总的PRACH频域,那么preamble的带宽又从何而来呢?由preamble的长度和子载波间隔共同确定,如何确定?看一下漫谈11中preamble发射处理流程就明白。以PRACH的子载波间隔来统计不直观,以PUSCH的子载波间隔和RB数来做参考就好理解了。比如,长preamble,序列长为839,子载波间隔为1.25kHz,PUSCH子载波间隔为15KHz,那PRACH占用的RB数为839X1.25/15/12=6(RB)。
5GNR漫谈12:PRACH随机接入信道
RACH-CconfigCommon中还包含了基于接收下行信号来估计下行路损而得到的preamble发射功率,以及随后的功率爬坡值。一开始终端不知道离基站远还是近,不知道以多大功率发射上行信号才合适,所以聪明地通过估计下行信号来获得参考。
好了,终端知道用哪些系统参数生成preamble,在哪些时频域地点去发射preamble,也大概知道以多大功率来发射信号了,终端是不是就可以愉快的发射PRACH了呢?且慢,如果这样,那不就是和LTE没有什么多大差别了,体现不出5GNR的先进性。那NR比LTE多了啥比较明显的不同?Massive MIMO。如何在PRACH体现利用Massive MIMO的好处?beam.这不是在小区搜索里通过SSB index已经确定了吗?那是终端确定的下行最合适自己的beam,终端要设法告知基站自己扫到的最合适的beam,如果另外增加别的系统消息来指示,太浪费资源了,因此上行通过想办法早早就让基站接收PRACH时就可以知道终端小区搜索确定的beam Index。这样,SSB和PRACH就勾搭起来了。前面RACH-CconfigCommon有两个信息ssb-perRACH-OccasionAndCB-PreamblePerSSB和msg1-FDM告知了两者之间的关系。我们看到ssb-perRACH-OccasionAndCB-PreamblePerSSB这个参数有分数也有整数,假如其值为N,当N<1, 那么一个SSB Index对应1/N个RACH Occasion,每个RACH Occasion中包含所有的Preamble;当N>1,那么一个PRACH Occasion对应N个SSB Index。RACH Occasion(RO)是一个时频域的概念,SSB和PRACH关联用文字表述太麻烦了,无非就是先频域再时域,一个挤在一起还是多个挤在一起,或者是一个占用多个。 上图才是硬道理。通过这种映射关系,基站在检测到终端发射的preamble,就可以确定哪个beam是最合适终端的。
5GNR漫谈12:PRACH随机接入信道
5GNR漫谈12:PRACH随机接入信道

SSB和prach关联后,可以发起初始随机接入了。Msg1也即preamble的发射,然后基站接收解调,得到终端相对于基站的时间偏移量TA值,然后发送msg2,告知终端收到了发送的preamble以及之后的上行(msg3)需要的时间调整量TA。Msg3和msg4主要是用于解决preamble的碰撞机制,因为有可能会有两个终端在相同的时间,相同的地点发射preamble。终端收到msg4之后,就完成了RRC连接,也即正式完成了注册在案,正式为基站所接纳。
5GNR漫谈12:PRACH随机接入信道
终端在以下场景可以发起随机接入:小区切换的时候对新小区发起随机接入;太长时间没有上行业务而与基站失步需要重新建立上行同步;上行调度申请得不到基站满足时重新发起随机接入申请调度。
至于基站是怎么检测PRACH的,后面我再研究。

喜欢 文章可添加公众号,回复SSB,LDPC可获得代码:
5GNR漫谈12:PRACH随机接入信道

声明:文中部分图片来源于http://www.sharetechnote.com/

本文地址:https://blog.csdn.net/guet208/article/details/109455141