我是靠谱客的博主 隐形日记本,最近开发中收集的这篇文章主要介绍NR PDCCH(一) CORESET,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

帖子微信更新会稍微快,可以关注同名modem协议笔记

PDCCH 是非常重要的信道,基站要通过PDCCH向UE发送DCI,来指示UE进行相应的 UL DL operation 。如果DCI指示的是PDSCH信息,UE要根据DL DCI在PDSCH 上接收下行数据;如果DCI指示的是PUSCH信息,同样的UE要根据UL DCI 指示资源的资源在PUSCH 发送上行数据。

38.212 R16版本列出的DCI format如下65ddbc85f5124182933abbdef4eb78b9.png

 

NR由于载波带宽太大,引入了BWP的概念,根据不同的业务可以分配不同大小的BWP。在BWP 的概念上又引入了CORESET 和SearchSpace的概念,用于确定一块具体的时频域资源,接收不同的数据。在NR 中 ,网络端会在BWP 中配置 多个CORESET 及Searchspace,然后通过一个CORESET 和一个SearchSpace配对的方式确定一块时频资源用于不同的用途,例如 可以用一对CORESET SearchSpace 确定的时频域资源去检查DCI-Format0_0/1_0,然后用另一对CORESET和SearchSpace 确定的时频域资源去检查DCI-Format0_1/1_1。

 

具体的说CORESET 描述的是频域资源分布,Searchspace描述的是时域资源分布,两者配对 就可以确定具体的时频域资源。b416f66b61bc4c3fb68f887e0537cc48.png

 

例如上面的Searchspace id 2和CORESET 0 配对主要用于DCI format 0_0/1_0的检测36843c7dd82e4dccae600eab2a1a0df6.png

这个Searchspace id 5和CORESET 1 配对主要用于DCI format 0_1/1_1的检测。

 

具体CORESET 和Searchspace是怎么描述时频域资源的?。

 

首先看CORESET部分。57bca7e3aa114ebaa35282ed64bc7e27.png

b618619ca9ba4d3aa15759ce9afca508.png

 

NR中,引入了CORESET(control resource set)概念,对应PDCCH物理资源配置,CORESET 对应的主要是频域资源。

CORESET 在频域对应的是一组PRBs,最小粒度为6RB;时域长度为1-3个OFDM符号,且在时隙中开始位置可灵活配置;具体的说CORESET 又有REGs(Resource Element Groups)和CCEs(Control Channel Elements)的概念,下面逐步介绍。

这里先提下REG index 的编号顺序,要遵循先时域后频域升序方式,例如下图的编号方式。 

4fce17a71a19471d85200fffe21d7e23.pnge32a736047194825b4e9d455d66cbca3.png

 

对于CORESET 的个数,协议中也有规定。每个小区最多配置12个CORESET(0~11),服务小区配置给UE 的每个DL BWP,CORESET 不能超过4个;CORESET index 只能是从1~11,index 0已经被CORESET0占用,所以加上CORESET 0 ,最多只能12个CORESET;CORESET 0相对特殊,为Type 0 CSS 专用,用于RMSI  (SIB1),其中MIB 中pdcch-ConfigSIB1 高四位 代表controlResourceSetZero,高四位索引查38.213table 13-1~13-10,可获得CORESET 0的复用样式、频域资源占用符号数量、RB数量和RB偏移;低四位 代表searchSpaceZero,使用低4位索引查38.213 table 13-11到13-15,可获得CORESET 0的SFN、时隙索引和起始符号等。e660f7d44e23463abb1a4de80f71b37e.png

 

PDCCH 由多个CCE 组成,而CCE 有对应的aggregation levels(1,2,4,8,16),简单的说Aggregation level 是16 就代表 16个CCE 组成一个Aggregation level,在进行PDCCH 盲检时,会以Aggregation Level 的方式配置候选集个数,具体参考另一篇帖子PDCCH盲检。 

CORESET参数定义 

29cdd0bd86824d10921837b2c1b1a91f.png

68d1e96bda3a483fad62141d5a27a347.png be1d77491f8b4bfabb95507ae0ea7687.png

controlResourceSetId : 配置 1~11 CORESET id,在一个服务小区内所有BWP 中唯一 ,CORESET 0固定用于RMSI 的searchSpace 0的资源。

frequencyDomainResources:CORESET频域资源,45bits,每个bit表示6RBs,从PRB0开始。最高位bit表示配置的BWP中最低频率,index从下往上升序。属于CORESET 的bit位要置1。

369e04f2aa194974902450628094136d.pngd29ca8f7463a4ead9607c35c3561af0e.png

Duration 是CORESET时域连续符号数,取值1-3

只有高层参数dmrs-TypeA-Position(MIB/ServingCellConfigCommon中) 配置为3   CORESET符号个数才能配置为3

pdcch-DMRS-ScramblingID: PDCCH DMRS是伪随机序列,因而需要赋初值,这里就是初始ID 配置,PDCCH DMRS后面再介绍。

举个例子说明下频域资源占用分布:

frequencyDomainResources '11111111 11111000 00000000 00000000 00000000 00000'B,

