5G/NR - QCL/TCI                                           Home : www.sharetechnote.com

 

 

 

 

 

QCL (Quasi Co Location)/TCI(Transmission Configuration Indication)

 

 

 

 

 

Formal / Dry definition of QCL

 

According to R1-1700771, QCL is defined as follows :

    Two antenna ports are said to be quasi co-located if properties of the channel over which a symbol on one antenna port is conveyed can be inferred from the channel over which a symbol on the other antenna port is conveyed

 

Don't get disappointed if this does not sound clear to you. It is same to me as well. I may not understand the detailed physics and mathematics behind this forever, but I think I need to know at least some high level parameters about this.

 

It will take long time to get real / practical meaning of this statement. If you are familiar with the definition of Antenna port in LTE, you would noticed that the definition shown here is very similar to Antenna Port in LTE except a couple of words.

 

Simply put you may think that Antenna port defines the correlation between symbols within a same antenna port and QCL defines the correlation between symbols from different antenna ports.

 

 

 

QCL Types

 

"38.214 - 5.1.5   Antenna ports quasi co-location" defines four difference types of QCL as listed below.

 

QCL Type

Description

QCL-TypeA

Doppler shift, Doppler spread, average delay, delay spread

QCL-TypeB

Doppler shift, Doppler spread'

QCL-TypeC

Average delay, Doppler shift

QCL-TypeD

Spatial Rx parameter

 

 

 

What does it really mean ?

 

I wrote about the formal definition of QCL and the types of QCL. What does it really mean ? When somebody says 'A signal (A) is QCLed (Quasi Colacated) with another signal (B)', do you really understand what this mean ?

I would say in my own words as follows.

    i) The two signal (A) and (B) has gone through very similar channel condition.

    ii) In order for (A) and (B) to go through the similar channel, it is highly likely that they are from the same location(i.e, same place and same antenna). ==> More specifically, it implies that the signal (A) and (B) are transmitted from the same TRP(Antenna Array) that applies the same Spatial Filter.

    iii) Since the two signal reaches the reciever through similar channel, if the reciever can detect one of the signal and figure out the channel properties of the signal, it will greatly help to detect the other signal.

 

Let me give you more concrete example using NR terminology. What would it mean if I say 'the PDCCH from a gNB is QCLed with SSB'. What would this mean ?

I would mean that the PDCCH went through the similar channel condition as SSB. The channel information estimated to detect SSB can help detect PDCCH as well.

 

Now let's get into just a little bit deeper. When you say 'channel condition', what does it exactly mean ? There can be a lot of factors that defines the channel condition, but current 3GPP defines several parameters to define the channel condition as listed below.

  • Doppler Shift
  • Doppler Spread
  • Average Delay
  • Delay Spread
  • Spatial Rx Parameter

One or more of these factors would form a property of the channel that two signal shares and the predefined group of these factors are labeled as QCL type that is mentioned in previous section.

 

Putting all these togother, we can define the relationship of two related signal like ... 'The PDCCH signal from the gNB is QCLed with SSB via Type C'. This mean that the PDCCH and the SSB went through the similar radio channel sharing the similar properties in terms of Average Delay and Doppler Shift.

 

 

 

Triggering TCI

 

I wrote this table based on the descriptions in "38.214 - 5.1.5   Antenna ports quasi co-location"

 

Steps

Direction

Description

1

UE <-- NW

RRC Configures TCI related parameters

2

UE <-- NW

NW Send MAC CE Activation Commnd

3

UE

UE recieves the PDSCH carrying the MAC CE

4

UE --> NW

UE sends HARQ ACK at slot n

5

UE/NW

TCI configured in Transmission Configuration Indication of DCI 1_1 is applied from the slot (n + 3 subrames + 1).

 

 

 

Mapping between QCL-Type configurations and TCI-RS-Set / DMRS

 

Which QCL-Type is applied is determined by TCI-RS-Set and DMRS. "38.214 - 5.1.5   Antenna ports quasi co-location" states about the mapping between QCL-Type and TCI-RS-Set as follows.

 

 

< QCL for CSI Resource >

 

TCI-RS-Set Configuration

