上一篇文章讨论了如何生成64个PRACH preamble,本文接着回答上一篇文章中的另一个问题“如何选择正确的PRACH时频资源去发送所选的preamble”。

PRACH的时域资源是如何确定的?

PRACH的时域资源主要由参数“prach-ConfigurationIndex”决定。拿着这个参数的取值去协议38211查表6.3.3.2-2/3/4,需要注意根据实际情况在这三张表中进行选择:

  • FR1 FDD/SUL
  • FR1 TDD
  • FR2 TDD

Random access preambles can only be transmitted in the time resources given by the higher-layer parameter prach-ConfigurationIndex --摘自38211

本文沿用上一篇文章中的参数例子,2.6GHz/TDD的NR系统,拿到prach-ConfigurationIndex这个参数就去查FR1 TDD的那张表,这张表里都有什么呢?

  • preamble的format
  • SFN(nSFN mod x = y,这个公式其实暗含了PRACH的配置周期,周期为x)
  • SubFrame
  • Starting symbol
  • 1个subframe里面有多少个PRACH slot
  • 1个PRACH slot里面有多少个时域的RACH Occasion (RO)
  • PRACH duration

这些参数里面前三个标红色的没什么异议,对于后面4个标绿色的参数是有点说法的,主要体现在不同preamble(839 or 139)长度情况下理解有差异,最明显的比如“1个subframe有多少个PRACH slot”和“一个PRACH slot有多少个PO”这两个参数,看看下面两个例子,对于长preamble format 0这两项无值,而对于短preamble format C2,这两项是有值的。(不要急,看完下面的计算过程,也许你就能悟出点什么~~)



prach-ConfigurationIndex format 长 or 短 SFN SubFrame
2 0 长, L=839 每4帧1,5,9,13….. 9
202 C2 短,L=139 每帧 9

通过查表可以得出以上信息,但是目前时域信息只能精确到subframe。究竟在这个subframe的哪个symbol上开始还是个未知数,38211给出了如下计算公式来确定:



先计算l的取值,会用到上面提到的标绿色的四个参数:(带入公式时,注意长短preamble和PRACH SCS对有些参数的取值有影响)
prach-ConfigurationIndex=2:
prach-ConfigurationIndex=202:
计算完l的取值还没最终结束,真正的时间起点是t_{start}^{RA},还需要注意PRACH的SCS和PUSCH/PDSCH的SCS可能不同,这样会导致计算出来的符号长度不一致。

  • prach-ConfigurationIndex=2 & PUSCH SCS=30KHz & PRACH SCS=1.25KHz:

  • prach-ConfigurationIndex=202 & PUSCH SCS=30KHz & PRACH SCS=15KHz:


有了起点,再根据下表计算PRACH的长度:


综合以上计算,可以知道上面的两个例子对应PRACH时域起点和长度


至此,我们知道了如何根据参数配置计算PRACH的时域资源!

PRACH的频域资源是如何确定的?

PRACH的频域资源主要由两个参数“msg1-FrequencyStart”和“msg1-FDM”决定。这里面涉及两个问题,PRACH频域资源的起始位置在哪里?以及PRACH频域占多少个RB?

Random access preambles can only be transmitted in the frequency resources given by the higher-layer parameter msg1-FrequencyStart --摘自38211


  • 频域的起点:msg1-FrequencyStart会告诉你PRACH资源的起点距离initial BWP或当前active BWP起点的offset,此时你可以得到PRACH资源在BWP的相对位置。如果想知道绝对位置,还需要计算BWP的起点以及一个carrier实际有效使用RB的起点。上图的括号中给出了相应的RRC参数。


  • 频域占多少RB:频域一共占多少个RB取决于某一时间点上频域映射了多少个PRACH资源以及每个PRACH资源占多少个RB。频域映射了多少个PRACH资源由参数“msg1-FDM”决定;每个PRACH资源占多少RB可通过查下面这个表格得到。

正确的PRACH时频资源(PRACH Occasion)是如何选择的?

生成了preamble,也知道了PRACH的时频域资源,是否可以把preamble放在某个PRACH上发出去了呢?还差最关键的一步,确定PRACH与SSB的映射关系。
5G里面凡事都会涉及到Beam这个概念,RACH流程也不例外。我们已经知道一个5G小区会发射多个SSB,也就是说有很多个下行的beam。终端会monitor和测量这些beam,挑选一个信号最好的SSB或者beam进行驻留。很明显,终端要获得比较好的上下行传输性能,需要与基站建立一个beam pair(发送beam和接收beam)。这里要强调一点,beam是分发送和接收的,并不是只有发送有beam,接收也有。另外,说到发送beam和接收beam,这里要区分上下行。

  • 上行(UE->gNB): beam pair指基站接收beam,终端发送beam
  • 下行(gNB->UE): beam pair指终端接收beam,基站发送beam

