The topics I will describe in this page is higher level measurement(i.e, RRC layer measurement), but this higher layer measurement is based on very complicated lower layer process. It means you need to do a lot of study on lower layer process to fully understand the details of this higher layer process and parameters that will be explained in this page. For the lower layer process related to measurement report, refer to following pages. You would need to go back and forth many times between this page and following pages.
- Low Layer Measurement
- Rrc Measurement
- Overall Structure of Measurement Item and Configuration
- Measurement Event
- Measurement GAP
- Measurement of NR Cell
- Conformance Test
Overall Structure of Measurement Item and Configuration
Measurement process is configured by a very complicated (probably the most complicated RRC configuration) and confusing RRC parameters. I would suggest you to make practice of understanding some big picture of the overall structure before digging into each individual element.
The first step for the measurement process is to determine "what to measure ?". For every measurement process, the physical entities to measure is some kind of reference signal. In LTE, those reference signal for the measurement are synchronization signal and/or CRS(Cell Specific Reference signal). Those reference signals in LTE is structured relatively simple way, so the configuration in RRC message is relatively simple. In NR, the types of reference signal is synchronization signal/PBCH Reference Signal and CSI-RS (As you know, in NR there is no Cell Specific Reference signal. Instead, we use special type of reference signal called CSI-RS).
CSI-Based Measurement Configuration
With types of reference signal for the measurements, the measurement types in NR can be catetorized as follows (this is based on 38.331-5.5.1)

RRC Based Measurement Configuration
Once the measurement item (target reference signal to measure), we have to determine the purpose of the measurement and various other details. Then finally you have to configure all of the details into RRC message. The overall structure of RRC message structure for the measurement can be summarized as follows (this is based on 38.331-5.5.1)

Followings are description of each catetories of the configurations :
-
Measurement objects Configuration : These are the entities on which the UE performs measurements. They vary by the type of measurement, such as intra-frequency, inter-frequency, and inter-RAT (Radio Access Technology), and include details like frequency/time location, cell-specific offsets, and lists of blacklisted/whitelisted cells. The object ID links the measurement object to each serving cell. Reporting configurations : These define how the UE reports measurements and include the triggering criteria, the reference signal (RS) type used for measurements, and the reporting format. Conditional reconfiguration includes additional criteria and RS types for execution.Measurement Configuration : These are lists linking measurement objects to reporting configurations. Multiple measurement identities can link to one reporting configuration, and the measurement identity is included in the report sent to the network.Quantity configurations : These configurations determine the filtering applied to measurements during event evaluation, reporting, and periodic reporting. They can have different filter coefficients for various measurement quantities and RS types.Measurement gaps Configuration : These are the time periods that the UE can utilize to perform the specified measurements.
I think you can easily understand the function/role of each components by themselves, but you would easily get lost when you look into the RRC messages from real application (e.g, field log). The confusion would come from the lack of understanding of inter-relashionships among these component. My personal approach to work around these confusions is to use data base concept (relational database in this case). Let's put aside Qunatity Configuration and Measurement Gap for now and apply database
analogy to Measurement Objects Configuration, Reporting Configuration and Measurement Configuration. Basic idea is to describe these components as a data table in a relational database as follows (
- Measurement Objects Table:
- meas_object_id (Primary Key): Unique identifier for each measurement object.
- object_type: Type of object (e.g., intra-frequency, inter-frequency, inter-RAT).
- frequency: Frequency of the measured object.
- cell_id: ID of the cell to be measured (if applicable).
- ...other attributes: (e.g., offsets, blacklisted/whitelisted cells).
- Reporting Configurations Table:
- report_config_id (Primary Key): Unique identifier for each reporting configuration.
- reporting_criteria: Conditions triggering a report (e.g., threshold, periodic).
- report_format: Structure of the report.
- rs_type: Reference signal used for measurement.
- ...other attributes: (e.g., hysteresis, time-to-trigger).
- Measurement Identities Table:
- meas_id (Primary Key): Unique identifier for each measurement identity.
- meas_object_id (Foreign Key): Links to the Measurement Objects table.
- report_config_id (Foreign Key): Links to the Reporting Configurations table.
- One-to-many between Reporting Configurations and Measurement Identities: One reporting configuration can be associated with multiple measurement identities, allowing different objects to be reported under the same rules.
- One-to-many between Measurement Objects and Measurement Identities: One measurement object can be linked to multiple measurement identities, enabling different reporting configurations for the same object under different conditions.
Measurement Object Table
|
meas_object_id |
object_type |
frequency |
cell_id |
|---|---|---|---|
|
1 |
intra-frequency |
2600 MHz |
Cell A |
|
2 |
intra-frequency |
2600 MHz |
Cell B |
Reporting Configuration Table
|
report_config_id |
reporting_criteria |
report_format |
|---|---|---|
|
1 |
periodic, frequent |
RSRP, RSRQ |
|
2 |
periodic, infrequent |
RSRP |
Measurement Configuration Table
|
meas_id |
meas_object_id |
report_config_id |
|---|---|---|
|
1 |
1 |
1 |
|
2 |
2 |
2 |
Measurment Event
A measurement event turns a continuous measurement into a reporting condition. The condition is evaluated from the configured measurement quantity and the applicable threshold or offset. Therefore, the UE does not report every sample that it measures.
Hysteresis and timeToTrigger control the decision close to a boundary. Hysteresis prevents a small change from repeatedly reversing the decision. The timeToTrigger requires the condition to remain true for the configured interval. These controls reduce unnecessary reports when the radio condition changes rapidly.
The A events apply to serving-cell and NR neighbour-cell measurements. A1 and A2 compare the serving cell with a threshold. A3 and A6 compare a neighbour with the PCell, PSCell, or SCell by using an offset. A4 checks a neighbour against an absolute threshold, whereas A5 requires both a serving-cell condition and a neighbour-cell condition.
Other event families address a different measurement purpose. B1 and B2 support inter-RAT measurement. C1 and C2 apply to NR sidelink channel-busy-ratio reporting. D1 is location based, I1 is cross-link-interference based, and X and Y events support L2 U2N relay measurements.
Conditional reconfiguration uses CondEvent A3 and CondEvent A5 to prepare a candidate before it is applied. The candidate must satisfy the configured relative or dual-threshold condition. This lets the network prepare a reconfiguration while preserving the final decision criteria.
The event-reporting path separates a measured value from the decision to send an RRC report. The threshold or offset first determines whether the event condition is met. Hysteresis and timeToTrigger then decide whether that condition is stable enough to report.
Figure 1. Measurement reporting requires both an event condition and a stable decision before the UE sends the report.
The following table groups measurement event families specified across the applicable 3GPP RRC measurement configurations. In TS 38.331 v19.3.0, ReportConfigNR carries the NR event-triggered configuration and the conditional-trigger configuration.
|
Event Type |
Description |
|
Event A1 |
Serving becomes better than threshold |
|
Event A2 |
Serving becomes worse than threshold |
|
Event A3 |
Neighbour becomes amount of offset better than PCell/PSCell |
|
Event A4 |
Neighbour becomes better than threshold |
|
Event A5 |
PCell/PSCell becomes worse than absolute threshold1 AND Neighbour/SCell becomes better than another absolute threshold2 |
|
Event A6 |
Neighbour becomes amount of offset better than SCell |
|
CondEvent A3 |
Conditional reconfiguration candidate becomes amount of offset better than PCell/PSCell |
|
CondEvent A5 |
PCell/PSCell becomes worse than absolute threshold1 AND Conditional reconfiguration candidate becomes better than another absolute threshold2 |
|
Event B1 |
Inter RAT neighbour becomes better than threshold |
|
Event B2 |
PCell becomes worse than threshold1 and inter RAT neighbour becomes better than threshold2 |
|
Event C1 |
The NR sidelink channel busy ratio is above a threshold |
|
Event C2 |
The NR sidelink channel busy ratio is below a threshold |
|
Event D1 |
Distance between UE and referenceLocation1 is above threshold1 and distance between UE and referenceLocation2 is below threshold2 |
|
Event I1 |
Interference becomes higher than absolute threshold |
|
Event X1 |
Serving L2 U2N Relay UE becomes worse than threshold1 and NR Cell becomes better than threshold2 |
|
Event X2 |
Serving L2 U2N Relay UE becomes worse than threshold |
|
Event Y1 |
PCell becomes worse than threshold1 and candidate L2 U2N Relay UE becomes better than threshold2 |
|
Event Y2 |
Candidate L2 U2N Relay UE becomes better than threshold |
Threshold events control ordinary mobility reporting : A1 through A6 express serving-cell, neighbour-cell, and SCell measurement conditions.Hysteresis and timeToTrigger stabilize each decision : a report condition must remain valid long enough to avoid repeated reports around a boundary.Event families identify the measurement context : inter-RAT, sidelink, location, interference, and relay measurements use their own event definitions.
Measurement GAP
Fundamental logic of the GAP setting is same as in LTE and Legacy case as explained above. Recap the procedure, it can be summarized as follows.
i) Get the Gap Pattern ID from RRC MeasGapConfig and additional SMTC parameter from
ii) Get the detailed Gap Setting Parameters for the Gap Pattern from 36.133 Table 8.1.2.1-1
iii) Determine Gap Subframe based on the condition described as below

