(Removed) Construct Rician fading channel object
ricianchan has been removed. Use comm.RicianChannel instead.
chan = ricianchan(ts,fd,k)
chan = ricianchan(ts,fd,k,tau,pdb)
chan = ricianchan(ts,fd,k,tau,pdb,fdlos)
chan = ricianchan
chan = ricianchan(ts,fd,k) constructs a
frequency-flat (single path) Rician fading-channel object. ts is the
sample time of the input signal, in seconds. fd is the maximum
Doppler shift, in hertz. k is the Rician K-factor in linear scale.
You can model the effect of the channel chan on a signal
x by using the syntax y =
filter(chan,x).
chan = ricianchan(ts,fd,k,tau,pdb) constructs
a frequency-selective (multiple paths) fading-channel object. If k is
a scalar, then the first discrete path is a Rician fading process (it contains a
line-of-sight component) with a K-factor of k, while the remaining
discrete paths are independent Rayleigh fading processes (no line-of-sight component).
If k is a vector of the same size as tau, then
each discrete path is a Rician fading process with a K-factor given by the corresponding
element of the vector k. tau is a vector of path
delays, each specified in seconds. pdb is a vector of average path
gains, each specified in dB.
chan = ricianchan(ts,fd,k,tau,pdb,fdlos)
specifies fdlos as the Doppler shift(s) of the line-of-sight
component(s) of the discrete path(s), in hertz. fdlos must be the
same size as k. If k and fdlos
are scalars, the line-of-sight component of the first discrete path has a Doppler shift
of fdlos, while the remaining discrete paths are independent Rayleigh
fading processes. If fdlos is a vector of the same size as
k, the line-of-sight component of each discrete path has a
Doppler shift given by the corresponding element of the vector fdlos.
By default, fdlos is 0. The initial phase(s) of
the line-of-sight component(s) can be set through the property
DirectPathInitPhase.
chan = ricianchan sets the maximum Doppler
shift to 0, the Rician K-factor to 1, and the
Doppler shift and initial phase of the line-of-sight component to 0.
This syntax models a static frequency-flat channel, and, in this trivial case, the
sample time of the signal is unimportant.
The following tables describe the properties of the channel object,
chan, 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.
Writeable Properties
| Property | Description |
|---|---|
InputSamplePeriod | Sample period of the signal on which the channel acts, measured in seconds. |
DopplerSpectrum | Doppler spectrum object(s). The default is a Jakes doppler object. |
MaxDopplerShift | Maximum Doppler shift of the channel, in hertz (applies to all paths of a channel). |
KFactor | Rician K-factor (scalar or vector). The default value is 1 (line-of-sight component on the first path only). |
PathDelays | Vector listing the delays of the discrete paths, in seconds. |
AvgPathGaindB | Vector listing the average gain of the discrete paths, in decibels. |
DirectPathDopplerShift | Doppler shift(s) of the line-of-sight component(s) in hertz. The default value is 0. |
DirectPathInitPhase | Initial phase(s) of line-of-sight component(s) in radians. The default value is 0. |
NormalizePathGains | If this value is 1, the Rayleigh fading
process is normalized such that the expected value of the path
gains' total power is 1. |
StoreHistory | If this value is 1, channel state information
needed by the channel visualization tool is stored as the channel
filter function processes the signal. The default value is
0. |
StorePathGains | If this value is 1, the complex path gain
vector is stored as the channel filter function processes the
signal. The default value is 0. |
ResetBeforeFiltering | If this value is 1, each call to
filter resets the state of
chan before filtering. If it is
0, the fading process maintains continuity
from one call to the next. |
Read-Only Properties
| Property | Description | When MATLAB Sets or Updates Value |
|---|---|---|
ChannelType | Fixed value, 'Rician'. | When you create object. |
PathGains | Complex vector listing the current gains of the discrete paths.
When you create or reset chan,
PathGains is a random vector influenced by
AvgPathGaindB and
NormalizePathGains. | When you create object, reset object, or use it to filter a signal. |
ChannelFilterDelay | 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
InputSamplePeriod to
PathDelays. |
NumSamplesProcessed | Number of samples the channel processed since the last reset.
When you create or reset chan, this property
value is 0. | When you create object, reset object, or use it to filter a signal. |
Changing the length of PathDelays also changes the length of
AvgPathGaindB, the length of KFactor if
KFactor is a vector (no change if it is a scalar), and the
length of DopplerSpectrum if DopplerSpectrum
is a vector (no change if it is a single object).
DirectPathDopplerShift and
DirectPathInitPhase both follow changes in
KFactor.
The PathDelays and AvgPathGaindB properties
of the channel object must always have the same vector length, because this length
equals the number of discrete paths of the channel. The
DopplerSpectrum property must either be a single Doppler
object or a vector of Doppler objects with the same length as
PathDelays.
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
PathGains and ChannelFilterDelay). If
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
DopplerSpectrum, respectively, to make it the same length as
PathDelays.
If StoreHistory is set to 1 (the default is
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 the plot (channel) method.
Note
Setting StoreHistory to 1 will
result in a slower simulation. If you do not want to visualize channel state
information using plot (channel), but want to access
the complex path gains, then set StorePathGains to
1, while keeping StoreHistory as
0.
If MaxDopplerShift is set to 0 (the
default), the channel object, chan, models a static
channel.
Use the syntax reset(chan) to generate a new channel
realization.
The methodology used to simulate fading channels is described in Methodology for Simulating Multipath Fading Channels, where the properties specific to the Rician channel object are related to the quantities of this section as follows:
The Kfactor property contains the value of (if it’s a scalar) or , (if it’s a vector).
The DirectPathDopplerShift property contains the
value of (if it’s a scalar) or , (if it’s a vector).
The DirectPathInitPhase property contains the value
of (if it’s a scalar) or , (if it’s a vector).
The rayleighchan reference page includes descriptions for
properties common to both Rayleigh and Rician channel objects.
The characteristics of a channel can be plotted using the channel visualization tool,
plot (channel). You can use the channel visualization tool in
Normal mode and Accelerator mode.
[1] Jeruchim, M., Balaban, P., and Shanmugan, K., Simulation of Communication Systems, Second Edition, New York, Kluwer Academic/Plenum, 2000.