4G/LTE - Measurement Report

 

 

 

CSI Report - Overview

 

CSI stands for Channel Status Information. As the name implies, it is a kind of indicator how good or bad the channel is at a specific time. The CSI has three major components as below. Not all of these indicator is measured for every CSI report. Depending on the situation and configuration from network, UE perform different combination of measurement.

 

At high level view, it would not be difficult to understand overall concept of CSI. However, getting deeper into the details.. it would become much complicated .. and tooooooooooooo confusing (at least very confusing to me). That is one of the reason why I wrote multiple pages for the same topic (CSI). Multiple pages for the same topic can be additional confusion to some readers (even to me). However, I thought the page would get too big for download if I put everything in single page and I also thought it would not be bad to provide a little bit different aspect for the same topic with multiple post. But as I add more pages (post), I thought it would be good to write a page to provide high level view and help readers combine all those multiple pages that I wrote. Followings are topics to be touch in this page.

Does UE has to report CSI always or only in certain periodicity or only when network triggers case by case ?

Actually all of the three options in the question are possible. It is just a matter of configuration. For recap, let me summarize three possible configurations regarding CSI report.

 

Case 1 : No CSI Report

Nothing is broken when a UE reports no CSI at all. The configuration simply never asks for it, and the network then has to choose a modulation and a rank without the UE's own view of the channel.

    This would be the case that are adopted for general functionality test with UE test equipment (Of course, most of the UE test equipment allow to configure CSI report if necessary). However, you wouldn't see this case in live network.

Three different configurations produce this case, and a decode tells them apart.

  • The whole IE can be absent : cqi-ReportConfig is optional inside PhysicalConfigDedicated, so a configuration may leave it out entirely.
  • Or it can be present and empty : cqi-ReportModeAperiodic and cqi-ReportPeriodic are each optional, so both can be missing from an IE that is otherwise there.
  • Or periodic reporting can be switched off by name : cqi-ReportPeriodic is a CHOICE, and its release arm says stop rather than never start.
  • One field marks the second shape : nomPDSCH-RS-EPRE-Offset carries no optional marker, so an otherwise empty cqi-ReportConfig still shows it.
  • Link adaptation pays for this case : with no report arriving, the scheduler works from something other than a measurement the UE made.

 

Case 2 : Peridic CSI Report

This is the case a connected UE spends most of its time in. The network fixes a cycle once, in an RRC message, and the UE then reports on that cycle until it is told otherwise.

    UE report CSI in certain time interval configured by higher layer (RRC Message).

Five fields inside cqi-ReportPeriodic carry the whole arrangement. Two of them set the cycle and the rest settle the shape and the resource.

  • The cycle is two indices rather than two periods : cqi-pmi-ConfigIndex and ri-ConfigIndex are both INTEGER (0..1023).
  • CQI and RI can run at different rates : the two indices are independent, and only ri-ConfigIndex is optional.
  • The resource is named outright : cqi-PUCCH-ResourceIndex is INTEGER (0..1185), and it says where on PUCCH the report goes.
  • PUCCH is the normal channel : the table further down this page moves the report onto PUSCH only when a grant lands in the same subframe.
  • Switching it off is signalled, not implied : the release arm of the CHOICE ends periodic reporting, and omitting the field is a different thing.
  • The cost is a standing reservation : the cycle runs whether the channel changed since the last report or not.

 

Case 3 : Aperidic CSI Report

Here the UE says nothing until it is asked. That makes each report expensive to request and free to skip, which is the opposite trade from the case above.

    This is the case where UE report CSI report only when network tell it to do it. Network can tell UE to send CSI Report by setting CSI Request field in DCI Format 0.

The RRC side of this case is a single field. What is missing from it matters as much as what is in it.

  • One field configures the whole thing : cqi-ReportModeAperiodic, an ENUMERATED with eight values.
  • Nothing in the IE says when : cqi-ReportConfig carries no timing field for aperiodic reporting, which is why a trigger has to arrive separately.
  • The sentence above names that trigger : the CSI Request field in DCI Format 0.
  • The request and the resource travel together : DCI Format 0 is an uplink grant, so the message that asks for the report also allocates the PUSCH it goes on.
  • PUSCH is the only channel : 36.213 clause 7.2.1 is titled Aperiodic CSI Reporting using PUSCH, and the table further down this page offers no alternative.
  • The network buys room : the 3GPP text quoted below calls it large and more detail reporting in a single reporting instance.

 

