此篇接上一篇https://blog.csdn.net/m0_45416816/article/details/99679364

五、Msg1

在经过了随机接入的资源配置之后,要将所选的preamble在所选的PRACH occasion上发送出去,所发送的preamble就是Msg1。发送时要根据所选的PRACH occasion来计算RA-RNTI,每个PRACH occasion对应唯一的RA-RNTI,UE在后续接收Msg2的时候也要监听自己的RA-RNTI所加扰的PDCCH,从而才能确定是发给自己的RAR。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)
  • 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 RA Preamble transmission (0 for NUL carrier, and 1 for SUL carrier).

然后计算PRACH的发射功率,计算公式如下:
PPRACH=min{PCMAX, PPRACHtarget+PL} [dBm]

式中UE所能配置的最大输出功率PCMAX在 [8-1, TS 38.101-1], [8-2, TS38.101-2] 和[38.101-3]中有具体描述;PPRACHtarget按照下式计算:
PPRACHtarget= preambleReceivedTargetPower + Delta_Preamble + (Preamble_Transmission_Counter – 1) * powerRampingStep
其中:

  • preambleReceivedTargetPower(in RACH-ConfigGeneric):基站的目标接收功率
  • powerRampingStep(in RACH-ConfigGeneric):PRACH是功率提升步长
  • Delta_Preamble为针对不同前导序列格式的功率调整量

- 六、Msg2

