CSI Report
¶1 CSI 测量和上报的配置框架
¶1.1 框架
CSI(channel state information)包括 CQI,RI,LI,PMI,CRI,SSBRI 和 L1-RSRP。终端上报 CSI 给 gNB,gNB 会根据上报的内容进行调度的调整以及波束管理相关的工作,因此 CSI 的上报十分重要。
CSI的工作原理是,首先 gNB 给终端配置适当的 CSI-RS 资源,然后终端对 CSI-RS 进行测量并计算出所需要的的 CSI,最后通过 PUCCH/PUSCH 上报给 gNB。
CSI-RS相关的配置都在RRC参数 CSI-MeasConfig 中定义,见下图(摘自38331)
借鉴博客作者总结的图片 (公众号:GiveMe5G )
CSI框架基本配置两个东西,一个是用于配置CSI测量的CSI-RS资源,另一个是配置CSI如何上报。
分析 CSI-MeasConfig 可以从两个重要的 IE 着于:csi-ResourceConfig, csi-ReportConfig
¶1.2 csi-ResourceConfig
csi-ResourceConfig: 这个 IE 就是告诉你配置的CSI-RS资源的。一个 CSI-ResourceConfig 下面会配置 ResourceSet,ResourceSet 里面包含最基本的 CSI-RS Resource。CSI-RS-Resource包括 nzp-CSI-RS,SSB 和 csi-IM 三种。
这些 CSI-RS 的 resource 类型可以是周期, 半持续 和非周期,三种类型。协议里面特意明确了对于周期和半持续的 CSI-RS resource,每个 csi-ResourceConfig 只能配置1个 csi-RS-ResourceSet。
¶1.3 csi-ReportConfig
csi-ReportConfig: 这个 IE 是用于配置如何 report 的。
- resourcesForChannelMeasurement \ csi-IM-ResourcesForInterference \ nzp-CSI-RS-ResourcesForInterference,这三个参数表示用于 Channel Measurement 和 Interference Measurement 的 csi-ResourceConfigId,用得到的 Id 和 csi-ResourceConfig 进行关联,即可获取到用于测量的CSI-RS资源
- reportConfigType:这个IE用于配置 CSI report的类型是周期的,非周期的,半持续OnPUCCH还是半持续OnPUSCH的。对于非周期和半持续OnPUSCH还会配置 TriggerState 和 reportTriggerSize,用来配合DCI中的 CSI request 字段来使用。
¶2 CSI 测量和上报的触发机制
通过上面的配置框架,我们知道CSI-RS的 resource 和 report 都各有三种类型,周期,半持续以及非周期。那么resource 和 report的类型是否可以任意两两组合呢?协议给出了明确的要求,由 [TS 38.214 Table 5.2.1.4-1] 给出:
经过简单的总结下,合理的组合如下:
周期性上报:只能使用**周期性 CSI-RS**;
**半持续性上报 On Pucch:可以使用周期性和半持续性**CSI-RS;
**半持续性上报 On Pusch:可以使用周期性和半持续性**CSI-RS;
非周期性上报:可以使用**周期性,半持续性和非周期性**CSI-RS。
很显然,gNB 需要先发 CSI-RS ,然后终端才能接收和测量,并上报 CSI report,也就是先发再报。这里面涉及两个大的问题
- 首先就是对于每种类型的 CSI-RS,gNB 什么时候发?
- 其次测量完 CSI-RS,UE 什么时候报?
¶2.1 CSI-RS 何时发送?
CSI-RS 的发送按照 CSI-RS 的 种类来划分为不同的操作。
csi-ResourceConfig -> resourceType $\in {Periodic,Semipersistent,Aperiodic}$
① csi-ResourceConfig -> resourceType $\in {Periodic}$
RRC 配置后立即生效,发送的时间按照参数 periodicityAndOffset 使用协议中的公式计算,如下描述。
② csi-ResourceConfig -> resourceType $\in {SemiPeriodic}$
RRC配置后需要 MAC CE 激活才能生效,发送时间按照参数 periodicityAndOffset 使用协议中的公式计算,同 ①
③ csi-ResourceConfig -> resourceType $\in {Aperiodic}$
非周期的 CSI-RS 只用于非周期上报的场景,与非周期上报的触发紧密相连,依靠 DCI 来触发。
①② 中的计算公式:
$$
(N_{slot}^{frame,\mu}n_f + n_{s,f}^{\mu}-T_{offset})mod T_{CSI-RS} = 0
$$
其中:
$T_{CSI-RS}$ 和 $T_{offset}$ 由高层参数 CSI-ResourcePeriodicityAndOffset 或者 slotConfig 配置。
¶2.2 CSI-Report 何时发送?
CSI-Report 的发送也是按照 CSI-Report 的种类来划分为不同的操作。
CSI report 分为四种:
- 周期性上报
- 半持续上报 On PUCCH
- 半持续上报 On PUSCH
- 非持续上报
¶2.2.1 周期性上报
RRC 配置好**周期性**的 CSI-RS Resource 和 Report 参数后,就会立即生效,无需 MAC-CE / DCI 去激活或者触发 CSI-RS 的发送和 CSI 的上报;CSI 上报的周期和 slotOffset 按照参数 reportSlotconfit 配置执行,使用PUCCH上报。
¶2.2.2 半持续上报
半持续上报 On PUCCH
- 假设 RRC 配置了**半持续 CSI-RS** ,首先需要 MAC CE 1 激活 CSI-RS 的发送,然后再通过 MAC CE 2 激活 CSI report;
- 假设 RRC 配置的是 周期性 CSI-RS ,RRC配置好后会立即生效,则无需 MAC CE 1这一步,CSI 上报的周期和 slotOffset 按照参数 reportSlotConfig 中的配置执行。
(注意:其中的MAC CE 1 和 MAC CE 2 代表的是不同的MAC CE)
半持续上报 On PUSCH
- 假设 RRC 配置了**半持续 CSI-RS**,首先需要 MAC CE 1 激活 CSI-RS 的发送,然后通过 DCI 触发 CSI report;
- 假设 RRC 配置的是**周期性 CSI-RS**,RRC配置好后会立即生效,则无需 MAC CE 1这一步,CSI 上报的周期和 slotOffset 按照参数 CSI-ReportConfig 中的配置执行。
对于 DCI 的触发 CSI report 细节如下:
此时的 DCI 的类型为 DCI 0_1,使用 SP-CSI-RNTI 加扰,其次 DCI 中 在触发中涉及到了两个字段:CSI-request , Time domain resource assignment。
CSI-request,通过 codepoint 的设置来关联对应的 TriggerState , TriggerState 里面会定义关联的 CSI-ReportConfig,然后里面可以找到这个 report 相关的 CSI-RS resource Config 以及 report 的周期和 OffsetList。其中周期是通过 reportSlotConfig 直接给出的,OffsetList是通过 reportSlotOffsetList 参数( 这是一个List )定义的 。
Time domain resource assignment 字段的 codepoint 取值再去关联 List 中的值。(例如:codepoint = 0,就取OffsetList中的第一个值;如果是codepoint = i,就取 OffsetList中的第 $i+1$个值。如果取值为 Y ,也就意味着距离 DCI 后面第 Y 个 slot 发送 CSI Report。
¶2.2.3 非周期上报
- 假设 RRC 配置了**半持续 CSI-RS **,首先需要 MAC CE 1 激活 CSI-RS 的发送,然后通过 DCI 触发 CSI report;
- 假设 RRC 配置的是**周期性 CSI-RS**,RRC配置好后会立即生效,则无需 MAC CE 1这一步,然后通过 DCI 触发 CSI report;
- 假设 RRC 配置的是**非周期 CSI-RS**,非周期的 CSI-RS 发送和非周期的 CSI report 均由 DCI 触发。
其中 非周期 CSI-RS 发送 + 非周期 CSI 上报 最为复杂。
- 根据 DCI 0_1 中的 CSI request 字段的 codepoint 去关联对应的 TriggerState 。(注意:与半持续 DCI 触发不同,CSI request 如果为 0 ,代表不要求触发 CSI-RS,只有非 0,才触发有效)
- 关联到 TriggerState,可以得到两个重要的参数,CSI-ReportConfig , resourceSet。
- CSI-ReportConfig,类似于半周期 On PUSCH,其中的 reportSlotOffsetList 由 DCI 中的 time domain resource assignment 字段指出 List 的索引(参考 半周期 On PUSCH)。
- resourceSet,它并不能直接取对应 CSI-measConfig 中的 resourceSet ID。它的作用类似为 List index。在 CSI-ReportConfig 中关联了对应的 CSI-resourceConfigId,通过 CSI-resourceConfigId 可以关联一个 resourceSetList ,这时候需要用 resourceSet 的值去确定 List 中唯一的 resource Set。
以上的描述如下图所示:
¶2.3 各种场景
根据之前总结下:
周期性上报:只能使用**周期性 CSI-RS**;
**半持续性上报 On Pucch:可以使用周期性和半持续性**CSI-RS;
**半持续性上报 On Pusch:可以使用周期性和半持续性**CSI-RS;
非周期性上报:可以使用**周期性,半持续性和非周期性**CSI-RS。
有八种可能的选择。
¶2.3.1 周期上报
周期上报,周期CSI-RS:
¶2.3.2 半持续上报
¶2.3.2.1 半持续上报 On PUCCH
- 周期 CSI-RS
- 半持续 CSI-RS
¶2.3.2.2 半持续上报 On PUSCH
- 周期 CSI-RS
- 半持续 CSI-RS
¶2.3.3 非周期上报
周期 CSI-RS
半持续 CSI-RS
非周期 CSI-RS
¶3 CSI Report 配置
配置CSI Report涉及的内容较多,也比较复杂。上面阐述了CSI Report配置的一部分内容,即如何关联要测量的 CSI-RS resource 以及 CSI 上报的类型(周期,非周期, 半持续)。以下阐述剩下的配置内容,如 report quantity,频域的上报粒度(宽带/窄带),Channel/Interference Measument是否时域受限,cqi-table的选择,subbandSize 的选择以及 codebook 的配置。
¶3.1 测量与上报
参考前文
¶3.2 上报内容
主要是关于 reportQuantity 的设置,指明 UE 需要上报哪些测量内容,主要分为两类:
- CSI:CQI,PMI,R1,CRI,i1,主要用于给 gNB 提供调度方面的辅助信息
- L1-RSRP:cri-RSRP,SSB-Index-RSRP,主要为 gNB 提供 Beam 管理的信息
¶3.3 频域上报粒度配置
高层参数:reportFreqConfiguration
- csi-ReportingBand 定义一个 CSI reporting band,这个 reporting band是由BWP内划分的subband 组成的子集合,这些 subband可以连续也可以不连续。由一个 bitmap 来指定需要上报哪些 subband。比如这个例子 subbands12 = 110011110011。
- cqi-FormatIndicator 用于表明 U E需要上报 single(wideband) 还是multiple(subband) 的CQI。CQI是针对每个 TB(codeword)反馈的。如果配置为 subband 的CQI反馈,每个subband上的CQI反馈其实是一个与 wideband CQI的差值,公式如下:
Sub-band Offset level (s) = sub-band CQI index (s) - wideband CQI index
然后再按照[TS 38.214 Table 5.2.2.1-1]] 将offset level转换成要报的 subband differential CQI值:
- pmi-FormatIndicator 用于表明 UE 需要上报 single(wideband) 还是 multiple(subband)的 PMI。
一个CSI Report配置到底是wideband 还是subband的CQI/PMI,这取决于几个RRC参数配置的组合, TS 38.214对 wideband 和 suband 的参数组合有明确规定,可以总结成如下表格:
![](5G-NR-CSI-Report/p16 wideband subband.png)
¶3.4 其他
timeRestrictionForChannelMeasurements 和 timeRestrictionForInterferenceMeasurements 是用来规定是否在时域上对信道测量和干扰测量进行限制。
codebookConfig:这个 IE 是里面非常非常重要的,也是非常非常复杂的。它是配置有关MIMO codebook和PMI相关的内容。
cqi-Table: 是用来配置 UE 应该使用哪张 CQI 表作为 CQI 反馈依据的。38214 里面一共有三张 CQI表。UE 通过 CQI 的测量和上报来影响 gNB 下行调度的 MCS,目标是是适应无线链路的变化,使得BLER 控制在目标值内。其中 table1 和 table2 适用于eMBB场景,目标BLER=0.1;table3 用于URLLC 场景,目标BLER=0.00001
subbandSize: 协议中规定可以上报 subband CQI/PMI,那么就需要要知道这些 subband 是怎么划分的,他们的位置和大小是什么样子的。协议里面是有规定的。每个 subband 的大小是与BWP 的大小相关的,限制组合如 [TS 38.214 Table 5.2.1.4-2]。知道了 subband 的大小和 BWP 的大小,就可以确定划分了多少个 subband,然后就可以配置 subband report 的 bitmap了。
¶4 CSI Report On PUCCH / PUSCH
¶4.1 CSI report on PUSCH
非周期 CSI report on pusch支持 TypeI 和 TypeII 的 wideband and subband CSI;
半持续 on PUSCH支持 TypeI 和 TypeII 的 wideband and subband CSI;
对于Type I 和 TypeII CSI on PUSCH, Payload可能很大,CSI采用 two parts 的解决方案part1+part2,Part 1的 payload 大小固定而且可以用于判断 part2 的 bit 数。Part1 和 Part2 在不同情况下包含的内容是不同的,具体如下:
Type I
Part1:RI, CRI, CQI for 1st codeword
Part2:PMI and CQI for the 2nd codeword if RI>4Type II
Part1:RI, CQI,每个layer的非0宽带幅度系数
Part2:PMI
当reportQuantity 被设置为 ‘cri-RSRP’ or 'ssb-Index-RSRP’, the CSI feedback consists of a single part.
由于 PUSCH 可能一次性无法装下要反馈的 CSI,可能需要做取舍,丢掉一些内容。丢掉哪些内容呢,取决于各内容的优先级(如下图):
¶4.2 CSI report on PUCCH
周期性 CSI report 可以使用PUCCH format2/3/4 来支持type1 CSI wideband上报;
半持续 CSI on PUCCH 支持 typeI CSI 和有限制的 Type II
- 半持续 CSI on pucch format2 支持 type1 wideband
- 半持续 CSI on pucch format 3/4 支持 type1 wideband/subband 和Type II CSI part 1
UE 在使用 PUCCH format4上报 CSI 时,UCI+CRCbit数应该小于等于115 bit
总结如下:
参考:
公众号:GiveMe5G,春天工作室
协议:TS 38.214