Documentation

ltePUCCH3DRSIndices

PUCCH format 3 DRS resource element indices

Syntax

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

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 option strings defined in a cell array, opts.

This syntax supports output options from prior syntaxes.

Examples

collapse all

Generate PUCCH Format 3 DM-RS Indices

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 =

         301
         302
         303
         304

Generate PUCCH Format 3 DM-RS Indices for Four Antennas

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,:)
size(info)
ans =

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


ans =

     1     4

View one of the info structure elements.

info(4)
ans = 

    PRBSet: [11 3]
     RBIdx: 22

Generate PUCCH Format 3 DM-RS Indices Varying Indexing Style

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)
ind(46:51,:)
size(info)
ans =

    96     3


ans =

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


ans =

     1     2

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

info(2)
ans = 

    PRBSet: [0 5]
     RBIdx: 0

Input Arguments

collapse all

ue — UE-specific settingsstructure

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

NULRB — Number of uplink resource blocksnonnegative integer

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

CyclicPrefixUL — Cyclic prefix length for uplink channels'Normal' (default) | optional | 'Extended'

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

Data Types: char

Data Types: struct

chs — Channel transmission configurationstructure

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

ResourceIdx — PUCCH resource indices0 (default) | optional | 0,...,549 | integer | vector of integers

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

opts — Output format options for element resource indices{'ind', '1based'} (default) | optional | string | cell array of strings

Output format options for element resource indices, specified as a string or a cell array of strings. You can specify a format for the Indexing style and Index base.

Category Options Description

Indexing style

'ind' (default)

The returned indices are in linear index form.

'sub'

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

Index base

'1based' (default)

Indices returned are one-based.

'0based'

Indices returned are zero-based.

Example: {'sub','0based'} returns zero-based indices in subscript row form.

Output Arguments

collapse all

ind — Resource element indicesinteger column vector | three-column integer matrix

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

info — PUCCH format 3 DRS informationstructure array

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

PRBSet — Indices occupied by PRB in each slot of subframenonnegative integer vector

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

Example: [0,5]

RBIdx — PUCCH logical resource block indexnonnegative integer

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

Data Types: struct

Introduced in R2014a

Was this topic helpful?