通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 10996|回复: 1
打印

prach学习过程 [复制链接]

军衔等级:

  新兵

注册:2019-6-25
跳转到指定楼层
1#
发表于 2020-12-29 10:39:44 |只看该作者 |倒序浏览
1.SSB学习
NR将PSS,SSS和PBCH组合起来定义为一个同步块(Synchronization Signal/PBCH Block,SSB),波束扫描以SSB为单位进行.
1.1.SSB相对时频位置
摘自协议TS38.211-7.4.3.1
Table 7.4.3.1-1: Resources within an SS/PBCH block for PSS, SSS, PBCH, and DM-RS for PBCH.
Channel or signal        OFDM symbol number
relative to the start of an SS/PBCH block        Subcarrier number
relative to the start of an SS/PBCH block
PSS        0        56, 57, …, 182
SSS        2        56, 57, …, 182
Set to 0        0        0, 1, …, 55, 183, 184, …, 239
        2        48, 49, …, 55, 183, 184, …, 191
PBCH        1, 3        0, 1, …, 239
        2        0, 1, …, 47,
192, 193, …, 239
DM-RS for PBCH        1, 3       
        2       

图引用:https://blog.csdn.net/qq_33206497/article/details/99209559


SSB的时频结构示意图
以下内容摘自《5G移动通信系统设计与标准详解》5.2.2节 ,page 75.
SSB时域上共占用4个OFDM符号,其中PSS和SSS各占一个符号,PBCH占2个符号,顺序为PSS-PBCH-SSS-PBCH.将SSS放在PBCH符号中间的好处是利用SSS辅助PBCH解调.一个SSB带宽为20个PRB(240个子载波),其中PSS和SSS的带宽为12个PRB,PBCH的带宽为20个PRB,PSS/SSS的中心频率和PBCH的中心频率对齐.此外,PBCH还占用了SSS所在OFDM符号的部分PRB,每个SSB中的PSS和SSS,PBCH采用相同的子载波间隔.
1.2.SSB相对整个载波的带宽的位置
SSB相对整个载波带宽放到什么位置,可以参考下图:
图引用文档https://blog.csdn.net/GiveMe5G/article/details/101724039/



若想计算整个NR载波的起点和带宽,可以按照该步骤:
a),首先要确定Point A的位置 (Point A其实是一个参考点的位置,NR里面很多位置信息的计算是以到Point A的距离来定义的)。Point A= SSB中心频点 - 10RB - Kssb – OffsetToPointA
(SIB1中参数:offsetToPointA 28,)
b),根据Point A, 再确定整个载波的带宽和起点(会用到参数OffsetToCarrier = 0以及carrierBandwidth = 273RB)
c),以上用到的参数通过读取MIB和SIB1获得,这样就可以知道SSB相对整个载波带宽放到什么位置了
1.3.时间同步
以下内容摘自《5G移动通信系统设计与标准详解》5.2.2~5.2.3节 ,page 75~76.
初始接入时,UE不知道载波的具体带宽,频段内的载波带宽组合以及SSB在载波带宽中的位置.为了实现下行同步,UE需要通过搜索检测SSB获得接入载波的频点.为降低搜索的复杂度,UE按照协议规定的一定频率间隔进行SSB搜索,这个频率间隔称为同步栅格(Synchronization Raster).
当UE检测到某个SSB时,将从该SSB中获取定时信息,以达到下行时间同步的目的.获取的定时信息包括SFN,半无线帧索引,半无线帧中的时隙索引和时隙中的OFDM符号索引.
具体细节,需要了解小区搜索过程.本次不做继续讨论.
2.随机接入过程
随机接入过程涉及物理层,MAC层,RRC层等协议层.物理层定义了随机接入过程所需的前导序列(Preamble)码,PRACH资源,随机接入过程的定时关系等;MAC层定义了随机接入过程的总体流程;RRC层除了进行随机接入参数的配置之外,还直接参与一些特定用途的随机接入过程(如切换).
2.1.随机接入过程目的
以下内容摘自《5G移动通信系统设计与标准详解》5.5节 ,page 96~97.
随机接入设计的主要目的是使UE获取上行时间同步,并在UE上建立初始无线链路时候(RRC_IDLE状态转换到RRC_CONNECTED状态)时,可以通过随机接入过程获取用户标识一小区无线网络临时标识(C-RNTI)信息。
2.2.随机接入过程触发的原因
摘自协议TS38.300-9.2.6
随机接入过程应用于以下场景:
1)Initial access from RRC_IDLE;---RRC建立
2)RRC Connection Re-establishment procedure;---RRC重建
3)DL or UL data arrival during RRC_CONNECTED when UL synchronisation status is "non-synchronised";
4)UL data arrival during RRC_CONNECTED when there are no PUCCH resources for SR available;
5)SR failure;
6)Request by RRC upon synchronous reconfiguration (e.g. handover);---切换
7)Transition from RRC_INACTIVE;
8)To establish time alignment for a secondary TAG;
9)Request for Other SI (see clause 7.3);
10)Beam failure recovery;
11)Consistent UL LBT failure on SpCell.

