LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置

2024-04-28 21:32

本文主要是介绍LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



转载  原文链接(http://blog.csdn.net/m_052148)

1.什么是前导码Preamble

前导码Preamble是UE在物理随机接入信道中发送的实际内容,由长度为Tcp的循环前缀CP和长度为Tseq的序列Sequence组成。

2.前导码Preamble格式 

LTE-TDD的前导码有5种格式,分别是Preamble Format 0/1/2/3/4,如下图所示。


从上面协议给出的这张表格中,可以推导出以下几个信息:

(1)每种前导码格式占用的子帧个数。因为TDD-LTE的每个子帧时长是30720Ts,从表中可以得出,前导码格式0的Preamble时间=3168Ts+24576Ts=27744Ts<30720Ts,只需要占用1个上行子帧,同样可以计算得到,前导码格式1、2需要占用2个上行子帧,前导码格式3则需要占用3个上行子帧才能发完。特殊地,前导码格式4只能在UpPTS中使用,即LTE-FDD没有格式4。示意图如下。


(2)每种前导码支持的最大小区半径。因为每个子帧的长度是30720Ts,去掉前导码占用的时间,那么前导码格式0还剩下的保护时间GT=(30720-3168-24576)Ts=2976Ts=2976*[1/(15000*2048)]s=96.875us。之所以空出一部分的保护间隔,在于随机接入之前,UE还没有和eNB完成上行同步,UE在小区中的位置还不确定,因此需要预留一段时间,以避免和其他子帧发生干扰。考虑eNB和UE之间的往返传输,因此最大小区半径=(3.0*10^8) m/s * 96.875 us / 2 =  14.53 km。同理,可以计算得到其他前导码格式的最大小区覆盖半径。因此,不同的小区覆盖半径,可以选择不同的前导码格式。这也是为什么前导码要分不同格式的原因。

(3)每种PRACH的持续时间。比如Preamble格式0,它的前导码持续时间=(3168+24576)Ts=0.9031ms,这与协议36101-6.3.4.2.1的数据相符。同时,从这个持续时间也可以印证每种前导码格式所占的子帧个数。

(4)前导码格式4的使用。上面的表中可以看到,格式4的前导码时长=(448+4096)Ts=4544Ts。协议明确规定,格式4只能在4384Ts或5120Ts的UpPTS上传输。36211-Table4.2-1给出了各种特殊子帧配置下的Ts长度。从表格中可以看到,当下行CP=上行CP=normal CP的时候,特殊子帧配置5、6、7、8配置的UpPTS时长满足条件;当下行CP=上行CP=extended CP的时候,特殊子帧配置4、5、6配置的UpPTS时长满足条件。


特殊子帧配置Special subframe configuration参数在SIB1的TDD-Config信元中,如下图。


UE在解码SSS(Secondary Synchronization Signal,辅同步信号,以后再写这块内容)的时候,可以确定下行normal CP值。SIB中的ul-CyclicPrefixLength参数用于配置上行CP类型。一般情况下,上行和下行的CP类型相同。


需要注意的是,当CP类型为normal时,UpPTS的长度=4384Ts<格式4的前导码时长4544Ts,所以协议规定了,前导码格式4时,Preamble数据从UpPTS结束前的4832Ts处开始,因此这个时候需要占用部分GP(Guard Period)时间。如下图所示。可以推导出,格式4的小区最大覆盖半径是(4832-4544)Ts*(3.0*10^8)/2=1.406km。


经过上述几个步骤的推导和说明,可以整理得到下面这个表格。

上面已经说过,不同的GT保护时间决定了小区的最大覆盖半径,GT时间越长,小区的覆盖面积越大,这个结论从下图这张示意图中也可以看出来。三个不同位置的UE1/2/3同时向eNB发送前导码,那么eNB首先会收到近端UE1的请求,最后收到UE3的前导码。如果有个UE4,距离比UE3还要远,此时eNB无法收到完整的前导码,UE4将无法接入到该小区。


3.UE和eNB确定当前使用哪种前导码

PRACH configuration Index参数决定了前导码的格式。从协议表格Table 5.7.1-3中可以看到,PRACH configuration Index值为0~19时,使用Preamble Format 0;PRACH configuration Index值为20~29时,使用Preamble Format 1;PRACH configuration Index值为30~39时,使用Preamble Format 2;PRACH configuration Index值为40~47时,使用Preamble Format 3;PRACH configuration Index值为48~57时,使用Preamble Format 4。


因为PRACH configuration Index参数来自于RRC层的SIB2消息(36331协议),所以UE和eNB侧都会有同样的一套参数。PRACH configuration Index的具体参数路径是:SystemInformationBlockType2->radioResourceConfigCommon->RadioResourceConfigCommonSIB->prach-Config->PRACH-ConfigSIB->prach-ConfigInfo->prach-ConfigIndex


4.UE会在什么时候什么位置发Preamble

UE发送前导码的时刻和位置由PRACH configuration Index参数(范围0-63,具体路径见前文)和上下行子帧配置UL/DL configuration参数共同决定。UL/DL configuration参数同样来自于RRC层的SIB1消息(36331协议),具体参数路径是:SystemInformationBlockType1->tdd-Config->TDD-Config->subframeAssignment


36211-Table5.7.1-4给出了前导码的位置与PRACH configuration Index和UL/DL configuration两个参数之间的关系,因该表占篇幅较大,只截图部分,不影响理解。


从Table5.7.1-4中可以看到,根据PRACH configuration Index和UL/DL configuration参数,可以获取一个或多个四元素数组,分别对应参数(f_RA, t0_RA, t1_RA, t2_RA)。

t0_RA表示PRACH出现的帧位置,=0表示出现在所有的无线帧中,=1表示出现在偶数无线帧,=2表示出现在奇数无线帧。

t1_RA表示PRACH出现的帧内位置,=0表示PRACH资源是位于第一个半帧,=1表示位于第二个半帧。

t2_RA表示前导码开始处的上行子帧号,在两个连续上下行切换点间的第一个上行子帧表示为0。即2号子帧和7号子帧值=0。上下行子帧配置等于0时,t0_RA/t1_RA/t2_RA三个参数的含义如下图所示。


f_RA是一个频率位置系数,用于计算PRACH占用的RB起始位置n_RA_PRB。PRACH固定占6个RB,因此LTE支持的带宽不能少于6个RB(Each random access preamble occupies a bandwidth corresponding to 6 consecutive resource blocks for bothframe structures.)。有了n_RA_PRB这个参数,就可以知道PRACH在频域上的位置[n_RA_PRB,n_RA_PRB+5],有了t0_RA/t1_RA/t2_RA这三个参数,UE就可以知道在哪个子帧发送PRACH,eNB也会去相应的子帧上盲检测PRACH信息。对于有多个四元素数组的情况,eNB需要对每个可能的位置进行盲检测

计算PRACH起始RB位置n_RA_PRB的公式如下:


公式中的各参数说明:

(1)n_RA_PRBoffset由RRC的prach-FreqOffset(范围0~94)参数决定,与PRACH configuration Index参数属于同一个结构体,因此获取参数路径也是相同:SystemInformationBlockType2->radioResourceConfigCommon->RadioResourceConfigCommonSIB->prach-Config->PRACH-ConfigSIB->prach-ConfigInfo->prach-FreqOffset

(2)f_RA、t1_RA直接从Table5.7.1-4的四元素组中查表获得。

(3)N_UL_RB是带宽RB个数,与DL_bandwidth值相同,如果是20M带宽,则值=100。

(4)N_SP是下行向上行切换点的点数,与上下行子帧配置UL/DL configuration参数相关,因此只有前导码4才会用到。比如上下行子帧配置1,那么N_SP=2,因为在子帧1和子帧6完成了2次下行向上行的切换。只有在上下行子帧配置3、4、5的时候,N_SP=1。


(5)n_f表示当前的系统帧号。

至此,UE和eNB就可以明确的知道PRACH的发送/接收位置了。以带宽20M,prach-FreqOffset=0,PRACH configuration Index=9,UL/DL configuration=2举例说明,此时(f_RA, t0_RA, t1_RA, t2_RA)有三种值,分别是(0,0,0,0),(0,0,1,0)和(1,0,0,0)。

对应的频域位置:

f_RA=0时,n_RA_PRB=0+6*0=0,

f_RA=1时,n_RA_PRB=100-6-0-6*0=94。

对应的时域位置:

(0,0,0,0):PRACH占用从k=0开始到k=5的连续6个RB块,时域L是每个无线帧的2号子帧。

(0,0,1,0):PRACH占用从k=0开始到k=5的连续6个RB块,时域L是每个无线帧的7号子帧。

(1,0,0,0):PRACH占用从k=94开始到k=99的连续6个RB块,时域L是每个无线帧的2号子帧。即PRACH的位置如下图。

为避免PRACH与其他UE的上行业务RB冲突,eNB调度PUSCH时可以避开PRACH占用的可能RB位置。另外,为了减少盲检测处理时长,可以选择只有一种四元素数组的配置。

5.参考文献

(1)3GPP TS 36.211 V9.1.0 (2010-03) Physical Channels and Modulation

(2)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)

(3)3GPP TS 36.101 V9.14.0 (2012-12) User Equipment (UE) radio transmission and reception

(4)http://www.sharetechnote.com

(5)http://lteuniversity.com/get_trained/expert_opinion1/b/hongyanlei/archive/2010/12/21/cell-size-configuration-in-random-access-procedure-i-preamble-format.aspx

这篇关于LTE-TDD随机接入过程(2)-前导码Preamble的格式与时频位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944309

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知