Documentation

ltePUSCH

Physical uplink shared channel

Syntax

Description

example

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.

Examples

collapse all

Create PUSCH Complex Symbols

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);
Warning: Using default value for parameter field CyclicPrefixUL (Normal) 
Warning: Using default value for parameter field Shortened (0) 
Warning: Using default value for parameter field NLayers (1) 
Warning: Using default value for parameter field NTxAnts (1) 
Warning: Using default value for parameter field NLayers (1) 

Note: The warning messages generated simply advise you that default values are available and being used for uninitialized parameters. To suppress warnings for defaulted lte parameter settings precede code with the command "lteWarning('off','DefaultValue')".

Input Arguments

collapse all

ue — UE-specific settingsstructure

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

chs — PUSCH channel-specific configurationstructure

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

Parameter FieldRequired or OptionalValuesDescription
ModulationRequired

'QPSK', '16QAM', '64QAM'

Modulation format, specified as a character string for one codeword or a cell array of one or more strings for one or 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

cws — Codeword bit valuesvector | cell array

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

sym — PUSCH symbolscomplex-valued numeric matrix

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. "Base Station (BS) radio transmission and reception." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

Introduced in R2013b

Was this topic helpful?