Multipath fading MIMO channel propagation conditions
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 = 10e3; rxWaveform = lteFadingChannel(chcfg,[txWaveform; zeros(delay,numTxAnt)]);
model
— Multipath fading channel modelMultipath fading channel model, specified as a structure. model
must
contain the following fields.
Parameter Field  Required or Optional  Values  Description 

NRxAnts  Required  Positive scalar integer  Number of receive antennas 
MIMOCorrelation  Required 
 Correlation between UE and eNodeB antennas
NoteThe

NormalizeTxAnts  Optional 
 Transmit antenna number normalization, specified as.

DelayProfile  Required 
 Delay profile model. For more information, see Propagation Channel Models. Setting 
The following fields are applicable
when DelayProfile is set to a value other than 'Off' .  
DopplerFreq  Required  Scalar value  Maximum Doppler frequency, in Hz. 
SamplingRate  Required  Numeric scalar  Input signal sampling rate, the rate of each sample in the rows
of the input matrix, 
InitTime  Required  Numeric 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 
 Rayleigh fading model type. Note

NormalizePathGains  Optional 
 Model output normalization.

InitPhase  Optional  'Random' (default), a scalar value (in radians),
or a numeric array  Phase initialization for the sinusoidal components of the model, specified as:
Note

The following field is applicable
when DelayProfile is set to a value other than 'Off' and InitPhase is
set to 'Random' .  
Seed  Required  Scalar value  Random number generator seed. To use a random seed, set Note

The following fields are applicable
when DelayProfile is set to 'Custom' .  
AveragePathGaindB  Required  Vector  Average gains of the discrete paths, expressed in dB. 
PathDelays  Required  Vector  Delays of the discrete paths, expressed in seconds. This
vector must have the same size as 
The following fields are applicable
when MIMOCorrelation is set to 'Custom' .  
TxCorrelationMatrix  Required  Matrix  Correlation between each of the transmit antennas, specified as a PbyP complex matrix. 
RxCorrelationMatrix  Required  Matrix  Correlation between each of the receive antennas, specified
as a complex matrix of size 
Data Types: struct
in
— Input samplesInput samples, specified as a numeric TbyP matrix. T is
the number of timedomain 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
out
— Channel output signalChannel 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 informationChannel modeling information, returned as a structure. info
contains the following fields.
Parameter Field  Values  Description 

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 TbyLbyPby

PathSampleDelays  Row vector  Delays of the discrete channel paths. The delays are
expressed in samples at the sampling rate specified in 
AveragePathGaindB  Row vector 
Average gains of the discrete paths, expressed in dB. 
Data Types: struct
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.
[1] 3GPP TS 36.101. “Evolved Universal Terrestrial Radio Access (EUTRA); 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 (EUTRA); 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, ChengXiang Wang, and Bjørn Olav Hogstad. “Two New SumofSinusoidsBased Methods for the Efficient Generation of Multiple Uncorrelated Rayleigh Fading Waveforms.” IEEE Transactions on Wireless Communications. Vol. 8, Number 6, 2009, pp. 3122–3131.
lte3DChannel
 lteDLPerfectChannelEstimate
 lteHSTChannel
 lteMovingChannel
 lteOFDMModulate
 lteSCFDMAModulate
A modified version of this example exists on your system. Do you want to open this version instead?
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.