其中从非激活态(RRC_INACTIVE)转换到连接态,请求其他SI,波束失败恢复是NR特有的场景,其他都是LTE系统中已有的场景.

2.2.1.RRC恢复场景
以下内容摘自《5G移动通信系统设计与标准详解》12.1.2节 ,page383~384.
非激活态是NR引入的一种新的状态,该状态下UE不与某个具体小区建立连接,但保持与网络的NAS层连接,同时网络侧和UE侧保存UE上下文.当处于非激活态的UE需要与小区建立连接时,需要从非激活态转换到连接态.此时UE需要进行随机接入过程,实现恢复RRC.由于此时UE与gNB间不能发送任何专用信息,所以只能采用竞争随机接入.该竞争随机接入过程与RRC建立的随机接入过程区别在于Msg3中携带的RRC恢复请求消息,Msg4中携带的CCCH MAC CE 内容与Msg3的RRC 恢复请求消息一致.
2.2.2.请求其他SI
NR的系统消息请求只能由空闲态或非激活态UE发起,并且完成系统信息请求后,UE不会进入连接态.
系统信息请求通过随机过程实现,分为基于Msg1的系统信息请求和基于Msg3的系统信息请求两类.区别在于:基于Msg1的系统信息请求中,gNB为UE预留了请求特定系统消息的专用随机资源,该专用随机资源通过系统信息广播获得;基于Msg3的系统信息请求则是竞争随机接入.
2.2.3.波束失败恢复
波束失败恢复是NR引入的一个波束管理的新过程.NR的波束失败恢复是通过随机接入过程实现的.在UE连接状态良好时,gNB用RRC信令给UE分享多个用于波束失败恢复的专用随机接入资源,包括多个专用的SSB或CSI-RS,专用Preamble,监听Msg2的搜索空间等.与切换场景类似,UE需要对分配的专用的SSB或CSI-RS进行信道测量,选择大于RSRP门限的SSB或CSI-RS,从而确定与其对应的专用Preamble码和PRACH资源发起非竞争随机接入.如果配置的专用SSB或CSI-RS的信道质量都小于门限,则选择竞争随机接入资源发起竞争随机接入.
2.3.随机接入过程分类
随机接入过程分为两类:竞争随机接入和非竞争随机接入.竞争随机接入过程中,随机接入请求资源(即Msg1使用的资源)非UE专用,多个用户在相同的时频资源上发起接入请求,需要通过竞争解决过程来建立gNB和UE之间的关系,共需要4个步骤.
非竞争随机接入中,随机接入请求资源是由gNB分配给UE的,gNB只要识别到UE专用的随机接入资源,即可唯一识别UE,除了gNB给UE分配专用随机接入资源的过程,进入随机接入后只需要两步即可完成随机接入.
2.3.1.竞争随机接入
参考协议TS38.300-9.2.6
RRC建立场景下,竞争随机接入流程如下图1所示:UE在PRACH资源上发送随机接入前导码序列(即消息1,Msg1);UE在PDCCH/PDSCH上接收随机接入响应(Random Access Response, RAR)消息(即消息2,Msg2);UE在PUSCH上发送消息(即消息3,Msg3);UE在PDSCH上接收竞争解决消息(即消息4,Msg4)。

2.3.2.非竞争随机接入

非竞争随机接入是UE根据eNB的指示,在指定的PRACH信道资源上使用指定的Preamble码发起的随机接入,适用于切换、下行数据到达但失步场景。
切换作为非竞争随机接入过程如下:

2.4.随机接入过程中用到SIB1中字段
下面码流来自当前联调log:

Note:摘取自协议TS-38321-5.1.1
prach-ConfigurationIndex: the available set of PRACH occasions for the transmission of the Random Access Preamble for Msg1。
              
rach-ConfigCommon setup :
                {
                  rach-ConfigGeneric ---RACH通用配置
                  {
                    prach-ConfigurationIndex 148,--发送Msg1可用的RO
                    msg1-FDM one,
                    msg1-FrequencyStart 0,
                    zeroCorrelationZoneConfig 10,
                    preambleReceivedTargetPower -80,--初始随机接入前导功率
                    preambleTransMax n10,
                    powerRampingStep dB6,---功率斜坡因子
                    ra-ResponseWindow sl80—RAR窗口长度,单位为slot个数
                  },
                  totalNumberOfRA-Preambles 63,--RA前导码总数
                  ssb-perRACH-OccasionAndCB-PreamblesPerSSB one : n64,--每个RO(可用于发送preamble的时频域资源)映射的SSB以及基于竞争的每个SSB对应的前导码个数
defines the number of SSBs mapped to each PRACH occasion for 4-step RA type and the number of contention-based Random Access Preambles mapped to each SSB
                  ra-ContentionResolutionTimer sf64,--RA竞争解决定时器,64个子帧
                  rsrp-ThresholdSSB 16,--用于选择SSB和相应的随机接入前导码和/或PRACH时机的RSR P阈值
                  prach-RootSequenceIndex l139 : 0,---prach 根序列索引
                  msg1-SubcarrierSpacing kHz30,--msg1子载波间隔
                  restrictedSetConfig unrestrictedSet--受限集配置
                },
              pusch-ConfigCommon setup :
                {
                  msg3-DeltaPreamble 6,
                  p0-NominalWithGrant -80
                },
