Начало работы с симуляцией уровня системы WLAN в MATLAB

В этом примере показано, как смоделировать сеть WLAN, состоящую из точки доступа (AP) IEEE® 802.11ax™ [1] и станции (STA) при помощи WLAN Toolbox™.

Используя этот пример, вы можете:

  • Симулируйте мультиузел система WLAN путем конфигурирования прикладного уровня (APP), среднее управление доступом (MAC) и физический уровень (PHY) параметры в каждом узле.

  • Восходящая и нисходящая связь модели между AP и STA.

  • Переключитесь между абстрактной и полной моделью MAC и PHY.

  • Визуализируйте время, проведенное каждым узлом в неактивном, конкуренции, передаче и состояниях приема.

  • Просмотрите показатели производительности, такие как пропускная способность, задержка, пакетная потеря и другие связанные с сетью метрики при помощи statistics.mat файл.

Симуляция уровня системы WLAN

Этот пример показывает вам, как смоделировать сеть WLAN с восходящей и нисходящей связью между AP (Узел 1) и STA (Узел 2). Этот пример принимает, что AP и STA предварительно сопоставлены. Предварительная ассоциация подразумевает, что AP и STA соединяются перед запуском симуляции.

Этот рисунок показывает связь между AP и STA.

Этот рисунок показывает рабочий процесс в качестве примера.

Этот пример проверяет эффективность симуляции по результатам сценариев Поля 3 и Поля 5, заданных в методологии [2] оценки TGax. Чтобы подтвердить податливость со стандартом IEEE 802.11, этот пример подтверждает сетевую пропускную способность, которая вычисляется для сценариев симуляции TGax [3] против опубликованной калибровки, следует из Исследовательской группы TGax.

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

Задайте время симуляции (в миллисекундах) при помощи simulationTime переменная. Чтобы визуализировать живой график изменения состояния для всех узлов, установите showLiveStateTransitionPlot переменная к true. Чтобы визуализировать таблицу, содержащую сетевую статистику в конце симуляции, установите displayStatistics переменная к true.

Установите seed для генератора случайных чисел к 1. Начальное значение управляет шаблоном генерации случайных чисел. Случайное число, сгенерированное начальным значением, влияет на выбор счетчика возврата в MAC и моделирование потери на пути в PHY. Для высококачественных результатов симуляции измените начальное значение и насчитайте результаты по нескольким симуляциям.

rng(1,'combRecursive');             % Seed for random number generator
simulationTime = 1000;              % Simulation time in milliseconds
showLiveStateTransitionPlot = true; % Enable live state transition plot for all nodes
displayStatistics = true;           % Display statistics at the end of the simulation

% To access all of the helper files in this example, add the
% mlWLANSystemSimulation folder to the MATLAB path
addpath(genpath(fullfile(pwd,'mlWLANSystemSimulation')));

Узлы

Сконфигурируйте узлы WLAN при помощи этих параметров.

  • numNodes - Задает желаемое количество узлов в сети

  • nodePositions - Задает положение узлов в xY-, и z- Декартова система координат

  • nodeConfig - Задает MAC и настройку PHY каждого узла

Задайте количество узлов в сети путем изменения значений numNodes, nodePositions, nodeConfig, и trafficConfig параметры.

numNodes = 2;

Задайте положения узлов WLAN как numNodes- 3 матрицы, где numNodes количество узлов в сети. Каждая строка задает Декартовы координаты узла, начинающего с первого узла.

nodePositions = [10 0 0; 20 0 0]; % In meters

Задайте настройку для каждого узла WLAN как numNodes- 1 вектор. Настройкой для узла является wlanNodeConfig структура.

wlanNodeConfig.mat файл задает MAC, PHY и конфигурационную структуру канала узла. Конфигурирование узлов включает подготовку настройки узла по умолчанию и затем конфигурирование параметров в PHY и MAC каждого узла. В каждом узле можно сконфигурировать TxFormatпропускная способность, BandAndChannel, MPDUAggregation, и другие такие параметры в nodeConfig структура. Для получения дополнительной информации о параметрах конфигурации в MAC, PHY и канал, видят Состав Узла WLAN и Настройку.

% Default configuration for all of the nodes
load('wlanNodeConfig.mat');
nodeConfig = repmat(wlanNodeConfig,1,numNodes);

% Configure the AP
nodeConfig(1).NodePosition = nodePositions(1,:);
nodeConfig(1).TxFormat = 'HE_SU';
nodeConfig(1).BandAndChannel = {[5 36]};
nodeConfig(1).Bandwidth = 20;                    % MHz
nodeConfig(1).MPDUAggregation = true;
nodeConfig(1).TxMCS = 2;
nodeConfig(1).NumTxChains = 1;
nodeConfig(1).DisableRTS = false; 
nodeConfig(1).DisableAck = false;

