comm.WINNER2Channel

Filter input signal through WINNER II fading channel

Download Required

To use comm.WINNER2Channel, first download the WINNER II Channel Model for Communications Toolbox™ from the Add-On Explorer. For more information on downloading add-ons, see Get and Manage Add-Ons.

Description

The comm.WINNER2Channel System object™ filters an input signal through a WINNER II fading channel. The object utilizes the basic model defined and provided by the WINNER II Channel Models [1].

To filter an input signal using a WINNER II fading channel:

  1. Define and set up your WINNER II channel object. See Construction.

  2. Call step to filter the input signal through a WINNER II fading channel according to the properties of comm.WINNER2Channel.

Note

Alternatively, instead of using the step method to perform the operation defined by the System object, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.

Construction

chan = comm.WINNER2Channel creates a WINNER II fading channel System object to model single or multiple links. chan generates channel coefficients using the WINNER II spatial channel model (SCM). It also filters a real or complex input signal through the fading channel for each link.

chan = comm.WINNER2Channel(Name,Value) creates a WINNER II fading channel object, chan, that overrides default values using one or more Name,Value pair arguments. You can specify additional name-value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

chan = comm.WINNER2Channel(cfgModel) creates a WINNER II fading channel object with the ModelConfig property set to cfgModel.

chan = comm.WINNER2Channel(cfgModel,cfgLayout) creates a WINNER II fading channel object with the ModelConfig property set to cfgModel and the LayoutConfig property set to cfgLayout.

Properties

ModelConfig

WINNER II model parameter configuration

WINNER II model parameter configuration, specified as a structure containing these fields:

NumTimeSamples

Number of time samples. The default value is 100.

Note

If the number of samples in the input signal (NS) does not match NumTimeSamples, NumTimeSamples is updated to match NS.

FixedPdpUsed

Set to 'yes' to use predefined path delays and powers for specific scenarios. The default value is 'no'.

FixedAnglesUsed

Set to 'yes' to use predefined angles of departure (AoDs) and angles of arrival (AoAs) for specific scenarios. The default value is 'no'.

IntraClusterDsUsed

Set to 'yes' to divide each of the two strongest clusters per link into three subclusters. The default value is 'yes'.

PolarisedArrays

Set to 'yes' to use dual polarized arrays. The default value is 'yes'.

UseManualPropCondition

Set to 'yes' to use the manually defined propagation conditions (LOS or NLOS) in the LayoutConfig.PropagConditionVector field. Set to 'no' to draw propagation conditions from predefined LOS probabilities. The default value is 'yes'.

UniformTimeSampling

Set to 'yes' to sample all links at the same time instants. The default value is 'no'.

SampleDensity

Number of time samples per half wavelength. The default value is 2e6.

CenterFrequency

Center frequency of carrier. The default value 5.25e9 Hz.

DelaySamplingInterval

Sampling grid to which the path delays are rounded. The default value of 0 seconds indicates no rounding on path delays.

  • DelaySamplingInterval specifies the input signal sample time.

  • When performing channel filtering, the object uses DelaySamplingInterval = 0 to obtain the original path delays. Any non-zero value of DelaySamplingInterval is ignored, specifically the path delays used are not rounded to be multiples of DelaySamplingInterval values that are non-zero.

ShadowingModelUsed

Set to 'yes' to include shadow fading in the model. The default value is 'no'.

PathLossModelUsed

Set to 'yes' to include path loss in the model. The default value is 'no'.

PathLossModel

Path loss model function name, specified as 'pathloss', which uses the internal pathloss function from the WINNER II Channel Add-On to model the path loss. The PathLossModel property is applicable only when PathLossModelUsed is 'yes'. The default value is 'pathloss'.

PathLossOption

Path loss option indicating the wall material for the NLOS path loss calculation of scenario A1, specified as one of {'CR_light', 'CR_heavy', 'RR_light', 'RR_heavy'}. The default value is 'CR_light'. The PathLossOption property is applicable only when PathLossModelUsed is 'yes'.

See LayoutConfig.ScenarioVector for the scenario number mapping.

RandomSeed

Seed for random number generators. To use the global random stream, set RandomSeed to empty, []. The default is [].

LayoutConfig

WINNER II layout parameter configuration

WINNER II layout parameter configuration, specified as a structure containing these fields:

Stations

Row vector of structures to describe antenna arrays for active stations. The row ordering specifies BS sectors first, followed by the MS. The default assigns two structures, one for BS and one for MS.

NofSect

Vector of number of sectors in each BS. The default is 1.

Pairing

A 2-by-NL matrix, where NL specifies the number links to be modeled. The default is [1;2].

ScenarioVector

A 1-by-NL vector of scenario numbers. The default is 1, which specifies scenario A1.

The scenarios numbers map as {1=A1, 2=A2, 3=B1, 4=B2, 5=B3, 6=B4, 10=C1, 11=C2, 12=C3, 13=C4, 14=D1, 15=D2a}.

For more information, see WINNER II Channel Models [1], Section 2.3.

PropagConditionVector

A 1-by-NL vector of propagation conditions (LOS = 1 and NLOS = 0) for each link. The default is 1.

StreetWidth

A 1-by-NL vector of identical values that specify the average width (in meters) of the streets. StreetWidth is used for the path loss model of the B1 and B2 scenarios. The default is 20. See ScenarioVector for the scenario number mapping. All elements must have the same value. The StreetWidth property is applicable only when the ModelConfig.PathLossModelUsed property is 'yes'.

Dist1

A 1-by-NL vector of distances from BS to the last LOS point. Dist1 is used for the path loss model of the B1 and B2 scenarios. The default value is NaN, which means the distance is randomly determined in path loss function. See ScenarioVector for the scenario number mapping. Dist1 is applicable only when the ModelConfig.PathLossModelUsed property is 'yes'.