3.竞争随机接入过程重点关注的内容
3.1.Msg1/随机接入Preamble
前导码Preamble是UE在物理随机接入信道中发送的实际内容.
PRACH Preamble 格式由一个循环前缀和一个或者多个Preamble序列组成,其中,每个Preamble序列占用一个PRACH OFDM符号.保护时间间隔GT在协议中没有显示定义,而是通过PRACH Preamble 所在的时隙和其它时隙对齐,隐含地包含在PRACH Preamble格式中.

CP        Preamble 序列        Preamble 序列        ------        Preamble 序列        GT

NR支持两种长度的PRACH Preamble格式:序列长度为839(长Preamble格式)和139(短Preamble格式).
不同的PRACH preamble格式在时域上的差异包括:子载波间隔,CP长度,序列长度,Preamble序列的重复次数,不同的持续时间和应用场景。
摘自协议TS38211-6.3.3.1
Table 6.3.3.1-1: PRACH preamble formats for  and  kHz.
Format                                        Support for restricted sets       
0        839        1.25 kHz                        Type A, Type B        LTE频谱重用场景
1        839        1.25 kHz                        Type A, Type B        远距覆盖,最大100km
2        839        1.25 kHz                        Type A, Type B        增强覆盖场景
3        839        5 kHz                        Type A, Type B        高速运动场景

Table 6.3.3.1-2: Preamble formats for  and  kHz where .
Format                                        Support for restricted sets       
                                                                应用场景
A1        139        1151        571                                -        微小区
A2        139        1151        571                                -        常规小区
A3        139        1151        571                                -        常规小区
B1        139        1151        571                                -        微小区
B2        139        1151        571                                -        常规小区
B3        139        1151        571                                -        常规小区
B4        139        1151        571                                -        常规小区
C0        139        1151        571                                -        常规小区
C2        139        1151        571                                        常规小区

eg:
短Preamble格式 B4,SCS=30KHZ:
Preamble序列的持续时间=12.2048*1/2,单位是Tc;
Preamble序列循环前缀的持续时间=936*1/2,单位是Tc
支持的重复Preamble序列次数=12

下面章节我们获取其时域资源时候进一步获知其一个时隙包含的最大RO数是1,也就是一个时隙只有一次发送Preamble的机会.


3.1.1.64个前导码生成的计算过程
每个小区都有64个前导码(基站和UE都会计算),那么这些前导码序列Preamble Sequences是怎么生成的呢?本小节就旨在说明生成前导码序列的过程。

Note: 本节下面描述中所用的SIB1中携带的参数值为:
a) prach-ConfigurationIndex 148,
b) prach-RootSequenceIndex l139 : 0,
c) restrictedSetConfig unrestrictedSet
d) zeroCorrelationZoneConfig 10,  
本节内容参考协议TS38.211-6.3.3.1。
The set of random-access preambles  shall be generated according to

from which the frequency-domain representation shall be generated according to

where , , , or  depending on the PRACH preamble format as given by Tables 6.3.3.1-1 and 6.3.3.1-2.
前导码序列集合包括根序列和由该根序列生成的循环移位序列,计算过程分为两个大的步骤:
(1)生成一个ZC(Zadoff-Chu)根序列Xu(n),作为一个基准序列
(2)将基准序列Xu(n)进行循环移位,生成63个不同的循环序列Xuv(n)
如果在(2)中根据基准序列得到的移位序列不足63个,则重新进入(1),生成下一个基准序列,以及新的基准序列相应的移位序列,直至满足64个前导码序列为止。

a.选择基准序列Xu(n)
基准序列Xu(n)(既然是序列则n/i为变量,u为常量)也就是物理根序列号为u的ZC序列,长度为LRA(839或139)按照下面公式,其中sequence number u 是根据logical root sequence index i 查下表6.3.3.1-4得到, 其中logical root sequence index i 是根据参数prach-RootSequenceIndex l139 : 0得到的,物理根序列号计算得到u=1。




Table 6.3.3.1-4: Mapping from logical index  to sequence number  for preamble formats with .
        Sequence number  in increasing order of
0 – 19        1        138        2        137        3        136        4        135        5        134        6        133        7        132        8        131        9        130        10        129
20 – 39        11        128        12        127        13        126        14        125        15        124        16        123        17        122        18        121        19        120        20        119
40 – 59        21        118        22        117        23        116        24        115        25        114        26        113        27        112        28        111        29        110        30        109
60 – 79        31        108        32        107        33        106        34        105        35        104        36        103        37        102        38        101        39        100        40        99
80 – 99        41        98        42        97        43        96        44        95        45        94        46        93        47        92        48        91        49        90        50        89
100 – 119        51        88        52        87        53        86        54        85        55        84        56        83        57        82        58        81        59        80        60        79
120 – 137        61        78        62        77        63        76        64        75        65        74        66        73        67        72        68        71        69        70        -        -
138 – 837        N/A



b.计算循环移位序列Xuv(n)

