exponenta event banner

Оценка коэффициента доставки пакетов в ячеистой сети Bluetooth

В этом примере моделируется многоузловое моделирование дискретных событий (DES) ячеистой сети Bluetooth ® с использованием библиотеки Communications Toolbox™ Library для протокола Bluetooth ®. DES - процесс моделирования поведения системы как упорядоченной и дискретной последовательности четко определенных событий, происходящих во временной области. DES позволяет моделировать события в системе, происходящие в микросекундной детализации. Кроме того, DES также приводит к сокращению времени моделирования, что делает возможным поддержку крупномасштабного моделирования на уровне системы. Многоузловая ячеистая сеть, смоделированная в этом примере, моделирует полный набор ячеек Bluetooth по рекламному носителю. Целью примера является точное моделирование асинхронных передач с использованием DES. Результаты моделирования включают в себя коэффициент доставки пакетов (PDR), связанную с узлом статистику и график, отображающий визуальное представление ячеистой сети.

Стек сетки Bluetooth

Спецификация ядра Bluetooth [1] включает версию с низким энергопотреблением для низкоскоростных беспроводных персональных сетей, называемых Bluetooth с низким энергопотреблением (BLE) или Bluetooth Smart. Стек BLE состоит из: общего профиля атрибутов (GATT), протокола атрибутов (ATT), протокола диспетчера безопасности (SMP), протокола управления и адаптации логического канала (L2CAP), канального уровня (LL) и физического уровня (PHY). BLE был добавлен в стандарт для устройств с низким энергопотреблением, генерирующих небольшие объемы данных, таких как уведомления, используемые в таких приложениях, как домашняя автоматизация, здравоохранение, фитнес и Интернет вещей (IoT).

Профиль сетки Bluetooth [2] определяет фундаментальные требования к реализации сетевых решений ячеистой сети для BLE. Сетчатый стек расположен поверх спецификации ядра Bluetooth и состоит из: уровня модели, уровня базовой модели, уровня доступа, верхнего транспортного уровня, нижнего транспортного уровня, сетевого уровня и уровня носителя. Сетевая сеть Bluetooth обеспечивает сквозную связь в крупномасштабных сетях для поддержки таких приложений, как интеллектуальное освещение, промышленная автоматизация, сети датчиков, отслеживание активов и многие другие решения для Интернета вещей.

Сетчатый стек

На этом рисунке показан набор сеток Bluetooth над рекламным носителем.

  • Слой модели: этот слой определяет модели, сообщения и состояния, необходимые для создания пользовательских сценариев. Например, чтобы изменить состояние источника света на On или Off, используйте сообщение «Generic onOff set» из модели «Generic onOff».

  • Уровень базовой модели: этот уровень определяет модели, сообщения и состояния, необходимые для настройки ячеистой сети и управления ею. Этот уровень настраивает элемент, адрес публикации и адрес подписки узла.

  • Уровень доступа: этот уровень определяет интерфейс с верхним транспортным уровнем и формат данных приложения. Этот уровень также управляет шифрованием и расшифровкой данных приложения на верхнем транспортном уровне.

  • Верхний транспортный уровень: Функциональность верхнего транспортного уровня включает шифрование, дешифрование и аутентификацию данных приложения и обеспечивает конфиденциальность сообщений доступа. Этот уровень также генерирует управляющие сообщения транспорта (дружба и пульс) и передает их на одноранговый верхний транспортный уровень.

  • Нижний транспортный уровень: Функциональность нижнего транспортного уровня включает сегментацию и повторную сборку сообщений верхнего транспортного уровня во множество сообщений нижнего транспортного уровня. Этот уровень помогает доставлять большие сообщения верхнего транспортного уровня на другие узлы сети. Он также определяет очередь «Друг», используемую узлом «Друг» для хранения сообщений нижнего транспортного уровня для узла с низким энергопотреблением.

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

  • Bearer layer: Этот уровень представляет собой интерфейс между сетчатым стеком Bluetooth и базовым стеком BLE. Этот уровень также отвечает за создание ячеистой сети путем конфигурирования устройств. Здесь конфигурирование подразумевает аутентификацию и предоставление базовой информации устройству. Чтобы стать узлом, необходимо сконфигурировать устройство. В этом примере предполагается, что все узлы уже сконфигурированы в ячеистой сети. Два типа носителей, поддерживаемых сеткой Bluetooth, являются рекламными носителями и носителями GATT. В этом примере используется только носитель рекламы.

