lteFadingChannel
Multipath fading MIMO channel propagation conditions
Description
[
filters waveform rx
,info
]
= lteFadingChannel(model
,tx
)tx
through the Rayleigh fading channel parameterized by
model
. The function returns channel output waveform
rx
and channel model information info
. For
information about the multipleinput multipleoutput (MIMO) multipath fading channel that this
function implements, see Fading Channel Model Delay.
Examples
Transmit Multiple Subframes over Fading Channel
Define the channel configuration structure.
model = struct(DelayProfile="EPA",NRxAnts=1, ... DopplerFreq = 5,MIMOCorrelation="Low", ... Seed=1,InitPhase="Random",ModelType="GMEDS", ... NTerms=16,NormalizeTxAnts="On", ... NormalizePathGains="On");
Define the transmission waveform configuration structure, initialized to reference measurement channel (RMC) R.10 and one subframe.
rmc = lteRMCDL("R.10");
rmc.TotSubframes = 1;
Generate ten subframes, one subframe at a time, by following these steps.
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); model.InitTime = subframeNumber/1000; [waveform,txGrid,info] = lteRMCDLTool(rmc,[1; 0; 1; 1]); numTxAnt = size(waveform,2); model.SamplingRate = info.SamplingRate; tx = [waveform; zeros(delay,numTxAnt)]; [rx,info] = lteFadingChannel(model,tx); end
Transmit Two Consecutive Frames over Fading Channel
Transmit two consecutive frames over a fading channel while maintaining continuity in the fading process between the end of the first frame and the beginning of the second frame.
Initialize a resource grid to RMC R.10 and generate a transmit waveform for the first frame.
rmc = lteRMCDL("R.10");
[waveform,~,info] = lteRMCDLTool(rmc,[1; 0; 1]);
Initialize a propagation channel configuration structure and set the start time for the first frame.
model = struct(DelayProfile="EPA",NRxAnts=1, ... DopplerFreq=5,MIMOCorrelation="Low", ... SamplingRate=info.SamplingRate,Seed=1, ... InitPhase="Random",ModelType="GMEDS", ... NTerms=16,NormalizeTxAnts="On", ... NormalizePathGains="On",InitTime=0); nTxAnts = size(waveform,2);
Define delay
and append zeros to the generated waveform prior to channel filtering.
delay = 25; tx = [waveform; zeros(delay,nTxAnts)];
Filter the first frame through the channel.
[rx1,info1] = lteFadingChannel(model,tx);
Update the frame number, and then generate a transmit waveform for the second frame with the start time set to 10 ms.
model.NFrame = 1; [waveform,txGrid] = lteRMCDLTool(rmc,[1; 0; 1]); tx = [waveform; zeros(delay,nTxAnts)]; model.InitTime = 10e3;
Pass the second frame through the channel.
[rx2,info2] = lteFadingChannel(model,tx);
Input Arguments
model
— Multipath fading channel model
structure
Multipath fading channel model, specified as a structure containing these fields.
Field  Required or Optional  Values  Description  Dependencies 

NRxAnts  Required  Positive integer  Number of receive antennas  Not applicable 
MIMOCorrelation  Required 
 Correlation between UE and eNodeB antennas.
Note Because the
 
NormalizeTxAnts  Optional 
 Transmit antenna number normalization. To normalize the output waveform by 1/√P, where P is the number of transmit antennas, set
this field to  
DelayProfile  Required 
 Delay profile model. For more information, see Propagation Channel Models. To completely switch off fading and
implement a MIMO channel model that is constant in time and frequency, set this field to
 
DopplerFreq  Required  Nonnegative scalar  Maximum Doppler frequency in Hz  To enable these fields, set the DelayProfile field
to a value other than "Off" . 
SamplingRate  Required  Positive scalar  Input waveform sampling rate  
InitTime  Required  Nonnegative scalar  Fading process time offset in seconds  
NTerms  Optional 
Power of 2  Number of oscillators used in fading path modeling  
ModelType  Optional 
 Rayleigh fading model type. Note Setting this field to  
NormalizePathGains  Optional 
 Model output normalization.
 
InitPhase  Optional 
Scalar 4D array  Phase initialization for the sinusoidal components of the model.
Note
 
Seed  Required  Scalar  Random number generator seed. To use a random seed, set this field to
Note
 To enable this field, set the DelayProfile field to a value
other than "Off" and the InitPhase field to
"Random" . 
AveragePathGaindB  Required  Vector  Average gains of the discrete paths in dB  To enable these fields, set the DelayProfile field
to "Custom" . 
PathDelays  Required  Vector  Delays of the discrete paths in seconds. This vector must be the same size as
 
TxCorrelationMatrix  Required  Complexvalued matrix  Correlation between each of the transmit antennas, specified as a complexvalued matrix of size PbyP.  To enable these fields, set the MIMOCorrelation
field to "Custom" . 
RxCorrelationMatrix  Required  Complexvalued matrix  Correlation between each of the receive antennas, specified as a
complexvalued matrix of size

Data Types: struct
tx
— Input samples
complexvalued matrix
Input samples, specified as a complexvalued matrix of size TbyP, where T is the number of timedomain samples, and P is the number of transmit antennas. Each column of this input corresponds to the waveform at one transmit antenna.
Data Types: double
 single
Complex Number Support: Yes
Output Arguments
rx
— Channel output waveform
complexvalued matrix
Channel output waveform, returned as a complexvalued matrix. Each column of
rx
corresponds to the waveform at a receive antenna. This output has
the same number of rows as the tx
input.
Data Types: double
 single
Complex Number Support: Yes
info
— Channel modeling information
structure
Channel modeling information, returned as a structure containing these fields.
Parameter Field  Values  Description 

ChannelFilterDelay  Scalar value  Implementation delay of the internal channel filtering, in samples 
PathGains  Numeric array  Complex gain of the discrete channel paths, returned as a numeric array of size
TbyLbyPby

PathSampleDelays  Row vector  Delays of the discrete channel paths, in samples, returned at the sampling rate specified in the 
AveragePathGaindB  Row vector  Average gains of the discrete paths in dB 
Data Types: struct
Algorithms
Fading Channel Model Delay
This function implements the MIMO multipath fading channel model specified
in [1] and [2]. The transmitted waveform passes through the multipath Rayleigh fading channel model
specified by the input structure model
. The function resamples the delay
profile of the model
input to match the input waveform sampling rate. When
the path delays are not a multiple of the sampling rate, the function uses fractional delay
filters to implement them. These filters introduce an implementation delay of
info
.
ChannelFilterDelay
samples.
The waveform passing through the channel passes through these filters and incurs this channel
filter delay regardless of the value of the path delays.
References
[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. 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. https://www.3gpp.org.
[3] Dent, P., G. E. Bottomley, and T. Croft. “Jakes Fading Model Revisited.” Electronics Letters. 29, no. 13 (1993): 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. 8, no. 6 (2009): 3122–3131.
Version History
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
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.
Select a Web Site
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: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)