Downlink precoding of transmission layers

- example
`out = lteDLPrecode(in,p,txscheme,codebook)`

`out = lteDLPrecode(enb,chs,in)`

performs
precoding according to [1],
section 6.3.4. This function returns a `out`

= lteDLPrecode(`in`

,`p`

,`txscheme`

,`codebook`

)*M*-by-*P* matrix,
where *P* is the number of transmission antennas
and *M* is the number of symbols per antenna. The
matrix returned is identical to the matrix returned by `ltePDSCH`

for the same set of parameters.
The overall operation of the precoder is the transpose of that defined
in the specification. The symbols for layers and antennas lie in columns
rather than rows.

This function performs precoding of the matrix of layers, `in`

,
onto *P* antennas, using the transmission scheme
specified by string `txscheme`

.

`in`

is an *N*-by-*NU* matrix,
consisting of the *N* modulation symbols for transmission
on *NU* layers. This matrix is generated using `lteLayerMap`

function.

`codebook`

is a scalar integer specifying
the codebook index to be used during precoding. This input argument
is ignored for the `'Port0'`

, `'TxDiversity'`

,
and `'CDD'`

transmission schemes. You can find codebook
matrix corresponding to a particular index can be found in [1],
section 6.3.4. Since `codebook`

is a scalar, this
syntax does not support subband precoding or multiple PMI mode.

[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.

[2] 3GPP TS 36.213. "Physical layer
procedures." *3rd Generation Partnership Project;
Technical Specification Group Radio Access Network; Evolved Universal
Terrestrial Radio Access (E-UTRA)*. URL: http://www.3gpp.org.

Was this topic helpful?