QCL Type that TCI-State indicates

QCL Type

Reference Signal

CSI Resource Type = periodic

NZP-CSI-RS-ResourceSet.trs-Info = true

NZP-CSI-RS-ResourceSet.repetition = off

QCL-TypeC

SS/PBCH Block

QCL-TypeD

SS/PBCH Block

CSI Resource Type = periodic

NZP-CSI-RS-ResourceSet.trs-Info = true

NZP-CSI-RS-ResourceSet.repetition = on

QCL-TypeC

SS/PBCH Block

QCL-TypeD

NZP-CSI-RS-ResourceSet.nzp-CSI-ResourceSetId

CSI Resource Type = aperiodic

NZP-CSI-RS-ResourceSet.trs-Info = true

QCL-TypeA

a periodic CSI-RS resource in a NZP-CSI-RS-ResourceSet

NZP-CSI-RS-ResourceSet.trs-Info = false

NZP-CSI-RS-ResourceSet.repetition = off

QCL-TypeA

CSI-RS resource in a NZP-CSI-RS-ResourceSet

QCL-TypeD

CSI-RS resource as above

QCL-TypeA

CSI-RS resource in a NZP-CSI-RS-ResourceSet

QCL-TypeD

SS/PBCH block

QCL-TypeB

CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter trs-Info when 'QCL-TypeD' is not applicable.

NZP-CSI-RS-ResourceSet.repetition = on

QCL-TypeA

CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter trs-

Info

QCL-TypeD

the same CSI-RS resource as above

QCL-TypeA

CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter trs-Info

QCL-TypeDr

 

a CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter repetition

QCL-TypeC

SS/PBCH block

QCL-TypeD

the same SS/PBCH block as above

 

 

< QCL for CSI DMRS >

 

DMRS Type

QCL Type that TCI-State indicates

PDCCH DMRS

'QCL-TypeA' with a CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter trs-Info and, when applicable, 'QCL-TypeD' with the same CSI-RS resource, or

'QCL-TypeA' with a CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter trs-Info and, when applicable, 'QCL-TypeD' with a CSI-RS resource in an NZP-CSI-RS-ResourceSet configured with higher layer parameter repetition, or

'QCL-TypeA' with a CSI-RS resource in a NZP-CSI-RS-ResourceSet configured without higher layer parameter trs-Info and without higher layer parameter repetition, when 'QCL-TypeD' is not applicable.

PDSCH DMRS

'QCL-TypeA' with a CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter trs-Info and, when applicable, 'QCL-TypeD' with the same CSI-RS resource, or

'QCL-TypeA' with a CSI-RS resource in a NZP-CSI-RS-ResourceSet configured with higher layer parameter trs-Info and, when applicable, 'QCL-TypeD' with a CSI-RS resource in an NZP-CSI-RS-ResourceSet configured with higher layer parameter repetition,or

QCL-TypeA' with CSI-RS resource in a NZP-CSI-RS-ResourceSet configured without higher layer parameter trs-Info and without repetition and, when applicable, 'QCL-TypeD' with the same CSI-RS resource.

 

 

 

How UE figure out TCI-State for PDCCH for each specific moment ?

 

The overall process of applying TCI for this case is as follows.

 

Step 1 :  A TCI State table called 'tci-StatesToAddModList' is defined in PDSCH-Config. The max size of the table is 128.

 

Step 2 : Select a subset of the tables from tci-StatesToAddModList and put them into ControlResourceSet.tci-StatesPDCCH-ToAddList. The max size of this table is 64.

 

Step 3 : Apply a specific tci-States defined in Step 2 via TCI State Indication for UE-specific PDCCH MAC CE.

 

 

 

How UE figure out TCI-State for downlink data PDSCH  for each specific moment ?

 

There are roughly two cases we can think of configuring TCI-State on UE side. This process is described in very complicated way (at least to me) in 38.214 and it was hard for me to get some big picture. Followings are what I interpret the specification.

 

 

Case 1 : When tci-PresentInDCI = omit or PDSCH is scheduled by DCI 1_0.

 

