NR随机接入(三)_鹿鹿粑粑的博客-程序员ITS203_t304 随机接入

技术标签: 5G  

CBRA(Contention Based Random Access)信令过程包含四条消息:MSG1、MSG2、MSG3和MSG4,CFRA(Contention Free Random Access)的信令过程包含两条消息:MSG1和MSG2。除了选择Preamble(Dedicated Preamble)不同以外,CFRA的MSG1和MSG2跟CBRA基本相同。因而,这里依然重点介绍CBRA。
如果一切顺利的话,UE发送MSG1后会收到MSG2,发送MSG3后会收到MSG4,并且MSG2和MSG4携带UE期待的信息 —— MSG2携带和MSG1(Random Access Preamble)对应的RAPID(Random Access Preamble Identifier),以及用于MSG3的UL Grant(上行授权)和TA(Timing Advance);MSG4携带和MSG3对应的UE ID(如果MSG3携带CCCH SDU),或MSG4使用MSG3上报的C-RNTI(Cell Radio Network Temporary Identifier)加扰(如果MSG3携带C-RNTI MAC CE)。可是…

如果不顺利呢?
在随机接入过程中,UE可能遇到各种状况:UE发送请求(MSG1或MSG3)后,不一定会收到响应(MSG2或MSG4,请求无响应)—— 或UE收到了响应,但不在期待的时间范围内(响应超时) —— 或在期待的时间范围内收到了响应,但响应包含的不是期待的信息(RAPID或UE ID不匹配,竞争失败)。UE期待的信息前面已经介绍,什么是UE期待的时间范围呢?
先来看MSG1。
UE发送MSG1后会期待收到MSG2,UE需要知道什么时候开始使用RA-RNTI监听PDCCH,以及什么时候结束监听。这里需要一个定时器,协议称为“RAR窗口”(RA Response Window)。如果UE发送MSG1后,在RAR窗口内没有成功解出PDCCH,或RAR MAC PDU没有包含MSG1对应的RAPID,则认为“RAR接收失败”。
在LTE和NR中,RAR窗口的开始位置和时间单位略有不同。在LTE中,RAR窗口的开始位置可以描述为“包含Preamble尾部的子帧+3个子帧”,这里强调“尾部”,是因为Preamble在时域上可能跨多个子帧(取决于Preamble格式)。以包含Preamble“尾部”的子帧为基准(n+0),加3个子帧(n+3),就是RAR窗口的开始位置。RAR窗口的长度由ra-ResponseWindowSize定义(枚举类型),单位为子帧(subframe)。在这里插入图片描述
在NR中,RAR窗口的开始位置可以描述为“发送Preamble后的第一个PDCCH Occasion”(也就是一有机会就开始),和LTE相比,NR的RAR窗口开始位置提前不少(至少2个subframe)。RAR窗口的长度由ra-ResonseWindow定义(枚举类型),单位为时隙(slot),在NR中,时隙长度不是固定的,子载波间隔(SCS)越大,时隙长度越小。通过RAR窗口开始位置和时间单位的变化,可以减少UE接收MSG2的(期望)时延(基站能不能实现另说,UE至少留个念想)。