In 3GPP, only < Case 2> and < Case 3> are specified as below (If none of < Case 2 >, < Case 3>, it automatically mean < Case 1 >)

  • Periodic reporting: the UE reports CQI, PMI, and RI with reporting periods configured by the higher layer. PUCCH is used for this.
  • Aperiodic reporting: can be used to provide large and more detail reporting in a single reporting instance via PUSCH. Report Timing is triggered by DCI.

Which part of the spectrum UE has to measure ?

One question we can think of would be : Would this CSI be represent the channel quality across the full spectrum (e.g 20 Mhz) assigned to the UE ? or represent only some portion of the allocated spectrum ?

In terms of implementation and complexity, it would be easier to let the single CSI report represent the channel quality of the full band. But in reality, those report would not accurately represent the channel quality for every point across the spectrum.

In terms of accuracy, it would be better to let a single CSI report represent only each and every small portions of the spectrum. However, it would be more complicated to implement and UE would need to send multiple CSI reports to notify the whole area of the spectrum.

The simplest compromise would be to provide the both ways and let network select one of the option as necessary. The case where UE report CSI that represent the full bandwidth is called 'Wideband CQI' and the case where UE report CSI that represent a small portions of bandwidth is call 'Subband CQI'.

 

For subband CQI feedback (It would not need any further description on Wideband CQI)

  • In periodic reporting : The UE cycles through different subbands from one reporting instance to the next, to reduce overhead
  • In aperiodic reporting :
    • Higher layer configured subband reporting: UE reports the subband CQI for each band in a single feedback report.
    • UE selected subband report: UE reports the subbandCQI for the 'M' bands with the highest CQI values

What kind of Physical Channel does a UE has to use to report CSI ?

Following table from 36.213 gives you the answer. In short, UE use PUSCH to report CSI in aperiodic manner and use PUCCH or PUSCH for periodic report. (This used to be specified in 36.213 Table 7.2-1, but the table has become void since Rel 12 implying that the channel allocation for CSI report is not as clear as before.) Following is a new table based on my understanding taking into account many things in the situation in later 3GPP specification.

 

CSI Report Type

Physical Channel

Periodic

PUCCH : When no PUSCH is scheduled at CSI report subframe

PUSCH : When PUSCH is scheduled at CSI report subframe and Simultenous PUCCH and PUSCH is not enabled.

Aperiodic

PUSCH only

Aperiodic has one answer and periodic has three. The row that looks simple is the one that is always true.

  • Aperiodic reporting has no second option : the cell reads PUSCH only, with no condition attached to it.
  • Periodic reporting picks its channel per subframe : PUCCH when no PUSCH is scheduled. PUSCH when one is scheduled and simultaneous transmission is not enabled.
  • The specification builds the channel into its clause titles : 36.213 clause 7.2.1 is Aperiodic CSI Reporting using PUSCH. Clause 7.2.2 is Periodic CSI Reporting using PUCCH.
  • So the table is naming an exception, not a free choice : periodic reporting belongs on PUCCH. It moves to PUSCH only when it has to.

 

Just considering the description mentioned above, it may sound like 'Periodic CSI report is conveyed only by PUCCH' and 'Aperiodic CSI reporting is conveyed only by PUSCH'.. but if you read carefully the following description (green part), you would notice that periodic CSI can be reported either PUCCH or PUSCH depending on the situation.

Just to give you a little bit of details/clarification, I put the descriptions about this from 36.213 Rel 8 and Rel 11 specification.

 

