5G NR:RACH流程 -- Msg1发送时RA-RNTI的计算及功率控制

news2024/11/23 15:47:09

前言        

        如果阅读了这两篇博文《如何产生PRACH preamble》和《如何选择合适的时频资源发送preamble》,那么对msg1有了基本了解,但是真到了Msg1发送的时候,该怎么处理呢,这里涉及到两个问题:

  • 问题1:发送无线信号给对方,那么就需要能量。以多大的功率发送Msg1的Preamble合适呢?
  • 问题2:对于随机接入过程,由于此时的PRACH和后面Msg2的PDSCH均不是UE specific的信道,那么终端如何判定后面基站回复的Msg2是给自己的呢?这里就用用到了RA-RNTI可以唯一标识Msg1发送的时频资源这一特性。

Msg1的发射功率

        38213给出了关于PRACH的功控计算公式:

首先,P_{PRACH,target}= PREAMBLE_RECEIVED_TARGET_POWER,再由38321知道可由以下公式计算:
preambleReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_POWER_RAMPING_COUNTER -1)* PREAMBLE_POWER_RAMPING_STEP

  • preambleReceivedTargetPower 由参数 ‘preambleReceivedTargetPower’ 可得
  • DELTA_PREAMBLE 可由38321表7.3-1和7.3-2可得,根据不同的preamble format查表
  • PREAMBLE_POWER_RAMPING_COUNTER对于初始传输是1,重传依每次加一
  • PREAMBLE_POWER_RAMPING_STEP 由参数‘powerRampingStep’所得

然后,再计算PathLoss-PL

  • referenceSignalPower根据PRACH关联的SSB或者CSI-RS,由参数ss-PBCH-BlockPower和powerControlOffsetSS决定
  • higher layer filtered RSRP是发送PRACH时测到的RSRP

        有了上面两个因子,我们就可以计算PRACH Msg1的初始发射功率了。还是以前面的参数进行举例:

rach-ConfigGeneric
{
prach-ConfigurationIndex 2,
msg1-FDM one,
msg1-FrequencyStart 2,
zeroCorrelationZoneConfig 6,
preambleReceivedTargetPower -100,
preambleTransMax n10,
powerRampingStep dB4,
ra-ResponseWindow sl20
},
ss-PBCH-BlockPower -8
假设此时的RSRP为-94dBm

        则Msg1的初始发射功率= -100+(0)+(1-1)*4+[-8-(-94)]= -14dBm

        如果发生Msg2或者Msg4失败,则会触发Msg1重传,Msg1的最大重传次数由参数preambleTransMax定义。如果发生Msg1的重传,每次重传功率会以powerRampingStep这个步长增大,直到最后达到UE的最大功率或者重传达到最大次数为止。
        需要注意得是,重传增大功率是有条件的,前提是PRACH关联的SSB未发生变化。

If prior to a PRACH retransmission, a UE changes the spatial domain transmission filter, Layer 1 notifies higher layers to suspend the power ramping counter
                                                                                                                  ------摘自38213
if SSB or CSI-RS selected is not changed from the selection in the last Random Access Preamble transmission
                                                                                                                  ------摘自38321

RA-RNTI的计算和使用

        RA-RNTI可以表征Msg1发送时使用的时频资源,UE发送Msg1时会计算RA-RNTI并保存;gNB收到该Msg1后,同样会计算RA-RNTI,并使用该RA-RNTI对Msg2的PDCCH DCI format 1_0的CRC进行扰码。因此只有在RA-RNTI标识的时频资源发送Msg1的终端才能解对这个PDCCH的DCI。不过这还不能完全避免冲突的发生,设想一下还有这种可能,同一个小区,有两个或者多个终端在相同的时频资源(RA-RNTI)上选择了相同的preamble发送,概率虽小,但也是可能的。对于这种冲突还需要后面的Msg3和Msg4去解决。言归正传,这里暂时仅关注Msg1 RA-RNTI的计算:

RA-RNTI = 1 + s_id + 14 × t_id + 14 × 80 × f_id + 14 × 80 × 8 × ul_carrier_id

  • s_id is the index of the first OFDM symbol of the PRACH occasion (0 ≤ s_id < 14)
  • t_id is the index of the first slot of the PRACH occasion in a system frame (0 ≤ t_id < 80), where the subcarrier spacing to determine t_id is based on the value of μ specified in clause 5.3.2 in TS 38.211
  • f_id is the index of the PRACH occasion in the frequency domain (0 ≤ f_id < 8)
  • ul_carrier_id is the UL carrier used for Random Access Preamble transmission (0 for NUL carrier, and 1 for SUL carrier)

        上面的计算参数协议规定的很清楚,

  • s_id是PRACH Occasion的第一个符号的index;
  • f_id是频域的index,由参数msg1_FDM可知;
  • ul_carrier_id对于非SUL场景为0;

        需要注意的是,t_id的取值,我们仍然以上面的RACH参数为例prach_ConfigurationIndex=2,由 《如何选择合适的时频资源发送preamble 》的例子我们可以知道PRACH会在subframe9的第一个symbol开始发送,那么有的同学就想当然的认为这个t_id应该是slot18(2.6GHz, sub6,PUSCH/PDSCH SCS=30k),那就错了。因为按照38211 5.3.2节中对于PRACH format 0,SCS=1.25kHz,规定了u=0,那么应该按照15kHz折算,折算完t_id=9.

 

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

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

相关文章

5、Spring之Bean生命周期源码解析(销毁)