CFRA场景中,RAR窗口的配置包含在Beam Failure Recovery Config中。如果UE在MSG1发送波束恢复的Dedicated Preamble(基站通过BWP-UplinkDedicated > Beam Failure Recovery Config告知UE),UE在recovery Search Space ID指示的搜索空间,使用C-RNTI(不是RA-RNTI)监听PDCCH,如果没有成功解出PDCCH,则视为失败。事实上,波束恢复的随机接入是一个“特殊的存在”,不只是RAR窗口,其他参数也是单独配置的,细节这里暂不展开。
再来看MSG3。
UE发送MSG3后也会期待收到MSG4,UE需要知道什么时候开始使用TC-RNTI(如果MSG3携带CCCH SDU)或C-RNTI(如果MSG3携带C-RNTI MAC CE)监听PDCCH,以及什么时候结束监听。这里也需要一个定时器,协议称为“竞争解决定时器”(RA Contention Resolution Timer)。如果UE发送MSG3后,在竞争解决定时器超时前没有成功解出PDCCH(如果MSG3携带C-RNTI MAC CE),或没有成功解出MSG4的MAC PDU,或MSG4没有包含MSG3携带的ID(如果MSG3携带CCCH SDU),则认为“竞争解决失败”。
在这里插入图片描述
竞争解决定时器的长度由mac-ContentionResolutionTimer(LTE)或ra-ContentionResolutionTimer(NR)定义,单位为子帧(subframe)。UE发送MSG3后启动(start)竞争解决定时器,如果MSG3进行HARQ重发,UE复位(restart)竞争解决定时器。有趣的是,如果UE使用TC-RNTI对MSG3(携带CCCH SDU)加扰,只要UE成功解出(successfully decoded)MSG4的MAC PDU,就会停止竞争解决定时器(再等也没有意义) —— 这意味着,竞争解决定时器停止,不代表UE竞争成功,因为MSG4不一定包含UE在MSG3(CCCH SDU)携带的ID。
失败怎么办?
UE当然不会轻易放弃,如果UE没有(在RAR窗口内)成功接收MSG2,或(在竞争解决定时器超时前)MSG4,或MSG2包含的RAPID和MSG1不匹配,或MSG4携带的UE ID(或加扰的C-RNTI)和MSG3不匹配,UE都视为失败(RAR接收失败或竞争解决失败),再次进行RA资源选择,重新发送MSG1(Preamble)。不过,MSG1的重发(Retransmission),也有一些讲究。
首先是次数。
如果总是失败(RAR接收失败或竞争解决失败),UE也不能一条道走到黑。UE使用PREAMBLE TRANSMISSION COUNTER记录(在本次随机接入过程)发送MSG1的次数。与此同时,基站通过RRC告知UE发送MSG1次数的“上限” —— preambleTransMax。如果RAR接收失败(MSG2),或竞争解决失败(MSG4),UE对PREAMBLE TRANSMISSION COUNTER加1,然后判断PREAMBLE TRANSMISSION COUNTER是否等于preambleTransMax+ 1。

如果Preamble在SpCell(主小区,即MCG的PCell或SCG的PSCell)发送,且PREAMBLE TRANSMISSION COUNTER等于preambleTransMax + 1,MAC向上层(RRC)发送“Random Access problem”指示。不过,MAC只是和RRC打个招呼,从MAC的角度看,随机接入过程并没有结束(Completed),MAC依然会“无休止”的重发MSG1(一个没有感情的机器),直到收到RRC的指示。毕竟,RRC是Uu接口的老大 —— 上天(RRC)安排的,最大嘛!