Основной стек BLE

В этом примере моделируются следующие уровни стека ядра BLE:

  • Общий профиль доступа: Этот профиль определяет типы рекламных данных (AD) для переноса ячеистых сообщений по рекламному носителю. В этом примере поддерживается тип AD «Mesh message», используемый для обмена сообщениями сетевого уровня между узлами ячеистой сети.

  • Канальный уровень: этот уровень определяет роли Broadcaster и Observer для обмена сообщениями между узлами в ячеистой сети Bluetooth. В роли вещателя узел всегда объявляет. В роли наблюдателя узел всегда выполняет сканирование рекламодателей. Каждый узел в ячеистой сети переключается между этими двумя ролями в качестве узла ячеистой сети Bluetooth.

  • Физический уровень: этот уровень передает и принимает сигналы для обмена сообщениями между узлами в ячеистой сети Bluetooth. На этом уровне моделируются такие нарушения канала, как потеря тракта свободного пространства, потеря распространения диапазона и помехи.

Моделирование дискретных событий

DES - тип моделирования, моделирующий функционирование системы как дискретную последовательность событий во временной области. Каждое событие происходит в определенную временную эпоху и впоследствии знаменует смену состояния в системе. В результате моделирование может непосредственно переходить от события к событию во временной области. Основными преимуществами использования DES в этом примере являются:

  • Его гибкость в обработке времени для подавления или расширения, позволяя моделированию ускорить или замедлить исследуемые явления. Это свойство DES используется для моделирования асинхронных передач в многоузловой сети Bluetooth, что приводит к точному моделированию столкновений.

  • DES повышает производительность моделирования и, таким образом, делает возможным поддержку крупномасштабного моделирования на уровне системы. Для точного моделирования в реализации MATLAB может потребоваться выполнение моделирования в микросекундные шаги. Это не только увеличит время моделирования, но и повлияет на масштабируемость сети. Увеличение времени шага может не позволить фиксировать или планировать события, происходящие в микросекундной детализации. DES позволяет решить эту проблему путем моделирования событий в дискретных точках времени.

Проверка установки пакета поддержки

% Check if the 'Communications Toolbox Library for the Bluetooth Protocol'
% support package is installed or not.
commSupportPackageCheck('BLUETOOTH');

Модель многоузловой ячеистой сети Bluetooth

В этом примере моделируется ячеистая сеть Bluetooth с 21 узлом. Модель выводит PDR сети вместе с различными статистическими данными, такими как количество переданных, принятых и отброшенных пакетов на физическом, канальном и сетевом уровнях, а также график, визуализирующий сетевой сценарий. Моделирование включает в себя:

  • Множество узлов, где каждый узел содержит генератор и приемник пакетов ячеистой сети Bluetooth (пакет ячеистой сети включает в себя кодирование и декодирование модели, доступа и транспортного уровня), сетевой уровень, канальный уровень и физический уровень

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

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

  • Устройство распределения местоположения узла (NPA), которое конфигурирует местоположение узлов в сети. NPA поддерживает линейные стратегии, стратегии распределения по сеткам и спискам

  • Визуализатор, визуализирующий сценарий ячеистой сети

Чтобы настроить конкретный сценарий, выполните одно из следующих действий:

  • Обновление параметров конфигурации по умолчанию для каждого узла в предыдущей модели

  • Укажите конфигурацию в качестве входных данных для helperBLEMeshCreateStartModel для создания модели ячеистой сети