Msg2就是RAR消息,UE会在发送了Msg1以后,在一个窗口内监听PDCCH,然后PDCCH会指示PDSCH的位置,PDSCH中就包含着RAR。下面先介绍RAR的格式的具体内容,然后再介绍接收过程。
1、MAC PDU (Random Access Response)
一个MAC PDU由若干MAC subPDUs和可能存在的padding组成,每个MAC subPDU有以下三种情况:

  • a MAC subheader with Backoff Indicator only;
  • a MAC subheader with RAPID only (i.e. acknowledgment for SI request);
  • a MAC subheader with RAPID and MAC RAR.
    也就说是MAC subPDU或者只有一个BI subhearder,或者只有一个RAPID subheader,或者既有RAPID subheader也有RAR。BI subheader可能存在也可能不存在,是用于指示如果Msg2接收失败以后的退避时间,UE在这个退避时间内选一个时间来重新发送Msg1.基站把在同一个PRACH occasion上发送的preamble的Msg2都打包在一个MAC PDU里,因为同一个PRACH occasion的加扰RA-RNTI相同。然后每一个preamble对应一个RAPID(Random Access Preamble ID),在这个MAC PDU内如果UE进一步解码出了与自己发送的preamble对应的RAPID,那么说明这个MAC subPDU就是发给自己的RAR。

    Figure 5-1: Example of MAC PDU consisting of MAC RARs
    MAC PDU遵循以下规则:
  • A MAC subPDU with Backoff Indicator only is placed at the beginning of the MAC PDU, if included.
  • Padding is placed at the end of the MAC PDU if present.
  • MAC subPDU(s) with RAPID only and MAC subPDU(s) with RAPID and MAC RAR can be placed anywhere between MAC subPDU with Backoff Indicator only (if any) and padding (if any).
    NOTE:If the RAPID in the MAC subheader of a MAC subPDU corresponds to one of the Random Access Preambles configured for SI request, MAC RAR is not included in the MAC subPDU.
    也就是说BI subheader要有的话一定在最前面,Padding要有的话一定在最后面,其他的在中间。而且只有RAPID subheader的MAC subPDU是针对SI request触发的随机接入的Msg2.
    2 MAC subheader for Random Access Response
    下两图给出BI subheader和RAPID subheader的结构.

    Figure 5-2: E/T/R/R/BI MAC subheader

    Figure 5-3: E/T/RAPID MAC subheader
    The MAC subheader consists of the following fields:
  • E(Extension): 用于指示这个MAC subPDU 是否是一串里的最后一个.
    - set to “1” to indicate at least another MAC subPDU follows.
    - set to “0” to indicate that this MAC subPDUis the last MAC subPDU;
  • T(Type): 用于指示MAC subheader 是RAPID subheader还是BI subheader.
    - set to “0” to indicate the presence of a BI field in the subheader (BI).
    - set to “1” to indicate the presence of a RAPID field in the subheader (RAPID);
  • R: 预留bit, set to “0”;
  • BI: Backoff Indicator 退避时间指示. The size of the BI field is 4 bits;
  • RAPID: The Random Access Preamble IDentifier. The size of the RAPID field is 6 bits.
    3 MAC payload for Random Access Response
    上面是MAC subheader的内容,下面是介绍跟在MAC subheader后面的MAC RAR的内容:
  • R: 预留bit, set to “0”;
  • Timing Advance Command: 这个是定时提前指示,告诉UE定时提前信息,共12 bits;
  • UL Grant:上行调度指示,指示了后续Msg3的发送所占用的PUSCH的信息,共27 bits;
  • Temporary C-RNTI: 网络分配给UE的临时C-RNTI,没有在CONNECTED态下的UE是没有C-RNTI的,所以需要网路给UE分配一个临时的,这个临时的后续如果随机接入成功的话是会提升为真正的C-RNTI的,共16 bits.

    Figure 5-4P: MAC RAR
    4、UL grant
    RAR UL grant用于调度传输Msg3的PUSCH,包含下列内容:
  • hopping flag跳频指示1bit,指示了是否进行跳频:
  • frequency hopping flag is 0, the UE transmits the PUSCH without frequency hopping;
  • otherwise, the UE transmits the PUSCH with frequency hopping.
  • PUSCH时频资源指示,指示了传输Msg3的PUSCH(指示方式与调度PUSCH的DCI相同):
  • PUSCH frequency resource allocation
  • PUSCH time resource allocation
  • MCS指示了调制和编码策略(具体可参考38214).
  • TPC command指示了PUSCH传输功率,具体可参考[TS 38.213]
  • The CSI request field is reserved.
    5、successfully receive RAR
    (1)Beam failure recovery
  • The window starts at the first symbol of the earliest CORESET(at least one symbol after the last symbol of the PRACH occasion)(这个窗口起始位置的决定是所有的情况通用的,不同的events指示窗口大小的参数来源不同,就跟前面不同events指示资源配置的来源相对应);
  • ra-ResponseWindowr(in BeamFailureRecoveryConfig)指示了接收PDCCH的时间窗大小;
  • recoverySearchSpaceId 指示了PDCCH的search space(used for BFR RAR);
    在上面两个参数的指示下,监听PDCCH,因为beam failure recovery触发的非竞争随机接入一般是在CONNECTED态下,所以UE有自己的C-RNTI,如果接收到C-RNTI加扰的PDCCH,则BFR触发的非竞争随机接入到这里就成功完成了,无需解码RAR的具体内容。
    (2)SI request
  • SI request的情况下,也在参数ra-ResponseWindow指示的窗口内监听RA-RNTI加扰的PDCCH;
  • 如果包含了BI subheader,则为UE按照BI subheader里的指示设置退避时间,然后还要乘以一个高层指示的因子,没有的话就把退避时间设置为0
  • MAC PDU包含了一个只有RAPID subheader的MAC subPDU,且这个RAPID与SI request触发的随机接入Msg1中发送的preamble匹配了,则SI request触发的非竞争随机接入到这里也就完成了,然后UE只需把这件事情报告给高层就ok了。
    (3)other situation
    其他情况下,不光要进行退避时间的设置,如果RAPID和UE发送的preamble匹配了的话,还要进行后续的步骤,就是解码出RAR中的具体内容。
    如果是非竞争随机接入的话,如果RAPID和preamble相匹配,则随机接入的过程也就完成了,UE要将临时C-RNTI提升为自己的C-RNTI,解码出RAR中的具体内容,RAR中的具体内容前面已经有过介绍,然后UE按照定时提前的指示进行定时提前,完成上行同步。
    如果是竞争随机接入的话,UE还要根据RAR中的上行调度指示UL grant,在PUSCH中传输后续的Msg3.
    6、RAR not received
    (1)失败原因
  • If the UE does not detect the DCI within the window, or
  • if the UE does not correctly receive the transport block in the corresponding PDSCH within the window, or
  • if the higher layers do not identify the RAPID associated with the PRACH transmission from the UE
    (2)后续操作
    接收失败后,UE就要进行重传,那么就要进行下列步骤:
  • 传输计数器加1;
  • 如果超了参数preambleTransMax 所指示的最大值,则向高层报告错误
  • 如果没超最大值,则在退避时间内重新发送preamble
    但如果高层有要求,则按照下述时间要求重发preamble:
    If requested by higher layers, the UE is expected to transmit a PRACH no later than Nt1+0.5 msec after the last symbol of the window, or the last symbol of the PDSCH reception, where Nt1 is a time duration of N1 symbols corresponding to a PDSCH reception time.
    也就是说要在监测窗口结束后的Nt1+0.5ms内发送PRACH,Nt1是用于PDSCH的接收时间。

