这篇来看BFR 过程,这里把38.300中对于BFD和BFR流程的描述再贴一遍。
BFD 发生在Pcell时: UE 通过在Pcell上进行RA 过程来触发BFR;UE 要选择suitable beam去进行BFR(如果gNB 配置了某些beams 的dedicated RA资源,UE会优先参考配置的beams);此时spCell-BFR-CBRA=true,则在进行CBRA时,要在第一次发送的MSGA/MSG3中包含BFR MAC CE(带有Spcell beam failure 的indication)送出去(这段话没有在R15版本里出现,是R16中新增,结合38.321内容提炼加工得到)。当完成RA 过程后,在PCell的BFR 就算完成了。
spCell-BFR-CBRA配置在BeamFailureRecoveryConfig->spCell-BFR-CBRA,不配置就默认false,spCell-BFR-CBRA主要用于确定在进行RA时是否发送BFR MAC CE如下。
BFD 发生在Scell时:UE 通过发送BFR MAC CE来触发BFR(包含的一些参数后面介绍);UE 之后为SCELL选择suitable beam 并将这个信号包含在BFR MAC CE 中发送给NW;一旦 在PDCCH 收到用于发送BFR MAC CE 的新传UL grant ,就认为Scell 的BFR完成。
先看下RRC层BFR参数配置结构
Spcell BFR参数配置路径是BWP-UplinkDedicated->beamFailureRecoveryConfig,Spcell =Pcell +Pscell。
Scell BFR参数配置路径是BWP-DownlinkDedicated->beamFailureRecoverySCellConfig。
BFR过程涉及两个门限参数rsrp-ThresholdBFR/rsrp-ThresholdSSB。
rsrp-ThresholdBFR对应SCell场景的Qin_LR ,是用于对Scell candidate beam 进行评估时用的,满足要求的candidate beam会包含在BFR MAC CE中发送给网络侧。
rsrp-ThresholdSSB就是SpCell场景的Qin_LR,用于q1 资源的评估,满足门限要求的candidate beam会用于BFR过程中的CFRA过程。
这里的两个门限,上篇有提及主要和Qin_LR相关,当set q1中的resource测量的L1-RSRP 等于或优于阈值 Qin_LR(Qin_LR就是由rsrp-ThresholdSSB/rsrp-ThresholdBFR决定),UE要将set q1中满足门限的resouce index告知MAC层,接上篇末尾,对于Spcell这里上报set q1中resource index的作用就是用于在BFR过程中的CFRA过程;对于Scell,上报set q1中 resource index的目的是要包含在BFR MAC CE中发送给网络端,然后等待网络端的下一步指示,Scell BFR的具体步骤后面再说。
而set q1由candidateBeamRSList 或candidateBeamRSListExt/candidateBeamRSSCellList配置,配置结构如下。
下面关注下Spcell场景下配置的beamFailureRecoveryTimer/recoverySearchSpaceId。
Spcell进行BFR时,可能会配置CFRA资源,这时候有个beamFailureRecoveryTimer,用于控制进行CFRA的时间,当timer超时后,CFRA没有成功,那之后就不能继续用CFRA,而这个timer是在BFR RA开始时就会启动,所以在配置CFRA资源时,应该首先进行CFRA,之后会在recoverySearchSpaceId提供的搜索空间接收BFR RAR。
如果beamFailureRecoveryTimer超时,还没有完成RA,就不能继续使用CFRA;这时候就要考虑preambleTransMax,如果还没有达到最大传输次数,则可以继续进行CBRA,如果达到最大重传次数,但是RACH 仍然没有成功,那就会RACH fail,MAC就会以RLF casue RA problem 上报给RRC 层,最后RRC层进行RLF的后续动作。
结合上述参数配置结构,可以看出BFR参数包括:用于BFR的dedicated RACH resource,RSRP threshold,candidate beam RS list,RACH相关其他参数,RAR专用搜索空间 recoverySearchSpaceId,beamFailureRecoveryTimer等。
UE发生beam failure后,发起的BFR,可能有4种可能:
SpCell
1 基站配置beamFailureRecoveryConfig时,使用beamFailureRecoveryConfig配置的RACH资源发起随机接入,基于非竞争的随机接入流程(CFRA)即UE发送MSG1,基站在BFR专属搜索空间内下发C-RNTI加扰的PDCCH(在新的下行波束),终端发送PUCCH HARQ-ACK,完成接入,BFR成功。
2 基站配置beamFailureRecoveryConfig 配置了2-step RA 过程,进行2-step RA过程进行BFR。
3 基站不配置beamFailureRecoveryConfig时,发起普通随机接入,基于竞争的随机接入(CBRA),即UE发送MSG1 ,基站下发RA-RNTI加扰的RAR,UE在MSG3中携带C-RNTI 作为竞争解决ID,基站在MSG4下发UE contention Resolution Identity 完成竞争解决。
第四种就是Scell场景下的BFR,我们后面再说。
接下来我们看一下BFR过程的一些规定。
PCell/PScell:
UE会收到PRACH-ResourceDedicatedBFR的配置,用于PRACH 传输。如果UE 在slot n进行PRACH 传输,UE要在slot n+4 开始的windows去recoverySearchSpaceId相关联的时频资源上接收C-RNTI/MCS-C-RNTI加扰的DCI,即对应的RAR。
Spcell在进行BFR RA resource 选择时,如果从candidateBeamRSList中 RSRP好于门限的resource对应的是 CSI-RS,但是此时如果没有相关联的ra-PreambleIndex,则UE就用与CSI-RS QCL的SSB的ra-PreambleIndex。
同样是Spcell场景,在进行BFR时,UE会收到PRACH-ResourceDedicatedBFR 提供的PRACH resource,在进行PDCCH监听时,UE要先假设PDCCH DMRS 天线 port是与提供的PRACH resource 是QCL的关系,直到收到新的激活TCI state关系。
最后按照38.321 5.17 Beam Failure Detection and Recovery procedure描述,梳理一遍的BFD/BFR的具体过程。
首先网络侧可能通过RRC 给serving cell MAC entity配置 beam failure recovery的参数,当在serving SSB/CSI-RS 上 检测到beam failure时,L1会上报beam failure instance indication给MAC,当达到最大次数后L1告知MAC 发生了BFD。
如果Spcell 在进行因为beam failure recovery触发的RA过程中,网络又重新配置了beamFailureRecoveryConfig参数,那MAC entity 应该停止在进行的RA ,转而根据新的配置进行对应的RA 过程。
下面是BFD/BFR过程用到的参数,仅做简单罗列。
BFI_COUNTER 用于beam failure detection procedure 的计数 初始化为0。
下面开始是38.321对BFR/BFR的描述。
如果MAC 层 收到 L1 的beam failure instance indication,开启或者重启 beamFailureDetectionTimer; 对应的BFI_COUNTER++;如果BFI_COUNTER>= beamFailureInstanceMaxCount,BFD发生在SCell,则触发BFR过程(Scell的BFR过程后面再说);除SCell的其他情况,就触发RACH 过程。
如果beamFailureDetectionTimer超时或者beamFailureDetectionTimer/beamFailureInstanceMaxCount或用于BFD的参考信号由于RRC层重配置发生了变化,这时候BFI_COUNTER重置为0。
如果BFD发生在Spcell并且BFR过程成功了(即RA过程成功),BFI_COUNTER重置为0,停止beamFailureDetectionTimer。
如果发生BFD的是SCell,此时网络端收到了UE包含BFR信息的BFR MAC CE或Truncated BFR MAC CE,并且下发了对应C-RNTI 加扰的PDCCH UL grant;或者SCell被deactive,那BFI_COUNTER重置为0,认为BFR过程成功并取消SCell所有触发的BFR过程。
上面的描述基本将Spcell BFR过程描述清楚了,但是只讲述了Scell BFR大体流程,没有提及Scell发生BFR时应该怎么做,下面就来看SCell触发BFR时的步骤。
Scell发生BFD的过程后,MAC会要求L1 上报满足门限QLR_in 的q1中的资源 id,在触发BFR后,UE对候选beams完成评估后,就会触发BFR MAC CE的发送,简单的说当UL grant足够发送BFR MAC CE+subheader时,就发送BFR MAC CE;只够发Truncated BFR MAC CE+subheader时,就发送Truncated BFR MAC CE;如果都不够 ,MAC 就针对要进行BFR 的SCell触发SR去跟网络侧要UL grant,然后再发送BFR MAC CE。
那现在有个疑问,BFR MAC CE具体结构及怎么表示候选beam?下一步接着看下 38.321 6.1.3.23 BFR MAC CE的相关内容。
BFR MAC CE
Truncated BFR MAC CE和BFR MAC CE主要通过LCID 进行区分如上图,下面看下BFR MAC CE包含的内容。
SP:该字段主要用于指示SpCell是否发生了BFD。SP =1代表Spcell发生了BFD,之后这个 BFR MAC CE 或Truncated BFR MAC CE会以MAC PDU的形式作为随机接入过程的一部分送出去,否则对于SCell 发生BFD的场景,SP=0;
AC:该字段表示八位字节中存在candidated RS ID 。如果candidateBeamRSSCellList中至少有一个SSB或CSI-RS的SS-RSRP高于rsrp-ThresholdBFR,则AC=1 ; 否则,它设置为 0。如果 AC = 1,后面就存在candidated RS ID 字段。如果 AC =0,就把candidated RS ID 字段对应的bits改为0;
Candidate RS ID:该字段应该设置为在 candidateBeamRSSCellList 中的 SSB 中 SS-RSRP 高于 rsrp-ThresholdBFR 的 SSB 的index,或者设置为在 candidateBeamRSSCellList 中的 CSI-RS 中 CSI-RSRP 高于 rsrp-ThresholdBFR 的 CSI-RS 的索引 candidateBeamRSSCellList;参照candidateBeamRSSCellList中SSB/CSI-RS的index, index 0 对应于 candidateBeamRSSCellList 中的第一个条目,index 1对应于列表中的第二个条目,以此类推。该字段的长度为 6 位。
Ci (BFR MAC CE):用于指定某个Scell发生了BFD,如果Ci =1表示发生了BFD且已经完成了对candicated beam的评估,后面会包含对应Scell的AC字段;Ci=0表示对应的Scell没有发生BFD或发生了BFD但是没有完成对candidate beams评估,后面也不会带对应的AC 字段。AC字段是按照服务小区 index升序的顺序出现的,例如发生BFD的Scell ID 分别为1,3,4,那第一个8 bits的AC 对应scell id 1,以此类推。
Ci (Truncated BFR MAC CE): 就比较简单了,Ci 必须带,必须要告诉网络端哪个SCell发生BFD,后面的AC 字段可以不带,带AC字段的话出现的顺序和BFR MAC CE相同。
现在Scell BFR的过程就比较清晰了,SCell如果发生BFD,要发送BFR MAC CE给网络,更具体的UE需要将发生BFD Scell id和candicate beam信息(评估完成的话)包含在MAC CE中发送给网络,网络收到MAC CE后,会通过回复MAC CE对应的UL grant,或者deactive Scell 的方式,完成BFR过程。
至此BFR过程结束,最后对BFD BFR过程做个简短的总结。
前4条对应Spcell场景:
1 BFI的上报主要与Qout ,LR有关系:当Beam radio link quality低于门限Qout,LR 则认为带发生beam failure,向MAC层上报一次BFI,BFI_COUNTER ++;当有beam failure instance indication 从底层上报 就会开启BeamFailureDetectionTimer,此时BFI_counter=1;timer超时前达到beamFailureInstanceMaxCount ,则认为Beamfailure;
如果在BeamFailureDetectionTimer超时前,没有超过beamFailureInstanceMaxCount 则认为Beam恢复正常并将BFI_COUNTER 重置为0。
2 当q1中的resource Beam radio link quality 高于Qin,LR时,会上报resource index给MAC ,上报resource index后,若发生BFR会进行RA,这时候就会用到对应的resource。
3如果网络有配置BeamfailureRecoveryConfig,里面会带CFRA 的参数,则会先进行CFRA ,在进行CFRA时BeamFailureRecoveryTimer会启动,如果超时但是Msg1的重传还未达到最大次数,则仍可以继续进行CBRA ;如果Msg1先达到最大重传次数,但是RACH 仍然没有成功,那会以RACH fail(RLF)的方式告知RRC层,以便RRC层进行RLF之后的链接恢复过程。
另外,如果spCell-BFR-CBRA=true此时在进行CBRA时,要在第一次发送的MSGA/MSG3包含BFR MAC CE(带有Spcell beam failure 的indication)送出去。当完成RA 过程后,在PCell的BFR 就算完成了。
4前面叙述的BFD/BFR过程,RRC层只能通过BFR失败,以RACH fail触发RLF的形式感知到,BFD和BFR过程RRC层无法感知,主要受MAC层控制。
5 SCell发生Beam failure的话,会走发送BFR MAC CE的流程 ,告知网络哪些SCell发生了Beam Failure的情况及candidate SSB/CSI-RS信息等,网络收到MAC CE后,会通过回复MAC CE对应的UL grant或者deactive Scell 的方式,完成BFR过程。