stdchan
Construct channel System object from set of standardized channel models
Description
Examples
Filter Signal Through CDMA Channel
Set the sample rate and the maximum Doppler shift.
rs = 20e6; fd = 3;
Create a CDMA Typical Urban channel model (TUx) channel object and turn on frequency response visualization.
chan = stdchan('cdmaTUx',rs,fd); chan.Visualization = 'Frequency response';
Generate random data and apply QPSK modulation.
data = randi([0 3],10000,1); txSig = pskmod(data,4,pi/4);
Filter the QPSK signal through the CDMA channel.
y = chan(txSig);
GSM and EDGE Channel Model
Create a channel model useful for GSM and EDGE simulations. Experiment with low speed and high speed conditions.
Configure Parameters and System Objects
Define variables for the frame configuration.
M = 8; % Modulation order, 8-PSK phaseoffset = 0; % Phase offset for 8-PSK symbols Rbit = 9600; % Input bit rate Rs = Rbit / log2(M); % Symbol rate Nsamples = 5e2; % Number of samples per frame Nframes = 10; % Number of frames
Define the channel configuration for low speed mobile and create a standard channel System object for the equalization test (EQx) with 6 taps profile.
v = 10 * 1e3 / 3600; % Mobile speed (m/s) fc = 1800e6; % Carrier frequency c = physconst('LightSpeed'); % Speed of light in free space fd = v * fc / c; % Maximum Doppler shift of diffuse component channel = stdchan('gsmEQx6',Rs,fd); channel.RandomStream = 'mt19937ar with seed'; % set for reproducibility channel.Visualization = 'Impulse and frequency responses'; channel.SamplesToDisplay = '100%';
Create a constellation diagram System object.
refC = pskmod(0:M-1,M,phaseoffset); constDiagram = comm.ConstellationDiagram( ... ReferenceConstellation=refC, ... XLimits=[-3 3], ... YLimits=[-3 3]);
Simulate at Low Speed
for iFrames = 1:Nframes msg = randi([0 M-1],Nsamples,1); modSignal = pskmod(msg,M,phaseoffset); chanOut = channel(modSignal); constDiagram(chanOut); end
Simulate at High Speed
Release and reconfigure the channel and constellation diagram objects.
release(constDiagram); release(channel); v = 120 * 1e3 / 3600; % Mobile speed (m/s) fd = v * fc / c; % Maximum Doppler shift of diffuse component channel.MaximumDopplerShift = fd; % Adjust maximum doppler shift for iFrames = 1:Nframes msg = randi([0 M-1],Nsamples,1); modSignal = pskmod(msg,M,phaseoffset); chanOut = channel(modSignal); constDiagram(chanOut); end
Input Arguments
chantype
— Channel type
string | character vector
Channel type, specified as a string or character vector. Valid options are listed in Supported Standards.
Example: stdchan('gsmRAx6c1',rs,fd)
, configures a
channel model for the GSM typical case for rural area (RAx), 6 taps, case 1,
with a sample rate rs
, and maximum Doppler shift
fd
Data Types: char
| string
rs
— Sample rate
scalar
Sample rate in Hertz, specified as a scalar.
Data Types: double
fd
— Maximum Doppler shift
scalar
Maximum Doppler shift in Hertz, specified as a scalar.
Data Types: double
Output Arguments
chan
— Channel object
System object™
Channel object, returned as a comm.RayleighChannel
or comm.RicianChannel
System object.
More About
Supported Standards
For GSM, CDMA, and ITU-R HF standards, call stdchan
to return a comm.RayleighChannel
or comm.RicianChannel
System object modeling one of these profiles.
GSM/EDGE channel models (3GPP TS 45.005 V7.9.0 (2007-2), 3GPP TS 05.05 V8.20.0 (2005-11)):
Channel model | Profile |
---|---|
gsmRAx6c1 | Typical case for rural area (RAx), 6 taps, case 1 |
gsmRAx4c2 | Typical case for rural area (RAx), 4 taps, case 2 |
gsmHTx12c1 | Typical case for hilly terrain (HTx), 12 taps, case 1 |
gsmHTx12c2 | Typical case for hilly terrain (HTx), 12 taps, case 2 |
gsmHTx6c1 | Typical case for hilly terrain (HTx), 6 taps, case 1 |
gsmHTx6c2 | Typical case for hilly terrain (HTx), 6 taps, case 2 |
gsmTUx12c1 | Typical case for urban area (TUx), 12 taps, case 1 |
gsmTUx12c1 | Typical case for urban area (TUx), 12 taps, case 2 |
gsmTUx6c1 | Typical case for urban area (TUx), 6 taps, case 1 |
gsmTUx6c2 | Typical case for urban area (TUx), 6 taps, case 2 |
gsmEQx6 | Profile for equalization test (EQx), 6 taps |
gsmTIx2 | Typical case for very small cells (TIx), 2 taps |
CDMA channel models for deployment evaluation (3GPP TR 25.943 V6.0.0 (2004-12)):
Channel model | Profile |
---|---|
cdmaTUx | Typical Urban channel model (TUx) |
cdmaRAx | Rural Area channel model (RAx) |
cdmaHTx | Hilly Terrain channel model (HTx) |
ITU-R HF channel models (ITU-R F.1487 (2000)) (FD must be 1 to obtain the correct frequency spreads for these models.):
Channel model | Profile |
---|---|
iturHFLQ | Low latitudes, Quiet conditions |
iturHFLM | Low latitudes, Moderate conditions |
iturHFLD | Low latitudes, Disturbed conditions |
iturHFMQ | Medium latitudes, Quiet conditions |
iturHFMM | Medium latitudes, Moderate conditions |
iturHFMD | Medium latitudes, Disturbed conditions |
iturHFMDV | Medium latitudes, Disturbed conditions near vertical incidence |
iturHFHQ | High latitudes, Quiet conditions |
iturHFHM | High latitudes, Moderate conditions |
iturHFHD | High latitudes, Disturbed conditions |
Version History
Introduced in R2007bR2020b: Syntax has been removed
stdchan(ts,fd,chanType)
syntax has been removed.
Compatibility considerations for the
stdchan
function includes addition of
a function syntax, removal of a function syntax, and removal of configuration
support for several channel models.
The syntax
has been removed. A System object is returned using the new syntax.chan
= stdchan(ts
,fd
,chantype
)stdchan
has removed support for configuration of several channel models by supported standards and associated syntax, compatibility considerations are indicated here:Standard Previous Syntax New Syntax to Return System Object Notes 3GPP, CDMA stdchan(ts,fd,'3gppXXX')
stdchan('cdmaXXX',rs,fd)
Prefix changed from '
3gpp
' to 'cdma
'.ts
andrs
are reciprocal values.GSM stdchan(ts,fd,'gsmXXX')
stdchan('gsmXXX',rs,fd)
ts
andrs
are reciprocal values.ITU-R HF stdchan(ts,fd,'iturHFXXX')
stdchan('iturHFXXX',rs,fd)
ts
andrs
are reciprocal values.COST207 stdchan(ts,fd,'cost207XXX')
N/A In the future
stdchan
will not configure these channels. Usecomm.RayleighChannel
orcomm.RicianChannel
to configure the channel models for COST207, ITU-R 3G, JTC, HIPERLAN/2, and 802.11a/b/g standards.For guidance mapping parameters, see Rayleigh Channel Compatibility Considerations and Rician Channel Compatibility Considerations.
ITU-R 3G stdchan(ts,fd,'itur3GXXX')
N/A JTC stdchan(ts,fd,'jtcXXX')
N/A HIPERLAN/2 stdchan(ts,fd,'hiperlan2XXX')
N/A 802.11a/b/g stdchan(ts,fd,'802.11X')
N/A
Replace instances of rayleighchan
with a comm.RayleighChannel
System object. Note the mapping between function parameters and object properties:
Comparison Between rayleighchan and comm.RayleighChannel | ||||
rayleighchan | comm.RayleighChannel | Notes | ||
Properties | Associated functions | Properties | Object functions | |
ChannelType | Indicated by System object name | |||
InputSamplePeriod | SampleRate | Value is reciprocal | ||
DopplerSpectrum | DopplerSpectrum | |||
MaxDopplerShift | MaximumDopplerShift | |||
PathDelays | PathDelays | |||
AvgPathGaindB | AveragePathGains | |||
NormalizePathGains | NormalizePathGains | |||
StoreHistory | Adjacent with the plot function of
rayleighchan | |||
PathGains | object call (step ) | Second output returned by a call of the object
(step ) | ||
ChannelFilterDelay | info | Returned by a call to info | ||
ResetBeforeFiltering | reset | Call reset before each object
function call (step ) | ||
NumSamplesProcessed | info | Returned by a call to info | ||
filter | object call (step ) | First output returned by a call of the object
(step ) | ||
reset | reset | |||
plot |
| object call (step ) | The | |
StorePathGains | PathGainsOutputPort |
Replace instances of ricianchan
with a comm.RicianChannel
System object. Note the mapping between function parameters and object properties:
Comparison Between ricianchan and comm.RicianChannel | ||||
ricianchan | comm.RicianChannel | Notes | ||
Properties | Associated functions | Properties | Object functions | |
ChannelType | Indicated by System object name | |||
InputSamplePeriod | SampleRate | Value is reciprocal | ||
DopplerSpectrum | DopplerSpectrum | |||
MaxDopplerShift | MaximumDopplerShift | |||
PathDelays | PathDelays | |||
KFactor | KFactor | |||
DirectPathDopplerShift | DirectPathDopplerShift | |||
DirectPathInitPhase | DirectPathInitialPhase | |||
AvgPathGaindB | AveragePathGains | |||
NormalizePathGains | NormalizePathGains | |||
StoreHistory | Adjacent with the plot function of
ricianchan | |||
StorePathGains | PathGainsOutputPort | |||
PathGains | object call (step ) | Second output returned by a call of the object
(step ) | ||
ChannelFilterDelay | info | Returned by a call to info | ||
ResetBeforeFiltering | reset | Call reset before each object
function call (step ) | ||
NumSamplesProcessed | info | Returned by a call to info | ||
filter | object call (step ) | First output returned by a call of the object
(step ) | ||
reset | reset | |||
plot |
| object call (step ) | The |
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 (한국어)