% Configure the STA
nodeConfig(2).NodePosition = nodePositions(2,:);
nodeConfig(2).TxFormat = 'HE_SU';
nodeConfig(2).BandAndChannel = {[5 36]};
nodeConfig(2).Bandwidth = 20;                    % MHz
nodeConfig(2).MPDUAggregation = true;
nodeConfig(2).TxMCS = 2;
nodeConfig(2).NumTxChains = 1;
nodeConfig(2).DisableRTS = false; 
nodeConfig(2).DisableAck = false;

Трафик приложения

wlanTrafficConfig.mat файл задает структуру, чтобы сконфигурировать приложение в узле. К нисходящему трафику модели в AP к STA, набор SourceNode и DestinationNode значения в trafficConfig структура с AP и числами узла STA, соответственно. К восходящему трафику модели в AP от STA, набор SourceNode и DestinationNode значения в trafficConfig структура с STA и числами узла AP, соответственно.

Чтобы сконфигурировать несколько приложений, выполните эти шаги.

  1. Скопируйте настройку по умолчанию в каждый элемент trafficConfig вектор структуры.

  2. Обновите настройку трафика для новых элементов.

Для получения дополнительной информации о параметрах конфигурации, см. Состав Узла WLAN и Настройку.

% Load the application traffic configuration for WLAN nodes
load('wlanTrafficConfig.mat');

% Copy the default configuration for all of the nodes
trafficConfig = repmat(wlanTrafficConfig,1,numNodes);

% Configure downlink application traffic
trafficConfig(1).SourceNode = 1;        % AP node ID
trafficConfig(1).DestinationNode = 2;   % STA node ID
trafficConfig(1).DataRateKbps = 100000;
trafficConfig(1).PacketSize = 1500;     % In bytes
trafficConfig(1).AccessCategory = 0;    % Best Effort (0), Background (1), Video (2), and Voice (3)

% Configure uplink application traffic
trafficConfig(2).SourceNode = 2;        % STA node ID
trafficConfig(2).DestinationNode = 1;   % AP node ID
trafficConfig(2).DataRateKbps = 100000;
trafficConfig(2).PacketSize = 1500;     % In bytes
trafficConfig(2).AccessCategory = 0;    % Best Effort (0), Background (1), Video (2), and Voice (3)

Создайте сценарий WLAN

hCreateWLANNodes функция помощника позволяет:

  • Создайте узлы WLAN с APP, MAC и слоями PHY, сконфигурированными предыдущими параметрами.

  • Добавьте пользовательские алгоритмы в APP, MAC и слоях PHY путем изменения кода настройки алгоритма в hCreateWLANNodes функция помощника.

По умолчанию, hCreateWLANNodes функция помощника конфигурирует абстрагированный MAC и PHY в каждом узле WLAN.

В передатчике и приемнике, моделируя полную обработку MAC включает полную генерацию системы координат MAC на слое MAC. Точно так же моделирующая полная обработка PHY включает полные операции, связанные с передачей формы волны и приемом через исчезающий канал. Когда симуляция больших сетей, полного MAC и обработки PHY является в вычислительном отношении дорогой.

В абстрактном MAC узел не генерирует или декодирует любые системы координат на слое MAC. Точно так же в абстрактном PHY, узел не генерирует или декодирует любые формы волны в PHY. MAC и абстракция PHY позволяют вам минимизировать сложность и длительность симуляций уровня системы. Для получения дополнительной информации об абстракции PHY смотрите Абстракцию Физического уровня для примера Симуляции Уровня системы.

hCreateWLANNodes функция помощника позволяет вам переключиться между абстрактной и полной моделью MAC или PHY путем конфигурирования MACFrameAbstraction и PHYAbstractionType введите параметры. Допустимые значения для этих параметров:

  • MACFrameAbstraction - TRUE или FALSE

  • PHYAbstractionType - ‘Приложение 1 методологии оценки TGax’ (значение по умолчанию), ‘калибровка MAC сценариев симуляции TGax’ или 'ни один'

Если вы устанавливаете PHYAbstractionType к 'TGax Evaluation Methodology Appendix 1', PHY оценивает эффективность ссылки с моделью канала TGax при помощи эффективного сигнала к интерференции плюс шумовое отношение (SINR) отображение. В качестве альтернативы, если вы устанавливаете PHYAbstractionType к 'TGax Simulation Scenarios MAC Calibration' PHY принимает пакетный отказ на интерференции, на самом деле не вычисляя эффективность ссылки. Чтобы использовать полный PHY, установите значение PHYAbstractionType к 'None'.

MACFrameAbstraction = true;
PHYAbstractionType = "TGax Evaluation Methodology Appendix 1";

wlanNodes = hCreateWLANNodes (nodeConfig, trafficConfig,...
'MACFrameAbstraction', MACFrameAbstraction,...
'PHYAbstractionType', PHYAbstractionType);

Эта таблица показывает, как переключиться между абстрактным и полным MAC или PHY путем конфигурирования значений MACFrameAbstraction и PHYAbstractionType введите параметры.

Симуляция

