Documentation

lteACKEncode

HARQ-ACK channel encoding

Syntax

Description

example

out = lteACKEncode(chs,in) returns the coded HARQ-ACK information bits after performing block coding defined for HARQ-ACK in TS 36.212 [1], Section 5.2.2.6 . The input argument, in, is a vector or cell array containing up to 20 HARQ-ACK information bits. The output argument, out, is the encoded bits in the same form.

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. See UL-SCH Parameterization for further details.

Since the HARQ-ACK bits are carried on all defined codewords, a single input results in a cell array of encoded outputs if multiple codewords are parameterized. This allows for easy integration with the other toolbox functions.

The HARQ-ACK coder performs different types of block coding depending upon the number of HARQ-ACK bits in vector in. If in consists of one element, it uses TS 36.212 [1], Table 5.2.2.6-1. If in consists of two elements, it uses TS 36.212 [1], Table 5.2.2.6-2 [1] for encoding. The placeholder bits, x and y in the referenced tables, are represented by –1 and –2, respectively.

Similarly, for between 3 and 11 bits, the HARQ-ACK encoding is performed as described in TS 36.212 [1], Section 5.2.2.6.4. For bits greater than 11, the encoding is performed as described in TS 36.212 [1], Section 5.2.2.6.5.

Examples

collapse all

Encode HARQ-ACK Channel with one codeword

Encode a HARQ-ACK information bit for one codeword with 16QAM modulation.

ackbit = 1;
chs.Modulation = '16QAM';
chs.QdACK = 1;
out1 = lteACKEncode(chs,ackbit)
Warning: Using default value for parameter field NLayers (1) 
Warning: Using default value for parameter field NBundled (0) 

out1 =

    1
   -2
   -1
   -1

Encode HARQ-ACK Channel with two codewords

Encode a HARQ-ACK information bit for two codewords with differing modulation schemes.

ackbit = 1;
chs.Modulation = {'16QAM' '64QAM'};
chs.NLayers = 2;
chs.QdACK = 1;
out2 = lteACKEncode(chs,ackbit)
Warning: Using default value for parameter field NBundled (0) 

out2 = 

    [4x1 int8]    [6x1 int8]

Input Arguments

collapse all

chs — PUSCH-specific channel transmission configurationscalar structure | structure array

PUSCH-specific channel transmission configuration, specified as a structure or a structure array, which contains the following parameter fields.

Parameter FieldRequired or OptionalValuesDescription
QdACKRequired

nonnegative scalar integer

Number of coded HARQ-ACK symbols for ACK or NACK (Q'_ACK)

ModulationRequired

('QPSK', '16QAM', '64QAM') String or cell array of strings.

Modulation type, specified as a string or cell array of strings. If 2 blocks, each cell is associated with a transport block.

NLayersOptional

1 (default), 2, 3, 4

Number of transmission layers, total or per codeword

NBundledOptional

0 (default), 1, …, 9

TDD HARQ-ACK bundling scrambling sequence index. When set to 0, the function disables the TDD HARQ-ACK bundling scrambling. Therefore, it is off by default.

in — HARQ-ACK information bitslogical vector of length 1 to 20 | cell array of logical vectors

HARQ-ACK information bits, specified as a logical vector or a cell array of logical vectors. Each vector can have a length of up to 20 information bits.

Data Types: logical | double | cell

Output Arguments

collapse all

out — Encoded HARQ-ACK information bitsinteger column vector | cell array of integer column vectors

Encoded HARQ-ACK information bits, returned as either an integer column vector or a cell array of integer column vectors. The encoded bits are in the same form as the input bits. Therefore, if the PUSCH-specific parameter structure, chs, defines multiple codewords, out is a cell array.

Data Types: int8 | cell

References

[1] 3GPP TS 36.212. "Multiplexing and channel coding." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

Introduced in R2014a

Was this topic helpful?