lteDLPrecode

Syntax

``out = lteDLPrecode(in,ntxants,txscheme,codebook)``
``out = lteDLPrecode(enb,chs,in)``

Description

example

````out = lteDLPrecode(in,ntxants,txscheme,codebook)` performs precoding according to TS 36.211 [1], Section 6.3.4. The `out` 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 the matrix 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 `txscheme`. For transmission scheme precoding dependencies, see Algorithms.```
````out = lteDLPrecode(enb,chs,in)` precodes the matrix of layers, `in`, according to cell-wide settings `enb` and channel transmission configurations `chs`.```

Examples

collapse all

Perform downlink precoding using an identity matrix as input.

By precoding an identity matrix, you can gain access to the precoding matrices. Obtain the precoding matrix having codebook index 1 for three layers and four antennas.

`out = lteDLPrecode(eye(3),4,'SpatialMux',1).'`
```out = 4×3 complex 0.2887 + 0.0000i 0.0000 - 0.2887i -0.2887 + 0.0000i 0.0000 + 0.2887i 0.2887 + 0.0000i 0.0000 + 0.2887i -0.2887 + 0.0000i 0.0000 - 0.2887i 0.2887 + 0.0000i 0.0000 - 0.2887i 0.2887 + 0.0000i 0.0000 - 0.2887i ```

Input Arguments

collapse all

Input layers, specified as an NSYM-by-v matrix, consisting of the NSYM modulation symbols for transmission on v layers. Generate this matrix using `lteLayerMap`.

Data Types: `double`
Complex Number Support: Yes

Number of antennas, specified as a positive integer.

Data Types: `double`

PDSCH transmission scheme, specified as one of the following options.

Transmission schemeDescription
`'Port0'`Single antenna port, port 0
`'TxDiversity'`Transmit diversity
`'CDD'`Large delay cyclic delay diversity scheme
`'SpatialMux'`Closed loop spatial multiplexing
`'MultiUser'`Multi-user MIMO
`'Port5'`Single-antenna port, port 5
`'Port7-8'`Single-antenna port, port 7, when `NLayers` = 1. Dual layer transmission, ports 7 and 8, when `NLayers` = 2.
`'Port8'`Single-antenna port, port 8
`'Port7-14'`Up to eight layer transmission, ports 7–14

Data Types: `char` | `string`

Codebook index to select the precoding matrix, specified as an integer from 0 to 15. This input is ignored for the `'Port0'`, `'TxDiversity'`, and `'CDD'` transmission schemes. Find the precoding matrix corresponding to a particular codebook index in the TS 36.211 [1], Section 6.3.4. Since codebook is a scalar, the syntax that includes this parameter does not support subband precoding or multiple PMI mode. In the case of `'TxDiversity'` and `P=1`, the function falls back to single port processing.

Data Types: `double`

eNodeB cell-wide settings, specified as a structure containing these parameter fields:

Parameter FieldRequired or OptionalValuesDescription
When `chs`.`TxScheme` is set to `'TxDiversity'`, `'CDD'`, `'SpatialMux'`, or `'MultiUser'`, these parameters are applicable:
`CellRefP`Required

1, 2, 4

Number of cell-specific reference signal (CRS) antenna ports

When `chs`.`TxScheme` is set to `'SpatialMux'`, or `'MultiUser'` and `chs`.`PMISet` is present, these parameters are applicable:.
`NCellID`Required

Integer from 0 to 503

Physical layer cell identity

`NSubframe`Required

0 (default), nonnegative scalar integer

Subframe number

`NDLRB`Required

Scalar integer from 6 to 110

Number of downlink resource blocks (${N}_{\text{RB}}^{\text{DL}}$)

`CFI`Required

1, 2, or 3
Scalar or if the CFI varies per subframe, a vector of length 10 (corresponding to a frame).

Control format indicator (`CFI`) value. In TDD mode, `CFI` varies per subframe for the RMCs (`'R.0', 'R.5', 'R.6', 'R.6-27RB', 'R.12-9RB'`)

`CyclicPrefix`Optional

`'Normal'` (default), `'Extended'`

Cyclic prefix length

`DuplexMode`Optional

`'FDD'` (default), `'TDD'`

Duplexing mode, specified as either:

• `'FDD'` for Frequency Division Duplex

• `'TDD'` for Time Division Duplex

When `DuplexMode` is set to `'TDD'`, these parameters are applicable:
`TDDConfig`Optional

0, 1 (default), 2, 3, 4, 5, 6

`SSC`Optional

0 (default), 1, 2, 3, 4, 5, 6, 7, 8, 9

Special subframe configuration (SSC)

Data Types: `struct`