比如说,在HO场景中,基站向UE发送RRC重配(RRC Reconfiguration with sync),由此触发的随机接入过程中,如果PREAMBLE TRANSMISSION COUNTER等于preambleTransMax + 1,MAC会向RRC发送“Random Access Problem”指示。不过,在T304超时前,RRC不会指示MAC停止随机接入过程。相似的,在RRC连接建立中,随机接入过程由T300控制;在RRC连接重建中,随机接入过程由T301和T311控制;在RRC连接恢复中,随机接入过程由T319控制。T304、T300、T301、T311、T319都是RRC定时器。
也有一些场景,RRC“事后”才知道发生随机接入,自然无法(通过定时器)控制随机接入过程。比如说,如果UE处于RRC CONNECTED状态,下行数据到达,但上行不同步,或上行数据到达,但上行不同步或没有用于SR的PUCCH资源,MAC会触发随机接入过程(RRC不知情)。如果MAC向RRC发送“Random Access problem”指示,RRC会认为无线链路失效(Radio Link Failure) —— 如果AS安全性已经激活,UE进行RRC连接重建,否则进入RRC IDLE状态。
在这里插入图片描述
还有一些场景,MAC不向RRC发送“Random Access problem”指示,而是直接终结随机接入过程(跳出循环)。比如说,在NR中,如果Preamble在SpCell发送,但随机接入过程由SI Request触发,当PREAMBLE TRANSMISSION COUNTER等于preambleTransMax+ 1时,MAC会认为随机接入过程unsuccessfully completed。如果Preamble在SCell发送(为了获得Secondary TAG的TA),当PREAMBLE TRANSMISSION COUNTER等于preambleTransMax + 1时,MAC也会认为随机接入过程unsuccessfully completed —— unsuccessful,但completed。尽管不是Happy Ending,MAC也可以消停了。
然后是时机。
如上所述,只要随机接入过程没有结束(not completed),UE都会重新进入RA资源(SSB / CSI-RS波束、PRACH Occasion和Preamble)选择阶段(注意,不是初始化阶段,PREAMBLE TRANSMISSION COUNTER和PREAMBLE POWER RAMPING COUNTER不会复位为1)。不过,在此之前,UE可能需要等待一段时间。如果太多UE发送Preamble,导致系统过载,基站会在RAR MAC PDU携带BI MAC sub PDU。
BI是Backoff Indicator的缩写,顾名思义,就是让UE“闪开”。为了让(不同)UE(再次发送时)不会又挤到一起,基站通过BI指示一个时间范围,UE各自从中选择(遵循均匀分布函数)一个时刻(backoff time),再进行RA资源选择。基站通过MSG2将BI发送给UE,但并不影响UE继续本次尝试,UE也无法预知后续(MSG4)竞争解决是否成功,因而,如果UE收到BI,会保存在本地留做备用。
在这里插入图片描述
在NR中,如果BI MAC sub PDU存在,必须放在MAC PDU最前面。BI长度为4位,取值为0~15,参照3GPP TS 36.321表格7.2.1(E-UTRA)和3GPP TS 38.321表格7.2.1(NR)可获得BI对应的时间范围。可见,只有BI取值为0或13时,LTE和NR定义的时间范围不同,LTE最小值为0ms,最大值为960ms,NR最小值为5ms,最大值为1920ms。如果UE收到BI的取值为保留值(reserved),按照已定义的最大值处理,即LTE取960ms(BI = 12),NR取1920ms(BI = 13)。示图没有包含NB-IOT部分,NB-IOT适用于时延不敏感业务,BI对应的时间范围远大于LTE和NR。在这里插入图片描述
实际上,在NR中,时间范围不仅和BI相关,还和SCALING FACTOR BI(缩放因子)相关。在波束恢复或切换场景中,如果beam Failure Recovery Config或rach Config Dedicated包含SCALING FACTOR BI,时间范围为backoff Parameter value x SCALING FACTOR BI。在RRC配置中,SCALING FACTOR BI取值为ENUMERATED { zero, dot25, dot5, dot75 },分别表示缩放0、0.25、0.5或0.75倍。
BI只对CBRA有效。在LTE中,如果Preamble是MAC实体选择的(本质是CBRA,CFRA使用的Dedicated Preamble是由基站通过RRC或PDCCH order指示的),UE会等待backoff time(backoff parameter value范围内的某个时间)后发送Preamble。如果Preamble是在配置了ul-Configuration-r14的SCell发送的,UE不会重发Preamble,直到基站使用相同RA Preamble Index(相同的Preamble)和相同ra-PRACH-MaskIndex(指示PRACH Occasion)通过PDCCH order再次触发随机接入。
在NR中,如果UE等待backoff time(backoff parameter value x SCALING FACTOR BI范围内的某个时间)时,选择Dedicated Preamble(CFRA资源)的条件满足(比如说,某个关联Dedicated Preamble的SSB波束满足RSRP门限),UE不用等待backoff time结束,直接进行RA资源选择。毕竟,CFRA是基站(通过RRC或PDCCH order)指示的 —— 上天(基站)安排的,最大嘛!
最后是功率。
如果UE没有成功收到基站的响应,有一种可能,是基站没有成功检测UE发送的信号。UE重发Preamble时增加发送功率,可以提高基站成功检测的概率。这就好像,学生(UE)报数时声音不够大,老王(基站)可能会听不见(可能只是不想理睬,但学生无法区分),学生再次报数时可加大音量,以成功引起老王的注意。

为了减少自己的消耗,同时减少对他人的干扰,学生没必要上来就“声嘶力竭”。老王提前告知学生预期接收的音量,学生根据这个预期和声波的传输损耗,可以推算第一次报数的音量。如果学生重新报数,也可以逐步提高音量。当然,学生不会“狮子吼”,无论如何提高音量,也不会超过能力的上限 —— 你喊破喉咙也没用啊。

