exponenta event banner

Многоузловое сетевое моделирование 802.11a с PHY и MAC

В этом примере показано, как моделировать связь между несколькими узлами WLAN, содержащими уровень управления доступом к среде (MAC) и PHY, с помощью Toolbox™ SimEvents ®, Stateflow ® и WLAN. В этом примере моделируется сеть 802.11, состоящая из пяти узлов WLAN. Распределенная координационная функция (DCF) в MAC моделируется как дискретная диаграмма событий, тогда как PHY моделируется с использованием блока системы дискретных событий MATLAB. Полученные результаты моделирования включают график времени выполнения, отображающий время, затраченное на конкуренцию канала, передачу и прием для каждого узла. График, представляющий метрики для каждого узла, такие как количество переданных, принятых и отброшенных пакетов на уровнях PHY и MAC, также показан.

Фон

IEEE ® 802.11™ представляет собой набор спецификаций MAC и PHY для реализации WLAN. Типичная сеть WLAN будет иметь несколько устройств (узлов), совместно использующих одни и те же ресурсы канала. Каждый узел может иметь различные типы приложений, передающих или принимающих пакеты от других узлов. Когда узлы совместно используют канал, их передачи могут сталкиваться или создавать помехи друг другу.

Моделирование сети WLAN с несколькими узлами обычно включает в себя моделирование уровня MAC, PHY, общего канала связи, шаблона трафика данных и помех. В этом примере показано, как моделировать многоузловую сеть WLAN с PHY и MAC 802.11a с помощью моделирования дискретных событий.

Модель сети 802.11a с несколькими узлами

В этом примере моделируется сеть WLAN с пятью узлами. Эти узлы реализуют множественный доступ с учетом несущей с предотвращением коллизий (CSMA/CA) с физическим восприятием несущей и виртуальным восприятием несущей. Физическое обнаружение несущей использует механизм оценки свободного канала (CCA), чтобы определить, занята ли среда перед передачей. Тогда как обнаружение виртуальной несущей использует квитирование RTS/CTS для предотвращения проблемы скрытого узла.

Модель в примере выводит различные статистические данные, такие как количество переданных, принятых и отброшенных пакетов на уровнях PHY и MAC, и графики, которые помогают в анализе/оценке производительности на уровне узла и сети.

Моделирование включает в себя:

  • Множество узлов, где каждый узел содержит приложение, уровень MAC и PHY.

  • Пакеты, передаваемые по каналу, который совместно используется несколькими узлами.

  • Общий канал, который моделируется с этими опциями ухудшения канала: патлосс свободного пространства, потеря распространения диапазона и многолучевое замирание (с использованием модели канала Рэлея).

  • Распределитель позиций узлов, который используется для конфигурирования позиций узлов в сети.

В примере узлы 1, 2 и 3 являются активными участниками связи, в то время как узлы 4 и 5 пассивно принимают пакеты по каналу.

Узел

Каждый узел моделируется как подсистема с сетевым стеком, который включает в себя прикладные, MAC и физические уровни.

  • Прикладной уровень генерирует пакеты, используя блок генератора объектов SimEvents (SimEvents).

  • DCF в MAC моделируется как дискретная диаграмма событий.

  • PHY моделируется с использованием блока системы дискретных событий SimEvents.

  • Совместно используемый канал моделируется внутри каждого узла в тракте приема.

Уровень приложений

Прикладной уровень реализован для генерации и приема прикладного трафика. Он разделен на два подблока:

  • AppTrafficGenerator - использует блок генератора объектов SimEvents (SimEvents) для генерации пакетов данных с настроенным размером пакета, межпакетным интервалом и узлом назначения. Эти пакеты данных передаются на уровень MAC.

  • AppTrafficReceiver - использует блок терминатора объекта SimEvents (SimEvents) для приема пакетов данных с уровня MAC.

Уровень MAC

Уровень MAC реализует алгоритм DCF, указанный в разделе 10.3 [1]. Перед передачей пакета уровень MAC воспринимает совместно используемый канал для определения состояния канала. Если канал свободен, инициируется пакетная передача. Если канал занят, передача пакетов откладывается. Пакеты, ожидающие передачи, поставлены в очередь.

В модели уровень MAC имеет два компонента: управление очередями и алгоритм конкуренции.

Управление очередями

