Main Content

ltePUCCH1Indices

PUCCH format 1 resource element indices

Description

ind = ltePUCCH1Indices(ue,chs) returns a matrix of resource element (RE) indices for the physical uplink control channel (PUCCH) format 1 transmission, given structures containing the UE-specific settings, and the channel transmission configuration.

example

[ind,info] = ltePUCCH1Indices(ue,chs) also returns a PUCCH information structure array.

example

[___] = ltePUCCH1Indices(ue,chs,opts) formats the returned indices using options specified by opts.

This syntax supports output options from prior syntaxes.

example

Examples

collapse all

Generate PUCCH format 1 RE indices for a 1.4 MHz bandwidth, PUCCH resource index 0. Use default values for all other parameters.

Initialize UE-specific and channel configuration structures (ue and chs). Generate PUCCH format 1 indices (ind).

ue.NULRB = 6;
ue.CyclicPrefixUL = 'Normal';

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

ind = ltePUCCH1Indices(ue,chs);
ind(1:4)
ans = 4x1 uint32 column vector

   1
   2
   3
   4

Generate the physical uplink control channel (PUCCH) format 1 indices for three transmit antenna paths, and display the information structure output.

Initialize UE-specific and channel configuration structures. Generate PUCCH 1 indices and information outputs.

ue.NULRB = 6;
ue.CyclicPrefixUL = 'Normal';
ue.Shortened = 0;

chs.ResourceIdx = [0 129 2];
chs.ResourceSize = 0;
chs.DeltaShift = 1;
chs.CyclicShifts = 0;

[ind,info] = ltePUCCH1Indices(ue,chs);

Because there are three antennas, the indices are output as a three-column vector, and the info output structure contains three elements. View ind and the size of info to confirm this.

ind(1:5,:)
ans = 5x3 uint32 matrix

      1   1057   2017
      2   1058   2018
      3   1059   2019
      4   1060   2020
      5   1061   2021

size(info)
ans = 1×2

     1     3

View the contents of one of the info structure elements.

info(3)
ans = struct with fields:
    PRBSet: [0 5]
     RBIdx: 0

Generate the physical uplink control channel (PUCCH) format 1 indices for two transmit antenna paths and output in subscript indexing form.

Initialize UE-specific and channel configuration structures (ue and chs) and the indexing option parameter, opt. Generate PUCCH1 indices and information outputs (ind and info).

ue.NULRB = 6;
ue.CyclicPrefixUL = 'Normal';

chs.ResourceIdx = [0 4];
chs.ResourceSize = 0;
chs.DeltaShift = 1;
chs.CyclicShifts = 0;
chs.Shortened = 0;

[ind,info] = ltePUCCH1Indices(ue,chs,{'sub'});

Using 'sub' indexing style, the indices are output in [subcarrier, symbol, antenna] subscript form. View the midpoint of ind and observe the antenna index change.

size(ind)
ans = 1×2

   192     3

ind(94:99,:)
ans = 6x3 uint32 matrix

   70   14    1
   71   14    1
   72   14    1
    1    1    2
    2    1    2
    3    1    2

Because there are two antennas, the info output structure contains two elements. View the contents of the second info structure element.

size(info)
ans = 1×2

     1     2

info(2)
ans = struct with fields:
    PRBSet: [0 5]
     RBIdx: 0

Input Arguments

collapse all

UE-specific settings, specified as a structure containing these fields.

Number of uplink resource blocks, specified as a nonnegative integer.

Data Types: double

Cyclic prefix length for uplink channels, specified as 'Normal' or 'Extended'.

Data Types: char | string

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

Channel transmission configuration, specified as a structure containing these fields.

PUCCH resource indices, specified as an integer or a vector of integers. Values range from 0 to 2047. There is one index for each transmission antenna. These indices determine the cyclic shift and orthogonal cover used for transmission. (nPUCCH(1))

Size of resources allocated to PUCCH format 2, specified as an integer from 0 to 98. This parameter affects the location of this transmission. (NRB(2))

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

Number of cyclic shifts used for format 1 in RBs with a mixture of Format 1 and Format 2 PUCCH, specified as an integer from 0 to 7. (Ncs(1))

Output format options for resource element indices, specified as a character vector, cell array of character vectors, or string array. For convenience, you can specify several options as a single character vector or string scalar by a space-separated list of values placed inside the quotes. Values for opts when specified as a character vector include (use double quotes for string) :

Category Options Description

Indexing style

'ind' (default)

The returned indices are in linear index style.

'sub'

The returned indices are in [subcarrier,symbol,port] subscript row style.

Index base

'1based' (default)

The returned indices are one-based.

'0based'

The returned indices are zero-based.

Example: 'ind 1based', "ind 1based", {'ind','1based'}, or ["ind","1based"] specify the same formatting options.

Data Types: char | string | cell

Output Arguments

collapse all

PUCCH format 1 resource element indices, returned as an integer column vector or a three-column integer matrix. By default, the indices are returned in one-based linear indexing form that can directly index elements of a resource matrix. These indices are ordered according to PUCCH format 1 modulation symbol mapping as specified in TS 36.211 [1], Section 5.4. The opts input offers alternative indexing formats. The indices for each antenna are in the columns of ind, with the number of columns determined by the number of PUCCH resource indices specified in chs.ResourceIdx.

Example: [1,2,3,4...]

Data Types: uint32

PUCCH format 1 information, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.

Set of PRB indices, returned as a column vector or two-column matrix corresponding to the resource allocations.

  • When returned as a column integer vector, the resource allocation is the same in both slots of the subframe.

  • When returned as a two-column integer matrix, the resource allocations can vary for each slot in the subframe.

The PRB indices are zero-based.

Example: [0,5]

Data Types: double

PUCCH logical resource block index, returned as a nonnegative integer. (m)

Data Types: double

References

[1] 3GPP TS 36.211. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2014a