5G NR:RACH随机接入过程

这篇具有很好参考价值的文章主要介绍了5G NR:RACH随机接入过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 简述

        无论是3G,4G还是现在的5G都需要随机接入过程,随机接入过程主要是为了让基站和UE之间做好上行同步以及初始接入。此文章仅仅帮助大家了解此过程,更加具体的用途及其场景需要参考具体的3GPP协议(38.211,38.212,38.213).主要帮助理解如下几个问题:

  1. PRACH序列, 时域,频率上怎么产生的?由哪些因素决定?
  2. 基站怎么检测PRACH,MSG2包含哪些信息?
  3. MSG3的发送
  4. MSG4解决冲突
  5. MSG5完成接入过程 

1.1 RACH的目的

a) 达到基站和UE之间的上行同步

b)冲突检测

c)UE能够获取无线空口资源与基站进行初始的RRC交互(i.g RRC connection request)

1.2 触发RACH的场景

        触发RACH场景很多,具体的场景可以参考38.300.  此文章主要适用于初学者,在此只是列举最典型的场景:UE处于IDLE下的初始接入。

1.3 RACH的类型:基于冲突检测和非冲突检测

        想象一下,一个基站覆盖范围内有很多手机用户,这些用户相互不知道对方是谁,手机和基站此刻上行还没有同步或者说UE还不能和基站通信,但是UE可以收到基站的广播信息(或者说下行已经同步),没有一个机制约束哪个手机应该用哪个空口资源发第一条上行消息(PRACH),手机从广播信息得到的发送PRACH的资源都是一样的资源池,冲突不可避免,两个手机用了同样一个资源同时发送给基站请求,基站下发一个资源,这种情况下就需要解决冲突,哪一个手机是最终获得资源且被基站认可的手机呢,这个过程即基于冲突检测的类型

        但是凡事无绝对,有些场景和配置,基站和UE本身相互知道对方的唯一身份ID(即C-RNTI,初学这可以认为这个就是基站测L2的一个和UE交互通信的唯一标识),比如NSA的架构,UE有双连接,在UE初始接入到5G基站之前,UE已经和LTE基站有连接,而LTE基站把UE的这个C-RNTI实现已经传递给了5G基站,UE在发起初始接入前和基站已经认识,所以他们不需要冲突检测,即基于非冲突检测类型

2. RACH流程 

预备知识: gNB和UE之间的信令消息传递分为三层. 在RACH的流程中,重要介绍相关的physical layer , MAC 调度层和RRC层。 RLC/PDCP和RACH本身关系不大。

1. Physical layer. 参考38.211

2. L2 (PDCP, RLC, MAC). 参考38.321,38.322,38.323

3. L3(RRC). 参考38.331


随机接入,5G NR,5G

2.1  Standalone Arch下的RACH 流程

        整个RACH 接入流程分为6个步骤A~F, 下图的括号表示消息发送的协议栈

随机接入,5G NR,5G

 2.1.1 Step A:广播RACH配置

         gNB 基站发送广播信息SIB1给UE,此SIB1信息包括RACH如何接入的参数。RRC层参数包括:

- Prach-ConfigurationIndex:决定时域及prach format的参数

- msg1-FDM:决定频率 FDM方式

- msg1-FrequencyStart:决定频率起始位置

- prach-RootSequencyIndex:决定premable根序列

- zeroCorrelationZoneConfig:决定premable的Cyclic shift及set类型

- preambleRecieivedTargetWindow:决定功率门限

- totalNumberOfRA-premables:决定小区总的PREAMBLE个数

- ssb-perRACH-OccasionAndCB-PreamblePerSSB:决定PRAMBLE和SSB的对应关系

- numberOfRA-PreamablesGroupA:决定做contention based preambles的GROUP的范围

- msg1-SubcarrierSpacing: SCS的大小

2.1.2 step B:MSG1

        UE 解析RRC的消息,发送 preamble给BTS 通过PRACH物理信道。物理信道最重要的是premable 的正交序列的产生以及承载序列的时频资源(参考38.211),对于初学者来说,这几个步骤比较难懂,公式很复杂。基本原理就是利用数学上的Zadoff Chu序列产生正交序列,利用傅里叶变化产生symbol

