Documentation

ltePHICH

Physical hybrid ARQ indicator channel

Syntax

  • [sym] = ltePHICH(enb,hiset)
  • [sym,info] = ltePHICH(enb,hiset)
    example

Description

[sym] = ltePHICH(enb,hiset) returns a matrix, sym, of symbols generated by the set of physical hybrid ARQ indicator channels (PHICH) in a subframe, given the cell-wide settings configuration structure, enb, and HARQ indicator set, hiset. For more information, see PHICH Generation.

example

[sym,info] = ltePHICH(enb,hiset) also returns an info structure, containing control resourcing information about the output symbols.

Examples

collapse all

Generate PHICH Symbols

Generate physical HARQ indicator channel (PHICH) symbols for three different HARQ indicator (HI) sets. An HI set is comprised of the PHICH group index number, the sequence number within the group, and an ACK/NACK.

Create a cell-wide settings configuration structure with a single antenna (enb.CellRefP=1), normal CP, fifty downlink resource blocks (enb.NDLRB=50), and a one sixth HICH group multiplier (enb.Ng='Sixth'). For this system configuration, 16 PHICH are available. The available PHICH are split between two groups of eight sequences. The sequences are mapped to info.NRE=24 resource elements. Calling lteRMCDL with RMC R.7 provides the desired configuration structure.

Generate PHICH symbols with various HI set configurations.

PHICH Symbols for Empty HI Set

Generate ltePHICH output for an empty HI set.

enb = lteRMCDL('R.7');
[sym,info] = ltePHICH(enb,[])
sizeSym = size(sym)
sym =

   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i


info = 

             NREG: 6
              NRE: 24
           NPHICH: 16
          NGroups: 2
    NMappingUnits: 2
       NSequences: 8
    PHICHDuration: 1
      ActiveHISet: []


sizeSym =

    24     1

ltePHICH returns an NRE-by-CellRefP matrix of zeros. The transmission configuration is one antenna, as shown by the second dimension of the sym matrix. The info output structure is populated based on inputs to ltePHICH.

PHICH Symbols for Single HI Set

Modulate a NACK (hi=0) onto the third orthogonal sequence (nSeq=2) of the second group (nGroup=1). Generate PHICH symbols specifying the HI set as [nGroup=1 nSeq=2 hi=0].

enb = lteRMCDL('R.7');
sym = ltePHICH(enb,[1 2 0])
sizeSym = size(sym)
sym =

   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i


sizeSym =

    24     1

The result remains an NRE-by-CellRefP matrix.

PHICH Symbols for Multiple HI Sets

For the second PHICH, add an ACK (hi=1) on the last sequence (nSeq=7) of the first group (nGroup=0). Generate PHICH symbols specifying the HI sets as [[nGroup=1 nSeq=2 hi=0]; [nGroup=0 nSeq=7 hi=1]].

enb = lteRMCDL('R.7');
[sym,info] = ltePHICH(enb,[[1 2 0];[0 7 1]])
sizeSym = size(sym)
sym =

   0.7071 - 0.7071i
   0.7071 - 0.7071i
  -0.7071 + 0.7071i
   0.7071 - 0.7071i
   0.7071 - 0.7071i
  -0.7071 + 0.7071i
  -0.7071 + 0.7071i
  -0.7071 + 0.7071i
  -0.7071 + 0.7071i
  -0.7071 + 0.7071i
  -0.7071 + 0.7071i
  -0.7071 + 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i


info = 

             NREG: 6
              NRE: 24
           NPHICH: 16
          NGroups: 2
    NMappingUnits: 2
       NSequences: 8
    PHICHDuration: 1
      ActiveHISet: [2x3 double]


sizeSym =

    24     1

The result remains an NRE-by-CellRefP matrix.

Input Arguments

collapse all

enb — Cell-wide settingsscalar structure

Cell-wide settings, specified as a scalar structure. enb contains the following fields.

NDLRB — Number of downlink resource blockspositive integer

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

Data Types: double

NCellID — Physical layer cell identitynonnegative integer

Physical layer cell identity, specified as a nonnegative integer.

Data Types: double

CellRefP — Number of cell-specific reference signal antenna ports1 | 2 | 4

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

Data Types: double

CyclicPrefix — Cyclic prefix length'Normal' (default) | optional | 'Extended'

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

Data Types: char

NSubframe — Subframe numbernonnegative integer

