# Documentation

Multipath fading MIMO channel propagation conditions

## Syntax

• ``````[out,info] = lteFadingChannel(model,in)``````
example

## Description

example

``````[out,info] = lteFadingChannel(model,in)``` implements the MIMO multipath fading channel model, as specified in TS 36.101 [1] and TS 36.104 [2]. Each column of the input matrix, `in`, corresponds to the waveform at each of the transmit antennas. The transmitted waveform passes through the multipath Rayleigh fading channel model specified by the input structure `model`. The delay profile of `model` is resampled to match the input signal sampling rate. ```

## Examples

collapse all

### Transmit Two Consecutive Frames over Fading Channel

The first frame is transmitted at time t = 0 sec. Hence the channel is initialized with `InitTime` parameter of 0 sec. The second frame is transmitted at time t = 10 msec, hence the channel fading process has to be initialized to that value. This guarantees continuity of the fading process between the end of the first frame and the beginning of the second.

Initialize a resource grid to RMC R.10 and generate a transmit waveform for first frame. Initialize propagation channel configuration structure and set the start time for first frame. Pass first frame through the channel.

```rmc = lteRMCDL('R.10'); [txWaveform,txGrid,info] = lteRMCDLTool(rmc,[1;0;1]); ```
```chcfg.DelayProfile = 'EPA'; chcfg.NRxAnts = 1; chcfg.DopplerFreq = 5; chcfg.MIMOCorrelation = 'Low'; chcfg.SamplingRate = info.SamplingRate; chcfg.Seed = 1; chcfg.InitPhase = 'Random'; chcfg.ModelType = 'GMEDS'; chcfg.NTerms = 16; chcfg.NormalizeTxAnts = 'On'; chcfg.NormalizePathGains = 'On'; ```
```chcfg.InitTime = 0; ```
```rxWaveform = lteFadingChannel(chcfg,txWaveform); ```

Update frame number and generate a transmit waveform for second frame. Set the start time for second frame to 10 msec. Pass second frame through the channel.

```rmc.NFrame = 1; [txWaveform,txGrid] = lteRMCDLTool(rmc,[1;0;1]); ```
```chcfg.InitTime = 10e-3; rxWaveform = lteFadingChannel(chcfg,txWaveform); ```

## Input Arguments

collapse all

### `model` — Multipath fading channel modelstructure

Multipath fading channel model, specified as a structure. `model` must contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
`NRxAnts`Required

Positive scalar integer

`MIMOCorrelation`Required

`'Low'`, `'Medium'`, `'UplinkMedium'`, `'High'`, `'Custom'`

Correlation between UE and eNodeB antennas

• `'Low'` correlation is equivalent to no correlation between antennas.

• `'Medium'` correlation level is applicable to tests defined in TS 36.101 [2]

• `'UplinkMedium'` correlation level is applicable to tests defined in TS 36.104 [2].

`NormalizeTxAnts`Optional

`'On'` (default), `'Off'`

Transmit antenna number normalization, specified as a string.

• `'On'`, `lteFadingChannel` normalizes the model output by `1/sqrt(P)`, where P is the number of transmit antennas. Normalization by the number of transmit antennas ensures that the output power per receive antenna is unaffected by the number of transmit antennas.

• `'Off'`, normalization is not performed.

`DelayProfile`Required

`'EPA'`, `'EVA'`, `'ETU'`, `'Custom'`, `'Off'`

Delay profile model.

Setting `DelayProfile` to `'Off'` switches off fading completely and implements a static MIMO channel model. In this case, the antenna geometry corresponds to the number of transmit antennas (that is, the number of columns in the input `in`), the number of receive antennas, `model.NRxAnts`, and the MIMO correlation, `model.MIMOCorrelation`. The temporal part of the model for each link between transmit and receive antennas consists of a single path with zero delay and constant unit gain.

The following fields are required or optional (as indicated) when `DelayProfile` is set to a value other than `'Off'`.
`DopplerFreq`RequiredScalar value

Maximum Doppler frequency, in Hertz.

`SamplingRate`RequiredNumeric scalar

Input signal sampling rate, the rate of each sample in the rows of the input matrix, in

`InitTime`RequiredNumeric scalar

Fading process time offset, in seconds.

`NTerms`Optional

16 (default)

scalar power of 2

Number of oscillators used in fading path modeling.

`ModelType`Optional

`'GMEDS'` (default), `'Dent'`

