Main Content

ltePUSCH

Physical uplink shared channel

Description

sym=ltePUSCH(ue,chs,cws) returns a vector containing the Physical Uplink Shared Channel (PUSCH) complex symbols for UE-specific settings, ue, PUSCH channel-specific configuration, chs, and the codeword or codewords contained in cws. The size of the matrix sym is N-by-P. Where N is the number of modulation symbols for one antenna port and P is the number of transmission antennas.

example

Examples

collapse all

Generate PUSCH symbols for TS36.104 Uplink FRC A3-3 with 3MHz bandwidth.

Initialize UE specific (ue) and channel (pusch) configuration structures, and fixed reference channel (frc).

ue.NCellID = 1;
ue.NSubframe = 0;
ue.RNTI = 1;

pusch.Modulation = 'QPSK';
pusch.PRBSet = [0:14].';
pusch.RV = 0;

frc = lteRMCUL('A3-3');

Generate transport block (trBlk), UL-SCH codewords (cw), and PUSCH symbols (puschSym).

trBlk  = randi([0,1],frc.PUSCH.TrBlkSizes(1),1);
cw = lteULSCH(ue,pusch,trBlk );
puschSym = ltePUSCH(ue,pusch,cw);

Input Arguments

collapse all

UE-specific settings, specified as a structure having the following fields.

Parameter FieldRequired or OptionalValuesDescription
NCellIDRequired

Nonnegative integer

Physical layer cell identity

NSubframeRequired

Integer

Subframe number

RNTIRequired

Integer

Radio network temporary identifier (RNTI) value (16 bits)

NTxAntsOptional

1 (default), 2, 4

Number of transmission antennas.

Data Types: struct

PUSCH channel-specific configuration, specified as a structure having the following fields.

Parameter FieldRequired or OptionalValuesDescription
ModulationRequired'QPSK', '16QAM', '64QAM', or '256QAM'

Modulation format, specified as a character vector or string scalar for one codeword, or a cell array of character vectors or string array for two codewords.

PRBSetRequired

Integer column vector or two-column matrix

Physical Resource Block (PRB) indices, specified as a column vector or two-column matrix, corresponding to the slot wise resource allocations for this PUSCH.

If a column vector is provided for PRBSet, the resource allocation is the same in both slots of the subframe. The two-column matrix can be used to specify differing PRBs for each slot in a subframe. The PRB indices are zero-based.

NLayersOptional

1 (default), 2, 3, 4

Number of transmission layers.

The following field is required only when ue.NTxAnts is set to 2 or 4. Acceptable values for PMI depend upon ue.NTxAnts and NLayers.
PMIOptional

Numeric scalar (0...23)

0 (default)

Scalar precoder matrix indication (PMI) to be used during precoding

Data Types: struct

Codeword bit values to be modulated, specified as a vector of bit values for one codeword, or a cell array containing one or two vectors of bit values corresponding to the one or two codewords.

Data Types: double

Output Arguments

collapse all

PUSCH symbols, returned as a complex-valued numeric matrix of size N-by-P. N is the number of modulation symbols for one antenna port. P is the number of transmission antennas.

Data Types: double
Complex Number Support: Yes

References

[1] 3GPP TS 36.104. “Evolved Universal Terrestrial Radio Access (E-UTRA); Base Station (BS) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2013b