1、Preamble 正交序列的产生:

prach-RootSequencyIndex: 决定了这个公式里面的u

zeroCorrelationZoneConfig: 决定了这个公式里面的Cv

Prach-ConfigurationIndex: 根据38.211协议里面的Table 6.3.3.2-2,可以推导出preamble的format, 这个就决定了公式里面的LRA

原理是每个时域上的RACH occasion都可以参数64个premables,而每个premable都最终产生一个长为LRA的码序列。那么区分不同premable的其实就是两个变量:Cv 和 u.  实际在做网络规划的时候,要考高速移动的场景下多普勒频移,基站侧接收的最大相关峰会移动,为了避免这种情况,我们尽量的把选择的Cv能够错开,使得这64个premables尽量的分散,把LRA分成多个组 Ncs,使用“restricted”类型,否则慢速选择“unrestricted”类型。具体算法:根序列u先不变,Cv 依次递增,如果不够生产64个preamble的根,则依次增加u. 参考38.211 6.3.3.1章节。

        举个例子:

rootSequenceindex = 22  --> physical rootSequenceIndex=1

type = unrestricted

zeroCorrelationZoneConfig = 5 -> Ncs = 26

LRA = 839

PRACH Sequence[0] = base sequence   I.g[1*(0*1)/839, 1*(1*2)/839.........]

PRACH Sequence[1] = do cyclic shift to base sequence by 1 * 26 samples I.g

[1*(26*27)/839,1*(27*28)/839,]

PRACH Sequence[2] = do cyclic shift to base sequence by 2 * 26 samples

....

PRACH Sequence[31] = do cyclic shift to base sequence by 31 * 26 samples

PRACH Sequence[32] = do cyclic shift to base sequence +1  <generate the new root sequence, see 38.211 6.3.3.1>

PRACH Sequence[33] = do cyclic shift to base sequence +1 by 1 * 26 samples

PRACH Sequence[34] = do cyclic shift to base sequence +1 by 2 * 26 samples

….

PRACH Sequence[63] = do cyclic shift to base sequence+1 by 31 * 26 samples

 随机接入,5G NR,5G

2、Preamble 频率序列的产生:

        根据上面产生的频率上的序列,通过IFFT产生时域上的序列。公式十分复杂,很难一次看懂,建议懂原理就可以,如果是这方面的工程师,建议理解它,毕竟这个是4G,5G甚至可能是6G的物理层的基石,除非有一天无线通信的本质发生了变化。

zeroCorrelationZoneConfig:决定这个公式里面的NCS
随机接入,5G NR,5G

举个例子:

随机接入,5G NR,5G

3、Preamble时域上序列的产生:

        Premable时域位置受影响的有两部分:

  • 根据 PRACH configuration index来决定可选的PRACH occasions.  
  • 根据SSB  beams选择用其中哪个PRACH occasion.

        在NR里面,SSB beams和PRACH occasion是有对应关系的,保证UE所在的每一个beam方向都有对应的PRACH occasion可以接入

随机接入,5G NR,5G

        为了更加清楚,举个例子:TDD FR1 RachConfig = 78, SCS = 30 Khz

"PRACH configuration index"就是RRC配置下来变量,这个参数决定了下面这个表格的所有其他变量的值

随机接入,5G NR,5G

此例中包含有3个prach occasions 可以用。UE选择PRACH OCCASION的流程

a. 选择最好的beam

随机接入,5G NR,5G

 b. 根据beam选择PRACH occasion

    RRC 配置参数:Ssb-perRACH-OccasionAndCB-PreamblesPerSSB                   (NbrOfSsbPerRachOccasion, CbraPreamblesPerSsb)

例如:
随机接入,5G NR,5G

SSB0-> Prach occasion0, SSB1-> Prach occasion1, SSB2-> Prach occasion2...

如果UE探测beam1信号质量最好, 就会选择SSB1,也就会选择prach occasion1.

上面三步后,就产生了频率和时域上的数据。
 

2.1.3 step C:MSG2

        BTS发送RAR给UE, RAR承载在下行的物理信道PDCCH/PDSCH上. 可以参考 38.213-8.2 Random Access Response)这个章节。内容包括:

随机接入,5G NR,5G

        UE发送PRAMBLE的配置参数,在BTS测同样存在,所以BTS是可以容易的解析出来PRAMBLE. 方法就是一个一个位置上的搜索。因为上行,UE和BTS不同步,所以BTS会在理论的时域起始点两端来搜索,如果搜索到了,就可以知道实际的头的位置和理论配置的头的位置的时间差,这个时间差TA(Time advance)就当作上行同步的参考。

发送流程如下:

a. 基站通过PDCCH发送DCI,因为PDCCH是用的TYPE1  common search space, 所以UE是可以事先知道如何去解析PDCCH, PDCCH用RA-RNTI来加扰。

物理层都需要用特别的因子对数据进行加扰,目的在接收端可以很容易识别数据。PRACH数据用RA-RNTI来加扰。特别指出:在这个阶段,BTS还没有和UE通信,加扰的RA-RNTI是一个UE和基站都认识的ID,这个ID和时间,频率的位置有关系

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

s_id : the index of the first OFDM symbol of the specified PRACH (0 <= s_id < 14)

t_id : the index of the first slot symbol of the specified PRACH  in a system frame (0 <= t_id < 80)

f_id : the index of the the specified PRACH in the frequency domain(0 <= s_id < 8)

ul_carrier_id : UL carrier used for Msg1 transmission (0 = normal carrier, 1 = SUL carrier

 b. 基站分配下行PDSCH时域和频率资源

c. 基站物理层发送 PDCCH/PDSCH

注意:UE不需要发送HARQ ACK/NACK 给基站

2.1.4 step D: MSG3

        UE接收到了UL GRANT信息和TA的信息,UE 就可以调整上行的发送时间,而且根据UL GRANT的信息,构造MSG3. 在这个例子里面,MSG3也包含了RRC connection request消息(注意,这个RRC消息里面有个UE Identity 字段非常重要,用来作为RACH 冲突解除的主要输入)

MSG3发送时间:

随机接入,5G NR,5G

MSG3 内容:

L3: RRC connection request msg (UE identitiy,......)

L1:PUSCH, PUSCH 用TC-RNTI来加扰, 时域和频率资源由基站在MSG2的UL GRANT中指示

2.1.5 step E: MSG4

        冲突检测及发送 MSG4 RRC connection setup 给UE.

        基站可能收到两个UE过来的MSG3,它们用相同的TC-RNTI,但是基站会选择其中一个下发MSG4,且在MAC层会用对应UE的UE Identity构造MAC-CE包。只有对应的那个UE才会在MAC层识别那个数据,这样冲突就解除了。并且设置C-RNTI =  TC-RNTI.

        UE在物理层,如果数据包没有问题,回HARQ ACK给基站

 随机接入,5G NR,5G

2.1.6 step F: MSG5

UE发送MSG5 RRC Connection complete msg 给BTS。

3. 相关的消息接口

Followings are based on 38.331 v15.3.0

RACH-ConfigCommon ::=   SEQUENCE {

    rach-ConfigGeneric              RACH-ConfigGeneric,

    totalNumberOfRA-Preambles       INTEGER (1..63)      OPTIONAL,   -- Need S

    ssb-perRACH-OccasionAndCB-PreamblesPerSSB   CHOICE {

        oneEighth    ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        oneFourth    ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        oneHalf      ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        one          ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        two          ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},

        four         INTEGER (1..16),

        eight        INTEGER (1..8),

        sixteen      INTEGER (1..4)

    }                  OPTIONAL, - Need M 

   groupBconfigured                    SEQUENCE {

        ra-Msg3SizeGroupA                   ENUMERATED {b56, b144, b208, b256, b282, b480,

                                                        b640, b800, b1000, spare7, spare6, spare5,

                                                        spare4, spare3, spare2, spare1},

        messagePowerOffsetGroupB            ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10,

                                                        dB12, dB15, dB18},

        numberOfRA-PreamblesGroupA          INTEGER (1..64)

    }                                     OPTIONAL,   -- Need R

 

    ra-ContentionResolutionTimer            ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48,

                                                         sf56, sf64},

    rsrp-ThresholdSSB                       RSRP-Range         OPTIONAL,   -- Need R

    rsrp-ThresholdSSB-SUL                   RSRP-Range         OPTIONAL,   -- Need R

    prach-RootSequenceIndex                 CHOICE {

        l839                                    INTEGER (0..837),

        l139                                    INTEGER (0..137)

    },

    msg1-SubcarrierSpacing                  SubcarrierSpacing,

    msg3-transformPrecoding                 ENUMERATED {enabled}    OPTIONAL,   -- Need R

    ...

}

 

