与LTE相比,上行物理信道有以下三类:
- 物理上行共享信道,PUSCH
- 物理上行控制信道,PUCCH
- 物理随机接入信道,PRACH
NR的上行物理信号有以下几种:
- 解调参考信号,DM-RS
- 相位追踪参考信号,PT-RS
- 探测参考信号, SRS
上行相关的天线端口定义如下:
- 从天线端口号0开始的天线端口用于PUSCH的DM-RS
- 从天线端口号1000开始的天线端口用于SRS,PUSCH
- 从天线端口号2000开始的天线端口用于PUCCH
- 天线端口号为4000的天线端口用于PRACH
对于NR中的PUSCH信道,3GPP标准使用OFDM作为上行传输的基本传输机制,而把DFT预编码作为可选方案。
使用DFT预编码可以减低立方度量,使终端可以获得较高的发射功率,这个与LTE中的PUSCH设计是一致的。但是DFT预编码造成了接收机的设计非常复杂,而且与LTE中的PUSCH传输一样,以DFT预编码为基础的NR中的PUSCH传输也要求给一个终端分配的频域资源必须是连续的,即要满足单载波连续特性。这些都是它的确定。
NR中限制DFT预编码为基础的PUSCH传输只能在单层传输中使用,而OFDM为基础的PUSCH传输最大可以支持上行四层传输。
Scrambling
对于单codeword q=0的情况,bit块为
,表示在物理信道上传输的codeword q的bit数量,这些bits应该在调制之前按照以下公式进行加扰,加扰之后的bits块为
:
其中x,y为占位符,解释如下:当bit块的长度为1个bit或者2个bits时,在encode时需要对bit块
进行占位符操作得到一个新的加扰后的bit块,具体如下:
调制
对于单codeword q=0,已加扰的bit块
使用以上调制方式之一进行调制,得到复数值的调制符号
。
层映射
对于单codeword q=0,要被传输的调制符号可以按照Table7.3.1.3-1映射到最多4层上。需要注意的是,下行PDSCH也是使用该表做层映射,PUSCH与其不同的是最多只能做4层映射,而PDSCH可以最多做8层映射。
codeword q的复数数值调制符号
应被映射到层:
上,
,其中
指的是每层的调制符号数量,v表示一共有多少层。
Transform precoding
首先,我们先了解一下在什么情况下需要在PUSCH上使用transform precoding,先搞清楚这个,我们再往下说。
对于随机接入流程中的Msg3 PUSCH传输,UE根据信令RACH-ConfigCommon中的IE:
msg3-transformPrecoder 来确定是否要开启或者关闭transform precoding功能;如果该IE没有在信令
RACH-ConfigCommon中出现,则UE关闭Msg3 PUSCH传输的transform precoding功能。
对于由CS-RNTI(NDI=1),C-RNTI,MCS-C-RNTI或者SP-CSI-RNTI加扰的PDCCH调度的PUSCH传输:
- 如果UE收到的UL grant是接收DCI 0_0得到的,那么对应的PUSCH是否开启或者关闭transform precoding取决于IE:msg3-transformPrecoder的值
- 如果UE收到的UL grant不是通过接收DCI 0_0得到的,
1. 如果UE在信令
PUSCH-Config中配置有IE:
transformPrecoder,那么对应的PUSCH是否开启或者关闭transform precoding取决于IE:
transformPrecoder的值;
2. 如果UE在信令 PUSCH-Config中没有发现配置有IE :transformPrecoder,那么对应的PUSCH是否开启或者关闭transform precoding取决于IE: msg3-transformPrecoder 的值
对于使用configured grant(即半静态或者半持续调度,具体内容我们会在后面的“上行传输流程”中介绍)的PUSCH:
- 如果UE在信令中configuredGrantConfig配置有IE:transformPrecoder,那么对应的PUSCH是否开启或者关闭transform precoding取决于该IE。
- 如果UE在信令中configuredGrantConfig没有配置有IE:transformPrecoder,那么对应的PUSCH是否开启或者关闭transform precoding取决于IE:msg3-transformPrecoder的值
下面我们再看看Transform precoding,transform precoding将数据依次做串并转换,变成并行
个数据,然后将这些并行的个数据做DFT(离散傅立叶变换),所以transform precoding的主要作用就是做一个离散傅立叶变换,将时域上的离散数据转换成频域上的离散数据。其中,
表示被调度的上行传输在频域上的长度,以子载波个数表示。
如果开启了transform precoding功能,预编号后的上行符号
取决于PT-RS的配置:
表示集合中PT-RS组的个数。
集合
中的PT-RS采样的索引m,每个PT-RS组的采样个数
以及PT-RS组的个数
由下表决定:
Transform precoding按照以下公式应用于传输块
从而得到复数值符号块
:
Precoding
我们都知道预编码的目的是使发射信号和空间信道相匹配,降低各个用户信号之间的相互干扰,降低用户端的处理复杂度;因此预编码是在发射端进行的。NR和LTE一样,都有预编码机制。
向量块
,
,按照以下公式进行预编码:
其中,
,
表示每个天线端口上传输的调制符号的数量;
表示传输的层数;
表示天线端口个数。
对于不基于码本(non-codebook-based)的传输,预编码矩阵W等同于单位矩阵。对于基于码本(codebook-based)的传输,预编码矩阵W定义如下:
- 对于单天线单层传输,W=1
- 如果信令tx-Config没有配置,预编码矩阵W=1
- 对于其他情况,由Table 6.3.1.5-1~6.3.1.5-7给出
上述Table中的TPMI index由调度上行PUSCH传输的DCI 0_1中的‘Precoding information and number of layers’字段确定,该字段的bit数的定义如下:
- 如果信令PUSCH-Config中的IE:txConfig的值等于 nonCodeBook,则该字段长度为0 bit,即该字段在DCI0_1中不出现。
- 如果信令PUSCH-Config中的IE:txConfig的值等于codeBook并且PUSCH传输为1个天线端口,那么该字段长度为0 bit。
- 如果信令PUSCH-Config中的IE:txConfig的值等于codeBook并且PUSCH传输为4个天线端口,tranform precoder禁用,该字段长度可以分别为4,5或者6 bits,那么根据信令maxRank和codebookSubset的值,并通过Table 7.3.1.1.2-2就可以查到TPMI值
- 如果信令PUSCH-Config中的IE:txConfig的值等于codeBook并且PUSCH传输为4个天线端口,tranform precoder可以开启也可以禁用,该字段长度可以分别为2,4或者5 bits,那么根据信令maxRank和codebookSubset的值,并通过Table 7.3.1.1.2-3就可以查到TPMI值。
- 如果信令PUSCH-Config中的IE:txConfig的值等于codeBook并且PUSCH传输为2个天线端口,tranform precoder禁用,该字段长度可以分别为2或者4 bits,那么根据信令maxRank和codebookSubset的值,并通过Table 7.3.1.1.2-4就可以查到TPMI值
- 如果信令PUSCH-Config中的IE:txConfig的值等于codeBook并且PUSCH传输为2个天线端口,tranform precoder可以开启也可以禁用,该字段长度可以分别为1或者3 bits,那么根据信令maxRank和codebookSubset的值,并通过Table 7.3.1.1.2-5就可以查到TPMI值
在以上的各种场景中取得TPMI数值后,再按照天线端口个数,tranform precoding是否开启以及传输的层数从Table 6.3.1.5-1~6.3.1.5-7(请参考上面的截图)中选择符合这些参数的表格并从中按照TPMI数值获取到对应的precoding maxtrix W。
前置条件:相关参数如下
天线端口数量为4; DCI 0_1中的字段‘Precoding information and number of layers’ = 32
从前置条件我们知道,需要查阅Table 7.3.1.1.2-2来获取TPMI数值,查表后我们可以得知:TPMI= 12,1层传输;
然后根据transform precoder=enable, 单层传输,4个天线端口可以知道需要查阅Table 6.3.1.5-2,查表后我
们可以得到:Pecode matrix W=
Mapping to virtual resource blocks
在PUSCH传输的每个天线端口上,复数值符号块
从
开始依次映射到用于PUSCH传输的VRB中的RE
(该RE的意思是在子载波间距
中,天线端口p上的RE)上,并要符合下列准则:
- 这些RE都在用于PUSCH传输的VRB中,并且,
- 这些RE不能用于相关的DM-RS, PT-RS,或者用作同时调度的UE的DM-RS。
向RE的映射应在用于PUSCH传输的VRB中进行,依照先频域后时域的升序进行映射,即在频域上从序号最小的VRB的第一个子载波开始映射,频域上映射完毕后再转到时域上下一个OFDM符号继续映射。
Mapping from VRB to PRB
对于上行PUSCH传输,VRB使用非交织映射被映射到PRB上。
对于非交织VRB-to-PRB映射,除了Msg3外,VRB n直接映射到PRB n上;对于在active BWP i上(该BWP的起始位置为
)进行的Msg3上行传输,如果该active BWP i包含了从
开始的initial uplink BWP,并且和initial uplink BWP具有相同的子载波间距和循环前缀。在这种场景中,UE使用initial Uplink BWP来传输Msg3,用于msg3的PUSCH传输的VRB n映射到PRB
上。