因而,UE的初始发送功率首先和两个因素相关:基站期待的初始接收功率(灵敏度)和基站到UE之间的路径损耗(Path Loss)。基站将初始接收功率(在LTE中为preamble Initial Received Target Power,在NR中为preamble Received Target Power)和参考信号发送功率(在LTE中为reference signal power,在NR中为ss PBCH-Block Power(SSB)和power Control Offset SS(用于CSI-RS))提前告知UE,UE结合实际测量的参考信号接收功率,即可计算路径损耗(参考信号发送功率 – 参考信号接收功率)和初始发送功率(基站初始接收功率 + 路径损耗)。
在LTE中,UE测量的参考信号为CRS(Cell-specific reference signal)。在NR中,由于取消了CRS(减少always-on信号开销),UE测量的参考信号为SSB(Synchronisation Signal Block,同步信号块)或CSI-RS(Channel-State information reference signal)。在LTE中,路径损耗记为PLc,在NR中,由于引入了BWP(Bandwidth Part,部分带宽)的概念,路径损耗记为PLb,f,c(b表示BWP,f表示载波,c表示小区)。
在“灵敏度”和“路径损耗”的基础上,根据Preamble格式(Preamble format),UE还会对发送功率进行调整,幅度记为DELTA PREAMBLE。Preamble格式的细节后面再谈,这里只要知道,Preamble格式之间的差别,主要体现在物理层,比如Preamble序列在时域的重复次数,以及Preamble在时域的长度等。以某个Preamble格式为基准,其他Preamble格式在物理层获得的增益(比如说,Preamble序列重复2次(x2)可获得3dB增益,基站更容易检测到Preamble),可以“回馈”到UE的发送功率 —— 如果某个Preamble格式更容易被检测到,UE就可以相应降低发送功率,反之亦然(DELTA PREAMBLE也可以是正数,比如说,LTE的Preamble格式4的DELTA PREAMBLE为8dB,因为Preamble格式4时长较短)。
在这里插入图片描述
在实现中,UE维护一个名为PREAMBLE RECEIVED TARGET POWER的变量(大写表示UE变量),初始值为preamble Received Target Power(小写表示系统参数,在LTE中为preamble Initial Received Target Power) + DELTAP REAMBLE。结合考虑UE的最大发射功率PMAX,UE的初始发送功率为:min { PMAX , PREAMBLE RECEIVED TARGET POWER + PLc(或PLb,f,c) } [dBm]。
在LTE中,相对于初始发送功率,功率抬升的总幅度和MSG1发送次数(PREAMBLE TRANSMISSION COUNTER,严格来说,是功率抬升次数 + 1)以及步进值(power Ramping Step)相关。由此,UE发送功率可表示为PPRACH = min { PMAX, P },其中P = PREAMBLE RECEIVED TARGETPOWER + PLc = preamble Initial Received Target Power + DELTA PREAMBLE + ( PREAMBLE TRANSMISSION COUNTER – 1 ) x power Ramping Step + PLc。
在NR中,MSG1功率抬升的机制和LTE相似,但略有差异。在NR中,UE发送MSG1的PRACH(Occasion)和SSB波束有关联,如果UE重新选择RA资源时,选择相同的SSB波束或CSI-RS波束(且没有从底层收到暂停功率抬升的通知),重发MSG1才会抬升发送功率,如果UE选择不同的SSB波束或CSI-RS波束,则(这一次)暂不抬升发送功率(示图中假设两个波束的路径损耗PL1和PL2相同)。
在这里插入图片描述
由此,在NR中,重发MSG1的功率不能由PREAMBLE TRANSMISSION COUNTER表示。NR新增一个计数器PREAMBLE POWER RAMPING COUNTER(初始值为1,表示没有抬升(1 - 1 = 0)),相应的,PREAMBLE RECEIVED TARGET POWER变更为Preamble Received Target Power+ DELTA PREAMBLE + ( PREAMBLE POWER RAMPING COUNTER – 1 ) x power Ramping Step。(在LTE中,如果没有从底层收到暂停功率抬升的通知,重发时PREAMBLE TRANSMISSION COUNTER才会加1,这和MSG1发送次数实际有偏差,在数值上,LTE的PREAMBLE TRANSMISSION COUNTER更接近于NR的PREAMBLE POWER RAMPING COUNTER)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dear_father/article/details/107793162

智能推荐

这些鲜为人知的 Python操作_蜗牛的笨笨的博客-程序员ITS203

进制转换平时的编码过程中,进制转换是非常常用的一个功能,尤其是涉及到一些算法的时候更是频繁。事实上 Python 已经内置了各个进制转换的 Api,咱们直接调用即可。int('1100', 2)>>>12int('30', 8)>>>24int('ac9', 16)>>>2761...

赛灵思中文版技术文档资源汇总(持续更新)_芯选的博客-程序员ITS203

