LTE-TDD随机接入过程(3)-RAR(MSG2)以及MSG1的重传_lte rar-程序员宅基地

技术标签: LTE  

本文涉及到的内容有:

(1)UE在什么时候开始接收RAR

(2)怎么确定RA-RNTI

(3)UE没有收到RAR后的处理

(4)RAR的格式

1.UE监测RAR

文章《LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置》已经详细说明了UE发送Preamble前导码的时频位置。当UE发出Preamble后,并不是立即准备接收RAR(Random Access Response),而是在发送前导码之后的第3个子帧之后才开始准备接收RAR。当然,UE也不可能一直等待RAR,如果UE连续检测了ra-ResponseWindowSize个子帧仍然没有收到RAR,则不再继续监测RAR信息。

the UE shall monitor the PDCCH for Random Access Response(s) identified by the RA-RNTI defined below, in the RA Response window which starts at the subframe that contains the end of the preamble transmission plus three subframes and has length ra-ResponseWindowSize subframes.
ra-ResponseWindowSize参数由SIB2中的RACH-ConfigCommon字段带给UE,范围是2-10个子帧,即UE最多连续监测RAR的时长是10ms。


2.RA-RNTI的计算

eNB加扰RAR、UE解扰RAR的RA-RNTI并不在空口中传输,但UE和eNB都需要唯一确定RA-RNTI的值,否则UE就无法解码RAR,因此RA-RNTI就必须通过收发双方都明确的Preamble的时频位置来计算RA-RNTI的值。

RA-RNTI: The Random Access RNTI is used on the PDCCH when Random Access Response messages are transmitted. It unambiguously identifies which time-frequency resource was utilized by the UE to transmit the Random Access preamble.
协议规定了RA-RNTI的计算公式为:RA-RNTI= 1 + t_id+10*f_id。

其中,t_id表示发送Preamble的起始位置的子帧ID号(范围是0-9),f_id表示四元素组中的f_RA值(范围是0-5),之前的文章《LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置》已经详细描述了这两个值的具体含义。

eNB只要能解码出Preamble前导码,就能唯一确定t_id和f_id参数,也就能唯一确定RA-RNTI值。

3.UE没有收到RAR的处理

UE有可能在RAR的监测窗口内没有解码到RAR消息,这有可能是eNB侧没有检测到PRACH中的Preamble信息,有可能是没有调度RAR信息,也有可能是下行无线链路有干扰导致UE解码RAR失败,无论是哪种原因,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过程。  
从上述过程可以看到,UE侧在每次RA过程中,会维护一个计数器PREAMBLE_TRANSMISSION_COUNTER,范围是【0,preambleTransMax】,一旦超过preambleTransMax值,则表示本次RA失败。preambleTransMax参数表示本次Preamble发送(含重传)的最大次数,和ra-ResponseWindowSize参数一样,也是包含在SIB2中的RACH-ConfigCommon字段中,见上文截图。范围从3到200不等,一般取5次即可。

backoff参数表示上次接收RAR失败到下次重新发送Preamble之间的最大延时,单位是ms,eNB侧的MAC层通过RAR消息配置到UE。范围是0-960ms。如果值属于Reserved,则按照960ms处理。

前导码的发送和重传时机如下图所示。

MSG1每次发送前导码的功率值PREAMBLE_RECEIVED_TARGET_POWER计算如下:


PREAMBLE_RECEIVED_TARGET_POWER = preambleInitialReceivedTargetPower +DELTA_PREAMBLE + (PREAMBLE_TRANSMISSION_COUNTER – 1) *powerRampingStep
其中,

PREAMBLE_TRANSMISSION_COUNTER是当前MSG1的传输次数,第一次(新传)时,PREAMBLE_TRANSMISSION_COUNTER被设置为1。

preambleInitialReceivedTargetPower表示初始功率值,范围从-120dBm到-90dBm不等。

powerRampingStep表示功率抬升因子,范围从0dB到6dB不等。