循环移位序列Xuv(n)根据下面的公式计算得到。其中循环参数cyclic shift Cv 依赖于是否为约束集合,参数配置restrictedSetConfig = unrestrictedSet,对于unrestricted sets公式会用到Ncs




Ncs可以根据zeroCorrelationZoneConfig字段来获取,通过查下表可知Ncs=19。
其中v的取值为[0,1,2,3,4,5]。


Table 6.3.3.1-7:  for preamble formats with  .
zeroCorrelationZoneConfig         value
                       
0        0        0        0
1        2        8        17
2        4        10        21
3        6        12        25
4        8        15        30
5        10        17        35
6        12        21        44
7        13        25        52
8        15        31        63
9        17        40        82
10        19        51        104
11        23        63        127
12        27        81        164
13        34        114        230
14        46        190        383
15        69        285        575



c.示例说明
SIB1中携带的参数值为:
a)  prach-ConfigurationIndex 148,
b) prach-RootSequenceIndex l139 : 0,
c) restrictedSetConfig unrestrictedSet
d)  zeroCorrelationZoneConfig 10,  
u=1,Ncs=19,v的取值为[0,1,2,3,4,5],则可以得到前导码为:
第1个前导码:v=0(Cv=vNcs=0)的循环移位序列
Xu,0(n)=Xu((n+C0)mod139)=Xu((n)mod139)=Xu(n)=X1(n),即基准序列


第2个前导码:v=1(Cv=vNcs=19)的移位序列Xu,1(n)=Xu((n+C1)mod139)=Xu((n+26)mod839)=X1((n+19)mod139)。

第3个前导码:v=2(Cv=vNcs=38)的移位序列Xu,2(n)=Xu((n+C2)mod139)=Xu((n+19*2)mod139)=X1((n+19*2)mod139)。
第4个前导码:v=3(Cv=vNcs=57)的移位序列Xu,2(n)=Xu((n+C3)mod139)=Xu((n+19*3)mod139)=X1((n+19*3)mod139)。

第5个前导码:v=4(Cv=vNcs=76)的移位序列Xu,2(n)=Xu((n+C4)mod139)=Xu((n+19*4)mod139)=X1((n+19*4)mod139)。

第6个前导码:v=5(Cv=vNcs=95)的移位序列Xu,2(n)=Xu((n+C5)mod139)=Xu((n+19*5)mod139)=X1((n+19*5)mod139)。

计算到这里,以物理根序列号u=1的移位序列已经全部获取得到,但此时还没有完成全部64个前导码的生成,因此需要继续将u递增,获取新的基准序列。

u=1的下一个是u=138(查前文的表6.3.3.1-4),因此利用u=138计算后续的6个前导码:
U=138的下一个是u=2(查前文的表6.3.3.1-4),因此利用u=138计算后续的6个前导码;
;;;
重复该过程,直到所有的64个长度为Nzc的前导码序列已经生成完毕,随机接入过程中只选择其中的一个长度为Nzc的序列发送到gNB。

d.参考文献
(1)3GPP TS 38.211 V16.3.0 (2020-09) Physical channels and modulation
(2)https://blog.csdn.net/m_052148/article/details/51160950


3.1.2.PRACH时域资源配置

Note: 本节下面描述中所用的SIB1中携带的参数值为:
a) msg1-SubcarrierSpacing kHz30,
根据随机接入过程的子载波间隔=30KHZ,进而得到子载波间隔配置u=1,后续查表会用到。

PRACH资源是周期性资源.PRACH资源的时域位置采用PRACH配置周期,无线帧索引,子帧/时隙索引,时隙内的起始PRACH OFDM符号索引和时隙内的时域RO个数来定义.通过查找表格确定PRACH的配置.

如何选择正确的PRACH时频资源去发送所选的preamble,PRACH的时域资源主要由参数prach-ConfigurationIndex决定.根据prach-ConfigurationIndex 148 查表6.3.3.2-2(FR1,tdd NR系统)可以得到重要的信息。



Table 6.3.3.2-3: Random access configurations for FR1 and unpaired spectrum.
PRACH
Configuration
Index        Preamble format                Subframe number        Starting symbol        Number of PRACH slots within a subframe        ,
number of time-domain PRACH occasions within a PRACH slot        ,
PRACH duration
                                                               
148        B4        2        1        9        0        1        1        12


从表6.3.3.2-3可得到下面信息:
1)Preamble 的format =B4对应LRA=139

2)只有奇数无线帧中才有PRACH occasion。

3)无线帧下只有子帧9才有PRACH occasion。

4)子帧9下的PRACH occasion的起始位置是从第0个symbol开始。

5)1子帧有1个PRACH slot 。

6)一个PRACH slot只有一个时域RACH Occasion

7)PRACH duration = 12,表示PRACH preamble长度占12个symbol。

子帧9上发送Preamble,时域信息只能精确到子帧9,但是究竟在子帧9的哪个symbol上开始需要进一步确定。下面分2步来确定preamble的持续时长以及PRACH时域起点。

1.根据表6.3.3.2-3得到的信息 获取PRACH preamble时域的持续时长:

从表6.3.3.2-3可知,preamble format =B4,进而可以通过表6.3.3.1-2确定preamble的长度:
Table 6.3.3.1-2: Preamble formats for  and  kHz where .
Format                                        Support for restricted sets
                                                       
A1        139        1151        571                                -
A2        139        1151        571                                -
A3        139        1151        571                                -
B1        139        1151        571                                -
B2        139        1151        571                                -
B3        139        1151        571                                -
B4        139        1151        571                                -
C0        139        1151        571                                -
C2        139        1151        571                               


摘取协议TS-38.211-4.1
Throughout this specification, unless otherwise noted, the size of various fields in the time domain is expressed in time units  where  Hz and . The constant  where ,  and .
从协议中可得:
基本时间单位Ts和Tc之间的比值是固定的,=Ts/Tc=64
Ts =1/(15000*2048)s=32.552 ns;
Tc = 1/(480000*4096)s=0.509 ns。

u=1进一步得到:
Preamble序列的持续时间=12.2048*1/2,单位是Tc;
Preamble序列循环前缀的持续时间=936*1/2,单位是Tc
还需要确定u=1,1个symbol长度,摘取协议TS-38.211-4.3.2,从表4.3.2.1可得:
子帧=1ms=2个slot=28个symbol,进而u=1一个symbol长度=1/28ms =35714.29ns
=1097.14Ts
Table 4.3.2-1: Number of OFDM symbols per slot, slots per frame, and slots per subframe for normal cyclic prefix.
                       
0        14        10        1
1        14        20        2
2        14        40        4
3        14        80        8
4        14        160        16

进而可得PRACH Preamble长度=(6.2048+468)=12756*Tc=12756Ts= 11.63symbol=0.415ms;

2.根据表6.3.3.2-3得到的信息 获取PRACH preamble发送的起始符号位置

摘自协议TS-38211.5.3.2
The starting position  of the PRACH preamble in a subframe (for ) or in a 60 kHz slot (for ) is given by
       
where
-        the subframe or 60 kHz slot is assumed to start at ;
-        a timing advance value  shall be assumed;
-         and  are given by clause 5.3.1;
-         shall be assumed for  kHz, otherwise it is given by  kHz and the symbol position  is given by
       
where
-         is given by the parameter "starting symbol" in Tables 6.3.3.2-2 to 6.3.3.2-4; = 0
-         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 ; = 取值范围为0 to ,所以取值为[0]
-         is given by Tables 6.3.3.2-2 to 6.3.3.2-4; =12
-         is given by
-        if  kHz, then
-        if  kHz 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   =1
-        otherwise,
由前面查找结果可知:

l = 0+0*12+14*1 = 16,进而由下面公式摘自协议TS-38211-5.3.1



进一步可以计算出
l=0, =0
l=1, ,1 = 0 + (+ 144k*1/2)*tc=1096Ts
l=2, ,2 = ,1 + (+ 144k*1/2)*tc=1096Ts*2
l=3, ,3 = ,2 + (+ 144k*1/2)*tc=1096Ts*3
...
l=13, ,13 = ,12 + (+ 144k*1/2)*tc=1096Ts*13
l=14, ,14 = ,13 + (+ 144k*1/2 +16k)*tc=1096Ts*14+16Ts
l=15,,15 = ,14 + (+ 144k*1/2 )*tc=1096Ts*15+16Ts
l=16,,16 = ,15 + (+ 144k*1/2 )*tc=1096Ts*16+16Ts=17552Ts = 0.57ms = symbol 16。

综上发送PRACH Preamble的起始位置确定,preamble持续时长也确定了,那么PRACH的时域资源也确定即是从第16个symbol开始发送,PRACH长度为11.63symbol。

时域位置大概的图形如下:


UE读取到SIB1中配置参数:prach-ConfigurationIndex 148,SCS=30kHZ,经过上述几个步骤的推导和说明,可以整理得到下面这个表格。

Preamble format         Nu        Ncp        symbol 长度        preamble持续时长
B4        12288Ts        468Ts        1097.14Ts        0.415ms


3.1.3.PRACH频域资源配置

Note: 本节下面描述中所用的SIB1中携带的参数值为:
a) msg1-FDM one,
b) msg1-FrequencyStart 0,
c)  ssb-perRACH-OccasionAndCB-PreamblesPerSSB one : n64,
摘取协议TS38.211-6.3.3.2。
Random access preambles can only be transmitted in the frequency resources given by either the higher-layer parameter msg1-FrequencyStart or msgA-RO-FrequencyStart if configured as described in clause 8.1 of [5 TS 38.213]. The PRACH frequency resources , where  equals the higher-layer parameter msg1-FDM or msgA-RO-FDM if configured, are numbered in increasing order within the initial uplink bandwidth part during initial access, starting from the lowest frequency. Otherwise,  are numbered in increasing order within the active uplink bandwidth part, starting from the lowest frequency.

从上面协议中可得到PRACH的频域资源主要由两个参数msg1-FrequencyStart和msg1-FDM决定。