七、Msg3

之所以将3条消息称为Msg3,而不是某一条具体消息的原因,其在于根据UE状态的不同和应用场景的不同,这条消息也可能不同,因此就称为Msg3,即随机接入过程的第3条消息。对于没在CONNECTED态下的随机接入,Msg3主要由高层配置,对于CONNECTED态下的随机接入,Msg3主要包含C-RNTI。

  • IDLE态下的初始接入:RRCSetupRequest
  • RRC连接重建:RRCReestablishmentRequest
  • SI request:RRCSystemInfoRequest
  • 小区切换:RRCReconfigurationComplete
  • INACTIVE态下恢复接入:RRCResumeRequest
  • 其他在CONNECTED态下的随机接入,如上行失步、发送上行数据时的调度资源请求等,Msg3中要包含UE已有的C-RNTI.
    总的来说,Msg3要包含一个UE自己的唯一标识,不论这个唯一标识是C-RNTI还是来自高层的其他配置,然后这个唯一标识才能用于竞争解决。

八、Msg4

UE发送了Msg3,会启动一个 ra-ContentionResolutionTimer,并在Msg3进行HARQ重传时,重置该timer。在该timer超时或停止之前,UE会一直监听PDCCH。如果 ra-ContentionResolutionTimer超时,UE会丢弃TC-RNTI并认为冲突解决失败。

1、Msg3中包括C-RNTI时
如果UE监听到PDCCH,且UE在发送Msg3时携带了C-RNTI MAC control element,则在以下2种情况下,UE认为冲突解决成功,此时UE会停止ra-ContentionResolutionTimer,并丢弃TC-RNTI。
NOTE:这3种情况下TC-RNTI不会提升为C-RNTI:

  • NR RA由BFR触发,且UE在Msg4中接收到的PDCCH由Msg3携带的C-RNTI加扰;
  • NR RA由PDCCH order触发,且UE在Msg4中接收到的PDCCH由Msg3携带的C-RNTI加扰;
  • NR RA由MAC子层或RRC子层触发,且UE在Msg4中接收到的PDCCH由Msg3携带的C-RNTI 加扰,且Msg4中为新传的数据分配了UL Grant。

2、Msg3中不包括C-RNTI时
如果Msg3在CCCH发送,且在Msg4中接收到的PDCCH由RAR中指定的TC-RNTI加扰,则当成功解码出的MAC PDU中包含的Contention Resolution Identity MAC CE与Msg3发送的CCCH SDU匹配时,UE会认为随机接入成功并将TC-RNTI提升为C-RNTI。