上述三个参数都由SIB2中的RACH-ConfigCommon字段带给UE,见前文截图。

DELTA_PREAMBLE是一个功率偏移量,与Preabmle的格式相关。

4.RAR的格式

随机接入过程中的MAC PDU包含3个部分:MAC头、payload(1个或多个RAR单元)和可选的填充padding。

MAC头包含1个或多个MAC子头,但只能有1个子头可以包含Backoff Indicator,且这个子头只能放在第一个子头位置。其他没有包括Backoff Indicator的子头均对应一个RAR单元。如下图所示。之所以将BI子头放在第一个子头位置,我想可能是为了减少UE侧的处理时间,比如存在这种情况:UE1-UE10共10个UE同时接入,如果将UE1的RAPID子头不放在第一个位置,那么UE1还要遍历接下来的所有子头,读取每个子头的E值和T值,才能知道这个RAR有没有携带BI子头,而如果规定BI子头固定放在第一个位置,那么UE1在解码BI子头和自己的RAPID子头后,就不需要关心余下所有子头的T字段了。

带BI(Backoff Indicator)参数的MAC子头,由E/T/R/R/BI组成,而其他的子头则由E/T/RAPID组成,如下图所示。需要注意的是,在没有解码到任何BI值的时候,UE本地使用的BI参数是0ms,而如果一旦解码成功RAR,无论这个RAR是否携带了本UE的Preamble,UE都要存下本次解码得到的BI,以备重传Preamble的时候使用。但一旦重新发起RA过程,UE侧BI参数都将被复位为0ms。

子头中每个字段的含义是:

E: Extension field,扩展域。指示后续是否还有MAC子头,1表示还有另一个子头,0表示后面不再有MAC子头。
T: Type field,类型域。指示MAC子头后面跟的是Backoff Indicator还是RA Preamble ID(即UE上报的Preamble值)。1表示当前MAC子头后面携带了RA Preamble ID,0表示后面携带的是BI指示(Backoff Indicator)。
R: Reserved bit,固定填0。
BI: Backoff Indicator。占4个bit位,范围0-15,左边是高bit位,右边是低bit位(下同)。
RAPID: Random Access Preamble Identifier,随机前导码标识,MSG1携带,占6个bit位,范围0-63。
如果有2个UE正在进行随机接入,且计算得到的RA-RNTI一样,而前导码不一样时,包含RAR的PDU头的格式如下所示。只有当不同UE的RA-RNTI相同时,RAR消息才能封装到一个MAC-PDU里,不同的RA-RNTI,不能封装在一个MAC PDU中。

payload指1个或多个RAR控制单元,具体个数取决于MAC子头中对应的RAPID的个数。如果RAR是对2个前导码进行的响应,则MAC PDU需要有2个RAR控制单元。RAR控制单元的格式如下。

每个RAR的长度固定为6个字节。各字段的含义为:

Timing Advance Command:时间提前命令域,占11个bit位。通知UE进行上行同步的TA值。
UL Grant:上行授权,占20个bit位。指示UE用于上行传输MSG3的资源,包括时频位置、是否跳频、功控等参数。低字节Oct2为高bit位,高字节Oct4为低bit位。
Temporary C-RNTI:临时C-RNTI,占16个bit位。UE后续发送的MSG3消息使用该值加扰。
对于2个RAR的MAC PDU,它的格式如下。

20bits的UL GRANT包括的内容有:

- Hopping flag – 1 bit,指示PUSCH是否执行跳频。
- Fixed size resource block assignment – 10 bits,指示MSG3的RB资源分配,与带宽有关,以后会详细介绍。        
- Truncated modulation and coding scheme – 4 bits,指示MSG3使用的MCS。 
- TPC command for scheduled PUSCH – 3 bits,指示PUSCH的TPC参数。
- UL delay – 1 bit。指示MSG3发送时刻。 《LTE-TDD HARQ(1)-上行HARQ时序》已经详细介绍了这个参数的具体含义。
- CQI request – 1 bit。指示UE是否上报CQI。
比如UE接收到的RAR码流为0x410008DC0C212F,则依据协议规则,解析的过程如下:

