Одновременная симуляция нескольких исчезающих каналов с WINNER II моделей канала

В этом примере показано, как настроить систему с несколькими базовыми станциями (BS), несколько мобильные станции (MS) и несколько нисходящих каналов MIMO от одного сектора BS до одного MS, с помощью ПОБЕДИТЕЛЯ II Моделей Канала в Communications Toolbox™, который требуется запустить этот пример. Каждая ссылка присвоена со сценарием распространения и условием. Исчезающие коэффициенты канала для всех ссылок сгенерированы одновременно. Импульсный сигнал передается через исчезающий канал для каждой ссылки. Полученные импульсные и частотные характеристики построены для выбранных ссылок.

Материально-технические ресурсы антенной решетки

В WINNER II моделей канала каждый BS состоит из одного или нескольких секторов, и каждый сектор BS и MS присвоены с антенной решеткой. Мы должны сначала установить набор массивов, которые доступны для секторов BS и MS, чтобы использовать, который мы вызываем материально-технические ресурсы антенной решетки.

В этом примере все доступные антенные решетки являются универсальным круговым массивом (UCA). В материально-технических ресурсах существует четыре различных UCAs:

  • 16 элементов с радиусом 30 см

  • 12 элементов с радиусом 30 см

  • 8 элементов с радиусом 30 см

  • 4 элемента с радиусом 5 см

Каждый элемент антенны в UCAs является всенаправленным.

s = rng(21);    % For repeatability

AA(1) = winner2.AntennaArray('UCA', 16, 0.3);
AA(2) = winner2.AntennaArray('UCA', 12, 0.3);
AA(3) = winner2.AntennaArray('UCA', 8,  0.3);
AA(4) = winner2.AntennaArray('UCA', 4,  0.05);

Сконфигурируйте системное размещение

На 300 300 (метрах) карта, мы настроим 3 BS, 5 мс и 6 ссылок. Первый BS имеет один сектор, который оборудован UCA с 16 элементами. Второй BS также имеет один сектор, который оборудован UCA с 12 элементами. Третий BS имеет три сектора, которые оборудованы UCA с 8 элементами каждый. Каждый MS присвоен с UCA с 4 элементами.

BSIdx    = {1; 2; [3 3 3]}; % Index in antenna array inventory vector
MSIdx    = [4 4 4 4 4];     % Index in antenna array inventory vector
numLinks = 6;               % Number of links
range    = 300;             % Layout range (meters)
cfgLayout = winner2.layoutparset(MSIdx, BSIdx, numLinks, AA, range);

Шесть ссылок моделируются в системе. Первый BS соединяет с первой и второй Г-Жой Зэ вторые подключения BS к третьей мс. Для третьего BS, его первых подключений сектора к третьей и четвертой Г-ЖЕ, его вторые подключения сектора к пятой мс и ее третьему сектору не соединяются ни с каким MS. С точки зрения MS каждый из них соединяется с одним BS за исключением третьего, который соединяется и со вторым и с третьим BSS. Каждая ссылка присвоена с одним сценарием распространения, выбранным из B4 (вне помещения к внутреннему), C2 (Городская макроячейка) и C4 (Городской макрос вне помещения к внутреннему). Не угол обзора (NLOS) моделируется для каждой ссылки.

cfgLayout.Pairing = [1 1 2 3 3 4; 6 7 8 8 9 10];  % Index in cfgLayout.Stations
cfgLayout.ScenarioVector = [6 6 13 13 11 11];     % 6 for B4, 11 for C2 and 13 for C4
cfgLayout.PropagConditionVector = [0 0 0 0 0 0];  % 0 for NLOS

Три BSS расположены равными интервалами между 0 и 300 на оси X и имеют ту же позицию по оси Y. Положения MS присвоены гарантировать, что их расстояния до связанного BSS находятся в допустимых областях значений пути потерь для соответствующих сценариев. А именно, области значений для B4, C2 и сценариев C4 [3, 1000], [50, 5000] и [50, 5000] метры, соответственно. По умолчанию каждый сектор BS 32 метра высотой, и MS 1,5 метра высотой. Каждый MS случайным образом присвоен со скоростью, которая не превышает 0,5 м/с ни в одном из этих X, Y и направлений Z.

% Number of BS sectors and MSs in the system
numBSSect = sum(cfgLayout.NofSect);
numMS = length(MSIdx);

