- 5G无线增强设计与国际标准
- 刘晓峰 沈祖康 王欣晖 魏贵明 高秋彬 徐晓东
- 11007字
- 2021-03-31 18:43:13
2.1 2步随机接入
2.1.1 基本原理及应用场景
传统的基于竞争的随机接入至少需要4个步骤,称为4步随机接入(4-Step RACH)[4]。4步RACH包含两次基站和终端用户间的信息交互。其中在第一次交互中,用户在PRACH上发起上行的随机接入请求(Msg1),包含一个前导序列,基站根据接收到的前导序列计算出用户的定时偏差并通过下行信道反馈随机接入响应(Msg2)给用户,包含下一次交互的同步和调度信息等。接下来在第二次交互中,用户将包含用户ID或来自核心网的用户标志的Msg3信息根据调度所指示的定时提前、资源分配、功控等信息进行调整并发送给基站,最终基站正确接收之后通过该ID加扰的Msg4反馈给用户。如果加扰ID与用户ID相匹配,且Msg4的DL-SCH上传输的竞争解决ID MAC Control Element与Msg3中传输的CCCH SDU匹配,则完成随机过程,达到上行同步并进入RRC连接态,在后续的数据传输中使用此ID作为该用户在小区内唯一的网络标识(C-RNTI)。
4步RACH的流程能够保证接入的可靠性较高,但是由于其要求用户和基站之间进行两次交互,因此在接入效率方面并不是一种最优的方式。例如,在小区覆盖半径较小的情况下,特别是对于高频段或者非授权频谱的场景,用户和基站的距离较近,一般来说往返的传输时延(RTT)不会超过一个循环前缀(CP)的长度。例如,在比较典型的500m站间距(ISD)条件下,最大的RTT为1.92μs,分别小于15kHz和30kHz子载波间隔对应的CP长度4.7μs和2.4μs。在这种情况下,即使不做定时提前,Msg3的传输也可以被认为是同步的,不会产生符号间干扰,因此可以省去第一步的交互。再比如在某些RTT特别大的场景,例如,低轨卫星通信,卫星的轨道高度范围为300~1500km,如果需要两次交互,仅仅传输的时延就高达2~10ms,如果能够节省一次交互,接入时延将降低一半,可以极大地改善用户体验。其他的典型场景还包括NR在非授权频谱的应用(NR-U,见第9章),NR-U中由于频谱资源与其他系统(如不同运营商的NR-U系统,或者Wi-Fi系统)共享,因此每次传输之前都需要进行一个先侦听后传输(LBT)的过程,如果LBT失败则不能进行数据传输。显然在接入的过程中交互的次数越少,需要的LBT次数也会相应降低,那么整个随机接入成功的概率就会大大增加。
基于以上考虑,3GPP在R16阶段进行了随机接入的增强,即2步随机接入。基本思路如图2-1所示,通过将原本4步RACH中的两个上行信道Msg1和Msg3合并为新的MsgA,以及将两个下行信道Msg2和Msg4合并为新的MsgB,整个RACH过程简化为只需要两步就可以完成。2步RACH可以显著地降低随机接入过程中的时延、信令开销以及功耗,但同时也会引入一些额外的问题,比如原本Msg3承载的用户接入所需的控制信息,其PUSCH资源是基于基站下发的Msg2调度的,因此选择不同前导资源的用户可以被分配到正交的PUSCH资源上进行Msg3的传输。而对于2步RACH来说,在传输MsgA之前是没有基站调度信息的,所以整个MsgA传输都是基于竞争的,包括承载前导信息的MsgA PRACH和承载控制信息的MsgA PUSCH。对于上述问题,主要有两种思路,一种是通过资源换取效率,即在预分配MsgA资源的时候,不同的前导序列会映射到不同的PUSCH资源,这样可以保证选择不同前导的用户其PUSCH的传输是正交的。另一种则是允许用户采用非正交的方式复用,类似非正交多址(NOMA)的概念,通过发射端的一些低码率处理,以及在接收端采用迭代干扰消除技术,在不增加资源开销的情况下也能保证传输性能。关于NOMA的更多介绍见2.2节。
图2-1 基于竞争的随机接入过程
2.1.2 整体流程
通常为了平衡接入效率和可靠性,满足用户在各种条件下的接入需求,同一个小区一般会同时配置2步RACH和4步RACH的资源,在这种情况下,基于竞争的随机接入整体流程如图2-2所示。
图2-2 随机接入整体流程
1. 随机接入类型选择
用户在发起随机接入之前首先需要确定随机接入的类型。一般来说,小区中心用户到基站的RTT较小,不需要做定时提前,并且信道质量较好,有利于PUSCH的解调。因此UE会根据一个RSRP的门限来选择首次随机接入所使用的类型,如果RSRP大于该门限则选择2步RACH,该门限由基站在系统消息里面配置。
2. 重传
对于2步RACH来说,以下两种情况会触发MsgA的重传。
(1)MsgA的前导序列并未被检测到,此时基站无法反馈MsgB,或是用户在检测窗内没有正确接收到该前导序列对应的MsgB RAR,用户需要进行MsgA的重传并抬升发送功率。
(2)MsgA的前导序列被成功检测,但是基站反馈的MsgB包含的是另外一个用户的控制信息,表明此时有多个用户使用了相同的前导序列,竞争失败的用户也需要执行MsgA的重传并抬升发送功率。
需要注意的是,用户一旦选定了接入类型,在该随机接入的进程结束之前都会优先采用相同的接入类型进行重传,除非当2步RACH的MsgA重传次数达到一定阈值,会触发RA类型的切换,即切换到4步RACH进行Msg1的重复尝试,该阈值也是由基站在系统消息中配置的。有关重传过程中的功率控制细节见2.1.5节。
3. 回退机制
对于2步RACH来说,除了上述因重传达到一定次数切换到4步RACH以外,还规定了一种从2步到4步的回退机制。该回退机制的触发条件是当MsgA中的前导序列能够被正确检测,但是PUSCH消息解调失败,此时基站可以反馈一个FallbackRAR,类似于4步RACH中的Msg2,用来调度Msg3的发送。
需要注意的是,虽然是从MsgA回退到Msg3的传输,从总体需要的传输次数来看是变成了4步传输,但是该RACH进程名义上仍然是属于2步RACH的进程,如果回退之后因Msg3发送失败而发生重传,需要优先采用2步RACH进行MsgA的重传。
4. 随机接入过程完成
当用户发送的MsgA被成功检测,并且基站反馈的MsgB包含的是该用户的SuccessRAR,该用户则反馈一个成功接收MsgB的HARQ-ACK信息,同时标志其已成功完成随机接入过程。
2.1.3 MsgA PRACH
当用户发起一个2步RACH的进程,首先会触发MsgA PRACH的传输。与4步RACH中的Msg1类似,MsgA PRACH的传输配置包含PRACH传输机会(RO)的时频资源配置,以及每个RO上可以承载的前导序列配置。PRACH传输机会的配置候选集与4步RACH保持一致,前导序列的生成方式以及格式也沿用了R15 38.211中4步RACH的设计[5],这里不再赘述。
对于PRACH的资源有以下两种配置方式:(1)2步RACH的时频资源独立配置;(2)2步RACH与4步RACH共享RO资源,通过不同的前导资源来区分。
1. 独立配置
独立配置下2步RACH的RO配置继承了4步RACH的配置方式,如图2-3所示。
图2-3 PRACH时频资源配置
主要的配置参数及其说明如下。
(1)PRACH配置周期:以无线帧(Frame)为单位,由周期x和偏移值y决定,即在帧号nSFNmodx=y处配置PRACH资源;取值范围为{1,2,4,8,16}。
(2)子帧(Subframe)位置及个数:决定PRACH资源在每个无线帧内时域的分布密度;每个子帧内可能包含1个或者2个PRACH时隙(Slot)。
(3)PRACH时隙内的RO分布,包含内容如下。
• 时域第一个RO的起始位置,以符号(Symbol)为单位。
• 时分复用(TDM)的连续RO个数。
• 频域第一个RO相对于该频带(BWP)的起始位置,以资源块(RB)为单位。
• 频分复用(FDM)的连续RO个数。
• 每个RO的时域持续时间,以Symbol为单位,由前导序列格式决定。
• 每个RO所占的频域资源,以RB为单位,由前导序列格式决定。
PRACH的时频资源预配置完成之后,需要对每个RO进行有效性判断,只有满足以下条件的RO才被认为是有效的,用于后面的SSB映射以及PRACH传输。
• 对于FDD频谱,所有的RO都可以被认为是有效的。
• 对于TDD频谱,当RO位于时隙格式所指示的上行符号内才可以被认为是有效的;否则需要该RO满足与之前的最后一个下行符号之间至少间隔Ngap个符号,并且与该RO之前的最后一个SSB符号之间也至少间隔Ngap个符号,才可以被认为是有效的。其中Ngap与前导的子载波间隔有关,对于1.25kHz和5kHz的子载波间隔,Ngap=0;对于15kHz、30kHz、60kHz以及120kHz的子载波间隔,Ngap=2。
每个有效的RO及其包含的前导序列会与SSB进行关联映射。用户一旦选择了某个SSB,根据SSB到RO的映射规则在相应的RO资源上随机挑选一个前导序列进行发送。映射规则由以下参数决定。
• 每个RO对应的SSB个数N,取值范围为{1/8,1/4,1/2,1,2,4,8,16}。
• 每个RO包含的前导个数Npreamble,取值范围为1~64。
• 每个SSB对应的用于竞争接入(CBRA)的前导个数R。
如果N<1,表明每个SSB对应1/N个连续的RO,其中每个RO的前导索引0~(R-1)对应该SSB。如果N≥1,则表明每个RO对应N个SSB,其中,第n个SSB对应的前导序列索引从n·Npreamble/N开始,其中0≤n≤N-1,如图2-4所示。
图2-4 SSB与前导映射关系(N≥1)
其中SSB到RO的映射遵循以下顺序。
• 首先,按每个RO内的前导索引递增的顺序排列;
• 其次,按频域资源索引递增的顺序对频分复用的RO进行排列;
• 再次,按时域资源索引递增的顺序对每个PRACH时隙内时分复用的RO进行排列;
• 最后,按PRACH时隙索引递增的顺序排列。
一般情况下,SSB的周期与RO的周期并非整数倍关系,映射图样会比较复杂,用户可能需要回溯很长的时间才能找到映射起点,推算出当前时刻所选的SSB对应的RO。为了实现方便,协议还定义了以下两种映射周期。
• SSB到RO映射周期:从帧号0开始映射,取配置表里PRACH配置周期的最小值(从{1,2,4,8,16}个无线帧中选取),并要求能满足所有配置的SSB与关联周期内的RO至少完整映射一次。如果在一个映射内,整个SSB到RO的循环映射结束后,还有一些RO没有被映射到,那么这些RO将不会再和SSB建立映射关系。
• SSB到RO映射图样周期:一个映射图样周期可能包含一个或者多个映射周期,在不同的图样周期内SSB到RO的映射图样是重复出现的,最长为160ms。在整数个映射周期之后未被SSB映射到的RO不会用于PRACH传输。
这两个周期的定义在后续MsgA PRACH和PUSCH的映射中也会用到。
需要注意的是,在独立配置的情况下,2步RACH所用的时频资源也可能与4步RACH重叠,这一点协议是没有禁止的,留给基站解决。当这种情况出现的时候,基站仅仅根据RO位置及前导序列是无法区分用户发起的是哪种RA类型,因此需要同时反馈Msg2和MsgB。
2. 共享资源
为了节省预留资源的开销,基站也可以将2步RACH的时频资源配置为与4步RACH的RO共享,使用不同的前导序列集合加以区分。在共享资源的配置下,PRACH资源的有效性判断以及SSB到RO的映射也遵循4步RACH的规则,仅仅需要额外配置每个SSB对应的用于2步RACH的前导个数。假设每个SSB对应4步RACH的前导个数为R,对应2步RACH的前导个数为Q,当多个RO对应一个SSB,即N<1时,每个RO的前导索引0~(R-1)用于4步RACH,而前导索引R~(R+Q-1)用于2步RACH;当一个RO对应一个或者多个SSB,即N≥1时,第n个SSB对应的用于4步RACH的前导序列索引从n·Npreamble/N开始数R个,而第n个SSB对应的用于2步RACH的前导序列索引从n·Npreamble/N+R开始数Q个,其中0≤n≤N-1,如图2-5所示。
图2-5 共享RO的情况下SSB与前导映射关系(N≥1)
此外,为了更灵活地协调不同RACH类型的资源分配,协议还支持部分RO的共享,即在每个SSB对应的RO中定义一个子集,只有该子集内的RO允许共享给2步RACH使用,而子集外的RO作为4步RACH独享的资源。需要注意的是,该参数使能的前提是一个SSB对应多个RO,即N<1的情况。共享资源下的RO子集配置表如表2-1所示,采用4bit指示。
表2-1 共享资源下的RO子集配置表(N<1)
2.1.4 MsgA PUSCH
对于2步RACH,用户在MsgA中先后传输PRACH和PUSCH资源。为了避免用户实现的时序问题,PUSCH和PRACH的传输至少需要间隔N个符号,其中,N取决于当前激活BWP的子载波间隔,如:
• 对于15kHz和30kHz的子载波间隔,N=2;
• 对于60kHz和120kHz的子载波间隔,N=4。
2步RACH中的MsgA PUSCH所承载的内容与4步RACH中的Msg3相对应,区别在于用户发起MsgA PUSCH之前没有任何调度信息,因此MsgA PUSCH的资源分配采用了类似PRACH的方式,周期性地预留一部分时频资源。此外还需要设计PRACH和PUSCH之间的关联关系,使得用户在选择某一个PRACH前导之后能够找到对应的PUSCH资源进行传输。
1. MsgA PUSCH资源分配
MsgA PUSCH资源分配如图2-6所示,其中,每个PRACH时隙对应若干个PUSCH组,每个PUSCH组内包含若干个相同资源大小的PUSCH传输机会(PO,PUSCH Occasion)。
图2-6 MsgA PUSCH资源分配示意图
每一组PUSCH的主要配置参数及其说明如下。
(1)PUSCH时域资源的偏移量,以时隙(Slot)为单位,该偏移量相对于PRACH时隙所在的时隙位置,用来决定时域第一个PUSCH传输机会所在的时隙位置,取值范围为{1,…,32};注意这里的时隙长度是由当前BWP的子载波间隔决定的。
(2)PUSCH时隙个数,表示PUSCH传输机会存在于连续的多个PUSCH时隙内,取值范围为{1,2,3,4};每个PUSCH时隙内的PO资源大小和数目保持一致。
(3)PUSCH时隙内的PO分布,包含内容如下。
• 时域第一个PUSCH传输机会的起始位置,以符号(Symbol)为单位,通过时域资源分配的SLIV来指示。
• 时分复用(TDM)的PO个数,取值范围为{1,2,3,6}。
• 频域第一个PUSCH传输机会相对于该频带(BWP)的起始位置,以资源块(RB)为单位。
• 频分复用(FDM)的PO个数,取值范围为{1,2,4,8}。
• 每个PO的时域持续时间,以Symbol为单位,通过时域资源分配的SLIV来指示。
• 每个RO所占的频域资源,以RB为单位,取值范围为{1,…,32}。
• PO之间的保护间隔,以Symbol为单位,取值范围为{0,1,2,3},取值为0则表示时隙内TDM的多个PO在时域是连续的。
• PO之间的保护带宽,以RB为单位,取值范围为{0,1},取值为0则表示时隙内TDM的多个PO在频域是连续的。
每个PUSCH传输机会上还可以承载多个DMRS资源,MsgA PSUCH DMRS的生成方式沿用了R15 DMRS Type 1的设计,每个PO最多支持8个DMRS资源的复用。
由于MsgA PUSCH的资源需要提前预留,无法做到针对每个用户的信道条件动态地调整资源大小以及调制方式(MCS)。因此,为了增加配置的灵活性,每个PRACH时隙可以对应一组或者两组PUSCH传输机会。当对应两组传输机会时,每个组内的PO资源位置、资源大小以及MCS均可以独立配置;两组传输机会对应同一个PRACH时隙,并通过不同的前导序列分组来加以区分。
MsgA PUSCH的时频资源预配置完成之后,同样需要对每个PO进行有效性判断,只有满足以下条件的PO才被认为是有效的,用于后面的PRACH和PUSCH的关联映射以及PUSCH传输。
• 不与任何PRACH资源发生重叠,包括4步RACH配置的RO和2步RACH配置的RO。
• 额外的,对于TDD频谱,PO位于时隙格式所指示的上行符号内可以被认为是有效的;否则需要该PO满足与之前的最后一个下行符号之间至少间隔Ngap个符号,并且与该PO之前的最后一个SSB符号之间也至少间隔Ngap个符号,才可以被认为是有效的。其中Ngap与前导的子载波间隔有关,对于1.25kHz和5kHz的子载波间隔,Ngap=0;对于15kHz、30kHz、60kHz以及120kHz的子载波间隔,Ngap=2。
2. PRACH和PUSCH关联映射
MsgA PRACH和PUSCH的关联映射,是指用户在选择了某个RO以及RO内的某个前导序列后,通过预定义的映射规则,找到其对应的用来传输PUSCH的PO以及DMRS资源。为了表述方便,我们将PO以及DMRS资源定义为一个PUSCH传输单元(PRU,PUSCH Resource Unit)。
首先需要确定映射比例X,表示每X个前导映射到1个PRU。该映射比例由一个SSB到RO映射图样周期内有效的PRACH资源总数和PUSCH资源总数决定:
其中,Npreamble为每个RO内用于2步RACH的前导资源个数,NRO为SSB到RO映射图样周期内有效的RO个数,NDMRS为每个PO内配置的DMRS资源个数,NPO为SSB到RO映射图样周期内有效的PO个数。基站在配置资源时需要保证X在不同的SSB到RO映射图样周期内都是不变的。
将每个PRACH时隙内的前导资源按以下顺序进行排序。
(1)按每个RO内的前导索引递增的顺序排列。
(2)按频域资源索引递增的顺序对频分复用的RO进行排列。
(3)按时域资源索引递增的顺序对每个PRACH时隙内时分复用的RO进行排列。
连续的每X个前导按以下顺序映射到有效的PUSCH传输单元上。
(1)按频域资源索引递增的顺序对频分复用的RO进行排列。
(2)按每个PO内的DMRS索引递增的顺序排列,其中,DMRS的索引优先对端口号进行递增排列,然后对加扰序列进行递增排列。
(3)按时域资源索引递增的顺序对每个PUSCH时隙内时分复用的PO进行排列。
(4)按PUSCH时隙索引递增的顺序进行递增排列。
此外,如果配置了两个PUSCH组和两个对应的前导组,那么上述的关联映射对于不同的组是各自独立进行的。
在映射完成之后,如果还有剩余的PUSCH资源单元没有被任何的前导映射到,那么这些PUSCH资源单元将不会被用于MsgA的传输。如果还有剩余的前导资源没有映射到任何的PRU,这些前导仍然可以用于MsgA的传输,此时用户在MsgA中仅仅传输PRACH,等效于回退到了4步RACH的过程。
3. PUSCH数据传输
MsgA PUSCH承载的数据内容与Msg3一致,其编码调制等过程也与Msg3 PUSCH类似[6],并且支持CP-OFDM和DFT-s-OFDM两种波形。
与Msg3 PUSCH唯一的区别在于加扰ID的生成公式。Msg3中采用TC-RNTI对PUSCH数据进行加扰,其中TC-RNTI由基站通过Msg2给出。而2步RACH中MsgA PUSCH的发送是在接收RAR之前,因此无法取得TC-RNTI的信息。
根据前文提到的映射规则可以看出,即使不同的用户选择了不同RO或者不同前导序列,它们仍然有可能映射到同一个PUSCH资源上,因此这些用户需要使用不同的加扰序列来降低用户间干扰,一种可行的方式是通过所选择RO的时频位置以及前导序列索引来决定长度为31bit的加扰ID,公式如下:
cinit=nRNTI·216+nRAPID·210+nID
其中,nRNTI为RA-RNTI,由RO的时频资源位置决定,长度为16bit,并且最高位为0;nRAPID表示前导序列索引,长度为6bit;nID表示小区ID,长度为10bit。
此外,为了更好地获取频率分集增益,MsgA PUSCH支持跳频,且跳频图样与Msg3一致。
2.1.5 功率控制
1. MsgA PRACH功率控制
MsgA PRACH与4步RACH中Msg1的功率控制原理类似[7]。首先根据下面的公式确定PRACH目标接收功率(PREAMBLE_RECEIVED_TARGET_POWER):
preambleReceivedTargetPower + DELTA_PREAMBLE +(PREAMBLE_POWER_RAMPING_COUNTER - 1)×PREAMBLE_POWER_RAMPING_STEP
其中,preambleReceivedTargetPower为前导目标接收功率;DELTA_PREAMBLE为与前导码相关的功率偏移,其取值沿用4步RACH的设计,这里不再赘述。PREAMBLE_POWER_RAMPING_COUNTER为前导功率抬升计数器,其取值初始化为1;PREAMBLE_POWER_RAMPING_STEP为前导功率抬升步长。
然后UE根据下面的公式确定传输机会i上的PRACH发射功率:
其中,为UE在服务小区c的传输机会i上配置的最大输出功率,PPRACH,target,c为上述确定的PRACH目标接收功率PREAMBLE_RECEIVED_TARGET_POWER,PLc为UE通过测量下行参考信号得到的路径损耗。
与4步RACH相比,MsgA PRACH功率控制的参数配置需要注意以下几点。
• MsgA PRACH的前导目标接收功率参数(preambleReceivedTargetPower)沿用4步RACH中的参数。
• 对于共享RO资源的情况,MsgA PRACH的前导功率抬升步长沿用4步RACH中的参数powerRampingStep;对于RO资源独立配置的情况,MsgA PRACH的前导功率抬升步长可以通过参数msgApreamble-powerRampingStep独立配置,如果没有独立配置,则沿用4步RACH中的参数powerRampingStep。
当MsgA接入失败时,可以尝试重新接入,此时UE可以将前导功率抬升计数器(PREAMBLE_POWER_RAMPING_COUNTER)增加1,然后根据上述方法重新确定PRACH目标接收功率(PREAMBLE_RECEIVED_TARGET_POWER)以及PRACH发射功率PPRACH,c(i)。需要注意的是,如果UE重新接入时改变了空域传输波束(Beam),UE会将前导功率抬升计数器挂起或暂停,也就是说不会进行功率抬升。
2. MsgA PUSCH功率控制
MsgA PUSCH的功率控制在公式形式上沿用了常规PUSCH的功率控制公式,并且与4步RACH中Msg3的功率控制比较相似。不过由于整个MsgA传输都是基于竞争的,因此在传输MsgA之前没有基站调度信息,MsgA PUSCH采用了开环功率控制,并且会和MsgA PRACH一样进行功率抬升。
MsgA PUSCH在传输机会i的发射功率根据下面的公式确定:
其中:
• 为UE在服务小区c的传输机会i上配置的最大输出功率。
• PO_PUSCH,c为一个由PO_NOMINAL_PUSCH,c和PO_UE_PUSCH,c之和构成的参数。对于MsgA PUSCH,PO_UE_PUSCH,c=0,PO_NOMINAL_PUSCH,c=PO_PRE+ΔmsgA_PUSCH,其中,PO_PRE为前导目标接收功率参数preambleReceivedTargetPower;ΔmsgA_PUSCH为相对于前导目标接收功率的功率偏移,由参数msgADeltaPreamble提供,如果没有提供msgADeltaPreamble参数,则ΔmsgA_PUSCH=ΔPREAMBLE_msg3,而ΔPREAMBLE_msg3由参数msg3-DeltaPreamble提供,并且,如果没有提供msg3-DeltaPreamble参数,ΔPREAMBLE_msg3=0。也就是说,MsgA PUSCH的功率偏移可以独立配置,如果没有独立配置,则沿用4步RACH中Msg3的功率偏移。
• 为UE在传输机会i的PUSCH资源带宽,具体为资源块的数量,μ是NR协议支持的子载波间隔配置,根据该配置可以实现不同子载波间隔配置下带宽资源的调整,从而实现相应的功率调整。
• αc为路径损耗补偿因子,对于MsgA PUSCH,如果提供了msgA-α参数,则αc为msgA-α参数的取值,如果没有提供该参数,则αc可以沿用msg3-α参数的取值,如果msg3-α参数也没有提供,则αc=1。也就是说,MsgA PUSCH的路径损耗补偿因子可以独立配置,如果没有独立配置,则沿用4步RACH中Msg3的路径损耗补偿因子。此外,msgA-α参数和msg3-α参数均为UE特定的参数,适用于RRC连接态,对于RRC空闲或非激活状态,αc等于1。
• PLc为UE通过测量下行参考信号得到的下行路径损耗。
• ΔTF,c(i)为与传输格式相关的功率调整量,根据参数δMCS确定是否进行功率调整。这里仍然沿用4步RACH中Msg3的参数和处理机制。
• fc(i)原本为根据TPC命令确定的功率调整量,而对于MsgA PUSCH,在传输之前并没有TPC命令信息,这里保留使用该参数,用于携带MsgA PUSCH的功率抬升量,而且可以与常规PUSCH的功率控制在公式形式上保持一致。具体的,当UE在传输机会i发送MsgA PUSCH时,fc(0)=Prampup,c,其中:
其中,ΔPrampuprequested,c为总的功率抬升量;为UE在传输机会i的PUSCH传输资源块数量;ΔTF,c(i)为UE在传输机会i的PUSCH传输功率调整量。
关于MsgA PUSCH的功率抬升,需要说明的是,MsgA PUSCH和MsgA PRACH会使用相同的空域传输波束,因此,二者可以共用一个功率抬升计数器,即前导功率抬升计数器(PREAMBLE_POWER_RAMPING_COUNTER)。此外,MsgA PUSCH和MsgA PRACH会使用相同的功率抬升步长。那么,MsgA PUSCH与MsgA PRACH的总的功率抬升量相同,即(PREAMBLE_POWER_RAMPING_COUNTER - 1)×(PREAMBLE_POWER_RAMPING_STEP)。
3. 回退情况下的功率控制
如前文所述,对于2步RACH,有两种回退机制,一种是MsgA重传次数达到一定阈值时会切换到4步RACH发送Msg1重新进行接入尝试,另一种是MsgA前导被正确检测而MsgA PUSCH解调失败,此时基站可以反馈一个FallbackRAR,类似于4步RACH中的Msg2,用来调度Msg3的传输。
对于第一种回退机制,需要考虑对Msg1功率控制的影响。这种情况下,由于切换到了4步RACH,将会按照4步RACH的机制进行功率控制,包括根据Msg1前导的格式确定功率偏移量DELTA_PREAMBLE、使用4步RACH中的前导功率抬升步长参数powerRampingStep。不同的是,由于MsgA前导已经进行了多次传输,当切换到4步RACH发送Msg1时,前导功率抬升计数器会继承使用,并且,如果没有挂起或暂停的话,会在之前的基础上继续递增。进一步,由于MsgA前导和Msg1前导的功率抬升步长可能是不同的,其造成的功率抬升偏差可以包含在一个功率偏移量中,这样做可以尽量复用原有的PRACH目标接收功率确定公式。综上所述,切换到4步RACH后,PRACH目标接收功率(PREAMBLE_RECEIVED_TARGET_POWER)可以根据下面的公式确定:
preambleReceivedTargetPower + DELTA_PREAMBLE +(PREAMBLE_POWER_RAMPING_COUNTER - 1)×PREAMBLE_POWER_RAMPING_STEP + POWER_OFFSET_2STEP_RA
其中,POWER_OFFSET_2STEP_RA为继承MsgA前导的功率抬升量时存在的功率偏差,初始化为0dB,当随机接入类型由2步RACH切换到4步RACH这一事件发生时,将POWER_OFFSET_2STEP_RA设置为(PREAMBLE_POWER_RAMPING_COUNTER-1)×(MSGA_PREAMBLE_POWER_RAMPING_STEP-PREAMBLE_POWER_RAMPING_STEP),其中,MSGA_PREAMBLE_POWER_RAMPING_STEP为MsgA前导的功率抬升步长,PREAMBLE_POWER_RAMPING_STEP为Msg1前导的功率抬升步长。
对于第二种回退机制,需要考虑对Msg3功率控制的影响。这种情况下,MsgA前导类似于4步RACH中的Msg1,基站反馈的FallbackRAR类似于4步RACH中的Msg2,那么,Msg3的功率控制机制可以仍然沿用4步RACH中Msg3的功率控制。不同的是,上行调度信息以及TPC命令包含在FallbackRAR中,并且使用MsgA前导的总的功率提升量。
2.1.6 MsgB设计
1. MsgB PDCCH
基站在检测到MsgA的发送之后,会进行MsgB的反馈,MsgB通过PDCCH和PDSCH承载。其中,PDCCH的反馈采用DCI格式1_0,通过MsgB-RNTI进行加扰。MsgB-RNTI由PRACH传输的RO所在的时频位置决定。
MsgB-RNTI和4步随机接入中RA-RNTI的计算公式基本相同,可用来唯一表示一个10ms接收窗的RO时频资源。不同的是,MSGB-RNTI的计算公式中引进了一个常数偏置值,使得其取值范围变为17 921~35 840,避免了与RA-RNTI的取值范围(1~17 920)相重叠。这样设计的原因是在当前协议中允许在相同的随机接入资源上同时支持2步RACH和4步RACH,不重合的取值范围使得用户可以根据RNTI的值来判断收到的调度信令的接入类型。
用户在发送MsgA之后,在特定的时间窗内进行MsgB PDCCH的监听,即尝试MsgB-RNTI加扰的DCI格式1_0的译码。该时间窗的起点位于MsgA PUSCH传输机会一个符号之后的第一个控制资源集合所在的位置,时间窗的长度由高层配置,最长为40ms。
通过MsgB-RNTI加扰的DCI格式1_0包含以下指示信息:
• 该PDCCH所调度的PDSCH频域资源分配;
• 该PDCCH所调度的PDSCH时域资源分配;
• 虚拟RB资源到物理RB资源的映射方式,交织或非交织;
• 传输块(TB)的缩放系数;
• RO所在系统帧号的最低位2bit。
其中,与4步RACH中通过RA-RNTI加扰的DCI格式1_0主要的区别是增加了RO所在系统帧号的最低位2bit这个参数[8]。这是由于2步RACH的MsgB监听窗口最大值从10ms延长到了40ms,导致在不同系统帧内发送MsgA的用户,其监听窗口会重叠,同时MsgB-RNTI也可能相同,因此需要通过这2bit来判断该PDCCH是属于哪个用户的。
2. MsgB PDSCH
(1)MsgB消息构成
图2-7所示为MsgB消息构成的相关示例。2步RACH的MsgB可以携带一个或多个用户的随机接入响应,即一个MsgB MAC协议数据单元(PDU)可以由一个或多个MAC子协议数据单元(subPDU)构成。MsgB中,除了指示回退(BI,Backoff Indicator)的MAC subPDU外,其余的MAC subPDU均由一个MAC子头(subheader)以及相应的MAC服务数据单元(SDU)或随机接入响应单元(RAR Payload)组成。根据携带内容的不同,MAC subPDU主要分为以下5类。
图2-7 MsgB示例
① BI MAC subPDU
BI MAC subPDU只包含Backoff Indicator subheader,可用于指示小区的接入负载水平。当小区接入负载水平较高时,网络侧通过在MsgB中添加BI subheader的方法在时间上打散UE发起随机接入的时刻以缓解网络拥塞。如图2-7所示,MsgB若含BI,BI需要放在MsgB的起始位置。
② 含FallbackRAR的subPDU
FallbackRAR MAC subPDU由FallbackRAR subheader和FallbackRAR组成。当MsgA只有前导部分成功被解出时,网络侧通过FallbackRAR指示相关UE回退到4步RACH的步骤。
③ 含SuccessRAR的MAC subPDU
SuccessRAR由SuccessRAR subheader和SuccessRAR Payload组成。当MsgA被完整解出时,网络侧通过SuccessRAR指示相关UE进行竞争解决。
④ 含MAC SDU的MAC subPDU
MAC SDU subPDU由MAC SDU subheader和MAC SDU组成。在一些接入场景下,如初始接入时,MsgB可能会包括含有公共控制消息(CCCH)或专用控制消息(DCCH)的MAC SDU。为了降低MsgB设计的复杂度,避免引进额外的参数来表示MAC SDU和相关SuccessRAR subPDU的映射关系,协议规定含有MAC SDU 的subPDU必须跟在对应的SuccessRAR subPDU后面。此外,考虑到MAC SDU的尺寸通常较大,为了避免MsgB尺寸过大不利于解码,协议限制一个MsgB最多只能有一个SuccessRAR和对应MAC SDU的组合,且含MAC SDU的subPDU必须放置在除Padding之外的MsgB最末的位置,如图2-7(a)所示。
⑤ 含Padding的MAC subPDU
Padding MAC subPDU由R/R/LCID subheader和Padding组成。如图2-7(b)所示,当MAC subPDU小于MAC PDU的TBS时,网络侧可以按需在MAC PDU的最后进行填充,填充的尺寸最小可为零。
(2)MsgB MAC subheader
MsgB MAC subheader主要有两个用途,一是指示对应的MAC subPDU的类型,二是指示MsgB是否已经结束。除了MAC SDU的subheader外,其余MsgB MAC subheader均为固定的1个字节。表2-2总结了MsgB中可能出现的MAC subheader的字段以及相关含义。
表2-2 subheader字段及相关含义
MsgB MAC subheader可以分为以下5种类型。
① BI subheader
如图2-8所示,BI subheader包含有E/T1/T2/R/BI 5个字段,其中,BI为回退参数索引,UE可以根据表2-3所示索引关系设置相应的BI值[9]。
图2-8 BI subheader结构
表2-3 BI取值范围
② FallbackRAR subheader
FallbackRAR subheader含有E/T1/RAPID 3个字段,用于指示FallbackRAR及前导序列ID,如图2-9所示。
图2-9 FallbackRAR subheader结构
③ SuccessRAR subheader
SuccessRAR subheader含有E/T1/T2/S/R/R/R/R 8个字段,用于指示SuccessRAR,以及后面是否有相应的MAC SDU跟随,如图2-10所示。
图2-10 SuccessRAR subheader结构
④ MAC SDU subheader
MAC SDU subheader含有R/F/LCID/L 4个字段,用于指示MAC SDU。其中,L字段表示该subheader对应的MAC SDU携带的CCCH消息的大小,取值可为8位或16位,分别如图2-11(a)和(b)所示。网络侧通过F字段指示L字段的位数。
图2-11 MAC SDU subheader结构
⑤ Padding subheader
Padding subheader含有R/R/LCID3个字段,指示用于填充的subPDU,如图2-12所示。
图2-12 Padding subheader结构
(3)MsgB RAR Payload
MsgB RAR Payload 分为两类:FallbackRAR以及SuccessRAR。
① FallbackRAR为固定的7个字节,按每行一个字节规律排列。如图2-13所示,其内容和结构均与4步RACH的RAR Payload相同。其中,每个字段的释义参见表2-4。
图2-13 FallbackRAR结构
表2-4 FallbackRAR内容字段
② SuccessRAR是MsgB特有的RAR Payload类型。如图2-14所示,SuccessRAR为固定的11个字节,按每行一个字节规律排列,其中,每个字段的详细释义参见表2-5。
图2-14 SuccessRAR结构
表2-5 SuccessRAR内容字段
3. MsgB HARQ-ACK反馈
如果用户检测到SuccessRAR,需要对该MsgB进行HARQ-ACK的反馈,表明随机接入过程的完成。其中SuccessRAR里携带4bit,用来指示PUCCH的资源位置,用户根据指示从PUCCH公共资源集里选取某一个PUCCH资源用于ACK消息的反馈。PUCCH在第n+k+Δ个时隙位置传输,其中n表示接收到PDSCH的时隙位置;k由SuccessRAR中另外3bit所指示,取值范围为1~8;另外Δ体现了不同子载波间隔下用户处理PDSCH所需的时间差异,见表2-6。
表2-6 不同子载波间隔下附加的PUCCH反馈时延
4. 小结
总体而言,MsgB的接收和竞争解决可分为以下4种情况。
(1)UE监听到了用C-RNTI加扰的MsgB调度信令并成功解码相应的MsgB。此时UE认为竞争解决成功并关闭相应的MsgB接收窗,随机接入成功完成。
(2)UE收到用MsgB-RNTI加扰的MsgB调度信令且MsgB含有成功随机接入响应(SuccessRAR):若SuccessRAR包含的竞争解决标识(Contention Resolution ID)和前序传输的MsgA的CCCH消息前48bit一致,则UE认为竞争解决成功,随机接入成功完成。若竞争解决ID不一致,UE会在MsgB接收窗超时前继续监听MsgB的调度信令。
(3)UE收到用MsgB-RNTI加扰的MsgB调度信令且MsgB含有回退随机接入响应(FallbackRAR):若FallbackRAR带有和前序传输的MsgA一致的前导ID,则UE会执行回退到4步随机接入的步骤,按照4步随机接入收到随机接入响应的步骤进行后续的Msg3传输和竞争解决。若MsgB包含的前导与MsgA不一致,则UE会在MsgB接收窗超时前继续监听MsgB的调度信令。
(4)MsgB接收窗超时而UE依然未能收到针对自己的随机接入响应,此时UE会进行如2.1.2节所述的MsgA重传步骤。