Узел Bluetooth

Каждый узел моделируется как подсистема с сетевым стеком, который включает генератор и приемник пакетов ячеистой сети Bluetooth, сетевой уровень, LL и PHY.

  • Прикладной уровень генерирует пакеты с помощью блока Entity Generator (SimEvents)

  • Блок системы дискретных событий MATLAB (SimEvents) используется для моделирования сетевого уровня, LL и PHY.

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

Прикладной уровень

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

  • Генератор пакетов ячеистой сети Bluetooth Этот блок использует блок генератора объектов SimEvents для формирования нижнего блока данных протокола передачи данных (PDU). Созданный PDU содержит сообщение уровня модели типа «Generic onOff set unacknowledged», добавленное с заголовками более высокого уровня. Этот PDU передается на сетевой уровень. Можно настроить состояние приложения (On/Off), имя узла назначения, скорость источника (в пакетах/секунду) и максимальное количество пакетов, которые могут быть переданы от источника к адресату с помощью этого блока. Блок прекращает генерировать пакеты после того, как он сгенерировал максимальное количество настроенных пакетов.

  • Приемник пакетов ячеистой сети Bluetooth Этот блок использует блок терминатора сущности SimEvents для получения выходных данных от сетевого уровня

Сетевой уровень

Сетевой уровень моделируется как блок DES. Этот блок отвечает за передачу сообщений нижнего транспортного уровня по рекламному носителю и ретрансляцию сообщений ячеистой сети, когда функция «Ретрансляция» включена. Когда принимается сетевой PDU, этот блок декодирует принятый PDU. Если PDU успешно декодирован, то декодированная информация передается на нижний транспортный уровень.

С помощью параметров маски блока сетевого уровня можно сконфигурировать функцию ретрансляции, интервал передачи сети, счетчик передачи сети, интервал повторной передачи ретрансляции и счетчик повторной передачи ретрансляции.

Канальный уровень

Канальный уровень моделируется как блок DES. Этот блок поддерживает конечный автомат для ролей LL Broadcaster и Observer. Этот блок отвечает за передачу и прием ячеистых рекламных пакетов с помощью bleLLAdvertisingChannelPDU и bleLLAdvertisingChannelPDUDecode функции.

Интервалы сканирования и рекламы можно настроить с помощью параметров маски блока канального уровня.

Физический уровень

Функциональные возможности PHY включают в себя:

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

LL инициирует передачу пакета посредством посылки LL-пакета и индикации Tx в блок PHY Tx. Этот блок генерирует форму сигнала для принятого пакета LL с использованием bleWaveformGenerator функция. Он также масштабирует выборки формы сигнала BLE с помощью сконфигурированной мощности передачи (при условии, что коэффициент усиления передачи равен 0). Сгенерированный сигнал BLE передается по совместно используемому каналу. Общий канал моделируется с помощью многоадресной очереди SimEvents.

Мощность передачи (dBm) можно сконфигурировать с помощью параметров маски блока PHY Tx.

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

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

Можно настроить ухудшение канала с помощью параметров маски блока канала BLE.

  • Цепочка получения

Этот блок применяет тепловой шум и помехи к принятой форме сигнала BLE (предполагая, что коэффициент усиления Rx равен 0). Тепловой шум моделируется с помощью comm.ThermalNoise функция с сконфигурированным значением показателя шума. Помехи моделируются путем добавления IQ выборок как интерференционных, так и фактических сигналов. После применения теплового шума и помех блок PHY Rx декодирует результирующий сигнал. Если пакет LL успешно декодирован, то он передается в LL.

Можно сконфигурировать показатель шума (в дБ) с помощью параметров маски блока PHY Rx.

