ltePHICHIndices

PHICH resource element indices

Description

ind = ltePHICHIndices(enb) returns the subframe resource element (RE) indices, ind, for the Physical Hybrid-ARQ Indicator Channels (PHICH), given the parameter fields of cell-wide settings structure, enb. By default, the number of rows of ind is the number of resource elements (NRE), and ind is an NRE-by-CellRefP matrix of indices in a one-based linear indexing style. These indices can directly index elements of an N-by-M-by-CellRefP array that represents the subframe resource grid across CellRefP antenna ports. Each column of ind identifies the same set of NRE resource elements, but with indices offset to select them in a different antenna “page” of the 3-D resource array.

The indices returned are for all PHICH groups in a subframe, where the number of groups depends on the bandwidth and PHICH Ng parameter. See ltePHICHInfo for details. The indices are ordered as the modulation symbols should be mapped for the set of consecutive PHICH groups. The PHICH resources are normally all assigned in the first OFDM symbol of a subframe, unless the PHICH duration is of the extended type.

example

ind = ltePHICHIndices(enb,opts) formats the returned indices using options specified by opts.

Examples

collapse all

Generate PHICH resource element (RE) indices in linear form and resource element group (REG) indices in subscript form.

Get one-based PHICH resource element (RE) indices in linear form.

enb = lteRMCDL('R.14');
enb.NDLRB = 6;
indOneBased = ltePHICHIndices(enb,{'ind','re'})
indOneBased = 12x4 uint32 matrix

      8   1016   2024   3032
      9   1017   2025   3033
     11   1019   2027   3035
     12   1020   2028   3036
     26   1034   2042   3050
     27   1035   2043   3051
     29   1037   2045   3053
     30   1038   2046   3054
     50   1058   2066   3074
     51   1059   2067   3075
      ⋮

Get zero-based PHICH resource element group (REG) indices in subscript form, where each column of ind corresponds to a dimension of the 3-D resource grid array: subcarrier, OFDM symbol, and antenna port.

indZeroBased = ltePHICHIndices(enb,{'0based','sub','reg'})
indZeroBased = 12x3 uint32 matrix

    6    0    0
   24    0    0
   48    0    0
    6    0    1
   24    0    1
   48    0    1
    6    0    2
   24    0    2
   48    0    2
    6    0    3
      ⋮

Input Arguments

collapse all

Cell-wide settings, specified as a scalar structure. enb can contain the following fields. The TDDConfig and NSubframe parameter fields are only required if DuplexMode is set to 'TDD'.

Number of downlink resource blocks, specified as a positive integer.

Data Types: double

Physical layer cell identity, specified as a nonnegative integer.

Data Types: double

Cyclic prefix length, specified as 'Normal' or 'Extended'.

Data Types: char | string

Number of cell-specific reference signal antenna ports, specified as 1, 2, or 4.

Data Types: double

HICH group multiplier, specified as 'Sixth', 'Half', 'One', or 'Two'.

Data Types: char | string

PHICH duration, specified as 'Normal' or 'Extended'.

Data Types: char | string

Duplex mode, specified as 'FDD' or 'TDD'.

Data Types: char | string

Uplink or downlink configuration, specified as a nonnegative scalar integer from 0 through 6. Only required if DuplexMode is set to 'TDD'.

Data Types: double

Subframe number, specified as a nonnegative integer. Only required if DuplexMode is set to 'TDD'.

Data Types: double

Data Types: struct

Output format and index base of generated indices, specified as a character vector, a cell array of character vectors, or a string array. You can specify these options as a single character vector or string scalar by a space-separated list of values placed inside quotation marks. This field can contain any of these values:

OptionValuesDescription
Output format'ind' (default), 'sub'Output format of generated indices, specified as 'ind' or 'sub'. The function returns the indices as a column vector when you specify 'ind'. The function returns the indices as an NRE-by-3 matrix when you specify 'sub', where NRE is the number of resource elements. Each row of the matrix contains the subcarrier, symbol, and antenna port as its first, second, and third entries, respectively.
Index base'1based' (default), '0based'Index base, specified as '1based' or '0based'. To generate indices whose first value is 1, specify '1based'. To generate indices whose first value is 0, specify '0based'.
Indexing unit're' (default), 'reg'Unit of the returned indices specified as 're' or 'reg'. To indicate that the returned values correspond to individual resource elements (REs), specify 're'. To indicate that the returned values correspond to resource element groups (REGs), specify 'reg'.

Example: 'ind 0based', "ind 0based", {'ind','0based'}, and ["ind","0based"] specify the same output options.

Data Types: char | string | cell

Output Arguments

collapse all

PHICH resource element indices, returned as a numeric matrix. The size of the matrix is NRE-by-CellRefP. By default, it contains one-based linear indexing RE indices.

Data Types: uint32

Introduced in R2014a