Bean的销毁过程 Bean销毁是发送在Spring容器关闭过程中的。 在Spring容器关闭时,比如: AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); UserService userService = (UserService) context.getBean("userSe…

【CLIP详读】

个人网站&#xff1a;https://tianfeng.space 一、前言 OpenAI的CLIP项目自从推出以来&#xff0c;CLIP引起了广泛的关注。它的方法看似简单&#xff0c;但效果非常出色&#xff0c;许多结果令人惊叹。例如&#xff0c;预训练模型可以在任何视觉分类数据集上实现出色的效果&a…

python中super()用法

super关键字的用法 概述作用语法使用示例1.通过super() 来调用父类的__init__ 构造方法&#xff1a;2.通过supper() 来调用与子类同名的父类方法2.1 单继承2.2 多继承 概述 super() 是python 中调用父类&#xff08;超类&#xff09;的一种方法&#xff0c;在子类中可以通过su…

Zookeeper 入门

第 1 章 Zookeeper 入门 1.1概述 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它负责存储和管理大家都关心的数据&#xff0c;然后接受观察者的注册&#xff0c;一旦这些数据的状态发生变化&#xff0c;Zookeeper就将…

Keysight PXA 常用 visa指令

Keysight PXA N9030B 保存图片

栈和队列篇

目录 一、栈 1.栈的概念及结构 1.1栈的概念 1.2栈的结构示意图 2.栈的实现 2.1支持动态增长的栈的结构 2.2压栈&#xff08;入栈&#xff09; 2.3出栈 2.4支持动态增长的栈的代码实现 二、队列 1.队列的概念及结构 1.1队列的概念 1.2队列的结构示意图 2.队列的实…

指针(一)------指针概念+指针类型+野指针+指针运算+二级指针

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C语言 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 指针&#xff08;一&#xff09; 指针是什么指针…

剪枝基础与实战(5): 剪枝代码详解

对模型进行剪枝,我们只对有参数的层进行剪枝,我们基于BatchNorm2d对通道重要度 γ \gamma γ参数进行稀释训练。对BatchNorm2d及它的前后层也需要进行剪枝。主要针对有参数的层:Conv2d、BatchNorm2d、Linear。但是我们不会对Pool2d 层进行剪枝,因为Pool2d只用来做下采样,没…

MacApp自动化测试之常用工具简介

自动化测试在国内主要以单元测试、API测试、WebUI测试为主&#xff0c;对于MacApp测试却鲜有涉及。但2021年统计MacBook市场占有率接近10%&#xff0c;相比前一年市场占有率提升了26%&#xff0c;可见发展势头非常不错。 与此MacBook上的应用程序MacApp也在有序地发展着&#…

ESP32C3 LuatOS RC522②写入字符串

编写了字符串转16进制表函数 -- 将字符串转换为十六进制表 local function stringToHexTable(str)local hexTable {}local maxLength 16 -- 最大长度为16个元素-- 将字符串转换为十六进制for i 1, #str doif i > maxLength thenbreakendlocal hex string.format("…

解密Spring事务生效的内部机制

声明式事务和编程式事务对比&#xff1a; 声明式事务&#xff1a; 使用注解或XML配置的方式&#xff0c;在代码中声明事务的属性和行为。通过AOP和代理模式实现&#xff0c;将事务管理与业务逻辑代码解耦。适用于大多数情况&#xff0c;简化了代码&#xff0c;提高了可维护性和…

9.2作业

QT实现闹钟 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTimerEvent> #include<QDateTime> #include<QLineEdit> #include<QLabel> #include<QPushButton> #include <QTextToSpeech> QT_BEGIN_NAMES…

sqlserver 自定义函数汉字转拼音或首字母

作用&#xff1a; 将汉字生成为全拼音或者首字母&#xff0c;示例 执行自定义函数&#xff0c;将汉字转成对应的首字母 执行自定义函数&#xff0c;将汉字转成全拼音 自定义教程&#xff1a; 一&#xff0c;只取汉字的首字母 代码如下&#xff1a; 执行下面sql 就自定义函数了…

骨传导耳机对人有伤害吗?骨传导耳机和入耳式耳机的区别是什么?

如果是正确的使用骨传导耳机&#xff0c;是不会对人体造成伤害的&#xff0c;在人的耳蜗内有一种细胞很重要&#xff0c;叫做内毛细胞&#xff0c;主要的工作就是负责识别声音&#xff0c;我们能听到声音跟它密不可分&#xff0c;并且内毛细胞在收到损害后是不会自我修复的&…

go Session的实现(一)

〇、前言 众所周知&#xff0c;http协议是无状态的&#xff0c;这对于服务器确认是哪一个客户端在发请求是不可能的&#xff0c;因此为了能确认到&#xff0c;通常方法是让客户端发送请求时带上身份信息。容易想到的方法就是客户端在提交信息时&#xff0c;带上自己的账户和密…

论文阅读_扩散模型_DM

英文名称: Deep Unsupervised Learning using Nonequilibrium Thermodynamics 中文名称: 使用非平衡热力学原理的深度无监督学习 论文地址: http://arxiv.org/abs/1503.03585 代码地址: https://github.com/Sohl-Dickstein/Diffusion-Probabilistic-Models 时间: 2015-11-18 作…

Mqtt学习笔记--交叉编译移植(1)

简述 Mqtt目前在物联网行业的应用比较多&#xff0c;mqtt属于应用层的一个中间件&#xff0c;这个中间件实现消息的订阅发布机制。网上介绍Mqtt的实现原来的比较多&#xff0c;这里不细介绍。 其实在我们之前的产品中&#xff0c;自己也开发的有类似的中间件&#xff0c;除了具…

第 3 章 栈和队列 (算法 3.5,汉诺塔问题递归解法)

1. 背景说明 假设有 3 个分别命名为 X、Y 和 Z 的塔座&#xff0c;在塔座 X 上插有 n 个直径大小各不相同、依小到大编号为 1, 2&#xff0c;…&#xff0c;n 的圆盘。现要求将 X 轴上的 n 个圆 盘移至塔座 Z 上并仍按同样顺序叠排&#xff0c;圆盘移动时必须遵循下列规则&…

面试官问我MySQL和MariaDB的联系和区别,这我能不知道?

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

重装Windows10系统

以前清理电脑我一般是重置电脑的&#xff0c;但是重置电脑会清理C盘&#xff0c;新系统又遗留有以前的系统文件&#xff0c;导致后面配置环境遇到了棘手的问题&#xff0c;所以我打算重装系统。 第一次重装windows10系统&#xff0c;踩了很多坑&#xff0c;搞了两天才配回原来的…