6 Uplink transport channels and control information
6.2 Uplink shared channel
6.2.7 Data and control multiplexing
Denote the coded bits for UL-SCH as ULSCH
1
Denote the coded bits for HARQ-ACK, if any, as ACK
1 total number of OFDM symbols of the PUSCH, including all OFDM symbols used for DMRS.
Denote k as the subcarrier index of the scheduled PUSCH, starting from 0 to MscPUSCH−1, where MscPUSCH is expressed as a number of subcarriers.
Denote UL-SCH
Φl as the set of resource elements, in ascending order of indices k, available for transmission of data in OFDM symbol l, for l=0 ,1 ,2,...,Nsymb,PUSCHall−1.
Φl as the set of resource elements, in ascending order of indices k, available for transmission of UCI in OFDM symbol l, for l=0 ,1 ,2,...,Nsymb,PUSCHall−1. Denote MscUCI
( )
l = ΦUCIl as the number of elements in set UCIΦl . Denote
( )
UCI
l j
Φ as the j-th element in UCI
Φl . For any OFDM symbol that carriers DMRS of the PUSCH, UCI
Φl = ∅. For any OFDM symbol that does not carry DMRS of the PUSCH, ΦUCIl = ΦUL-SCHl .
If frequency hopping is configured for the PUSCH,
- denote l(1) as the OFDM symbol index of the first OFDM symbol after the first set of consecutive OFDM symbol(s) carrying DMRS in the first hop;
- denote l(2) as the OFDM symbol index of the first OFDM symbol after the first set of consecutive OFDM symbol(s) carrying DMRS in the second hop.
- denote lCSI(1) as the OFDM symbol index of the first OFDM symbol that does not carry DMRS in the first hop;
- denote lCSI(2) as the OFDM symbol index of the first OFDM symbol that does not carry DMRS in the second hop;
- if HARQ-ACK is present for transmission on the PUSCH with UL-SCH, let
- GACK(1)=NL⋅Qm⋅
GACK/(
2⋅NL⋅Qm)
and GACK(2)=NL⋅Qm⋅
GACK/(
2⋅NL⋅Qm)
;- if CSI is present for transmission on the PUSCH with UL-SCH, let - GCSI-part1(1)=NL⋅Qm⋅
GCSI-part1/(
2⋅NL⋅Qm)
;- GCSI-part1(2)=NL⋅Qm⋅
GCSI-part1/(
2⋅NL⋅Qm)
;- GCSI-part2(1)=NL⋅Qm⋅
GCSI-part2/(
2⋅NL⋅Qm)
; and- GCSI-part2(2)=NL⋅Qm⋅
GCSI-part2/(
2⋅NL⋅Qm)
;- if only HARQ-ACK and CSI part 1 are present for transmission on the PUSCH without UL-SCH, let - GACK(1)=min
(
NL⋅Qm⋅GACK/ 2(
⋅NL⋅Qm)
, M N3⋅ ⋅L Qm)
;- GACK(2)=GACK−GACK(1) ;
- GCSI-part1(1)=M1⋅NL⋅Qm−GACK(1); and - GCSI-part1(2)=GCSI-part1−GCSI-part1(1) ;
- if HARQ-ACK, CSI part 1 and CSI part 2 are present for transmission on the PUSCH without UL-SCH, let - GACK(1)=min
(
NL⋅Qm⋅GACK/ 2(
⋅NL⋅Qm)
, M N3⋅ ⋅L Qm)
;- GACK(2)=GACK−GACK(1) ;
- if the number of HARQ-ACK information bits is more than 2,
( )
(
/2 , (1))
min ) 1
( CSI-part1 1 ACK
part1
-CSI N Q G N Q M N Q G
G = L⋅ m⋅ ⋅ L⋅ m ⋅ L⋅ m− ; otherwise,
( )
( )
CSI-part1 CSI-part1 ACK
(1) min L m / 2 L m , 1 L m rvd (1)
G = N ⋅Q ⋅G ⋅N ⋅Q M N⋅ ⋅Q −G
- GCSI-part1(2)=GCSI-part1−GCSI-part1(1) ;
- GCSI-part2(1)=M1⋅NL⋅Qm−GCSI-part1(1) if the number of HARQ-ACK information bits is no more than 2, and )
1 ( )
1 ( )
1
( 1 ACK CSI-part1
part2
-CSI M N Q G G
G = ⋅ L⋅ m− − otherwise; and
- GCSI-part2(2)=M2⋅NL⋅Qm−GCSI-part1(2) if the number of HARQ-ACK information bits is no more than 2, and
- if CSI part 1 and CSI part 2 are present for transmission on the PUSCH without UL-SCH, let
- GCSI-part1(1)=min
(
NL⋅Qm⋅GCSI-part1/ 2(
⋅NL⋅Qm)
, M N1⋅ L⋅Qm−GrvdACK(1))
; - GCSI-part1(2)=GCSI-part1−GCSI-part1(1) ;- GCSI-part2(1)=M1⋅NL⋅Qm−GCSI-part1(1); and - GCSI-part2(2)=M2⋅NL⋅Qm−GCSI-part1(2);
- let NhopPUSCH=2, and denote Nsymb,PUSCHhop(1), Nsymb,PUSCHhop(2) as the number of OFDM symbols of the PUSCH in the first and second hop, respectively;
- N is the number of transmission layers of the PUSCH; L
If frequency hopping is not configured for the PUSCH,
- denote l(1) as the OFDM symbol index of the first OFDM symbol after the first set of consecutive OFDM symbol(s) carrying DMRS;
- denote lCSI(1) as the OFDM symbol index of the first OFDM symbol that does not carry DMRS;
- if HARQ-ACK is present for transmission on the PUSCH, let GACK(1)=GACK;
if the number of HARQ-ACK information bits to be transmitted on PUSCH is 0, 1 or 2 bits
the number of reserved resource elements for potential HARQ-ACK transmission is calculated according to Subclause 6.3.2.4.1.1, by setting
O
ACK= 2
;denote GrvdACK as the number of coded bits for potential HARQ-ACK transmission using the reserved resource elements;
if frequency hopping is configured for the PUSCH, let GrvdACK(1)=NL⋅Qm⋅GrvdACK/ 2
(
⋅NL⋅Qm)
and( )
ACK ACK
rvd (2) L m rvd / 2 L m
G =N ⋅Q ⋅G ⋅N ⋅Q ;
if frequency hopping is not configured for the PUSCH, let GrvdACK(1)=GrvdACK;
denote Φlrvd as the set of reserved resource elements for potential HARQ-ACK transmission, in OFDM symbol l, for l=0 ,1 ,2,...,Nsymb,PUSCHall−1;
Set mcountACK
( 1 )
=0
;Set mcountACK
( 2 )
=0
;∅
=
Φlrvd for l=0 ,1 ,2,...,Nsymb,PUSCHall−1;
for i=
1
to NhopPUSCH)
l(i
l= ;
while mcountACK
( )
i <GrvdACK( )
i ifM
scUCI( ) l > 0
if
G
rvdACK( ) i − m
countACK( ) i ≥ M
scUCI( ) l N Q ⋅
L⋅
m=1 d ;
( )
RE UL-SCH
count sc
m =M l ; end if
if
G
rvdACK( ) i − m
countACK( ) i < M
scUCI( ) l N Q ⋅
L⋅
m( ) ( )
UCI ACK ACK
sc L m rvd ( ) count( )
d=M l ⋅N ⋅Q G i −m i ;
( ) ( )
RE ACK ACK
count rvd ( ) count( ) / L m
m =G i −m i N ⋅Q ; end if
for j=0 to
m
countRE− 1
( )
{ }
rvd rvd UL-SCH
l l l j d
Φ = Φ U Φ ⋅
m
L Q
N i m i
mcountACK
( )
= countACK( )
+ ⋅ ; end forend if
+
1
= l l ; end while end for else
∅
=
Φlrvd for l=0 ,1 ,2,...,Nsymb,PUSCHall−1;
end if
Denote Msc,Φrvd
( )
l = Φlrvd as the number of elements in Φlrvd.Step 2:
if HARQ-ACK is present for transmission on the PUSCH and the number of HARQ-ACK information bits is more than 2,
Set mcountACK
( 1 )
=0
; Set mcountACK( 2 )
=0
; Setm
count,ACKall= 0
; for i=1
to NhopPUSCH)
l(i
l= ;
while
m
countACK( i ) < G
ACK( i )
if
M
scUCI( ) l > 0
if
G
ACK( ) i − m
countACK( ) i ≥ M
scUCI( ) l N Q ⋅
L⋅
m=1 d ;
( )
RE UCI
count sc
m =M l ; end if
if
G
ACK( ) i − m
countACK( ) i < M
scUCI( ) l N Q ⋅
L⋅
m( ) ( )
UCI ACK ACK
sc L m ( ) count( )
d=M l ⋅N ⋅Q G i −m i ;
( ) ( )
G i m i NL Qm
mcountRE = ACK()− countACK() / ⋅ ; end if
for j=0 to
m
countRE− 1 ( )
UCI
k= Φl j d⋅ ; for v=
0
to NL⋅Qm−1
ACK ,
, ACK
all count,
v m k
l
g
g =
;ACK
1
count,all ACK
count,all
= m +
m
;1 ) ( )
(
countACKACK
count i =m i +
m ;
end for end for
UCI , l tmp
Φ =∅
;for j=0 to
m
countRE− 1
( )
UCI UCI UCI
, ,
l tmp l tmp l
j d
Φ = Φ U Φ ⋅
;end for
UCI UCI UCI
\
,l l l tmp
Φ = Φ Φ
;UL-SCH UL-SCH UCI
\
,l l l tmp
Φ = Φ Φ
;( )
UCI UCI
sc l
M l = Φ ;
( )
UL-SCH UL-SCH
sc l
M l = Φ ;
end if +
1
= l l ; end while end for end if
Step 3:
if CSI is present for transmission on the PUSCH, Set mCSIcount-part1
( 1 )
=0
;Set mcountCSI-part1
( 2 )
=0
; Setm
count,allCSI-part1= 0
; for i=1
to NhopPUSCHl(i)
l= CSI;
while MscUCI
( )
l −Msc, rvdΦ( )
l ≤0
+
1
= l l ; end while
while
m
countCSI-part1( i ) < G
CSI-part1( i )
end if +
1
= l l ; end while end for
Set mcountCSI-part2
( 1 )
=0
; Set mcountCSI-part2( 2 )
=0
; Setm
CSIcount,-part2all= 0
; for i=1
to NhopPUSCHl(i)
l= CSI;
while
M
scUCI( ) l ≤ 0
+
1
= l l ; end while
while
m
countCSI-part2( i ) < G
CSI-part2( i )
if
M
scUCI( ) l > 0
if
G
CSI-part2( ) i − m
countCSI-part2( ) i ≥ M
scUCI( ) l N Q ⋅
L⋅
m=1 d ;
( )
RE UCI
count sc
m =M l ; end if
if
G
CSI-part2( ) i − m
countCSI-part2( ) i < M
scUCI( ) l N Q ⋅
L⋅
m( ) ( )
UCI CSI-part2 CSI-part2
sc L m ( ) count ( )
d=M l ⋅N ⋅Q G i −m i ;
( ) ( )
G i m i NL Qm
mcountRE = CSI-part2()− countCSI-part2() / ⋅ ; end if
for j=0 to
m
countRE− 1 ( )
UCI
k= Φl j d⋅ ; for v=
0
to NL⋅Qm−1
part2 -CSI ,
, CSI-part2
all count,
v m k
l
g
g =
;part2
1
-CSI
all count, part2
-CSI
all
count,
= m +
m
;1
if UL-SCH is present for transmission on the PUSCH, Set mcountUL−SCH=
0
;end if end for end if
Step 5:
if HARQ-ACK is present for transmission on the PUSCH and the number of HARQ-ACK information bits is no more than 2,
Set mcountACK
( 1 )
=0
; Set mcountACK( 2 )
=0
; Setm
count,ACKall= 0
; for i=1
to NhopPUSCH)
l(i
l= ;
while
m
countACK( i ) < G
ACK( i )
if Msc, rvdΦ
( )
l >0
if GACK
( )
i −mcountACK( )
i ≥Msc, rvdΦ( )
l ⋅N QL⋅ m=1 d ;
( )
RE
count sc, rvd
m =MΦ l ; end if
if GACK
( )
i −mcountACK( )
i <Msc, rvdΦ( )
l ⋅N QL⋅ m( ) (
ACK ACK)
sc, rvd L m ( ) count( )
d=MΦ l ⋅N ⋅Q G i −m i ;
( ) ( )
G i m i NL Qm
mcountRE = ACK()− countACK() / ⋅ ; end if
for j=0 to
m
countRE− 1 ( )
rvd
k= Φl j d⋅ ; for v=
0
to NL⋅Qm−1
ACK ,
, ACK
all count,
v m k
l
g
g =
;ACK
1
count,all ACK
count,all
= m +
m
;1 ) ( )
(
countACKACK
count i =m i +
m ;
end for
end for end if
+
1
= l l ; end while end for end if
Step 6:
Set t=
0
;for l=
0
to Nsymb,PUSCHall−1 for j=0 to MscUL-SCH( )
l −1( )
UL-SCH
k= Φl j ; for v=
0
to NL⋅Qm−1
v k l
t g
g = , , ; +
1
= t t ; end for end for end for