Generate PUSCH modulation symbols
returns physical uplink shared channel (PUSCH) modulation symbols, as defined in TS 38.211
Sections 6.3.1.1 to 6.3.1.5 [1]. The process consists of
scrambling with scrambling identity sym
= nrPUSCH(cw
,mod
,nLayers
,nid
,rnti
)nid
, performing symbol modulation
with modulation scheme mod
, and layer mapping. cw
specifies an uplink shared channel (UL-SCH) codeword, as described in TS 38.212 Section
6.2.7 [2].
nLayers
specifies the number of transmission layers.
rnti
is the radio network temporary identifier (RNTI) of the user
equipment (UE).
specifies transform precoding as a logical value in addition to the input arguments in the
first syntax. When sym
= nrPUSCH(___,transformPrecode
,mrb
)transformPrecode
is set to true
,
the function applies the transform precoding defined in TS 38.211 Section 6.3.1.4.
mrb
specifies the allocated number of PUSCH resource blocks.
specifies the transmission scheme in addition to the input arguments in the second syntax.
When sym
= nrPUSCH(___,txScheme
,nPorts
,tpmi
)txScheme
is set to 'codebook'
, the function
performs multi-input multi-output (MIMO) precoding based on the specified number of layers
nLayers
, number of antenna ports nPorts
, and the
transmitted precoding matrix indicator (TPMI) tpmi
.
[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[2] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.