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如下
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描述的是时域资源分布,两者配对 就可以确定具体的时频域资源。
例如上面的Searchspace id 2和CORESET 0 配对主要用于DCI format 0_0/1_0的检测
这个Searchspace id 5和CORESET 1 配对主要用于DCI format 0_1/1_1的检测。
具体CORESET 和Searchspace是怎么描述时频域资源的?。
首先看CORESET部分。
NR中,引入了CORESET(control resource set)概念,对应PDCCH物理资源配置,CORESET 对应的主要是频域资源。
CORESET 在频域对应的是一组PRBs,最小粒度为6RB;时域长度为1-3个OFDM符号,且在时隙中开始位置可灵活配置;具体的说CORESET 又有REGs(Resource Element Groups)和CCEs(Control Channel Elements)的概念,下面逐步介绍。
这里先提下REG index 的编号顺序,要遵循先时域后频域升序方式,例如下图的编号方式。
对于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、时隙索引和起始符号等。
PDCCH 由多个CCE 组成,而CCE 有对应的aggregation levels(1,2,4,8,16),简单的说Aggregation level 是16 就代表 16个CCE 组成一个Aggregation level,在进行PDCCH 盲检时,会以Aggregation Level 的方式配置候选集个数,具体参考另一篇帖子PDCCH盲检。
CORESET参数定义
controlResourceSetId : 配置 1~11 CORESET id,在一个服务小区内所有BWP 中唯一 ,CORESET 0固定用于RMSI 的searchSpace 0的资源。
frequencyDomainResources:CORESET频域资源,45bits,每个bit表示6RBs,从PRB0开始。最高位bit表示配置的BWP中最低频率,index从下往上升序。属于CORESET 的bit位要置1。
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 占用的资源如下。
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 的编号原则是先时域后频域。
上图中的REG编号是连续的,但是实际中可能会有不连续的情况,因为CCE不直接映射到REG,而是通过REG Bundle间接映射,CCE和REG Bundle之间的映射可能会交织,这样就会打乱REG index。
下面介绍与交织相关的参数:
For a CORESET configured by the ControlResourceSet IE:
- is given by the higher-layer parameter frequencyDomainResources;
- 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 中的交织规则相关介绍。
非交织示例
non-interleaved 映射时L 固定为6 。交织函数就是f(j)=j
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的编号是相对连续的。
交织示例
交织函数
函数中的参数均来自配置CORESET 时的参数
PBCH CORESET 0 的交织规则是固定的,规则如下
举例说明
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
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}
实际对应图
根据配置的参数确定具体的交织函数如下:
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
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的对应关系。
另外一种方式可以直观的得到最后的交织结果,就是先行进 后列出的方式,具体如下:
如果基站可以获得信道质量信息,采用非交织的方式将CCE映射到信道质量较好的REG,可以获得频域选择性增益。
交织的方式由于会打乱CCE和REG bundle的对应关系,则可以获得频率分集效增益。
微信公众号同步更新,欢迎关注!
公众号:modem协议笔记
NR PDCCH(一) CORESET相关推荐
- NR PDCCH (三)DCI传输过程
微信同步更新欢迎关注同名"modem协议笔记" PDCCH 承载的data就是DCI,在PDCCH 盲检时需要用正确的RNTI进行解扰和CRC校验,才能确认DCI是不是发送给UE的 ...
- 5G NR PDCCH
本篇主要参考38211和38213协议 CORESET中的资源会进一步以REG为单位,一个REG就是时域一个OFDM符号,频域一个RB,若干个REG会组成REG bundle,REG bundle又会 ...
- NR PDCCH(二) SearchSpace
帖子微信更新会稍微快,可以关注同名modem协议笔记 这篇开始介绍SearchSpace.CORESET 描述的是PDCCH 盲检资源的频域特性,SearchSpace 代表的是时域特性,具体的说就是 ...
- 5G NR PDCCH概述
PDCCH概述 不同于LTE中的控制信道包括PCFICH.PHICH和PDCCH,在5G NR中,控制信道仅包括PDCCH(Physical Downlink Control Channel),负责物 ...
- NR PDCCH时频域位置
在PDCCH盲检DCI的过程中,各candidate的时频域位置主要依赖于CORESET和搜索空间Search Space的配置. 1.NR与LTE PDCCH时频域位置的区别 从频域占用带宽和时域起 ...
- 5G/NR PDCCH总结
1. CCE PDCCH主要用于传输下行控制信息和UL Grant,以便UE正确接收PDSCH及为PUSCH分配上行资源,其分配单位为CCE(1 CCE = 6 REG = 72 RE,1 REG = ...
- NR PDCCH(二)下行控制信息DCI
3GPP TS 38.212 Clause 7.3.1 1.DCI格式 DCI格式 用途 0_0 调度PUSCH(在一个小区中) 0_1 调度一个或多个PUSCH(在一个小区中),或指示配置的授权PU ...
- NR PDCCH CCE to REG 交织图解
文章目录 协议章节 通过交织公式求解 行进列出图表法 协议章节 具体协议在38.211 的7.3.2.2 7.3.2.2 Control-resource set (CORESET) 求解交织结果,一 ...
- 5G NR PDCCH DCI
PDCCH DCI概述 在前文PDCCH概述曾提到,PDCCH主要是负责下行链路各种控制信息(DCI, Downlink Control Information)的传输,根据控制信息内容的不同,在R1 ...
最新文章
- linux minicom usb串口
- SAP ABAP实用技巧介绍系列之利用RTTC给DDIC structure动态添加新的field
- c语言学习笔记 关于double
- 写给自己的CDSN账号
- [C语言]切比雪夫多项式,并写入到文件中
- 火箭十八连胜内幕大曝光(坚持看完)(搞笑)
- IOS swift 清理缓存
- linux从新建命令窗口快捷键,tmux 常用命令及快捷键
- 抖音胡闹天宫直播项目,可虚拟人直播 抖音报白 实时互动直播软
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发流程(六)烧写整个系统或更新部分系统
- 男人凭什么三十而立——一定要攒点钱
- super_status_bar与status_bar的关系
- mysql:列类型之decimal、numeric
- 服务器怎么互传文件,服务器互传文件
- 一篇很值得看的伤感日志:因为你不喜欢我,所以你不明白
- 信息安全快讯丨生日快乐,我的国
- java 将字符串首字母变大写
- minix3通过pkgin_cd安装二进制包
- 【交通灯】51单片机的交通灯Proteus仿真_带紧急开关+黄灯倒计时+可调时间
- SWAN测试执行流程