NR随机接入过程详解

一 引言

给合实例,详细说明NR里UE随机接入的过程,重点关注所使用的资源的信息,方便以后调查和处理随机接入的故障。

二 接入总体过程

三 分步骤详解

  1. UE获取系统消息

对于接入来说,最重要的部分是SIB1里关于rach的配置:

rach-ConfigCommon: setup (1)

    setup

        rach-ConfigGeneric

            prach-ConfigurationIndex: 98

            msg1-FDM: one (0)

            msg1-FrequencyStart: 16

            zeroCorrelationZoneConfig: 13

            preambleReceivedTargetPower: -108 dBm

            preambleTransMax: n10 (6)

            powerRampingStep: dB6 (3)

            ra-ResponseWindow: sl20 (5)

        ssb-perRACH-OccasionAndCB-PreamblesPerSSB: one (3)

            one: n40 (9)

        ra-ContentionResolutionTimer: sf64 (7)

        rsrp-ThresholdSSB: -120dBm <= SS-RSRP < -119dBm (37)

        prach-RootSequenceIndex: l139 (1)

            l139: 0

        msg1-SubcarrierSpacing: kHz30 (1)

        restrictedSetConfig: unrestrictedSet (0)

            模2余1的sfn, 9号slot

这个表里面假定子载波间隔是15khz,而实际上使用的是30 khz。所以实际的时隙应该是18, 19slot。

根据规范

        

where

  is given by the parameter "starting symbol" in Tables 6.3.3.2-2 to 6.3.3.2-4;

-    is the PRACH transmission occasion within the PRACH slot, numbered in increasing order from 0 to  within a RACH slot where  is given Tables 6.3.3.2-2 to 6.3.3.2-4 for  and fixed to 1 for ;

-    is given by Tables 6.3.3.2-2 to 6.3.3.2-4;

-    is given by

-   if , then

-   if  and either of "Number of PRACH slots within a subframe" in Tables 6.3.3.2-2 to 6.3.3.2-3 or "Number of PRACH slots within a 60 kHz slot" in Table 6.3.3.2-4 is equal to 1, then

-   otherwise,  

看信令,msg1-SubcarrierSpacing: kHz30 (1),所以,l∈14,18,22

所以PRACH使用的是奇数帧的19号时隙

2. UE发送Preamble

gNB log显示在sfn 727 slot 19收到了preamble,preamble id为12。

3.基站发送DCI,这个DCI是用RA-RNTI来扰码的。RA-RNTI是根据preamble的位置计算出来的一个值,UE和gNB计算的结果必须是一致的。

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的符号位置。当前配置下,s_id有3个取值,分别是0,4,8。

t_id是prach所在的slot的编号,当前配置下为19。

f_id 是频域的编号,当前配置下为0

ul_carrier_id是载波的id,我们是单载波系统,所以值为0。

所以,RA-RNTI = 1 + s_id + 14*19,它的取值只能是267,271,275。

从基站数据看,基站计算的值是271。

DCI里指示了MSG2的频域和时域资源,MCS。

频域资源位置的计算要知道initial BWP的位置。根据SIB1里读到的信息,initial BWP的RIV为13034,根据RIV的公式,

