ltePUCCH3DRSIndices

PUCCH format 3 DRS resource element indices

Syntax

ind = ltePUCCH3DRSIndices(ue,chs)
[ind,info] = ltePUCCH3DRSIndices(ue,chs)
[___] = ltePUCCH3DRSIndices(ue,chs,opts)

Description

example

ind = ltePUCCH3DRSIndices(ue,chs) returns a matrix of resource element indices for the demodulation reference signal (DRS) associated with PUCCH format 3 transmission given structures containing the UE-specific settings, and the channel transmission configuration settings.

example

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

example

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

This syntax supports output options from prior syntaxes.

Examples

collapse all

Generate PUCCH format 3 DM-RS RE indices for a 5 MHz bandwidth and PUCCH resource index 0.

Initialize UE-specific and channel configuration structures. Generate PUCCH format 3 DM-RS indices.

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

chs.ResourceIdx = 0;

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

   301
   302
   303
   304

Generate the PUCCH format 3 DM-RS indices for a 3 MHz bandwidth, and four transmit antenna paths. Display the output information structure.

Initialize UE-specific and channel configuration structures. Generate PUCCH 3 DM-RS indices and information outputs.

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

chs.ResourceIdx = [0 37 4 111];

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

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

ind(1:6,:)
ans = 6x4 uint32 matrix

    181   2833   5221   7873
    182   2834   5222   7874
    183   2835   5223   7875
    184   2836   5224   7876
    185   2837   5225   7877
    186   2838   5226   7878

size(info)
ans = 1×2

     1     4

View one of the info structure elements.

info(4)
ans = struct with fields:
    PRBSet: [11 3]
     RBIdx: 22

Generate the PUCCH format 3 DM-RS indices for two transmit antenna paths, and output in subscript indexing form.

Initialize UE-specific and channel configuration structures and the indexing option parameter. Generate PUCCH 3 DM-RS indices and information outputs.

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

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

[ind,info] = ltePUCCH3DRSIndices(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

    96     3

ind(46:51,:)
ans = 6x3 uint32 matrix

   70   13    1
   71   13    1
   72   13    1
    1    2    2
    2    2    2
    3    2    2

size(info)
ans = 1×2

     1     2

Because there are two antennas, the info output structure contains two elements. View one of the info structure elements.

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.

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

Data Types: char | string

Data Types: struct

Channel transmission configuration, specified as a structure containing the following fields.

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

Data Types: struct

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

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 3 DRS modulation symbol mapping. 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....

Data Types: uint32

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

Indices occupied by PRB in each slot of the subframe, returned as a nonnegative integer vector. The indices are zero-based.

Example: [0,5]

Data Types: double

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

Data Types: double

Data Types: struct

Introduced in R2014a