bleWaveformGenerator

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

Загрузите Необходимый: Чтобы использовать bleWaveformGenerator, сначала загрузите Библиотеку Communications Toolbox™ для Bluetooth® Протокол. Для получения дополнительной информации смотрите, Получают и Управляют Дополнениями. В качестве альтернативы смотрите Библиотеку Communications Toolbox для Обмена файлами Протокола Bluetooth.

Описание

пример

waveform = bleWaveformGenerator(message) генерирует waveform, физический уровень Bluetooth низкой энергии (BLE) временного интервала (PHY) форма волны при помощи битов информации о входе 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 object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object 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 object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object 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
      ⋮

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

свернуть все

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

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

Аргументы name-value

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

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

Примечание

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

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

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

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

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

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

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

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

Типы данных: логический | single | double

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

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

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

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

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

свернуть все

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

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

Ссылки

[1] Технологический Веб-сайт Bluetooth. “Технологический Веб-сайт Bluetooth | официальный сайт Технологии Bluetooth”. Полученный доступ 22 ноября 2019. https://www.bluetooth.com/.

[2] Специальная группа (SIG) Bluetooth. "Спецификация Ядра Bluetooth". Версия 5.1. https://www.bluetooth.com/.

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

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

Введенный в R2019b