What is SMTC and how is an occasion calculated?
SMTC often looks like another measurement-gap timer, but it answers a different question. SMTC identifies when the UE may measure SS/PBCH blocks on the configured ssbFrequency. A measurement gap provides time for the UE to perform that measurement when gap-assisted measurement is required.
SMTC means SS/PBCH block measurement timing configuration. It defines a repeating measurement window. It does not configure the physical transmission of an SSB. Instead, the network configures the window to match the timing of the SSBs that the UE should measure.
Parameter |
Configured value |
Meaning |
periodicityAndOffset |
sf5, sf10, sf20, sf40, sf80, or sf160 with an offset |
Defines how often the SMTC window repeats and where its first subframe occurs. |
duration |
sf1, sf2, sf3, sf4, or sf5 |
Defines the number of consecutive subframes in one SMTC measurement window. |
smtc2 |
PCI list and secondary periodicity |
Provides another periodicity for selected cells while reusing the offset and duration from smtc1. |
SMTC occasion calculation
Convert the periodicity to radio frames : T = CEIL(Periodicity / 10), because one radio frame contains ten 1 ms subframes.Find the SFN : the first subframe of an SMTC occasion satisfies SFN mod T = FLOOR(Offset / 10).Find the subframe : for a periodicity larger than sf5, the start subframe is Offset mod 10. For sf5, the start is Offset or Offset + 5.Apply the duration : the SMTC window continues for the configured number of subframes from that start point.
For example, periodicityAndOffset sf20:0 gives T = CEIL(20 / 10) = 2. The SFN condition becomes SFN mod 2 = 0, and the start subframe is 0. Therefore the SMTC occasion starts at subframe 0 of every even SFN. A duration of sf5 makes each occasion cover subframes 0 through 4.
Figure 2 separates SMTC timing from measurement-gap timing. The blue windows repeat every 20 ms, while the yellow gaps repeat every 40 ms. Only the windows beginning at 0 ms and 40 ms overlap a gap in this example.
Figure 2. SMTC identifies the SSB measurement windows, but only their overlap with a required gap creates a gap-assisted opportunity.
SMTC is not a measurement gap : SMTC identifies when an SSB may be measured. The gap identifies when the UE can suspend serving-frequency activity.SMTC duration is not SSB duration : it is the length of the configured measurement window that may contain one or more SS/PBCH blocks.Alignment determines usability : when a gap is required, an SMTC occasion outside the gap does not provide a gap-assisted measurement opportunity.
Rules may sound simple ? It may sound simple, but you would not know how complicated it is before you really try it. Rehan has put a lot of his time and effort on this and completed the excel spreadsheet to show the gap settings for each subframe automatically according to the parameters you set. He kindly allowed me to share the spreadsheet for readers. Click here to get the file.
Followings a few examples from the spreadsheet.
NOTE : You only need to set parameters highlighted in yellow. The values for grey cells are automatically derived from the vlues in yellow cells.
Example 1 > MGRP = 40ms, SSB Periodicity = 20ms
This example keeps the measurement gap repetition period (MGRP) at 40 ms and the measurement gap length (MGL) at 6 ms. The SSB occurs every 20 ms, so one SSB occasion falls between consecutive gaps. Only the occasion aligned with the six-subframe gap is available for measurement.

Detailed calculation process
Convert the periods to radio frames : one radio frame is 10 ms. Therefore T(Gap) = 40 ms / 10 ms = 4 frames, while T(SMTC) = 20 ms / 10 ms = 2 frames.Place the gap occasions : gapOffset 0 places the gap at subframe 0 of an SFN divisible by four. In the displayed range, the gap starts at SFN 4 and repeats at SFN 8. Each gap occupies subframes 0 through 5 because MGL is 6 ms.Place the SMTC occasions : SMTC offset 0 places the SSB measurement window at subframe 0 every two frames. The displayed occasions therefore start at SFN 4, 6, 8, and 10. Each window occupies subframes 0 through 4 because its duration is 5 ms.Calculate the overlap : the gap interval is [0, 6) ms and the SMTC interval is [0, 5) ms. Their overlap is min(6, 5) - max(0, 0) = 5 ms. This produces one GAP+SMTC subframe, four G+SB subframes, and one gap-only subframe.Calculate the combined cycle : LCM(40 ms, 20 ms) = 40 ms. Therefore one of every two SMTC occasions aligns with a measurement gap.
Meaning of the result : the UE receives a 6 ms measurement gap every 40 ms, which gives a 15% gap duty cycle. Five of those six milliseconds overlap the configured SSB measurement window. The SMTC occasions at SFN 6 and SFN 10 do not overlap a gap, so they cannot provide a gap-assisted measurement opportunity in this schedule. The usable aligned opportunity repeats every 40 ms.
Example 2 > MGRP = 40ms, SSB Periodicity = 40ms
This example keeps MGRP at 40 ms and MGL at 6 ms, but the SSB also repeats every 40 ms. Therefore each configured SSB occasion aligns with a gap at the selected offset. The following 36.133 tables provide the supported uniform and non-uniform gap patterns.

Detailed calculation process
Convert the periods to radio frames : T(Gap) = 40 ms / 10 ms = 4 frames. The 40 ms SSB periodicity also gives T(SMTC) = 40 ms / 10 ms = 4 frames.Place the gap occasions : gapOffset 0 places a 6 ms gap at subframe 0 every four frames. The displayed gaps therefore start at SFN 4, SFN 8, and SFN 12.Place the SMTC occasions : SMTC offset 0 places a 5 ms SSB measurement window at the same subframe every four frames. The displayed SMTC occasions also start at SFN 4, SFN 8, and SFN 12.Calculate the overlap : the gap interval remains [0, 6) ms and the SMTC interval remains [0, 5) ms. Their overlap is 5 ms. Each aligned occasion therefore contains one GAP+SMTC subframe, four G+SB subframes, and one gap-only subframe.Calculate the combined cycle : LCM(40 ms, 40 ms) = 40 ms. Therefore every configured SMTC occasion aligns with a measurement gap.
Meaning of the result : the gap duty cycle and the 5 ms overlap are unchanged from Example 1. However, there is no SMTC occasion between two gaps. Every SSB measurement window shown in the schedule is usable with the configured gap. The aligned opportunity still repeats every 40 ms, or 25 times per second.
Basically overall RRC Structure is similar to LTE/Legacy case explained above, but there are a couple of additiona flags a shown and a lot of different gapoffset as shown below.
From 36.331
MeasConfig ::= SEQUENCE {
....
measGapConfig MeasGapConfig OPTIONAL,
...
[[
measGapConfigPerCC-List-r14 MeasGapConfigPerCC-List-r14 OPTIONAL,
measGapSharingConfig-r14 MeasGapSharingConfig-r14 OPTIONAL
]],
[[
fr1-Gap-r15 BOOLEAN OPTIONAL, -- Need ON
mgta-r15 BOOLEAN OPTIONAL -- Need ON
]],
[[
measGapConfigDensePRS-r15 MeasGapConfigDensePRS-r15 OPTIONAL,
heightThreshRef-r15 CHOICE {
release NULL,
setup INTEGER (0..31)
} OPTIONAL --Need ON
]]
}
MeasGapConfig ::= CHOICE {
release NULL,
setup SEQUENCE {
gapOffset CHOICE {
gp0 INTEGER (0..39),
gp1 INTEGER (0..79),
...,
gp2-r14 INTEGER (0..39),
gp3-r14 INTEGER (0..79),
gp-ncsg0-r14 INTEGER (0..39),
gp-ncsg1-r14 INTEGER (0..79),
gp-ncsg2-r14 INTEGER (0..39),
gp-ncsg3-r14 INTEGER (0..79),
gp-nonUniform1-r14 INTEGER (0..1279),
gp-nonUniform2-r14 INTEGER (0..2559),
gp-nonUniform3-r14 INTEGER (0..5119),
gp-nonUniform4-r14 INTEGER (0..10239),
gp4-r15 INTEGER (0..19),
gp5-r15 INTEGER (0..159),
gp6-r15 INTEGER (0..19),
gp7-r15 INTEGER (0..39),
gp8-r15 INTEGER (0..79),
gp9-r15 INTEGER (0..159),
gp10-r15 INTEGER (0..19),
gp11-r15 INTEGER (0..159)
}
}
}
Following definitions are based on
MeasObjectNR ::= SEQUENCE {
}
SSB-MTC ::= SEQUENCE {
periodicityAndOffset CHOICE {
sf5 INTEGER (0..4),
sf10 INTEGER (0..9),
sf20 INTEGER (0..19),
sf40 INTEGER (0..39),
sf80 INTEGER (0..79),
sf160 INTEGER (0..159)
},
duration ENUMERATED { sf1, sf2, sf3, sf4, sf5 }
}
SSB-MTC2 ::= SEQUENCE {
pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL,
periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1}
}
< 36.133 v15.3 - Table 8.1.2.1-1: Gap Pattern Configurations supported by the UE >

< 36.133 v15.3 - Table 8.1.2.1-2: Gap Pattern Configurations for UE supporting low density burst gap pattens >