Пакеты, полученные от прикладного уровня, ставятся в очередь до тех пор, пока канал не станет доступным. Пакеты удаляются из очереди для передачи, как только канал становится доступным. Размер очереди настраивается. Размер очереди по умолчанию равен 10.

Алгоритм конкуренции

Алгоритм конкуренции, реализованный на уровне MAC, является функциональностью DCF, указанной в разделе 10.3 [1]. Он реализован как конечный конечный автомат с этими шестью различными состояниями:

  • Неактивно: нет активных операций

  • Контенд: Выступает за канал

  • Rx: Принимает и обрабатывает кадр

  • WaitForRx: Ожидание кадра ответа

  • SendingData: Передача кадра

  • Eifs: Откладывает передачу для восстановления ошибок

Обработка уровня состояния на уровне MAC

  • Первоначально уровень MAC находится в состоянии ожидания. При приеме пакета от прикладного уровня уровень MAC переходит в состояние Contend.

  • В состоянии Contend, если канал воспринимается как неактивный в течение периода времени DCF между пространствами кадров (DIFS), за которым следует случайное время отката, уровень MAC переходит в состояние SendingData.

  • В состоянии SendingData кадр передается, и уровень MAC переходит в состояние WaitForRx.

  • В состоянии WaitForRx уровень MAC ожидает периода времени ожидания ACK/CTS. При приеме ответного кадра MAC инициирует передачу следующего кадра. Если кадр ответа не принят в течение периода тайм-аута, кадр передается повторно.

  • При приеме оценки свободного канала (CCA) как занятого от уровня PHY уровень MAC переходит в состояние Rx. Кадры принимаются и обрабатываются в состоянии приема. Если в состоянии Rx принят кадр с ошибками, уровень MAC ожидает в состоянии Eifs времени расширенного межкадрового пространства (EIFS). Если кадр предназначен для другого узла, вектор распределения сети (NAV) обновляется и передача откладывается до тех пор, пока NAV не станет нулевой. Если кадр предназначен для этого узла, при необходимости посылается кадр ответа.

Параметры MAC, такие как пороговое значение RTS, ограничение повтора и скорости передачи данных, настраиваются для каждого узла.

PHY и канал

Цепь передачи:

Уровень MAC инициирует передачу, посылая запрос начала передачи, содержащий информацию вектора передачи. При приеме запроса на запуск блок PhyTx80211aDES конфигурирует параметры передачи PHY с заданным вектором Tx и посылает подтверждение начала передачи на уровень MAC. Параметры PHY конфигурируются в объекте конфигурации без формата HT типа wlanNonHTConfig. При получении подтверждения запуска уровень MAC посылает кадр в блок PhyTx80211aDES.

Блок PhyTx80211aDES генерирует форму сигнала для кадра MAC, используя wlanWaveformGenerator функция. Он также масштабирует выборки формы сигнала с помощью сконфигурированного усиления Tx. Сформированный сигнал передается по совместно используемому каналу.

Можно настроить свойства маски мощности передачи (дБм) и усиления передачи (дБ) для блока PhyTx80211aDES.

Моделирование ослабления канала:

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

Цепочка приемников:

Когда блок PhyRx80211aDES принимает сигнал, он масштабирует сигнал с помощью сконфигурированного усиления Rx. Блок PhyRx80211aDES затем применяет тепловой шум и помехи к принятой форме сигнала. Это выполняется путем вычисления ожидаемого отношения сигнал/помеха-плюс-шум (SINR) в конце преамбулы, заголовка и полезной нагрузки. Вычисленное SINR добавляется к преамбуле, заголовку и полезной нагрузке принятого сигнала в виде аддитивного белого гауссова шума (AWGN). Затем блок PhyRx80211aDES сравнивает мощность формы сигнала с порогом обнаружения энергии (ED). Если мощность сигнала больше порога ED, PHY посылает на уровень MAC индикацию занятости CCA и начинает декодирование сигнала. В противном случае PHY рассматривает сигнал как шум и добавляет его как помеху к предстоящим сигналам в течение длительности текущего сигнала. Если ошибка обнаружена во время декодирования, PHY останавливает дальнейшую обработку формы сигнала и посылает индикацию ошибки на уровень MAC. Если преамбула и заголовок декодированы успешно, блок PhyRx80211aDES посылает индикацию начала на уровень MAC. Если полезная нагрузка также успешно декодирована, то полезная нагрузка передается на уровень MAC вместе с индикацией успеха.

