exponenta event banner

bleWaveformGenerator

Генератор сигналов для BLE PHY

Для использования bleWaveformGenerator сначала загрузите библиотеку Communications Toolbox™ Library для протокола Bluetooth ®. Дополнительные сведения см. в разделе Получение надстроек и управление ими. Кроме того, см. библиотеку Communications Toolbox Library для обмена файлами по протоколу Bluetooth.

Описание

пример

waveform = bleWaveformGenerator(message) производит waveform, форма сигнала физического уровня (PHY) Bluetooth с низкой энергией (BLE) во временной области с использованием входных информационных битов 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 представляет количество выборок временной области. waveform формируют в виде комплексных синфазных квадратурных (IQ) выборок.

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

Ссылки

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

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b