Documentation

ltePHICHPrecode

PHICH precoding

Syntax

  • out = ltePHICHPrecode(in,cp,ngroup)
    example
  • out = ltePHICHPrecode(enb,ngroup,in)

Description

example

out = ltePHICHPrecode(in,cp,ngroup) precodes the N-by-NU matrix of layers, in, onto P=NU antennas, given cyclic prefix length, cp, and PHICH group, ngroup. It performs PHICH precoding according to TS 36.211, Section 6.9.2 [1]. This function returns an M-by-P matrix, where P is the number of transmission antennas and M is the number of symbols per antenna.

out = ltePHICHPrecode(enb,ngroup,in) precodes the N-by-NU matrix of layers, in, onto P=NU antennas for PHICH group, ngroup, using the cell-wide settings structure, enb.

Examples

collapse all

Precode PHICH symbols

This example shows precoding of an arbitrary set of PHICH symbols for reference measurement channel (RMC) R.11, PHICH group 1.

Initialize a cell-wide parameter configuration structure, enb, for RMC R.11

rc = 'R.11';
enb = lteRMCDL(rc);
nLayers = enb.PDSCH.NLayers;

Generate an arbitrary set of input symbols as the PHICH symbols

re = randi([0,1], 40, nLayers);
im = randi([0,1], 40, nLayers);
symbols = complex(re, im);

Precode the PHICH symbols using normal cyclic prefix (set in enb.CyclicPrefix as per R.11), and PHICH group 1

nGroup = 1;
precodedSym = ltePHICHPrecode(symbols ,enb.CyclicPrefix, nGroup);

Have a peek at the first 5 precoded symbols of the output, columns represent the number of transmit antennas, for this example there are two transmit antennas

precodedSym(1:5, :)
ans =

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

Input Arguments

collapse all

in — PHICH input symbolscomplex-valued numeric matrix

PHICH input symbols, specified as a complex-valued numeric matrix. in is a matrix of N-by-NU layers.

Data Types: double
Complex Number Support: Yes

cp — Cyclic prefix length'Normal' | 'Extended'

Cyclic prefix length, specified as a string.

Data Types: char

ngroup — PHICH grouppositive scalar integer

PHICH group number, specified as a positive scalar integer of 1 or more.

Data Types: double

enb — Cell-wide settingsscalar structure

Cell-wide settings, specified as a scalar structure. enb can contain the following field.

Parameter FieldRequired or OptionalValuesDescription
CyclicPrefixOptional

'Normal' (default), 'Extended'

Cyclic prefix length

Data Types: struct

Output Arguments

collapse all

out — Precoded outputnumeric matrix

Precoded output, returned as a numeric matrix of size M-by-P. M is the number of symbols per antenna and P is the number of transmission antennas.

Data Types: double
Complex Number Support: Yes

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?