• `'GMEDS'`, the Rayleigh fading is modeled using the Generalized Method of Exact Doppler Spread (GMEDS), as described in [4].

• `'Dent'`, the Rayleigh fading is modeled using the modified Jakes fading model described in [3].

 Note:   `ModelType` = `'Dent'` is not recommended. Use `ModelType` = `'GMEDS'` instead.
`NormalizePathGains`Optional

`'On'` (default), `'Off'`

Model output normalization.

• `'On'`, the model output is normalized such that the average power is unity.

• `'Off'`, the average output power is the sum of the powers of the taps of the delay profile.

`InitPhase`Optional`'Random'` (default), scalar value (in Radians), or a numeric array

Phase initialization for the sinusoidal components of the model, may be set as follows:

• the string `'Random'`, the phases are randomly initialized according to `Seed`.

• a scalar value, assumed to be in radians, is used to initialize the phases of all components.

• an N-by-L-by-P-by-`NRxAnts` numeric array, used to explicitly initialize the phase in radians of each component. In this case, N is the number of phase initialization values per path, L is the number of paths, P is the number of transmit antennas, and `NRxAnts` is the number of receive antennas.

 Note:   When `ModelType` is set to `'GMEDS'`, N = 2 × `NTerms`.When `ModelType` is set to `'Dent'`, N = `NTerms`.
The following field is required when `DelayProfile` is set to a value other than `'Off'` and `InitPhase` is set to `'Random'`.
`Seed`RequiredScalar value

Random number generator seed. To use a random seed, set `Seed` to zero.

 Note:   To produce distinct results, use `Seed` values in the range Where K = P × `model.NRxAnts`, the product of the number of transmit and receive antennas. `Seed` values outside of this recommended range should be avoided as they may result in random sequences that repeat results produced using Seed values inside the recommended range.
The following fields are required when `DelayProfile` is set to `'Custom'`.
`AveragePathGaindB`RequiredVector

Average gains of the discrete paths, expressed in dB.

`PathDelays`RequiredVector

Delays of the discrete paths, expressed in seconds. This vector must have the same size as `AveragePathGaindB`.

The following fields are required when `MIMOCorrelation` is set to `'Custom'`.
`TxCorrelationMatrix`RequiredMatrix

Correlation between each of the transmit antennas, specified as a P-by-P complex matrix.

`RxCorrelationMatrix`RequiredMatrix

Correlation between each of the receive antennas, specified as a complex matrix of size `NRxAnts`-by-`NRxAnts`.

Data Types: `struct`

### `in` — Input samplesnumeric matrix

Input samples, specified as a numeric matrix of size T-by-P. Where P is the number of transmit antennas and T is the number of time-domain samples. Each column of `in` corresponds to the waveform at each of the transmit antennas.

Data Types: `double` | `single`
Complex Number Support: Yes

## Output Arguments

collapse all

### `out` — Channel output signalnumeric matrix

Channel output signal, returned as a numeric matrix. Each column of `out` corresponds to the waveform at each of the receive antennas. `out` has the same number of rows as the input, `in`.

Data Types: `double` | `single`
Complex Number Support: Yes

### `info` — Channel modeling informationstructure

Channel modeling information, returned as a structure. `info` contains the following fields.

Parameter FieldValuesDescription
`ChannelFilterDelay`

Scalar value

The implementation delay of the internal channel filtering

`PathGains`

Numeric array

Complex gain of the discrete channel paths specified as a numeric array of size T-by-L-by-P-by-`NRxAnts`. Where T is the number of output samples, L is the number of paths, P is the number of transmit antennas, and `NRxAnts` is the number of receive antennas

`PathSampleDelays`

Row vector

Delays of the discrete channel paths. The delays are expressed in samples at the sampling rate specified in `model.SamplingRate`.

Data Types: `struct`

## References

[1] 3GPP TS 36.101. "User Equipment (UE) Radio Transmission and Reception." 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.104. "Base Station (BS) radio transmission and reception." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[3] Dent, P., G. E. Bottomley, and T. Croft. "Jakes Fading Model Revisited." Electronics Letters. Vol. 29, 1993, Number 13, pp. 1162–1163.

[4] Pätzold, Matthias, Cheng-Xiang Wang, and Bjørn Olav Hogstad. "Two New Sum-of-Sinusoids-Based Methods for the Efficient Generation of Multiple Uncorrelated Rayleigh Fading Waveforms." IEEE Transactions on Wireless Communications. Vol. 8, 2009, Number 6, pp. 3122–3131.