Filter input signal through MIMO multipath fading channel

• Library:
• Communications Toolbox / Channels

Communications Toolbox / MIMO

## Description

The MIMO Fading Channel block filters an input signal using a multi-input/multi-output (MIMO) multipath fading channel. This block models both Rayleigh and Rician fading and employs the Kronecker model for modeling the spatial correlation between the links. For processing details, see the Algorithms section.

### Signal Dimensions

The availability and dimensions of input and output port signals depends on:

Antenna Selection Parameter

Signal Input (in)

Transmit Selection Input (Tx Sel)

Initial Time Offset Input (Init Time)

Signal Output (Out1)

Optional Channel Gain Output (Gain)

`Off`NS-by-NTN/AN/Anonnegative scalarNS-by-NRNS-by-NP-by-NT-by-NR
`Tx`NS-by-NST1-by-NTN/ANS-by-NR
`Rx`NS-by-NTN/A1-by-NRNS-by-NSR
`Tx and Rx`NS-by-NST1-by-NT1-by-NRNS-by-NSR

## Ports

### Input

expand all

Input data signal, specified as an NS-by-NT or NS-by-NST matrix.

• NS represents the number of samples in the input signal.

• NT represents the number of transmit antennas.

• NST represents the number of selected transmit antennas.

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

Select active transmit antennas, specified as a 1-by-NT binary vector. NT represents the number of transmit antennas. Elements set to `1` identify selected antenna indices and `0` identify nonselected antenna indices.

#### Dependencies

To enable this port, on the Main tab, set Antenna selection to `Tx` or `Tx and Rx`.

Data Types: `double`

Select active receive antennas, specified as a 1-by-NR binary vector. NR represents the number of receive antennas. Elements set to `1` identify selected antenna indices and `0` identify nonselected antenna indices.

#### Dependencies

To enable this port, on the Main tab, set Antenna selection to `Rx` or `Tx and Rx`.

Data Types: `double`

Initial time offset for the fading model in seconds, specified as a nonnegative scalar.

Init Time must be greater than the last frame end time. When Init Time is not a multiple of `1/Sample rate (Hz)`, it is rounded up to the nearest sample position.

#### Dependencies

To enable this port, on the Realization tab, set Initial time source to `Input port`.

Data Types: `double`

### Output

expand all

Output data signal for the fading channel, returned as an NS-by-NR or NS-by-NSR matrix.

• NS represents the number of samples in the input signal.

• NR represents the number of receive antennas.

• NSR represents the number of selected receive antennas.

Discrete path gains of the underlying fading process, returned as an NS-by-NP-by-NT-by-NR array.

• NS represents the number of samples in the input signal.

• NP represents the number of channel paths.

• NT represents the number of transmit antennas.

• NR represents the number of receive antennas.

Entries for nonselected paths are filled with `NaN`.

#### Dependencies

To enable this port, on the Realization tab, select Output channel path gains.

## Parameters

expand all

### Main Tab

Multipath parameters (frequency selectivity)

Select this parameter to use the sample rate of the input signal when processing. When `Inherit sample rate from input` is selected, the sample rate is NS/TS, where NS is the number of input samples, and TS is the model sample time.

Input signal sample rate, specified in hertz as a positive scalar. To match the model settings, set the sample rate to NS/TS, where NS is the number of input samples, and TS is the model sample time.

#### Dependencies

This parameter appears when Inherit sample rate from input is not selected.

Data Types: `double`

Delays for each discrete path in seconds, specified as a nonnegative scalar or row vector.

• When you set Discrete path delays (s) to a scalar, the MIMO channel is frequency flat.

• When you set Discrete path delays (s) to a vector, the MIMO channel is frequency selective.

Data Types: `double`

Average gain for each discrete path in decibels, specified as a scalar or row vector. Average path gains (dB) must have the same size as Discrete path delays (s).

Data Types: `double`

Select this parameter to normalize the fading processes so that the total power of the path gains, averaged over time, is 0 dB.

Select the fading distribution of the channel, either `Rayleigh` or `Rician`.

K-factor of a Rician fading channel, specified as a positive scalar or a 1-by-NP vector of nonnegative values. NP equals the value of the Discrete path delays (s) parameter.

• If you set K-factors to a scalar, the first discrete path is a Rician fading process with a Rician K-factor of K-factors. Any remaining discrete paths are independent Rayleigh fading processes.

• If you set K-factors to a row vector, the discrete path corresponding to a positive element of the K-factors vector is a Rician fading process with a Rician K-factor specified by that element. The discrete path corresponding to any zero-valued elements of the K-factors vector are Rayleigh fading processes. At least one element value must be nonzero.

#### Dependencies

This parameter appears when Fading distribution is `Rician`.

Data Types: `double`

