NR Rel-15/16学习笔记
UCI on PUSCH
From 38.213 v15.10.0 9.3 UCI reporting in PUSCH
38.212 v15.10.0 6.3.2.4 Rate matching
Matlab 官网说明 https://www.mathworks.com/help/5g/ug/nr-uci-multiplexing-on-pusch.html
38.213中UCI reporting in PUSCH主要介绍了偏置值的选取过程,在38.212的Rate matching中介绍了偏置值的含义。Matlab官网给出了将UCI 映射到 PUSCH的具体过程。
UCI 简介
UCI 包含SR,HARQ-ACK,CSI三种信息。其中,HARQ-ACK以及CSI可以与UL-SCH的数据共同在PUSCH上传输。CSI可以分为周期性CSI,非周期性CSI以及半持续CSI。周期性CSI只在PUCCH传输,非周期性CSI只在PUSCH传输,半持续CSI可以在PUCCH或者由DCI激活的PUSCH传输。CSI包含两部分:CSI part 1和CSI part 2。CSI part 1的载荷大小固定,并用来确认CSI part 2的信息比特,因此CSI part 1总是先于CSI part 2传输。本章主要考虑的是HARQ-ACK & CSI & UL-SCH或者HARQ-ACK & CSI直接在PUSCH传输的过程。
偏置值的物理含义
From 38.212 v15.10.0 6.3.2.4 Rate matching
在HARQ-ACK或者CSI中,
β
o
f
f
s
e
t
P
U
S
C
H
\beta_{offset}^{PUSCH}
βoffsetPUSCH就是38.213中9.3提到的偏置值。对于本节中提到的一系列公式,个人理解如下:UCI的比特数*偏置值/UL-SCH的比特数,可以看作一部分,这一部分是一个比例,决定了UCI占用PUSCH的比例,类似于第二项中由高层配置的参数
α
\alpha
α,而偏置值可以直接调节UCI占用PUSCH比例的大小。
从下列公式的计算中也可以看出,UCI on PUSCH的过程,按照HARQ-ACK,CSI-part1,CSI-part2依次计算比特数目,依次映射。
HARQ-ACK偏置值
当UL-SCH与HARQ-ACK一起在PUSCH传输时,在每一层中,HARQ-ACK调制后的符号数目记作
Q
A
C
K
′
Q_{ACK}^{'}
QACK′,也是占据RE的数目,可以通过下式计算得到:
其中:
- O A C K O_{ACK} OACK是HARQ-ACK的比特位
- L A C K L_{ACK} LACK是HARQ-ACK的CRC比特位;如果 O A C K > 360 O_{ACK}>360 OACK>360,则 L A C K = 11 L_{ACK}=11 LACK=11。
- β o f f s e t P U C C H = β o f f s e t H A R Q − A C K \beta^{PUCCH}_{offset}=\beta^{HARQ-ACK}_{offset} βoffsetPUCCH=βoffsetHARQ−ACK,而 β o f f s e t H A R Q − A C K \beta^{HARQ-ACK}_{offset} βoffsetHARQ−ACK由38.213的9.3章节决定。
-
M
s
c
U
C
I
(
l
)
M_{sc}^{UCI}(l)
MscUCI(l)的物理意义是第l个OFDM中可用于传输UCI的RE数目
1) 当第l个符号用于传输DM-RS,则 M s c U C I ( l ) = 0 M_{sc}^{UCI}(l)=0 MscUCI(l)=0
2) 当第l个符号不用于传输DM-RS, M s c U C I ( l ) = M s c P U S C H − M s c P T − R S M_{sc}^{UCI}(l)=M_{sc}^{PUSCH}-M_{sc}^{PT- RS} MscUCI(l)=MscPUSCH−MscPT−RS, M s c P U S C H M_{sc}^{PUSCH} MscPUSCH是调度PUSCH的子载波数目, M s c P T − R S M_{sc}^{PT-RS} MscPT−RS是第L个符号上用于传输PT-RS的子载波数目。
3) 第一部分分子求和项的物理意义是可用于UCI传输的RE的总数目。 -
K
r
K_r
Kr是PUSCH传输的第r个code block(CB)的大小。如果根据DCI中的CBGTI指示,取消了第r个CB的传输,则
K
r
=
0
K_{r}=0
Kr=0。
1) C U L − S C H C_{UL-SCH} CUL−SCH是PUSCH传输的CB总数目。 - α \alpha α是高层指定的参数“scaling”
- l 0 l_{0} l0是在第一个DMRS位置之后,第一个不携带DMRS的OFDM符号。
当只有HARQ-ACK在PUSCH上传输时,
Q
A
C
K
′
Q_{ACK}^{'}
QACK′,通过下式计算得到:
其中:
- R R R是PUSCH的码率,根据38.214的6.1.4.1章节确定。
- Q m Q_{m} Qm是PUSCH的调制阶数
CSI-Part 1的偏置值
当CSI part 1与UL-SCH共同在PUSCH传输,在每一层中,CSI-part 1调制后的符号数目记作
Q
C
S
I
−
1
′
Q_{CSI-1}^{'}
QCSI−1′,也是CSI-Part1占据的符号数目,通过下式计算得到:
当只有CSI part 1在PUSCH传输,并且还有CSI part 2需要传输,在每一层中,CSI-part 1编码后的符号数目记作
Q
C
S
I
−
1
′
Q_{CSI-1}^{'}
QCSI−1′,通过下式计算得到:
当只有CSI part 1在PUSCH传输,但没有CSI part 2需要传输,在每一层中,CSI-part 1编码后的符号数目记作
Q
C
S
I
−
1
′
Q_{CSI-1}^{'}
QCSI−1′,通过下式计算得到:
在本节中的一系列公式
- β o f f s e t P U S C H = β o f f s e t C S I − p a r t 1 \beta^{PUSCH}_{offset}=\beta^{CSI-part1}_{offset} βoffsetPUSCH=βoffsetCSI−part1;
-
Q
A
C
K
′
Q^{'}_{ACK}
QACK′的计算分为两种情况:
Case 1: HARQ-ACK的比特数大于2bit,则 Q A C K ′ Q^{'}_{ACK} QACK′是上一节中计算得到的比特数 (对应Rate matching的情况)
Case 2: HARQ-ACK的比特数小于2bit,则 Q A C K ′ Q^{'}_{ACK} QACK′的计算需要根据38.212的6.2.7节确定 (对应Puncture的情况)
其余参数的物理意义与HARQ-ACK中一致。
CSI-Part 2的偏置值
当CSI part 2与UL-SCH共同在PUSCH传输,在每一层中,CSI-part 2调制后的符号数目,也是CSI-Part2占据的RE数目,记作
Q
C
S
I
−
2
′
Q_{CSI-2}^{'}
QCSI−2′,通过下式计算得到:
当只有CSI part 2在PUSCH传输,在每一层中,CSI-part 2编码后的符号数目记作
Q
C
S
I
−
2
′
Q_{CSI-2}^{'}
QCSI−2′,通过下式计算得到:
在本节中的一系列公式
- β o f f s e t P U S C H = β o f f s e t C S I − p a r t 2 \beta^{PUSCH}_{offset}=\beta^{CSI-part2}_{offset} βoffsetPUSCH=βoffsetCSI−part2;
其余参数的物理意义与CSI-Part 1中一致。
偏置值的选取
From 38.213 v15.10.0 9.3 UCI reporting in PUSCH & 38.331
如上节所述,HARQ-ACK/CSI-Part1/CSI-Part2的偏置值分别记作:
β
o
f
f
s
e
t
H
A
R
Q
−
A
C
K
\beta^{HARQ-ACK}_{offset}
βoffsetHARQ−ACK,
β
o
f
f
s
e
t
C
S
I
−
p
a
r
t
1
\beta^{CSI-part1}_{offset}
βoffsetCSI−part1,
β
o
f
f
s
e
t
C
S
I
−
p
a
r
t
2
\beta^{CSI-part2}_{offset}
βoffsetCSI−part2。其具体的取值如38.213 9.3中Table 9.3-1以及Table 9.3-2中的第二列所示。可以看出,偏置值的选取需要精确到小数点后3位。如果直接在RRC或者DCI中传输这些偏置值,所需占用的资源是非常大的。因此,在38.213中创建了一系列索引,并给出了索引值以及偏置值的关系。
偏置值的选取过程是:利用38.331中RRC信令PUSCH-Config,ConfiguredGrantConfig,BetaOffsets信令确定索引值,再通过查询213中的表格找到索引值对应的偏置值。
偏置值与索引值的关系
首先,我们来看38.213 9.3中Table9.3-1,9.3-2以及BetaOffsets信令。
(未截取完,最大的序号到31)
(未截取完,最大的序号到31)
BetaOffsets ::= SEQUENCE {
betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need S
betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need S
betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need S
betaOffsetCSI-Part1-Index1 INTEGER(0..31) OPTIONAL, -- Need S
betaOffsetCSI-Part1-Index2 INTEGER(0..31) OPTIONAL, -- Need S
betaOffsetCSI-Part2-Index1 INTEGER(0..31) OPTIONAL, -- Need S
betaOffsetCSI-Part2-Index2 INTEGER(0..31) OPTIONAL -- Need S
}
在BetaOffsets中,参数与38.213 Table 9.3中的参数以及UCI的比特位数有一一对应关系,具体对应关系如下表。
BetaOffsets中参数 | Table 9.3中索引参数 | UCI比特位数 |
---|---|---|
betaOffsetACK-Index1 | I o f f s e t , 0 H A R Q − A C K I_{offset,0}^{HARQ-ACK} Ioffset,0HARQ−ACK | <=2bit |
betaOffsetACK-Index2 | I o f f s e t , 1 H A R Q − A C K I_{offset,1}^{HARQ-ACK} Ioffset,1HARQ−ACK | >2bit,<=11bit |
betaOffsetACK-Index3 | I o f f s e t , 2 H A R Q − A C K I_{offset,2}^{HARQ-ACK} Ioffset,2HARQ−ACK | >11bit |
betaOffsetCSI-Part1-Index1 | I o f f s e t , 0 C S I − 1 I_{offset,0}^{CSI-1} Ioffset,0CSI−1 | <=11bit |
betaOffsetCSI-Part1-Index2 | I o f f s e t , 1 C S I − 1 I_{offset,1}^{CSI-1} Ioffset,1CSI−1 | >11bit |
betaOffsetCSI-Part2-Index1 | I o f f s e t , 0 C S I − 2 I_{offset,0}^{CSI-2} Ioffset,0CSI−2 | <=11bit |
betaOffsetCSI-Part2-Index2 | I o f f s e t , 1 C S I − 2 I_{offset,1}^{CSI-2} Ioffset,1CSI−2 | >11bit |
索引值的选取
如上文所说,网络并不会为UE配置某个偏置值,而是会根据不同的情况,为用户配置索引值。而索引值的选取,可以分为以下几种情况。
- Case 1: 由dynamic grant (DCI 0_0/DCI 0_1)调度的PUSCH
此时,需要根据PUSCH-Config中的配置,决定索引值。
PUSCH-Config中相关信令如下。
UCI-OnPUSCH ::= SEQUENCE {
betaOffsets CHOICE {
dynamic SEQUENCE (SIZE (4)) OF BetaOffsets,
semiStatic BetaOffsets
} OPTIONAL, -- Need M
scaling ENUMERATED { f0p5, f0p65, f0p8, f1 }
}
-
- Case 1.1: 如果是由DCI 0_1调度的DG-PUSCH,在DCI 0_1中存在beta_offset indicator 指示域,且UCI-OnPUSCH为dynamic配置,则在UCI-OnPUSCH中共存在4个BetaOffsets,根据DCI 0_1中的指示域选定某个BetaOffsets,再按照UCI的具体比特位数,决定在BetaOffsets中使用哪一个
I
o
f
f
s
e
t
,
x
−
−
I_{offset,x}^{--}
Ioffset,x−−。
- Case 1.1: 如果是由DCI 0_1调度的DG-PUSCH,在DCI 0_1中存在beta_offset indicator 指示域,且UCI-OnPUSCH为dynamic配置,则在UCI-OnPUSCH中共存在4个BetaOffsets,根据DCI 0_1中的指示域选定某个BetaOffsets,再按照UCI的具体比特位数,决定在BetaOffsets中使用哪一个
I
o
f
f
s
e
t
,
x
−
−
I_{offset,x}^{--}
Ioffset,x−−。
-
- Case 1.2: 如果是DCI 0_0调度的DG-PUSCH,且UCI-OnPUSCH为dynamic配置,则在UCI-OnPUSCH中共存在4个BetaOffsets,直接使用第一个值。
-
- Case 1.3:UCI-OnPUSCH中配置的为semiStatic。直接使用SemiStatic指定的BetaOffsets。
-
Case 2: 由Configured grant 调度的PUSCH
此时,需要根据Configured grant的配置,决定索引值。
ConfiguredGrantConfig中相关信令如下:
CG-UCI-OnPUSCH ::= CHOICE {
dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets,
semiStatic BetaOffsets
}
-
- Case 2.1: CG-UCI-OnPUSCH中为semi-Static。直接使用SemiStatic指定的BetaOffsets。
-
- Case 2.2: 如果是由DCI 0_0调度的Configured grant Type 2,且CG-UCI-OnPUSCH中为dynamic。直接使用dynamic中指定的第一个BetaOffsets。
UCI 映射过程
From Matlab 官网说明 https://www.mathworks.com/help/5g/ug/nr-uci-multiplexing-on-pusch.html
UCI 只在不传输DM-RS的OFDM符号上传输。UCI映射到RE的过程取决于可用于传输UCI的RE数目,以及为该类型的UCI剩余的RE数目。如果在某个OFDM符号上,该类型UCI需要的RE数目超过该OFDM符号上可用于UCI传输的RE数目的一半,则该类型的UCI连续映射到RE上;否则,UCI均匀且分布的映射到该OFDM符号的RE上,以达到分集增益。
HARQ-ACK在第一个DMRS之后的第一个OFDM符号上,CSI-Part 1和CSI-Part2在第一个不传输DMRS的OFDM符号上。
UCI 映射过程可以分为两种情况,第一种情况(Case 1)是HARQ-ACK的比特位小于或者等于2,适用打孔的方法;第二种情况(Case 2)是HARQ-ACK的比特位大于2。适用速率匹配的方法。
总体来看,UCI的映射过程分为以下六步。
- 当HARQ-ACK的比特数目小于或者等于2,找到为HARQ-ACK预留的位置。
- 当HARQ-ACK的比特数目大于2,映射已经编码过的HARQ-ACK。
- 映射编码后的CSI-part1以及CSI-Part2。
- 映射编码后的UL-SCH。
- 当HARQ-ACK的比特数目小于或者等于2,映射编码后的HARQ-ACK。
- 形成码本(codeword,CW)
下面,展示两个具体的例子,分别对应HARQ-ACK小于等于2bit以及大于2bit的情况。PUSCH的配置如下:PUSCH占据了整个RB(14 OFDM符号,12子载波),单层传输,采用BPSK调制,时域映射方式是type A,关闭跳频,关闭PT-RS,UCI所有的偏置值为1,
α
\alpha
α的值也为1,该slot中在第2个,第7个,第11个slot上配置了DM-RS。DM-RS位置的示意图如下:
目标码率是314/1024,编码前TB的大小是24,编码前CSI-part1以及CSI-part2的比特位均为10。
Case1
编码前HARQ-ACK的比特位是1。根据配置好的PUSCH,目标码率以及载荷的值,编码后的HARQ-ACK比特位是2,编码后CSI-part1以及CSI-part2比特位是19,编码后的UL-SCH比特位是94。(这里的编码指信道编码,因为采用BPSK进行基带调制,并且是单层传输,编码后UCI/UL-SCH需要占据的RE数目等于信道编码后的比特位)
第一步:此时,编码前的HARQ-ACK的比特位小于等于2,首先需要找到预留给HARQ-ACK的位置,并且标记这些位置。
设置HARQ-ACK的比特位为2,并以此进行速率匹配,则预留给HARQ-ACK的位置为4。第2个OFDM符号携带了DM-RS,因此HARQ-ACK在第3个OFDM符号上开始传输。且由于此时要求的RE数目是4,第三个OFDM符号上可用的RE数目是14,4<14/2,因此HARQ-ACK采用分布式映射的方法。
第2步:跳过
第3步:映射CSI part 1以及CSI-part2。
CSI的映射过程从第一个不携带DM-RS的OFDM符号开始。如图所示,从第0个OFDM符号开始。
CSI-Part1要求占据19个RE,因此占据第0个OFDM符号的全部12个RE以及第1个OFDM符号的前7个RE(OFDM 0:19>12/2,OFDM1:7>12/2),并都采用连续式的映射方法;
CSI-Part2也要求占据19个RE,此时第0个OFDM符号已经被CSI-Part1完全占据,第1个OFDM符号还剩下5个OFDM符号可用(19>5/2),在第1个OFDM符号上,采用集中式映射的方式映射CSI-Part2。跳过第2个OFDM符号(携带DM-RS)。同样,采用集中式映射的方法将CSI-Part2映射到第三个OFDM符号上。**注意由于此时HARQ-ACK是预留的,因此同样可以用来映射CSI-part2以及UL-SCH数据。**CSI-part2在第4个OFDM符号上只需要2个RE(2<12/2),因此采用分布式映射。
第四步:映射UL-SCH数据到对应的RE上。
第5步:根据实际的HARQ-ACK需要的RE数目,在CSI-part以及UL-SCH已经映射结束的资源上,按照预留的HARQ-ACK位置进行打孔(遵循分布式映射)。
第6步:形成CW。
Case2
编码前HARQ-ACK的比特位是3。编码后的HARQ-ACK比特位是6,编码后CSI-part1以及CSI-part2比特位是19,编码后的UL-SCH比特位是106。(编码指信道编码)
跳过第1步
第2步:映射HARQ-ACK到对应的位置上(DM-RS之后的第一个OFDM符号上)。HARQ-ACK需要的RE数目为6,而第三个OFDM符号上此时可以提供14个RE,需求的RE数目(6)不大于此时可以提供RE数目的一半(12/2=6),因此映射HARQ-ACK的方式是分布式的。
第3步:映射CSI-part1与CSI-part2。CSI-part1与CSI-part2的映射过程与Case1一样。
第4步:映射UL-SCH。映射过程与Case1一样。
跳过第5步。
第6步:形成CW。