Коэффициент усиления Rx (дБ) и коэффициент шума (дБ) могут быть сконфигурированы для блока PhyRx80211aDES.

Распределитель позиций узлов

Для назначения начального положения узлов используется распределитель позиций узлов. Он поддерживает линейные и списочные стратегии присвоения позиций.

Стратегия распределения линейных позиций (Linear Position Allocation Strategy) - размещение узлов равномерно по прямой, на 2D сетке.

Стратегия распределения позиций списка - присваивает позиции узла из списка [[x1 y1 z1] [x2 y2 z2]... [xn yn zn]] таким образом, что (xk, yk, zk) является позицией k-го узла для всех k в (1, 2,..., n).

Результаты моделирования

При моделировании этой модели генерируются:

  1. График времени выполнения, показывающий время, затраченное на конкуренцию канала, передачу и прием для каждого узла.

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

  3. Файл мата statistics.mat с подробной статистикой, полученной на каждом уровне для каждого узла.

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

  1. Увеличение числа узлов в сети путем копирования существующих узлов или создания пользовательского узла с использованием блоков библиотеки.

  2. Изменение параметров приложения: размера пакета и интервала пакетов.

  3. Измените параметры MAC: пороговое значение RTS, размер очереди передачи, скорость передачи данных и ограничение повтора.

  4. Измените параметры PHY: коэффициент усиления PHY Tx, коэффициент усиления PHY Rx и коэффициент шума Rx.

  5. Изменение параметров моделирования канала.

  6. Измените позиции узлов с помощью распределителя позиций узлов.

  7. Сравните пропускную способность путем изменения различных параметров.

  8. Включите средство просмотра последовательностей и просмотрите сообщения, которыми обмениваются узлы и внутренние компоненты узла.

В этом примере представлена многоузловая сеть 802.11a и показано, как моделировать связь между несколькими узлами WLAN с помощью моделирования дискретных событий. DCF в MAC моделируется как дискретная диаграмма событий, тогда как PHY моделируется с использованием блока системы дискретных событий MATLAB. Визуализация во время выполнения, показывающая время, затраченное на соперничество, передачу и прием канала каждым узлом, помогает изучить и проанализировать функциональность DCF. Производительность сетевой связи каждого узла анализируется на основе графика, показывающего связанные с узлом метрики, такие как количество переданных, принятых и отброшенных пакетов на уровнях PHY и MAC.

Ограничения

  1. Повторные передачи MAC-уровня основаны на общем счетчике повторных попыток вместо счетчика коротких повторов (SRC) и счетчика длинных повторов (LRC), указанных в разделе 10.3.4.4 из [1].

  2. Обмен кадрами управления не осуществляется.

  3. Уровень MAC в каждом узле поддерживает один счетчик порядковых номеров для всех передач кадра вместо счетчика для каждого адресата.

  4. Адаптация скорости передачи данных на уровне MAC не реализована.

  5. Фрагментация блока данных службы MAC (MSDU) не реализована.

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

Приложение

В примере используются следующие помощники:

  1. dcfApplyFading.m: Применить эффект релейного замирания к форме сигнала.

  2. dcfAssignNaseIDs.m: Назначить идентификаторы узлов.

  3. dcfDisplayStats.m: Отображение статистики.

  4. dcfGetNityInfo.m: Выполните операцию get или set для MAC-адреса данного узла.

  5. dcfGetNaseNamesList.m: Получение списка узлов в модели.

  6. dcfGenerateMACFrame.m: Создание кадров MAC.

  7. dcfPlotQueeyLengths.m: Печать длин очереди в моделировании.

  8. dcfPlotStats.m: Печать статистики временной линии моделирования.

  9. dcfStats.m: Перечисление для указания статистики модели.

  10. dcfStartStats.m: Обновление статистики для данного узла.

  11. PhyPrimitives.m: Перечисление указаний между PHY и уровнем MAC

  12. PhyRx80211aDES.m: Моделирование операций PHY, связанных с приемом пакетов.

  13. PhyTx80211aDES.m: Моделирование операций PHY, связанных с передачей пакетов.

Ссылки

  1. IEEE Std 802.11™ - Стандарт IEEE 2016 для информационных технологий - Телекоммуникации и обмен информацией между системами - Локальные и городские сети - Особые требования - Часть 11: Управление доступом к среде беспроводной локальной сети (MAC) и спецификации PHY