可以知道,该RAR针对的是PreambleID=1的随机接入响应。UL_GRANT的解析过程如下,其中RIV的解析过程与带宽相关,会在后续MSG3的相关博文中再专门介绍。

5.参考文献
--------------------- 
作者:阿米尔C 
来源:CSDN 
原文:https://blog.csdn.net/m_052148/article/details/51105762 
版权声明:本文为博主原创文章,转载请附上博文链接!

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

智能推荐

阿里云PAI大模型RAG对话系统最佳实践_rag最佳实践-程序员宅基地

文章浏览阅读745次,点赞12次,收藏21次。通过以上更具体的步骤和考虑因素,_rag最佳实践

python如何另存文件_python如何保存文本文件-程序员宅基地

文章浏览阅读3.1k次。python保存文本文件的方法:使用python内置的open()类可以打开文本文件,向文件里面写入数据可以用write()函数,写完之后,使用close()函数就可以关闭并保存文本文件了示例代码如下:执行结果如下:内容扩展:Python3将数据保存为txt文件的方法,具体内容如下所示:f = open("data/model_Weight.txt",'a') #若文件不存在,系统自动创建。'a'..._怎么保存python文件

Linux下打包qt和oracle,怎样编译Qt下的Oracle驱动-程序员宅基地

文章浏览阅读196次。Windows下编译Oracle驱动打开工程:C:\Qt\4.8.1\src\plugins\sqldrivers\oci修改oci.pro:TARGET = qsqlociSOURCES = main.cppinclude(../../../sql/drivers/oci/qsql_oci.pri)include(../qsqldriverbase.pri)INCLUDEPATH += D:\o..._linux 编译 oci.pro

PCF8591基础知识(AD/DA芯片)_pcf8591ain3-程序员宅基地

文章浏览阅读270次,点赞3次,收藏5次。PCF8591在板子上对应的是u16芯片。该芯片有4个ADC输入管脚,分别是AIN0~AIN3。AIN0对应的在排针J3上,AIN1对应的是光敏电阻与固定电阻R31的分压数值,AIN2不怎么考,AIN3对应的是旋转电位计的电压值。器件地址:1001 000(R/W非)表示51单片机从PCF8591读数据;表示51单片机向PCF8591写数据;另外,光敏电阻的阻值变化,光线越强,阻值越低;光线越暗,组织越高。对应的电压值,光线越暗,AIN1的电压越低。光线越强,阻值越高。_pcf8591ain3

torch.where() RuntimeError: expected scalar type int but found float/double-程序员宅基地

文章浏览阅读521次。这个问题大多数是由于使用老版本torch导致的,github上有说这是某个版本的bug,再后续工作中已经进行了修复,要是非要使用该版本torch的话,我使用了一个比较笨拙的方法,写一个where代替torch.where()这个版本是xy不需要同维度的,不过肯定没有torch写的快,不过能运行了。这是复现muzic中的getmusic时遇到并解决的问题。_runtimeerror: expected scalar type int but found float

2024最新计算机毕业设计选题大全-程序员宅基地

文章浏览阅读1.6k次,点赞12次,收藏7次。大家好!大四的同学们毕业设计即将开始了,你们做好准备了吗?学长给大家精心整理了最新的计算机毕业设计选题,希望能为你们提供帮助。如果在选题过程中有任何疑问,都可以随时问我,我会尽力帮助大家。在选择毕业设计选题时,有几个要点需要考虑。首先,选题应与计算机专业密切相关,并且符合当前行业的发展趋势。选择与专业紧密结合的选题,可以使你们更好地运用所学知识,并为未来的职业发展奠定基础。要考虑选题的实际可行性和创新性。选题应具备一定的实践意义和应用前景,能够解决实际问题或改善现有技术。

随便推点