Node position allocator (NPA) Назначает местоположение узлов в ячеистой сети. Этот блок поддерживает линейные стратегии, стратегии распределения позиций по сеткам и спискам.

  • Размещение узлов равномерно по прямой на 2D сетке

  • Распределение позиций сетки Размещение узлов в формате сетки, определяемом свойствами сетки

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

Визуализатор Этот блок используется для визуализации сценария ячеистой сети в моделировании. Этот блок можно настроить для визуализации указанной конфигурации. Можно включить или отключить визуализацию с помощью параметров маски этого блока.

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

Результаты, полученные в этом моделировании:

  • Коэффициент доставки пакетов (PDR)

PDR представляет собой отношение количества принятых пакетов в пункте назначения к количеству пакетов, переданных источником, и задается следующим образом:

Эта модель выводит PDR для этой многоузловой ячеистой сети и сохраняется в базовой переменной рабочего пространства с именем PDR.

  • Статистика на каждом узле

Эта модель выводит статистику каждого узла в переменной рабочей области. statisticsAtEachNode. Статистика, собираемая на каждом узле:

  • Количество переданных и принятых сообщений в PHY

  • Количество переданных и принятых сообщений в LL

  • Количество сообщений, полученных с ошибками CRC

  • Количество переданных, принятых и отброшенных сообщений на сетевом уровне

  • Количество сообщений, переданных на сетевом уровне

  • Количество полученных сообщений приложения на сетевом уровне

  • Сетевая визуализация

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

В этом примере показано, как настроить и смоделировать многоузловую ячеистую сеть Bluetooth с помощью DES. Модель ячеистой сети в этом примере выводит PDR как переменную рабочего пространства с визуальным представлением ячеистой сети.

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

Для наблюдения за изменениями в сетевом PDR можно изменять параметры конфигурации генератора пакетов ячеистой сети, сетевого уровня, LL и PHY. В этих результатах моделирования можно увидеть влияние повторов сетевого уровня (NLR) на сетевой PDR.

NLR включает в себя повторы как сетевых сообщений, так и ретранслируемых сообщений. Принцип работы сетей, основанных на потоках, гарантирует, что сообщение достигнет узла назначения. Поэтому важно повторно передавать сеть и сообщения ретрансляции. Количество NLR зависит от конфигурации сети данной топологии сети. Увеличение числа NLR обеспечивает высокую вероятность того, что сообщения достигнут требуемого узла назначения. Однако определение высокого значения NLR может оказывать неблагоприятное влияние на рабочие параметры сети, такие как служебные данные, потребление энергии и рабочий цикл. В результате важно настроить значение NLR для данной топологии сети и достичь эффективного компромисса между PDR и производительностью сети.

На предыдущем рисунке показано, что PDR увеличивается с NLR и уменьшается с количеством исходных узлов в сети. Для конкретного значения NLR значение PDR достигает 1 и после этого стабилизируется. Это конкретное значение NLR может изменяться в зависимости от параметров конфигурации сети, таких как общее количество узлов, местоположение узлов, количество исходных узлов, количество ретрансляционных узлов и т.д. Можно запустить helperBLEMeshDESPDRCalculation, чтобы воспроизвести эти результаты с помощью трех исходных узлов. Для получения соответствующих результатов установите число исходных узлов равным двум и пяти. Можно выполнить моделирование для любого пользовательского сценария сетевого графика и получить оптимальное значение NLR.

Кроме NLR, PDR изменяется в отношении множества параметров конфигурации, указанных в helperBLEMeshDESPDRCalculation. Для дальнейшего изучения модели ячеистой сети можно изменить любой из этих параметров.

Приложение

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

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

Ссылки

  1. Группа специальных интересов Bluetooth (SIG). «Спецификация ядра Bluetooth». Версия 5.0. https://www.bluetooth.com/.

  2. Группа специальных интересов Bluetooth (SIG). «Профиль сетки Bluetooth». Версия 1.0. https://www.bluetooth.com/.

Связанные темы