3、Contention Resolution未成功时UE行为

  • flush the HARQ buffer used for transmission of the MAC PDU in the Msg3 buffer;
  • increment PREAMBLE_TRANSMISSION_COUNTER by 1;
  • if PREAMBLE_TRANSMISSION_COUNTER = preambleTransMax + 1,indicate a Random Access problem to upper layers.
  • if the Random Access procedure is not completed,select a random backoff time according to a uniform distribution between 0 and the PREAMBLE_BACKOFF;
  • perform the Random Access Resource selection procedure;

5G NR 随机接入过程(2)相关推荐

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

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

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

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

  3. NR 随机接入过程(一)

    ​       38.300 协议描述触发随机接入场景. 随机接入过程可以分为竞争性随机接入过程(CBRA)和非竞争性随机接入(CFRA).非竞争性随机接入是网络将特定的随机接入资源是分配给UE的,通 ...

  4. 5G/NR 随机接入过程之Msg2

    21.6 Msg2 UE发送了preamble之后,将在RAR时间窗(RA Response window)内监听PDCCH,以接收对应RA-RNTI的RAR(此时不考虑可能出现的测量gap).如果在 ...

  5. 5G NR 随机接入--PRACH

    高层配置 SIB1> servingCellConfigCommon > uplinkConfigCommon > initialUplinkBWP > rach-Config ...

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

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

  7. 5G/NR 随机接入过程之Msg3

    21.7 Msg3 基于非竞争的随机接入过程,preamble是某个UE专用的,所以不存在冲突:又因为该UE已经拥有在接入小区内的唯一标识C-RNTI,所以也不需要gNB给它分配C-RNTI.因此,只 ...

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

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

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

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

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

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

最新文章

  1. 德克萨斯AM大学的一项新技术可以让我们通过触摸屏「感受」物体
  2. 再谈J.D.Ewards历史与现状,JDE人才缺失现状
  3. 使用ALV中输出ICON
  4. 百度视频携手神策数据 为用户精准推送短视频内容
  5. matlab 填充斜线,请教一个关于柱状图的问题--填充采用斜线之类的,不能是颜色...
  6. Skywalking-10:Skywalking查询协议——GraphQL
  7. django language_「基于Python技术的智慧中医商业项目」Django问诊系统篇-1.系统配置...
  8. 拳王虚拟项目公社:2020考研专业院校选择
  9. 通过js滚轮滚动时调用动画_WOW.js在页面滚动时展现动感的元素动画效果
  10. mysql choose when_mybitis下choose..when. otherwise条件不起作用
  11. Windows phone7 动态添加控件
  12. signature=4c9125bac76ec40553ba356eaca47964,2008 SEM Honorary Members Conversations
  13. Cheat Engine 6.8 设置中文
  14. vue 给iframe设置src_使用不带src属性的vuejs在iframe中渲染组件
  15. CCLayer中Touch事件(Standard Touch Delegate Targeted Touch Delegate)
  16. MySQL最好的写的_mysql中写sql的好习惯
  17. 【网络架构理论系列】简述分布式的定义、分类、技术发展历史进程
  18. c语言error语句错误,【资料】C语言错误信息中文解释
  19. 影像传感器尺寸换算(英寸-毫米)
  20. 蓝桥杯Python初级组测试题之Turtle画图

热门文章

  1. 程序员内部培训与个人发展杂谈
  2. 小白 Linux 云计算怎么学,都要学什么?---超详细---
  3. 从深海带回更多的东西 (汪品先)
  4. 结对编程-李晓彤+凌嘉文
  5. paperwhite3翻页_亚马逊Kindle Paperwhite 3G / Wi-Fi评论
  6. win7怎么跳过硬盘自检_从零开始修电脑第二期__电脑自检慢的维修
  7. matlab上位机电机,基于MATLAB的电机综合性能测试系统上位机软件设计
  8. 数据库存储大文本类型
  9. pdf旋转后如何保存?操作工具有这些
  10. vue入门实例-输入行列,自定义表格