File Exchange

image thumbnail

WINNER II Channel Model for Communications System Toolbox

Model and simulate spatially-defined channels for multi-user MIMO wireless systems

65 Downloads

Updated 14 Mar 2018

Installer file for WINNER II Channel Model for Communications System Toolbox
Using WINNER II channel models, you can model and simulate spatially-defined channels for multi-user MIMO wireless systems. You can specify an arbitrary number of base stations (BS) and mobile stations (MS) together with their geometry and location information.

The channel model enables you to simulate both line-of-sight (LOS) and non-LOS propagation conditions. It also allows you to apply multiple indoor and outdoor propagation scenarios. You can perform channel filtering in a streaming fashion with WINNER-generated channel coefficients.

The channel model supports
• RF frequencies up to 6 GHz, and signal bandwidths up to 100 MHz
• Line-of-sight (LOS) and non-LOS propagation
• 12 indoor and outdoor propagation scenarios
• Arbitrarily large antenna arrays (for massive MIMO applications)
• Isotropic, dipole and user-defined antenna element patterns
• A variety of antenna array types (linear, circular, and user-defined)

Opening the .mlpkginstall file from your operating system or from within MATLAB will initiate the installation process for this Add-on and acquire the latest version for the release you have.

This .mlpkginstall file is functional for R2016b and beyond.

Comments and Ratings (26)

Yue Shang

Hi Ahmed, the winner2.AntennaArray function allows you specifying the radiation pattern per antenna element in your antenna array. But it does not allow you importing the radiation pattern for the array. Hope this helps.

I have urgent question please .. can I import measured radiation pattern of MIMO antenna to this model.

Tomasz Nowak

Hello,
I'm wondering if this is an implementation of the final WINNER II model (D1.1.2) or the interim one (D1.1.1)? I am trying to work with different down-tilt angles (so a change in the azimuth direction, which supposedly only by the D1.1.2 model) and the results suggest that the difference in elevation between the transmitter and receiver is ignored

Yue Shang

Hi Ankit, sorry, I haven't tried to model an FDD system. But based on what is described in section 5.4.3, it seems doable. The small scale parameters can be found in the 3rd output of the winner2.wim function. Hope this helps.

Ankit Jain

Hi Yue Shang.
Thanks for response. Is there any work around for creating uplink channel.
I have found this method in 'Kyosti, Pekka, Juha Meinila, et al. WINNER II Channel Models. D1.1.2 V1.2. IST-4–027756 WINNER II, September 2007.' section 5.4.3 which says :

In next steps we explain how to obtain both uplink and downlink channel of an FDD system with
bandwidths of 100 MHz. The center carrier frequencies are fc and fc + Dfc :
· Define BS and MS positions, calculate the channel for one link, e.g. BS to MS at certain
carrier frequency fc
· Save the small scale parameters
· Exchange the positions of the BS and MS
· Calculate the other link, in this example the MS to BS by:
o Using saved small scale parameters
o Randomizing the and initial phases of rays
o Changing the carrier frequency to fc + Dfc

But I am not sure how to implement it specially at step when we need to exchange BS and MS position. Consider for scenario when we have 2 MS connected to 1 BS.

Yue Shang

Hi Ankit, the WINNER II channel only models downlink. Hope this helps.

Ankit Jain

Hi,

How can i create uplink channel (mobile station to base station) for FDD using winner2 toolbox.

Yue Shang

Hi Ahmed, if you have the field pattern for each individual element of the array, you can use the winner2.AntennaArray function to formulate your own antenna array and use it to model the channel.

Yue Shang

@WK, the mobile station's instantaneous velocity is required so the channel is changing over time due to Doppler/phase shifts. In addition, WINNER II uses MS velocity, half wavelength and the ModelConfig.SampleDensity field to implicitly set the signal sampling rate. Please refer to the help page of comm.WINNER2Channel on this.

WK

WK (view profile)

@Yue Shang: Can you clarify your comment to Ioannis: "the distance between BS and MS is fixed for a given object configuration." If this is the case, what is the point to setting the "cfgLayout.Stations.Velocity" property?

can I add my own MIMO antenna radiation pattern to this model?

Yue Shang

Hi Mohammad, thanks for pointing out the typos in the help page example. We will fix it.

Mohammad N.

correct code:

clear
clc

cfgWim = winner2.wimparset;
cfgWim.SampleDensity = 20;
cfgWim.RandomSeed= 10; % For repeatability
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);
[H1,~,finalCond] = winner2.wim(cfgWim,cfgLayout);
[H2,~,finalCond] = winner2.wim(cfgWim,cfgLayout,finalCond);
H = cellfun(@(x,y) cat(4,x,y), H1, H2, 'UniformOutput', false);
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');
grid on;

Mohammad N.

The code example in winner2.wim help page has some syntax bugs and after correction, its result is wrong.

Yue Shang

Hi Itay -- What is shown on the wiki page is the total directivity pattern for a vertical half wavelength dipole, while the plots you demonstrated using winner2.dipole are the V and H polarization directivity patterns in the azimuth plane for the same dipole. For a vertical dipole, the H polarization pattern is zero in the azimuth plane. That’s why you see the difference. Note that winner2.dipole doesn’t model elevation. Please refer to the command line help of winner2.dipole. Hope this helps.

Itay Cnaan

The function winner2.dipole() provides wrong radiation pattern.
The output radiation pattern is zero, while it should follow the dipole known pattern (https://en.wikipedia.org/wiki/Dipole_antenna).

This code demonstrates it:

az = -180:179;
pattern = squeeze(winner2.dipole(az));
figure;
subplot(1,2,1);
polarplot(az/180*pi, pattern(1,:));
title('Vertical');
subplot(1,2,2);
polarplot(az/180*pi, pattern(2,:));
title('Horizontal');

Jorden Lee

Jorge

Jorge (view profile)

John Wang

It is useful for 5G R&D.

Yue Shang

Hi Ioannis, the distance between BS and MS is fixed for a given object configuration, so is the path loss. The power variation can only be from fading. Perhaps it is a slow fading channel and the fading happens to go deep from the start of the simulation. If that is the case, you will see the power go up when you run the simulation long enough. Alternatively, you can try to reduce the SampleDensity field value of the ModelConfig property to see if it can make a difference for you.

Excellent work on this. Just one question: each time the Winner channel filter object is called, the output power is decreasing. My initial thought that this was due to moving away from the BS, but the time-frame is much much smaller than this to justify such variation.

Any comments?

Hello, I have MATLAB 2016b. Yet when I try to install this add-on, it says I need Communications Toolbox 6.3 and I can't find the mentioned toolbox. Hence I am unable to use this add-on. Please help me..

Sorry Parna, this submission is not available for R2015b. Please update your MATLAB version to R2016b and try using it again.

Parna Sabeti

Hello, I've got a message that says this model is not available for this release of MATLAB. I'm using MATLAB R2015b, and it's updated. So, what's wrong? Can anybody help me with that, please?

Parna Sabeti

MATLAB Release Compatibility
Created with R2016b
Compatible with R2016b to R2018a
Platform Compatibility
Windows macOS Linux

MATLAB Online Live Editor Challenge

View the winning live scripts from faculty and students who participated in the recent challenge.

Learn more

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video