during 1,

从BWP 起始点开始,连续占用13个RB group,一共13*6=78个RB;时域上占用一个符号,则CORESET 占用的资源如下。3bfa934a22cf407bae240984ceea15b3.png

cce-REG-MappingType:CCE到REG的映射方式,交织或非交织

 

交织时配置参数:

     reg-BundleSize:交织块大小(REG个数)[n2,n3 n6]

     interleaveSize: 交织行个数 [n2,n3 n6]

     shiftIndex:交织时的偏移索引,不配置时默认为PCID

precoderGranularity:PDCCH 在频域上的预编码粒度。sameAsREG-bundle表示一个REG Bundle内采用相同预编码, allContiguousRBs 表示CORESET频域上所有REG采用相同预编码。

tci-StatesPDCCH-ToAddList/tci-StatePDCCH-ToReleaseList :TCI 配置,即PDCCH的DMRS 和TCI Status中配置的下行RS(CSI-RS或SSB)之间的QCL关系

tci-PresentInDCI :DCI 中是否指示TCI索引

参数介绍完毕,下面介绍下比较复杂的cce-REG的mappingtype

CCE-REG 的交织

cce-REG-MappingType代表CCE到REG的映射方式,支持交织或非交织的方式

首先看交织时配置的参数:

     reg-BundleSize:交织块大小(REG个数)[n2,n3 n6]

     interleaveSize: 交织行个数 [n2,n3 n6]

     shiftIndex:交织时的偏移索引,不配置时默认为PCID

RE是时频域上最小的资源单位,1个RE在时域上对应1个symbol,在频域上对应1个Subcarrier。

 

CORESET 中的RE 首先组成 REG(Resource Element Group),REG在频域上占用12个subcarrier,在时域上占用1个符号,故对应关系1 REG =12 RE,因而1个REG 在频域上对应的是1个RB,在时域对应的是1个OFDM符号,而1个CCE又包含6个REG,所以1个CCE=6*12=72个RE。再次提一下,CCE中REG 的编号原则是先时域后频域。

fffc60a11b9b4e5d9d6bb0847917707a.png

上图中的REG编号是连续的,但是实际中可能会有不连续的情况,因为CCE不直接映射到REG,而是通过REG Bundle间接映射,CCE和REG Bundle之间的映射可能会交织,这样就会打乱REG index。

 

 

下面介绍与交织相关的参数:d9631d8b8392417c9e13e802fd851b9a.png

For a CORESET configured by the ControlResourceSet IE:

 

-     3518f8c8d438456aa339039fd8e2f7ce.png is given by the higher-layer parameter frequencyDomainResources;

-    021f603a7a914cc49106a5de36a76231.png  is given by the higher-layer parameter duration, where is supported only if the higher-layer parameter dmrs-TypeA-Position equals 3;

-     interleaved or non-interleaved mapping is given by the higher-layer parameter cce-REG-MappingType;

-    L  equals 6 for non-interleaved mapping and is given by the higher-layer parameter reg-BundleSize for interleaved mapping;

-     R  is given by the higher-layer parameter interleaverSize;

CORESET 包含的所有REG 数由N_CORESET_REG表示, 可由 frequencyDomainResources (这里每个bit 1代表6RB)和duration 决定。

例如下面的例子N_CORESET_REG =frequencyDomainResources(13×6)*duration(1)=78个REG

