Construct channel System object from set of standardized channel models
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);
Create a channel model useful for GSM and EDGE simulations. Experiment with low speed and high speed conditions.
Configure parameters and System objects
Frame configuration.
M = 8; % Modulation order, 8-PSK Rbit = 9600; % Input bit rate Rs = Rbit / log2(M); % Symbol rate Nsamples = 5e2; % Number of samples per frame Nframes = 10; % Number of frames
Speed and channel configuration.
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
Create System objects for modulator and channel.
modulator = comm.PSKModulator(M,'PhaseOffset',0); channel = stdchan('gsmeqx6',Rs,fd); channel.RandomStream = 'mt19937ar with seed'; % set for reproducibility channel.Visualization = 'Impulse and frequency responses'; channel.SamplesToDisplay = '100%'; refC = constellation(modulator); 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 = modulator(msg); chanOut = channel(modSignal); constDiagram(chanOut); end
Simulate at high speed
Release and reconfigure 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 = modulator(msg); chanOut = channel(modSignal); constDiagram(chanOut); end
chantype
— Channel typeChannel 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 rateSample rate in Hertz, specified as a scalar.
Data Types: double
fd
— Maximum Doppler shiftMaximum Doppler shift in Hertz, specified as a scalar.
Data Types: double
chan
— Channel objectChannel object, returned as a comm.RayleighChannel
or comm.RicianChannel
System
object.
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 |
You have a modified version of this example. Do you want to open this example with your edits?