For more information, see WINNER II Channel Models [1], Figure 4-3.

NumFloors

A 1-by-NL vector indicating the floor number where the indoor BS or MS is located. The default value is 1. The NumFloors property is used for the path loss model of the A2 and B4 scenarios only. See ScenarioVector for the scenario number mapping. The NumFloors property is applicable only when ModelConfig.PathLossModelUsed is 'yes'.

NumPenetratedFloors

A 1-by-NL vector indicating the number of penetrated floors between BS and MS. The default value is 0. The NumPenetratedFloors is used for the NLOS path loss model of the A1 scenario. See ScenarioVector for the scenario number mapping. The NumPenetratedFloors property is applicable only when PathLossModelUsed is 'yes'.

For more information, see WINNER II Channel Models [1], Table 4-4.

NormalizeChannelOutputs

Normalize channel outputs, specified as true or false. Set this property to true to normalize the channel outputs by the number of receive antennas at the mobile station (MS) for each link. The default value is true.

For more information, see Channel Power.

Methods

infoDisplay information about WINNER2Channel object
resetReset states of WINNER2Channel object
stepFilter input signal through WINNER II fading channel
Common to All System Objects
release

Allow System object property value changes

Examples

collapse all

Simulate a system that has two MS connected to one BS. One MS is 8 meters away from the BS; the other is 20 meters away from the BS. Impulse signals are sent through the two links. The spectrum of the received signals at MS shows frequency selectivity. It also shows the MS that is closer the BS has a larger average received power than the other MS.

Specify random number generator seed for repeatability.

rng(100);

Initial frame length and sample rate.

frmLen   = 1024;

Configure layout parameters.

BSAA  = winner2.AntennaArray('UCA', 8, 0.02);  % UCA-8 antenna array for BS
MSAA1 = winner2.AntennaArray('ULA', 2, 0.01);  % ULA-2 antenna array for MS
MSAA2 = winner2.AntennaArray('ULA', 4, 0.005); % ULA-4 antenna array for MS
MSIdx = [2 3]; BSIdx = {1}; NL = 2; maxRange = 100; rndSeed = 101;
cfgLayout = winner2.layoutparset(MSIdx,BSIdx,NL, ...
   [BSAA,MSAA1,MSAA2],maxRange,rndSeed);

Adjust BS and MS positions.

cfgLayout.Stations(1).Pos(1:2) = [10, 10];
cfgLayout.Stations(2).Pos(1:2) = [18, 10];  % 8 meters away from BS
cfgLayout.Stations(3).Pos(1:2) = [22, 26];  % 20 meters away from BS

NLOS for both links

cfgLayout.Pairing = [1 1; 2 3];
cfgLayout.PropagConditionVector = [0 0];

Configure model parameters

cfgModel = winner2.wimparset;
cfgModel.NumTimeSamples     = frmLen; % Frame length
cfgModel.IntraClusterDsUsed = 'no';   % No cluster splitting
cfgModel.SampleDensity      = 2e5;    % For lower sample rate
cfgModel.PathLossModelUsed  = 'yes';  % Turn on path loss
cfgModel.ShadowingModelUsed = 'yes';  % Turn on shadowing

Create a WINNER II channel System object.

wimChan = comm.WINNER2Channel(cfgModel, cfgLayout);

Call the info method of the object to get some system information

chanInfo = info(wimChan)
chanInfo = struct with fields:
               NumLinks: 2
          NumBSElements: [8 8]
          NumMSElements: [2 4]
               NumPaths: [16 16]
             SampleRate: [1.0000e+07 1.0000e+07]
     ChannelFilterDelay: [7 7]
    NumSamplesProcessed: 0

numTx    = chanInfo.NumBSElements(1);
Rs       = chanInfo.SampleRate(1);

Create a Spectrum Analyzer System object.

SA = dsp.SpectrumAnalyzer('SampleRate', Rs, ...
    'YLimits', [-170, -100], 'ShowLegend', true, ...
    'ChannelNames', {'MS 1 (8 meters away)','MS 2 (20 meters away)'});

Pass impulse signals through the two links and show spectra of the received signals at the two MS.

for i = 1:10
    x = [ones(1,numTx); zeros(frmLen-1, numTx)];
    y = wimChan(x);
    SA([y{1}(:,1), y{2}(:,1)]);
end

More About

WINNER II Sampling Rate

The signal sample rate (RS) for generating channel coefficients and performing channel filtering is calculated per link using the mobile station speed (VMS), half wavelength distance, and sample density. The sample rate for each link is available as a field in the info method return.

RS = VMS / (C / Fcenter / 2 / NSD),

  • For the MS speed,VMS,

    • When ModelConfig.UniformTimeSampling is set to 'no', VMS is the speed of the MS for the corresponding link, derived from the LayoutConfig.Stations(i).Velocity field.

    • When ModelConfig.UniformTimeSampling is set to 'yes', VMS is the maximum speed of the MS for all links.

  • C is the speed of light (2.99792458e8 m/s).

  • Fcenter is ModelConfig.CenterFrequency.

  • NSD is ModelConfig.SampleDensity.

Channel Power

These conditions apply to the channel power of the comm.WINNER2Channel object:

  • When path loss and shadowing are off, path gains are normalized. Specifically, path gains are normalized when the ModelConfig.ShadowingModelUsed and ModelConfig.PathLossModelUsed parameters are set to 'no'.

  • When the NormalizeChannelOutputs property is true, the average gain of the channel is 0 dB.

References

[1] Kyosti, Pekka, Juha Meinila, et al. WINNER II Channel Models. D1.1.2 V1.2. IST-4–027756 WINNER II, September 2007.

Introduced in R2016b