In this case, UE used TCI state for CORESET/PDCCH as the TCI state for PDSCH. it means

    TCI state for PDSCH = TCI state for CORESET/PDCCH

 

 

 

Case 2 : When tci-PresentInDCI = enabled.

 

In this case, UE used TCI specified in DCI 1_1. Sound simple ?  It may look simple, but the problem is that TCI field in DCI 1_1 is just a number ranging 0 through 7. It does not have any details in it.  This is where the complication /confusion comes in. Following is what I understand (but some possibility of errors. please let me know if you don't agree with my understanding). It goes in a few steps as follows.

 

Step 1 :  A TCI State table called 'tci-StatesToAddModList' is defined in PDSCH-Config. The max size of the table is 128.

 

Step 2 : Select a subset of the tables from tci-StatesToAddModList and put them into a smaller table 'codepoint'. This is done by the 'TCI States Activation/Deactivation for UE-specific PDSCH MAC CE'. The max size of this table is 8.

 

Step 3 : For each PDSCH scheduling, the TCI field(Transmission Configuration Indication) field in DCI 1_1 indicate a specific index of the table defined in Step 2.

 

 

 

Examples of TCI configuration in RRC

 

One of the reality behind QCL is that it is extremly difficult to grasp the real meaning of it, but even harder reality is that it is even more difficult to configure those things in signaling message. I hope a few example illustration shown here would help you to get some big picture of the configuration.

 

 

Example 1 > PDCCH QCLed with SSB

 

 

 

Example 2 > PDCCH QCLed with CSI-RS

 

 

 

Example 3 > PDCCH QCLed with SSB and CSI-RS

 

 

 

 

RRC Messages on QCI

 

 

ControlResourceSet ::=                  SEQUENCE {

    controlResourceSetId                    ControlResourceSetId,

    frequencyDomainResources                BIT STRING (SIZE (45)),

    duration                                INTEGER (1..maxCoReSetDuration),

                                                       //maxCoReSetDuration = 3  

    cce-REG-MappingType CHOICE {

        interleaved                             SEQUENCE {

            reg-BundleSize                          ENUMERATED {n2, n3, n6},

            interleaverSize                         ENUMERATED {n2, n3, n6},

            shiftIndex                              INTEGER(0..maxNrofPhysicalResourceBlocks-1)

        },

        nonInterleaved                          NULL

    },,

    precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs},

    tci-StatesPDCCH                 SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId

    tci-PresentInDCI                ENUMERATED {enabled}                OPTIONAL

    pdcch-DMRS-ScramblingID         BIT STRING (SIZE (16))              OPTIONAL

}

 

 

 

