Monday 28 November 2016

Measurement Control(RRC Connection Reconfiguration) in LTE

RRCConnectionReconfiguration ( measurement configuration provided to the UE)

  • Measurement Objects
  • Reporting Configurations
  • Measurement Identities
  • Quantity configurations
  • Measurement gaps

Layer 3 Filtering  

This tutorial will focus on the measurement report. The measurement report is the mechanism used by the UE to tell the network whatever results have been requested. Typically, these are measurements of the surrounding cells. They can also include requested measurements of block error rate, transmit power and other UE-based parameters. The UE learns the requested information using a measurement configuration.



When a UE is in RRC-CONNECTED mode, this measurement configuration is provided to the UE by means of dedicated signaling; typically using the RRC Connection Reconfiguration message. RRC Connection Setup,RRC Connection Reconfiguration and RRC Connection Re-establishment messages are used to configure UE measurement reporting,i.e they replace the Measurement Control message used by UMTS.
The eNode B can request the UE to complete the following types of measurements:
  • Intra-frequency:measurement on the same RF carrier as the serving cell(s)
  • Inter-frequency:measurements on an LTE RF carrier which is not used by the serving cell(s)
  • Inter-RAT UTRAN  FDD and TDD
  • Inter-RAT GERAN
  • Inter-RAT CDMA2000 HRPD or CDMA2000 1XRTT
When Carrier Aggregation is used for LTE Advanced there are multiple serving cells and each serving cell has its own RF carrier.
Measurements on any RF carrier belonging to a serving cell are categorized as intra-frequency.
RRCConnectionReconfiguration 
The measurement configuration provided to the UE includes the following parameters:
Measurement Objects:  
The objects on which the UE shall perform the measurements; i.e. frequencies and cells.  In other words:  who should the UE measure? These include intra- and inter- frequency neighbors, IRAT UMTS neighbors, IRAT GSM neighbors and IRAT CDMA2000 HRPD and 1xRTT neighbors.
Intra-frequency and inter-frequency measurement object can specify individual cells to measure ,and individual cells to exclude from measurements . Individual cells are referenced by their Physical layer Cell Identities(PCI).These objects can also request the UE to report the Cell Global Identity(CGI) for specific PCI.
Inter-RAT UTRAN measurement object can specify individual cells to measure by listing their scrambling codes.This object cal also request the UE to report the CGI for specific PCI.
Inter-RAT GERAN measurement object specify which Network Colour Code(NCC) the UE is permitted to measure.This object can also request the UE to report the Cell Global Identity (CGI) for specific BSIC.

Reporting Configurations:  
The criteria used by the UE to trigger the transmission of a measurement report and the quantities that the UE includes in the report. In other words: when should the UE send a report?  This trigger can either be periodical or event-based.
for LTE ,the trigeering mechanism for sending a report can be either event driven or periodic.Event driven reports are based upon events A1,A2,A3,A4,A5 and A6. Periodic reports are based upon the expiry of a timer.The purpose of periodic reporting is signalled to either ‘reporting the strongest cells’ or ‘reporting CGI’ . The triggering quantity can be specified to be either RSRP or RSRQ, while the reported quantity can be specified to be either the same as the triggering quantity ,or both RSRP and RSRQ.The maximum number of cells to report is specified.
for inter-RAT,the triggering mechanism for sending a report can be either event or periodic.Event driven reports are based upon events B1 and B2. Periodic reports are based upon the expiry of a timer.The purpose of periodic reporting is signalled to be either ‘reporting the strongest cells’ , ‘reporting the strongest cells for SON’ or ‘reporting a CGI’ .The maximum number of cells to report is specified.Triggering quantities are dependent upon the RAT,e.g UTRAN events can be based upon either CPICH RSCP or CPICH Ec/I0.
Measurement Identities: 
An identifier that links one measurement object with one reporting configuration.  In other words: the UE needs to keep track of the objects to be measured and their specific triggers.  The measurement identity is used as a reference number in the measurement report.
Quantity configurations: 
The measurement quantities and associated filtering used for all event evaluation and related reporting per Radio Access Technology.Measurement quantities can also be specified for UTRAN,GERAN and CDMA2000.