linux驱动开发:ft5x06的touch screen的IIC驱动程序编写_触摸屏a类协议和b类协议-程序员宅基地

文章浏览阅读2.8k次。触摸屏属于一个标注的input dev.所以我们按照输入子系统的流程来实现驱动开发。 实际板子与CTPM的通讯连接基于IIC总线,所以我们需要把驱动挂载到IIC总线下面去,也就是注册IIC驱动到iic_core.c中去。 实例化一个IIC设备有多种方式,仿照上一次的24cxx IIC设备的创建,我们来实现ft5x06IIC设备的创建。 因实际板子上TS IC使用的是ft5x02,所以先实例化设_触摸屏a类协议和b类协议

关于html中下拉菜单select的样式的改变_html设置select选择显示和下来显示怎么能不一致-程序员宅基地

文章浏览阅读5.2k次。关于html中下拉菜单select的样式的改变作者:菩提树下的杨过 日期:2006-06-12字体大小: 小 中 大 首先要告诉大家,如果你是用css的方法,除了箭头部分,其他都可以改变,这是很令人别扭的事,因为其他的样式改了,箭头部分改不了等于无用。下面举个css改select的例子 HTML代码 .box{border:1px solid#C0C0_html设置select选择显示和下来显示怎么能不一致

ZedBoard-自定义IP核实现+PS成功调用【详细步骤+流程介绍+源码】_zedboard教程-程序员宅基地

文章浏览阅读3.4k次。软件环境:WIN7_64 + ISE 14.4 (system_edition)硬件:Zedboard、USB-Cable线搭建图: 经过前几天的学习,查看数据手册、官方例程,笔者已经对Zedboard有了基本的了解,但是怎样才能充分发挥ZYNQ的优势呢?这个就不得不说下ZYNQ的基本架构了,它分为PS(Processing System)和PL(Progr_zedboard教程

使用H2O机器学习"十分钟"提交天池练习赛--工业蒸汽量预测,超过86%的队伍_练习赛-蒸汽数据集-程序员宅基地

文章浏览阅读430次。试用一下H2O全自动机器学习下载数据集天池练习赛"工业蒸汽量预测",下个数据集:https://tianchi.aliyun.com/competition/entrance/231693/introduction安装H2OH2O requirements:pip install requestspip install tabulatepip install ..._练习赛-蒸汽数据集

VxLAN-分布式网关_vxlan分布式网关实验-程序员宅基地

文章浏览阅读603次。vLSW1、vLSW2充当虚拟交换机,给数据添加vlan tag。由于模拟器PC不会主动发送ARP,需要用PC ping 网关地址。查看VPN实例中的路由,学习到32位主机路由。查看OSPF邻居是否建立,路由是否学习到。CE1上学习到32位主机路由(回城路由)查看BGP EVPN学习的5类路由。测试PC访问外部网络Server。查看BGP EVPN邻居关系。同子网,PC1 访问PC2。跨子网,PC1 访问PC3。查看EVPN的3类路由。查看EVPN的2类路由。查看3层VxLan隧道。查看VPN实例内路由。_vxlan分布式网关实验

mac读写硬盘的软件Tuxera NTFS2023免费版下载-程序员宅基地

文章浏览阅读545次。Mac用户在使用NTFS格式移动硬盘时,会遇到无法写入硬盘的情况。要想解决无法写入的问题,很多人选择使用Mac读写软件。面对市面上“众多”的读写硬盘软件,用户应该怎么选择呢?初次接触移动硬盘的伙伴可能不知道移动硬盘怎么和电脑连接,本文就来告诉大家mac读写硬盘的软件有哪些,mac如何使用移动硬盘。因为Mac电脑不能写入NTFS格式磁盘,但是多数用户使用的是NTFS格式的移动硬盘、u盘,因此很多NTFS for Mac软件应运而生。但是市面上很多NTFS for Mac软件很多,例如:Tuxera NTFS

推荐文章

热门文章

相关标签