RACH-ConfigGeneric ::=          SEQUENCE {

    prach-ConfigurationIndex         INTEGER (0..255),

    msg1-FDM                         ENUMERATED {one, two, four, eight},

    msg1-FrequencyStart              INTEGER (0..maxNrofPhysicalResourceBlocks-1),

    zeroCorrelationZoneConfig        INTEGER(0..15),

    preambleReceivedTargetPower      INTEGER (-200..-74),

    preambleTransMax                 ENUMERATED {n3,n4,n5,n6,n7,n8,n10,n20,n50,n100,n200},

    powerRampingStep                 ENUMERATED {dB0, dB2, dB4, dB6},

    ra-ResponseWindow                ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80}

}

 

 

RACH-ConfigDedicated ::= SEQUENCE {

    cfra                             CFRA OPTIONAL,

    ra-Prioritization                RA-Prioritization OPTIONAL,

    ...

}

 

CFRA ::= SEQUENCE {

    occasions SEQUENCE {

        rach-ConfigGeneric               RACH-ConfigGeneric,

        ssb-perRACH-Occasion             ENUMERATED {

                                           oneEighth, oneFourth, oneHalf, one, two, four,

                                           eight, sixteen

                                         } OPTIONAL -- Cond SSB-CFRA

    } OPTIONAL, -- Need S

    resources CHOICE {

        ssb SEQUENCE {

            ssb-ResourceList              SEQUENCE (SIZE(1..maxRA-SSB-Resources))

                                                  OF CFRA-SSB-Resource,

            ra-ssb-OccasionMaskIndex      INTEGER (0..15)

        },

        csirs SEQUENCE {

            csirs-ResourceList            SEQUENCE (SIZE(1..maxRA-CSIRS-Resources))

                                                  OF CFRA-CSIRS-Resource,

            rsrp-ThresholdCSI-RS             RSRP-Range

        }

    },

    ...,

    [[

        totalNumberOfRA-Preambles-v1530 INTEGER (1..63)        OPTIONAL -- Cond Occasions

    ]]

}

 

 

CFRA-SSB-Resource ::= SEQUENCE {

    ssb                   SSB-Index,

    ra-PreambleIndex      INTEGER (0..63),

...

}

 

 

CFRA-CSIRS-Resource ::= SEQUENCE {

    csi-RS                CSI-RS-Index,

    ra-OccasionList       SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS))

                               OF INTEGER (0..maxRA-Occasions-1),

    ra-PreambleIndex INTEGER (0..63),

    ...

}

 参考

cfra : Resources for contention free random access to a given target cell

ra-ssb-OccasionMaskIndex : Explicitly signalled PRACH Mask Index for RA Resource selection. The mask is valid for all SSB resources signalled in ssb-ResourceList

ssb : The ID of an SSB transmitted by this serving cell.

ra-PreambleIndex : The preamble index that the UE shall use when performing CF-RA upon selecting the candidate beams identified by this SSB.

csi-RS : The ID of a CSI-RS resource defined in the measurement object associated with this serving cell.

ra-OccasionList : RA occasions that the UE shall use when performing CF-RA upon selecting the candidate beam identified by this CSI-RS.

ra-PreambleIndex : The RA preamble index to use in the RA occasions assoicated with this CSI-RS.文章来源地址https://www.toymoban.com/news/detail-734984.html