Measurement gaps 

Periods of time that the UE may use to perform measurements while in connected mode.

What does measurement gap means? and how to calculate measurement gaps?
Before the handover, UE normally measure the cell power (signal quality) of the target cell and report it to the network, so that network can make a decision whether to allow UE to handover to the target cell or not.Issue does not come when UE  measure the signal quality of the target cell if the target cell is at the same frequency as the current cell (Intrafrequency measurement) but an issue when the target cell is at a different frequency from the current cell (Interfrequency measurement).
The simplest solution for Inter frequency measurement, the simplest solution for this would be to implement two RF tranciever on UE.
However, there are some problems with this kind of two transceiver solution. One of the problems is cost issue. It would require additional cost to implement the additional transceiver. The other problem would be the possible interference between the current frequency and target frequency especially when the current frequency and target frequency are close to each other
In short, measurement gaps are typically needed by the UE (having a single RF) to monitor cells on other frequencies than the serving cell, i.e. LTE inter-frequency as well as inter-RAT (e.g. GSM and 3G) cells
Same concept is implemented in UMTS as “compress mode” but now in LTE – the Measurement GAP((e.g, Starting Position of the Gap, Gap length, number of Gaps etc)  is to create a small gap during which no transmission and reception happens. since there is no signal transmission and reception during the gap, UE can switch to the target cell and perform the signal quality measurement and come back to the current cell.
Setup the measurement gap configuration indicated by the measGapConfig in accordance with the received gapOffset, i.e., the first subframe of each gap occurs at an SFN and subframe meeting the following condition:
SFN mod T = FLOOR(gapOffset/10);
subframe = gapOffset mod 10;  (Example: if gapOffset is {gp0, 0 mod 10= 0} or {gp1 ,1 mod 10=1} )
with = MGRP/10 as defined in TS 36.133 (T =40/10 =4)
============================================================================
Example   1:
rrcConnectionReconfiguration-r8 {
measConfig {
measObjectToAddModList[0] {
                                                                  measObjectId = 17
                                                                  measObject {
                                                                           measObjectEUTRA {
                                  carrierFreq = 300
                                  allowedMeasBandwidth = mbw100
                                  presenceAntennaPort1 = FALSE
                                  neighCellConfig = { 2, 00xxxxxx }
                                  offsetFreq = dB0
                                                                           cellsToAddModList[0] {
                                                      cellIndex = 1
                                                      physCellId = 402
                                                      cellIndividualOffset = dB0
                                                                                                                              }
                                                                                                                        }
                                                                                                 }
                                                                                          }
   reportConfigToAddModList[0] {
                                                                   reportConfigId = 17
                           reportConfig {
                                        reportConfigEUTRA {
                                                                    triggerType {
                                                                                          event {
                                                                                                  eventId {
                                                                                                                eventA1 {
                                                                                                                          a1_Threshold {
                                                                                                                                      threshold-RSRP = 1
                                                                                                                                       }
                                                                                                                             }
                                                                                                                      }
                                                   hysteresis = 1
                                                   timeToTrigger = ms40
                                                                                                                                           }
                                                                                                                                       }
                                 triggerQuantity = rsrp
                                 reportQuantity = sameAsTriggerQuantity
                                 maxReportCells = 8
                                 reportInterval = ms640
                                 reportAmount = r16
                                                                                                                     }
                                                                                                             }
                                                                                               }
 reportConfigToAddModList[1] {
                                                                     reportConfigId = 18
                                                                     reportConfig {
   reportConfigEUTRA {
                                 triggerType {
                                                         event {
                                                                  eventId {
                                                                        eventA2 {
                                                                             a2_Threshold {
                                                                                          threshold-RSRP = 1
                                                                                            }
                                                                              }
                                                                       }
                                       hysteresis = 1
                                       timeToTrigger = ms40
                                    }
                                 }
                                 triggerQuantity = rsrp
                                 reportQuantity = sameAsTriggerQuantity
                                 maxReportCells = 8
                                 reportInterval = ms640
                                 reportAmount = r16
                             }
                    }
                                                                                              }
reportConfigToAddModList[2] {
                           reportConfigId = 19
                           reportConfig {
                              reportConfigEUTRA {
                                 triggerType {
                                    event {
                                             eventId {
                                                        eventA1 {
                                                                  a1_Threshold {
                                                                                threshold-RSRQ = 1
                                                                               }
}
                                                                                                                                          }
                    hysteresis = 1
                    timeToTrigger = ms40
                                            }
                                    }
                                 triggerQuantity = rsrq
                                 reportQuantity = sameAsTriggerQuantity
                                 maxReportCells = 8
                                 reportInterval = ms640
                                 reportAmount = r16
                              }
                    }
                                                                                            }
reportConfigToAddModList[3] {
                           reportConfigId = 20
                           reportConfig {
                              reportConfigEUTRA {
                                 triggerType {
                                    event {
                                       eventId {
                                          eventA2 {
                                                     a2_Threshold {
                                                                 threshold-RSRQ = 1
                                                      }
                                                   }
                                                                                                                                                  }
                                       hysteresis = 1
                                       timeToTrigger = ms40
                                    }
                              }
                                 triggerQuantity = rsrq
                                 reportQuantity = sameAsTriggerQuantity
                                 maxReportCells = 8
                                 reportInterval = ms640
                                 reportAmount = r16
                              }
                    }
 }
reportConfigToAddModList[4] {
                           reportConfigId = 21
                           reportConfig {
                              reportConfigEUTRA {
                                 triggerType {
                                    event {
                                       eventId {
                                          eventA3 {
                                                           a3_Offset = 1
                                                           reportOnLeave = TRUE
                                                          }
                                                   }
                                         hysteresis = 1
                                         timeToTrigger = ms40
                     }
                    }
                                 triggerQuantity = rsrp
                                 reportQuantity = sameAsTriggerQuantity
                                 maxReportCells = 8
                                 reportInterval = ms640
                                 reportAmount = r16
                                                                                             }
                                                                              }
                                                                    }
measIdToAddModList[0] {
                           measId = 17
                           measObjectId = 17
                           reportConfigId = 17
                                                              }
measIdToAddModList[1] {
                           measId = 18
                           measObjectId = 17
                           reportConfigId = 18
            }
measIdToAddModList[2] {
                           measId = 19
                           measObjectId = 17
                           reportConfigId = 19
              }
measIdToAddModList[3] {
                           measId = 20
                           measObjectId = 17
                           reportConfigId = 20
            }
measIdToAddModList[4] {
                           measId = 21
                           measObjectId = 17
                           reportConfigId = 21
            }
quantityConfig      {
                            quantityConfigEUTRA {
                              filterCoefficientRSRP = fc4
                              filterCoefficientRSRQ = fc6
                           }
                                      }
                        s_Measure = 0
}
==================================================================================
Example:2 
rrcConnectionReconfiguration-r8 {
measConfig   {
measObjectToAddModList[0] {
                           measObjectId = 18
                           measObject {
                           measObjectEUTRA {
                                    carrierFreq = 2
                                    allowedMeasBandwidth = mbw6
                                    presenceAntennaPort1 = FALSE
                                    neighCellConfig = { 2, 01xxxxxx }
                                   offsetFreq = dB-20
                                   cellsToAddModList[0] {
                                           cellIndex = 1
                                           physCellId = 3
                                           cellIndividualOffset = dB0
                                                    }
                   }
measObjectToAddModList[1] {
                                                              measObjectId = 19
                                                              measObject {
                                measObjectUTRA {
                                        carrierFreq = 9670
                                        offsetFreq = 1
                                        cellsToAddModList {
                                        cellsToAddModListUTRA-FDD[0] {
                                                   cellIndex = 1
                                                   physCellId = 1
                                                    }
              }
}
}
 reportConfigToAddModList[0] {
                                                                  reportConfigId = 22
                                                                  reportConfig {
                                              reportConfigEUTRA {
                                                                         triggerType {
                                                                                    event {
                                                                                            eventId {
                                                                                                      eventA4 {
                                                                                                            a4_Threshold {
                                                                                                                       threshold-RSRP = 1
                                                                                                                        }
                                                                                                               }
                                                                                                  }
                                                                                                   hysteresis = 1 
                                                                                                   timeToTrigger = ms40
                                                                                               }
                                                                                         }
                                 triggerQuantity = rsrp
                                 reportQuantity = sameAsTriggerQuantity
                                 maxReportCells = 8
                                 reportInterval = ms640
                                 reportAmount = r16
                                }
                          }
             }
 reportConfigToAddModList[1] {
reportConfigId = 23
reportConfig {
reportConfigEUTRA {
                            triggerType {
                                            event {
                                                eventId {
                                 eventA5 {
                                         a5_Threshold1 {
                                                threshold-RSRP = 1
                                                }
                                          a5_Threshold2 {
                                                threshold-RSRP = 1
                                                       }
                                               }
                             }
                      hysteresis = 1
                      timeToTrigger = ms40
                                               }
                                          }
                                 triggerQuantity = rsrp
                                 reportQuantity = sameAsTriggerQuantity
                                 maxReportCells = 8
                                 reportInterval = ms640
                                 reportAmount = r16
                              }
              }
 }
 reportConfigToAddModList[2] {
       reportConfigId = 24
       reportConfig {
                      reportConfigInterRAT {
                                 triggerType {
                                               event {
                                                    eventId {
                                           eventB2 {
                                                 b2_Threshold1 {
                                                        threshold-RSRP = 50
                                                      }
                                                  b2_Threshold2 {
                                                         b2-Threshold2UTRA {
                                                         utra-RSCP = 1
                                                    }
                                                             }
                                                          }
                                                        }
                                                hysteresis = 1
                                                timeToTrigger = ms40
                                              }
                                            }
                                 maxReportCells = 1
                                 reportInterval = ms640
                                 reportAmount = r16
                              }
                           }
                        }
     measIdToAddModList[0]   {
                                          measId = 22
                                          measObjectId = 17
                                          reportConfigId = 22
                                                  }
  measIdToAddModList[1]  {
                                                    measId = 23
                                                    measObjectId = 18
                                                    reportConfigId = 23
                                                   }
  measIdToAddModList[2]  {
                                                 measId = 24
                                                 measObjectId = 19
                                                 reportConfigId = 24
                                                 }
quantityConfig   {
                   quantityConfigEUTRA {
                                                                       filterCoefficientRSRP = fc4
                                                                       filterCoefficientRSRQ = fc6
                                                                 }
                   quantityConfigUTRA   {
                                                      measQuantityUTRA_FDD = cpich-RSCP
                                                      measQuantityUTRA_TDD = pccpch-RSCP
                                                      filterCoefficient = fc11
                                               }
                                       }
measGapConfig    {
                                       setup {
                                                    gapOffset  {
                                                              gp0 = 3
                                                                  }
                                                    }
                                           }
                           s_Measure = 0
                     }
                  }
 }
=============================================================================


5 comments:

  1. thank very well explained.but one thing if in measurement gap no transmission and reception occurs then how UE measure to target cell for inter freq or inter rat measurement.

    ReplyDelete
    Replies
    1. Here measGapConfig is also part of measurement control but it is not included here.

      Delete
  2. Hi,

    This is a very good explanation and good examples. Just a small query in the examples that you have mentioned. In Example 1, i see that there are no measGapConfig section, where as in the Example 2, i see that there is measGapConfig section. Can you explain why this is the case?

    Also,For clarity sake, it will be really helpful if you can share across the Measurement Reports for each of these Measurement IDs.

    Regards,
    Navin Sajan Arunachalam.

    ReplyDelete
    Replies
    1. Correct Here measGapConfig is also part of measurement control but it is not included here.

      Ok i will try to add Measurement Reports for meas id

      Delete
  3. As per measobject and reportconfig it is intra freq and no need measgap for this scenario. Measgap is applied when interfreq or interrat measurement is need

    ReplyDelete

If You have any concern you are free to message/comment me.