以下面这个图(摘自KeySight的一份报告5G Boot Camp)来说说终端是如何通过初始接入完成与基站之间的beam pair建立过程的。这里面用到一个最关键的原理就是3GPP协议将不同时频域的PRACH资源或不同的preamble与SSB index进行了关联。换句话说,基站通过在不同的时域或频域或检测到的preamble index就能反过来推理出哪个SSB是对当前这个终端的最佳下行beam。

  • 1)小区广播5个SSB
  • 2)终端通过测量发现SSB 2是最好的。对于终端来讲,此时的下行beam pair已经形成(基站发送beam SSB2,终端接收beam),只是基站还不知道这个信息
  • 3)终端根据刚才最佳的SSB2接收beam方向,反过来在这个方向上发送PRACH,根据上面说的PRACH与SSB index的关联关系选择PRACH或preamble资源,这样基站收到PRACH preamble就会根据映射关系,反推出下行SSB 2是最这个终端最好的下行beam,以后的给这个终端的下行传输都在SSB2上做。
  • 4)通过上面三步,终端和基站都知道了自己的最佳发送或者接受beam是什么了

下面来看看协议上或者参数上是如何控制PRACH资源与SSB的映射关系的。其中一个最为关键的参数为ssb-perRACH-OccasionAndCB-PreamblesPerSSB。其实可以把这个参数分为两部分来看,一是ssb-perRACH-Occasion,用于表明一个RACH Occasion (RO)对应几个SSB;而是CB-PreamblesPerSSB,每个SSB上映射多少个基于竞争的preamble,注意是基于竞争的preamble


解释下上面这段协议描述:假设一个RO对应N个SSB并且每个SSB在每个RO内对应R个基于竞争的preamble。如果N<1,则意味着1个SSB对应1/N个连续的RO并且每个RO对应R个基于竞争的preamble,preamble index从0开始;如果N>=1,意味着一个RO里面映射了多个SSB并且每个一个RO内的SSB映射R个基于竞争的preamble,对于SSB n (0=<n<=N-1)对应的preamble index 从n*N_total_preamble/N开始。说的比较抽象,看两个例子吧。

  • 例子1:ssb-perRACH-OccasionAndCB-PreamblesPerSSB four : 13 & msg1-FDM one & ssb-PositionsInBurst mediumBitmap : '11110000'
    这是一个从现网的log摘取的配置,该小区一共发射4个SSB,1个RO对应4个SSB,每个SSB对应13个基于竞争的preamble。基站通过检测到的Preamble index的范围,就可以判断SSB的index,映射关系为{SSB0:0-12,SSB1:16-28,SSB2:32-44,SSB3:48-60},其实从这个结果还可以继续计算出用于基于非竞争的preamble index,就是64个preamble剔除基于竞争的剩下的12个preamble{13-15,29-31,45-47,61-63}

  • 例子2:ssb-perRACH-OccasionAndCB-PreamblesPerSSB 1 : 52 & msg1-FDM two & ssb-PositionsInBurst mediumBitmap : '11110000'
    改变一下上面的配置,可以看到在这个例子中一个SSB对应一个RO,每个RO或者SSB使用了全部的52个基于竞争的preamble。这样基站是无法通过preamble index来区分SSB的,只能看不同时频资源的RO来区分。4个SSB分别映射到了4个不同时频资源的RO,从RO0到RO3。

SS/PBCH block indexes provided by ssb-PositionsInBurst in SIB1 or in ServingCellConfigCommon are mapped to valid PRACH occasions in the following order where the parameters are described in [4, TS 38.211].

  • First, in increasing order of preamble indexes within a single PRACH occasion
  • Second, in increasing order of frequency resource indexes for frequency multiplexed PRACH occasions
  • Third, in increasing order of time resource indexes for time multiplexed PRACH occasions within a PRACH slot
  • Fourth, in increasing order of indexes for PRACH slots

根据上述协议描述,SSB和RO的映射遵循以下原则:

  • 首先,在一个RO内按照preamble index的升序映射
  • 其次,按照频域RO升序映射
  • 然后,按照一个PRACH slot内时域RO升序映射
  • 最后,按照PRACH slot升序映射

笔者在微信公众号GiveMe5G定期发布学习文章,发布周期原则为一周,欢迎订阅和分享
文章主要用于记叙和讨论对3GPP协议的学习和理解,欢迎留言讨论,谢谢!



