5G学习笔记之随机接入
目录
- 1. 概述
- 2. MSG1
- 2.1 选择SSB
- 2.2 选择Preamble Index
- 2.3 选择发送Preamble的时频资源
- 2.4 确定RA-RNTI
- 2.5 确定发送功率
- 3. MSG2
- 4. MSG3
- 5. MSG4
- 6. 其它
- 6.1 切换中的随机接入
- 6.2 SI请求的随机接入
- 6.3 通过PDCCH order重新建立同步
1. 概述

随机接入触发场景:
- 空闲态接入
- RRC重建
- 切换
- RRC连接态,数据到达时上行失步
- RRC连接态,有上行数据时PUCCH SR资源不足
- CA场景下,为第二个TAG提供TA测量
- SR失败
- 从去激活态转换成连接态
- 请求SI
- 波束恢复
2. MSG1
UE发送MSG1需要做5件事情:选择SSB、选择Preamble Index、选择发送Preamble的时频资源、确定对应的RA-RNTI、确定目标接收功率。
2.1 选择SSB
选择一个满足RSRP门限要求的SSB(SSB和PRACH对应),如果都不满足RSRP门限,则任意选择一个SSB。

2.2 选择Preamble Index
根据MSG3的大小以及路径损耗,选择Preamble。

每个小区有 64 个可用的 preamble 序列,UE 会选择其中一个(或由 gNB 指定)在 PRACH 上传输。这些序列可以分成两部分,一部分用于基于竞争的随机接入,另一部分用于基于非竞争的随机接入。用于基于竞争的随机接入的 preamble 序列又可分为两组:group A 和 group B(group B 可以没有),这么做的目的是为了加入一定的先验信息,以便 基站在 RAR 中给 Msg3 分配适当的上行资源。基站通过SIB1来发送这些配置。

(1)竞争
- UE 首先要确定选择的是 group A 还是 group B 中的 preamble。如果存在 preamble group B,且Msg3 的大小大于 messageSizeGroupA,且 pathloss 小于 PCMAX,c –preambleInitialReceivedTargetPower - deltaPreambleMsg3 – messagePowerOffsetGroupB,则选择 group B;否则选择 group A
- 确定了 group 之后,UE 从该 group 中随机选择一个 Preamble
(2)非竞争
- 由基站决定preamble index。
2.3 选择发送Preamble的时频资源
PRACH资源:PRACH

2.4 确定RA-RNTI

2.5 确定发送功率
UE基于捕获SSB的接收功率来估计下行路损,然后结合基站配置的前导码目标接收功率来确定初始发送功率。
如果在预先确定的窗口内没有收到随机接入响应,则UE认为网络没有正确接收到前导码,很可能是由于前导码的发射功率太低。这时,UE可能会将前导码发射功率提升一个偏移量,重复发送前导码。
UE会持续提升发射功率,直到收到随机接入响应消息,或者达到可配置的最大重传次数preambleTransMax,或者达到可配置的前导码最大发送功率为止。后两种情况,可以认为随机接入失败。
发送功率计算见3GPP 38.321。

3. MSG2
UE侧
UE发送preamble后,将在RAR时间窗(ra-ResponseWindow)内监听PDCCH,以接收对应RA-RNTI的随机接入响应消息(PDSCH)。其中,PDCCH在公共搜索空间上传输。RAR时间窗在SIB1中配置。

RAR 时间窗起始于发送 preamble 的子帧 + 3 个子帧,并持续ra-ResponseWindow个子帧。如果 preamble 在时域上跨多个子帧,则以最后一个子帧计算。

基站侧
基站侧收到Msg1后:1)基于前导码的接收定时而计算出UE的TA;2)调度授权,指示UE用于传输后续消息3的资源;3)分配临时标识( TC-RNTI),用于UE和网络之间进一步通信;4)发送RAR消息。
如果网络检测到多个来自不同UE的Msg1,那么各自的响应消息可以合并成一条消息发送。基站在DL-SCH调度响应消息,并使用随机接入响应预留的标识RA-RNTI,通过PDCCH指示给UE。
RAR中包含三种MAC subPDU:
- MAC subheader with Backoff Indicator only
- MAC subheader with RAPID only(如场景:SI请求确认)
- MAC subheader and MAC RAR

RAR消息说明:
- BI:Backoff Indicator,指定了 UE 重发 preamble 前需要等待的时间范围。如果 UE 在 RAR 时间窗内没有接收到 RAR,或接收到的 RAR 中没有一个 preamble 与自己的相符合,则认为此次 RAR 接收失败。此时 UE 需要等待一段时间后,再发起随机接入。等待的时间为在 0 至 BI 指定的等待时间区间内选取一个随机值。
♥ BI 的取值从侧面反映了小区的负载情况,如果接入的 UE 多,则该值可以设置得大些;如果接入的 UE 少,该值就可以设置得小些。
♥ 如果 UE 收到了一个 Backoff Indicator subheader,则会保存一个 backoff 值,该值等于该subheader 中的 BI 值;否则 UE 会将 backoff 值设为 0。。 - RAPID:Random Access Preamble Identifier,基站在检测preamble时得到的preamble Index。如果 UE 发现该值与自己发送 preamble 时使用的索引相同,则认为成功接收到对应的 RAR。
- Timing Advance Command:指定 UE 上行同步所需要的时间调整量。
- UL grant:指定了分配给 Msg3 的上行资源
- TC-RNTI:临时C-RNTI