本篇文章为赛灵思简体中文文档资源汇总帖,包含了版本说明、用户指南、产品指南、设计方法指南、数据手册、白皮书、应用指南和其他共八个板块,这八个板块是原Xilinx现AMD技术支持团队为方便中文用户的使用,对原版资源的进行的中文翻译,希望能对大家有所帮助。......

DM365-368内核移植_optics_ts的博客-程序员ITS203_dm365 kernel移植

http://www.360doc.com/content/12/0318/16/532901_195392228.shtml

x200换屏_单位下来几台THINKPAD X200 X200S LED高分屏 X200 LED 屏_Badger4us的博客-程序员ITS203

二手商品 慎重购买 要求过高的朋友建议买新货鸽子勿扰,以前放过鸽子的一律不确认机器不接刀 不包邮 机器都没有硬盘内存,盖子 硬盘托架都配好QQ 1654110798https://item.taobao.com/item.htm ... amp;id=5276233055421THINKPAD X20012.1宽屏LCD 成色不错 键盘无油P8600 2.4G无线 蓝牙 指纹无内存 无硬盘...

Android的JNI_OnLoad简介与应用_hb707934728的博客-程序员ITS203

本文转自:http://blog.chinaunix.net/uid-26000296-id-5531584.html一、JNI_OnLoad简介 Java JNI有两种方法,一种是通过javah,获取一组带签名函数,然后实现这些函数。这种方法很常用,也是官方推荐的方法。还有一种就是JNI_OnLoad方法。当Android的VM(Virtual Machine)执行到

为了加快XBee3蓝牙开发,Digi国际发布的XBee Mobile SDK_上海皕科XBee的博客-程序员ITS203

(http://www.bitconn.com/form_1/登记后,购买XBee模块,送USB评估底板及相关中文资料,或者免费申请借用评估套件)如今,每个移动应用程序都能够使用蓝牙低能耗协议进行通信。从无线耳机到无线烤肉温度计,蓝牙无处不在。它不仅广泛应用于许多消费应用,而且还因其能够将应用程序与移动设备连接在任何地方而出现在物联网产品中。您是否在物联网应用程序中使用蓝牙进行通信?如果你...

随便推点

xshell 5评估期已过,不能使用的解决办法_小猪佩里奇的博客-程序员ITS203_xshell5评估过期解决办法

       早上上班突然发现 xshell 5 过期了不能使用,当场就是懵逼状态,重新安装还是不行。百度找了好久才找到解决办法,其实xshell 5有免费版的,即Home & school 版本。卸载原程序,下载安装免费版本的xshell 5即可。免费版本的链接:http://www.netsarang.com/download/free_license.html 1.点击免费版...

PHP+WampServer 环境搭建所遇到的问题_chen249191508的博客-程序员ITS203

1.500 -Invalid command RewriteEngine解决: 打开apache的配置文件httpd.conf ,取消 LoadModule rewrite_module modules/mod_rewrite.so前的注释2. apache服务器 访问端口时,设置文件直接修改apache服务器的配置文件./conf/httpd.conf中的Direct...

如何将谷歌中的hao123删除_rimuweinuan_的博客-程序员ITS203_谷歌浏览器取消hao123

遇到的问题:在“任务栏”添加了“谷歌浏览器”,每次新打开的时候会出现hao123.解决的方法:1、通过“开始”-->在搜索框搜索“Chrome”-->右击属性,看到如下右图。                             2、将如上右图中的“目标”中“http://www.hao123.com/”改为"--profile-directory=Default",结果如下图

Android开发——com.google.gson.JsonSyntaxException_野生杂学家阿博的博客-程序员ITS203

前言在实际的开发当中我们会遇到各种各样的异常或者错误,我今天遇到的第二个异常com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a boolean but was NUMBER at line 1 column 164 path $.data.user_id,gson解析异常。我有点意外就..._1671465600

spring创建Bean的流程以及Bean的生命周期_bean的创建过程_好好玩_tyrant的博客-程序员ITS203

1.spring创建Bean流程1.读取Bean的定义信息通过BeanDefinitionReader这个接口解析xml配置、配置类或其他的一些方式定义的类,得到BeanDefinition(Bean定义信息)2.实例化Bean通过BeanPostProcessor这个接口(增强器)可以对我们的BeanDefinition进行一些修改,然后BeanFactory通过反射实例化Bean对象,但是此时的Bean对象还没有进行初始化,没有填充属性等操作。3.初始化Bean(1)自定义属性赋值是用 s

推荐文章

热门文章

相关标签