ltePHICHPrecode

PHICH precoding

Syntax

out = ltePHICHPrecode(in,cp,ngroup)
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

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.

phichSym = reshape(lteSymbolModulate(randi([0,1],40*nLayers*2,1), ...
    'QPSK'),40,nLayers);

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

nGroup = 1;
precodedSym = ltePHICHPrecode(phichSym ,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 = 5×2 complex

  -0.5000 - 0.5000i  -0.5000 - 0.5000i
   0.5000 - 0.5000i  -0.5000 + 0.5000i
   0.5000 - 0.5000i   0.5000 - 0.5000i
  -0.5000 - 0.5000i   0.5000 + 0.5000i
  -0.5000 + 0.5000i   0.5000 + 0.5000i

Input Arguments

collapse all

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

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

Data Types: char | string

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

Data Types: double

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

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