加扰
每一个码字对应的原始数据是b(q)(0),...,b(q)(Mbit(q)−1),经过加扰处理生成加扰后的数据为b~(q)(0),...,b~(q)(Mbit(q)−1)。加扰处理如下所示:

PDSCH的加扰序列c(q)(i)是一个伪随机序列,这个序列生成器的初始化由下面的公式完成:

其中
双码字传输时,q∈{0,1};单码字传输时,q = 0。
nID(扰码ID)由高层参数dataScramblingIdentityPDSCH来配置,取值范围是(0…1023),如果高层没有配置这个参数,则UE使用物理小区ID作为nID。
nRNTI就是PDSCH当前传输时相关联的RNTI。
调制
每一个码字加扰后的bit块b~(q)(0),...,b~(q)(Mbit(q)−1)使用下表所示的方式进行调制,生成调制信号d(q)(0),...,d(q)(Msymb(q)−1)。
Modulation scheme |
Modulation order |
QPSK |
2 |
16QAM |
4 |
64QAM |
6 |
256QAM |
8 |
层映射
每一个码字生成的调制信号d(q)(0),...,d(q)(Msymb(q)−1)根据下表映射到多个层x(i)=[x(0)(i)...x(v−1)(i)]上传输,其中v表示层数:
Number of layers |
Number of codewords |
Codeword-to-layer mapping |
1 |
1 |
 |
2 |
1 |
 |
3 |
1 |
 |
4 |
1 |
 |
5 |
2 |
 |
6 |
2 |
 |
7 |
2 |
 |
8 |
2 |

|
可以看到,单码字映射到1~4层,双码字映射5~8层。Msymblayer表示映射到每一层的调制信号数。
天线端口映射
经过层映射之后的数据按照如下方式映射到天线端口

其中
i=0,1,...,Msymbap−1,Msymbap=Msymblayer
虚拟资源块映射
UE的PDSCH可用资源由高层参数指示。高层在PDSCH-Config和ServingCellConfigCommon中配置了rateMatchPatternToAddModList来指示UE小区级或BWP级的PDSCH资源配置。rateMatchPatternToAddModList配置最多四个RateMatchPattern IE,该IE包含的内容如下: 
可以看到,资源模式有两种类型:
-
bitmap类型,通过一对位图参数resourceBlocks和symbolsInResourceBlock来指示速率匹配模式。symbolsInResourceBlock是在时域上符号级的位图,跨度为1个或2个时隙。resourceBlocks是在频域中RB级的位图,置为1的bit表示应该在相应的RB上由symbolsInResourceBlock指示的符号上应用速率匹配,如果这个RateMatchPattern是小区级的,那么认为这个位图是CRB,如果是BWP级的,那么这个位图就是BWP中的PRB。还有一个参数periodicityAndPattern,意思是上述两个参数定义出的资源模式出现的周期,如果没有没有这个参数,缺省值为n1;
-
controlResourceSet类型,ControlResourceSetId指定了一个CORESET,频域资源由该CORESET的频域资源确定,时域资源由与这个CORESET关联的搜索空间的高层配置参数monitoringSlotPeriodicityAndOffset 和monitoringSymbolsWithinSlot 确定。
物理资源块映射
从VRB到PRB的映射有交插和非交插两种。
非交插映射模式,在公共搜索空间用DCI Format 1_0调度的PDSCH传输这种情况下,虚拟资源块n映射到物理资源块n+NstartCORESET上,其中NstartCORESET是接收相应DCI的控制资源集中编号最小的物理资源块;除上述情况之外,虚拟资源块n就映射到物理资源块n上。
交插映射模式,以资源块束来定义,首先来看资源块束(RB bundle)的概念,分了三种情况:
-
在CORESET#0的Type0-PDCCH公共搜索空间,由SI-RNTI加扰,用DIC Format
1_0调度的PDSCH传输。下行初始**的BWP,大小NBWP,initsize,分为Nbundle=⌈NBWP,initsize/L⌉个RB bundle,按照RB编号和束编号升序排列。其中L是bundle的大小,取值为2。
如果NBWP,initsize不能整除L,最后一个RB bundle包含了NBWP,initsizemodL个RB,否则包含2个RB;其余RB bundle都包含2个RB。

-
除上述情况外,在公共搜索空间由DCI Format
1_0调度的PDSCH传输,BWP起始位置为NBWP,istart,大小为NBWP,initsize的虚拟RB集合{0,1,…,NBWP,initsize−1}分为Nbundle个虚拟RB bundle,相应的NBWP,initsize个物理RB集合{NstartCORESET,NstartCORESET+1,…,NstartCORESET+NBWP,initsize−1}分为Nbundle个物理RB bundle,其中Nbundle=⌈(NBWP,initsize+(NBWP,istart+NstartCORESET)modL)/L⌉,L是bundle的大小,取值为2,NstartCORESET是接收相应DCI的控制资源集中编号最小的物理资源块。
1)0号RB bundle包含了L−((NBWP,istart+NstartCORESET)modL)个RB;
2)如果(NBWP,initsize+NBWP,istart+NstartCORESET)modL>0,则最后一个RB bundle包含了(NBWP,initsize+NBWP,istart+NstartCORESET)modL个RB,否则包含L个RB;
3)其余RB bundle包含L个RB;
之所以要考虑进NstartCORESET,是因为38.214中规定,对于任何在PDCCH公共搜索空间中以DCI format 1_0调度的PDSCH传输,其RB编号从接收DCI的CORESET的最低RB开始。
-
其他PDSCH传输,BWP i,起始位置NBWP,istart,大小NBWP,isize,分为Nbundle个RB
bundle且按照RB编号和束编号的升序排列,其中Nbundle=⌈(NBWP,initsize+(NBWP,istartmodLi))/Li⌉,Li是bundle的大小,由高层参数PDSCH-Config
-> vrb-ToPRB-Interleaver配置。
1)0号RB bundle包含了Li−(NBWP,istartmodLi)个RB,这样做的目的是为了从下一个bundle开始,每个bundle的起始位置都是Li的整数倍;
2)如果 (NBWP,istart+NBWP,isize)modLi>0,最后一个RB bundle包含了(NBWP,istart+NBWP,isize)modLi个RB,否则包含Li个RB;
3)其余RB bundle包含Li个RB。

解决了RB bundle的概念问题,再来看属于j∈{0,1,...,Nbundle−1}区间内的虚拟RB 向物理RB的映射:
-
Nbundle−1号虚拟RB bundle映射到Nbundle−1号物理RB bundle上。
-
其余j∈{0,1,...,Nbundle−2}的虚拟RB bundle遵循f(j)函数映射到物理RB bundle

按照上面case1的例子,来看一下是怎么映射的:
