HARQ-ACK channel encoding
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, out = lteACKEncode(chs,in)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.
[1] 3GPP TS 36.212. “Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.
lteACKDecode | lteCQIEncode | lteRIEncode | lteUCIEncode | lteULSCH | lteULSCHInterleave