Measurement of NR Cell
The purpose of this section is to provide you with various examples of measurement configurations in RRC messages. I would suggest you to try to get big picture (overall structure) of the RRC message based on tree diagram shown in previous section.
Example 01 >
This LTE RRCConnectionReconfiguration configures both LTE and NR measurement objects. The LTE object uses carrierFreq 300, whereas the NR object uses carrierFreq-r15 631968. Separate A1, A2, and inter-RAT B1 report configurations are connected through measId entries.
This is an example RRC message for LTE measurement for LTE and NR cell from Amarisoft.
{
"rrcConnectionReconfiguration": {
"rrc-TransactionIdentifier": 0,
"criticalExtensions": {
"c1": {
"rrcConnectionReconfiguration-r8": {
"measConfig": {
"measObjectToAddModList": [
{
"measObjectId": 1,
"measObject": {
"measObjectEUTRA": {
"carrierFreq": 300,
"allowedMeasBandwidth": "mbw100",
"presenceAntennaPort1": true,
"neighCellConfig": "'01'B"
}
}
},
{
"measObjectId": 2,
"measObject": {
"measObjectNR-r15": {
"carrierFreq-r15": 631968,
"rs-ConfigSSB-r15": {
"measTimingConfig-r15": {
"periodicityAndOffset-r15": {
"sf20-r15": 0
},
"ssb-Duration-r15": "sf1"
},
"subcarrierSpacingSSB-r15": "kHz30"
},
"quantityConfigSet-r15": 1,
"bandNR-r15": {
"setup": 78
}
}
}
}
],
"reportConfigToAddModList": [
{
"reportConfigId": 1,
"reportConfig": {
"reportConfigEUTRA": {
"triggerType": {
"event": {
"eventId": {
"eventA1": {
"a1-Threshold": {
"threshold-RSRP": 90
}
}
},
"hysteresis": 10,
"timeToTrigger": "ms320"
}
},
"triggerQuantity": "rsrp",
"reportQuantity": "both",
"maxReportCells": 1,
"reportInterval": "ms120",
"reportAmount": "r1"
}
}
},
{
"reportConfigId": 2,
"reportConfig": {
"reportConfigEUTRA": {
"triggerType": {
"event": {
"eventId": {
"eventA2": {
"a2-Threshold": {
"threshold-RSRP": 60
}
}
},
"hysteresis": 0,
"timeToTrigger": "ms640"
}
},
"triggerQuantity": "rsrp",
"reportQuantity": "both",
"maxReportCells": 1,
"reportInterval": "ms120",
"reportAmount": "r1"
}
}
},
{
"reportConfigId": 3,
"reportConfig": {
"reportConfigInterRAT": {
"triggerType": {
"event": {
"eventB1-NR-r15": {
"b1-ThresholdNR-r15": {
"nr-RSRP-r15": 76
},
"reportOnLeave-r15": false
}
},
"hysteresis": 0,
"timeToTrigger": "ms100"
},
"maxReportCells": 8,
"reportInterval": "ms120",
"reportAmount": "r1",
"reportQuantityCellNR-r15": {
"ss-rsrp": true,
"ss-rsrq": true,
"ss-sinr": true
}
}
}
}
],
"measIdToAddModList": [
{
"measId": 2,
"measObjectId": 1,
"reportConfigId": 2
},
{
"measId": 3,
"measObjectId": 2,
"reportConfigId": 3
}
],
"quantityConfig": {
"quantityConfigEUTRA": {
"filterCoefficientRSRP": "fc3"
},
"quantityConfigNRList-r15": [
{
"measQuantityCellNR-r15": {
"filterCoeff-RSRP-r15": "fc3"
}
}
]
},
"measGapConfig": {
"release": null
}
}
}
}
}
}
}
It is always good practice (I strongly suggest) to summarize the configuration in a table as below.
Measurement Object Table
|
Measurement Object ID |
carrierFreq |
allowedMeasBandwidth |
carrierFreq-r15 |
bandNR-r15 |
|---|---|---|---|---|
|
1 |
300 |
mbw100 |
||
|
2 |
631968 |
setup: 78 |
Report ConfigurationTable
|
Reporting Configuration ID |
trigger Type |
trigger Quantity |
report Quantity |
max ReportCells |
report Interval |
report Amount |
reportQuantity CellNR-r15 |
|---|---|---|---|---|---|---|---|
|
1 |
eventA1 |
rsrp |
both |
1 |
ms120 |
r1 |
|
|
2 |
eventA2 |
rsrp |
both |
1 |
ms120 |
r1 |
|
|
3 |
[eventB1-NR-r15] |
8 |
ms120 |
r1 |
{'ss-rsrp': True, 'ss-rsrq': True, 'ss-sinr': True} |
Measurement Configuration Table
|
MeasurementId |
measObjectId |
reportConfigId |
|---|---|---|
|
2 |
1 |
2 |
|
3 |
2 |
3 |
Example 02 >
This NR RRCReconfiguration configures SCell measurement across SSB frequencies 621216 and 627264. Event A2 monitors the serving-cell threshold, whereas Event A4 applies an absolute threshold to the neighbour cell. The measId mapping connects the neighbour measurement object to the A4 report configuration.
This is an example RRC message for LTE measurement for LTE and NR cell from Amarisoft.
RrcReconfiguration for Scell Measurement
{
message c1: rrcReconfiguration: {
rrc-TransactionIdentifier 0,
criticalExtensions rrcReconfiguration: {
measConfig {
measObjectToAddModList {
{
measObjectId 1,
measObject measObjectNR: {
ssbFrequency 621216,
ssbSubcarrierSpacing kHz30,
smtc1 {
periodicityAndOffset sf20: 0,
duration sf1
},
referenceSignalConfig {
ssb-ConfigMobility {
deriveSSB-IndexFromCell FALSE
}
},
quantityConfigIndex 1,
offsetMO {
},
freqBandIndicatorNR 78
}
},
{
measObjectId 2,
measObject measObjectNR: {
ssbFrequency 627264,
ssbSubcarrierSpacing kHz30,
smtc1 {
periodicityAndOffset sf20: 0,
duration sf1
},
referenceSignalConfig {
ssb-ConfigMobility {
deriveSSB-IndexFromCell FALSE
}
},
quantityConfigIndex 1,
offsetMO {
},
freqBandIndicatorNR 78
}
}
},
reportConfigToAddModList {
{
reportConfigId 1,
reportConfig reportConfigNR: {
reportType eventTriggered: {
eventId eventA2: {
a2-Threshold rsrp: 16,
reportOnLeave FALSE,
hysteresis 0,
timeToTrigger ms0
},
rsType ssb,
reportInterval ms120,
reportAmount r1,
reportQuantityCell {
rsrp TRUE,
rsrq TRUE,
sinr TRUE
},
maxReportCells 1,
includeBeamMeasurements FALSE
}
}
},
{
reportConfigId 2,
reportConfig reportConfigNR: {
reportType eventTriggered: {
eventId eventA4: {
a4-Threshold rsrp: 36,
reportOnLeave FALSE,
hysteresis 0,
timeToTrigger ms0,
useWhiteCellList FALSE
},
rsType ssb,
reportInterval ms120,
reportAmount r1,
reportQuantityCell {
rsrp TRUE,
rsrq TRUE,
sinr TRUE
},
maxReportCells 1,
includeBeamMeasurements FALSE
}
}
}
},
measIdToAddModList {
{
measId 1,
measObjectId 2,
reportConfigId 2
}
},
quantityConfig {
quantityConfigNR-List {
{
quantityConfigCell {
ssb-FilterConfig {
},
csi-RS-FilterConfig {
}
}
}
}
},
measGapConfig {
gapUE setup: {
gapOffset 16,
mgl ms6,
mgrp ms40,
mgta ms0
}
}
},
nonCriticalExtension {
masterCellGroup {
cellGroupId 0,
spCellConfig {
spCellConfigDedicated {
initialDownlinkBWP {
pdsch-Config setup: {
resourceAllocation resourceAllocationType1,
rbg-Size config1,
mcs-Table qam256,
prb-BundlingType staticBundling: {
bundleSize wideband
}
}
},
uplinkConfig {
initialUplinkBWP {
pusch-Config setup: {
txConfig codebook,
resourceAllocation resourceAllocationType1,
mcs-Table qam256,
mcs-TableTransformPrecoder qam256,
codebookSubset nonCoherent,
maxRank 1
}
}
},
tag-Id 0
}
}
},
dedicatedNAS-MessageList {
'7E022CCB5D1C017E0042010977000B...'H
}
}
}
}
}
It is always good practice (I strongly suggest) to summarize the configuration in a table as below.
Measurement Objects Table
|
Measurement Object ID |
ssbFrequency |
ssb Subcarrier Spacing |
smtc1 (periodicityAndOffset, duration) |
referenceSignalConfig (deriveSSB-IndexFromCell) |
quantity ConfigIndex |
freqBand IndicatorNR |
|---|---|---|---|---|---|---|
|
1 |
621216 |
kHz30 |
sf20: 0, sf1 |
FALSE |
1 |
78 |
|
2 |
627264 |
kHz30 |
sf20: 0, sf1 |
FALSE |
1 |
78 |
Reporting Configurations Table
|
Reporting Configuration ID |
report Type |
eventId |
a2-Threshold/ a4-Threshold (rsrp) |
report On Leave |
time To Trigger |
rsType |
report Interval |
report Amount |
report Quantity Cell (rsrp, rsrq, sinr) |
max Report Cells |
include Beam Measurements |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
1 |
event Triggered |
eventA2 |
16 |
FALSE |
ms0 |
ssb |
ms120 |
r1 |
TRUE, TRUE, TRUE |
1 |
FALSE |
|
2 |
event Triggered |
eventA4 |
36 |
FALSE |
ms0 |
ssb |
ms120 |
r1 |
TRUE, TRUE, TRUE |
1 |
FALSE |
Measurement Identities Table
|
MeasurementId |
measObjectId |
reportConfigId |
|---|---|---|
|
1 |
2 |
2 |
Following is an example of measurement report based on the configuration above
Measurement Report
{
message c1: measurementReport: {
criticalExtensions measurementReport: {
measResults {
measId 1,
measResultServingMOList {
{
servCellId 0,
measResultServingCell {
physCellId 500,
measResult {
cellResults {
resultsSSB-Cell {
rsrp 70,
rsrq 65,
sinr 84
}
}
}
}
}
},
measResultNeighCells measResultListNR: {
{
physCellId 501,
measResult {
cellResults {
resultsSSB-Cell {
rsrp 67,
rsrq 65,
sinr 88
}
}
Example 03 >
This NR SA RRCReconfiguration supports inter-frequency handover between SSB frequencies 631968 and 712608. Event A1 and Event A2 monitor the serving condition, while Event A3 compares the candidate with the serving cell. The measObjectId, reportConfigId, and measId values show how the handover measurement is assembled.
This is an example RRC message for NR SA to NR SA from Amarisoft. This is meaurement configuration that Amarisoft gNB configures for NR SA Interfrequency Handover.
{
message c1: rrcReconfiguration: {
rrc-TransactionIdentifier 0,
criticalExtensions rrcReconfiguration: {
measConfig {
measObjectToAddModList {
{
measObjectId 1,
measObject measObjectNR: {
ssbFrequency 631968,
ssbSubcarrierSpacing kHz30,
smtc1 {
periodicityAndOffset sf20: 0,
duration sf1
},
referenceSignalConfig {
ssb-ConfigMobility {
deriveSSB-IndexFromCell FALSE
}
},
quantityConfigIndex 1,
offsetMO {
},
freqBandIndicatorNR 78
}
},
{
measObjectId 2,
measObject measObjectNR: {
ssbFrequency 712608,
ssbSubcarrierSpacing kHz30,
smtc1 {
periodicityAndOffset sf20: 0,
duration sf1
},
referenceSignalConfig {
ssb-ConfigMobility {
deriveSSB-IndexFromCell FALSE
}
},
quantityConfigIndex 1,
offsetMO {
},
freqBandIndicatorNR 79
}
}
},
reportConfigToAddModList {
{
reportConfigId 1,
reportConfig reportConfigNR: {
reportType eventTriggered: {
eventId eventA1: {
a1-Threshold rsrp: 106,
reportOnLeave FALSE,
hysteresis 10,
timeToTrigger ms100
},
rsType ssb,
reportInterval ms120,
reportAmount r1,
reportQuantityCell {
rsrp TRUE,
rsrq TRUE,
sinr TRUE
},
maxReportCells 1,
includeBeamMeasurements FALSE
}
}
},
{
reportConfigId 2,
reportConfig reportConfigNR: {
reportType eventTriggered: {
eventId eventA2: {
a2-Threshold rsrp: 96,
reportOnLeave FALSE,
hysteresis 0,
timeToTrigger ms100
},
rsType ssb,
reportInterval ms120,
reportAmount r1,
reportQuantityCell {
rsrp TRUE,
rsrq TRUE,
sinr TRUE
},
maxReportCells 1,
includeBeamMeasurements FALSE
}
}
},
{
reportConfigId 3,
reportConfig reportConfigNR: {
reportType eventTriggered: {
eventId eventA3: {
a3-Offset rsrp: 6,
reportOnLeave FALSE,
hysteresis 0,
timeToTrigger ms100,
useAllowedCellList FALSE
},
rsType ssb,
reportInterval ms120,
reportAmount r1,
reportQuantityCell {
rsrp TRUE,
rsrq TRUE,
sinr TRUE
},
maxReportCells 8,
includeBeamMeasurements FALSE
}
}
}
},
measIdToAddModList {
{
measId 2,
measObjectId 1,
reportConfigId 2
}
},
quantityConfig {
quantityConfigNR-List {
{
quantityConfigCell {
ssb-FilterConfig {
filterCoefficientRSRQ fc3,
filterCoefficientRS-SINR fc5
},
csi-RS-FilterConfig {
}
}
}
}
},
measGapConfig {
gapUE release: NULL
}
},
nonCriticalExtension {
masterCellGroup {
cellGroupId 0,
spCellConfig {
spCellConfigDedicated {
initialDownlinkBWP {
pdsch-Config setup: {
resourceAllocation resourceAllocationType1,
rbg-Size config1,
mcs-Table qam256,
prb-BundlingType staticBundling: {
bundleSize wideband
}
}
},
uplinkConfig {
initialUplinkBWP {
pusch-Config setup: {
txConfig codebook,
resourceAllocation resourceAllocationType1,
mcs-Table qam256,
mcs-TableTransformPrecoder qam256,
codebookSubset nonCoherent,
maxRank 1
}
}
},
pdsch-ServingCellConfig setup: {
nrofHARQ-ProcessesForPDSCH n16,
maxMIMO-Layers 2
},
tag-Id 0,
servingCellMO 1
}
}
},
dedicatedNAS-MessageList {
'7E025263..'H
}
}
}
}
}
Following is the summary of the message in tabular form.
Measurement Objects Table
|
Measurement Object ID |
ssbFrequency |
ssb Subcarrier Spacing |
smtc1 (periodicityAndOffset, duration) |
reference Signal Config |
quantity ConfigIndex |
freqBand IndicatorNR |
|---|---|---|---|---|---|---|
|
1 |
631968 |
kHz30 |
sf20: 0, sf1 |
FALSE |
1 |
78 |
|
2 |
712608 |
kHz30 |
sf20: 0, sf1 |
FALSE |
1 |
79 |
Reporting Configurations Table
|
Reporting Configuration ID |
reportType |
eventId |
Threshold /Offset (rsrp) |
report On Leave |
hysteresis |
time To Trigger |
rsType |
report Interval |
report Amount |
report Quantity Cell (rsrp, rsrq, sinr) |
max Report Cells |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
1 |
eventTriggered |
eventA1 |
106 |
FALSE |
10 |
ms100 |
ssb |
ms120 |
r1 |
TRUE, TRUE, TRUE |
1 |
|
2 |
eventTriggered |
eventA2 |
96 |
FALSE |
0 |
ms100 |
ssb |
ms120 |
r1 |
TRUE, TRUE, TRUE |
1 |
|
3 |
eventTriggered |
eventA3 |
6 |
FALSE |
0 |
ms100 |
ssb |
ms120 |
r1 |
TRUE, TRUE, TRUE |
8 |
Measurement Identities Table
|
Measurement Identity ID |
measObjectId |
reportConfigId |
|---|---|---|
|
2 |
1 |
2 |
Conformance Test
This section is mainly to get familiar with various use cases of measurement report. I think the best way would be to take a look into live network logs but those log may not readily be available to anybody. Another best practice would be to look into conformance test cases and procedure. It is not intended to write down all the details of the confirmance specification here since the 3GPP documents are already available for it. My intention here is just to review the big picture of some of the test cases (not all of them) to get familiar with how those measurement is expected to work.
NR SA-FR1 Intra Frequency measurement
The conformance specification defined by 38.533(UE conformance specification;Radio Resource Management (RRM)) are as follows :
- 6.6.1.1 NR SA FR1 event-triggered reporting without gap in non-DRX
- 6.6.1.2 NR SA FR1 event-triggered reporting without gap in DRX
- 6.6.1.3 NR SA FR1 event-triggered reporting with gap in non-DRX
- 6.6.1.4 NR SA FR1 event-triggered reporting with gap in DRX
- 6.6.1.5 NR SA FR1 event-triggered reporting without gap in non-DRX with SSB index reading
- 6.6.1.6 NR SA FR1 event-triggered reporting with gap in non-DRX with SSB index reading
- 6.6.1.7 NR SA FR1 event-triggered reporting without gap in DRX for UE configured with highSpeedMeasFlag-r16
- 6.6.1.8 NR SA FR1 event triggered reporting without gap in DRX for UE configured with highSpeedMeasCA-Scell-r17
The conformance protocol test specification defined by 38.523-1(UE conformance specification; Part 1: Protocol) are
- 8.1.3.1.1 Measurement configuration control and reporting / Intra NR measurements /Event A1 / Event A2
- 8.1.3.1.2 Measurement configuration control and reporting / Event A3 / Measurement of Neighbour NR cell / Intra-frequency measurements
- 8.1.3.1.5 Measurement configuration control and reporting / Event A4 / Measurement of Neighbour NR cell / Intra-frequency measurements
- 8.1.3.1.8 Measurement configuration control and reporting / Event A5 / Measurement of Neighbour NR cell / Intra-frequency measurements
- 8.1.3.1.11 Measurement configuration control and reporting / Intra NR measurements / Two simultaneous events A3 (intra and inter-frequency measurements) / RSRQ based measurements
- 8.1.3.1.12 Measurement configuration control and reporting / Intra NR measurements / Two simultaneous events A5 (intra and inter-frequency measurements) / SINR based measurements
- 8.1.3.1.13 Measurement configuration control and reporting / SS/PBCH block based / CSIRS based intra-frequency measurements / Measurement of Neighbour NR cell
Measurement configuration control and reporting / Intra NR measurements /Event A1 / Event A2
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_CONFIGURED == TRUE) {
if (EVENT_A1_CONFIGURED == TRUE && EVENT_A2_CONFIGURED == TRUE) {
if (SERVING_CELL_RSRP >= (A1_THRESHOLD + HYSTERESIS)) {
if (EVENT_A1_ENTERING_CONDITION == TRUE) {
while (EVENT_A1_ENTERING_CONDITION == TRUE) {
send_MeasurementReport_A1();
wait(REPORT_INTERVAL);
}
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_A1_ONGOING == TRUE) {
if (SERVING_CELL_RSRP < (A1_THRESHOLD - HYSTERESIS)) {
MEASUREMENT_REPORTING_A1_ONGOING = FALSE; // Stop A1 reporting
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_CONFIGURED == TRUE) {
if (EVENT_A1_CONFIGURED == TRUE && EVENT_A2_CONFIGURED == TRUE) {
if (SERVING_CELL_RSRP < (A2_THRESHOLD - HYSTERESIS)) {
if (EVENT_A2_ENTERING_CONDITION == TRUE) {
while (EVENT_A2_ENTERING_CONDITION == TRUE) {
send_MeasurementReport_A2();
wait(REPORT_INTERVAL);
}
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_A2_ONGOING == TRUE) {
if (SERVING_CELL_RSRP > (A2_THRESHOLD + HYSTERESIS)) {
MEASUREMENT_REPORTING_A2_ONGOING = FALSE; // Stop A2 reporting
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_RECONFIGURED == TRUE) {
if (EVENT_A1_CONFIGURED == TRUE && REPORT_ON_LEAVE == TRUE) {
if (SERVING_CELL_RSRP < (A1_THRESHOLD - HYSTERESIS)) {
while (EVENT_A1_LEAVING_CONDITION == TRUE) {
send_MeasurementReport();
}
}
}
}
Cell Power Changes in Test Sequence
< 38.523-1 : Table 8.1.3.1.1.3.2-1: Time instances of cell power level and parameter changes in FR1 >
|
Parameter |
Unit |
NR Cell 1 |
Remark |
|---|---|---|---|
|
T0 |
dBm/SCS |
-98 |
Power level is such that entry condition for event A2 is satisfied Ms + Hys < Thresh |
|
T1 |
dBm/SCS |
-78 |
Power level is such that entry condition for event A1 is satisfied Ms − Hys > Thresh and exit condition for event A2 is satisfied too. |
|
T2 |
dBm/SCS |
-98 |
Power level is such that exit condition for event A1 is satisfied Ms + Hys < Thresh |
RRC Configuration
< 38.523-1 : Table 8.1.3.1.1.3.3-2: MeasConfig (Table 8.1.3.1.1.3.3-1) >
|
Information Element |
Value/Remark |
Comment |
Condition |
|---|---|---|---|
|
measConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod { |
1 entry |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR(57) |
Thres=57 (-100dBm ≤ SS-RSRP < -99dBm) |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod |
2 entries |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig |
ReportConfigNR-EventA1 |
||
|
} |
|||
|
ReportConfigToAddMod[2] SEQUENCE { |
entry 2 |
||
|
reportConfigId |
2 |
||
|
reportConfig |
ReportConfigNR-EventA2 |
||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod |
2 entries |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
1 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
MeasIdToAddMod[2] SEQUENCE { |
entry 2 |
||
|
measId |
2 |
||
|
measObjectId |
1 |
||
|
reportConfigId |
2 |
||
|
} |
|||
|
quantityConfig |
QuantityConfig |
< 38.523-1 : Table 8.1.3.1.1.3.3-3: MeasObjectNR (Table 8.1.3.1.1.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
Downlink ARFCN of NR cell 1 SSB |
||
|
} |
< 38.523-1 : Table 8.1.3.1.1.3.3-4: ReportConfigNR-EventA1 (Table 8.1.3.1.1.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
ReportConfigNR ::= SEQUENCE { |
|||
|
reportType CHOICE { |
|||
|
eventTriggered SEQUENCE { |
|||
|
eventId CHOICE { |
|||
|
eventA1 SEQUENCE { |
EVENT_A1 |
||
|
a1-Threshold CHOICE { |
|||
|
rsrp |
69 |
Threshold set to -88dBM |
FR1 |
|
rsrp |
66 + Delta(NRfs) |
Threshold set to -91dBM |
FR2 |
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
reportAmount |
Infinity |
||
|
} |
< 38.523-1 : Table 8.1.3.1.1.3.3-5: ReportConfigNR-EventA2 (Table 8.1.3.1.1.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
ReportConfigNR ::= SEQUENCE { |
|||
|
reportType CHOICE { |
|||
|
eventTriggered SEQUENCE { |
|||
|
eventId CHOICE { |
|||
|
eventA2 SEQUENCE { |
EVENT_A2 |
||
|
a2-Threshold CHOICE { |
|||
|
rsrp |
69 |
-88dBm ≤ SS-RSRP<-87dBm |
FR1 |
|
rsrp |
66 + Delta(NRfs) |
Threshold set to -91dBM |
FR2 |
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
reportAmount |
Infinity |
||
|
} |
< 38.523-1 : Table 8.1.3.1.1.3.3-6: QuantityConfig (Table 8.1.3.1.1.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
QuantityConfig ::= SEQUENCE { |
|||
|
quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR { |
1 entry |
||
|
QuantityConfigNR[1] SEQUENCE { |
entry 1 |
||
|
quantityConfigCell SEQUENCE { |
|||
|
ssb-FilterConfig SEQUENCE { |
|||
|
filterCoefficientRSRP |
fc4 |
||
|
filterCoefficientRSRQ |
fc4 |
||
|
filterCoefficientRS-SINR |
fc4 |
||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
< 38.523-1 : Table 8.1.3.1.1.3.3-7: MeasurementReport (steps 3, 4, 7, 8, 17, Table 8.1.3.1.1.3.2-3) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasurementReport ::= SEQUENCE { |
|||
|
criticalExtensions CHOICE { |
|||
|
measurementReport SEQUENCE { |
|||
|
measResults SEQUENCE { |
|||
|
measId |
2 |
Step 3, 4 |
|
|
measId |
1 |
Step 7, 8, 17 |
|
|
measResultServingMOList SEQUENCE { |
1 entry |
||
|
servCellId |
ServCellIndex of NR Cell 1 |
||
|
measResultServingCell SEQUENCE { |
|||
|
physCellId |
Physical CellID of the NR Cell 1 |
||
|
} |
|||
|
measResult SEQUENCE { |
|||
|
cellResults SEQUENCE { |
|||
|
resultsSSB-Cell SEQUENCE { |
|||
|
rsrp |
(0..127) |
||
|
rsrq |
(0..127) |
||
|
sinr |
Not present (0..127) |
pc_ss_SIN R_Meas |
|
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
< 38.523-1 : Table 8.1.3.1.1.3.3-9: MeasConfig (Table 8.1.3.1.1.3.3-8) >
|
Information Element |
Value/Remark |
Comment |
Condition |
|---|---|---|---|
|
measConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList |
Not Present |
||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
ReportConfigId |
||
|
reportConfig |
ReportConfigNR-EventA1 |
||
|
} |
|||
|
} |
|||
|
measIdToAddModList |
Not Present |
||
|
measIdToRemoveList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId { |
1 entry |
||
|
MeasId[1] |
2 |
entry 1 |
Release event A2 |
|
} |
|||
|
quantityConfig |
Not Present |
||
|
} |
< 38.523-1 : Table 8.1.3.1.1.3.3-10: ReportConfigNR-EventA1 (Table 8.1.3.1.1.3.3-9) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
ReportConfigNR ::= SEQUENCE { |
|||
|
reportType CHOICE { |
|||
|
eventTriggered SEQUENCE { |
|||
|
eventId CHOICE { |
|||
|
eventA1 SEQUENCE { |
|||
|
a1-Threshold CHOICE { |
|||
|
rsrp |
69 |
-88dBm ≤ SS-RSRP<-87dBm |
FR1 |
|
rsrp |
66 + Delta(NRfs)) |
Threshold set to -91dBM |
FR2 |
|
} |
|||
|
} |
|||
|
} |
|||
|
reportOnLeave |
true |
||
|
reportAmount |
r4 |
||
|
} |
|||
|
} |
Measurement configuration control and reporting / Event A3 / Measurement of Neighbour NR cell / Intra-frequency measurements
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && INTRA_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A3_CONFIGURED == TRUE) {
if (EVENT_A3_ENTRY_CONDITION == FALSE) {
// Do not send MeasurementReport
}
}
}
if (UE_STATE == RRC_CONNECTED && INTRA_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A3_CONFIGURED == TRUE) {
if (NEIGHBOR_CELL_RSRP >= (SERVING_CELL_RSRP + A3_OFFSET)) {
send_MeasurementReport_A3();
}
}
}
Cell Power Changes in Test Sequence
< 38.523-1 : Table 8.1.3.1.2.3.2-1: Time instances of cell power level and parameter changes for NR Cell 1 and NR Cell 2 in conducted test environment >
|
Parameter |
Unit |
NR Cell 1 |
NR Cell 2 |
Remark |
|---|---|---|---|---|
|
T0 |
dBm/SCS |
-85 |
-91 |
Power levels are such that entry condition for event A3 is not satisfied for the neighbour NR cell: |
|
T1 |
dBm/SCS |
-85 |
-79 |
Power levels are such that entry condition for event A3 is satisfied for intra-frequency neighbour NR cell (measId 1): |
|
T2 |
dBm/SCS |
-85 |
-91 |
Power levels are such that leaving condition for event A3 is satisfied (measId 1): |
< 38.523-1 : Table 8.1.3.1.2.3.2-2: Time instances of cell power level and parameter changes for NR Cell 1 and NR Cell 2 in OTA test environment>
|
Parameter |
Unit |
NR Cell 1 |
NR Cell 2 |
Remark |
|---|---|---|---|---|
|
T0 |
dBm/SCS |
-91 |
-100 |
Power levels are such that entry condition for event A3 is not satisfied for the neighbour NR cell: |
|
T1 |
dBm/SCS |
-91 |
-82 |
Power levels are such that entry condition for event A3 is satisfied for intra-frequency neighbour NR cell (measId 1): |
|
T2 |
dBm/SCS |
-91 |
-100 |
Power levels are such that leaving condition for event A3 is satisfied (measId 1): |
RRC Configuration
< 38.523-1 : Table 8.1.3.1.2.3.3-2: MeasConfig (Table 8.1.3.1.2.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
1 entry |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR |
Table 8.1.3.1.2.3.3-3 |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR-EventA3 |
Table 8.1.3.1.2.3.3-4 |
||
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
1 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
} |
< 38.523-1 :Table 8.1.3.1.2.3.3-3: MeasObjectNR (Table 8.1.3.1.2.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 1 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
< 38.523-1 :Table 8.1.3.1.2.3.3-4: ReportConfigNR-EventA3 (Table 8.1.3.1.2.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
ReportConfigNR ::= SEQUENCE { |
|||
|
reportType CHOICE { |
|||
|
eventTriggered SEQUENCE { |
|||
|
eventId CHOICE { |
|||
|
eventA3 SEQUENCE { |
|||
|
a3-Offset CHOICE { |
|||
|
rsrp |
2 |
1 dB(2*0.5 dB) |
|
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
reportAmount |
infinity |
||
|
reportQuantityCell SEQUENCE { |
|||
|
rsrp |
true |
||
|
rsrq |
false |
||
|
sinr |
false |
||
|
} |
|||
|
} |
< 38.523-1 : Table 8.1.3.1.2.3.3-5: MeasurementReport (step 4, Table 8.1.3.1.2.3.2-3) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasurementReport ::= SEQUENCE { |
|||
|
criticalExtensions CHOICE { |
|||
|
measurementReport SEQUENCE { |
|||
|
measResults SEQUENCE { |
|||
|
measId |
1 |
||
|
measResultServingMOList SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO { |
1 entry |
Measurement report for NR Cell 1 |
|
|
MeasResultServMO[1] SEQUENCE { |
entry 1 |
||
|
servCellId |
ServCellIndex of NR Cell 1 |
||
|
measResultServingCell SEQUENCE { |
|||
|
physCellId |
PCI of NR Cell 1 |
||
|
measResult SEQUENCE { |
|||
|
cellResults SEQUENCE { |
|||
|
resultsSSB-Cell SEQUENCE { |
|||
|
rsrp |
(0..127) |
||
|
rsrq |
(0..127) |
||
|
sinr |
Not present |
Not checked |
pc_ss_SIN R_Meas |
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
measResultNeighCells CHOICE { |
|||
|
measResultListNR SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR { |
1 entry |
Measurement report for NR Cell 2 |
|
|
MeasResultNR[1] SEQUENCE { |
entry 1 |
||
|
physCellId |
Physical layer cell identity of NR Cell 2 |
||
|
measResult SEQUENCE { |
|||
|
cellResults SEQUENCE { |
|||
|
resultsSSB-Cell SEQUENCE { |
|||
|
rsrp |
(0..127) |
||
|
rsrq |
Not present |
||
|
sinr |
Not present |
||
|
} |
|||
|
resultsCSI-RS-Cell |
Not present |
||
|
rsIndexResults |
Not present |
||
|
cgi-Info |
Not present |
||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
Measurement configuration control and reporting / Event A4 / Measurement of Neighbour NR cell / Intra-frequency measurements
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && INTRA_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A4_CONFIGURED == TRUE) {
if (NEIGHBOR_CELL_RSRP >= A4_THRESHOLD) {
while (EVENT_A4_ENTERING_CONDITION == TRUE) {
send_MeasurementReport_A4();
wait(REPORT_INTERVAL);
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_ONGOING == TRUE) {
if (NEIGHBOR_CELL_RSRP < A4_THRESHOLD) {
MEASUREMENT_REPORTING_ONGOING = FALSE;
}
}
Cell Power Changes in Test Sequence
< 38.523-1 : Table 8.1.3.1.5.3.2-1: Time instances of cell power level and parameter changes in conducted test environment >
|
Parameter |
Unit |
NR Cell 1 |
NR Cell 2 |
Remark |
|---|---|---|---|---|
|
T0 |
dBm/SCS |
-85 |
-91 |
Power levels are such that entry condition for event A4 (measId 1) is not satisfied: |
|
T1 |
dBm/SCS |
-85 |
-79 |
Power levels are such that entry condition for event A4 (measId 1) is satisfied: |
|
T2 |
dBm/SCS |
-85 |
-93 |
Power levels are such that leaving condition for event A4 (measId 1) is satisfied: |
< 38.523-1 : Table 8.1.3.1.5.3.2-2: Time instances of cell power level and parameter changes in OTA test environment >
|
Parameter |
Unit |
NR Cell 1 |
NR Cell 2 |
Remark |
|---|---|---|---|---|
|
T0 |
dBm/SCS |
-91 |
-100 |
Power levels are such that entry condition for event A4 (measId 1) is not satisfied: |
|
T1 |
dBm/SCS |
-91 |
-82 |
Power levels are such that entry condition for event A4 (measId 1) is satisfied: |
|
T2 |
dBm/SCS |
-91 |
-100 |
Power levels are such that leaving condition for event A4 (measId 1) is satisfied: |
RRC Configuration
< 38.523-1 : Table 8.1.3.1.5.3.3-2: MeasConfig (Table 8.1.3.1.5.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
1 entry |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
MeasObjectIdNR-f1 |
|
|
measObject CHOICE { |
|||
|
measObjectNR SEQUENCE { |
|||
|
ssbFrequency |
ssbFrequency IE equals the ARFCN for NR Cell 2 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
} |
|||
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR-EventA4 |
Table 8.1.3.1.5.3.3-3 |
||
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
1 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
} |
< 38.523-1 : Table 8.1.3.1.5.3.3-3: ReportConfigNR-EventA4 (Table 8.1.3.1.5.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
ReportConfigNR ::= SEQUENCE { |
|||
|
reportType CHOICE { |
|||
|
eventTriggered SEQUENCE { |
|||
|
eventId CHOICE { |
|||
|
eventA4 SEQUENCE { |
|||
|
a4-Threshold CHOICE { |
|||
|
rsrp |
70 |
-86dBm |
FR1 |
|
rsrp |
66 + delta(NRfs) |
Threshold set to -91dBm |
FR2 |
|
} |
|||
|
hysteresis |
2 |
1 dB |
|
|
} |
|||
|
} |
|||
|
} |
|||
|
reportAmount |
infinity |
||
|
reportQuantityCell SEQUENCE { |
|||
|
rsrp |
true |
||
|
rsrq |
false |
||
|
sinr |
false |
||
|
} |
|||
|
} |
< 38.523-1 : Table 8.1.3.1.5.3.3-4: MeasurementReport (step 1, Table 8.1.3.1.5.3.2-4) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasurementReport ::= SEQUENCE { |
|||
|
criticalExtensions CHOICE { |
|||
|
measurementReport SEQUENCE { |
|||
|
measResults SEQUENCE { |
|||
|
measId |
1 |
||
|
measResultServingMOList SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO { |
1 entry |
Report NR Cell 1 |
|
|
MeasResultServMO[1] SEQUENCE { |
entry 1 |
||
|
servCellId |
ServCellIndex of NR Cell 1 |
||
|
measResultServingCell SEQUENCE { |
|||
|
physCellId |
Physical layer cell identity of NR Cell 1 |
||
|
measResult SEQUENCE { |
|||
|
cellResults SEQUENCE { |
|||
|
resultsSSB-Cell SEQUENCE { |
|||
|
rsrp |
(0..127) |
||
|
rsrq |
(0..127) |
||
|
sinr |
Not present |
Not checked |
pc_ss_SIN R_Meas |
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
measResultNeighCells CHOICE { |
|||
|
measResultListNR SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR { |
1 entry |
Report NR neighbour cell |
|
|
MeasResultNR[1] SEQUENCE { |
entry 1 |
||
|
physCellId |
Physical layer cell identity of NR Cell 2 |
||
|
measResult SEQUENCE { |
|||
|
cellResults SEQUENCE { |
|||
|
resultsSSB-Cell SEQUENCE { |
|||
|
rsrp |
(0..127) |
||
|
rsrq |
Not present |
||
|
sinr |
Not present |
||
|
} |
|||
|
resultsCSI-RS-Cell |
Not present |
||
|
rsIndexResults |
Not present |
||
|
cgi-Info |
Not present |
||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
Measurement configuration control and reporting / Event A5 / Measurement of Neighbour NR cell / Intra-frequency measurements
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && INTRA_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A5_CONFIGURED == TRUE) {
if (SERVING_CELL_RSRP < A5_THRESHOLD1 && NEIGHBOR_CELL_RSRP >= A5_THRESHOLD2) {
while (EVENT_A5_ENTERING_CONDITIONS == TRUE) {
send_MeasurementReport_A5();
wait(REPORT_INTERVAL);
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_ONGOING == TRUE) {
if (SERVING_CELL_RSRP >= A5_THRESHOLD1 || NEIGHBOR_CELL_RSRP < A5_THRESHOLD2) {
MEASUREMENT_REPORTING_ONGOING = FALSE; // Stop measurement report
}
}
Cell Power Changes in Test Sequence
< 38.523-1 : Table 8.1.3.1.8.3.2-1: Time instances of cell power level and parameter changes in conducted test environment >
|
Parameter |
Unit |
NR Cell 1 |
NR Cell 2 |
Remark |
|---|---|---|---|---|
|
T0 |
dBm/SCS |
-85 |
-91 |
Power levels are such that entry condition for event A5 (measId 1) is not satisfied: |
|
T1 |
dBm/SCS |
-85 |
-79 |
Power levels are such that entry condition for event A5 (measId 1) is satisfied: |
|
T2 |
dBm/SCS |
-85 |
-93 |
Power levels are such that leaving condition for event A5 (measId 1) is satisfied: |
< 38.523-1 : Table 8.1.3.1.8.3.2-2: Time instances of cell power level and parameter changes in OTA test environment >
|
Parameter |
Unit |
NR Cell 1 |
NR Cell 2 |
Remark |
|---|---|---|---|---|
|
T0 |
dBm/SCS |
-82 |
-100 |
Power levels are such that entry condition for event A5 (measId 1) is not satisfied: |
|
T1 |
dBm/SCS |
-100 |
-82 |
Power levels are such that entry condition for event A5 (measId 1) is satisfied: |
|
T2 |
dBm/SCS |
-82 |
-100 |
Power levels are such that leaving condition for event A5 (measId 1) is satisfied: |
RRC Configuration
< 38.523-1 : Table 8.1.3.1.8.3.3-2: MeasConfig (Table 8.1.3.1.8.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
1 entry |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
MeasObjectIdNR-f1 |
|
|
measObject CHOICE { |
|||
|
measObjectNR SEQUENCE { |
|||
|
ssbFrequency |
ssbFrequency IE equals the ARFCN for NR Cell 2 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
} |
|||
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR |
ReportConfigNR-EventA5 |
Table 8.1.3.1.8.3.3-3 |
|
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
1 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
measGapConfig |
MeasGapConfig |
||
|
} |
< 38.523-1 : Table 8.1.3.1.8.3.3-3: ReportConfigNR-EventA5 (Table 8.1.3.1.8.3.3-2) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
ReportConfigNR ::= SEQUENCE { |
|||
|
reportType CHOICE { |
|||
|
eventTriggered SEQUENCE { |
|||
|
eventId CHOICE { |
|||
|
eventA5 SEQUENCE { |
|||
|
a5-Threshold1 CHOICE { |
|||
|
rsrp |
76 |
-80dBm |
FR1 |
|
rsrp |
66 + Delta(NRfs) |
Threshold set to -91dBm |
FR2 |
|
} |
|||
|
a5-Threshold2 CHOICE { |
|||
|
rsrp |
70 |
-86dBm |
FR1 |
|
rsrp |
66 + Delta(NRfs) |
Threshold set to -91dBm |
FR2 |
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
reportAmount |
infinity |
||
|
reportQuantityCell SEQUENCE { |
|||
|
rsrp |
true |
||
|
rsrq |
false |
||
|
sinr |
false |
||
|
} |
|||
|
} |
< 38.523-1 : Table 8.1.3.1.8.3.3-4: MeasurementReport (step 1, Table 8.1.3.1.8.3.2-4) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasurementReport ::= SEQUENCE { |
|||
|
criticalExtensions CHOICE { |
|||
|
measurementReport SEQUENCE { |
|||
|
measResults SEQUENCE { |
|||
|
measId |
1 |
||
|
measResultServingMOList SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO { |
1 entry |
Report NR Cell 1 |
|
|
MeasResultServMO[1] SEQUENCE { |
entry 1 |
||
|
servCellId |
ServCellIndex of NR Cell 1 |
||
|
measResultServingCell SEQUENCE { |
|||
|
physCellId |
Physical layer cell identity of NR Cell 1 |
||
|
measResult SEQUENCE { |
|||
|
cellResults SEQUENCE { |
|||
|
resultsSSB-Cell SEQUENCE { |
|||
|
rsrp |
(0..127) |
||
|
rsrq |
(0..127) |
||
|
sinr |
Not present |
Not checked |
pc_ss_SIN, R_Meas |
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
measResultNeighCells CHOICE { |
|||
|
measResultListNR SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR { |
1 entry |
Report NR neighbour cell entry 1 |
|
|
MeasResultNR[1] SEQUENCE { |
|||
|
physCellId |
Physical layer cell identity of NR Cell 2 |
||
|
measResult SEQUENCE { |
|||
|
cellResults SEQUENCE { |
|||
|
resultsSSB-Cell SEQUENCE { |
|||
|
rsrp |
(0..127) |
||
|
rsrq |
Not present |
||
|
sinr |
Not present |
||
|
} |
|||
|
} |
|||
|
resultsCSI-RS-Cell |
Not present |
||
|
rsIndexResults |
Not present |
||
|
cgi-Info |
Not present |
||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
|||
|
} |
NR SA-FR1 Inter Frequency measurement
The conformance specification defined by 38.533(UE conformance specification;Radio Resource Management (RRM)) are as follows :
- 6.6.2.1 NR SA FR1-FR1 event-triggered reporting in non-DRX
- 6.6.2.2 NR SA FR1-FR1 event-triggered reporting in DRX
- 6.6.2.5 NR SA FR1-FR1 event-triggered reporting in non-DRX with SSB time index detection
- 6.6.2.6 NR SA FR1-FR1 event-triggered reporting in DRX with SSB time index detection
- 6.6.2.9 NR SA FR1-FR1 event triggered reporting tests with additional mandatory gap pattern
- 6.6.2.10 NR SA FR1-FR1 event triggered reporting tests for FR1 without gap when DRX is used
- 6.6.2.11 NR SA FR1-FR1 event triggered reporting tests for FR1 without gap when DRX is not used
- 6.6.2.12 NR SA FR1-FR1 event triggered reporting tests without SSB time index detection in DRX for UE configured with highSpeedMeasInterFreq-r17
The conformance protocol test specification defined by 38.523-1(UE conformance specification; Part 1: Protocol) are
- 8.1.3.1.3 Measurement configuration control and reporting / Event A3 / Measurement of Neighbour NR cell / Inter-frequency measurements
- 8.1.3.1.4 Measurement configuration control and reporting / Event A3 / Measurement of Neighbour NR cell / Inter-band measurements
- 8.1.3.1.6 Measurement configuration control and reporting / Event A4 / Measurement of Neighbour NR cell / Inter-frequency measurements
- 8.1.3.1.7 Measurement configuration control and reporting / Event A4 / Measurement of Neighbour NR cell / Inter-band measurements
- 8.1.3.1.9 Measurement configuration control and reporting / Event A5 / Measurement of Neighbour NR cell / Inter-frequency measurements
- 8.1.3.1.10 Measurement configuration control and reporting / Event A5 / Measurement of Neighbour NR cell / Inter-band measurements
- 8.1.3.1.14A Measurement configuration control and reporting / SS/PBCH block based / CSIRS based inter-frequency measurements / Measurement of Neighbour NR cell
Measurement configuration control and reporting / Event A3 / Measurement of Neighbour NR cell / Inter-frequency measurements
Test Purpose
if (UE_STATE == RRC_CONNECTED && INTER_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A3_CONFIGURED == TRUE && GAP_UE_CONFIGURED == TRUE) {
if (EVENT_A3_ENTRY_CONDITION == FALSE) {
// Do not send MeasurementReport
}
}
}
if (UE_STATE == RRC_CONNECTED && INTER_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A3_CONFIGURED == TRUE && GAP_UE_CONFIGURED == TRUE) {
if (NEIGHBOR_CELL_RSRP >= (SERVING_CELL_RSRP + A3_OFFSET)) {
send_MeasurementReport_A3();
}
}
}
RRC Configuration
< 38.523-1 : Table 8.1.3.1.3.3.3-1: MeasConfig (Table 8.1.3.1.2.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
2 entries |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f1 |
Table 8.1.3.1.3.3.3-2 |
|
|
} |
|||
|
} |
|||
|
MeasObjectToAddMod[2] SEQUENCE { |
entry 2 |
||
|
measObjectId |
2 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f2 |
Table 8.1.3.1.3.3.3-3 |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR-EventA3 |
Table 8.1.3.1.2.3.3-4 |
||
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
2 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
measGapConfig |
MeasGapConfig |
||
|
} |
< 38.523-1 : Table 8.1.3.1.3.3.3-2: MeasObjectNR-f1 (Table 8.1.3.1.3.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 1 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
< 38.523-1 : Table 8.1.3.1.3.3.3-3: MeasObjectNR-f2 (Table 8.1.3.1.3.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 3 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
Measurement configuration control and reporting / Event A3 / Measurement of Neighbour NR cell / Inter-band measurements
Test Purpose
if (UE_STATE == RRC_CONNECTED && INTER_BAND_MEAS_CONFIGURED == TRUE) {
if (EVENT_A3_CONFIGURED == TRUE && GAP_UE_CONFIGURED == TRUE) {
if (EVENT_A3_ENTRY_CONDITION == FALSE) {
// Do not send MeasurementReport
}
}
}
if (UE_STATE == RRC_CONNECTED && INTER_BAND_MEAS_CONFIGURED == TRUE) {
if (EVENT_A3_CONFIGURED == TRUE && GAP_UE_CONFIGURED == TRUE) {
if (NEIGHBOR_CELL_RSRP >= (SERVING_CELL_RSRP + A3_OFFSET)) {
send_MeasurementReport_A3();
}
}
}
RRC Configuration
< 38.523-1 :Table 8.1.3.1.4.3.3-1: MeasConfig (Table 8.1.3.1.2.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
2 entries |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f1 |
Table 8.1.3.1.4.3.3-2 |
|
|
} |
|||
|
} |
|||
|
MeasObjectToAddMod[2] SEQUENCE { |
entry 2 |
||
|
measObjectId |
2 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f2 |
Table 8.1.3.1.4.3.3-3 |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR-EventA3 |
Table 8.1.3.1.2.3.3-4 |
||
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
2 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
measGapConfig |
MeasGapConfig |
||
|
} |
< 38.523-1 : Table 8.1.3.1.4.3.3-2: MeasObjectNR-f1 (Table 8.1.3.1.4.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 1 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
< 38.523-1 : Table 8.1.3.1.4.3.3-2: MeasObjectNR-f1 (Table 8.1.3.1.4.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 10 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
Measurement configuration control and reporting / Event A4 / Measurement of Neighbour NR cell / Inter-frequency measurements
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && INTER_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A4_CONFIGURED == TRUE) {
if (NEIGHBOR_CELL_RSRP >= A4_THRESHOLD) {
while (EVENT_A4_ENTERING_CONDITION == TRUE) {
send_MeasurementReport_A4();
wait(REPORT_INTERVAL);
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_ONGOING == TRUE) {
if (NEIGHBOR_CELL_RSRP < A4_THRESHOLD) {
MEASUREMENT_REPORTING_ONGOING = FALSE;
}
}
RRC Configuration
< 38.523-1 : Table 8.1.3.1.6.3.3-1: MeasConfig (Table 8.1.3.1.5.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
2 entries |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f1 |
Table 8.1.3.1.6.3.3-2 |
|
|
} |
|||
|
} |
|||
|
MeasObjectToAddMod[2] SEQUENCE { |
entry 2 |
||
|
measObjectId |
2 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f2 |
Table 8.1.3.1.6.3.3-3 |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR-EventA4 |
Table 8.1.3.1.5.3.3-3 |
||
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
2 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
measGapConfig |
MeasGapConfig |
||
|
} |
< 38.523-1 : Table 8.1.3.1.6.3.3-2: MeasObjectNR-f1 (Table 8.1.3.1.6.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 1 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
< 38.523-1 : Table 8.1.3.1.6.3.3-3: MeasObjectNR-f2 (Table 8.1.3.1.6.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 3 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
Measurement configuration control and reporting / Event A4 / Measurement of Neighbour NR cell / Inter-band measurements
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && INTER_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A4_CONFIGURED == TRUE) {
if (NEIGHBOR_CELL_RSRP >= A4_THRESHOLD) {
while (EVENT_A4_ENTERING_CONDITION == TRUE) {
send_MeasurementReport_A4();
wait(REPORT_INTERVAL);
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_ONGOING == TRUE) {
if (NEIGHBOR_CELL_RSRP < A4_THRESHOLD) {
MEASUREMENT_REPORTING_ONGOING = FALSE;
}
}
RRC Configuration
< 38.523-1 : Table 8.1.3.1.7.3.3-1: MeasConfig (Table 8.1.3.1.5.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
2 entries |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f1 |
Table 8.1.3.1.7.3.3-2 |
|
|
} |
|||
|
} |
|||
|
MeasObjectToAddMod[2] SEQUENCE { |
entry 2 |
||
|
measObjectId |
2 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f2 |
Table 8.1.3.1.7.3.3-3 |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR-EventA4 |
Table 8.1.3.1.5.3.3-3 |
||
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
2 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
measGapConfig |
MeasGapConfig |
||
|
} |
< 38.523-1 : Table 8.1.3.1.7.3.3-2: MeasObjectNR-f1 (Table 8.1.3.1.7.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 1 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
< 38.523-1 : Table 8.1.3.1.7.3.3-3: MeasObjectNR-f2 (Table 8.1.3.1.7.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 10 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
Measurement configuration control and reporting / Event A5 / Measurement of Neighbour NR cell / Inter-frequency measurements
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && INTER_FREQ_MEAS_CONFIGURED == TRUE) {
if (EVENT_A5_CONFIGURED == TRUE) {
if (SERVING_CELL_RSRP < A5_THRESHOLD1 && NEIGHBOR_CELL_RSRP >= A5_THRESHOLD2) {
while (EVENT_A5_ENTERING_CONDITIONS == TRUE) {
send_MeasurementReport_A5();
wait(REPORT_INTERVAL);
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_ONGOING == TRUE) {
if (SERVING_CELL_RSRP >= A5_THRESHOLD1 || NEIGHBOR_CELL_RSRP < A5_THRESHOLD2) {
MEASUREMENT_REPORTING_ONGOING = FALSE; // Stop measurement report
}
}
RRC Configuration
< 38.523-1 : Table 8.1.3.1.9.3.3-1: MeasConfig (Table 8.1.3.1.8.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
2 entries |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f1 |
Table 8.1.3.1.9.3.3-2 |
|
|
} |
|||
|
} |
|||
|
MeasObjectToAddMod[2] SEQUENCE { |
entry 2 |
||
|
measObjectId |
2 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f2 |
Table 8.1.3.1.9.3.3-3 |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR |
ReportConfigNR-EventA5 |
Table 8.1.3.1.8.3.3-3 |
|
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
2 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
measGapConfig |
MeasGapConfig |
||
|
} |
< 38.523-1 :Table 8.1.3.1.9.3.3-2: MeasObjectNR-f1 (Table 8.1.3.1.9.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 1 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
< 38.523-1 : Table 8.1.3.1.9.3.3-3: MeasObjectNR-f2 (Table 8.1.3.1.9.3.3-1)>
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 3 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
Measurement configuration control and reporting / Event A5 / Measurement of Neighbour NR cell / Inter-band measurements
Test Purpose
Followings are various test purposes stated in 38.523-1 expressed in pseudo-code (following C syntax). I prefer this format since it is simpler and clearer at least to me. If not for you, refer to the original statement in 38.523-1
if (UE_STATE == RRC_CONNECTED && INTER_BAND_MEAS_CONFIGURED == TRUE) {
if (EVENT_A5_CONFIGURED == TRUE) {
if (SERVING_CELL_RSRP < A5_THRESHOLD1 && NEIGHBOR_CELL_RSRP >= A5_THRESHOLD2) {
while (EVENT_A5_ENTERING_CONDITIONS == TRUE) {
send_MeasurementReport_A5();
wait(REPORT_INTERVAL);
}
}
}
}
if (UE_STATE == RRC_CONNECTED && MEASUREMENT_REPORTING_ONGOING == TRUE) {
if (SERVING_CELL_RSRP >= A5_THRESHOLD1 || NEIGHBOR_CELL_RSRP < A5_THRESHOLD2) {
MEASUREMENT_REPORTING_ONGOING = FALSE; // Stop measurement report
}
}
RRC Configuration
< 38.523-1 : Table 8.1.3.1.10.3.3-1: MeasConfig (Table 8.1.3.1.8.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasConfig ::= SEQUENCE { |
|||
|
measObjectToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasObjectToAddMod { |
2 entries |
||
|
MeasObjectToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measObjectId |
1 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f1 |
Table 8.1.3.1.10.3.3-2 |
|
|
} |
|||
|
} |
|||
|
MeasObjectToAddMod[2] SEQUENCE { |
entry 2 |
||
|
measObjectId |
2 |
||
|
measObject CHOICE { |
|||
|
measObjectNR |
MeasObjectNR-f2 |
Table 8.1.3.1.9.3.3-3 |
|
|
} |
|||
|
} |
|||
|
reportConfigToAddModList SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod { |
1 entry |
||
|
ReportConfigToAddMod[1] SEQUENCE { |
entry 1 |
||
|
reportConfigId |
1 |
||
|
reportConfig CHOICE { |
|||
|
reportConfigNR |
ReportConfigNR-EventA5 |
Table 8.1.3.1.8.3.3-3 |
|
|
} |
|||
|
} |
|||
|
measIdToAddModList SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod { |
1 entry |
||
|
MeasIdToAddMod[1] SEQUENCE { |
entry 1 |
||
|
measId |
1 |
||
|
measObjectId |
2 |
||
|
reportConfigId |
1 |
||
|
} |
|||
|
} |
|||
|
measGapConfig |
MeasGapConfig |
||
|
} |
< 38.523-1 : Table 8.1.3.1.10.3.3-2: MeasObjectNR-f1 (Table 8.1.3.1.10.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 1 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
< 38.523-1 : Table 8.1.3.1.10.3.3-3: MeasObjectNR-f2 (Table 8.1.3.1.10.3.3-1) >
|
Information Element |
Value/remark |
Comment |
Condition |
|---|---|---|---|
|
MeasObjectNR ::= SEQUENCE { |
|||
|
ssbFrequency |
ARFCN-ValueNR for SSB of NR Cell 10 |
||
|
absThreshSS-BlocksConsolidation |
Not present |
||
|
nrofSS-BlocksToAverage |
Not present |
||
|
} |
NR SA-FR1 CA measurement
The conformance protocol test specification defined by 38.523-1(UE conformance specification; Part 1: Protocol) are
- 8.1.3.1.17.1 NR CA / Measurement configuration control and reporting / Intra NR measurements /Event A6 / Intra-band Contiguous CA
- 8.1.3.1.17.2 NR CA / Measurement configuration control and reporting / Intra NR measurements /Event A6 / Inter-band CA
- 8.1.3.1.17.3 NR CA / Measurement configuration control and reporting / Intra NR measurements /Event A6 / Intra-band non Contiguous CA
- 8.1.3.1.18.1 NR CA / Measurement configuration control and reporting / Intra NR measurements /Additional measurement reporting / Intra-band Contiguous CA
- 8.1.3.1.18.2 NR CA / Measurement configuration control and reporting / Intra NR measurements /Additional measurement reporting / Inter-band CA
- 8.1.3.1.18.3 NR CA / Measurement configuration control and reporting / Intra NR measurements /Additional measurement reporting / Intra-band non Contiguous CA
NR SA-FR1 InterRAT measurement
The conformance specification defined by 38.533(UE conformance specification;Radio Resource Management (RRM)) are as follows :
- 6.6.3.1 NR SA FR1 – E-UTRAN event-triggered reporting in non-DRX
- 6.6.3.2 NR SA FR1 – E-UTRAN event-triggered reporting in DRX
- 6.6.3.3 NR SA FR1 – E-UTRAN event-triggered reporting in DRX for UE configured with highSpeedMeasFlag-r16
The conformance protocol test specification defined by 38.523-1(UE conformance specification; Part 1: Protocol) are
- 8.1.3.2.1 Measurement configuration control and reporting / Inter-RAT measurements /Event B1 / Measurement of E-UTRA cells
- 8.1.3.2.2 Measurement configuration control and reporting / Inter-RAT measurements /Event B2 / Measurement of E-UTRA cells
- 8.1.3.2.3 Measurement configuration control and reporting / Inter-RAT measurements /Event B2 / Measurement of E-UTRA cells / RSRQ based measurements
- 8.1.3.2.4 Measurement configuration control and reporting / Inter-RAT measurements /Event B2 / Measurement of E-UTRA cells / SINR based measurements
- 8.1.3.2.6 Measurement configuration control and reporting / Inter-RAT measurements /Event B1 / NR to UTRA
- 8.1.3.2.7 Measurement configuration control and reporting / Inter-RAT measurements /Event B2 / NR to UTRA
- 8.1.3.2.8 Measurement configuration control and reporting / Inter-RAT measurements /Periodic reporting / NR to UTRA
Reference
- 38.331 v19.3.0 (Release 19) - 5.5 Measurement
- 38.133 - 9 Measurement Procedure