5G NR:RACH流程 -- Msg1之选择正确的PRACH时频资源

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的表(38211  6.3.3.2-3),这张表里都有什么呢?

  • 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,这两项是有值的。

        通过查表可以得出以上信息,但是目前时域信息只能精确到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升序映射

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/63281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实现多子图绘制系统

文章目录 修改DrawTypeDrawType的调用逻辑绘图逻辑源代码 Python绘图系统&#xff1a; &#x1f4c8;从0开始的3D绘图系统&#x1f4c9;一个3D坐标系&#xff0c;多个函数图表类型和风格&#xff1a;&#x1f4c9;极坐标绘图&#x1f4ca;散点图和条形图&#x1f4ca;混合类型…

【LeetCode75】第四十三题 钥匙和房间

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个数组&#xff0c;表示对应的房间里拥有能开启的对应索引号的钥匙。 一开始我们只能进入0号房间&#xff0c;也就是数组里索引…

SpringBoot集成WebSocket

SpringBoot集成WebSocket 项目结构图 项目架构图 前端项目 socket.js 注意前端这里的端口是9000, 路劲是ws开头 function createScoket(token){var socket;if(typeof(WebSocket) "undefined") {console.log("您的浏览器不支持WebSocket");}else{var ho…

linux C++ 海康截图Demo

项目结构 CMakeLists.txt cmake_minimum_required(VERSION 3.7)project(CapPictureTest)include_directories(include)link_directories(${CMAKE_SOURCE_DIR}/lib ${CMAKE_SOURCE_DIR}/lib/HCNetSDKCom) add_executable(CapPictureTest ${CMAKE_SOURCE_DIR}/src/CapPictureTes…

小兔鲜儿 - 地址模块

目录 小兔鲜儿 - 地址模块 准备工作​ 静态结构​ 地址管理页​ 地址表单页​ 动态设置标题​ 新建地址页​ 接口封装​ 参考代码​ 地址管理页​ 接口调用​ 参考代码​ 修改地址页​ 数据回显​ 更新地址​ 表单校验​ 操作步骤​ 删除地址​ 侧滑组件用法…

dji uav建图导航系列()ROS中创建dji_sdk节点包(一)项目结构

文章目录 1、整体项目结构1.1、 目录launch1.2、文件CMakeLists.txt1.3、文件package.xml1.4、目录include1.4、目录srv在ROS框架下创建一个无人机的节点dji_sdk,实现必需的订阅(控制指令)、发布(无人机里程计)、服务(无人机起飞降落、控制权得很)功能,就能实现一个类似…

基于java Swing 和 mysql实现的飞机订票系统(源码+数据库+ppt+ER图+流程图+架构说明+论文+运行视频指导)

一、项目简介 本项目是一套基于java Swing 和 mysql实现的飞机订票系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过…

myspl使用指南

mysql数据库 使用命令行工具连接数据库 mysql -h -u 用户名 -p -u表示后面是用户名-p表示后面是密码-h表示后面是主机名&#xff0c;登录当前设备可省略。 如我们要登录本机用户名为root&#xff0c;密码为123456的账户&#xff1a; mysql -u root -p按回车&#xff0c;然后…

【0901作业】QTday3 对话框、发布软件、事件处理机制,使用文件相关操作完成记事本的保存功能、处理键盘事件完成圆形的移动

目录 一、思维导图 二、作业 2.1 使用文件相关操作完成记事本的保存功能 2.2 处理键盘事件完成圆形的移动 一、思维导图 二、作业 2.1 使用文件相关操作完成记事本的保存功能 void Widget::on_saveBtn_clicked() {QString filename QFileDialog::getSaveFileName(this,&…

目录扫描+JS文件中提取URL和子域+403状态绕过+指纹识别(dirsearch_bypass403)

dirsearch_bypass403 在安全测试时&#xff0c;安全测试人员信息收集中时可使用它进行目录枚举&#xff0c;目录进行指纹识别&#xff0c;枚举出来的403状态目录可尝试进行绕过&#xff0c;绕过403有可能获取管理员权限。不影响dirsearch原本功能使用 运行流程 dirsearch进行…

【狂神】Spring5笔记(10-19)

又是美好而努力的一天呀~ __ /|* * * * * * / * * * / * * * * / * * * * * * * happy valentines day * * * * …

自然语言处理-NLP

目录 自然语言处理-NLP 致命密码&#xff1a;一场关于语言的较量 自然语言处理的发展历程 兴起时期 符号主义时期 连接主义时期 深度学习时期 自然语言处理技术面临的挑战 语言学角度 同义词问题 情感倾向问题 歧义性问题 对话/篇章等长文本处理问题 探索自然语言…

电脑莫名其妙重启 为设备 ROOT\DISPLAY\0000 加载驱动程序 \Driver\WUDFRd 失败

卸载向日葵即可解决&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;下面是报错日志&#xff0c;估计是远程连接导致的问题

JVM工具-1. jps 虚拟机进程状态工具

文章目录 1. jps介绍2. jps命令格式3. jps工具主要选项4. jps -q5. jps -m6. jps -l7. jps -v 1. jps介绍 jps(JVM Process Status Tool)&#xff1a;虚拟机进程状态工具&#xff0c;可以列出正在运行的虚拟机进程&#xff0c;并显示虚拟机执行主类&#xff08;Main Class&…

ARM寄存器组

CM3 拥有通用寄存器 R0‐R15 以及一些特殊功能寄存器。 R0-R7&#xff0c;通用目的寄存器 R0-R7也被称为低组寄存器&#xff0c;所有指令可以访问它们&#xff0c;它们的字长为32位&#xff0c;复位后的初始值是不可预料的。 R8-R12&#xff0c;通用目的寄存器 R8-R12也被称…

汽车以太网协议栈

《大师说》栏目上线啦# 《大师说》栏目是怿星科技2023年推出的深度思考栏目&#xff0c;通过邀请内部专家&#xff0c;针对智能汽车行业发展、技术趋势等输出个性化的观点。每期一位大师&#xff0c;每位一个话题&#xff0c;本期由我们怿星的CTO虞胜伟&#xff0c;进行分享。…

Elasticsearch 优化

Elasticsearch 优化 2.1硬件选择 Elasticsearch 的基础是 Lucene &#xff0c;所有的索引和文档数据是存储在本地的磁盘中&#xff0c;具体的 路径可在 ES 的配置文件 ../config/elasticsearch.yml 中配置&#xff0c;如下&#xff1a; #----------------------------…

C#,《小白学程序》第十二课:日历的编制,时间DateTime的计算方法与代码

1 文本格式 /// <summary> /// 《小白学程序》第十二课&#xff1a;日历的编制&#xff0c;时间DateTime的计算方法与代码 /// 本课学习时间类型的数据 DateTime 的简单方法&#xff0c;并编制一个月的日历。 /// </summary> /// <param name"sender"…

idea 链接mysql连不上

打开文件 C:\Program Files\JetBrains\IntelliJ IDEA 2023.2.1\jbr\conf\security\java.security修改内容 搜索&#xff1a;jdk.tls.disabledAlgorithms 修改 链接地址 在链接后面添加 ?useSSLfalse jdbc:mysql://127.0.0.1:3306/db_admin3?useSSLfalse

stable diffusion实践操作-提示词

本文专门开一节写提示词相关的内容&#xff0c;在看之前&#xff0c;可以同步关注&#xff1a; stable diffusion实践操作 提示词网站&#xff1a; https://promptheroes.cn/https://prompthero.com/https://www.prompthunt.com/promptthunt无界AI 正文 1、提示词的原理 提…