pdcch-Config setup :

                            {

                              controlResourceSetToAddModList

                                  controlResourceSetId 1,

                                  frequencyDomainResources '11111111 11111000 00000000 00000000 00000000 00000'B,//13 个RB group

                                  duration 1, //代表一个 symbol

                                  cce-REG-MappingType interleaved :

                                    {

                                      reg-BundleSize n2,

                                      interleaverSize n3,

                                      shiftIndex 240

                                    },

 

L个REG 首先组成一个REG Bundle,通过再通过REG Bundle实现CCE 到REG 的映射。

以下的38.211 7.3.2 中的交织规则相关介绍。eee3fdda83b04f00bae18fc367f5921b.png16199854f5b44d6db1de8b95882647d6.png

非交织示例

non-interleaved 映射时L 固定为6 。交织函数就是f(j)=j74f89575900547f6b46b2fd92e355c08.png380d774a5c2445eeb15243e95503e88e.png

REG  bundle i is defined as REGs{iL,iL+!,......,iL+L-1}

举例说明会比较容易,如下:

  controlResourceSetId 1,

                            frequencyDomainResources '10000000 00000000 00000000 00000000 00000000 00000'B,//1 个RB group  对应6个RB

                                  duration 3 //代表时域占用3 symbol

                                  cce-REG-MappingType nonInterleaved 

由上可知N_CORESET_REG = 6×3=18     

N_CORESET_REG/L=18/6=3  则 i= 0,1,2   即只有3个REG Bundles

REG  bundle i is defined as REGs{iL,iL+!,......,iL+L-1}

REG bundle 0   ={REG 0,REG 1,REG 2,REG 3,REG 4,REG 5}

REG bundle 1   ={REG 6,REG 7,REG 8,REG 9,REG 10,REG 11}

REG bundle 2   ={REG 12,REG 13,REG 14,REG 15,REG 16,REG 17}

CCE j =REG bundles{f(6j/L),f(6j/L+1),......,f(6j/L+6/L-1)}

CCE 0=REG bundles{0} ={REG 0,REG 1,REG 2,REG 3,REG 4,REG 5}

CCE 1=REG bundles{1} ={REG 6,REG 7,REG 8,REG 9,REG 10,REG 11}

CCE 2 =REG bundles{2}={REG 12,REG 13,REG 14,REG 15,REG 16,REG 17}

效果图如下,可见非交织的情况下,CCE对应REG的编号是相对连续的。20a92818bef549f6b958005fae07313a.png

 

交织示例

交织函数da6be4852f47404f949f114a3e3bbdb2.png

函数中的参数均来自配置CORESET 时的参数7316c90bbc104ab3b113aa8e6614123d.png

9005dd3ee50e47569ee097b739b18b6b.png

PBCH CORESET 0 的交织规则是固定的,规则如下dcd21d7e4c164200a37a18561204ad05.png

举例说明

  controlResourceSetId 1,

 frequencyDomainResources '10000000 00000000 00000000 00000000 00000000 00000'B,//1 个RB group  对应6个RB

                                  duration 2, //代表一个 symbol

                                  cce-REG-MappingType interleaved 

                                      reg-BundleSize n2,

                                      interleaverSize n2,

                                      shiftIndex 1

由上可知L=R=2 

17e0ed6800404ab1b33da4c1abe90bf6.png

6fda95f9e6314566bbc46686e3720208.png 

N_CORESET_REG= 6×2=12   

N_CORESET_REG/L=12/2=6, 则 i= 0,1,...... 5  ,一共6个REG bundles。

REG  bundle i is defined as REGs{iL,iL+!,......,iL+L-1}

交织前

 

REG bundle 0   ={REG 0,REG 1}

REG bundle 1   ={REG 2,REG 3}

REG bundle 2   ={REG 4,REG 5}

REG bundle 3   ={REG 6,REG 7}

REG bundle 4   ={REG 8,REG 9}

REG bundle 5   ={REG 10,REG 11}

实际对应图

6427da83f06c4f938f41531aacdbd48a.png

根据配置的参数确定具体的交织函数如下:

6851376f66e147a3bc80bb26bbd54e27.png

f(x)=(rC+c+nshift) mode(6)=(r3+c+1) mod 6

X=2c+r,X的值由c和r的取值共同确定

r=0,1

c=0,1,2

C=N_CORESET_REG/(L*R)=12/(2*2)=3

则X 的取值范围是  0(c=0  r=0) 1(c=0,r=1)

                         2(c=1  r=0)  3(c=1,r=1)

                         4(c=2  r=0)  5(c=2  r=1)

L=R=2 

7ff49e57f7e54141ac87b5a8233f5926.png

6/L-1=2  {f(6j/L),f(6j/L+1)...f(6j/L+2)}  就是每个CCE 对应3个REG bundles

f(0)=f(2c+r)=(3r+c+1)mod 6=(3*0+0+1) mod 6=1   (x=0=2c+r 对应的c=0 r=0)

f(1)=f(2c+r)=(3r+c+1)mod 6=(3*1+0+1) mod 6=4   (x=1=2c+r 对应的c=0 r=1)

f(2)=f(2c+r)=(3r+c+1)mod 6=(3*0+1+1) mod 6=2   (x=2=2c+r 对应的c=1 r=0)

f(3)=f(2c+r)=(3r+c+1)mod 6=(3*1+1+1) mod 6=5   (x=3=2c+r 对应的c=1 r=1)

f(4)=f(2c+r)=(3r+c+1)mod 6=(3*0+2+1) mod 6=3   (x=4=2c+r 对应的c=2 r=0)

f(0)=f(2c+r)=(3r+c+1)mod 6=(3*1+2+1) mod 6=0   (x=5=2c+r 对应的c=2 r=1)

CCE 0 =REG bundle{f(0),f(1),f(2)}=REG bundle{1,4,2}

CCE 1 =REG bundle{f(3),f(4),f(5)}=REG bundle{5,3,0}

交织后对应情况,每个CCE包含的REG编号是断续的,通过交织打乱了CCE和REG bundle的对应关系。

3f444b2365c74ee9882da88a436c29fc.png

另外一种方式可以直观的得到最后的交织结果,就是先行进 后列出的方式,具体如下:

e72c28b1ae0d4e879937cf183a0c5b8b.png

如果基站可以获得信道质量信息,采用非交织的方式将CCE映射到信道质量较好的REG,可以获得频域选择性增益。

交织的方式由于会打乱CCE和REG bundle的对应关系,则可以获得频率分集效增益。

 

微信公众号同步更新,欢迎关注!

公众号:modem协议笔记

 

 

 

 

 

 

最后

以上就是隐形日记本为你收集整理的NR PDCCH(一) CORESET的全部内容,希望文章能够帮你解决NR PDCCH(一) CORESET所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部