5G/NR - Power Definition / Measurement

 

 

 

Power Definition / Measurement

As in LTE, the most important criteria on Power Measurement is around RSRP, RSRQ. The basic idea on RSRP/RSRQ in NR is also similar to LTE RSRP / RSRQ.  However, there are some differences as well between LTE and NR in terms of power definition and measurement as below.

  • In NR, SINR seems to be an important power criteria. Of course, SINR is not a new parameter in NR. It is measured in most of LTE chips and this is one of the parameters that I most frequently check when I am doing physical layer performance troubleshooting. However, in NR SINR has become a formal measurement parameter used in RRC message.
  • In LTE, RSRP and RSRQ is based on Cell specific Reference Signal (CRS). However, in NR there is no CRS. So RSRP / RSRQ definition in NR is based on other physical signals as shown in the following table.

< Based on 38.215 - 5.1 UE measurement capabilities >

Category

Physical Signal for Measurement

RSRP

SS reference signal received power (SS-RSRP)

CSI reference signal received power (CSI-RSRP)

SRS reference signal received power (SRS-RSRP)

RSRQ

SS reference signal received quality (SS-RSRQ)

CSI reference signal received quality (CSI-RSRQ)

SINR

SS signal-to-noise and interference ratio (SS-SINR)

CSI signal-to-noise and interference ratio (CSI-SINR)

RSSI

 

That table is a subset, and it has grown a great deal since it was drawn. 38.215 v19.3.0 keeps the six entries above at clauses 5.1.1 to 5.1.6. Clauses 5.1.7 and 5.1.8 are now Void, SRS-RSRP has moved to clause 5.1.19, and RSSI is defined at clause 5.1.21. Clause 5.1 now runs past 5.1.44.

The additions are mostly measurements the first release had no use for. Positioning brought GNSS timing and carrier phase quantities, cross link interference brought CLI-RSSI, and sidelink brought its own RSRP and RSSI. None of them changes the six that this page is about.

Measurement Items in RRC - MeasObjectNR

A measurement object says what to measure and where. One exists per frequency the UE is asked to watch. Every field below is one of three things: the reference signal to measure on, a threshold for consolidating several beams into one cell result, or an offset that biases one cell against another.

This listing has drifted further from the current specification than most on this site. It was written against an early Release 15 draft, and several of its field and type names no longer exist. The version below is the current text, and the table after it maps the old names onto the new ones.

Following is based on 38.331 v19.3.0 (Release 19)

MeasObjectNR ::=                    SEQUENCE {
    ssbFrequency                        ARFCN-ValueNR                                                   OPTIONAL,   -- Cond SSBorAssociatedSSB
    ssbSubcarrierSpacing                SubcarrierSpacing                                               OPTIONAL,   -- Cond SSBorAssociatedSSB
    smtc1                               SSB-MTC                                                         OPTIONAL,   -- Cond SSBorAssociatedSSB
    smtc2                               SSB-MTC2                                                        OPTIONAL,   -- Cond IntraFreqConnected
    refFreqCSI-RS                       ARFCN-ValueNR                                                   OPTIONAL,   -- Cond CSI-RS
    referenceSignalConfig               ReferenceSignalConfig,
    absThreshSS-BlocksConsolidation     ThresholdNR                                                     OPTIONAL,   -- Need R
    absThreshCSI-RS-Consolidation       ThresholdNR                                                     OPTIONAL,   -- Need R
    nrofSS-BlocksToAverage              INTEGER (2..maxNrofSS-BlocksToAverage)                          OPTIONAL,   -- Need R
    nrofCSI-RS-ResourcesToAverage       INTEGER (2..maxNrofCSI-RS-ResourcesToAverage)                   OPTIONAL,   -- Need R
    quantityConfigIndex                 INTEGER (1..maxNrofQuantityConfig),
    offsetMO                            Q-OffsetRangeList,
    cellsToRemoveList                   PCI-List                                                        OPTIONAL,   -- Need N
    cellsToAddModList                   CellsToAddModList                                               OPTIONAL,   -- Need N
    excludedCellsToRemoveList           PCI-RangeIndexList                                              OPTIONAL,   -- Need N
    excludedCellsToAddModList           SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement      OPTIONAL,   -- Need N
    allowedCellsToRemoveList            PCI-RangeIndexList                                              OPTIONAL,   -- Need N
    allowedCellsToAddModList            SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement      OPTIONAL,   -- Need N
    ...,
    -- five extension groups follow, from r15 through r19 : freqBandIndicatorNR, measCycleSCell,
    -- smtc3list-r16, rmtc-Config-r16, t312-r16, the r17 measurement gap associations, and measSequence-r18
}

