ltePHICH
Physical hybrid ARQ indicator channel
Description
[
returns
a matrix, sym
] = ltePHICH(enb
,hiset
)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.
Examples
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,[])
sym = 24×1 complex
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 = struct with fields:
NREG: 6
NRE: 24
NPHICH: 16
NGroups: 2
NMappingUnits: 2
NSequences: 8
PHICHDuration: 1
ActiveHISet: []
sizeSym = size(sym)
sizeSym = 1×2
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])
sym = 24×1 complex
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
⋮
sizeSym = size(sym)
sizeSym = 1×2
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]])
sym = 24×1 complex
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 = struct with fields:
NREG: 6
NRE: 24
NPHICH: 16
NGroups: 2
NMappingUnits: 2
NSequences: 8
PHICHDuration: 1
ActiveHISet: [2x3 double]
sizeSym = size(sym)
sizeSym = 1×2
24 1
The result remains an NRE-by-CellRefP matrix.
Input Arguments
enb
— Cell-wide settings
scalar structure
Cell-wide settings, specified as a scalar structure. enb
contains
the following fields.
NDLRB
— Number of downlink resource blocks
positive integer
Number of downlink resource blocks, specified as a positive integer.
Data Types: double
NCellID
— Physical layer cell identity
nonnegative integer
Physical layer cell identity, specified as a nonnegative integer.
Data Types: double
CellRefP
— Number of cell-specific reference signal antenna ports
1 | 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
| string
NSubframe
— Subframe number
nonnegative integer
Subframe number, specified as a nonnegative integer.
Data Types: double
Ng
— HICH group multiplier
'Sixth'
| 'Half'
| 'One'
| 'Two'
HICH group multiplier, specified as 'Sixth'
, 'Half'
, 'One'
,
or 'Two'
.
Data Types: char
| string
DuplexMode
— Duplex mode
'FDD'
(default) | optional | 'TDD'
Duplex mode, specified as 'FDD'
or 'TDD'
.
Data Types: char
| string
TDDConfig
— Uplink or downlink configuration
0 (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 set
numeric 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
sym
— PHICH symbols
numeric 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 symbols
scalar 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 PHICH
positive 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 PHICH
positive integer
Number of resource elements assigned to all PHICH, returned as a positive integer.
Data Types: uint64
NPHICH
— Number of individual PHICH available
positive integer
Number of individual PHICH available, returned as a positive integer.
Data Types: uint64
NGroups
— Number of PHICH groups
positive integer
Number of PHICH groups, returned as a positive integer.
Data Types: int8
NMappingUnits
— Number of PHICH mapping units
positive integer
Number of PHICH mapping units, returned as a positive integer.
Data Types: int8
NSequences
— Number of orthogonal sequences in each PHICH group
positive integer
Number of orthogonal sequences in each PHICH group, returned as a positive integer.
Data Types: int8
PHICHDuration
— PHICH duration
integer
PHICH duration, returned as an integer.
Data Types: int8
ActiveHISet
— Active HARQ indicator set
matrix | [ ]
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 NGroup
≥ info
.NGroups
.
If hiset
is empty, ActiveHISet
is
returned as an empty matrix, [ ].
Data Types: int8
Data Types: struct
More About
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. “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
See Also
ltePHICHDecode
| ltePHICHPrecode
| ltePHICHIndices
| ltePHICHInfo
| ltePHICHPRBS
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)