计算出BWP的start是109,length是48。(协议里定义

由于BWP size是48,那么DCI里表示上行频域资源的bit数应该是log(2, 48*49/2), 10.20,向上取整是11位。

MSG2里表示MSG3的RIV是95,再用RIV公式计算(这里NBWPsize=48),使用的RIV, start是0, length是48,这是把整个BWP都用上了,即prb 109到prb 156。

时域资源指示如何解析呢?NR里关于时域资源的分配用的查表法,一般会在SIB1里的initial BWP里定义时域资源分配的几种组合(时隙偏置、起始位置、长度),后面实际使用时,可以在DCI里给个索引就可以了。

看SIB1的内容:

  pdsch-ConfigCommon: setup (1)

      setup

          pdsch-TimeDomainAllocationList: 6 items

              Item 0

                  PDSCH-TimeDomainResourceAllocation

                      k0: 0

                      mappingType: typeA (0)

                      startSymbolAndLength: 40

              Item 1

                  PDSCH-TimeDomainResourceAllocation

                      k0: 0

                      mappingType: typeA (0)

                      startSymbolAndLength: 54

              Item 2

                  PDSCH-TimeDomainResourceAllocation

                      k0: 0

                      mappingType: typeA (0)

                      startSymbolAndLength: 96

              Item 3

                  PDSCH-TimeDomainResourceAllocation

                      k0: 0

                      mappingType: typeA (0)

                      startSymbolAndLength: 53

              Item 4

                  PDSCH-TimeDomainResourceAllocation

                      k0: 0

                      mappingType: typeA (0)

                      startSymbolAndLength: 67

              Item 5

                  PDSCH-TimeDomainResourceAllocation

                      k0: 0

                      mappingType: typeA (0)

                      startSymbolAndLength: 100

这个表里有6项,所在DCI里表示时域资源是bit数应该是3位。

这里值为0,即为表中的第一项:

                  PDSCH-TimeDomainResourceAllocation

                      k0: 0

                      mappingType: typeA (0)

                      startSymbolAndLength: 40

k0=0,表示PDSCH就在本时隙。

startSymbolAndLength=40,根据SLIV的公式:

if  then

else

where, and

SLIV=40,算出来S=1,L=13。即从第2个符号到第14个符号。(0是第一个符号)

4.UE根据DCI的指示在指定的时域和频域资源去解调PDSCH,就得到了MSG2,也叫RAR, random access response。

由于BWP size是48,那么DCI里表示上行频域资源的bit数应该是log(48*49/2,2),算出来10.20,向上取整是11位。

MSG2里表示MSG3的RIV是110,再用RIV公式计算(这里NBWPsize=48),使用的RIV, start是14, length是3,换算到BWP上,即prb 123到prb 125。

UE收到MSG2以后,要核对preamble ID是否与自己发的一致,如果一致,就认为MSG2是发给自己的,按照里面的信息,设置TC-RNTI,在指定的资源位置发送MSG3。如果UE一直没有收到MSG2,RAR window(ra-ResponseWindow: sl20 (5))超时以后仍没有收到,那么这次接入尝试就认为是失败了,UE会提高功率(powerRampingStep: dB6 (3)),重新发送preamble,最大尝试次数是preambleTransMax: n10 (6)。

在本例中,UE在sfn 727 slot 19发送的preamble,在sfn 728 slot 3接收到MSG2,preamble ID一致,也在有效的RAR window内。接下来UE就要发送MSG3了。

5. UE发送MSG3。由于MSG3使用的频域和时域资源已经由MSG2指定,所以gNB不会再发送DCI来调度MSG3。

UE会使用新的TC-RNTI,13620。

在MAC层,MSG3的lcid是52, CCCH。没有RLC,PDCP包头。原始码流是0x1e92856cad26。

6. gNB收到MSG3后,会给UE下发MSG4,为了告诉UE如何解调MSG4,会先发一条DCI。这条DCI用TC-RNTI扰码。

这里提供了MSG4使用的频域和时域资源,MCS等。还指定了PUCCH资源。此时UE没有收到MSG4,它所使用的PUCCH是公共的PUCCH,是在SIB1里定义的。

查SIB1里的pucch配置:

pucch-ConfigCommon: setup (1)

    setup

        pucch-ResourceCommon: 15

        pucch-GroupHopping: neither (0)

        hoppingId: 274

        p0-nominal: -86 dBm

根据38.213 table 9.2.1-1,15对应的资源如下

Index

PUCCH format

First symbol

Number of symbols

PRB offset

Set of initial CS indexes

15

1

0

14

{0, 3, 6, 9}

前面计算过,BWP size=48, start prb=109,所以PUCCH频域资源是prb 121, 符号位是0-14。而pucch所在的sfn, slot由PDSCH-to-HARQ_feedback timing indicator: 6来确定。

根据38.213,

For DCI format 1_0, the PDSCH-to-HARQ-timing-indicator field values map to {1, 2, 3, 4, 5, 6, 7, 8}. 6对应7个slot。

MSG4是在sfn 730 slot 1收到的,pucch应该发在sfn 730 slot 8。

7. UE根据DCI的指示去接收MSG4

MSG4有一个特殊的MAC包,lcid=0x3e, Contention Resolution,里面填的是MSG3的原始码流,用于让UE确认这是针对自己MSG3的回应,用于解决冲突。

MSG4的MAC包头里lcid是0,CCCH,同样没有RLC, PDCP包头。

8. UE接收到MSG4以后,在DCI指定的pucch上发送ACK。表示成功解调到了MSG4。

9. UE按照MSG4的指示配置无线资源,然后监听PDCCH,看看是否有关于自己的上行调度。本例中在sfn 732 slot 6收到的DCI:

MSG4中定义了dedicated BWP,是100M带宽。MSG5是要发在dedicated BWP上(Bandwidth Part Incicator: 1)。

频域资源2900,用RIV公式计算,start=170,length=11。

时域资源0,查dedicated BWP的上行时域配置:                                                                      pusch-ConfigCommon: setup (1)
          setup
                pusch-TimeDomainAllocationList: 11 items
                       Item 0
                               PUSCH-TimeDomainResourceAllocation
                                                k2: 2
                                                mappingType: typeB (1)
                                                startSymbolAndLength: 27
 

用SLIV公式计算,27代表start=0,length=14。

K2=2,DCI是sfn 732 slot 6,所以在sfn 732 slot 8发送MSG5。

10.UE在sfn 732 slot 8发送MSG5。

MAC层的lcid是1,从这条消息开始,有了RLC包头,这是上行第一个包,序列号=0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值