到了这里,关于5G NR:RACH随机接入过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 5G NR:协议 - PDCCH信道

            不同于LTE中的控制信道包括PCFICH、PHICH和PDCCH,在5G NR中,控制信道仅包括PDCCH(Physical Downlink Control Channel),负责物理层各种关键控制信息的传递,PDCCH中传递的下行控制信息(Downlink Control Information)主要包括: 下行调度信息 上行调度信息 激活与去激活PUSCH调度

    2024年02月11日
    浏览(38)
  • 5G NR SRS功率控制

    3GPP TS 38.213 7.3.1节中,关于SRS的功率控制算法如下: 其中, : 表示在载波f服务小区c以及SRS的发送时隙i UE被配置的最大发射功率;  : 表示在载波f,BWP b, 服务小区c,SRS资源集qs所配置的p0值; : 表示在载波f,BWP b,服务小区c,发送时隙i配置的SRS RB数; :表示在载波f,BWP b,

    2024年02月09日
    浏览(32)
  • 【5G NR】RRC连接重建解析

    前言:无线网络总有信号不稳定的时候,如果每次无线链路失败或者切换失败均要从头开始建立链接,无疑是比较耗费时间和系统资源的。重建流程只需要服务端对应到用户上下文,即可重建连接,简化了连接处理流程。 重建成功 重建失败,重新发起RRC建立 RRC重建过程的目

    2023年04月17日
    浏览(35)
  • 5G NR无线蜂窝系统的信道估计器设计

    类型A:DMRS位于时隙的第二个或第三个OFDM符号,由14个OFDM符号组成,当数据占据大部分时隙时使用A型映射。 类型B:用在URLLC中,在第一个OFDM符号中传输,并进行数据调度,在时隙持续时间和数据需要立即调度的地方应用 类型A 和B决定DMRS在时域的密度,类型A最多可配置4个

    2024年02月04日
    浏览(36)
  • 【5G NR】手机身份证号IMEI与IMEISV

    目录 IMEI与IMEISV简介 IMEI格式变化 IMEI的组成 IMEISV的组成   通常我们购买手机,会有两个标签,一个标签是入网许可证,贴于手机背面,另一个标签可能贴于手机背面,也可能在外包装上,这个含有条码的标签标识的是IMEI。   手机上的“IMEI”是指国际移动设备识别码(

    2024年02月09日
    浏览(47)
  • 通信算法之129:通信物理层-5G NR PDSCH基带处理

    Generate PDSCH modulation symbols 生成 PDSCH 调制符号 sym = nrPDSCH(cws,mod,nlayers,nid,rnti) sym = nrPDSCH(___,\\\'OutputDataType\\\',datatype) sym = nrPDSCH(cws,mod,nlayers,nid,rnti)   returns physical downlink shared channel (PDSCH) modulation symbols, as defined in TS 38.211 Sections 7.3.1.1 –3 . The process consists of scrambling with scrambling id

    2023年04月08日
    浏览(84)
  • 基于docker容器的,OAI 5G全栈部署方案 (OAI 5G核心网 + OAI 5G接入网 + OAI 5G终端 + RF模拟器)

    本文描述的是OAI官方支持的独立接入部署方案,这是一个基于docker容器的,OAI 5G全栈部署方案。 在这个方案中,包含了OAI 5G核心网、OAI 5G接入网、OAI 5G终端和RF模拟器。完成此方案部署后,可以基于些方案进行5G端到端测试方案和各种场景的测试与研究。 已经正确安装ubuntu

    2024年02月12日
    浏览(72)
  • 企业通过5G双DNN同时接入Internet和IMS配置案例

    场景介绍 术语解释: DNN或APN的组成有两部分:         1、网络ID,这部分表示一个外部网络,这部分是必选的;         2、运营商ID,这部分表示其属于哪个运营商的,这部分是可选的。         LTE 是 4G 无线宽带技术的标准,为移动设备用户提供更高的网络容量和速

    2024年02月06日
    浏览(38)
  • 一篇文章带你看懂5G网络(接入网+承载网+核心网)

    通过这张网络简图帮助大家认识一下全网的网络架构,通过对全网架构的了解,将方便您对后面每一块网络细节的理解。 这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络架构。 无线侧:手机或者集团客户通过基站接入到无线接入网,在接入网侧可以通过

    2024年02月03日
    浏览(71)
  • 计算机网络——随机接入

    💟💟前言 ​ 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 计算机网络——随机接入 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄 小王的主页:小王同学🚗 小王的gitee:小王同学🏩🏩 小王的github:小王同学💦

    2024年02月02日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包