bleWaveformGenerator

Генератор формы волны для BLE PHY

Требуется загрузка: Чтобы использовать bleWaveformGenerator, сначала загрузите библиотеку Communications Toolbox™ для Bluetooth® Протокол. Для получения дополнительной информации см. раздел «Получение и управление дополнениями». Другой способ см. в разделе Библиотека Communications Toolbox для обмена файлами протокола Bluetooth.

Описание

пример

waveform = bleWaveformGenerator(message) генерирует waveformсигнал физического слоя (PHY) Bluetooth с временной областью при помощи входных информационных бит message.

пример

waveform = bleWaveformGenerator(message,Name,Value) также задает опции, использующие один или несколько аргументы пары "имя-значение". Для примера, 'Mode','LE2M' задает значение режима генерации требуемой формы волны BLE.

Примеры

свернуть все

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

message = randi([0 1],2056,1);
symbolRate = 1e6;

Сгенерируйте сигнал BLE.

waveform = bleWaveformGenerator(message);

Создайте dsp.SpectrumAnalyzer Системный объект для отображения частотного спектра сгенерированной формы волны BLE. Установите скорость дискретизации частотного спектра.

scope = dsp.SpectrumAnalyzer;
scope.SampleRate = 8*symbolRate;

Постройте график формы волны BLE.

scope(waveform);

Figure Spectrum Analyzer contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains an object of type line. This object represents Channel 1.

Создайте вход сообщения вектора-столбца длины 640, содержащее случайные двоичные значения.

message = randi([0 1],640,1);

Задайте значения режима генерации, индекса канала, выборок на символ и адреса доступа. Установите скорость символа равного значения по умолчанию.

phyMode = 'LE125K';
chanIdx = 2;
sps = 4;
accAdd = [1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 1 ...
    0 1 0 1 1 0 0].';
symbolRate = 1e6;

Создайте dsp.SpectrumAnalyzer Системный объект для отображения частотного спектра сгенерированной формы волны BLE. Установите скорость дискретизации частотного спектра.

scope = dsp.SpectrumAnalyzer;
scope.SampleRate = sps*symbolRate;

Сгенерируйте сигнал BLE с помощью заданных аргументов пары "имя-значение". Постройте график формы волны BLE.

waveform = bleWaveformGenerator(message,'Mode',phyMode, ...
    'SamplesPerSymbol',sps,'ChannelIndex',chanIdx,'AccessAddress',accAdd);
scope(waveform);

Figure Spectrum Analyzer contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains an object of type line. This object represents Channel 1.

Задайте модуль данных протокола канала данных соединения (PDU) для постоянного тонального расширения (CTE) угла отправки (AoD).

pduHex = '1B820127'; % Valid PDU in hexadecimal
pdu = de2bi(hex2dec(pduHex), 32)';

Сгенерируйте и добавьте циклическую проверку избыточности (CRC) к PDU.

crcGen = comm.CRCGenerator('z^24+z^10+z^9+z^6+z^4+z^3+z+1',...
    'InitialConditions',de2bi(hex2dec('555551'),'left-msb',24),...
    'DirectMethod',true);
pduCRC = crcGen(pdu);

Сгенерируйте сигнал BLE с помощью заданных аргументов пары "имя-значение".

waveform = bleWaveformGenerator(pduCRC,'ChannelIndex',36,...
    'DFPacketType','ConnectionCTE')
waveform = 896×1 complex

   1.0000 + 0.0000i
   0.9892 + 0.1469i
   0.9441 + 0.3297i
   0.8507 + 0.5257i
   0.7071 + 0.7071i
   0.5257 + 0.8507i
   0.3297 + 0.9441i
   0.1469 + 0.9892i
   0.0000 + 1.0000i
   0.1469 + 0.9892i
      ⋮

Входные параметры

свернуть все

Входные биты сообщения, заданные как двоичный вектор-столбец с числовыми или логическими значениями. Это сообщение содержит модули блока протокольных данных (PDU) и циклического контроля избыточности (CRC). Максимальная длина этого значения составляет 2080 бит.

Типы данных: double | logical

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: bleWaveformGenerator(message,'Mode','LE2M','ChannelIndex',36)

Примечание

Для получения информации о соединении CTE и генерации пакетов без установления соединения CTE, смотрите Bluetooth Packet Structure.

Режим генерации, заданный как разделенная разделенными запятой парами, состоящая из 'Mode' и 'LE1M', 'LE2M', 'LE500K', или 'LE125K'. Это значение указывает тип формы волны BLE.

Типы данных: string | char

Индекс канала, заданный как разделенная разделенными запятой парами, состоящая из 'ChannelIndex'и целое число в области значений [0, 39]. Для каналов данных это значение должно быть в области значений [0, 36]. Это значение используется блоком отбеливания данных для рандомизации бит.

Типы данных: single | double

Выборки на символ, заданные как разделенная разделенными запятой парами, состоящая из 'SamplesPerSymbol' и положительное целое число. Это значение используется для Гауссовой модуляции переключения частот (GFSK).

Типы данных: single | double

Адрес доступа, заданный как разделенная разделенными запятой парами, состоящая из 'AccessAddress' и 32-битный вектор-столбец с числовыми или логическими значениями.

Типы данных: logical | single | double

Тип пакета определения направления, заданный как разделенная разделенными запятой парами, состоящая из 'DFPacketType' и 'ConnectionlessCTE', 'ConnectionCTE', или 'Disabled'.

Типы данных: string | char

Состояние отбеливания данных, заданное как 'On' или 'Off'. Установите это значение равным 'On' для функции, чтобы выполнить отбеливание сообщения.

Типы данных: char | string

Выходные аргументы

свернуть все

Выводит сигнал временной области, возвращаемый как комплексный вектор-столбец размера Ns -by-1, где Ns представляет количество выборок временной области. The waveform формируется в виде комплексных синфазных квадратурных (IQ) выборок.

Типы данных: double

Ссылки

[1] Веб-сайт Bluetooth Technology. Bluetooth Technology Website | Официальный сайт Bluetooth Technology. Доступ к 22 ноября 2019 года. https://www.bluetooth.com/.

[2] Группа специальных интересов Bluetooth (SIG). Bluetooth Core Спецификации. Версия 5.1. https://www.bluetooth.com/.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2019b