36.213 Rel 8 - 7.2

  • A UE shall transmit periodic CQI/PMI, or RI reporting on PUCCH as defined hereafter in subframes with no PUSCH allocation. A UE shall transmit periodic CQI/PMI or RI reporting on PUSCH as defined hereafter in subframes with PUSCH allocation, where the UE shall use the same PUCCH-based periodic CQI/PMI or RI reporting format on PUSCH.
  • A UE shall transmit aperiodic CQI/PMI, and RI reporting on PUSCH if the conditions specified hereafter are met. For aperiodic CQI reporting, RI reporting is transmitted only if configured CQI/PMI/RI feedback type supports RI reporting.
  • In case both periodic and aperiodic CSI reporting would occur in the same subframe, the UE shall only transmit the aperiodic CSI report in that subframe.

36.213 Rel 11 - 7.2 : The part marked in red is the part added in Rel 10 and higher

  • If the UE is configured with more than one serving cell, it transmits CSI for activated serving cell(s) only.
  • If a UE is not configured for simultaneous PUSCH and PUCCH transmission, it shall transmit periodic CSI reporting on PUCCH as defined hereafter in subframes with no PUSCH allocation.
  • If a UE is not configured for simultaneous PUSCH and PUCCH transmission, it shall transmit periodic CSI reporting on PUSCH of the serving cell with smallest ServCellIndex as defined hereafter in subframes with a PUSCH allocation, where the UE shall use the same PUCCH-based periodic CSI reporting format on PUSCH.
  • A UE shall transmit aperiodic CSI reporting on PUSCH if the conditions specified hereafter are met. For aperiodic CQI/PMI reporting, RI reporting is transmitted only if the configured CSI feedback type supports RI reporting.
  • In case both periodic and aperiodic CSI reporting would occur in the same subframe, the UE shall only transmit the aperiodic CSI report in that subframe.

Two releases of the same clause, quoted as the author found them. The Release 11 column is the longer one because carrier aggregation added a cell to choose.

Which RRC Message and which IE carries CSI report configuration ?

There are several different sub types of CQI and PMI. For example, Among CQI are Wideband CQI and Subband CQI and in Subband CQI there are two types of configuration, UE Selected and Higher Layer Configured.

In PMI, there are also two types Single PMI and Multiple PMI.

Then you may ask on exactly when (at which subframe) UE has to report CSI ? Overall guideline for the report cycle/pattern is explcitely specified by Higher Layer (RRC message) as shown below and some further details are implicitely determined by various tables and formula.

The RRC message that can specify CSI report configuration can be any message that can carry following IEs. The most typical RRC messages are RRC Connection Setup and RRC Connection Reconfiguration message.

Decoder view of physicalConfigDedicated with cqi-ReportConfig expanded, showing one field for aperiodic reporting and a five field setup block for periodic reporting, with a callout box beside each

One field on the aperiodic side and a block of five on the periodic side. The two callout boxes say why, and the field counts prove it.

  • The tree root is physicalConfigDedicated : cqi-ReportConfig is the seventh of its ten fields, between tpc-PDCCH-ConfigPUSCH and soundingRS-UL-ConfigDedicated.
  • cqi-ReportConfig holds exactly three things : cqi-ReportModeAperiodic, nomPDSCH-RS-EPRE-Offset and cqi-ReportPeriodic.
  • The aperiodic half is one enumerated value : cqi-ReportModeAperiodic reads rm12 in the orange row, and there is nothing else beside it.
  • The periodic half is a whole sub-structure : the green block expands to setup, then five fields underneath it.
  • Those five are all visible : cqi-PUCCH-ResourceIndex 0, cqi-pmi-ConfigIndex 0, cqi-FormatIndicatorPeriodic widebandCQI, ri-ConfigIndex 0 and simultaneousAckNackAndCQI FALSE.
  • nomPDSCH-RS-EPRE-Offset reads -1 : that is the bottom of the range 36.331 gives it, which is INTEGER (-1..6).
  • The tan box states the aperiodic problem : only one parameter is explicitly specified. The rest of the reporting pattern comes from tables and from other physical layer configuration.
  • The green box states the periodic one : the exact subframe still needs a formula. Most of what decides it is signalled outright.

