本篇内容是对CSI report相关流程的整理,其描述主要集中在R16 38.331 38.321 38.214中,以实网中的一个配置开始,看下相关定义。
如上图实网中的配置,CSI-ReportConfig 对应的就是Reporting Setting,因配置比较多,故只截取其中一部分内容,其中resourceForChannelMeasurement/csi-IM-ResourceForInterference 对应的CSI-ResourceConfigId会与CSI-ResourceConfig进行关联。
上图中的配置就是CSI-ResourceConfig,对应Resource setting,即report时选择什么资源进行测量并上报。对于周期和半持续,一个Resource Config中,只有一个CSI-RS Resource Set,对于非周期可以有多个CSI-RS resource set。
接下来就分别来看下reporting setting和Resource setting的相关内容,这部分主要在spec 38.214。
reporting setting
reporting setting指的是RRC层配置CSI-ReportConfig,需要与RRC 层参数CSI-ResourceConfig中的BWP-Id进行关联,协议上规定一个UE可以配置最多48个Report Config;CSI-ReportConfig中配置的参数包含码本配置、时域限制、上报的测量量(LI/CRI/L1-RSRP/L1-SINR/SSBRI)和CQI 和 PMI 的频率粒度等。
CSI-ReportConfig的时域行为由RRC层参数reportConfigType指定,其可以配置为aperiodic,
semiPersistentOnPUCCH,semiPersistentOnPUSCH或periodic。对于semiPersistentOnPUCCH/semiPersistentOnPUSCH/periodic的CSI reporting,会配置周期和时隙偏移。
reportQuantity代表上报的测量量,具体内容可以参考上图;reportFreqConfiguration代表频域的report粒度,包含CSI report band及CQI/PMI report 是wideband 或suband的情况。
timeRestrictionForInterferenceMeasurements/timeRestrictionForChannelMeasurements可以分别控制是否开启时域限制;codebookConfig为具体的码本配置,码本可以是Type-I/Type II/Enhanced Type II CSI码本。
Resource setting
Resource setting对应RRC层配置的CSI-ResourceConfig,即选择什么资源进行测量并上报,resource可以是NZP-CSI-RS和SSB或者CSI-IM resource,如上图结构需要与bwp-Id进行绑定且只能与具有相同DL BWP的CSI report setting进行关联。
CSI ResourceConfig中的IE resourceType 可以配置为aperiodic/semiPersistent/periodic;对于periodic/semi-persistent CSI Resource Setting,只能配置一个CSI-RS Resource Set。
CSI Resource config可以配置nzp CSI-RS和CSI-IM resource,在与CSI reporting setting进行绑定时,NZP CSI-RS resource可以用于channel/interference测量;CSI-IM顾名思义,只能用于interference测量。
aperiodic CSI场景,CSI-AperiodicTriggerState会和多个CSI-ReportConfig相关联,这时候CSI-ReportConfig的关联的CSI-ResourceConfig resourceType可以是Periodic/Aperiodic/semi-persistent。
如果只配置了一个Resource Setting时,那一定是与resourceForChannelMeasurement相关联,用于L1-RSRP信道测量,或者L1-SINR computation的信道和干扰测量;
如果配置了2个ResourceSetting时,第一个Resource setting与resourceForChannelMeasurement关联,用于信道测量;第二个与csi-IM-ResourceForInterference 或nzp-CSI-RS-ResourcesForInterference关联,用于基于CSI-IM/NZP CSI-RS的干扰测量。
如果配置了3个ResourceSetting时,第一个Resource setting与resourceForChannelMeasurement关联,用于信道测量;第二个与csi-IM-ResourceForInterference 关联,用于基于CSI-IM的干扰测量;第三个与或nzp-CSI-RS-ResourcesForInterference关联,用于基于NZP CSI-RS的干扰测量。
大意如上图,在CSI-ReportConfig 中reportConfigType =aperiodic,resourceForChannelMeasurement 是必须配置的IE,csi-IM-ResourceForInterference和nzp-CSI-RS-ResourcesForInterference根据实际情况,为可选配置项,如果配置的话,就要参照上述要求进行配置。
semi-persistent/periodic CSI场景,如果只配置了一个Resource Setting时,那一定是与resourceForChannelMeasurement相关联,用于L1-RSRP信道测量,或者L1-SINR computation的信道和干扰测量;
如果配置了2个ResourceSetting时,第一个Resource setting与resourceForChannelMeasurement关联,用于信道测量;第二个与csi-IM-ResourceForInterference 关联,用于基于CSI-IM的干扰测量。对于L1-SINR computation场景,第二个resource setting要与nzp-CSI-RS-ResourcesForInterference关联,用于基于CSI-IM或NZP CSI-RS的干扰测量。大意和aperiodic CSI场景类似根据实际report情况,对Resource setting进行配置。
上述内容过于枯燥,不太容易理解,参照38.331中配置结构结合实网log看,就会清楚许多,其内容主要是网络侧配置要求,上面的内容也并没有涵盖spec 38.214中所有的规则描述,只是其中一部分个人认为对理解CSI report有帮助的内容,感兴趣可以查看原文;接下来就开始CSI report 触发的相关流程。
CSI包含LI/CQI/PMI/CRI/RI,各个参数之间的计算关系如上,CSI的计算是芯片厂商私有算法,协议中也没有提及,但是CSI report的上报涉及的CSI-RS resource及CSI report的配置协议中规定的很详细。
Reporting configurations
CSI report类型可以配置为aperiodic(通过PUSCH传输),periodic(使用PUCCH传输)或semi-persistent(通过PUCCH或者DCI调度的PUSCH传输)。CSI-RS resource同样可以配置为periodic/semi-persistent/aperiodic。
下图是CSI Report配置和CSI-RS resource配置之间的可能关系。
从report Configuration角度来看:
当 Report 配置为 Periodic 时,CSI-RS Resource Configuration也应为 Periodic。
当 Report 配置为 Semi-persistent 时,CSI-RS Resource Configuration可以是 periodic 或 Semi-Persistent。
当report配置为aperiodic时,CSI-RS resourece配置可以是任何类型(periodic/Semi-Persistent/aperiodic)。
从Resource Configuration角度来看:
当Resource Configuration为periodic时,Report Configuration可以设置为任何类型(periodic, semi-persistent or aperiodic)。
当Resource Configuration是semi-periodic时,Report Configuration可以是Semi-persistent或Aperiodic。
当Resource Configuration为aperiodic时,Report Configuration只能是Aperiodic。(CSI-RS Configuration = NZP CSI RS or CSI-IM)。
CSI report的触发,基站要先进行CSI-RS transimit ,之后UE根据CSI-RS计算CSI,最后再进行CSI report的发送 ,下面就根据38.214 38.211中的描述具体看下CSI-RS transmit和CSI report触发的相关流程。
periodic或semi-persistent CSI-RS resource transmit time
当CSI-ResourceSet配置为periodic或semi-persistent时,CSI-RS的发送时隙满足上面的公式,Tcsi-rs为配置周期,单位是时隙,Toffset是时隙偏移;periodic CSI-RS发送不需要触发,配置上基站就可以参照配置的周期进行CSI-RS 传输;半持续CSI-RS发送时隙,除了满足周期配置外,还要通过MAC CE激活或去激活;aperiodic CSI-RS,则会通过DCI 0_1/0_2 CSI request 触发;CSI-RS的传输要对应DL symbol。
periodic或semi-persistent CSI report on PUCCH send time
对于periodic/semi-persistent CSI report on PUCCH触发后,发送帧号和时隙number应该满足上面的公式,其中Tcsi-rs为配置周期,单位是时隙,Toffset是时隙偏移,如果periodicityAndOffset slots40 : 5 ,那Tcsi-rs=40 slot,Toffset=5。
periodic CSI-RS and periodic report图示如下。
semi-persistent CSI report on PUSCH send time
对于semi-persistent CSI report on PUSCH,同样需要公式辅助确认,其中n_start_f和n_start_s,f分别是根据DCI 确定的激活 semi-persistent PUSCH initial传输的SFN 和时隙号;n_f和n_u_s,f分别对应CSI report 实际传输的SFN 和slot number;T_CSI由上图中的RRC参数reportSlotConfig提供。
semi-persistent或aperiodic CSI report on PUSCH需要DCI 0_1/0_2触发,且要确定生效的时隙偏移。
semi-persistent或aperiodic CSI report on PUSCH,可以通过reportSlotOffsetListDCI-0-2/reportSlotOffsetListDCI-0-1 配置slot offset,如果没有上述配置则就由reportSlotOffsetListDCI提供。
semi-persistent或aperiodic CSI report on PUSCH的触发由DCI0_1/0_2中的CSI request 字段激活,根据Time domain resource assignment结合reportSlotOffsetListDCI或者pusch-TimeDomainAllocationList确定PUSCH 的时隙偏移K2及SLIV,具体描述如下。
UE需要通过PUSCH发送CSI report(没有TB传输)时,要根据DCI field CSI request确定触发的具体report 配置,还要根据Time domain resource assignment value m结合reportSlotOffsetList对应的位置共同决定,如果同时触发了N_Rep个CSI report,要取各个report配置的最大的K2值。
R16版本需要根据是否有配置载波聚合时隙偏移进行了区分。如果 UE 被配置参数 ca-SlotOffset (载波聚合时隙偏移),Ks (PDCCH和PDSCH 的时隙偏移)由上图中的那个长公式决定;否则的话,Ks 仍然由R15中的原公式决定。
UE有TB要通过PUSCH 发送时(不管发不发CSI report),UE要根据DCI 中的time domain resource assignment field和和pusch-TimeDomainAllocationList去确定K2 ,SLIV,这时候就不参考reportSlotOffsetListDCI的配置。
semi-persistent或aperiodic CSI report on PUSCH 根据reportSlotOffsetListDCI的触发图示如下。
上述过程还涉及到DCI field CSI request的大小及如何根据CSI request的value确定要触发哪个参考信号的问题,这些内容协议中都有规定,不过比较分散且杂乱。先看aperidic CSI report。
aperiodic CSI report
aperiodic CSI report只能用aperiodic CSI-RS 资源,因为aperiodic配置中不需要发送周期等参数,触发一次就结束,所以会涉及到收到DCI后CSI-RS传输的时隙偏移的确定及CSI report 发送的时隙偏移的确定等问题。
aperiodic CSI report通过DCI 0_1/0_2 中的field CSI request触发,CSI request 的大小由reportTriggerSize控制,大小可以配置为0~6bits,假如reportTriggerSize =5bits,那收到DCI 后,CSI request就取5bits。
RRC层会在CSI-AperiodicTriggerStateList中配置要触发的非周期CSI report config,如果配置的CSI report资源个数比reportTriggerSize能表示的资源多,那就需要Aperiodic CSI Trigger State Subselection MAC CE先选择一部分CSI report config资源,然后再根据DCI 0_1/0_2 中的field CSI request 依次在MAC CE选择的CSI report config资源中确定;否则就根据DCI 0_1/0_2 中的field CSI request的指示,直接在CSI-AperiodicTriggerStateList确定要触发的非周期CSI-report config 资源。
如果有收到Aperiodic CSI Trigger State Subselection MAC CE,且UE要在slot n传输对应的PUCCH HARQ-ACK,那UE要在slot n+3Nsubframe,u_slot+1才能激活根据DCI选择的CSI report config。
CSI-AperiodicTriggerStateList 图示如下
Aperiodic CSI Trigger State Subselection MAC CE
Ti代表的就是aperiodicTriggerStateList中要和DCI field CSI request关联的csi report config,Ti=1就代表对应的report config要映射到CSI request中,T0代表aperiodicTriggerStateList中的第一个配置,T1代表第二个,依次类推。
aperiodic CSI reporting相关联的aperiodic CSI-RS的发送也需要确定对应的时隙偏移进行发送,其时隙偏移值由RRC层参数aperiodicTriggering Offset/aperiodicTriggeringOffset-r16提供,配置结构如下。
aperiodicTriggeringOffset/aperiodicTriggeringOffset-r16,代表收到触发aperiodic NZP CSI-RS resource的DCI与要传输CSI-RS resource的时隙偏移。
aperiodicTriggeringOffset-r16对应的值对应的单位就是slot;而aperiodicTriggeringOffset有些不一样,value 0代表 0 slot;value 1代表 1 slot;value 2代表 2 slot;value 3代表 3 slot;value 4代表 4 slot;value 5代表 16 slot;value 6代表 24 slot。
更具体的,
当minimunSchedulingOffsetK0和minimunSchedulingOffsetK2没有配置且对应的CSI-RS resource在TCI states配置中没有qcl-Type =typeD的关系时,CSI-RS触发的时隙偏移固定为0;其他情况需要根据上面的公式确定,不考虑unsync CA场景时,时隙偏移Ks=n+X,n代表收到触发DCI的时隙,X就是根据aperiodicTriggeringOffset/aperiodicTriggeringOffset-r16 确定的时隙值;触发的aperiodic CSI report config 中可能也有配置干扰测量资源,这时候CSI-IM的传输时隙偏移,与信道测量NZP CSI-RS的时隙偏移相同。
R16 新增PDCCH和CSI-RS具有不同SCS的场景,spec上的描述与上面这部分稍微有点区别,这里就不贴了,详见38.214 5.2.1.5.1a。
aperiodic CSI report on PUSCH根据上述描述整理的触发图示如下。
Semi-persistent CSI/Semi-persistent CSI-RS
Semi-Persistent CSI report 对应的CSI-RS resource可以是periodic或者semi-persistent, semi-persistent CSI-RS resource 先通过MAC CE激活后才能传输,然后UE才能进行CSI测量,进而report CSI,与semi-persistent CSI-RS resource触发相关的MAC CE就是SP CSI-RS/CSI-IM Resource Set Activation/Deactivation MAC CE。
CSI resource对应的resourceType=semiPersistent时,网络端会通过SP CSI-RS/CSI-IM Resource Set Activation/Deactivation MAC CE进行激活/去激活。当UE收到激活MAC CE后且UE要在slot n传输对应的PUCCH HARQ-ACK,对应的CSI-RS/CSI-IM resource要在slot n+3N_subframe,u_slot+1 才能生效进行传输。
如果收到去激活MAC CE,对于激活的CSI-RS/CSI-IM 资源,UE要在slot n传输deactive 命令的PUCCH HARQ-ACK时,同样要在slot n+3N_subframe,u_slot+1 去激活命令才能生效。
SP CSI-RS/CSI-IM Resource Set Activation/Deactivation MAC CE结构如下。
如果semi-persistent CSI-RS/CSI-IM resource或semi-persistent ZP CSI-RS resource set处于激活状态,此时没有收到去激活命令,那只要相关的DL BWP是激活的状态,这些配置就处于激活状态。如果carrier被去激活,那对应的semi-persistent CSI-RS/CSI-IM resource,semi-persistent CSI reporting on PUCCH, semi-persistent SRS, semi-persistent ZP CSI-RS resource set也会去激活。
semi-persistent CSI-RS resource经过上面的操作激活进行传输后,就需要进行report,下面看下semi-persistent report,分为on PUSCH和PUCCH。
semi-persistent reporting on PUSCH
UE需要通过decode SP-CSI-RNTI加扰的DCI 0_1/0_2 ,根据field CSI request结合RRC层配置的SemiPersistentOnPUSCH-TriggerStateList,确定触发的具体CSI-reportConfigId,配置路径如下。
对于SemiPersistentOnPUSCH场景,DCI 是由SP-CSI-RNTI加扰的,DCI 0_1/0_2 field CSI request field 需要与CSI-SemiPersistentOnPUSCH-TriggerStateList中的CSI report config进行映射,例如CSI request=0对应TriggerStateList中的第一个CSI reportconfig。SP-CSI-RNTI加扰的DCI某些参数还要满足要求才能认为是有效的激活或去激活命令,例如SP-CSI-RNTI加扰的DCI满足Table5.2.1.5.2-1的配置代表要激活对应的semi-persistent CSI,如果满足Table 5.2.1.5.2-2代表要去激活对应的semi-persistent CSI。
SP-CSI-RNTI加扰的DCI 经过对应table匹配,认定是无效DCI,此时就将其认定为CRC fail的DCI 丢掉。
semi-persistent reporting on PUSCH 流程图示如下。
semi-persistent reporting on PUCCH
网络侧会通过SP CSI reporting on PUCCH Activation/Deactivation MAC CE激活对应的semi-persistent CSI report配置。如果有收到MAC CE,UE要在slot n传输对应的PUCCH HARQ-ACK,那UE要在slot n+3Nsubframe,u_slot+1才能应用选择的CSI report config。
SP CSI reporting on PUCCH Activation/Deactivation MAC CE的结构如下。
其中Serving cell ID和BWP ID分别代表MAC CE要应用的服务小区和BWP id,Si代表要激活或去激活的SP CSI report config,例如S0=1代表要激活CSI-reportConfig中reportConfigType=semiPersistentOnPUCCH的最小的CSI-ReportConfigID;S1=0代表要去激活CSI-reportConfig中reportConfigType=semiPersistentOnPUCCH的第二小的CSI-ReportConfigID;以此类推。
semiPersistentOnPUCCH配置结构如下
semi-persistent reporting on PUCCH 触发图示如下。
至此各种CSI resource和CSI report的触发及发送流程的描述基本就结束了,最后再看下CSI report上报粒度的相关描述。
根据BWP大小和subbandsize参数,可以将BWP分成多个subband,然后按照要求根据subband进行CSI report上报,如上table 5.2.1.4-2 所示。
CSI-ReportConfig中的reportFreqConfiguration用于指示CSI report的freq 粒度。CSI report setting会将BWP分成不同的subband;其中csi-ReporttingBand代表CSI report对应的连续的或非连续的subband子集;
当csi-ReportingBand有suband配置时,每个RB上的每个port的频域密度不能低于要测量的CSI-RS的频域密度,就是subband中必须包含所有天线port的CSI-RS resource。
实网环境下根据subband size将BWP分割成subband时,可能第一个和最后一个subband的大小不能满足size,这种情况下要根据上面的公式分别确定第一个和最后一个subband的size;如果配置的BWP 大小少于24个PRBs,CSI reporting就要进行wideband 上报,此时对应的codebookType要配置成typeI-SinglePanel。
根据CSI report的配置,在频域上要按照宽带或子带进行测量和上报,UE测量所需要时间及测量上报的payload大小会相差很大。
由此协议中根据reportQuanlity的不同分为wideband CSI report和subband CSI report,即满足上述条件的就以wideband 上报,其他情况按照划分的subband上报。
最后看一个CSI report subband划分的例子。
通过上面的配置可以确定CSI-reportconfigid 0是 periodic CSI report,对应的resource type也是periodic,该CSI report通过Pucch resource 40发送 ,channel测量和interference测量resource 按照index可以确定分别对应到CSI-RS resource 28和CSI-IM resouce 0。
csi-ReportingBand对应 subbands18 : '11111111 11111111 11'B,即将BWP分成了18个subband,再看BWP 的配置。
根据locationAndBandwidth 1099,通过RIV 计算BWP大小对应的是0~273个RB。
根据BWP 273 PRBs的信息,Subband size 是 16 or 32 二选一;subbandSize取的是value1 则 说明应该选16 个prb作为subband size。
csi-ReportingBand subbands18 : '11111111 11111111 11'B 有18个subbands 每个subband是16个prb,18×16 =288 超过了整个BWP 的范围273,其实第一个subband和最后一个subband 可能不是16个prb,划分规则如下:
N_SB_PRB 就是subband size=16 ,
这里BWP 起始RB index是0 总共273个PRB 则第一个subband包含的prb个数是16-(0 mod 16)=16;最后一个subband的prb个数是 (0+273)mod 16 =1,即最后一个subband的prb个数是1 ,最终subband划分的频域图示如下。