% Set up positions for BS sectors. Same position for the third, fourth and
% fifth sectors as they belong to one BS.
cfgLayout.Stations(1).Pos(1:2) = [50;  150];
cfgLayout.Stations(2).Pos(1:2) = [150; 150];
cfgLayout.Stations(3).Pos(1:2) = [250; 150];
cfgLayout.Stations(4).Pos(1:2) = [250; 150];
cfgLayout.Stations(5).Pos(1:2) = [250; 150];

% Set up MS positions
cfgLayout.Stations(6).Pos(1:2)  = [10;  180];  % 50m from 1st BS
cfgLayout.Stations(7).Pos(1:2)  = [60;  50];   % 111.8m from 1st BS
cfgLayout.Stations(8).Pos(1:2)  = [194; 117];  % 55m and 65m from 2nd and 3rd BSs respectively
cfgLayout.Stations(9).Pos(1:2)  = [260; 270];  % 120.4m from 3rd BS
cfgLayout.Stations(10).Pos(1:2) = [295; 90];   % 75m from 3rd BS

% Randomly draw MS velocity
for i = numBSSect + (1:numMS)
    cfgLayout.Stations(i).Velocity = rand(3,1) - 0.5;
end

Чтобы проиллюстрировать системную настройку, мы строим BSS, Г-ЖУ и ссылки между ними на 2D карте. В графике каждый сектор BS представлен кругом, каждый MS представлен крестом, и каждая ссылка представлена прямой линией между соответствующим BS и MS. Когда третий BS имеет три сектора, только три круга показывают на карте.

% Get all BS sector and MS positions
BSPos = cell2mat({cfgLayout.Stations(1:numBSSect).Pos});
MSPos = cell2mat({cfgLayout.Stations(numBSSect+1:end).Pos});

scrsz = get(groot, 'ScreenSize');
figSize = min(scrsz([3,4]))/2.3;
figure('Position', [scrsz(3)*.5-figSize/2,scrsz(4)*.7-figSize/2,figSize,figSize]);
hold on; grid on;
hBS = plot(BSPos(1,:), BSPos(2,:), 'or');   % Plot BS
hMS = plot(MSPos(1,:), MSPos(2,:), 'xb');   % Plot MS
for linkIdx = 1:numLinks  % Plot links
    pairStn = cfgLayout.Pairing(:,linkIdx);
    pairPos = cell2mat({cfgLayout.Stations(pairStn).Pos});
    plot(pairPos(1,:), pairPos(2,:), '-b');
end
xlim([0 300]); ylim([0 300]);
xlabel('X Position (meters)'); ylabel('Y Position (meters)')
legend([hBS, hMS], 'BS', 'MS', 'location', 'northwest');

Сконфигурируйте параметры модели

Существуют параметры многоуровневой модели, которые могут быть настроены в структуре, созданной winner2.wimparset функция. В этом примере центральная частота составляет 5,25 ГГц. Потеря пути и исчезновение затенения моделируются для каждой ссылки. Чтобы поддержать пропускную способность до 100 МГц, два самых сильных кластера каждой ссылки разделены на 3 подкластера каждый, которые на расстоянии в 5 нс. Все ссылки производятся на различных уровнях, которые зависят от скорости Г-Жи Бекоз, которую третьи и четвертые ссылки соединяют с тем же MS, они совместно используют ту же частоту дискретизации.

frameLen = 1600;   % Number of samples to be generated

cfgWim = winner2.wimparset;
cfgWim.NumTimeSamples      = frameLen;
cfgWim.IntraClusterDsUsed  = 'yes';
cfgWim.CenterFrequency     = 5.25e9;
cfgWim.UniformTimeSampling = 'no';
cfgWim.ShadowingModelUsed  = 'yes';
cfgWim.PathLossModelUsed   = 'yes';
cfgWim.RandomSeed          = 31415926;  % For repeatability

Создайте WINNER II систем канала Object™

Мы теперь можем использовать модель и настройки размещения, чтобы создать WINNER II Системных объектов канала. Если объект создается, можно вызвать его info метод, чтобы просмотреть некоторые выведенные системные параметры. Например, в info метод возвращается, NumBSElements, NumMSElements и NumPaths поля указывают на количество элементов массива в секторах BS, количество элементов массива в Г-ЖЕ и количество путей для каждой ссылки. SampleRate поле также показывает частоту дискретизации для каждой ссылки.

