Multiple codewords can be parameterized by two different forms
of the chs structure. Each codeword can be defined
by separate elements of a 1-by-2 structure array, or the codeword
parameters can be combined together in the fields of a single scalar,
or 1-by-1, structure. Any scalar field values apply to both codewords
and a scalar NLayers is the total number. For details,
see UL-SCH Parameterization .

If UCI control information, such as RI or HARQ-ACK, is present
in the received complex PUSCH symbols, then this function performs
the descrambling of the placeholder bits by establishing the correct
locations with the help of the UCI-related parameters present in chs.

sym is an M-by-P matrix
or M-by-NU matrix. Where M is
the number of symbols per antenna or layer, P is
the number of transmission antennas, NTxAnts, and NU is
the number of transmission layers, NLayers.

For a single-antenna transmission (NTxAnts
= 1), both P and NU are
1: sym must be M-by-1 and
contain the single-antenna PUSCH symbols for decoding.

When P is greater than 1 and sym is M-by-P:
Decoding is performed using pseudoinverse-based deprecoding for spatial
multiplexing.

When P is greater than 1 and sym is M-by-NU: sym is
assumed to be deprecoded, so.decoding is performed without deprecoding.
For example, by having performed channel estimation against the transmit
layer DRS sequences and equalizing the received symbols using that
channel estimate to yield sym.

Note

This function does apply deprecoding. when the need for deprecoding
is ambiguous, such as when P>1 and P=NU.

[cws,symbols]
= ltePUSCHDecode(ue,chs,sym,hest,noiseest) uses
additional inputs (hest,noiseest).
The channel estimate, hest, and the noise estimate noiseest.
In this case, sym is an M-by-NRxAnts matrix,
where M is the number of symbols per antenna and NRxAnts is
the number of receive antennas. When ue.NTxAnts is
greater than 1, the reception is performed using an MMSE equalizer,
equalizing between transmitted and received layers. When ue.NTxAnts is
1, the reception is performed using MMSE equalization on the received
antennas.

[cws,symbols]
= ltePUSCHDecode(ue,chs,sym,hest,noiseest,alg) provides
control over weighting the output soft bits with Channel State Information
(CSI) calculated during the equalization stage using algorithmic configuration
structure, alg.

Input Arguments

ue — UE-specific settingsstructure

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

Parameter Field

Required or Optional

Values

Description

NCellID

Required

Integer

Physical layer cell identity

NSubframe

Required

0 (default), nonnegative scalar integer

Subframe number

RNTI

Required

0 (default), scalar integer

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

CyclicPrefixUL

Optional

'Normal' (default), 'Extended'

Cyclic prefix length.

NTxAnts

Optional

1 (default), 2, 4

Number of transmission antennas.

Shortened

Optional

0 (default), 1

Option to shorten the subframe by omitting the last symbol,
specified as 0 or 1. If 1, the last symbol of the
subframe is not used. For subframes with possible SRS transmission,
set Shortened to 1 to maintain a standard compliant
configuration.

Channel transmission configuration, specified as a scalar structure
or a structure array. chs is the PUSCH channel-specific
structure having these fields. If UCI is present
in the transmitted PUSCH to be decoded, the optional fields, ORI, OACK,
QdRI, and QdACK,must be configured
in the chs structure.

Parameter Field

Required or Optional

Values

Description

Modulation

Required

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

Modulation format

PRBSet

Required

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.

NLayers

Optional

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.

PMI

Optional

Numeric scalar (0...23)

0 (default)

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

ORI

Optional

Integer

0 (default)

Number of uncoded RI bits

OACK

Optional

nonnegative scalar integer, 0 (default)

Number of uncoded HARQ-ACK bits.

QdRI

Optional

Integer

0 (default)

Number of coded RI symbols in UL-SCH, specified as an
integer. Optional. (Q'_RI)

QdACK

Optional

nonnegative scalar integer

0
(default)

Number of coded HARQ-ACK symbols in UL-SCH (Q'_ACK),
specified as an integer. Optional.

Data Types: struct

sym — PUSCH symbolscomplex-valued numeric matrix

PUSCH symbols, specified as a complex-valued numeric matrix
of size M-by-P or M-by-NU.
Where M is the number of symbols per antenna or
layer, P is the number of transmission antennas, NTxAnts,
and NU is the number of transmission layers, NLayers.

Data Types: doubleComplex Number Support: Yes

hest — Channel estimate3-D numeric array

Channel estimate, specified as a 3-D numeric array of size M-by-NRxAnts-by-NTxAnts.
Where M is the number of symbols per antenna, NRxAnts is
the number of receive antennas, and NTxAnts is
the number of transmit antennas ports, given by ue.NTxAnts.

Data Types: double

noiseest — Noise estimatenumeric scalar

Noise estimate, specified as a numeric scalar. This argument
is an estimate of the noise power spectral density per RE on received
subframe. The lteULChannelEstimate function
provides such an estimate.

Data Types: double

alg — Algorithmic configurationstructure

Algorithmic configuration, specified as a structure having the
following field.

Parameter Field

Required or Optional

Values

Description

CSI

Optional

'On' (default), 'Off'

Flag provides control over weighting the soft values that are
used to determine the output values with the channel state information
(CSI) calculated during the equalization process. If 'On',
soft values are weighted by CSI.