5G NR 随机接入RACH流程(3)-- Msg1之选择正确的PRACH时频资源相关推荐

  1. 5G NR 随机接入RACH流程(2)-- Msg1之生成PRACH Preamble

    笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码. 谈论到随机接入流程中的Msg1,即在PRACH信道上发送random access preamble ...

  2. 5G NR 随机接入RACH流程(1)-- 概述

    本人微信公众号GiveMe5G,欢迎订阅交流讨论! 终端成功解出SSB后便获得了NR系统的下行同步,要想完成上行同步以并与NR网络建立RRC连接,那么随机接入RACH流程必不可少. 随机接入的触发原因 ...

  3. 5G NR 随机接入RACH流程(4)-- Msg1发送时RA-RNTI的计算及功率控制

    笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码. 前面两篇文章介绍了Msg1的两个重要问题,如何产生PRACH preamble和如何选择合适的时频资 ...

  4. 5G NR 随机接入RACH流程(6)-- Msg3/4与Contention Resolution

    笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码. Msg3和Msg4主要用于竞争解决(Contention Resolution).随机接入过程的前两 ...

  5. 5G NR 随机接入RACH流程(7)--分类和重要RACH流程总结

    笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码. 前面几篇文章逐一讨论了随机接入流程中的Msg1/2/3/4,那么这些消息是如何组合起来应用到实际当中 ...

  6. 5G NR 随机接入RACH流程(5)-- Msg2

    笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码. 终端向基站发送了Msg1,很自然期望得到基站的Msg2(RAR)响应.本文主要针对Msg2讲两个重要 ...

  7. LTE随机接入RACH流程preamble发送

    首先对于TDD与FDD模式,随机接入处理流程一致.参考36.300 10.1.5触发随机接入的场景有如下六种: 1.ue由RRC_IDLE态发起初始接入流程 2.RRC Connection Re-e ...

  8. 5G NR CSI-RS介绍(1)-- 物理时频资源映射

    笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码. CSI-RS是5G NR系统中非常重要的一种参考信号,我会写几篇文章介绍其相关内容.本文重点讲讲它的 ...

  9. 5G/NR 随机接入过程学习总结

    对于随机接入过程,NR与LTE之间有相同点,也有不同点,其最大的区别在于触发场景已经Msg1的处理,详情见下文. 查看全文 http://www.taodudu.cc/news/show-309273 ...

最新文章

  1. arm服务器获取文件路径中文,ssh 访问远程服务器文件路径
  2. Linux: 系统配置 crond 和 crontab(有图有代码有真相!!!)
  3. 程序媛计划——python数据库
  4. js判断ipad还是安卓_JS判断客户端是否是iOS或者Android
  5. python安装jupyterlab_超级详细 centos7 安装 jupyter lab
  6. 快速排序思路(前后指针版),代码实现
  7. CAN笔记(16) CANOpen简介
  8. 哪些专业是毕业即失业?
  9. 易筋SpringBoot 2.1 | 第十七篇:SpringBoot的事务Transaction
  10. gephi java教程_简明gephi指导教程.pdf
  11. 基于Python获取一些打印机简单信息
  12. html中body写什么,HTML中body内常用标签
  13. 私钥、证书、USBKey
  14. 【git】git+码云上传代码
  15. 【Virtual Box 错误】0x00000000 指令引用的 0x00000000 内存。该内存不能为written
  16. php多域名跳转,旱的旱死,涝的涝死,中超联赛的怪事
  17. poj 1177 线段树+离散化+扫描线 求矩形并的轮廓长
  18. Unity之EditorUtility-ProgressBar进度条-一
  19. CSAPP 第三版 第十章 家庭作业and so on
  20. AE开发 遇到未能加载文件或程序集的问题 FileNotFoundException

热门文章

  1. linux系统浏览器无声音,在Deepin 20系统中外接显示器切换后浏览器没有声音的解决经历...
  2. ACM-ICPC 2018 南京赛区网络预赛 E. AC Challenge(状压dp)
  3. 《Gans in Action》第三章 用GAN生成手写数字
  4. ex计算机绘图基础教程怎么画图,cad制图速度小技巧,求习惯性的。实际操作的,快捷键 要最有配合价值的!感谢同仁。。。...
  5. 讨论OOV(新词,也叫未登录词,词典之外的词语)问题的解决方案
  6. 【笔记】Polygon mesh processing 学习笔记(7)
  7. 12、FPGA程序的固化和下载
  8. android 实现控件搜索折叠效果 Animation动画折叠和普通折叠
  9. 戴尔笔记本连接无线网络不能上网的解决方法
  10. cydia java_使用Cydia Substrate Hook Android Java世界