ReferenceSignalConfig::=            SEQUENCE {
    ssb-ConfigMobility                  SSB-ConfigMobility                                              OPTIONAL,   -- Need M
    csi-rs-ResourceConfigMobility       SetupRelease { CSI-RS-ResourceConfigMobility }                  OPTIONAL    -- Need M
}

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 }
}

CSI-RS-ResourceConfigMobility ::=   SEQUENCE {
    subcarrierSpacing                   SubcarrierSpacing,
    csi-RS-CellList-Mobility            SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility,
    ...,
    [[
    refServCellIndex                    ServCellIndex                                                   OPTIONAL    -- Need S
    ]]
}

CSI-RS-Index ::=                    INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1)

Q-OffsetRangeList ::=               SEQUENCE {
    rsrpOffsetSSB                       Q-OffsetRange               DEFAULT dB0,
    rsrqOffsetSSB                       Q-OffsetRange               DEFAULT dB0,
    sinrOffsetSSB                       Q-OffsetRange               DEFAULT dB0,
    rsrpOffsetCSI-RS                    Q-OffsetRange               DEFAULT dB0,
    rsrqOffsetCSI-RS                    Q-OffsetRange               DEFAULT dB0,
    sinrOffsetCSI-RS                    Q-OffsetRange               DEFAULT dB0
}

ThresholdNR ::=                     SEQUENCE{
    thresholdRSRP                       RSRP-Range                                                      OPTIONAL,   -- Need R
    thresholdRSRQ                       RSRQ-Range                                                      OPTIONAL,   -- Need R
    thresholdSINR                       SINR-Range                                                      OPTIONAL    -- Need R
}

CellsToAddModList ::=               SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod

CellsToAddMod ::=                   SEQUENCE {
    physCellId                          PhysCellId,
    cellIndividualOffset                Q-OffsetRangeList
}

PCI-RangeElement ::=                SEQUENCE {
    pci-RangeIndex                      PCI-RangeIndex,
    pci-Range                           PCI-Range
}

Six names changed, and four information elements were deleted outright. The white and black cell lists were renamed when 3GPP moved away from that terminology. Their element type changed at the same time, from a bespoke structure to the general PCI-RangeElement, so the IEs that defined them are gone rather than renamed.

Name in the early Release 15 draft

Name in 38.331 v19.3.0

What changed

carrierFreq

ssbFrequency

Renamed, and now conditional on SSB being measured

SSB-MeasurementTimingConfiguration

SSB-MTC

Renamed. SSB-MTC2 and SSB-MTC2-LP-r16 were added beside it

CSI-RS-ResourceConfig-Mobility

CSI-RS-ResourceConfigMobility

Renamed, the hyphen before Mobility was dropped

CSI-RS-ResourceId-RRM

CSI-RS-Index

Renamed, same range

blackCellsToAddModList

excludedCellsToAddModList

Renamed, and the element type is now PCI-RangeElement

whiteCellsToAddModList

allowedCellsToAddModList

Renamed, and the element type is now PCI-RangeElement

BlackCellsToAddModList, BlackCellsToAddMod

No longer defined

Deleted. The list is now an inline SEQUENCE OF PCI-RangeElement

WhiteCellsToAddModList, WhiteCellsToAddMod

No longer defined

Deleted, for the same reason

  • Only three members are mandatory : referenceSignalConfig, quantityConfigIndex and offsetMO carry no OPTIONAL, so every other field can be absent.
  • The consolidation thresholds are what turn beams into a cell : absThreshSS-BlocksConsolidation and its CSI-RS twin decide which beams are averaged, and nrofSS-BlocksToAverage caps how many.
  • Offsets exist at two levels : offsetMO applies to the whole object, and cellIndividualOffset inside CellsToAddMod applies to one cell.
  • Every offset defaults to dB0 : Q-OffsetRangeList carries DEFAULT dB0 on all six, so an absent offset is no offset rather than an undefined one.
  • Excluded and allowed lists are PCI ranges, not single cells : PCI-RangeElement pairs an index with a range, so one entry can cover many physical cell identities.
  • ThresholdNR carries all three quantities : RSRP, RSRQ and SINR, which is the same triple the results side reports.

Measurement Items in RRC - MeasResults

This is the reply to everything configured above. The same three quantities come back twice, once for the cell as a whole and once per beam. That is what lets the network see both the consolidated result and the individual SSB or CSI-RS behind it.

This listing has drifted even further than the measurement object. It carries an FFS marker and a TYPE_FFS placeholder, both signs of a draft that had not settled. The four result structures it defines have since been replaced by a single one.

Following is based on 38.331 v19.3.0 (Release 19)

