Main Content

winner2.wim

Generate channel coefficients using WINNER II channel model

Description

Download Required: To use winner2.wim, first download the WINNER II Channel Model for Communications Toolbox add-on.

chanCoef = winner2.wim(cfgWim,cfgLayout) returns channel coefficients based on the WINNER II model parameters for all links defined in the WINNER II network layout.

[chanCoef,pathDelays] = winner2.wim(cfgWim,cfgLayout) also returns the path delays for all links.

[chanCoef,pathDelays,finalCond] = winner2.wim(cfgWim,cfgLayout) also returns the final condition of the system after generating the channel coefficients.

example

[chanCoef,pathDelays,finalCond] = winner2.wim(cfgWim,cfgLayout,initCond) generates the channel coefficients by using the initial system conditions rather than of performing random initialization. initCond is of the same form as finalCond and is typically the finalCond output from the prior call of this function. Use this syntax to repeatedly generate channel coefficients for continuous time samples.

Examples

collapse all

Continuously generate channel coefficients for each link in a two-link system layout.

Configure model parameters.

cfgWim = winner2.wimparset;
cfgWim.SampleDensity = 20;
cfgWim.RandomSeed = 10; % For repeatability

Configure layout parameters.

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

Generate channel coefficients for the first time.

[H1,~,finalCond] = winner2.wim(cfgWim,cfgLayout);

Generate a second set of channel coefficients.

[H2,~,finalCond] = winner2.wim(cfgWim,cfgLayout,finalCond);

Concatenate H1 and H2 in time domain.

H = cellfun(@(x,y) cat(4,x,y),H1,H2,'UniformOutput',false);

Plot H for the first link, 1st Tx, 1st Rx, and 1st path. The plot shows the channel continuity over the two outputs from the winner2.wim function.

figure;
Ts = finalCond.delta_t(1);  % Sample time for the 1st link
plot(Ts*(0:2*cfgWim.NumTimeSamples-1)', ...
    abs(squeeze(H{1}(1,1,1,:))));
xlabel('Time (s)');
ylabel('Amplitude');
title('First Path Coefficient of 1st Link, 1st Tx, and 1st Rx');

Input Arguments

collapse all

Configuration model, specified as a structure containing these fields. cfgWim is typically created using the winner2.wimparset function.

Number of time samples, specified as a scalar.

Use predefined path delays and powers for specific scenarios, specified as 'no' or 'yes'.

Use predefined path angles of departure (AoDs) and angles of arrival (AoAs) for specific scenarios, specified as 'yes' or 'no'.

Divide each of the two strongest clusters into three subclusters per link, specified as 'yes' or 'no'.

Use dual-polarized arrays, specified as 'yes' or 'no'.

Use manually defined propagation conditions, specified as 'yes' or 'no'. Set to 'yes' to enforce the use of manually defined propagation conditions (LOS/NLOS) in the PropagConditionVector structure field returned by winner2.layoutparset. Set to 'no' to draw propagation conditions from pre-defined LOS probabilities.

Carrier frequency in Hz, specified as a scalar.

Enforce all links to be sampled at the same time instants, specified as 'no' or 'yes'.

Number of time samples per half wavelength, specified as a scalar.

Sampling interval, specified as an scalar indicating the input signal sample time in seconds. DelaySamplingInterval defines the sampling grid to which the path delays are rounded. A value of 0 seconds indicates no rounding on path delays.

Use shadow fading, specified as 'no' or 'yes'.

Use path loss model, specified as 'no' or 'yes'.

Path loss model, specified as a character vector representing a valid function name. PathLossModel applies only when PathLossModelUsed is set to 'yes'.

Wall material, specified as 'CR_light', 'CR_heavy', 'RR_light', or 'RR_heavy', indicating the wall material for the A1 scenario NLOS path loss calculation. PathLossOption applies only when PathLossModelUsed is set to 'yes'.

Seed for random number generators, specified as a scalar or empty brackets. Empty brackets, [], indicate that the global random stream is used.

Configuration layout, specified as a structure containing these fields, which represent the location and orientation parameters for all simulated stations. cfgLayout is typically created using the winner2.layoutparset function.

Active stations, specified as a row vector of structures describing the antenna arrays for active stations. Stations is created from the arrays input of winner2.layoutparset and adds an additional Velocity field. The row ordering specifies base station (BS) sectors first, followed by the mobile stations (MS). The BS sector and MS positions are randomly assigned. The BS sectors have no velocity. Each MS has a velocity of about 1.42 m/s with a randomly assigned direction.

Number of sectors, specified as a vector indicating the number of sectors in each BS.

BS to MS pairing, specified as a 2-by-NL matrix, where NL specifies the number of links to be modeled. See Stations for BS and MS row ordering.

Spatial scenario, specified as 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.

Propagation condition, specified as a 1-by-NL vector of propagation conditions (LOS = 1 and NLOS = 0) for each link.

Street width, specified as 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. See ScenarioVector for the scenario number mapping. All elements must have the same value. StreetWidth applies only when cfgWim.PathLossModelUsed is set to 'yes'.

Distances from BS to the last LOS point, specified as a 1-by-NL vector. Dist1 is used for the path loss model of the B1 and B2 scenarios. The default value of NaN indicates that the distance is randomly determined in path loss function. See ScenarioVector for the scenario number mapping. Dist1 applies only when cfgWim.PathLossModelUsed is set to 'yes'.

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

Floor numbers, specified as a 1-by-NL vector indicating the floor number where the indoor BS or MS is located. The default value is 1. The NumFloors field is used for the path loss model of the A2 and B4 scenarios only. See ScenarioVector for the scenario number mapping. NumFloors applies only when cfgWim.PathLossModelUsed is set to 'yes'.

Number of floors penetrated, specified as 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. NumPenetratedFloors field applies only when cfgWim.PathLossModelUsed is set to 'yes'.

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

Initial system condition, specified as a structure. initCond is of the same form as finalCond and is typically the finalCond output from the prior call of winner2.wim.

Data Types: struct

Output Arguments

collapse all

Channel coefficients, returned as an NL-by-1 cell array. NL is the number of links in the system. The ith element of chanCoef is an NR(i)-by-NT(i)-by-NP(i)-by-NS array. NR, NT, and NP are link specific. NS is the same for all the links.

  • NR(i) is the number of receive antenna elements at MS for the ith link.

  • NT(i) is the number of transmit antenna elements at BS for the ith link.

  • NP(i) is the number of paths for the ith link.

  • NS is the number of time samples given by cfgWim.NumTimeSamples.

For more information , see Channel Power.

Data Types: cell

Path delays, returned as an NL-by-maxNP matrix. NL is the number of links in the system and maxNP is the maximum number of paths among all links. Each row of the matrix applies to each link. When a link has fewer than maxNP paths, the corresponding row in pathDelays is NaN padded.

Data Types: double

Final system condition, returned as a structure. When generating channel coefficients for continuous time samples, use finalCond as the initCond input for the next call to winner2.wim.

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

Data Types: struct

More About

collapse all

Channel Power

When path loss and shadowing are off, path gains of the computed WINNER channel are normalized. Specifically, path gains are normalized when the ShadowingModelUsed and PathLossModelUsed parameters are set to 'no'.

References

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

Version History

Introduced in R2017a