PDSCH-Config ::=                        SEQUENCE {

    dataScramblingIdentityPDSCH             INTEGER (0..1007)    OPTIONAL,

    dmrs-DownlinkForPDSCH-MappingTypeA      SetupRelease { DMRS-DownlinkConfig }  OPTIONAL,   

    dmrs-DownlinkForPDSCH-MappingTypeB      SetupRelease { DMRS-DownlinkConfig }  OPTIONAL,  

    tci-StatesToAddModList                  SEQUENCE (SIZE(1..maxNrofTCI-States))

                                                OF TCI-State    OPTIONAL,   -- Need N

    tci-StatesToReleaseList                 SEQUENCE (SIZE(1..maxNrofTCI-States))

                                                OF TCI-StateId  OPTIONAL,   -- Need N

    vrb-ToPRB-Interleaver                   ENUMERATED {n2, n4},

    resourceAllocation                      ENUMERATED { resourceAllocationType0,

                                                         resourceAllocationType1,

                                                         dynamicSwitch},

    pdsch-AllocationList                    SEQUENCE (SIZE(1..maxNrofDL-Allocations))

                                                OF PDSCH-TimeDomainResourceAllocation ,

    pdsch-AggregationFactor                 ENUMERATED { n2, n4, n8 } OPTIONAL, 

    rateMatchPatternToAddModList            SEQUENCE (SIZE (1..maxNrofRateMatchPatterns))

                                                 OF RateMatchPattern    OPTIONAL, -- Need N

    rateMatchPatternToReleaseList           SEQUENCE (SIZE (1..maxNrofRateMatchPatterns))

                                                 OF RateMatchPatternId     OPTIONAL, -- Need N

    rateMatchPatternGroup1                  SEQUENCE (SIZE (1..maxNrofRateMatchPatterns))

                                                 OF RateMatchPatternId     OPTIONAL, -- Need R

    rateMatchPatternGroup2                  SEQUENCE (SIZE (1..maxNrofRateMatchPatterns))

                                                 OF RateMatchPatternId     OPTIONAL, -- Need R

    rbg-Size                                ENUMERATED {config1, config2},

    mcs-Table                               ENUMERATED {qam64, qam256},

    maxNrofCodeWordsScheduledByDCI          ENUMERATED {n1, n2} OPTIONAL,   -- Need R

    prb-BundlingType                    CHOICE {

        static                                  SEQUENCE {

            bundleSize                              ENUMERATED { n4, wideband }  OPTIONAL  

        },

        dynamic                                 SEQUENCE {

            bundleSizeSet1                          ENUMERATED { n4,

                                                                 wideband,

                                                                 n2-wideband,

                                                                 n4-wideband

                                                                }  OPTIONAL,   -- Need S

            bundleSizeSet2                          ENUMERATED { n4,

                                                                 wideband

                                                                } OPTIONAL    -- Need S

        }

    },

    zp-CSI-RS-ResourceToAddModList          SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources))

                                                OF ZP-CSI-RS-Resource   OPTIONAL,   -- Need N

    zp-CSI-RS-ResourceToReleaseList         SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources))

                                                OF ZP-CSI-RS-ResourceId OPTIONAL,   -- Need M

    aperiodic-ZP-CSI-RS-ResourceSetsToAddModList    SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets))

                                                OF ZP-CSI-RS-ResourceSet   OPTIONAL, -- Need N

    aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList   SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets))

                                                OF ZP-CSI-RS-ResourceSetId   OPTIONAL, -- Need N

    sp-ZP-CSI-RS-ResourceSetsToAddModList   SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets))

                                                OF ZP-CSI-RS-ResourceSet     OPTIONAL, -- Need N

    sp-ZP-CSI-RS-ResourceSetsToReleaseList  SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets))

                                                OF ZP-CSI-RS-ResourceSetId   OPTIONAL, -- Need N

 

    ...

}

 

 

TCI-State ::=            SEQUENCE {

    tci-StateId               TCI-StateId,

    qcl-Type1                       QCL-Info,

    qcl-Type2                       QCL-Info          OPTIONAL,   -- Need R

    ...

}

 

QCL-Info ::=                   SEQUENCE {

    cell                             ServCellIndex    OPTIONAL,   -- Need R

    bwp-Id                           BWPId            OPTIONAL, -- Cond CSI-RS-Indicated

    referenceSignal                     CHOICE {

        csi-rs                              NZP-CSI-RS-ResourceId,

        ssb                                 SSB-Index

    },

    qcl-Type                            ENUMERATED {typeA, typeB, typeC, typeD},

    ...

}

 

 

NZP-CSI-RS-ResourceSet ::=          SEQUENCE {

    nzp-CSI-ResourceSetId               NZP-CSI-RS-ResourceSetId,   

    nzp-CSI-RS-Resources                SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet))

                                                OF NZP-CSI-RS-ResourceId,

    repetition                          ENUMERATED { on, off } OPTIONAL,

    aperiodicTriggeringOffset           INTEGER(0..4)          OPTIONAL,   -- Need S

    trs-Info                            ENUMERATED {true}      OPTIONAL,   -- Need R

    ...

}

 

trs-Info : Indicates that the antenna port for all NZP-CSI-RS resources in the CSI-RS resource set is same. If the field is absent or released the UE applies the value "false"  

 

 

 

CSI-MeasConfig ::= SEQUENCE {

   nzp-CSI-RS-ResourceToAddModList          SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources))

                                                OF NZP-CSI-RS-Resource OPTIONAL,

   ..

}

 

 

 

Reference

 

[1] 3GPP TSG-RAN WG1 #87ah-NR - R1-1700771 : On spatial QCL definition