WINNERChan = comm.WINNER2Channel(cfgWim, cfgLayout);
chanInfo = info(WINNERChan)
chanInfo = 

  struct with fields:

               NumLinks: 6
          NumBSElements: [16 16 12 8 8 8]
          NumMSElements: [4 4 4 4 4 4]
               NumPaths: [16 16 16 16 24 24]
             SampleRate: [1x6 double]
     ChannelFilterDelay: [7 7 7 7 7 7]
    NumSamplesProcessed: 0

Импульсный сигнал процесса для каждой ссылки

Мы передаем импульсный сигнал через каждую ссылку и наблюдаем импульсные и частотные характеристики в MS. Для этого мы должны создать импульсный сигнал для каждой ссылки и агрегировать их в массив ячеек. Это достигается при помощи NumBSElements поле info метод возвращается и cellfun функция. Импульсный массив ячеек сигнала должен быть обработан объектом канала.

txSig = cellfun(@(x) [ones(1,x);zeros(frameLen-1,x)], ...
    num2cell(chanInfo.NumBSElements)', 'UniformOutput', false);

% Pass impulse signal through each link
rxSig = WINNERChan(txSig);

Графический вывод полученного сигнала в Г-ЖЕ дает общее представление о том, как импульсные и частотные характеристики исчезающего канала ищут каждую ссылку. Из этих 4 антенн в каждом MS только построен полученный сигнал в первой антенне. То, что ссылки производятся на различных уровнях, получено в графике импульсной характеристики. Для каждой ссылки первые несколько выборок от задержки фильтра канала построены в отрицательной оси времени, если таковые имеются.

figure('Position', [scrsz(3)*.3-figSize/2,scrsz(4)*.25-figSize/2,figSize,figSize]);
hold on;
for linkIdx = 1:numLinks
    delay = chanInfo.ChannelFilterDelay(linkIdx);
    stem(((0:(frameLen-1))-delay)/chanInfo.SampleRate(linkIdx), ...
        abs(rxSig{linkIdx}(:,1)));
end
maxX = max((cell2mat(cellfun(@(x) find(abs(x) < 1e-8, 1, 'first'), ...
    rxSig.', 'UniformOutput', false)) - chanInfo.ChannelFilterDelay)./ ...
    chanInfo.SampleRate);
minX = -max(chanInfo.ChannelFilterDelay./chanInfo.SampleRate);
xlim([minX, maxX]);
xlabel('Time (s)'); ylabel('Magnitude');
legend('Link 1', 'Link 2', 'Link 3', 'Link 4', 'Link 5', 'Link 6');
title('Impulse Response at First Receive Antenna');

Когда третьи и четвертые ссылки соединяются с тем же MS и следовательно имеют ту же частоту дискретизации, мы строим их вместе использование Спектра Системный объект Анализатора. Две ссылки имеют 16 путей каждый и демонстрируют значительную селективность частоты.

SA = dsp.SpectrumAnalyzer( ...
    'Name',         'Frequency response', ...
    'SpectrumType', 'Power density', ...
    'SampleRate',   chanInfo.SampleRate(3), ...
    'Position',     [scrsz(3)*.7-figSize/2,scrsz(4)*.25-figSize/2,figSize,figSize], ...
    'Title',        'Frequency Response', ...
    'ShowLegend',   true, ...
    'ChannelNames', {'Link 3','Link 4'});

SA(cell2mat(cellfun(@(x) x(:,1), rxSig(3:4,1)', 'UniformOutput', false)));

rng(s); % Restore RNG

Дальнейшее исследование

Пример показывает, как сконфигурировать WINNER, II исчезающих Системных объектов канала, чтобы смоделировать систему с несколькими ссылками MIMO от BSS до исследования Г-Жи Фертэр включают модификации в поля cfgLayout и cfgWim смоделировать различные антенные решетки как универсальные линейные матрицы (ULA), местоположения BS/MS и соединения, сценарии распространения и условия, и так далее.

Поскольку третьи и четвертые ссылки соединяются с тем же MS, можно объединить полученные сигналы от обеих ссылок путем возмещения выборок соответственно, чтобы составлять задержки фильтра канала на двух ссылках.

Выбранная библиография

  1. ПОБЕДИТЕЛЬ IST II, "WINNER II моделей канала", D1.1.2, сентябрь 2007.

Для просмотра документации необходимо авторизоваться на сайте