# ltePUCCH1Decode

Physical uplink control channel format 1 decoding

## Description

example

ack = ltePUCCH1Decode(ue,chs,oack,sym) returns a vector of hybrid-ARQ (HARQ) indicator values, ack, obtained by performing PUCCH Format 1 decoding of the complex matrix sym. The decoder uses a maximum likelihood (ML) approach, assuming that sym has already been equalized to best restore the original transmitted complex values. The symbols for each antenna are in the columns of sym. The number of columns in sym should match the number of PUCCH resource indices specified in the structure chs.

The output argument ack is a vector containing oack hybrid-ARQ indicator values.

## Examples

collapse all

Decoding of a PUCCH Format 1b received symbol vector pucch1Sym.

Initialize a UE-specific configuration structure (ue), channel configuration structure (chs) and ACK vector (txAck)

ue.NCellID = 0;
ue.NSubframe = 0;
ue.CyclicPrefixUL = 'Normal';
ue.Hopping = 'Off';
ue.Shortened = 0;

chs.DeltaShift = 1;
chs.ResourceIdx = 0;
chs.CyclicShifts = 0;

txAck = [0;1];

Generate PUCCH symbols. Then decode the symbols and verify that the Rx ACK vector matches the Tx ACK vector.

pucch1Sym = ltePUCCH1(ue,chs,txAck);

rxAck = ltePUCCH1Decode(ue,chs,length(txAck),pucch1Sym)
rxAck = 2x1 logical array

0
1

## Input Arguments

collapse all

UE-specific configuration settings, specified as a structure that can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
NCellIDRequired

Integer from 0 to 503

Physical layer cell identity

NSubframeRequired

0 (default), nonnegative scalar integer

Subframe number

CyclicPrefixULOptional

'Normal' (default), 'Extended'

Cyclic prefix length

HoppingOptional

'Off' (default), 'Group'

Frequency hopping method.

ShortenedOptional

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.

Data Types: struct

PUCCH channel settings, specified as a structure that can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
ResourceIdxOptional

0 (default), integer from 0 to 2047 or vector of integers.

PUCCH resource indices, specified as an integer or a vector of integers. Values range from 0 to 2047. These indices determine the physical resource blocks, cyclic shift and orthogonal cover used for transmission. (${n}_{PUCCH}^{\left(1\right)}$). Define one index for each transmission antenna.

DeltaShiftOptional

1 (default), 2, 3

Delta shift, specified as 1, 2, or 3. (Δshift)

DeltaOffsetOptional

0 (default), 1, 2

(Δoffset). Warning: The use of this parameter field is not advised. It applies only to 3GPP releases preceding v8.5.0. This parameter will be removed in a future release.

CyclicShiftsOptional

0 (default), integer from 0 to 7

Number of cyclic shifts used for format 1 in resource blocks (RBs) with a mixture of format 1 and format 2 PUCCH, specified as an integer from 0 to 7. (${N}_{cs}^{\left(1\right)}$)

Data Types: struct

Uncoded HARQ-ACK bits, specified as a nonnegative integer vector. oack specifies the number of Hybrid ARQ indicator values expected: 1 (PUCCH Format 1a) or 2 (PUCCH Format 1b).

Data Types: double

Symbols for each antenna, specified as complex numeric matrix. The number of columns in sym should match the number of PUCCH resource indices specified in the structure, chs.

Example: 0.25881 + 0.9659i

Data Types: double
Complex Number Support: Yes

## Output Arguments

collapse all

oack Hybrid ARQ indicator values, specified as a logical column vector or matrix. This vector is obtained by performing PUCCH Format 1 decoding of the complex matrix, sym. A Scheduling Request (SR), which is transmitted on PUCCH Format 1 (no ACK bits), can be detected by setting oack = 1; in this case the received Hybrid ARQ indicator value, ack, is expected to be zero.

If multiple decoded Hybrid ARQ indicator vectors have a likelihood equal to the maximum, ack is a matrix where each column represents one of the equally likely Hybrid ARQ indicator vectors. If a minimum likelihood threshold is not met, ack is empty.

Data Types: logical