Визуализируйте изменения состояния узла в 802.11ax симуляция уровня системы

Функции WLAN Toolbox™ позволяют вам визуализировать время, проведенное узлом в каждом состоянии в симуляции уровня системы WLAN. Используя этот пример, вы можете:

  • Создайте и сконфигурируйте с четырьмя узлами 802.11ax™ сеть, состоящая из двух точек доступа (APS) и двух станций (STAs).

  • Симулируйте сеть путем конфигурирования восходящего и нисходящего трафика.

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

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

Сконфигурируйте узел WLAN и визуализируйте изменения состояния в 802.11ax симуляция уровня системы

Чтобы получить доступ к файлам помощника, которые использует этот пример, добавьте mlWLANSystemSimulation папка к пути MATLAB.

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

Установите время симуляции в миллисекундах.

simulationTime = 0.02*1e3;

Позвольте опции показать живой график изменения состояния для всех узлов.

showLiveStateTransitionPlot = true;

Задайте общее количество узлов (APS и STAs) в сети. Этот пример использует два APS и два STAs.

numNodes = 4;

Задайте x-, y-, и z-координаты узлов WLAN в Декартовой системе координат. Этот пример рассматривает первые два узла как APS и следующие два узла как STAs.

nodePositions = [10 0 0; 20 0 0; 15 5 0; 13 8 0];

Загрузите настройку по умолчанию для узлов WLAN.

load('wlanNodeConfig.mat');

Установите параметры конфигурации узла.

wlanNodeConfig.TxMCS = 5;                              % Modulation and coding scheme index
wlanNodeConfig.DisableRTS = true;                      % Disable RTS/CTS exchange
wlanNodeConfig.NumTxChains = 3;                        % Number of transmit chains
wlanNodeConfig.MaxSubframes = 64;                      % Maximum number of subframes that can be aggregated in an A-MPDU
wlanNodeConfig.Bandwidth = 80;                         % Channel bandwidth (in MHz)
wlanNodeConfig.TxFormat = 'HE_SU';                     % Frame transmission format

Скопируйте настройку по умолчанию для всех узлов.

nodeConfig = repmat(wlanNodeConfig,1,numNodes);

Инициализируйте положение узла APS и STAs.

for idx = 1:1:numNodes
    nodeConfig(idx).NodePosition = nodePositions(idx,:);
end

Загрузите настройку трафика приложения по умолчанию для узлов WLAN.

load('wlanTrafficConfig.mat');

Инициализируйте узлы восходящей и нисходящей настройкой трафика путем копирования настройки по умолчанию для узлов WLAN.

trafficConfig = repmat(wlanTrafficConfig,1,3);

Сконфигурируйте трафик максимальных усилий по восходящему каналу AP в первом AP от первого STA. Идентификаторы узла 1 и 2 представляют первый и второй APS, соответственно. Идентификаторы узла 3 и 4 представляют первый и второй STAs, соответственно.

trafficConfig(1).SourceNode = 3;                       % STA node ID
trafficConfig(1).DestinationNode = 1;                  % AP node ID
trafficConfig(1).AccessCategory = 0;                   % Best Effort (0), Background (1), Video (2), and Voice (3)

Сконфигурируйте нисходящий видео трафик AP во втором AP к первому STA.

trafficConfig(2).SourceNode = 2;                       % AP node ID
trafficConfig(2).DestinationNode = 3;                  % STA node ID
trafficConfig(2).AccessCategory = 2;

Сконфигурируйте речевой трафик нисходящего канала AP в первом AP к второму STA.

trafficConfig(3).SourceNode = 1;                       % AP node ID
trafficConfig(3).DestinationNode = 4;                  % STA node ID
trafficConfig(3).AccessCategory = 3;

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

wlanNodes = hCreateWLANNodes(nodeConfig,trafficConfig);

Инициализируйте параметры визуализации.

visualizationInfo = struct;
visualizationInfo.Nodes = wlanNodes;
visualizationInfo.NodeNames = ["AP1","AP2","STA1","STA2"];

Сконфигурируйте визуализацию изменения состояния при помощи hPlotStateTransition функция помощника.

if showLiveStateTransitionPlot
    hPlotStateTransition(visualizationInfo);
end

Симулируйте сеть при помощи hWirelessNetworkSimulator объект помощника.

networkSimulator = hWirelessNetworkSimulator(wlanNodes);         % Object that handles network simulation

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

scheduleEvent(networkSimulator, @() pause(0.001), [], 0, 5);     % Refresh visualization after every 5 milliseconds

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

run(networkSimulator,simulationTime);
title('State Transitions for All Nodes');

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

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

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

Похожие темы