Чтобы инициализировать параметры визуализации и симулировать сценарий WLAN, используйте hStatsLogger и hWirelessNetworkSimulator помощник функционирует, соответственно.

% Initialize the visualization parameters
visualizationInfo = struct;
visualizationInfo.Nodes = wlanNodes;
visualizationInfo.NodeNames = {'AP','STA'};
statsLogger = hStatsLogger(visualizationInfo);

% Configure state transition visualization
if showLiveStateTransitionPlot
    hPlotStateTransition(visualizationInfo);
end

% Initialize the wireless network simulator
networkSimulator = hWirelessNetworkSimulator(wlanNodes);

Сетевое средство моделирования обеспечивает гибкость, чтобы запланировать пользовательские события в симуляции при помощи scheduleEvent объектная функция.

Например, каждый раз, когда вы вызываете средство моделирования, можно запланировать событие, чтобы обновить визуализацию изменения состояния. Когда вы запускаете пример из командной строки MATLAB, это событие приостанавливают выполнение, чтобы обновить визуализацию после каждых 5 миллисекунд.

Чтобы запланировать событие, задайте указатель на функцию, входные параметры, время, чтобы вызвать событие и периодичность события.

scheduleEvent(networkSimulator,@() pause(0.001),[],0,5);

Для получения дополнительной информации о планировании событий введите эту команду в командной строке MATLAB.

help hWirelessNetworkSimulator.scheduleEvent

Запустите все узлы в сети для заданного времени симуляции и визуализируйте периоды изменения состояния узлов.

run(networkSimulator,simulationTime);

Figure MAC State Transitions Over Time contains an axes object and another object of type uicontrol. The axes object contains 1137 objects of type bar, rectangle. These objects represent Contention, Transmission, Reception(destined to others), Idle/EIFS/SIFS, Reception(destined to node).

Очистите персистентные переменные, используемые в функциях.

clear hPlotStateTransition;

Результаты

В каждом узле симуляция получает эти сетевые статистические данные.

  • Пропускная способность MAC

  • Время проведено в спорить состоянии, состоянии ожидания и передающем состоянии данных

  • Tx и статистика Rx в APP, MAC и PHY

Получите статистику и сохраните их в MAT-файле.

statistics = getStatistics(statsLogger,displayStatistics);
Statistics table for band 5 and channel number 36
statisticsTable=113×2 table
                                    AP           STA    
                                __________    __________

    ActiveOperationInFreq                1             1
    AppTxAC_BE                        8334          8334
    AppTxAC_BK                           0             0
    AppTxAC_VI                           0             0
    AppTxAC_VO                           0             0
    AppTxBytes                  1.2501e+07    1.2501e+07
    AppRxAC_BE                         863           766
    AppRxAC_BK                           0             0
    AppRxAC_VI                           0             0
    AppRxAC_VO                           0             0
    AppRxBytes                  1.2945e+06     1.149e+06
    AppTxOverflow                     7312          7215
    AppAvgPacketLatency         2.4389e+05    2.7887e+05
    AppAvgPacketLatencyAC_BE    2.4389e+05    2.7887e+05
    AppAvgPacketLatencyAC_BK             0             0
    AppAvgPacketLatencyAC_VI             0             0
      ⋮

save('statistics.mat','statistics');

Можно получить доступ ко всем статистическим данным из предыдущей таблицы при помощи statistics.mat файл. Для получения дополнительной информации о статистике, полученной в каждом узле, смотрите Статистику, Полученную в Симуляции Уровня системы WLAN.

hPlotNetworkStats функция помощника анализирует собранные статистические данные и строит пропускную способность, отношение пакетной потери и среднюю пакетную задержку в каждом узле. Этот график показывает пропускную способность (в Мбит/с) и отношение пакетной потери (отношение неудачных передач данных к общим передачам данных) в AP и STA. График также показывает среднюю пакетную задержку, испытанную в STA. Средняя пакетная задержка показывает среднюю задержку, что STA подвергается, чтобы получить нисходящий трафик от AP.

hPlotNetworkStats(statistics,wlanNodes);

Figure contains 3 axes objects. Axes object 1 with title Throughput at Each Transmitter contains an object of type bar. Axes object 2 with title Packet-loss at Each Transmitter contains an object of type bar. Axes object 3 with title Average Packet Latency at Each Receiver contains an object of type bar.

В конце симуляции удалите mlWLANSystemSimulation папку из пути.

rmpath(genpath(fullfile(pwd,'mlWLANSystemSimulation')));

Ссылки

  1. IEEE P802.11ax™/D4.1. "Поправка 6: Улучшения для Высокой эффективности WLAN". Спроектируйте Стандарт для Информационных технологий - Телекоммуникаций и обмена информацией между системными Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования.

  2. “Сценарии симуляции TGax”, документ. IEEE 802.11-14/0980r16.

  3. “11ax методология оценки”, документ. IEEE 802.11-14/0571r12.

Похожие темы