在5G的第二个版本R16当中,为了减少RACH过程中的信令开销,降低RACH过程的延迟,提出了2-step RACH。在R16协议当中,用Type-2 RACH表示2-step RACH,Type-1 RACH表示原来的4-step RACH。在发起RACH之前,高层会指示用哪种RACH。
这里不对原来的4-step RACH做详细介绍,只重点介绍2-step RACH及其与4-step RACH之间的不同。
2-step RACH简单理解就是从原来的4-step:发送preamble–>接收RAR–>发送Msg3–>接收Msg4,变为了现在的2-step:发送MsgA–>接收MsgB。
MsgA包含preamble和payload,类似于原来的Msg1+ Msg3的组合,但是由于要先后发送MsgA preamble和MsgA payload,所以MsgA payload(MsgA PUSCH)也要支持TA-free的发送方式,因为在原来的4-step RACH中,在发送Msg3之前,已经拿到了Msg2(RAR),即已经获取了UL TA,但2-step RACH不同在发送MsgA的时候并没有UL timing的指示。
MsgB包含MsgB PDCCH和MsgB PDSCH,而PDSCH中承载的内容类似于原来的Msg2+Msg4,当然这只是简单理解,后面会展开介绍。
在简单了解了R16中的2-step RACH之后,下面从具体的方面对其展开介绍。
1、 概述
2-step RACH也分为CBRA和CFRA,在Rel-16当中,2-step CFRA只在HO时使用,并不支持PDCCH triggered 2-step CFRA。RACH的trigger和4-step RACH也完全相同,没有任何的新增和删减对于2-step RACH来说。
上面也说到MsgA某种角度就约等于Msg1+Msg3,那么对于MsgA中包含C-RNTI的情况(可以理解为类似4-step RACH中Msg3中包含C-RNTI用于竞争解决),则UE就可能要同时检测C-RNTI加扰的DCI和MsgB-RNTI加扰的DCI,检测到C-RNTI,则意味着RACH成功,同时fallback RAR会用MsgB-RNTI加扰的DCI来指示,一旦收到fallbackRAR,则UE也不继续检测C-RNTI DCI了。
在4-step RACH和2-step RACH的选择上,方案如下:
假如NW配置了2-step CFRA的资源,则使用2-step RACH;
假如NW配置了4-step CFRA的资源,则使用4-step RACH;
假如NW没有配置2-step或者4-step CFRA的资源,则UE根据RSRP的大小,选择2-step还是4-step CBRA,门限的大小由参数msgA-RSRP-Threshold指示,当RSRP值高于门限时,选择2-step RA。
并且网络不会在一个BWP上同时配置4-step CFRA和2-step CFRA的资源,且2-step CFRA只有在配置了2-step CBRA的BWP上才会配置。4-step CBRA和CFRA成了并非是网络一定要配置的内容。
2-step RACH资源只能配置在SpCell内。如果配置了参数msgA-TransMax,则在MsgA重传达到一定次数但RACH仍然没有成功后,UE可以回退到4-step RACH,即重传Msg1。但如果该参数没有配置的话,则不能回退到4-step RACH,直接给高层上报RACH失败即可。前面也提到,4-step RACH在R16当中并非必须要配置的内容,如果网络没有配置4-step RACH,则2-step RACH失败后就只能上报RACH失败。
2、 MsgA Preamble
4-step RACH的preamble format和PRACH配置2-step RACH都可以使用,此外有2-step RACH特有的配置,由MsgA-ConfigCommon-r16指示。
我们可以看到4-step RACH需要的2-step RACH也都需要,比如PRACH资源的相关参数,Power control相关参数等。
3、 MsgA Paylaod
MsgA PUSCH是在MsgA preamble之后传输,使用RV0,其和msgA preamble之间的最小的时间差协议中规定是2 (μ=0 or 1) 或4 (μ=2 or 3) 个symbol,与载波间隔有关,即上面第一幅图中的TxG。在同一个slot传输MsgA preamble和MsgA PUSCH是不被协议所允许的。
UE可能会只传了MsgA preamble,但是不会只传了MsgA PUSCH。MsgA PUSCH的所有参数都由IE msgA-PUSCH-Config-r16来配置,下面图中只截取了协议38331中的一部分参数,后续的描述中所有涉及到的参数如没有特殊说明则全部存在于该IE。该IE如果没在active UL BWP中提供给UE的话,UE使用initial UL BWP中配置的,总之是一定会配置给UE的如果想要使用2-step RACH的话。
MsgA PUSCH和其他PUSCH有不同的加扰ID生成公式,因此网络侧可以进行区分。
我们知道在4-step RACH中,RAR中会携带发Msg3的PUSCH资源,但在2-step RACH中,MsgA PUSCH是跟着MsgA preamble发送的,所以MsgA PUSCH的资源需要在发起RACH前就指示给UE。
时域上,msgA-PUSCH-TimeDomainOffset指示第一个MsgA PO所在slot与PRACH occasion的slot之间的slot offset,共连续nrofSlotsMsgA-PUSCH个slot。每个slot中有nrofMsgA-PO-perSlot个连续MsgA PO且之间存在长为guardPeriodMsgA-PUSCH个symbol的time gap保护带。另外会有参数指示每个MsgA PO的时域allocation,和上行DCI指示PUSCH的resource allocation方式十分类似,即通过一个参数来指示起始位置及长度,具体可以参考协议38214。
频域上,连续nrofMsgA-PO-FDM多个FDM的MsgA PUSCH occasion支持RB级的可配的guard band,由参数guardBandMsgA-PUSCH指示。
除了时频域资源以外,其他所需的参数,对于MsgA PUSCH来说也都需要在信令中提前配置。比如MCS的大小,DMRS的配置,Mapping type,跳频,传输预编码,功控相关参数等。
MsgA preamble会与MsgA PUSCH进行对应。
4、 2-step RACH procedure
在发送了MsgA之后,2-step RACH同样要在MsgB window内等待接收MsgB。和4-step RACH类似,但这里尝试解码的是MsgB-RNTI加扰的DCI,和4-step RACH中解码RA-RNTI加扰的DCI不同。另一点是window size由参数msgB-ResponseWindow指示。
上面也讲到过MsgB简单来说就相当于4-step RACH的Msg2+Msg4。MsgB中可能会包含xxx,然后在检测到MsgB之后,高层会根据MsgB中的内容指示物理层执行后续的步骤。
4.1 FallbackRAR
如果MsgB中包含的是fallbackRAR,则UE重传MsgA PUSCH,相当于回退到4-step RACH,发送Msg3,此时fallbackRAR中指示UL grant用于重传MsgA PUSCH。指示方式和2-step RACH中Msg2指示Msg3 UL grant相同,都类似于用DCI format 0_0指示UL grant。如果没有收到Msg4,则再次回到MsgA。
4.2 SuccessRAR
如果MsgB中包含的是successRAR,则2-step RACH完成。
successRAR中同时会包含一些PUCCH相关参数,用于指示UE回复MsgB的HARQ-ACK所需资源,即PUCCH:
PUCCH resource indicator 类似DCI中的该字段,指示具体的PUCCH resource
HARQ Feedback Timing Indicator 指示HARQ feedback相对于MsgB PDSCH的slot offset,再加一个偏移值△(与SCS大小有关,从15kHz开始往上分别为2、3、4、6)
ChannelAccess-Cpext
CP extension
4.3 没收到MsgB
在MsgB Response Window内如果没收到MsgB,则重传MsgA。