Doppler shifts for the line-of-sight components of the Rician fading channel in hertz, specified as a scalar or row vector. This parameter must have the same size as K-factors.

• If you set LOS path Doppler shifts (Hz) to a scalar, it represents the line-of-sight component Doppler shift of the first discrete path that is a Rician fading process.

• If you set LOS path Doppler shifts (Hz) to a row vector, the discrete path that is a Rician fading process has its line-of-sight component Doppler shift specified by the elements of LOS path Doppler shifts (Hz) that correspond to positive elements in the K-factors vector.

#### Dependencies

This parameter appears when Fading distribution is `Rician`.

Data Types: `double`

Initial phases for the line-of-sight component of the Rician fading channel in radians, specified as a scalar or row vector. This parameter must have the same size as K-factors.

• If you set LOS path initial phases (rad) to a scalar, it is the line-of-sight component initial phase of the first discrete path that is a Rician fading process.

• If you set LOS path initial phases (rad) to a row vector, the discrete path that is a Rician fading process has its line-of-sight component initial phase specified by the elements of LOS path initial phases (rad) that correspond to positive elements in the K-factors vector.

#### Dependencies

This parameter appears when Fading distribution is `Rician`.

Data Types: `double`

Doppler parameters (time dispersion)

Maximum Doppler shift for all channel paths in hertz, specified as a nonnegative scalar.

Maximum Doppler shift (Hz) must be smaller than (Sample rate (Hz)/10)/fc for each path, where fc is the cutoff frequency factor of the path. For more information, see Cutoff Frequency Factor.

Data Types: `double`

Doppler spectrum shape for all channel paths, specified as a single Doppler spectrum structure returned from the `doppler` function or a 1-by-NP cell array of such structures. The default value of this parameter is the Jakes Doppler spectrum (`doppler('Jakes')`).

• If you assign a single call to `doppler`, all paths have the same specified Doppler spectrum.

• If you assign a 1-by-NP cell array of calls to `doppler` using any of the specified syntaxes, each path has the Doppler spectrum specified by the corresponding Doppler spectrum structure in the array. In this case, NP equals the value of the Discrete path delays (s) parameter.

#### Dependencies

This parameter applies when Maximum Doppler shift (Hz) is greater than zero.

If the Technique for generating fading samples parameter is set to `Sum of sinusoids`, Doppler spectrum must be `doppler('Jakes')`.

Antenna parameters (spatial dispersion)

Select the spatial correlation mode: `None`, `Separate Tx Rx`, or `Combined`.

• Choose `'None'` to specify the number of transmit and receive antennas.

• Choose `'Spatial Tx Rx'` to specify the transmit and receive spatial correlation matrices separately. The number of transmit (NT) and receive (NR) antennas are derived from the dimensions of the Transmit spatial correlation and Receive spatial correlation parameters, respectively.

• Choose `'Combined'` to specify a single correlation matrix for the whole channel. The product of NT and NR is derived from the dimension of Combined spatial correlation.

Number of transmit antennas, specified as a positive integer.

#### Dependencies

This parameter appears when Specify spatial correlation is `None` or `Combined`.

Data Types: `double`

Number of receive antennas, specified as a positive integer.

#### Dependencies

This parameter appears when Specify spatial correlation is `None`.

Data Types: `double`

Specify the spatial correlation of the transmitter as an NT-by-NT matrix or NT-by-NT-by-NP array. NT is the number of transmit antennas, and NP equals the value of the Discrete path delays (s) parameter.

• If Discrete path delays (s) is a scalar, the channel is frequency flat, and Transmit spatial correlation is an NT-by-NT Hermitian matrix. The magnitude of any off-diagonal element must be no larger than the geometric mean of the two corresponding diagonal elements.

• If Discrete path delays (s) is a vector, the channel is frequency selective, and you can specify Transmit spatial correlation as a matrix. Each path has the same transmit spatial correlation matrix.

• Alternatively, you can specify Transmit spatial correlation as an NT-by-NT-by-NP array, where each path can have its own different transmit spatial correlation matrix.

#### Dependencies

This parameter appears when Specify spatial correlation is `Separate Tx Rx`.

Data Types: `double`
Complex Number Support: Yes

Specify the spatial correlation of the receiver as an NR-by-NR matrix or NR-by-NR-by-NP array. NR is the number of receive antennas, and NP equals the value of the Discrete path delays (s) parameter.

• If Discrete path delays (s) is a scalar, the channel is frequency flat, and Receive spatial correlation is an NR-by-NR Hermitian matrix. The magnitude of any off-diagonal element must be no larger than the geometric mean of the two corresponding diagonal elements.

• If Discrete path delays (s) is a vector, the channel is frequency selective, and you can specify Receive spatial correlation as a matrix. Each path has the same receive spatial correlation matrix.

• Alternatively, you can specify Receive spatial correlation as an NR-by-NR-by-NP array, where each path can have its own different receive spatial correlation matrix.

