Construct Rayleigh fading channel object
chan = rayleighchan(ts,fd)
chan = rayleighchan(ts,fd,tau,pdb)
chan = rayleighchan
chan = rayleighchan(ts,fd) constructs
a frequency-flat (“single path”) Rayleigh fading channel
ts is the sample time of the input signal,
fd is the maximum Doppler shift, in
hertz. You can model the effect of the channel on a signal
using the syntax
y = filter(chan,x).
chan = rayleighchan(ts,fd,tau,pdb) constructs
a frequency-selective (“multiple path”) fading channel
object that models each discrete path as an independent Rayleigh fading
tau is a vector of path delays, each specified
pdb is a vector of average path gains,
each specified in dB.
With the above two syntaxes, a smaller
few hertz to a fraction of a hertz) leads to slower variations, and
fd (a couple hundred hertz) to faster
chan = rayleighchan constructs
a frequency-flat Rayleigh channel object with no Doppler shift. This
is a static channel. The sample time of the input signal is irrelevant
for frequency-flat static channels.
The tables below describe the properties of the channel object,
that you can set and that MATLAB® technical computing software
sets automatically. To learn how to view or change the values of a
channel object, see Displaying and Changing Object Properties.
|Sample period of the signal on which the channel acts, measured in seconds.|
|Doppler spectrum object(s). The default is a Jakes Doppler object.|
|Maximum Doppler shift of the channel, in hertz (applies to all paths of a channel).|
|Vector listing the delays of the discrete paths, in seconds.|
|Vector listing the average gain of the discrete paths, in decibels.|
|If this value is |
|If set to |
|Property||Description||When MATLAB Sets or Updates Value|
|Fixed value, ||When you create object|
|Complex vector listing the
current gains of the discrete paths. When you create or reset ||When you create object, reset object, or use it to filter a signal|
|Delay of the channel filter,
measured in samples.|
The ChannelFilterDelay property returns a delay value that is valid only if the first value of the PathGain is the biggest path gain. In other words, main channel energy is in the first path.
|When you create object or
change ratio of |
|Number of samples the channel
processed since the last reset. When you create or reset ||When you create object, reset object, or use it to filter a signal|
of the channel object must always have the same vector length, because
this length equals the number of discrete paths of the channel. The
must either be a single Doppler object or a vector of Doppler objects
with the same length as
If you change the length of
PathDelays, MATLAB truncates
or zero-pads the value of
AvgPathGaindB if necessary
to adjust its vector length (MATLAB may also change the values
of read-only properties such as
DopplerSpectrum is a vector of Doppler objects,
and you increase or decrease the length of
PathDelays, MATLAB will
add Jakes Doppler objects or remove elements from
respectively, to make it the same length as
StoreHistory is set to
0), the object stores channel state
information as the channel filter function processes the signal.
You can then visualize this state information through a GUI using
plot (channel) method.
result in a slower simulation. If you do not want to visualize channel
state information using
but want to access the complex path gains, then set
The characteristics of a channel can be plotted using the channel visualization tool. You can use the channel visualization tool in Normal mode and Accelerator mode. For more information, see Channel Visualization.
Several examples using this function are in Fading Channels.
The example below illustrates that when you change the value
PathDelays, MATLAB automatically changes
the values of other properties to make their vector lengths consistent
with that of the new value of
c1 = rayleighchan(1e-5,130) % Create object. c1.PathDelays = [0 1e-6] % Change the number of delays. % MATLAB automatically changes the size of c1.AvgPathGaindB, % c1.PathGains, and c1.ChannelFilterDelay.
The output below displays all the properties of the channel
object before and after the change in the value of the
In the second listing of properties, the
ChannelFilterDelay properties all have different
values compared to the first listing of properties.
c1 = ChannelType: 'Rayleigh' InputSamplePeriod: 1.0000e-005 DopplerSpectrum: [1x1 doppler.jakes] MaxDopplerShift: 130 PathDelays: 0 AvgPathGaindB: 0 NormalizePathGains: 1 StoreHistory: 0 PathGains: 0.2035 + 0.1014i ChannelFilterDelay: 0 ResetBeforeFiltering: 1 NumSamplesProcessed: 0 c1 = ChannelType: 'Rayleigh' InputSamplePeriod: 1.0000e-005 DopplerSpectrum: [1x1 doppler.jakes] MaxDopplerShift: 130 PathDelays: [0 1.0000e-006] AvgPathGaindB: [0 0] NormalizePathGains: 1 StoreHistory: 0 PathGains: [0.6108 - 0.4688i 0.1639 - 0.0027i] ChannelFilterDelay: 4 ResetBeforeFiltering: 1 NumSamplesProcessed: 0
The methodology used to simulate fading channels is described in Methodology for Simulating SISO Multipath Fading Channels. The properties of the channel object are related to the quantities of the latter section as follows:
contains the value of .
PathDelays vector property
contains the values of , where .
PathGains read-only property
contains the values of , where .
AvgPathGaindB vector property
contains the values of , where , and denotes statistical expectation.
property contains the value of .
 Jeruchim, Michel C., Philip Balaban, and K. Sam Shanmugan, Simulation of Communication Systems, Second Edition, New York, Kluwer Academic/Plenum, 2000.