另外,在下行波束赋形的情况下,基站发送随机接入响应要遵循SSB(即在小区初始搜索阶段捕获到的SSB)所用的波束赋形。这很重要,因为终端要使用接收端的波束赋形,就需要知道如何指向接收波束。通过使用与SSB相同的波束来发送随机接人响应,终端知道可以使用与小区搜索阶段确定的接收波束相同的波束来接收:
4. MSG3
MSG3最重要的就是携带UE标识给基站,用于后续收到MSG4后,UE判断随机接入结果。
- RRC_CONNECTED和RRC_INACTIVED态的UE,其唯一标志是 C-RNTI。在Msg3时,UE通过MAC CE将自己的C-RNTI告诉给基站。
- 对于非 RRC_IDLE 态的 UE 来说,将使用一个来自核心网的唯一的 UE 标志(S-TMSI或一个随机数)作为其标志。

5. MSG4
基站侧
若UE存在有效的C-RNTI,使用C-RNTI在PDCCH上对终端进行寻址来处理。
若UE不存在有效的C-RNTI,使用TC-RNTI在PDCCH上对终端进行寻址来处理,相应的DL-SCH包含了竞争解决消息。
UE侧
比较竞争解决消息中的UE标识和Msg3发送的是否一致,若是,则竞争成功,发送上行HARQ;否则,竞争失败。
6. 其它
6.1 切换中的随机接入
连接态的UE要切换到新的小区,目标小区会在触发切换的RRC重配消息中携带相关的RACH配置,基站通常会给UE分配一个专用前导码索引,即基于非竞争的随机接入。RRC重配消息中携带的随机接入相关信息:

6.2 SI请求的随机接入
UE请求发送SI的方式有:
-
先通过传统的随机接入进入连接态,然后通过传统的RRC信令显示地请求SI消息。
-
使用随机接入过程直接请求SI。在SIB1中携带SI请求配置,包括随机接入配置和前导码索引。UE通过给定的随机接入配置和前导码索引进行随机接入,就直接指示了请求发送SI。
通过随机接入获取SI更多内容见:5G学习笔记之系统消息
6.3 通过PDCCH order重新建立同步
如果连接态的UE保持不活动,即在一段时间内没有进行上行传输,可能会失去与基站的同步。基站检测到上行失步,则会通过PDCCH Order的方式触发UE进行随机接入。
PDCCH Order使用DCI格式1_0,将频域置为全1,指示该DCI是用于随机接入,而非下行调度。
DCI包含了专用的前导码索引和SSB索引。
相关文章:
5G学习笔记之随机接入
目录 1. 概述 2. MSG1 2.1 选择SSB 2.2 选择Preamble Index 2.3 选择发送Preamble的时频资源 2.4 确定RA-RNTI 2.5 确定发送功率 3. MSG2 4. MSG3 5. MSG4 6. 其它 6.1 切换中的随机接入 6.2 SI请求的随机接入 6.3 通过PDCCH order重新建立同步 1. 概述 随机接入…...
webGL入门教程_03GLSL、OpenGL、WebGL 定义及关系
GLSL、OpenGL、WebGL 定义及关系 1. 定义 1.1 GLSL(OpenGL Shading Language) 定义: GLSL 是 OpenGL 的着色器语言,用于编写 GPU 可编程着色器,定义图形渲染过程中顶点和像素(片元)的处理逻辑。…...
git基本操作说明
一 基本操作说明 Git常用命令: clone、push、add、commit、checkout、pull。 流程如下: 仓库说明: workspace:工作区staging area:暂存区/缓存区local repository:版本库或本地仓库remote repository&…...
微知-git如何添加空目录的几种方式?(.gitkeep, githook, gitconfig)
背景 在Git中,空目录(空文件夹)默认是不会被跟踪的,因为Git主要跟踪文件的变化。但是如何让git添加空目录? #mermaid-svg-3Y4NksLyEeuMs4FC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-si…...
MySQL 数据库学习教程一:开启数据库探索之旅
在当今数字化时代,数据已然成为企业和组织最为宝贵的资产之一。而数据库管理系统则是存储、管理和操作这些数据的核心工具。MySQL 作为一款广泛应用的开源关系型数据库管理系统,以其可靠性、高性能和易用性而备受青睐。如果你渴望踏入数据库领域…...
Vue+Elementui el-tree树只能选择子节点并且支持检索
效果: 只能选择子节点 添加配置添加检索代码 源码: <template><div><el-button size"small" type"primary" clearable :disabled"disabled" click"showSign">危险点评估</el-button>…...
Lumos学习王佩丰Excel第十八讲:LOOKUP函数与数组
一、回顾统计函数 1、使用SUMIF函数 sumif(条件区域,求和条件,求和区域) 2、使用SUMIFS函数 SUMIFS(求和范围, 条件范围1, 条件1, 条件范围2, 条件2, ...) 二、认识数组 1、数组生成原理 所谓数组,是有序的元素序列。组成数组的各个变量称为数组的元素。对于Ex…...
Git的基本使用操作
文章目录 Git 全局配置基本操作Git 常用命令版本回退根据版本号回滚分支远端分支 🏡作者主页:点击! 🤖Git专栏:点击! ⏰️创作时间:2024年12月1日12点50分 Git 全局配置 虽然说是全局配置&am…...
【C语言】结构体嵌套
结构体嵌套是指在一个结构体中定义另一个结构体作为其成员。这种方式可以实现更复杂的数据结构设计,便于对数据进行分层管理和组织,广泛应用于实际开发中,例如操作系统内核、嵌入式系统、网络协议解析等。下面是对结构体嵌套的详细介绍&#…...
PDF view | Chrome PDF Viewer |Chromium PDF Viewer等指纹修改
1、打开https://www.browserscan.net/zh/ 2、将internal-pdf-viewer改为 internal-pdf-viewer-jdtest看下效果: 3、源码修改: third_party\blink\renderer\modules\plugins\dom_plugin_array.cc namespace { DOMPlugin* MakeFakePlugin(String plugin_…...
maxun爬虫工具docker搭建
思路来源开源无代码网络数据提取平台Maxun 先把代码克隆到本地(只有第一次需要) git clone https://github.com/getmaxun/maxun.git 转到maxun目录 cd maxun 启动容器 docker-compose --env-file .env up -d 成功启动六个容器 网址 http://local…...
JAVAWeb之javascript学习
1.js引入方式 1. 内嵌式:在head中,通过一对script标签引入JS代码;cript代码放置位置有一定的随意性,一般放在head标签中;2.引入外部js文件 在head中,通过一对script标签引入外部JS代码;注意&…...
vue3中是如何实现双向数据绑定的
在 Vue 3 中,双向数据绑定主要通过 v-model 指令实现。v-model 是一个语法糖,它内部实际上结合了 v-bind 和 v-on 指令来实现数据的双向绑定。下面详细介绍 Vue 3 中双向数据绑定的实现原理和使用方法。 双向数据绑定的基本原理 v-bind 指令࿱…...
JavaScript事件机制详解
JavaScript中的事件模型是指当用户与网页进行交互时,浏览器会触发不同类型的事件,开发者可以通过添加事件监听器来响应这些事件。事件流是描述事件在页面元素中传播的过程,从窗口对象开始,逐级向下传播到最具体的元素,…...
k8s运行运行pod报错超出文件描述符表限制
1.问题描述 运行pod超过文件描述符表 unable to allocate file descriptor table - out of memory/opt/COMMAND.sh: line 9: 2.查看设备的文件描述符限制 操作前一定要先查询这个值,2097152这个值即为我们可设置的最大值,超过这个值后将无法登录&am…...
vue 2 父组件根据注册事件,控制相关按钮显隐
目标效果 我不注册事件,那么就不显示相关的按钮 注册了事件,才会显示相关内容 实现思路 组件在 mounted 的时候可以拿到父组件注册监听的方法 拿到这个就可以做事情了 mounted() {console.log(this.$listeners, this.$listeners);this.show.search !…...
22智能 图
例题 根据下列顶点之间的关系,画出相应的图结构 A -> B, C, D B -> A, C, C -> A, D, E, D -> B, E, E -> C, 数据结构:使用邻接表表示图,每个顶点有一个链表来存储与它相邻的顶点。 功能: 创建图。 添加边。 打…...
Springfox、Swagger 和 Springdoc
Springfox、Swagger 和 Springdoc 是用于在 Spring Boot 项目中生成 API 文档的工具,但它们之间有显著的区别和演进关系: 1. Swagger 简介 Swagger 是一个开源项目,旨在为 RESTful APIs 提供交互式文档。最早由 SmartBear 开发,…...
编程基础篇
什么是编程? 原文地址 :样式不太熟悉,有点单一,原文地址 一千个人眼中有一千个哈姆雷特,以下是我眼中的编程: A每天出门需要关一下空调,在家喜欢室内温度在 20左右,6 点左右会打开灯…...
GPT视角下,如何在密码学研究中找到属于你的方向?
(本文所有内容由GPT生成)在密码学领域发现关键性的研究方向并成为一位优秀的密码学研究员,需要结合对领域趋势的洞察、扎实的理论基础以及创新的研究思维。以下是具体步骤和方法: 一、发现关键性研究方向 关注领域前沿动态 顶级会…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
篇章二 论坛系统——系统设计
目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...
JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除
目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作…...
视觉slam--框架
视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图? 建图并没有一个固定的形式和算法…...
Heygem50系显卡合成的视频声音杂音模糊解决方案
如果你在使用50系显卡有杂音的情况,可能还是官方适配问题,可以使用以下方案进行解决: 方案一:剪映替换音色(简单适合普通玩家) 使用剪映换音色即可,口型还是对上的,没有剪映vip的&…...