Channel specific transmission configuration, specified as a structure that can contain the following parameter fields.

Parameter FieldRequired or OptionalValuesDescription
`TxScheme`Optional

`'Port0'` (default), `'TxDiversity'`, `'CDD'`, `'SpatialMux'`, `'MultiUser'`, `'Port5'`, `'Port7-8'`, `'Port8'`, `'Port7-14'`.

PDSCH transmission scheme, specified as one of the following options.

Transmission schemeDescription
`'Port0'`Single antenna port, port 0
`'TxDiversity'`Transmit diversity
`'CDD'`Large delay cyclic delay diversity scheme
`'SpatialMux'`Closed loop spatial multiplexing
`'MultiUser'`Multi-user MIMO
`'Port5'`Single-antenna port, port 5
`'Port7-8'`Single-antenna port, port 7, when `NLayers` = 1. Dual layer transmission, ports 7 and 8, when `NLayers` = 2.
`'Port8'`Single-antenna port, port 8
`'Port7-14'`Up to eight layer transmission, ports 7–14

When `chs`.`TxScheme` is set to `'SpatialMux'` or `'MultiUser'`, these parameters are applicable, include either `Codebookidx` or both `PMISet` and `PRBSet`:

`Codebookidx`Optional

Integer from 0 to 15

Codebook index used during precoding

`PMISet`Optional

Integer vector with element values from 0 to 15.

Precoder matrix indication (PMI) set. It can contain either a single value, corresponding to single PMI mode, or multiple values, corresponding to multiple or subband PMI mode. The number of values depends on CellRefP, transmission layers and TxScheme. For more information about setting PMI parameters, see `ltePMIInfo`.

`PRBSet`Optional

Integer column vector or two-column matrix

Zero-based physical resource block (PRB) indices corresponding to the slot wise resource allocations for this PDSCH. `PRBSet` can be assigned as:

• a column vector, the resource allocation is the same in both slots of the subframe,

• a two-column matrix, this parameter specifies different PRBs for each slot in a subframe,

• a cell array of length 10 (corresponding to a frame, if the allocated physical resource blocks vary across subframes).

PRBSet varies per subframe for the RMCs `'R.25'`(TDD), `'R.26'`(TDD), `'R.27'`(TDD), `'R.43'`(FDD), `'R.44'`, `'R.45'`, `'R.48'`, `'R.50'`, and `'R.51'`.

The fields `PMISet` and `PRBSet` determine the frequency-domain position that each precoded symbol in `out` occupies to apply the correct subband precoder when multiple PMI mode is being used. Alternatively, you can provide `CodebookIdx` field. `CodebookIdx` is a scalar specifying the codebook index to use across the entire bandwidth. Therefore, the `CodebookIdx` field does not support subband precoding. TS 36.213 [2], Section 7.2.4 specifies the relationship between PMI values and codebook indices.

Data Types: `struct`

Output Arguments

collapse all

Precoded downlink output, returned as an NSYM-by-P matrix. NSYM is the number of symbols per antenna, and P is the number of transmission antennas. The symbols for layers and antennas lie in columns rather than rows.

Data Types: `double`
Complex Number Support: Yes

Algorithms

For transmission schemes `'CDD'`, `'SpatialMux'`, and `'MultiUser'`, and degenerately `'Port0'`,

• Precoding involves multiplying a P-by-v precoding matrix, denoted as F, by a v-by-NSYM matrix, representing NSYM symbols on each of v transmission layers, to yield a P-by-NSYM matrix, consisting of NSYM precoded symbols on each of P antenna ports. Depending on the transmission scheme, the precoding matrix can be composed of multiple matrices multiplied together, but the size of the product, F, is always P-by-v.

For the `'TxDiversity'` transmission scheme,

• A P2-by-2v precoding matrix, F, is multiplied by a 2v-by-NSYM matrix, formed by splitting the real and imaginary components of a v-by-NSYM matrix of symbols on layers, to yield a P2-by-NSYM matrix of precoded symbols, which is then reshaped into a P-by-PNSYM matrix for transmission. As v = P for the `'TxDiversity'` transmission scheme, we can consider F be of size P2-by-2P rather than P2-by-2v.

For the other cases, specifically `'CDD'`, `'SpatialMux'`, and `'MultiUser'` transmission schemes with vP, and the `'TxDiversity'` transmission scheme with P = 4,

• The precoding matrix F is not square; it is rectangular with size P-by-v except for the `'TxDiversity'` transmission scheme with P = 4 where it is of size P2-by-(2P= 16)-by-8. The number of rows is always greater than the number of columns that is, the matrix F is size m-by-n with m-by-n.

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.

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

Version History

Introduced in R2014a