#### Dependencies

This parameter appears when Specify spatial correlation is `Separate Tx Rx`.

Data Types: `double`
Complex Number Support: Yes

Specify the combined spatial correlation matrix as an NTR-by-NTR matrix or NTR-by-NTR-by-NP array, where NTR = (NTNR), and NP equals the number of delay paths specified by the Discrete path delays (s) parameter.

• If Discrete path delays (s) is a scalar, the channel is frequency flat, and Combined spatial correlation is an NTR-by-NTR Hermitian matrix. The magnitude of any off-diagonal element must be no larger than the geometric mean of the two corresponding diagonal elements.

• If Discrete path delays (s) is a vector, the channel is frequency selective, and you can specify Combined spatial correlation as a matrix. Each path has the same spatial correlation matrix.

• Alternatively, you can specify Combined spatial correlation as an NTR-by-NTR-by-NP array, where each path can have its own different combined spatial correlation matrix.

#### Dependencies

This parameter appears when Specify spatial correlation is `Combined`.

Data Types: `double`
Complex Number Support: Yes

Select this parameter to normalize the channel outputs by the number of receive antennas.

Compilation type, specified as `Interpreted execution` or `Code generation`.

The antenna mode you select corresponds to additional input ports on the block.

`Off`None
`Tx`Tx Sel
`Rx`Rx Sel
`Tx and Rx`Tx Sel, Rx Sel

### Realization Tab

Select the channel modeling technique, either ```Filtered Gaussian noise``` or `Sum of sinusoids`.

Number of sinusoids used to model the fading process, specified as a positive integer.

#### Dependencies

This parameter appears when Technique for generating fading samples is `Sum of sinusoids`.

Indicate the source of the initial time offset for the fading model, either `Property` or `Input port`.

• When you set Initial time source to `Property`, use Initial time (s) to set the initial time offset.

• When you set Initial time source to ```Input port```, use the input port Init Time to set the initial time offset.

#### Dependencies

This parameter appears when Technique for generating fading samples is `Sum of sinusoids`.

Initial time offset for the fading model, specified as a nonnegative scalar.

When `Initial time (s)` is not a multiple of `1/`Sample rate (Hz), it is rounded up to the nearest sample position.

#### Dependencies

This parameter appears when Technique for generating fading samples is `Sum of sinusoids` and Initial time source is set to `Property`.

Random number generator initial seed for this block, specified as a nonnegative integer.

Select this parameter to add the Gain output port to the block and output the channel path gains of the underlying fading process.

### Visualization Tab

Select the channel visualization: `Off`, ```Impulse response```, `Frequency response`, ```Doppler spectrum```, or `Impulse and frequency responses`. When visualization is on, the selected channel characteristics, such as impulse response or Doppler spectrum, display in a separate window. For more information, see Channel Visualization.

Transmit-receive antenna pair to display, specified as a 1-by-2 vector, where the first element corresponds to the desired transmit antenna and the second corresponds to the desired receive antenna. At this time, only a single pair can be displayed.

#### Dependencies

This parameter appears when Channel visualization is not `Off`.

Select the percentage of samples to display: `10%`, `25%`, `50%`, or `100%`. Increasing the percentage improves display accuracy at the expense of simulation speed.

#### Dependencies

This parameter appears when Channel visualization is `Impulse response`, `Frequency response`, or ```Impulse and frequency responses```.

Path for which the Doppler spectrum is displayed, specified as a positive integer from 1 to NP, where NP equals the value of the Discrete path delays (s) parameter.

#### Dependencies

This parameter appears when Channel visualization is `Doppler spectrum`.

## Block Characteristics

 Data Types `double` | `single` Multidimensional Signals `yes` Variable-Size Signals `yes`

## Algorithms

expand all

The fading processing per link is described in Methodology for Simulating Multipath Fading Channels and assumes the same parameters for all (NT × NR) links of the MIMO channel. Each link comprises all multipaths for that link.

## References

[1] Oestges, C., and B. Clerckx. MIMO Wireless Communications: From Real-World Propagation to Space-Time Code Design. Academic Press, 2007.

[2] Correira, L. M. Mobile Broadband Multimedia Networks: Techniques, Models and Tools for 4G. Academic Press, 2006.

[3] Kermoal, J. P., L. Schumacher, K. I. Pedersen, P. E. Mogensen, and F. Frederiksen. "A stochastic MIMO radio channel model with experimental validation." IEEE Journal on Selected Areas of Communications. Vol. 20, Number 6, 2002, pp. 1211–1226.

[4] Jeruchim, M., P. Balaban, and K. S. Shanmugan. Simulation of Communication Systems. Second Edition. New York: Kluwer Academic/Plenum, 2000.

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

## Extended Capabilities

### Topics

Introduced in R2013b