The picture above is a decode of one live message. The structure it is decoding against is below, quoted from the current release. The field names and the ranges can then be checked against what the decoder printed.

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

CQI-ReportConfig ::= SEQUENCE {
                    cqi-ReportModeAperiodic         CQI-ReportModeAperiodic   OPTIONAL,   -- Need OR
                    nomPDSCH-RS-EPRE-Offset         INTEGER (-1..6),
                    cqi-ReportPeriodic              CQI-ReportPeriodic        OPTIONAL    -- Need ON
                }
                
                CQI-ReportModeAperiodic ::= ENUMERATED {
                    rm12, rm20, rm22, rm30, rm31,
                    rm32-v1250, rm10-v1310, rm11-v1310
                }
                
                CQI-ReportPeriodic ::= CHOICE {
                    release                         NULL,
                    setup                           SEQUENCE {
                        cqi-PUCCH-ResourceIndex         INTEGER (0..1185),
                        cqi-pmi-ConfigIndex             INTEGER (0..1023),
                        cqi-FormatIndicatorPeriodic     CHOICE {
                            widebandCQI                     NULL,
                            subbandCQI                      SEQUENCE {
                                k                               INTEGER (1..4)
                            }
                        },
                        ri-ConfigIndex                  INTEGER (0..1023)     OPTIONAL,   -- Need OR
                        simultaneousAckNackAndCQI       BOOLEAN
                    }
                }
  • Both halves are optional and they are optional separately : cqi-ReportModeAperiodic is Need OR and cqi-ReportPeriodic is Need ON. A configuration may carry one, the other, both or neither.
  • Case 1 happens when neither is present : the section above calls it No CSI Report. This is the shape it takes in the message.
  • Only nomPDSCH-RS-EPRE-Offset is mandatory : it has no OPTIONAL marker, so it is present whenever cqi-ReportConfig itself is.
  • cqi-ReportPeriodic is a CHOICE, not a plain sequence : release and setup are the two arms. Periodic reporting is turned off by signalling release rather than by omitting the field.
  • The aperiodic type carries eight values : rm12, rm20, rm22, rm30 and rm31 from the first release. The other three carry a version suffix, so rm32-v1250 says when it arrived.
  • ri-ConfigIndex is the only optional field inside setup : a periodic configuration can therefore ask for CQI and PMI without asking for RI.

 

For the details of configuration for Periodic and Aperiodic Report, refer to follows pages for each topic.

How UE know WHEN to send CSI Report ?

In case of Periodic Report, UE can figure out exactly when it should send report from RRC message and in case of Aperiodic Report, Network notify UE to transmit the report via DCI.

The picture in the section above shows where that timing is written down. Two fields carry it, and both are ten bit integers.

  • cqi-pmi-ConfigIndex sets the CQI and PMI schedule : INTEGER (0..1023), and the capture shows it at 0.
  • ri-ConfigIndex sets the RI schedule separately : the same range, also 0 in the capture, and optional in a way cqi-pmi-ConfigIndex is not.
  • Neither field is a count of subframes : each is an index, and 36.213 clause 7.2.2 is where the mapping lives. That is the formula the green callout box refers to.
  • The aperiodic side has no timing field at all : nothing in cqi-ReportConfig says when an aperiodic report is due. The grant decides that.
  • That is the practical difference when reading a log : a periodic report can be predicted from the RRC message alone. An aperiodic one cannot.
  • One field in that block is not a schedule at all. It settles what happens when a periodic report and an acknowledgement want the same subframe.

    • simultaneousAckNackAndCQI is the only BOOLEAN in the block : four integers and a choice sit beside it, and it reads FALSE in the capture.
    • Its name pairs the two things that collide : an acknowledgement and a CQI report. Both want PUCCH in the same subframe.
    • The table earlier on this page covers the other collision : a periodic report meeting a PUSCH grant. That moves the report onto PUSCH.
    • Periodic timing is signalled and aperiodic timing is granted : that is the whole answer. The rest is which field carries which half.
    • A quiet log is not always a fault : cqi-ReportPeriodic is a CHOICE. A network that sent release has switched periodic reporting off deliberately.