1.PRACH频域资源的起始位置:
msg1-FrequencyStart会告诉你PRACH资源的起点距离initial BWP或当前active BWP起点的offset,此时你可以得到PRACH资源在BWP的相对位置。如果想知道绝对位置,还需要计算BWP的起点以及一个carrier实际有效使用RB的起点。上图的括号中给出了相应的RRC参数。
msg1-FrequencyStart = 0表示最低的频域prach occasion的最低RB相对PRB 0(初始激活上行BWP)的偏移为0。
PRB0的位置:如何确定
找到子载波0的位置,找到SSB的位置,找到PRB0的位置,映射到SSB上,所以绝对位置是啥?
2.PRACH频域占多少个RB:
频域一共占多少个RB取决于某一时间点上频域映射了多少个PRACH资源以及每个PRACH资源占多少个RB。频域映射了多少个PRACH资源由参数msg1-FDM决定;每个PRACH资源占多少RB可通过查表6.3.3.2-1得到。
查表 6.3.3.2-1可得每个频域prach occasion占用的RB数 =12

ssb-perRACH-OccasionAndCB-PreamblesPerSSB one : n64&msg1-FDM one
在这个例子中
1 一个SSB映射一个频域PRACH occasion,
2 PRACH occasion或者SSB使用了全部的64个基于竞争的preamble。
3 msg1-FDM one:表示一个时域PRACH occasion有1个频域PRACH occasion

这样基站是无法通过preamble index来区分SSB的,只能看不同时频资源的RO来区分。2个SSB分别映射到了2个不同时频资源的RO,从RO0到RO1。
Table 6.3.3.2-1: Supported combinations of  and , and the corresponding value of .
         for PRACH         for PUSCH        , allocation expressed in number of RBs for PUSCH       
839        1.25        15        6        7
839        1.25        30        3        1
839        1.25        60        2        133
839        5        15        24        12
839        5        30        12        10
839        5        60        6        7
139        15        15        12        2
139        15        30        6        2
139        15        60        3        2
139        30        15        24        2
139        30        30        12        2
139        30        60        6        2
139        60        60        12        2
139        60        120        6        2
139        120        60        24        2
139        120        120        12        2
571        30        15        96        2
571        30        30        48        2
571        30        60        24        2
1151        15        15        96        1
1151        15        30        48        1
1151        15        60        24        1

3.1.4.MSG1的发送功率
本节内容参考协议TS38.321-5.1.3。

Note: 本节下面描述中所用的SIB1中携带的参数值为:
a) preambleReceivedTargetPower -80,
b)powerRampingStep dB6,
c)preambleTransMax n10,
MSG1每次发送前导码的功率值PREAMBLE_RECEIVED_TARGET_POWER计算如下:

PREAMBLE_RECEIVED_TARGET_POWER = preambleReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_POWER_RAMPING_COUNTER – 1) × PREAMBLE_POWER_RAMPING_STEP + POWER_OFFSET_2STEP_RA;

1)preambleReceivedTargetPower是gNB期待接收到的preamble的初始功率.

2)DELTA_PREAMBLE是一个功率偏移量与preamble format相关,其值参考协议TS38.321-7.3 下表:

Table 7.3-2: DELTA_PREAMBLE values for short preamble formats.
Preamble
Format        DELTA_PREAMBLE values (dB)
A1        8 + 3 × μ
A2        5 + 3 × μ
A3        3 + 3 × μ
B1        8 + 3 × μ
B2        5 + 3 × μ
B3        3 + 3 × μ
B4        3 × μ
C0        11 + 3 × μ
C2        5 + 3 × μ

根据前文2.1.2小节得到,Preamble Format =B4,u=1,DELTA_PREAMBLE= 3db.

3)PREAMBLE_POWER_RAMPING_COUNTER当前MSG1的传输次数,新传是1.

4)PREAMBLE_POWER_RAMPING_STEP表示功率抬升因子,范围从0dB到6dB不等由参数powerRampingStep所得,是每次接入失败后,下次接入时提升的发射功率.

5)POWER_OFFSET_2STEP_RA:初始值为0,只有在下面情况才有值,初始值为0db--该值参考协议TS38.321-5.1.1a
2>        if RA_TYPE is switched from 2-stepRA to 4-stepRA during this Random Access procedure:
3>        set POWER_OFFSET_2STEP_RA to (PREAMBLE_POWER_RAMPING_COUNTER – 1) × (MSGA_PREAMBLE_POWER_RAMPING_STEP – PREAMBLE_POWER_RAMPING_STEP).

6)PREAMBLE_POWER_RAMPING_COUNTER= preambleTransMax + 1,则随机接入失败。

3.1.5.RA-RNTI计算和使用
参考文献
(1)3GPP TS 38.321 V16.2.0 (2020-09) Medium Access Control (MAC) protocol specification

摘自协议TS38321-7.1
Table 7.1-1: RNTI values.
Value (hexa-decimal)        RNTI
0000        N/A
0001–FFF2        RA-RNTI, MSGB-RNTI, Temporary C-RNTI, C-RNTI, CI-RNTI, MCS-C-RNTI, CS-RNTI, TPC-PUCCH-RNTI, TPC-PUSCH-RNTI, TPC-SRS-RNTI, INT-RNTI, SFI-RNTI, SP-CSI-RNTI, PS-RNTI, SL-RNTI, SLCS-RNTI SL Semi-Persistent Scheduling V-RNTI, and AI-RNTI
FFF3–FFFD        Reserved
FFFE        P-RNTI
FFFF        SI-RNTI

