lteFadingChannel

Multipath fading MIMO channel propagation conditions

Description

example

[out,info] = lteFadingChannel(model,in) returns the channel output signal matrix and an information structure, given the multipath Rayleigh fading channel model and input waveform. For more information, see Fading Channel Model Delay.

Examples

collapse all

Transmit a number of subframes through a fading channel using a for-loop.

Define the channel configuration structure.

chcfg.DelayProfile = 'EPA';
chcfg.NRxAnts = 1;
chcfg.DopplerFreq = 5;
chcfg.MIMOCorrelation = 'Low';
chcfg.Seed = 1;
chcfg.InitPhase = 'Random';
chcfg.ModelType = 'GMEDS';
chcfg.NTerms = 16;
chcfg.NormalizeTxAnts = 'On';
chcfg.NormalizePathGains = 'On';

Define the transmission waveform configuration structure, initialized to RMC 'R.10' and one subframe.

rmc = lteRMCDL('R.10');
rmc.TotSubframes = 1;

Within a for-loop, generate ten subframes, one subframe at a time.

  • Outside the for-loop, define delay, which accounts for a combination of implementation delay and channel delay spread.

  • Set the subframe number and initialize the subframe start time, allocating 1 ms per subframe.

  • Generate a transmit waveform.

  • Initialize the number of transmit antennas and the waveform sampling rate.

  • Send the waveform through the channel. Append delay zeros to the generated waveform prior to channel filtering.

delay = 25;
for subframeNumber = 0:9
    
    rmc.NSubframe = mod(subframeNumber,10);
    chcfg.InitTime = subframeNumber/1000;
    
    [txWaveform,txGrid,info] = lteRMCDLTool(rmc,[1;0;1;1]);
    
    numTxAnt = size(txWaveform,2);
    chcfg.SamplingRate = info.SamplingRate;
    
    rxWaveform = lteFadingChannel(chcfg,[txWaveform; zeros(delay,numTxAnt)]);
end

Transmit two consecutive frames over the fading channel while maintaining continuity in the fading process between the end of the first frame and the beginning of the second.

The first frame is transmitted at time t = 0 s. The second frame is transmitted at time t = 10 ms.

Initialize a resource grid to RMC R.10 and generate a transmit waveform for the first frame. Initialize a propagation channel configuration structure and set the start time for the first frame. Pass the 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;

numTxAnt = size(txWaveform,2);

Define delay and append zeros to the generated waveform prior to channel filtering. delay accounts for a combination of implementation delay and channel delay spread.

delay = 25;

rxWaveform = lteFadingChannel(chcfg,[txWaveform; zeros(delay,numTxAnt)]);

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

rmc.NFrame = 1;
[txWaveform,txGrid] = lteRMCDLTool(rmc,[1;0;1]);

chcfg.InitTime = 10e-3;
rxWaveform = lteFadingChannel(chcfg,[txWaveform; zeros(delay,numTxAnt)]);

Input Arguments

collapse all

Multipath fading channel model, specified as a structure containing these fields.

Parameter FieldRequired or OptionalValuesDescription
NRxAntsRequired

Positive scalar integer

Number of receive antennas

MIMOCorrelationRequired

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

Correlation between UE and eNodeB antennas

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

  • 'Medium' correlation level is defined in TS 36.101 [1] Annex B.2.3.2 and applicable to tests defined in TS 36.101.

  • 'UplinkMedium' correlation level is defined in TS 36.104 [2] Annex B.5.2 and is applicable to tests defined in TS 36.104 .

  • 'High' correlation is equivalent to strong correlation between antennas.

  • 'Custom' correlation applies user defined TxCorrelationMatrix and RxCorrelationMatrix

Note

The 'Low' and 'High' correlation levels are the same for both uplink and downlink and are therefore applicable to tests defined in both TS 36.101 and TS 36.104.

NormalizeTxAntsOptional

'On' (default), 'Off'

Transmit antenna number normalization, specified as.

  • '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.

DelayProfileRequired

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

Delay profile model. For more information, see Propagation Channel Models.

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 applicable when DelayProfile is set to a value other than 'Off'.
DopplerFreqRequiredScalar value

Maximum Doppler frequency, in Hz.

SamplingRateRequiredNumeric scalar

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

InitTimeRequiredNumeric scalar

Fading process time offset, in seconds.

NTermsOptional

16 (default)

scalar power of 2

Number of oscillators used in fading path modeling.

ModelTypeOptional

'GMEDS' (default), 'Dent'

Rayleigh fading model type.

  • '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.

NormalizePathGainsOptional

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

InitPhaseOptional'Random' (default), a scalar value (in radians), or a numeric array

Phase initialization for the sinusoidal components of the model, specified as:

  • The value '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 initialize the phase in radians of each component explicitly.

    • N is the number of phase initialization values per path.

    • L is the number of paths.

    • P is the number of transmit antennas.

    • 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 applicable when DelayProfile is set to a value other than 'Off' and InitPhase is set to 'Random'.
SeedRequiredScalar 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

    0...231  1  (K(K  1)2)

    K = P × model.NRxAnts, which is the product of the number of transmit and receive antennas. Avoid using Seed values outside of this recommended range, as they may result in random sequences that repeat results produced using Seed values inside the recommended range.

  • The fading channel random seed behavior is not affected by the state of MATLAB® random number generators, rng.

The following fields are applicable when DelayProfile is set to 'Custom'.
AveragePathGaindBRequiredVector

Average gains of the discrete paths, expressed in dB.

PathDelaysRequiredVector

Delays of the discrete paths, expressed in seconds. This vector must have the same size as AveragePathGaindB. If these delays are not a multiple of the sampling period, fractional delay filters are used internally to implement them.

The following fields are applicable when MIMOCorrelation is set to 'Custom'.
TxCorrelationMatrixRequiredMatrix

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

RxCorrelationMatrixRequiredMatrix

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

Data Types: struct

Input samples, specified as a numeric T-by-P matrix. T is the number of time-domain samples and P is the number of transmit antennas. 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

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

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, in samples.

PathGains

Numeric array

Complex gain of the discrete channel paths, specified as a numeric array of size T-by-L-by-P-by-NRxAnts.

  • T is the number of output samples.

  • L is the number of paths.

  • P is the number of transmit antennas.

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

AveragePathGaindBRow vector

Average gains of the discrete paths, expressed in dB.

Data Types: struct

More About

collapse all

Fading Channel Model Delay

The function implements the MIMO multipath fading channel model, as specified in TS 36.101 [1] and TS 36.104 [2]. 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. When the path delays are not a multiple of the sampling rate, fractional delay filters are used internally to implement them. These filters introduce an implementation delay of info.ChannelFilterDelay samples. The signal passing through the channel, passes through these filters and incurs the ChannelFilterDelay, regardless of the value of the path delays.

References

[1] 3GPP TS 36.101. “Evolved Universal Terrestrial Radio Access (E-UTRA); User Equipment (UE) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

[2] 3GPP TS 36.104. “Evolved Universal Terrestrial Radio Access (E-UTRA); Base Station (BS) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

[3] Dent, P., G. E. Bottomley, and T. Croft. “Jakes Fading Model Revisited.” Electronics Letters. Vol. 29, Number 13, 1993, 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, Number 6, 2009, pp. 3122–3131.

Introduced in R2013b