How UE know WHAT to send in CSI Report ?

In both Aperiodic and Periodic CSI, what to be included in the CSI message is configured by RRC message.. but they are configured by different IEs (Information Elements) in the RRC message.

The two IEs are worth naming, because they are not variants of one field. They sit in different branches of the same structure and they are different ASN.1 types.

  • Aperiodic uses cqi-ReportModeAperiodic : an ENUMERATED with eight values, so the whole of what to send is chosen by picking one of them.
  • Periodic uses cqi-FormatIndicatorPeriodic : a CHOICE between widebandCQI and subbandCQI, and the subband arm carries its own parameter k.
  • k is the one number the format field can carry : INTEGER (1..4), and it appears only on the subband arm.
  • RI is decided by presence rather than by a mode : ri-ConfigIndex is OPTIONAL. Leaving it out is how a configuration says no RI.
  • One enumerated value is the whole instruction : the mode name is all the aperiodic branch carries. 36.213 sets out what each name stands for, and the RRC message does not.
  • The split connects to a section further up this page. Subband reporting was described there as two different behaviours, and the two branches of this IE are where that difference is written down.

    • One field against one choice : aperiodic settles what to send with a single enumerated value. Periodic settles it with a CHOICE that can carry a parameter.
    • Only the subband arm carries anything : widebandCQI is NULL, so selecting it is the whole of the instruction.
    • The two branches share no type at all : one is an ENUMERATED and the other is a CHOICE, so they cannot be read the same way.
    • The periodic block is the only one that can be partly filled : ri-ConfigIndex is optional inside it, and the aperiodic branch has nothing to leave out.
    • What to send and when to send it share one IE : cqi-FormatIndicatorPeriodic and cqi-pmi-ConfigIndex sit two lines apart. They answer different questions.

For WHICH CELL a UE has to send CSI Report ?

Now with the introduction of Carrier Aggregation, UE need to know for Which cell it has to measure CSI. This is configured by the combination of RRC message and DCI (Refer to CQI, PMI, RI Reporting Configuation-Details on Aperiodic Report).

The answer is structural rather than procedural. A CSI configuration is not addressed to a cell by a field inside it, because it is already inside that cell's own configuration.

  • The primary cell uses the IE shown above : cqi-ReportConfig sits inside PhysicalConfigDedicated, which is the dedicated configuration of the serving cell.
  • A secondary cell gets its own copy on its own path : SCellToAddMod-r10 carries radioResourceConfigDedicatedSCell-r10, which carries physicalConfigDedicatedSCell-r10.
  • The SCell field sits on the uplink side of that structure : cqi-ReportConfigSCell-r10 is inside ul-Configuration-r10. That fits, because a report is something the UE transmits.
  • The SCell IE is a near copy with one extra field : cqi-ReportModeAperiodic-r10, nomPDSCH-RS-EPRE-Offset-r10 and cqi-ReportPeriodicSCell-r10, plus pmi-RI-Report-r10.
  • sCellIndex-r10 is what names the cell : the index identifies which secondary cell the whole block belongs to. The CSI configuration never has to name one itself.
  • The aperiodic mode type is shared between them : both IEs point at CQI-ReportModeAperiodic. The eight mode values therefore mean the same thing on either cell.

Reference

The two documents below are the ones this page works from. The first supplied every IE quoted here, in the version named. Only the clause list of the second could be read.

  • 36.331 : 3GPP - E-UTRA; Radio Resource Control (RRC); Protocol specification, v19.3.0. The source of CQI-ReportConfig, CQI-ReportModeAperiodic, CQI-ReportPeriodic, PhysicalConfigDedicated, SCellToAddMod-r10 and CQI-ReportConfigSCell-r10.
  • 36.213 : 3GPP - E-UTRA; Physical layer procedures, v19.4.0. Clause 7.2 is UE procedure for reporting Channel State Information. Under it, 7.2.1 is Aperiodic CSI Reporting using PUSCH and 7.2.2 is Periodic CSI Reporting using PUCCH. The quotations on this page are the author's, from Release 8 and Release 11.