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 multiple-input multiple-output (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 = 10e-3;
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 4-D 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 | Complex-valued matrix | Correlation between each of the transmit antennas, specified as a complex-valued matrix of size P-by-P. | To enable these fields, set the MIMOCorrelation
field to "Custom" . |
RxCorrelationMatrix | Required | Complex-valued matrix | Correlation between each of the receive antennas, specified as a
complex-valued matrix of size
|
Data Types: struct
tx
— Input samples
complex-valued matrix
Input samples, specified as a complex-valued matrix of size T-by-P, where T is the number of time-domain 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
complex-valued matrix
Channel output waveform, returned as a complex-valued 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
T-by-L-by-P-by-
|
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 (E-UTRA); 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 (E-UTRA); 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, 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. 8, no. 6 (2009): 3122–3131.
Version History
Introduced in R2013b
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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)