В этом примере показано, как смоделировать связь между несколькими узлами WLAN, содержащими слой среднего управления доступом (MAC) и PHY использование SimEvents®, Stateflow® и WLAN Toolbox™. Этот пример демонстрирует 802,11 сети, состоящие из пяти узлов WLAN. Распределенная функция координации (DCF) в MAC моделируется как Дискретная Схема событий, тогда как PHY моделируется с помощью блока MATLAB Discrete Event System. Выведенные результаты симуляции включают график во время выполнения, отображающий время, проведенное на конкуренции канала, передаче и приеме для каждого узла. График, представляющий метрики на узел, такие как количество переданных, полученных, и пропущенных пакетов на слоях PHY и MAC, также показывают.
IEEE® 802.11™ является набором MAC и технических требований PHY для реализации WLAN. Типичная сеть WLAN будет иметь несколько устройств (узлы), совместно использующие те же ресурсы канала. Каждый узел может иметь различные типы приложений передающие или получающие пакеты от других узлов. Когда узлы совместно используют канал, их передачи могут столкнуться или вмешаться друг в друга.
Моделирование сети WLAN с несколькими узлами обычно включает моделирование слоя MAC, PHY, разделяемого канала связи, шаблона потока данных и интерференции. В этом примере показано, как смоделировать сеть WLAN мультиузла с 802.11a PHY и MAC с помощью дискретной симуляции события.
Этот пример демонстрирует сеть 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 - Uses SimEvents Entity Generator (SimEvents), чтобы сгенерировать пакеты данных со сконфигурированным пакетным размером, межпакетным интервалом и целевым узлом. Эти пакеты данных передаются слою MAC.
Блок AppTrafficReceiver - Uses SimEvents Entity Terminator (SimEvents), чтобы получить пакеты данных от слоя MAC.
Слой MAC реализует алгоритм DCF, заданный в разделе 10.3 из [1]. Прежде, чем передать пакет, слой MAC обнаруживает разделяемый канал, чтобы определить состояние канала. Если канал неактивен, пакетная передача инициируется. Если канал занят, пакетная передача задерживается. Пакеты, ожидающие передачи, ставятся в очередь.
В модели слой MAC имеет два компонента: управление очереди и состязательный алгоритм.
Управление очереди
Пакеты, полученные от прикладного уровня, ставятся в очередь, пока канал не доступен. Пакеты исключаются из очереди для передачи, если канал становится доступным. Размер очереди конфигурируем. Размер очереди по умолчанию равняется 10.
Состязательный алгоритм
Состязательный алгоритм, реализованный в слое MAC, является функциональностью DCF, заданной в разделе 10.3 из [1]. Это реализовано как конечный автомат с этими шестью различными состояниями:
Неактивный: Никакие активные операции
Спорьте: Борется за канал
Rx: Получает и обрабатывает кадр
WaitForRx: Ожидает системы координат ответа
SendingData: Передает кадр
Eifs: Задерживает передачу для восстановления после ошибки
Обработка государственного уровня в слое MAC
Первоначально слой MAC находится в Состоянии ожидания. При получении пакета от прикладного уровня слой MAC перемещается в Спорить состояние.
В Спорить состоянии, если канал обнаруживается как неактивный сроком на время DCF предает пробел системы координат земле (DIFS), сопровождаемое случайным временем возврата, слой MAC перемещается в состояние SendingData.
В состоянии SendingData передается кадр, и слой MAC перемещается в состояние WaitForRx.
В состоянии WaitForRx слой MAC ожидает сроком на тайм-аут ACK/CTS. При приеме кадра ответа MAC инициирует следующую передачу системы координат. Если кадр ответа не принимается в период тайм-аута, система координат ретранслируется.
При получении ясной оценки канала (CCA) как занятая от слоя PHY, слой MAC перемещается в состояние Rx. Кадры принимаются и обрабатываются в состоянии Rx. Если кадр с ошибками принимается в состоянии Rx, слой MAC ожидает в течение времени расширенного предают пробел системы координат земле (EIFS) в состоянии Eifs. Если система координат предназначается для другого узла, сетевой вектор выделения (NAV) обновляется, и передача задерживается, пока NAV не становится нулевым. Если система координат предназначается к этому узлу, кадр ответа передается в случае необходимости.
Параметры MAC, такие как порог RTS, повторите предел, и скорости передачи данных конфигурируемы для каждого узла.
Цепь передачи:
Слой MAC инициирует передачу путем отправки передачи, запускаются, запрашивают содержащий информацию вектора Tx. При получении запроса запуска блок PhyTx80211aDES конфигурирует параметры передачи PHY с данным вектором Tx и отправляет, передача запускаются, подтверждают к слою MAC. Параметры PHY сконфигурированы в объекте настройки формата non-HT типа wlanNonHTConfig
. При получении запуска подтверждают, слой MAC передает кадр с блоком PhyTx80211aDES.
Блок PhyTx80211aDES генерирует форму волны для системы координат MAC с помощью wlanWaveformGenerator
функция. Это также масштабирует выборки формы волны со сконфигурированным усилением Tx. Сгенерированная форма волны передается через разделяемый канал.
Можно сконфигурировать свойства маски степени Tx (dBm) и усиления Tx (дБ) для блока PhyTx80211aDES.
Моделирование ухудшений канала:
Ухудшения канала, определенные моделью потери на пути свободного пространства и Рейли многопутевое исчезновение, добавляются к переданной форме волны PHY. Можно принять решение включить или отключить эти модели ухудшения. В дополнение к моделям ухудшения область значений приема сигнала может также быть ограничена дополнительной моделью распространения области значений потерь. Чтобы смоделировать любую из этих потерь, модель канала должна содержать и отправителя и положения приемника наряду с переданной силой сигнала. Канал моделируется в каждом узле получения, прежде, чем передать форму волны блоку PhyRx80211aDES.
Цепь приемника:
Когда блок PhyRx80211aDES получает форму волны, он масштабирует форму волны со сконфигурированным усилением Rx. Блок PhyRx80211aDES затем применяет тепловой шум и интерференцию к принятой форме волны. Это сделано путем вычисления ожидаемого сигнала к Отношению интерференции плюс шум (SINR) в конце преамбулы, заголовка и полезной нагрузки. Расчетный SINR добавляется к преамбуле, заголовку и полезной нагрузке принятой формы волны как Аддитивный белый Гауссов шум (AWGN). Блок PhyRx80211aDES затем сравнивает степень формы волны с порогом энергетического обнаружения (ED). Если степень формы волны больше порога ED, PHY отправляет CCA занятую индикацию слою MAC и начинает декодировать форму волны. В противном случае PHY рассматривает форму волны как шум и добавляет его как интерференцию к предстоящим формам волны на время формы тока. Если ошибка найдена при декодировании, PHY останавливает последующую обработку формы волны и отправляет ошибочную индикацию слою MAC. Если преамбула и заголовок декодируются успешно, блок PhyRx80211aDES отправляет индикацию запуска слою MAC. Если полезная нагрузка также декодируется успешно, полезная нагрузка передается слою MAC наряду с индикацией успеха.
Усиление Rx (дБ) и шумовая фигура (дБ) может быть сконфигурировано для блока PhyRx80211aDES.
Средство выделения положения узла используется, чтобы присвоить исходное положение узлов. Это поддерживает линейный и стратегии выделения положения списка.
Стратегия Выделения Линейного положения – узлы Мест однородно в прямой линии, на 2D сетке.
Перечислите Стратегию Выделения Положения – положения узла Присвоений из списка [[x1 y1 z1] [x2 y2 z2]... [xn yn цинк]] таким образом, который (xk, yk, zk) положение k-ого узла для всего k в (1, 2..., n).
Симуляция этой модели генерирует:
График во время выполнения, изображающий время, проведенное на конкуренции канала, передаче и приеме для каждого узла.
График, изображающий метрики для каждого узла такой как – количество переданных, полученных, и пропущенных пакетов на слоях PHY и MAC.
Матовый файл 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, выведенным из силы сигнала вмешивающихся пакетов и теплового шума. Интерференция может также быть смоделирована путем объединения выборок IQ вмешивающихся сигналов.
Пример использует этих помощников:
dcfApplyFading.m: Примените эффект Релеевского замирания на форме волны.
dcfAssignNodeIDs.m: Присвойте идентификаторы узла.
dcfDisplayStats.m: Отобразите статистику.
dcfGetNodeInfo.m: Выполните добираются или операция присвоения для Мак адреса данного узла.
dcfGetNodeNamesList.m: Получите список узлов в модели.
dcfGenerateMACFrame.m: Сгенерируйте системы координат MAC.
dcfPlotQueueLengths.m: Постройте длины очереди в симуляции.
dcfPlotStats.m: Постройте статистику временной шкалы симуляции.
dcfStats.m: Перечисление, чтобы указать на статистику модели.
dcfUpdateStats.m: Обновите статистику для данного узла.
PhyPrimitives.m:Enumeration для признаков между PHY и слоем MAC
PhyRx80211aDES.m: операции PHY Модели связаны с пакетным приемом.
PhyTx80211aDES.m: операции PHY Модели связаны с пакетной передачей.
Станд. IEEE 802.11™ – 2 016 Стандартов IEEE для Информационных технологий – Телекоммуникации и обмен информацией между системами – Локальными сетями и городскими компьютерными сетями – Конкретными требованиями – Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Технические требования PHY