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

相关文章

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

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 读写分离核心价值二