微信同步更新欢迎关注同名modem协议笔记
正如上篇所述NR中所有的上下行信道的发送和接收都是基于波束。基站通过对信道质量的测量来动态选择UE和基站之间波束的方向和频率,进而完成通信。NR中无线链路检测可以分为两种,一种是4G中常见的radio link monitoring,失败后对应的就是radio link failure ,主要是RRC层控制触发;另一种就是这篇提及beam 相关的Beam Failure Detection(BFD),主要是MAC层控制触发。接上篇结尾,如果遇到不能通过QCL/TCI修正beam的场景,UE就会发生Beam failure,之后就需要先进行beam failure recovery 的方式尝试恢复正常连接,BFD就是在NR中才出现的机制,FR2中由于频率更高,Beam的管理显得尤为重要,因而BFD/BFR机制通常会在FR2下才会开启,现在的FR1网络中基本都没有开启BFD功能,但这个机制还是比较重要的。就像搞2/3/4G不能不知道radio link failure,学习NR 5G也不能不知道BFD和BFR流程。这篇先看Beam Failure Detection(BFD)。
先看下38.133 8.5.1描述的BFD应用场景。
BFD 主要应用的场景是:
(1)PCell in SA, NR-DC or NE-DC
(2)PSCell in NR-DC EN-DC
(3)SCell in SA NR-DC NE-DC EN-DC
beam failure 主要用在上面场景中的对应cell上,其中SCell部分是新增内容,R15版本是不支持SCell的BFD的。
再看下38.300 9.2.8 Beam failure detection and recovery中大体流程的描述。
gNB 给UE配置用于BFD 参考信号(参考信号可以是SSB或CSI-RS),在BFD timer超时前,物理层报告给MAC 的beam failure instance indication超过配置的门限时,即认为发生Beam failure.
SSB-based BFD是基于和initial DL BWP 相关联的SSB机制,且只能配置在包含SSB 配置的initial DL BWPs。对于其他的DL BWP, BFD的参考信号只能用CSI-RS。
BFD 发生在Pcell时:
UE 通过在Pcell上进行RA 过程来触发BFR;UE 要选择suitable beam去进行BFR(如果gNB 配置了某些beams 的dedicated RA资源,UE会优先参考配置的beams);如果BFR 要进行CBRA 则要在BFR MAC CE 中包含beam failure 的indication(这句话是R16才有的,针对BFR MAC CE增加的一个步骤)。当完成RA 过程后,在PCell的BFR 就算完成了
BFD 发生在Scell时:
UE 通过发送BFR MAC CE来触发BFR(包含的一些参数后面介绍);UE 之后为SCELL选择suitable beam 并将这个信号包含在BFR MAC CE 中发送给NW;一旦 在PDCCH 收到用于发送BFR MAC CE 的新传UL grant ,就认为Scell 的BFR完成。
总的来说,BFD和Radio link failure的机制比较类似,都是根据RRC层配置的参考信号让L1去测量,拿测量值结合对应的门限,判断是否上报对应的failure;但是有所不同,RLF的描述主要在RRC层38.331,触发场景就是T310超时(连续收到L1 N310 consecutive "out-of-sync" indications,开启T310,在T310超时前,没有收到N311个in sync indication ),RLC上行达到最大重传次数rlc-MaxNumRetx,RA fail等等,主要是RRC层决策作用。而Beam failure detection的描述主要在38.321,也就是说是MAC层起决策作用的机制。Beam failure detection的相关参数也由RRC层配置,下面就从RRC层的配置看下Beam failure detection,而和BFD相关的参数主要由RadioLinkMonitoringConfig提供。
RadioLinkMonitoringConfig
其主要功能是配置UE进行波束失败检测的下行参考信号,beamFailureInstanceMaxCount及timer相关参数。
beamFailureDetectionTimer:Beam failure 检测定时器。
beamFailureinstanceMaxCount:底层检测失败的最大个数,在timer超时前,底层上报的BFD indication 达到maxcount时,就认为发生BFD,之后会触发BFR流程。而rlf和Beam failure检测参考信号相关的参数都可以由RadioLinkMonitoringRS配置,由purpose确定具体用途。
根据failureDetectionResourcesToAddModList中的描述用于beamFailure或both的检测RS资源最多配置2个(每BWP);如果没有对BFD场景配置参考信号,UE要根据和PDCCH DMRS有TCI-state的参考信号进行BFD检测,RLF同理。再次重复下,用于BFD/RLM的参考信号可以是SSB和CSI-RS,在initial DL BWPs 包含SSB的场景只能配置SSB作为参考信号,其他DL BWPs,必须配置CSI-RS 为参考信号,上面这个规定在38.300 radio link failure 和Beam failure detection and recovery中描述,这篇说的是BFD,RLF相关的内容,暂时忽略。
Beam failure detection 相关参数的介绍
参考信号的配置
基站侧会通过RadioLinkMonitoringRS给UE配置用于检测BFD 的参考信号,然后通过failureDetectionResourcesToAddModList从RadioLinkMonitoringRS选取最终用于BFD的参考信号,这些参考信号用对应的id区分,例如csi-RS-Index,ssb-Index。对于link recovery 过程,基站侧可配置的参考信号个数由每半帧SSB的最大发送个数相关联,L=4/8/64,如38.213 table 5-1,每半帧SSB的最大发送个数L详见NR小区搜索(一) SSB。
个人理解这里的NLR-RLM代表配置的用于link recover(BFD)和radio link monitoring的总的参考信号个数,对应RRC层参数purpose配置为both时的参考信号个数(如下图),Nrlm代表用于radio link monitoring的参考信号个数。当然参考信号也可以根据purpose 为beamFailure和rlf分开配置,对于link recovery场景,最多只能用2个参考信号,对应radio link monitoring场景,可用的参考信号个数与L相关联。
根据38.213 Table 5-1中的信息,如果Lmax=64,则基站侧可以给UE配置最多8个用于link recovery和radio link monitoring的参考信号,最多只有8个参考信号用于radio link monitoring。给UE配置了对应个数的参考信号,并不代表UE可以全都用,如上述,对于配置的Nlr-RLM个参考信号,最多只能将Nrlm个参考信号用于radio link monitoring;对于BFD场景,会通过failureDetectionResourcesToAddModList配置最后真正用于BFD的参考信号,这时最多只能采用其中的2个参考信号,其purpose可以是beam failure或者both。
RRC 层的参数结构,RadioLinkMonitoringRS可以通过purpose 确定用于beamfailure还是rlf场景,而可配置的resource最多对应10个。
q0和q1
38.213 6 Link recovery procedures
服务小区的每个BWP可以通过failureDetectionResourcesToAddModeList配置periodic CIS-RS resource set q0 ;由candidateBeamRSList 或candidateBeamRSListExt/candidateBeamRSSCellList 配置set q1,q1可以是periodic CSI-RS resource或SSB。
如果UE 没有收到failureDetectionResourcesToAddModList配置q0,则UE 用和PDCCH DMRS有QCL 关系的periodic RS来做q0 (TCI-State 中的 RS set)。如果TCI-state中有2个RS indexes,则set q0采用为qcl-Type设置为'typeD'的RS索引。set q0 最多可以配置2个参考信号,且对应的参考信号只能配置为单天线。q0中配置的CSI-RS可以是单天线或者双天线,但是参考信号的密度要对应1或者3个RE(每RB)。
RRC层candidateBeamRSList配置CSI-RS/SSB的结构如下。
PCell/PSCell用于BFD 的RS resource set 可以是periodic CSI-RS resources或SSB; SCell BFD 的RS resource set q0 只能是periodic CSI-RS。
UE 只需要在当前激活的DL BWP 内进行BFD,不需要在以外的范围进行BFD。如果UE没有收到RS resouce set q0的配置,则忽略CSI-RS和SSB有关检查beam failure detection的要求,但是BFD还有要进行的,如前述,没有收到q0的配置时,UE 用和PDCCH DMRS有QCL 关系的periodic RS来做q0。deactive的SCell不需要进行BFD。
当前SCell 如果配置有多于2个periodic CSI-RS resource set q0 ,由UE决定应该选择哪个进行BFD;当SCell没有配置q1 set时,UE 不需要进行BFD。
如下假如此时UE没有收到BFD 参考信号q0,此时网络端激活了PDCCH tci state id 0,对应的是CSI-RS 0与PDCCH 是type A的QCL 关系,那此时UE就要用CSI-RS 0去进行BFD
用于BFD检测的参考信号确定后,L1测量后还有要与对应的门限进行比较的,BFD这里对应到Qout_LR 和Qin_LR。
Qout_LR 和Qin_LR
q0和Qout_LR相关联,主要用于判断beam是否会发生beam failure。针对q0中每一个RS resource 配置,UE 应该根据Qout_LR去评估服务小区 beams的radio link quality。
Qout_LR 代表UE根据q0及PDCCH bler 10%去评估DL link 无法可靠接收的threshold。根据参考信号的不同,要用不同的标准去推导对应的threshold。SSB based BFD,Qout_LR_SSB 要基于表8.5.2.1-1中的PDCCH 参数推导;CSI-RS based BFD,Qout_LR_CSI-RS 要基于表8.5.3.1-1中的PDCCH 参数推导,值得注意的是,在检测BFD时,只针对DCI format 1_0 bler,不考虑其他DCI format。
q1和Qin_LR 相关,主要用于beam 是否恢复正常的判断。当测量的L1-RSRP 等于或优于阈值 Qin_LR(Qin_LR 由RRC层 rsrp-ThresholdSSB提供),UE要将set q1中满足门限的resouce index告知MAC层。对于Qin,LR的取值,当配置的RS =ssb时 取rsrp-thresholdSSB;当配置的RS=CSI-RS 取rsrp-thresholdSSB ×powerControlOffsetSS。set q1中的参考信号可以是分别是periodic CSI-RS resource或SSBs,也可以同时配置SSB和CSI-RS resource。当q1没有配置时,UE不用对SCell进行候选波束的检测。
Qout_LR 的确定原则与RRC层参数rlmInSyncOutOfSyncThreshold的值相关,配置时rlmInSyncOutOfSyncThreshold=1,缺省值为0,这个value对应的是38.133中的Table 8.1.1-1中的configuration 的值,我看的是g60版本,随后也查了下h60/f60版本,发现这个Table 8.1.1-1始终只有value 0即对应的 BLER out =10%,BLERin=2%;另外刚刚上面提及协议中有关Qout_LR的描述也是按照默认10%的原则去叙述的,最后加上目前实网中针对的是R15版本协议,rlmInSyncOutOfSyncThreshold一般都是缺省配置的,即用的value 0的情况,所以这里我们忽略value 1,应该是协议哪里出错了,没有补上38.331中rlmInSyncOutOfSyncThreshold=1的坑。Qout_LR简单的说是在PDCCH bler 10%标准下,芯片厂根据rsrp rsrq sinr 和上述门限,按照一定的算法算出对应的门限值,然后UE再根据对q0的测量结果和门限进行比较后,再上报beam failure indication,如果在beamFailureDetectionTimer配置的具体时间超时前,上报的beamFailreInstance 达到MaxCount时,就认为发生beam failure;否则就认为beam是正常的。Qin_LR的配置与rsrp-thresholdSSB(Spcell)和rsrp-thresholdBFR(SCell)相关。
UE在判断BFD对应的参考信号是否低于Qout_LR时,需要一定的时间去评估,38.133中有分别针对SSB和CSI-RS的Evaluation period进行了描述如下,分别针对FR1和FR2 对应no DRX 和DRX cycle >320ms 和<=320ms进行区分。
对Qout_LR评估完成后,如果满足条件就要上报beam failure indication,但是连续上报的时间间隔也是有要求的。
BFI上报相关规则
在non-DRX/DRX场景下,当q0中所有resource测得的radio link quality(UE当前接入的radio link)低于Qout_LR时,L1需要向MAC层上报一次beam failure indication,注意这里说的是测得q0中所有的resource 都低于Qout_LR,才上报beam failure indication。而具体的上报periodicity在38.133中有描述,如下,连续的indication的上报有一个最小的时间间隔Tindication_interval_BFD的规定。
q0中所有RS 资源radio link quality 低于Qout_LR,L1 要向MAC 层上报beam failure instance indication。两个连续的indication 的上报有一个最小的间隔Tindication_interval_BFD:
no DRX 时 Tindication_interval_BFD =max(2ms, TSSB-RS,M) or max(2ms ,TCSI-RS,M) ,其中TSSB-RS,M和TCSI-RS,M是q0中配置的SSB和CSI-RS resource对应的最小周期。
SSB based with DRX:
Tindication_interval_BFD =max(1.5×DRX_cycle_length,1.5*TSSB-RS,M) DRX_cycle_length<=320ms
Tindication_interval_BFD =DRX_cycle_length DRX_cycle_length>320ms
CSI-RS based with DRX:
Tindication_interval_BFD =max(1.5×DRX_cycle_length,1.5*TCSI-RS,M) DRX_cycle_length<=320ms
Tindication_interval_BFD =DRX_cycle_length DRX_cycle_length>320ms
beamFaileureDetectionTimer 代表BFD的timer,例如取pbfd1时,代表1个Qout_LR报告的period,pbfd2代表2个Qout_LR报告的period。结合之前38.133中对于2个连续的out of LR indication 的上报最小的间隔Tindication_interval_BFD的规定,pbfd就是指Tindication_interval_BFD;那这里的配置要注意,不能配置的Timer过短,而MaxCount太大,比如配置的Timer=pbfd2,MaxCount=4,这种配置情况下,UE只能在pbfd2的时间段内,最多上报3次beam failure indication,不可能上报4次,所以这种配置下,即使beam真的有问题,也不能够触发BFD;实网环境下参数基本不会有误,直接关注BFD的判断规则就行,也就是根据beamFailureDetectionTimer配置的具体时间,在timer超时前,上报的beamFailreInstance 大于等于MaxCount时,就认为发生beam failure;否则就认为beam是正常的。
对于PCell/PSCell,当MAC向L1要set q1中L1-RSRP好于门限Qin_LR的periodic CSI-RS或SSB index时,L1要上报满足门限要求的resource index。
对于SCell,当MAC 向L1要高于门限的resource index时,L1要告知MAC 是否有满足门限的resouce,有的话就上报给MAC。
至此BFD的内容基本结束了,再简单回顾下大体内容:首先R16之后的协议也支持了SCell的BFD feature;其次BFD的流程是,UE根据网络端配置的参考信号set q0进行底层测量,当q0中的所有resources的Beam radio link quality都低于门限Qout,LR 则认为 一次 beam failure, L1上报beam failure indication 给MAC,BFI COUNTER ++; 当 beam failure instance indication 从底层上报时,BeamFailureDetectionTimer 就会开启 ,此时BFI counter记为1;BeamFailureDetectionTimer 超时前达到beamFailureInstanceMaxCount 则认为Beamfailure,之后触发beam failure recovery 过程;如果在超时时 ,没有超过beamFailureInstanceMaxCount 则认为Beam恢复正常并将BFI COUNTER 重置为0,等待下一次流程的触发。
最后配置的 set q1的作用是当set q1中的Beam radio link quality 高于Qin,LR时,底层就会上报对应的RS index给MAC,具体有什么用,下一篇beam failure recovery 再说。