NR/5G - Timing Advance

为什么需要Timing Advance?

UE通过基站下发的下行同步信号获得与基站的下行同步,后续通过基站下发的其他参考信号,维持与基站的同步。同时,基站也需要与UE进行上行同步,控制UE的发送信号位置使其接收到的UE信号在基站的期望范围之内。

如下图所示,基站和UE是通过preamble序列完成上行同步。不同UE由于距离基站的距离不同,因此在同步接收系统中,即基站期望各个UE的发送在同一时间点接收到,各个UE的发送提前量也不一样。

  

初始TA

在38.211协议中4.3.1节中的描述可以知道,UE发送的提前量是相对于下行定时而言的,Timing Advance由两部分组成。

UE发送的第一个上行信号是PRACH,对于PRACH的发送时间点,在38.211协议中5.3.2节有描述到,此时认为NTA = 0。

那么对于NTA,offset,该值n-TimingAdvanceOffset 可以在系统消息中配置。

如果n-TimingAdvanceOffset没有配置,在38.213协议4.2节中描述,又需要参照38.133协议中7.1.2节中的表格来确定该值。不过对于下面这个表格的描述,对于Note1中的描述,对于FR1使用的是默认值25600,但是对于表格第二列以及第一列中区分是否和LTE-NR共存,还没明白其中的含义。

时间单位说明

NR中的时间基本单位是Tc。

对于不同的子载波间隔,指示的实际调整量不一样,对于子载波间隔为(2^u)*15KHz,调整的基本单位是16*64*Tc/(2^u),

转换可以知道,调整的基本单位/颗粒度是16 Ts/2u

         

UE如何获取TimingAdvance Command?

第一个TA Command携带在MSG2中,即RACH Response(RAR)中。

RAR中的Timing Advance Command为12比特,表示的范围为 = 0, 1, 2, ..., 3846,对于子载波间隔为  (2^u)*15KHz,则对应于Preamble的初始TA值,其调整值为

在进入连接态之后,通过DL-SCH中的MAC CE携带Timing Advance Command。

该调整量是相对于上一次的调整量而言的,是一个相对值。

 调整量为正值,则代表还要继续提前发送,为负值则表示需要延后。

TA Command的生效时间,在Slot#n上接收到Timing Advance Command,那么在Slot#(n+k+1),k值的确定比LTE中的更复杂些,后续再学习总结。

TimeAlignmentTimer

在38.321中的5.2节中关于TA Timer维护,在MAC层会维护一个timeAlignmentTimer,该Timer为在commondedicated中均有配置,如果dedicated中配置且不为infinity,则使用dedicated中的配置,否则使用common中的配置

 

如果timeAlignmentTimer的值为infinity,则表示该timer为无限长,则在UE侧就无定时器超时之说了。

此时UE无法通过这个Timer来判断是否已经上行失步了,但是UE会一直进行下行定时的跟踪,下行能够正常接收,如果网络侧有数据到达需要发送给UE,那么都会有对应的上行发送,此时网络可以通过PDCCH order(UE下行接收正常)方式通知UE进行随机接入,进行上行同步。

### NR 5G PRACH Timing Advance Offset Configuration and Impact In the context of NR (New Radio), specifically within the framework of PRACH (Physical Random Access Channel) operations, timing advance plays a crucial role in ensuring proper synchronization between User Equipment (UE) and gNodeB. The initial uplink transmission from UE to gNodeB is through PRACH where it's assumed that NTA \( \text{Timing Advance} \)=0 at this point[^5]. However, as part of optimizing network performance and managing multi-path effects or large cell sizes, configuring a timing advance offset becomes necessary. The configuration parameters related to PRACH timing advance are primarily found in SIB1 messages which include details about RACH configurations specifying associations among SSB time indices, RACH opportunities, and specific preamble sets[^1]. These settings ensure efficient handling of access requests while minimizing collisions on the random access channel. For setting up a timing advance offset for PRACH transmissions: - **Configuration Parameters**: Within `RACH-ConfigCommon` IE under System Information Block Type1 (`SIB1`), there exists an element named `totalNumberOfRA-Preambles`. This parameter indirectly influences how UEs select preambles considering potential TA offsets. - **Impact Analysis**: Applying non-zero timing advance values impacts both coverage area and capacity planning aspects significantly. An increased value extends effective reach but may reduce system throughput due to longer round-trip times required for adjustments post-access attempt completion by UEs located further away from base stations. Additionally, when determining Point A followed by establishing BWP boundaries using locationAndBandwidth information, one must account for any predefined timing advance offsets during calculation phases involving Msg1-FrequencyStart relative positioning against BWP start points[^4]. #### Example Code Demonstrating Basic Setup Considerations Below demonstrates basic considerations for implementing such configurations programmatically; actual implementation would depend heavily upon vendor-specific APIs/interfaces provided with radio equipment software development kits. ```python def configure_prach_timing_advance_offset(ta_offset_value): """ Configures PRACH timing advance offset based on specified value Args: ta_offset_value (int): Desired timing advance offset in microseconds Returns: dict: Updated configuration dictionary including new TA offset applied """ config = { "rach_ConfigCommon": { "ssb_perRACH_OccasionAndCB_PreamblesPerSSB": ..., # Existing setup... "preambleReceivedTargetPower": ..., "powerRampingStep": ... }, "timingAdvanceOffset": ta_offset_value * 1e-6 # Convert us -> seconds } apply_configuration(config) return config def validate_and_apply_new_settings(new_config): """Validates updated settings before applying them.""" pass # Placeholder function representing validation logic ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值