В этом примере показано, как смоделировать коммуникацию между несколькими узлами WLAN, содержащими слой управления доступом к среде (MAC), и PHY с помощью SimEvents ®, Stateflow ® и WLAN Toolbox™. Этот пример моделирует сеть 802,11, состоящую из пяти узлов WLAN. Распределенная функция координации (DCF) в MAC моделируется как дискретный график событий, в то время как PHY моделируется с помощью блока MATLAB Discrete Event System. Полученные результаты симуляции включают график во время выполнения, отображающий время, затраченное на конкуренцию, передачу и прием канала для каждого узла. Также показан график, представляющий метрики по узлам, такие как количество переданных, принятых и отброшенных пакетов в слоях PHY и MAC.
802.11™ IEEE ® является набором спецификаций MAC и PHY для реализации WLAN. Типичная сеть WLAN будет иметь несколько устройств (узлов), совместно использующих одни и те же ресурсы канала. Каждый узел может иметь различные типы приложений, передающих или принимающих пакеты от других узлов. Когда узлы совместно используют канал, их передачи могут сталкиваться или мешать друг другу.
Моделирование сети WLAN с несколькими узлами обычно включает моделирование слоя MAC, PHY, общего канала связи, шаблона трафика данных и помех. В этом примере показано, как смоделировать многоузловую сеть WLAN с PHY и MAC 802.11a с помощью дискретной симуляции событий.
Этот пример моделирует сеть WLAN с пятью узлами. Эти узлы реализуют чувствительный к несущей множественный доступ с предотвращением коллизий (CSMA/CA) с физическим восприятием несущей и виртуальным восприятием несущей. Измерение физической несущей использует механизм оценки четкого канала (CCA), чтобы определить, занята ли среда перед передачей. В то время как виртуальное измерение несущей использует рукопожатие RTS/CTS, чтобы предотвратить проблему скрытого узла.
Модель в примере выводит различные статистические данные, такие как количество переданных, принятых и отброшенных пакетов в слоях PHY и MAC, и графики, которые помогают в анализе/оценке эффективности на уровне узла и сети.
Моделирование включает в себя:
Несколько узлов, где каждый узел содержит приложение, MAC- слоя и PHY.
Пакеты, переданные по каналу, который разделяется между несколькими узлами.
Общий канал, который моделируется с этими опциями нарушения канала: pathloss свободного пространства, потеря распространения области значений и многолучевое замирание (с использованием модели канала Релея).
Выделитель положения узла, который используется для конфигурирования положения узлов в сети.
В этом примере узлы 1, 2 и 3 являются активными участниками связи, в то время как узлы 4 и 5 пассивно принимают пакеты по каналу.
Каждый узел моделируется как подсистема с сетевым стеком, который включает в себя прикладные, MAC и физические слои.
Прикладной слой генерирует пакеты с помощью блока SimEvents Entity Generator (SimEvents).
DCF в MAC моделируется как дискретный график событий.
PHY моделируется с помощью блока SimEvents Discrete Event System.
Общий канал моделируется внутри каждого узла в пути приема.
Прикладной слой реализован, чтобы генерировать и принимать трафик приложения. Она разделена на два подблока:
AppTrafficGenerator - Использует блок SimEvents Entity Generator (SimEvents) для генерации пакетов данных с сконфигурированным размером пакета, интервалом между пакетами и узлом назначения. Эти пакеты данных передаются на слой.
AppTrafficReceiver - Использует блок SimEvents Сущности Terminator (SimEvents), чтобы получить пакеты данных от MAC- слоя.
MAC-уровень реализует алгоритм DCF, указанный в разделе 10.3 [1]. Перед передачей пакета слой определяет общий канал, чтобы определить состояние канала. Если канал находится в простое, инициируется пакетная передача. Если канал занят, передача пакета откладывается. Пакеты, ожидающие передачи, находятся в очереди.
В модели MAC- слоя имеет два компонента: управление очередью и алгоритм оспаривания.
Управление очередями
Пакеты, полученные с прикладного слоя, ставятся в очередь до тех пор, пока канал не станет доступен. Пакеты отключаются для передачи, как только канал становится доступным. Размер очереди настраивается. Размер очереди по умолчанию равен 10.
Алгоритм оспаривания
Алгоритм конкуренции, реализованный на уровне MAC, является функциональностью DCF, указанной в разделе 10.3 [1]. Он реализован как конечный конечный автомат с этими шестью различными состояниями:
Бездействие: Нет активных операций
Contend: Конкурирует за канал
Rx: Получает и обрабатывает систему координат
WaitForRx: ожидает системы координат отклика
SendingData: передает систему координат
Eifs: Отсрочка передачи для восстановления ошибки
Обработка уровня состояния на слое
Первоначально MAC- слоя находится в состоянии Idle. При получении пакета от прикладного слоя MAC- слоя переходит в состояние Contend.
В состоянии Contend, если канал определен как свободный в течение периода времени межпространственной системы координат DCF (DIFS), за которым следует случайное время возврата, MAC- слоя переходит в состояние SensingData.
В состоянии SendingData передается систему координат, и слой переходит в состояние WaitForRx.
В состоянии WaitForRx слой ожидает периода времени ожидания ACK/CTS. При приеме ответной системы координат MAC инициирует следующую передачу системы координат. Если ответная система координат не принимается в течение периода ожидания, система координат передается повторно.
При приеме оценки свободного канала (CCA) как занятого с слоя PHY, слой MAC переходит в состояние Rx. Системы координат принимаются и обрабатываются в состоянии Rx. Если ошибочный кадр принят в состоянии Rx, уровень MAC ожидает времени расширенного межфреймового пространства (EIFS) в состоянии Eifs. Если система координат предназначена для другого узла, вектор выделения сети (NAV) обновляется и передача откладывается до тех пор, пока NAV не станет нулем. Если система координат предназначена для этого узла, при необходимости посылается ответная система координат.
Параметры MAC, такие как порог RTS, предел повторных попыток и скорости передачи данных, настраиваются для каждого узла.
Передающая цепь:
Слой инициирует передачу путем отправки запроса начала передачи, содержащего информацию вектора Tx. При получении запроса на запуск PhyTx80211aDES блок конфигурирует параметры передачи PHY с заданным вектором Tx и отправляет подтверждение начала передачи на слой. Параметры PHY сконфигурированы в объекте типа, не формата строения HT wlanNonHTConfig
. При получении подтверждения запуска MAC- слоя отправляет систему координат в блок PhyTx80211aDES.
Блок PhyTx80211aDES генерирует форму волны для MAC- системы координат, используя wlanWaveformGenerator
функция. Он также масштабирует выборки формы волны с сконфигурированным усилением Tx. Сгенерированная форма волны передается через общий канал.
Можно сконфигурировать свойства маски степени Tx (dBm) и усиления Tx (dB) для блока PhyTx80211aDES.
Моделирование повреждений канала:
К переданной форме волны PHY добавляют искажения канала, определенные моделью потерь при распространении в свободном пространстве и многолучевым замираниями Релея. Можно принять решение включить или отключить эти модели обесценения. В дополнение к моделям обесценения область значений приема сигнала также может быть ограничен опциональной моделью потерь распространения области значений. Чтобы смоделировать любую из этих потерь, модель канала должна содержать как положение отправителя, так и приемник наряду с уровнем передаваемого сигнала. Канал моделируется внутри каждого приемного узла, перед передачей формы волны в блок PhyRx80211aDES.
Цепь получателя:
Когда блок PhyRx80211aDES получает форму волны, он масштабирует форму волны с сконфигурированным усилением Rx. Блок PhyRx80211aDES затем применяет тепловой шум и помехи к принятой форме волны. Это осуществляется путем вычисления ожидаемого отношения сигнал-помеха-плюс-шум (SINR) в конце преамбулы, заголовка и полезной нагрузки. Вычисленный SINR добавляется к преамбуле, заголовку и полезной нагрузке принятой формы волны в виде аддитивного белого гауссова шума (AWGN). Блок PhyRx80211aDES затем сравнивает степень формы волны с порогом обнаружения энергии (ED). Если степень формы волны больше, чем порог ED, PHY отправляет индикацию занятости CCA на слой MAC и начинает декодировать сигнал. В противном случае PHY рассматривает форму волны как шум и добавляет ее как помеху предстоящим формам волны для длительности формы волны тока. Если при декодировании обнаруживается ошибка, PHY останавливает дальнейшую обработку формы волны и отправляет индикацию ошибки на слой. Если преамбула и заголовок декодированы успешно, PhyRx80211aDES блок отправляет начальное указание на слой. Если полезная нагрузка также декодирована успешно, полезная нагрузка передается на слой MAC вместе с индикацией успеха.
Коэффициент усиления Rx (дБ) и рисунок шума (дБ) могут быть сконфигурированы для блока PhyRx80211aDES.
Выделитель положения узла используется для присвоения начального положения узлов. Он поддерживает линейные и перечислить стратегии распределения позиций.
Стратегия линейного распределения позиций - равномерно размещает узлы по прямой линии на 2D сетке.
Список Стратегия распределения позиций - Присвоения позиций узлов из списка [[x1 y1 z1] [x2 y2 z2]... [xn yn zn]] таким образом (xk, yk, zk) является положением k-го узла для всех k в (1, 2,..., n).
Симуляция этой модели генерирует:
График выполнения, изображающий время, потраченное на конкуренцию, передачу и прием канала для каждого узла.
График, изображающий метрики для каждого узла, такого как - количество переданных, принятых и отброшенных пакетов в слоях PHY и MAC.
Файл mat statistics.mat
с подробной статистикой, полученной на каждом слое для каждого узла.
Увеличьте число узлов в сети либо путем копирования существующих узлов, либо путем создания пользовательского узла с использованием библиотечных блоков.
Варьируйте параметры приложения: размер пакета и интервал пакета.
Измените параметры MAC: порог RTS, размер очереди Tx, скорость передачи данных и предел повторных попыток.
Измените параметры PHY: коэффициент усиления PHY Tx, коэффициент усиления PHY Rx и рисунок шума Rx.
Измените параметры моделирования канала.
Измените положения узлов с помощью распределителя положения узлов.
Сравните пропускную способность путем изменения различных параметров.
Включите средство просмотра последовательности и увидите сообщения, обменивающиеся между узлами и внутренними компонентами узла.
Этот пример представляет сеть 802.11a с мультиузлами и показывает, как смоделировать коммуникацию между несколькими узлами WLAN с помощью дискретной симуляции событий. DCF в MAC моделируется как дискретный график событий, в то время как PHY моделируется с помощью блока MATLAB Discrete Event System. Отображение визуализации во время выполнения, показывающий время, потраченное на конкуренцию, передачу и прием канала каждым узлом, помогает вам изучить и проанализировать функциональность DCF. Эффективность сетевой связи каждого узла анализируется на основе графика, показывающего связанные с узлом метрики, такие как количество переданных, принятых и отброшенных пакетов в слоях PHY и MAC.
Повторные передачи слоя MAC основаны на общем счетчике повторных попыток вместо короткого отсчета повторных попыток (SRC) и длинного отсчета повторных попыток (LRC), указанных в разделе 10.3.4.4 [1].
Системы координат управления не выполняется.
Слой MAC в каждом узле поддерживает один счетчик порядкового номера для всех передач систем координат, вместо счетчика по адресату.
Адаптация скорости передачи данных на уровне MAC не реализована.
Фрагментация модуля данных службы MAC (MSDU) не реализована.
Интерференция моделируется как AWGN с SINR, полученным из уровня сигнала мешающих пакетов и теплового шума. Интерференция также может быть смоделирована путем объединения выборок Q интерферирующих сигналов.
В примере используются следующие помощники:
dcfApplyFading.m: Применить эффект Релея с замираниями на форме волны.
dcfAssignNodeIDs.m: Присвоение идентификаторов узла.
dcfDisplayStats.m: отображение статистики.
dcfGetNodeInfo.m: Выполните операцию get или set для MAC-адреса данного узла.
dcfGetNodeNamesList.m: Получите список узлов в модели.
dcfGenerateMACFrame.m: Сгенерируйте MAC- систем координат.
dcfPlotQueueLengths.m: Постройте график длин очереди в симуляции.
dcfPlotStats.m: Постройте график статистики временных линий симуляции.
dcfStats.m: Перечисление для указания статистики модели.
dcfUpdateStats.m: Обновите статистику для данного узла.
PhyPrimitives.m: Перечисление показаний между PHY и слоем MAC
PhyRx80211aDES.m: Моделируйте операции PHY, связанные с приемом пакетов.
PhyTx80211aDES.m: Моделируйте операции PHY, связанные с передачей пакетов.
IEEE Std 802.11™ - 2016 Стандарт IEEE на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Беспроводное управление средним доступом к локальной сети (MAC) и спецификации PHY