Filter input signal through MIMO multipath fading channel
Communications Toolbox / Channels
Communications Toolbox / MIMO
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.
The availability and dimensions of input and output port signals depends on:
The Antenna selection parameter setting on the Main tab
The Initial time source parameter setting on the Realization tab
The Output channel path gains selection on the Realization tab
Antenna Selection Parameter | Signal Input (in) | Transmit Selection Input (Tx Sel) | Receive Selection Input (Rx Sel) | Initial Time Offset Input (Init Time) | Signal Output (Out1) | Optional Channel Gain Output (Gain) |
---|---|---|---|---|---|---|
Off | NS-by-NT | N/A | N/A | nonnegative scalar | NS-by-NR | NS-by-NP-by-NT-by-NR |
Tx | NS-by-NST | 1-by-NT | N/A | NS-by-NR | ||
Rx | NS-by-NT | N/A | 1-by-NR | NS-by-NSR | ||
Tx and Rx | NS-by-NST | 1-by-NT | 1-by-NR | NS-by-NSR |
NS represents the number of samples in the input signal.
NT represents the number of transmit antennas, as determined by:
Transmit spatial correlation when Specify spatial correlation is set to Separate Tx Rx
Number of transmit antennas when Specify spatial correlation is set to None
or
Combined
NR represents the number of receive antennas, as determined by:
Receive spatial correlation when Specify spatial correlation is set to Separate Tx Rx
Number of receive antennas when Specify spatial correlation is set to None
Combined spatial correlation and Number of transmit antennas when Specify spatial correlation is set to Combined
NP represents the number of channel paths, as determined by the Discrete path delays (s) or Average path gains (dB).
NST represents the number of selected transmit
antennas, as determined by the number of elements set to 1
in the vector
provided to the Tx Sel input
port.
NSR represents the number of selected receive
antennas, as determined by the number of elements set to 1
in the vector
provided to the Rx Sel input
port.
in
— Input data signalInput 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
Tx Sel
— Select active transmit antennasSelect 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.
To enable this port, on the Main tab, set Antenna selection
to Tx
or Tx and Rx
.
Data Types: double
Rx Sel
— Select active receive antennasSelect 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.
To enable this port, on the Main tab, set Antenna selection
to Rx
or Tx and Rx
.
Data Types: double
Init Time
— Initial time offsetInitial 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.
To enable this port, on the Realization tab, set Initial time source to Input port
.
Data Types: double
Out1
— Output data signal for fading channelOutput 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.
Gain
— Discrete path gainsDiscrete 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
.
To enable this port, on the Realization tab, select Output channel path gains.
Inherit sample rate from input
— Option to inherit the sample rate from inputSelect 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.
Sample rate (Hz)
— Input signal sample rate1
(default) | positive scalarInput 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.
This parameter appears when Inherit sample rate from input is not selected.
Data Types: double
Discrete path delays (s)
— Delays for each discrete path0
(default) | nonnegative scalar | row vectorDelays 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 path gains (dB)
— Average gain for each discrete path0
(default) | scalar | row vectorAverage 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
Normalize average path gains to 0 dB
— Option to normalize average path gains to 0 dBSelect this parameter to normalize the fading processes so that the total power of the path gains, averaged over time, is 0 dB.
Fading distribution
— Fading distribution of channel Rayleigh
(default) | Rician
Select the fading distribution of the channel, either
Rayleigh
or Rician
.
K-factors
— K-factor of Rician fading channel3
(default) | positive scalar | row vector of nonnegative valuesK-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.
This parameter appears when Fading distribution is Rician
.
Data Types: double
LOS path Doppler shifts (Hz)
— Doppler shifts for line-of-sight components0
(default) | scalar | row vectorDoppler 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.
This parameter appears when Fading distribution is Rician
.
Data Types: double
LOS path initial phases (rad)
— Initial phases for line-of-sight components0
(default) | scalar | row vectorInitial 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.
This parameter appears when Fading distribution is Rician
.
Data Types: double
Maximum Doppler shift (Hz)
— Maximum Doppler shift for all channel paths0.001
(default) | nonnegative scalarMaximum 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
— Doppler spectrum shape for all channel pathsdoppler('Jakes')
(default) | doppler('Flat')
| doppler('Rounded', ...)
| doppler('Bell', ...)
| doppler('Asymmetric Jakes', ...)
| doppler('Restricted Jakes', ...)
| doppler('Gaussian', ...)
| doppler('BiGaussian', ...)
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.
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')
.
Specify spatial correlation
— Spatial correlation modeNone
(default) | Separate Tx Rx
| Combined
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
— Number of transmit antennas2
(default) | positive integerNumber of transmit antennas, specified as a positive integer.
This parameter appears when Specify spatial correlation is None
or Combined
.
Data Types: double
Number of receive antennas
— Number of receive antennas2
(default) | positive integerNumber of receive antennas, specified as a positive integer.
This parameter appears when Specify spatial correlation is None
.
Data Types: double
Transmit spatial correlation
— Spatial correlation of transmitter[1 0; 0 1]
(default) | matrix | 3-D arraySpecify 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.
This parameter appears when Specify spatial correlation is Separate Tx Rx
.
Data Types: double
Complex Number Support: Yes
Receive spatial correlation
— Spatial correlation of receiver[1 0; 0 1]
(default) | matrix | 3-D arraySpecify 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.
This parameter appears when Specify spatial correlation is Separate Tx Rx
.
Data Types: double
Complex Number Support: Yes
Combined spatial correlation
— Combined spatial correlation matrix[1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]
(default) | matrix | 3-D arraySpecify the combined spatial correlation matrix as an NTR-by-NTR matrix or NTR-by-NTR-by-NP array, where NTR = (NT ✕ NR), 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.
This parameter appears when Specify spatial correlation is Combined
.
Data Types: double
Complex Number Support: Yes
Normalize outputs by number of receive antennas
— Normalize channel outputSelect this parameter to normalize the channel outputs by the number of receive antennas.
Simulate using
— Compilation typeInterpreted execution
(default) | Code generation
Compilation type, specified as Interpreted execution
or
Code generation
.
Antenna selection
— Antenna modeOff
(default) | Tx
| Rx
| Tx and Rx
The antenna mode you select corresponds to additional input ports on the block.
Antenna selection Setting | Input Ports Added |
---|---|
Off | None |
Tx | Tx Sel |
Rx | Rx Sel |
Tx and Rx | Tx Sel, Rx Sel |
Technique for generating fading samples
— Channel modeling techniqueFiltered Gaussian noise
(default) | Sum of sinusoids
Select the channel modeling technique, either Filtered Gaussian
noise
or Sum of sinusoids
.
Number of sinusoids
— Number of sinusoids used48
(default) | positive integerNumber of sinusoids used to model the fading process, specified as a positive integer.
This parameter appears when Technique for generating fading samples is Sum of sinusoids
.
Initial time source
— Source of initial time offsetProperty
(default) | Input port
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.
This parameter appears when Technique for generating fading samples is Sum of sinusoids
.
Initial time (s)
— Initial time offset0
(default) | nonnegative scalarInitial 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.
This parameter appears when Technique for generating fading samples is Sum of sinusoids
and Initial time source is set to Property
.
Initial seed
— Random number generator initial seed73
(default) | nonnegative integerRandom number generator initial seed for this block, specified as a nonnegative integer.
Output channel path gains
— Option to output channel path gainsSelect this parameter to add the Gain output port to the block and output the channel path gains of the underlying fading process.
Channel visualization
— Select the channel visualizationOff
(default) | Impulse response
| Frequency response
| Doppler spectrum
| Impulse and frequency responses
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.
Antenna pair to display
— Transmit-receive antenna pair to display[1,1]
(default) | vectorTransmit-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.
This parameter appears when Channel visualization is not Off
.
Percentage of samples to display
— Percentage of samples to display25%
(default) | 10%
| 50%
| 100%
Select the percentage of samples to display: 10%
,
25%
, 50%
, or
100%
. Increasing the percentage improves display accuracy at the
expense of simulation speed.
This parameter appears when Channel visualization is Impulse response
,
Frequency response
, or Impulse and frequency
responses
.
Path for Doppler spectrum display
— Path for which Doppler spectrum is displayed1
(default) | positive integerPath 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.
This parameter appears when Channel visualization is Doppler spectrum
.
Data Types |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
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.
The Kronecker model assumes that the spatial correlations at the transmit and receive sides are separable. Equivalently, the direction of departure (DoD) and directions of arrival (DoA) spectra are assumed to be separable. The full correlation matrix is:
The ⊗ symbol represents the Kronecker product.
Rt represents the correlation matrix at the transmit side: , of size NT-by-NT.
Rr represents the correlation matrix at the receive side: , of size NR-by-NR.
You can obtain a realization of the MIMO channel matrix as:
A is an NR-by-NT matrix of independent identically distributed complex Gaussian variables with zero mean and unit variance.
The cutoff frequency factor, fc, is determined for different Doppler spectrum types.
For any Doppler spectrum type other than Gaussian and biGaussian, fc equals 1.
For a doppler
('Gaussian')
spectrum type,
fc equals NormalizedStandardDeviation
.
For a doppler
('BiGaussian')
spectrum type:
If the PowerGains
(1)
and
NormalizedCenterFrequencies
(2)
field values are both 0
, then
fc equals NormalizedStandardDeviation
(1)
.
If the PowerGains
(2)
and
NormalizedCenterFrequencies
(1)
field values are both 0
, then
fc equals NormalizedStandardDeviation
(2)
.
If the NormalizedCenterFrequencies
field value is
[0,0]
and the
NormalizedStandardDeviation
field has two identical
elements, then fc equals NormalizedStandardDeviation
(1)
.
In all other cases, fc equals 1.
When the object is in antenna selection mode, it uses the following algorithms to process an input signal:
All random path gains are always generated and keep evolving for each link, whether or not a
given link is selected. The path gain values output for the non-selected links are
populated with NaN
.
The spatial correlation only applies to the selected transmit and/or receive antennas, and the correlation coefficients are the corresponding entries in the transmit, receive, or combined correlation matrices. In other words, the spatial correlation matrix for the selected transmit or receive antennas is a submatrix of the transmit, receive, or combined spatial correlation matrix property value.
For signal paths associated with nonactive antennas, a signal with zero power is transmitted to the channel filter.
Channel output normalization happens over the number of selected receive antennas.
[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.