首先澄清一个概念,之所以叫RAR scheduled PUSCH,而不是称为MSG3,因为在38.321协议中有有准确地MSG3的定义,只有竞争性随机接入中RAR调度的PUSCH才称为MSG3,而非竞争性随机接入中RAR调度的PUSCH不能称之为MSG3。
Msg3: Message transmitted on UL-SCH containing a C-RNTI MAC CE or CCCH SDU, submitted from upper layer and associated with the UE Contention Resolution Identity, as part of a Random Access procedure.
RAR中的字段就是用DCI format 0-0的方式进行解析,通过RAR可以获得其调度的PUSCH是否跳频、频域位置、MCS、TPC Command和CSI请求。
为了确定RAR调度PUSCH的频域位置,首先需要确定上行BWP,主要是确定用于计算PUSCH RB起始位置和RB个数的上行RB总数这个参数。
UL BWP的确定根据当前激活UL BWP和Initial UL BWP的频域位置及子载波间隔和CP等因素分为以下几种场景。
当前激活的BWP就是Initial UL BWP,那么RAR中对于frequency domain allocation field的解析则使用Initial UL BWP
当前激活的BWP不是Initial UL BWP,且当前激活UL BWP完整地包含了Initial UL BWP,且子载波间隔和CP都一致,那么使用Initial UL BWP
在38.211 6.3.1.7节中,except for描述的就是这种情况,计算PUSCH RB位置使用的是Initial UL BWP,但是最后体现到当前激活BWP中的RB位置需要加上Initial UL BWP与Active UL BWP的偏差,即最后为在Active UL BWP中的编号。
当前激活的BWP不是Initial UL BWP,且当前激活UL BWP虽然完整地包含了Initial UL BWP,但是子载波间隔或者CP不同,那么使用当前激活的UL BWP
当前激活的BWP不是Initial UL BWP,且当前激活UL BWP未能完整地包含Initial UL BWP,那么使用当前激活的UL BWP
在UL BWP确定之后,那么就可以对PUSCH frequency resource allocation field进行解析了。
在RAR中,PUSCH frequency resource allocation field为14比特,对应UL BWP为180RB时候的比特数,因此在UL BWP RB个数大于180的时候,需要填0进行补充,在UL BWP RB个数小于180的时候,则是根据RB数计算的比特数截取低位作为frequency resource allocation。
由于参照的是DCI format 0-0的方式进行解析,因此frequency resource allocation使用Type 1的方式计算RB的位置。
在1 bit Frequency Hopping bit为1的情况下,在时隙内进行跳频,RBoffset值即为Table 8.3-1中的Frquency offset for 2nd hop。
PUSCH的频域位置确定之后,则是PUSCH的时域位置确定了,通过4比特的PUSCH time resource allocation确定。
在pusch-ConfigCommon中的TimeDomainAllocationList未配置的情况下,则使用DefaultA表格,该表格包括16行,通过4比特则可以确定使用的是哪一行了,从该行中可以获得K2~后面计算间隔时隙使用,S/L~在时隙中的起始符号和符号长度。
在pusch-ConfigCommon中的TimeDomainAllocationList配置的情况下,则通过4比特PUSCH time resource allocation作为该List的索引,获得K2、S、L,其中的S和L通过值SLIV计算获得。
最后PUSCH的时隙间隔还需要加上一个△。
CSI request field仅在非竞争性随机接入下有效,在值为1的情况下,触发非周期性CSI上报。在一些竞争性接入的场景中,UE都还没有获得CSI的配置。
对比38.212中的DCI format 0-0,可以发现还缺少包括New data indicator,HARQ Process number,UL/SUL indicator。
下面分别介绍上述缺少部分的field值应该设置成什么值。
HARQ Process number = 0,RAR调度的PUSCH的进程号使用上行进程0,协议描述在38.321 5.4.2.1节。
Each HARQ process is associated with a HARQ process identifier. For UL transmission with UL grant in RA Response, HARQ process identifier 0 is used.
RV=0,38.213中8.3节描述如下。
A UE transmits a transport block in a PUSCH scheduled by a RAR UL grant in a corresponding RAR message using redundancy version number 0.
New data indicator主要用于判断是否新旧数据传输,那么对于RAR调度的PUSCH,必定进行的是新数据的传输。对于RAR调度的PUSCH若是传输MSG3,那么后面MSG3的重传则使用Temporary C-RNTI的DCI format 0-0进行重传,其他非MSG3,则使用C-RNTI的DCI format 0-0/DCI format 0-1进行重传调度。
UL/SUL indicator,在配置了SUL载波的时候,此时RAR调度的载波与发送PRACH/MSG1时候的载波相同。
A SCS for the PUSCH transmission is provided by subcarrierSpacing in BWP-UplinkCommon. A UE transmits PRACH and the PUSCH on a same uplink carrier of a same serving cell.
TB size计算 - Qm调制方式和Code Rate码率确定,对于RAR调度的PUSCH,可以判断出在transform precoding disabled的情况下使用表格Table 5.1.3.1-1,在transform prcoding enabled的情况下使用Table 6.1.4.1-1。
transform precoding disabled还是enabled的取决于msg3-transformPrecoder。
For a PUSCH scheduled by RAR UL grant or for a PUSCH scheduled by DCI format 0_0 with CRC scrambled by TC-RNTI, the UE shall consider the transform precoding either 'enabled' or 'disabled' according to the higher layer configured parameter msg3-transformPrecoder。
38.211中6.3.1.1节PUSCH速率匹配后的数据处理中,其中的加扰初始序列参数,对于RAR调度的PUSCH,需要区分随机接入是竞争性随机接入还是非竞争性随机接入。
If a TC-RNTI is provided by higher layers, the scrambling initialization of the PUSCH corresponding to the RAR UL grant in clause 8.2 is by TC-RNTI. Otherwise, the scrambling initialization of the PUSCH corresponding to the RAR UL grant in clause 8.2 is by C-RNTI.
DMRS序列初始化,在transform precoding disabled的情况下,不论是竞争性还是非竞争性,使用的都是最后的otherwise分支。
对于DRMS序列在transform precoding enabled的情况下,描述的条件比较直接,sequence group的参数确定直接使用的是otherwise分支。
RAR调度的PUSCH,sequence hopping为disabled,group hopping通过配置groupHoppingEnabledTransformPrecoding参数确定。
参考
1. 38.321, 5.4.2节 - HARQ Operation
2. 38.213,8.3节 - PUSCH scheduled by RAR UL Grant
3. 38.211,6.3.1.1节 - scrambling, 6.4.1.1节 - sequence generation
4. 38.214,6.3节 - UE PUSCH frequency hopping procedure