Subframe number, specified as a nonnegative integer.

Data Types: double

Ng — HICH group multiplier'Sixth' | 'Half' | 'One' | 'Two'

HICH group multiplier, specified as a string.

Data Types: char

DuplexMode — Duplex mode'FDD' (default) | optional | 'TDD'

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

Data Types: char

TDDConfig — Uplink or downlink configuration0 (default) | optional | 1 | 2 | 3 | 4 | 5 | 6

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

Data Types: double

Data Types: struct

hiset — HARQ indicator setnumeric matrix | [ ]

HARQ indicator set, specified as an R-by-3 numeric matrix. R is the number of rows. Each row of hiset defines a single PHICH in terms of [nGroup,nSeq,hi].

  • nGroup is the PHICH group index number.

  • nSeq is the sequence index number within the group.

  • hi is 1 or 0 representing hybrid ARQ indicator ACK or NACK, respectively.

The nGroup and nSeq indices are zero-based. For more information, see PHICH Generation.

Data Types: double
Complex Number Support: Yes

Output Arguments

collapse all

sym — PHICH symbolsnumeric matrix

PHICH symbols, returned as an NRE-by-CellRefP numeric matrix. NRE is the number of resource elements, and CellRefP is the number of cell-specific reference signal antenna ports. Each column of sym contains the per-antenna symbols for the combined set of PHICHs. The output matrix, sym, always contains info.NRE symbols to map into the total PHICH resource allocation, even if less than the full set of NPHICH channels are configured. For more information, see PHICH Generation.

Data Types: double
Complex Number Support: Yes

info — PHICH subframe resourcing information about output symbolsscalar structure

PHICH subframe resourcing information about the output symbols, returned as a scalar structure. info contains the following fields. For background on the info structure, see ltePHICHInfo.

NREG — Number of resource element groups assigned to all PHICHpositive integer

Number of resource element groups assigned to all PHICH, returned as a positive integer.

Data Types: uint64

NRE — Number of resource elements assigned to all PHICHpositive integer

Number of resource elements assigned to all PHICH, returned as a positive integer.

Data Types: uint64

NPHICH — Number of individual PHICH availablepositive integer

Number of individual PHICH available, returned as a positive integer.

Data Types: uint64

NGroups — Number of PHICH groupspositive integer

Number of PHICH groups, returned as a positive integer.

Data Types: int8

NMappingUnits — Number of PHICH mapping unitspositive integer

Number of PHICH mapping units, returned as a positive integer.

Data Types: int8

NSequences — Number of orthogonal sequences in each PHICH grouppositive integer

Number of orthogonal sequences in each PHICH group, returned as a positive integer.

Data Types: int8

PHICHDuration — PHICH durationinteger

PHICH duration, returned as an integer.

Data Types: int8

ActiveHISet — Active HARQ indicator setmatrix | [ ]

Active HARQ indicator set, returned as an N-by-3 matrix. N is the number of rows with a valid hiset defined. ActiveHISet contains only rows that define a valid HARQ indicator set, even if the input hiset has rows in which NGroupinfo.NGroups. If hiset is empty, ActiveHISet is returned as an empty matrix, [ ].

Data Types: int8

Data Types: struct

More About

collapse all

PHICH Generation

The physical hybrid ARQ indicator channel (PHICH) processing includes the stages of BPSK modulation, orthogonal sequence spreading, scrambling, resource element group (REG) alignment, layer mapping, precoding, PHICH group summation, and mapping unit creation. For details, see TS 36.211 [1], Section 6.9.

The control region of a subframe can contain up to info.NPHICH separate PHICH, each carrying a single hybrid ARQ (HARQ) acknowledgment (ACK), or negative acknowledgment (NACK). Settings in the enb structure define NPHICH.

The input hiset specifies an R-by-3 matrix, configuring individual PHICH that are combined in the output. R is the number of rows. Each row of hiset defines a single PHICH in terms of [nGroup,nSeq,hi]. In the info structure fields, the following conditions apply for the sets of hybrid indicators defined:

  • nGroup < info.NGroups

  • nSeq < info.NSequences

To generate PHICH symbol, ltePHICH uses the rows of hiset in which nGroup < info.NGroups. These rows are present in info.ActiveHISet. Any other rows present in hiset are ignored.

References

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

Introduced in R2014a

Was this topic helpful?