代码改变世界

4G EPS 中的随机接入

2019-12-17 17:48  云物互联  阅读(1937)  评论(0编辑  收藏  举报

目录

前文列表

4G EPS 中的小区搜索
4G EPS 中的 PLMN 选择
4G EPS 中的小区选择

UE 的随机接入

在 UE 选择了合适的小区进行驻留以后,必然要接入到所选择的蜂窝网络中,完成用户信息的初步注册。初始的随机接入(Random Access Procedure)过程便随之而来。在小区搜索过程中,UE 通过 SIB2 得到接入前的诸多信息,Preamble(前导码)资源,PRACH(物理随机接入信道)资源等,这些都是随机接入必要的资源。

由于 UE 的随机性、无线环境的复杂性决定了这种接入的发起以及采用的资源也具有随机性,故称之为随机接入。UE 通过随机接入过程与 eNB 建立连接并取得上行同步,以及申请上行资源,UE 才能进行上行传输。随机接入是 UE 与网络侧(e.g. MME)建立通信连接的前提。可见,随机接入的性能直接影响到用户体验,所以要提出能够适应各种应用场景、快速接入、容纳更多用户的方案。

UE 进行随机接入的作用

  1. 建立上行链路同步(TA)
  2. 申请上行资源(UL_GRANT)
  3. 获得唯一 UE 临时标识 C-RNTI(小区 RNTI,由主控 RNC 分配,供 UE 接入新的小区)

根据业务触发方式的不同,随机接入可分为

  • 基于竞争随机接入(Contention based random access procedure)
  • 基于非竞争随机接入(Non-Contention based random access procedure)

重要的参数

  • BI(Backoff Indicator):回退参数,当在接收 RAR 的时候,在 RAR 时间窗口内如果没有接收到 RAR 消息时,表示 RAR 失败,这个时候,终端会在 0~BI 值之间选取一个数值,等待后再次发起接入。如果在随机接入过程中,在 MSG4 接收失败后,也是用这个 BI 值作为等待接入时间。
  • UL Grant:上行授权,指定了分配给 MSG3 的上行资源。
  • TC-RNTI:临时 RNTI,用来解 MSG3,后续随机接入完成后,会升级成 C-RNTI。
  • UE Contention Resolution Identity:MSG4 中携带的 48bits 的 MAC 控制元素,当终端检查到其与自己存储的一致,表示竞争决议完成,整个随机接入过程结束。

基于竞争的随机接入流程

所谓 “竞争”,指的是多个 UEs 在同个子帧、使用了同样的 PRACH(物理随机接入信道)资源,向 eNB 发送了同样的前导码序列,并希望得到 eNB 的资源授权,但此时 eNB 无法知道这个请求是哪个 UE 发出的,因此后续各 UE 需要通过发送一条只与自己相关的、独一无二的消息(MSG3),以及 eNB 收到这条消息后的回传(MSG4)到 UE,来确认当前接入成功的 UE 是哪一个。这种机制就是竞争解决机制

当 eNB 不知道 UE 的业务或者状态,而 UE 又必须申请上行资源或上行 TA 同步的时候,UE 就需要发起竞争随机接入。这种情况下,eNB 没有为 UE 分配专用的 Preamble 码,而是由 UE 在指定范围内随机选择 Preamble 码并发起随机接入过程。

基于竞争的随机接入场景

  • UE 的初始接入(Initial access from RRC_IDLE)。此时 UE 侧 RRC 层的状态为 RRC_IDLE,UE 需要 CONNECTION REQUEST,而 eNB 无法知道,因此需要 UE 执行竞争随机接入过程。
  • UE 的重建(RRC Connection Re-establishment procedure)。重建的原因有多种,比如 UE 侧的 RLC 上行重传达到最大次数,就会触发重建,此时 eNB 也不知道 UE 的重建状态,也需要 UE 执行竞争随机接入过程。
  • UE 有上行数据发送,但检测到上行失步(UL data arrival during RRC_CONNECTED requiring random access procedure when UL synchronisation status is “non-synchronised”)。这个情况与初始接入类似,eNB 无法知道 UE 什么时候有上行业务要做,因此需要 UE 执行竞争随机接入过程。
  • UE 有上行数据发送,但没有 SR 资源(UL data arrival during RRC_CONNECTED requiring random access procedure when there are no PUCCH resources for SR available")。一般的,如果没有 UL_GRANT 用于发送 BSR,UE 会通过 SR 发送上行资源申请,但如果也没有 SR 资源,则只能通过竞争随机接入过程申请 UL_GRANT。此时,eNB 显然也不知道 UE 是否有上行数据发送。
  • 如果非竞争接入过程中,eNB 发现没有了非竞争资源,此时也会转到竞争接入过程(定位过程除外)
    • 切换(Handover)。切换是由 eNB 侧发起的,因此优先执行非竞争随机接入过程。
    • eNB 有下行数据发送,但检测到上行失步(DL data arrival during RRC_CONNECTED requiring random access procedure when UL synchronisation status is “non-synchronised”)。eNB 侧可以由 MAC 和 RRC 配合处理,优先执行非竞争随机接入过程。
    • RRC CONNECTED 态下需要执行定位过程,但 UE 此时并没有 TA(For positioning purpose during RRC_CONNECTED requiring random access procedure when timing advance is needed for UE positioning)。本过程只能进行非竞争随机接入。

在这里插入图片描述

基于竞争的随机接入流程

在这里插入图片描述

  1. UE 向 eNB 发送前导码:UE 端通过在特定的时频资源上,发送可以标识其身份的 Preamble 序列,进行上行同步。

随机接入前导序列码集合是由 PHY 生成的最大数目为 64 个 Zadoff-Chu 序列及其移位序列组成。eNB 侧的 RRC 会分配部分或全部 Preamble 序列的索引值用于竞争随机接入,并通过系统信息 SIB2 广播到 UE。UE 随机接入需要的 PRACH(物理随机接入信道)物理信道资源,如:PRACH 个数和时频位置等,也由 RRC 通过系统消息 SIB2 广播到 UE。UE 侧的 RRC 收到 SIB2 后,解析出其中的 Preamble 信息并配置到 MAC,由 MAC 根据路损等信息在 Preamble 集合中随机选择一个 Preamble 索引配置给 PHY,PHY 根据 MAC 的 Preamble 索引,通过查表/公式生成有效的 Preamble ZC 序列并发送到 eNB。

每个小区可用的 Preamble 码总数不超过 64 个,在所有用于竞争随机接入的 Preamble 码中,eNB 侧的 RRC 可以选择性的将其分为 2 组:GroupA 和 GroupB。UE 触发随机接入的时候,需要根据待发的 MSG3 大小和路损大小确定 Preamble 码集合(If both groups are configured the size of message 3 and the pathloss are used to determine which group a preamble is selected from)。其中,GroupB 用于 MSG3 较大而路损较小的场景,GroupA 用于其它不适合 GroupB 的场合。那么如何衡量 MSG3 和路损是大还是小,这些值衡量的门限参数是由 eNB 在 SIB2 信息中通知给 UE 的。UE 确定 Preamble 码使用集合 A 或 B 后,从该集合中随机选择一个 Preamble 码发送。

如果 eNB 将小区内所有的 Preamble 码都划归为 GroupA(即 SIB2 中配置的总 SIZE=GroupA SIZE ),则 UE 直接从 GroupA 中随机选择一个 Preamble 码发送。eNB 侧 RRC 配置的 GroupA SIZE 和 Group total SIZE 一般可以由管理工具配置,不需要 RRC 代码静态分配,UE 侧 RRC 根据 GroupA SIZE 和 total SIZE 即可计算出 GroupB 的 SIZE。

UE 根据从 SIB2 中获取到的信息,生成随机接入前导 Preamble 序列,并在 PRACH 信道的相应随机接入资源上发起随机接入。 此时 UE 并不知道 eNB 与 UE 之间的距离,为避免对其它用户干扰,Preamble 序列设计时,后面会有一个 GT 保护间隔。

  1. eNB 向 UE 发送 MSG2:eNB 在对应的时频资源对 Preamble 序列进行检测,完成序列检测后,发送随机接入响应。

eNB 会在 PRACH 中盲检测前导码,如果 eNB 检测到了随机接入 MSG1 的前导序列码(Radom Access Preamble),则上报给 MAC,后续会在随机接入响应窗口内,在 PDSCH(物理下行共享信道)中反馈 MAC 的随机接入响应(Radom Access Response)。想解码 PDSCH 信道内容,首先需要 UE 先通过 RA-RNTI 解码出 PDCCH(物理下行控制信道)资源分配信息,然后继续解码 PDSCH 信道的内容。而 RA-RNTI 是由承载 MSG1 的 PRACH 时频资源位置确定的,UE 和 eNB 均可以计算出 RA-RNTI 值,因此空口中并不需要传输 RA-RNTI。

随机接入响应窗口的起点是与 MSG1(RA Preamble),间隔 3 个子帧,长度为 2-10ms,由 eNB 的 RRC 配置,并通过系统信息 SIB2 发送到 UE。MSG2(RA Response)消息中包含:MSG1 中的 RA Preamble(供 UE 匹配操作)、UE 上行定时提前量 TA(11 位,粗调)、backoff 回退参数(重新发起 Preamble 码应延迟再次接入的时间)、为传输 MSG3 分配的 PUSCH 上行调度信息 UL_Grant(包括是否跳频、调制编码率、接入资源和接入时刻等内容)、Temple C-RNTI(供 MSG3 加扰使用)。

MSG2(RA Response)是一个独立的 MAC PDU,在 DL-SCH 中承载。一个 MSG2 中可以包含多个 UE 的 Preamble,即响应多个 UE 的随机接入请求。UE 通过检测 MSG2 中是否携带了其发送的 Preamble 码来标识是否收到了 eNB 的随机接入响应,但此时还没有完成竞争解决,并不表示此次 eNB 侧的应答就是针对本 UE 的应答。

  1. UE 向 eNB 发送 MSG3:UE 端在发送 Preamble 序列后,在后续的一段时间内检测 eNB 发送的随机接入响应。UE 在检测到属于自己的随机接入响应之后,该随机接入响应中包含 UE 进行上行传输的资源调度信息。

UE 根据 RA Response 中的 TA 调整量可以获得上行同步,并在 eNB 为其分配的上行资源中传输 MSG3,以便进行后续的数据传输。

MSG3 的初始传输是唯一通过 MAC 层 MSG2 消息指示的上行数据动态调度传输,当随机接入过程完成后,其他动态调度上行初始传输都是通过 DCI0 进行资源分配指示。MSG3 消息开始支持 HARQ 过程,重传的资源和位置通过 Temple C-RNTI 加扰的 DCI0 告诉 UE。

MSG3 可能携带 RRC 建链消息(RRC Connection Request),也可能携带 RRC 重建消息(RRC Connection Re-establishment Request )。如果有 L3 的消息,那么 MAC 需要保存该 CCCH SDU 信息,因为 eNB MAC 发送 MSG4 的时候需要将 UE 的这个 CCCH SDU 信息回发给 UE,当做竞争解决标识(UE Contention Resolution Identity)使用,以便完成最终的竞争解决。

  1. eNB 向 UE 发送 MSG4:eNB 发送冲突解决响应,UE 判断是否竞争成功。

在这里插入图片描述

(1)对于初始接入和重建的情况,MSG4 中的 MAC PDU 会携带竞争解决标识(UE Contention Resolution Identity,即 MSG3 中的 CCCH SDU、RRC Connection Request、RRC Connection Re-establishment Request 等消息)。UE 在解码 TC-RNTI 加扰的 PDCCH 信道后(The Temporary C-RNTI on PDCCH for initial access and after radio link failure),继续在 PDSCH 信道中获取 MSG4 的 MAC PDU 内容,解码成功后,与 UE 之前在 MSG3 中发送的 CCCH SDU 进行比较,二者相同则竞争解决成功(因为不同的 UE,其标识不同)。此时 MSG3 的 MAC-CE 中不会携带 CRNTI 字段,对于重建而言,CCCH SDU 中则会携带 CRNTI 信息,RRC 据此区分不同的 UE。竞争解决后,TCRNTI 转正为 CRNTI(The Temporary C-RNTI is promoted to C-RNTI for a UE which detects RA success and does not already have a C-RNTI; it is dropped by others.)
(2)对于切换、上/下行数据传输但失步等其他场景进行的竞争随机接入场景,此时因为 UE 已经分配了 C-RNTI,在 MSG3 的 MAC-CE 中会将 C-RNTI 通知到 eNB,因此 eNB 使用旧的 C-RNTI 加扰的 PDCCH 调度 MSG4,而不使用 TCRNTI 加扰 MSG4(The C-RNTI on PDCCH for UE in RRC_CONNECTED)。UE 解码出 PDCCH 调度命令的时候表示完成竞争解决,MSG4 中的具体内容已经与竞争解决无关。这时,MSG2 中由 eNB 分配的 TC-RNTI 失效,后续由 eNB 继续分配给其它 UE 使用(A UE which detects RA success and already has a C-RNTI, resumes using its C-RNTI.)。因此,此种场景 MSG4 中不包括 UE 竞争解决标识。

MSG4 消息也支持 HARQ 过程,UE 通过 PUCCH 指示 ACK,eNB PHY 收到 ACK 后报给 MAC。只有成功完成竞争解决的 UE 才反馈 ACK。

在这里插入图片描述

  • MSG1:更多集中于 Preamble 码的产生和发送。
  • MSG2:是独立的 MAC PDU(Protocol Data Unit,协议数据单元),内容很丰富,包括 backoff 参数,与 MSG1 对应的 Preamble 码,上行传输定时提前量,为 MSG3 分配的上行资源,临时 C-RNTI 等等。当 UE 接收 MSG2 失败后,会根据 backoff 参数重新发起接入;一条 MSG2 可同时响应多个 UE 的随机接入请求;
  • MSG3:RRC connection request 消息。其应用场景也很多,比如是初始接入,还是重传,或者是切换等等;
  • MSG4:RRC connection complete 消息,RRC 连接完成,竞争接入完成。

基于非竞争的随机接入流程

非竞争随机接入是 UE 根据 eNB 的指示,在指定的 PRACH 信道资源上使用指定的 Preamble 码发起的随机接入,所以不存在竞争。

基于非竞争的随机接入场景

  • 切换(Handover)后,接入新小区。
  • eNB 有下行数据发送,但检测到上行失步(DL data arrival during RRC_CONNECTED requiring random access procedure when UL synchronisation status is “non-synchronised”)
  • 定位过程

基于非竞争的随机接入流程

在这里插入图片描述

  1. eNB 向 UE 发送特定的随机接入前导码(RA Preamble assignment):eNB 根据此时的业务需求,给 UE 分配一个特定的 Preamble 序列(该序列不是 eNB 在广播信息中使用的随机接入序列组)。

eNB 向 UE 发送非竞争随机接入过程需要的 Preamble 码和 PRACH 信道接入资源。若此时前导码资源不够,eNB 只能通知 UE 发起竞争随机接入,方式是将 PDCCH 格式 1a 中的 Preamble index 设置为全 0,UE 解码出的 Preamble Index 全 0 后,会执行基于竞争的随机接入过程。

对于切换,非竞争前导码通过切换命令发到 UE;而其他的两种场景,需要通过 CRNTI 加扰的 DCI1A 发到 UE。

  1. UE 向 eNB 发送 Preamble 码:UE 接收到信令指示后,在特定的时频资源发送指定的 Preamble 序列。

如果指定了多个 PRACH 信道资源,UE 在连续三个可用的、有 PRACH 信道资源的子帧中随机选择一个指定的 PRACH 信道资源用于承载 MSG1。eNB 侧 MAC 处理过程同基于竞争的随机接入过程。

  1. eNB 向 UE 反馈随机接入响应(Radom Access Response):eNB 接收到随机接入 Preamble 序列后,发送随机接入响应,进行后续的信令交互和数据传输。

eNB 侧 MAC 处理过程同基于竞争的随机接入过程。

在这里插入图片描述

  • MSG0:指示了 UE 所需的 PRACH 资源以及 Preamble 码,这就是和竞争接入最大的区别所在。这个场景在切换过程中是必现的。

PRACH(物理随机接入信道)

在 UE 随机接入过程中,随机接入前导码(Preamble)是必不可少的。每个小区(Cell)有 64 个 preamble 序列,也称随机码,UE 会选择其中一个做随机接入。而前导码,就是在 PRACH 上传播的,所以说,Preamble 确定了的话,那就需要确认 PRACH 资源了。

在这里插入图片描述

  • prach-ConfigurationIndex:PRACH 配置索引​
  • prach-FrequencyOffset:PRACH 频偏

这两个参数指示了 PRACH 的频域资源索引、时域的无线帧、半帧、子帧的资源占用情况。该参数确定后,小区的时、频资源即可确定。这里面涉及到四元组,清晰的给出了 PRACH 的时频位置:

在这里插入图片描述

  • t(0)RA, t(1)RA, t(2)RA:这三个参数决定了 PRACH 在时间上的位置。

    • t(0)RA = 0,1,2,:表示随机接入资源出现在所有的无线帧(20ms),还是奇数帧(10ms),或者偶数帧(10ms);
    • t(1)RA = 0,1,:表示随机接入资源出现在前半帧还是后半帧;
    • t(2)RA:表示上行子帧的开始,配置 1,每半帧(5ms)有两个上行子帧,就以 0,1 标识;配置 2,就只有一个上行子帧,所以也就只有 0 了。
  • fRA:在 prach-FrequencyOffset 的基础上指示同一时刻内频分的各个 PRACH 信道的频率位置;该参数给出了普通上行子帧 PRACH 所在的第一个物理块的索引。毫无疑问,这个参数指引了在频域上,PRACH 应该位于的位置;从资源的角度看,首先考虑的是时域,如果时域上满足不了的情况下,才会考虑在频域上再分资源。

下面的公式给出了前导码格式 0-3 的复用规则:

在这里插入图片描述

从公式可以清楚看到,PRACH 所占用的 6 个 PRB,都是以 offset 为基准,位于上行频带的两边。​

简单而言,UE 通过 SIB2,了解到时频资源,以及前导码的信息,这时候,UE 就选择合适的 PRACH 资源来发送 Preamble,eNB 会检查所有的 Preamble,就会知道 UE 具体发送的情况。而对于 PRACH 的格式,下图比较清楚的展示:

在这里插入图片描述

至此,UE 拿到了足够的资源了,是时候发起随机接入了。

上行 TA(时间提前量)

在随机接入过程中,MSG2 有个重要参数,那就是 TA。TA 在整个上行同步的过程中,维护着整个秩序,保持着接入 UE 的和谐状态,可见其重要性。

为什么需要 TA(时间提前量,Timing Advance)?终究还是需要消除上行干扰,保证上行传输的正交性,使得上行中各个 UE 互不干扰。那 eNB 是如何保证呢?只要同一子帧中,不同 RB 资源,或者说这些 RB 分配给的不同 UE,能够同时到达 eNB,至少是落在 CP 时间内,那这样的情况,就可以最大程度的避免干扰。所以,eNB 就要很好的控制每个 UE 到达的时间点,那就需要一个时间偏移值通知到终端侧,让终端知晓什么时候发送上行信号或数据。最简单的情况,终端离开 eNB 较远,就要比近的终端提前发送数据,这样才能保证是同时到达基站的。所以,当 eNB 接收到 MSG1 后,变化实际计算出 TA 值,并在 MSG2(RAR)里面发送给终端。36.321 6.1.5 章节,对 MAC RAR 的 PDU 做了介绍,TAC 总共是 11bits,如下图所示。TA 本身取值是 0~1282,其颗粒度是 16Ts = 0.52us。

在这里插入图片描述

显然,TA 是和 UE 到 eNB 的远近有关。越远,需要提前的越厉害。但即使经过随机接入中的初始上行同步后,在随后的时间内,由于各种原因,比如多普勒频移,高速运动,切换等等,必定会漂移,所以需要再次修正TA值,这是一个闭环系统。