MeasResults ::=                         SEQUENCE {
    measId                                  MeasId,
    measResultServingMOList                 MeasResultServMOList,
    measResultNeighCells                    CHOICE {
        measResultListNR                        MeasResultListNR,
        ...,
        measResultListEUTRA                     MeasResultListEUTRA,
        measResultListUTRA-FDD-r16              MeasResultListUTRA-FDD-r16,
        sl-MeasResultsCandRelay-r17             OCTET STRING        -- Contains PC5 SL-MeasResultListRelay-r17
    }                                                                                                                   OPTIONAL,
    ...,
    -- six extension groups follow, from r15 through r19
}

MeasResultServMOList ::=                SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO

MeasResultServMO ::=                    SEQUENCE {
    servCellId                              ServCellIndex,
    measResultServingCell                   MeasResultNR,
    measResultBestNeighCell                 MeasResultNR                                                                OPTIONAL,
    ...
}

MeasResultListNR ::=                    SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR

MeasResultNR ::=                        SEQUENCE {
    physCellId                              PhysCellId                                                                  OPTIONAL,
    measResult                              SEQUENCE {
        cellResults                             SEQUENCE{
            resultsSSB-Cell                         MeasQuantityResults                                                 OPTIONAL,
            resultsCSI-RS-Cell                      MeasQuantityResults                                                 OPTIONAL
        },
        rsIndexResults                          SEQUENCE{
            resultsSSB-Indexes                      ResultsPerSSB-IndexList                                             OPTIONAL,
            resultsCSI-RS-Indexes                   ResultsPerCSI-RS-IndexList                                          OPTIONAL
        }                                                                                                               OPTIONAL
    },
    ...,
    -- four extension groups follow : cgi-Info, the r17 conditional handover fields, entering-r18
    -- and distanceFromReference2-r19
}

MeasQuantityResults ::=                 SEQUENCE {
    rsrp                                    RSRP-Range                                                                  OPTIONAL,
    rsrq                                    RSRQ-Range                                                                  OPTIONAL,
    sinr                                    SINR-Range                                                                  OPTIONAL
}

ResultsPerSSB-IndexList ::=             SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF ResultsPerSSB-Index

ResultsPerSSB-Index ::=                 SEQUENCE {
    ssb-Index                               SSB-Index,
    ssb-Results                             MeasQuantityResults                                                         OPTIONAL
}

ResultsPerCSI-RS-IndexList ::=          SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF ResultsPerCSI-RS-Index

ResultsPerCSI-RS-Index ::=              SEQUENCE {
    csi-RS-Index                            CSI-RS-Index,
    csi-RS-Results                          MeasQuantityResults                                                         OPTIONAL
}

The change worth understanding is the collapse of four types into one. The draft defined ResultsSSBCell, ResultsCSI-RSCell, ResultsPerSSBIndex and ResultsPerCSI-RSIndex, each with its own differently prefixed rsrp, rsrq and sinr fields. All four now use MeasQuantityResults, whose members are simply rsrp, rsrq and sinr.

Name in the early Release 15 draft

Name in 38.331 v19.3.0

What changed

measResultServingFreqList

measResultServingMOList

Renamed. Results are reported per measurement object, not per frequency

MeasResultServFreqList, MeasResultServFreq

MeasResultServMOList, MeasResultServMO

Renamed, and servFreqId became servCellId

ResultsSSBCell, ResultsCSI-RSCell

MeasQuantityResults

Both replaced by one type with plain rsrp, rsrq and sinr members

ResultsPerSSBIndexList, ResultsPerSSBIndex

ResultsPerSSB-IndexList, ResultsPerSSB-Index

Renamed, and the three quantities moved into ssb-Results

ResultsPerCSI-RSIndexList, ResultsPerCSI-RSIndex

ResultsPerCSI-RS-IndexList, ResultsPerCSI-RS-Index

Renamed, and the quantities moved into csi-RS-Results

cgi-Info TYPE_FFS!

cgi-Info CGI-InfoNR

The placeholder was resolved, and the field moved into an extension group

  • Every quantity is optional : MeasQuantityResults marks rsrp, rsrq and sinr all OPTIONAL, so a report carries only what the configuration asked for.
  • Cell results and beam results are separate branches : cellResults holds the consolidated value and rsIndexResults holds the per beam list.
  • One type now serves four places : MeasQuantityResults appears in both cell branches and inside both per index structures.
  • The serving list is keyed by measurement object : MeasResultServMO pairs a serving cell identity with its own result and the best neighbour on the same object.
  • The neighbour list is a CHOICE : NR, E-UTRA and UTRA FDD results are alternatives, so one report covers one radio access technology.

Reference

[1] 38.215 v19.3.0 : NR - Physical layer measurements. Clause 5.1 defines the UE measurement quantities, and the table above is drawn from it.

[2] 38.331 v19.3.0 : NR - Radio Resource Control (RRC) protocol specification. MeasObjectNR, MeasResults and every supporting definition above are quoted from it.