NR的切换机制和LTE几乎一样,大部分情况下采取基站控制,终端辅助完成:

第一步:基站向UE 下发测量控制 measConfig,测量控制以measId的形式下发给UE,每个measId包括两个元素:measObjectId 和 reportConfigId,这两个元素在同一条measConfig的开始的部分。也就是基站把测控消息编了一个表,到时候UE 直接上发这个ID就行,基站收到ID 就知道是对应着哪个测量事件了。

measConfig {
         measObjectToAddModList {
           {
             measObjectId 1,
             measObject measObjectNR : {
               ssbFrequency 120000,
               ssbSubcarrierSpacing kHz15,
               smtc1 {
                 periodicityAndOffset sf20 : 0,
                 duration sf1
               },
               referenceSignalConfig {
                 ssb-ConfigMobility {
                   deriveSSB-IndexFromCell TRUE
                 }
               },
               quantityConfigIndex 1,
               offsetMO {
                 rsrpOffsetSSB dB0,
                 rsrqOffsetSSB dB0,
                 sinrOffsetSSB dB0,
                 rsrpOffsetCSI-RS dB0,
                 rsrqOffsetCSI-RS dB0,
                 sinrOffsetCSI-RS dB0
               },
               freqBandIndicatorNR 71
             }
           }
         },
         reportConfigToAddModList {
           {
             reportConfigId 1,
             reportConfig reportConfigNR : {
               reportType eventTriggered : {
                 eventId eventA3 : {
                   a3-Offset rsrp : 6,
                   reportOnLeave FALSE,
                   hysteresis 2,
                   timeToTrigger ms640,
                   useWhiteCellList FALSE
                 },
                 rsType ssb,
                 reportInterval ms480,
                 reportAmount infinity,
                 reportQuantityCell {
                   rsrp TRUE,
                   rsrq TRUE,
                   sinr TRUE
                 },
                 maxReportCells 1,
                 includeBeamMeasurements FALSE
               }
             }
           }
         },
         measIdToAddModList {
           {
            measId 1,
             measObjectId 1,
             reportConfigId 1
           }
         },

第二步:UE 根据收到的测量控制,去指定的RAT,频率上测量“周边小区”(这个小区即使没有配置在服务小区的邻小区列表中也会被测量,上报)并按照测量事件配置进行上报;

message c1 : measurementReport : {
     criticalExtensions measurementReport : {
       measResults {
         measId 1,
         measResultServingMOList {
           {
             servCellId 0,
             measResultServingCell {
               physCellId 184,
               measResult {
                 cellResults {
                   resultsSSB-Cell {
                     rsrp 66,
                     rsrq 65,
                     sinr 127
                   }
                 }
               }
             }
           }
         },
         measResultNeighCells measResultListNR : {
           {
             physCellId 171,
             measResult {
               cellResults {
                 resultsSSB-Cell {
                   rsrp 73,
                   rsrq 65,
                   sinr 127
                 }
               }
             }
           }
         }
       }
     }
   }

第三步:基站收到MR(Measurement Report)后,根据判决门限以及邻区配置进行切换准备、执行。比如,UE 上报的邻区的频点和PCI和邻区中的某个邻小区对上了,就会触发后边的切换准备。

第四步,基站下发重配消息给UE,告诉UE目标小区的信息。这里有点跟LTE不同的地方: LTE 的重配消息,有mobilityControlInfo这个IE去告知UE target cell的相关信息;但是在NR中,没有mobilityControlInfo这个IE了,而是spCellConfig中包含的reconfigurationWithSync来告诉UE target cell信息,包括T304等定时器。(还没理太清楚,后边再更新)

第五步,UE 完成目标cell接入后,上发重配完成。

下边整理一下A1 A2 A3 A4 A5 A6 B1 B2等测量相关事件,具体公式没有写,其实就是门限的基础上考虑一个迟滞,迟滞的作用是避免乒乓切换。 我们可以粗略的认为迟滞是系统倾向使UE保持当前的状态。

3GPP 协议 38.331 有详细描述:

5.5.4       Measurement report triggering

        5.5.4.1         General

服务小区好于一个绝对门限,单位dBm。

服务小区低于一个绝对门限,单位dBm。

邻小区比当前服务小区好于一个相对值,这是一个offset,单位dB。

邻小区好于一个绝对门限,单位dBm。

服务小区低于一个绝对门限threshold1,并且邻小区好于一个绝对门限threshold2,单位dBm。一种特殊情况:如果把threshold1设置成A2一样的值,那么A5 就相当于A4了。

SCELL间切换的相对门限,单位dB。

异系统邻小区好于一个绝对门限,单位dBm。

        5.5.4.9         Event B2 (PCell becomes worse than threshold1 and inter RAT neighbour becomes better than threshold2)服务小区低于一个绝对门限threshold1,并且异系统邻小区好于一个绝对门限threshold2,单位dBm。

5.5.5       Measurement reporting

先写这些,有错误或者新的想法再更新。