Table 7.1-2: RNTI usage.
RNTI        Usage        Transport Channel        Logical Channel
P-RNTI        Paging and System Information change notification        PCH        PCCH
SI-RNTI        Broadcast of System Information        DL-SCH        BCCH
RA-RNTI        Random Access Response        DL-SCH        N/A
MSGB-RNTI        Random Access Response for 2-step RA type        DL-SCH        CCCH, DCCH
Temporary C-RNTI        Contention Resolution
(when no valid C-RNTI is available)        DL-SCH        CCCH, DCCH
Temporary C-RNTI        Msg3 transmission        UL-SCH        CCCH, DCCH, DTCH


参考协议TS38.321-5.1.3

The RA-RNTI associated with the PRACH occasion in which the Random Access Preamble is transmitted, is computed as:
RA-RNTI = 1 + s_id + 14 × t_id + 14 × 80 × f_id + 14 × 80 × 8 × ul_carrier_id
where 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 [8], f_id is the index of the PRACH occasion in the frequency domain (0 ≤ f_id < 8), and ul_carrier_id is the UL carrier used for Random Access Preamble transmission (0 for NUL carrier, and 1 for SUL carrier).

RA-RNTI的计算需要用到3.1.2小节的值,学习上面协议可知RACH资源的时域位置确定了RA-RNTI值,UE发送preamble之后,RA-RNTI计算与PRACH occasion相关联,其计算公式如下所示(除了用于波束失败恢复请求的基于非竞争的随机接入前导):

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

&nbsp;其中:
1)s_id是PRACH occasion的第一个OFDM符号的索引(0 ≤ s_id < 14)
2)t_id是系统帧中PRACH occasion的第一个时隙的索引(0 ≤ t_id < 80)
3)f_id是频域中的PRACH occasion的索引(0 ≤ f_id < 8)--由参数&nbsp;msg1-FDM one决定=1
4)ul_carrier_id是用于preamble传输的UL载波(0表示正常上行载波,1表示SUL载波)。---这里取值为0

根据配置的参数,计算这次RA-RNTI = 1+

3.2.Msg2/RAR

UE首先需要去解析用于Msg2的下行调度的PDCCH DCI。那么UE在什么时间去监听PDCCH DCI,一般情况都是PRACH发送完之后的第一个下行slot作为起点

要监听的DCI的格式是format 1_0。这个DCI需要去Common Search Space去找,由参数ra-SearchSpace定义。

基站对这个PDCCH DCI的CRC使用了RA-RNTI扰码,所以终端需要在ra-SearchSpace 上面尝试使用RA-RNTI去解析PDCCH DCI1_0。

如果UE成功的使用RA-RNTI解调了DCI。接着它会去解PDSCH payload

如果UE继续成功的解出了PDSCH,UE会检查RAPID(random access preamble identity)是否与自己当时发送Msg1时使用的RACH preamble ID相同。如果相同,UE认为Msg2解调成功.

如果UE在ra-ResponseWindow内没有使用RA-RNTI解出DCI,或者没有成功解出PDSCH payload,或者解出了PDSCH但是RAPID不匹配,UE都会认为Msg2接收失败,会触发Msg1重发。

3.2.1.UE 接收RAR的时间

UE在发送Msg1之后,就开始在RAR窗口内尝试检测发送的Msg1的RO所对应的RA-RNTI加扰的DCI格式1_0.
RAR窗口在RO的最后一个符号之后,从用于接收Type1-PDCCH CSS的最早CORESET的第一个符号开始.

3.2.2.UE 没接收到RAR的处理
如果在RAR响应窗口内没有收到RAR,或者收到的RAR中携带的Preamble并不是本UE之前发送的Preamble,那么表示UE本次接收RAR失败,UE将执行如下操作:
1.将本地变量PREAMBLE_TRANSMISSION_COUNTER加1
2.如果PREAMBLE_TRANSMISSION_COUNTER变量=(preambleTransMax+1),那么将通知协议上层“本次RA失败”,不再执行3、4过程。这之后的流程,是继续执行新一次的RA过程,还是执行扫频选小区,甚至换网过程,协议并没有明确说明,由UE侧基带厂商自行决定。
3.如果PREAMBLE_TRANSMISSION_COUNTER<(preambleTransMax+1),且之前的Preamble是由UE侧MAC选择的,那么UE将在0到backoff参数之间随机选择一个值,作为当前失败时刻到下一次发送Preamble时刻的时延。
4.选择时频资源位置,重新发起RA过程。
3.2.3.RAR的格式

摘自协议 TS38321-6.1.5
从图6.1.5-3得到 MAC PDU可能包含BI,RAPID和MAC RAR三部分。

