有了上一篇文章的内容铺垫,本文将结合协议描述一些细节。目前现网的codeebook配置主要使用Type I Single-Panel,以此为例,我们来看看终端是如何选择precoding matrix,如何确定PMI的。
PMI是如何确定的?
上图是关于Type I codebook配置的主要参数。codebookType会明确配置Type I并且是Type I-SinglePanel。
当CSI-RS的端口数量nrofAntennaPorts=2时:这种场景比较简单。终端根据测量得到的RI,确定选择1个layer还是2个layer,最后从下图中的6个precoding matrix选一个,并将对应的index即PMI反馈给gNB。此时参数twoTX-CodebookSubsetRestriction有6bit,与6个可用的precoding matrix一一对应,如果这个bitmap中的某一个bit置为0,意味着基站不允许终端使用这个预编码矩阵。
当CSI-RS的端口数量nrofAntennaPorts={4,8,12,16,24,32}时,情况比较复杂:
1)当layer数目属于{2,3,4}时,PMI需要使用{i1,1,i1,2,i1,3,i2}表示。这里我们以2layer为例,介绍一下PMI用到的这些变量值如何确定的。
首先根据RRC参数中的n1-n2的配置,可以知道N1和N2的值,然后结合CSI-RS的端口数量,通过下表可以得到O1和O2。
再看2 layer的codebook(如下图),终端在选定precoding matrix后就可以得到它的下标,从这个下标可以得到i1,1, i1,2, i2, k1和k2。PMI还需要i1,3啊?再根据i1,3与K1和k2的关系(如下图),可以得到i1,3。到此,我们可以得到要反馈的PMI={i1,1,i1,2,i1,3,i2}的值了。
2)当layer数目属于{1,5,6,7,8}时,PMI={ i1,1,i1,2, i2}表示。为了简单,这里我们以1layer为例,看看PMI的确定过程: 与上面的确定过程类似,首先得到O1和O2,然后根据下图直接可以得到需要i1,1,i1,2和i2,因为此种场景下PMI与i1,3无关。
还有一个参数需要交代一下,typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8))
这个IE是用来对RI上报做限制的。这是1个8bit的bitmap对应于type1-singlepanel可以支持最高8个layer。8bit bitmap可以表示成{r0,r1…r7},如果ri置为0,就认为layer数量v=i+1对应的PMI和RI不允许使用和上报。注意,RI的值加1等于实际的layer数目。
举例
这是一个现网的实际log,大家可以体会一下这些参数的意义。从这个log我们可以看到N1=4,N2=1,CSI-RS port数量=8,可以确定O1=4, O2=1:
通过four-one-TypeI-SinglePanel-Restriction=‘11111111 11111111’可以知道gNB允许终端使用所有备选的预编码矩阵,没有限制;
通过typeI-SinglePanel-ri-Restriction=‘00001111’可以知道gNB允许终端上报RI={0,1,2,3},即layer数量为{1,2,3,4},禁用了{5,6,7,8}layer。
然后终端根据对CSI-RS的测量,完成信道估计,选择一个终端自认为最合适的预编码矩阵,再利用上面我们介绍的PMI确定流程,将PMI信息发送给gNB