笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码。

前面两篇文章介绍了Msg1的两个重要问题,如何产生PRACH preamble和如何选择合适的时频资源发送preamble。那么本节就是万事俱备,只欠东风了,看看真到了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,由上一节的例子我们可以知道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.


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



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

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

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

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

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

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

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

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

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

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

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

  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. R16 5G NR Two-Step RACH

    在5G的第二个版本R16当中,为了减少RACH过程中的信令开销,降低RACH过程的延迟,提出了2-step RACH.在R16协议当中,用Type-2 RACH表示2-step RACH,Type-1 ...

  9. 5G NR 随机接入过程(1)

    本文参考协议38300 38211 38212 38213 38321 38331 本文尽量只用协议原话,加入部分翻译以及一些自己的理解是为了让过程更加清晰明了 本文对preamble的序列生成相关内 ...

最新文章

  1. gridView 多余字符显示省略号...
  2. 网页提示未认证授权的应用服务器,授权认证(IdentityServer4)
  3. Ardino基础教程 22_PS2摇杆
  4. Apache Cassandra和Java入门(第一部分)
  5. 具有Tron效果的JavaFX 2 Form
  6. c语言 单词变复数_关于C语言中的Complex(复数类型)和imaginary(虚数类型)
  7. js 读取excel 导入mysql_可以读取EXCEL文件的js代码
  8. Retrofit源码解析之请求流程概述
  9. Python实践通过使用XGBoost中的尽早停止【Early Stopping】策略来避免过度拟合
  10. unityShader
  11. 旁路电容0.1uF,是怎么来的?
  12. linux 腾达驱动程序,腾达(Tenda)-U12 Linux系统如何安装驱动
  13. Guass Rank(深度学习数值特征归一化方法)
  14. python怎么自动化录入数据_报表自动化怎么做?Excel,Python,还是它?
  15. luoguP1196 银河英雄传说(并查集)
  16. 短视频风口持续 今日头条再投10亿补贴火山小视频
  17. python下载哪一个安装包_python中正确安装对应版本的包
  18. 学生管理系统-C++版
  19. vs2015 x86的Qt项目迁移到vs2017 x64平台
  20. 部分opencv中的GPU加速函数(中文翻译)

热门文章

  1. BokehMe: When Neural Rendering Meets Classical Rendering
  2. 相关方参与度评估矩阵
  3. 【经典永不过时】数据分析网红级别的项目案例分享【超详细】
  4. 清华计算机本科学什么,清华大学计算机本科课程表
  5. 适合的就是最好的,愿程序员不再孤单。。。
  6. Linux快速入门(摘录笔记,大量文字,b站狂神)
  7. Apollo自动驾驶进阶课(3)——高精度地图
  8. Oracle查看表操作历史记录并恢复数据
  9. RK3568平台开发系列讲解(音频篇)Audio 音量控制流程
  10. matlab 如何实现jpg图像的反转_求用MATLAB实现图片的水平翻转、左右翻转