Figure 6.1.5-3: Example of MAC PDU consisting of MAC RARs
该MAC头可由两种类型的子头构成(注意:这两类子头在同一个时间里是互斥的),类型的区别由类型字段“T”来决定,T=0即指示接下来呈现的是随机接入回退指示---”BI”,T=1期指示接下来呈现的是随机接入前导码标识---RAPID。

根据MAC子头中的“E”位置设置为“1”意味着接下来的字段中是否还有随机接入的E/T/RAPID字段,也即同一条的MAC RAR消息可以为多个用户服务(不同RAPID)。


1)BI(Backoff Indicator)用于当Msg1重发的时候产生一个随机退避时间(0 - PREAMBLE_BACKOFF),当这个退避时间结束后,终端才能重发Msg1。Msg2里面的BI field对应的退避时间如下表7.2-1示。如果不包含用于BI的MAC subPDU,那么重发Msg1时退避时间为0ms。

Table 7.2-1: Backoff Parameter values.
Index        Backoff Parameter value (ms)
0        5
1        10
2        20
3        30
4        40
5        60
6        80
7        120
8        160
9        240
10        320
11        480
12        960
13        1920
14        Reserved
15        Reserved

2)RAPID,用于携带random access preamble ID。

3)MAC RAR内容

摘自协议 TS38321-6.2.3
从下图6.2.3-1得到 MAC RAR内容包括TA(12 bits),UL GRANT信息(27 bits)和TC-RNTI(16 bits),其中UL GRANT是用于后面的Msg3,包括PUSCH的时域,频域的资源分配,是否跳频,MCS,Msg3的功控和CSI request。具体字段见下表8-2-1-摘自协议TS38213-8.2。

TA的作用:主要是为了保证不同UE的Msg3能同一时刻到达gNB.
UL GRANT:用于Msg3的调度




Figure 6.2.3-1: MAC RAR
Table 8.2-1: Random Access Response Grant Content field size
RAR grant field        Number of bits
Frequency hopping flag        1
PUSCH frequency resource allocation        14, for operation without shared spectrum channel access
12, for operation with shared spectrum channel access
PUSCH time resource allocation        4
MCS        4
TPC command for PUSCH        3
CSI request        1
ChannelAccess-CPext        0, for operation without shared spectrum channel access
2, for operation with shared spectrum channel access

3.3.Msg3/Msg4
UE在接收到MSG2之后,在Msg2分配的上行资源中进行传输Msg3,出现错误,启动HARQ重传,重传由TC-RNTI加扰的PDCCH命令调度.
gNB和UE通过Msg4完成竞争解决.,只有成功解码的Msg4并完成竞争解决的UE才反馈ACK,其他不反馈.

基于Msg3的PUSCH传输的时隙定义,如果在时隙n中UE接收到对应于本UE的PRACH传输的Msg2的PDSCH,则该UE在时隙n+k2+dealta中发送Msg3的PUSCH,其中k2和dealta分别表示时隙偏移和子载波间隔相关的附加偏移值.



Msg4采用PDCCH DCI格式1_0调度.若UE没有被配置C-RNTI,承载Msg4的PDSCH的CRC由相应的TC-RNTI加扰,其中,该PDSCH包含了UE竞争解决标识.接收到具有UE竞争解决标识的PDSCH之后,UE将在与传输MSG3的PUSCH相同的初始激活UL BWP内的PUCCH上发送HARQ-ACK信息.发送包含HARQ-ACK信息的PUCCH的第一个符号与所接收的相应PDSCH的最后一个符号之间的最小时间等于(Nt,1+0.5ms)

由上面协议可知,Msg1~Msg4大致时序,如下图:


4.PDCCH解调
PDCCH:下行控制信道,主要用来承载上行调度信息和下行调度信息。承载在PDCCH上的控制信息称为DCI(Downlink control information),由于DCI的功能较多,为了方便区分,协议把DCI分为不同的类型。
PDCCH:用于传输DCI,主要是UE接收PDSCH和传输物理上行共享信道所需的调度信息.
基站在一个时隙内分别用3个不同方向的波束接收3个UE的PUSCH和PUCCH.---效率很高
上下行业务信道(        PDSCH和PUSCH)的传输需要相关的下行控制信令辅助,包括上下行传输的资源分配信息(解调PDCCH之后,使用波束赋形去接收PDSCH),传输块大小,调制等级和天线端口.下行控制信令也包括上行传输的功率控制信息,SFI(slot format indicator,传输时隙格式指示)和PI(Preemption indication 抢占指示)等.
NR的PDCCH不必占用整个系统带宽,基于这些考虑,NR以控制资源集合Control Resource Set, CORESET)为单位配置资源,CORESET占用的PRB个数以及PRB的位置均可根据网络部署情况灵活选择.
NR在一个时隙内允许有多个PDCCH发送机会,即允许在一个时隙内多个符号位置上发送PDCCH.


如何解调PDCCH,需要知道:

也就是说,在5G中,UE想要知道PDCCH在频域/时域上的位置,才能解码出PDCCH,NR系统将PDCCH时频符号数等信息放在了新的专有名词coreset中,将PDCCH起始OFDM符号编号以及PDCCH检测周期等信息放在搜索空间(search space)中。

举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-24 13:37 , Processed in 1.605968 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部