bleIdealReceiver

Идеальный получатель для формы волны BLE PHY

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

Описание

пример

[bits,accessAddr] = bleIdealReceiver(waveform) декодирует Bluetooth низкую энергию (BLE) waveform, сгенерированный bleWaveformGenerator , и возвращает полученные биты, bits, и информация об указателе, accesAddr.

пример

[bits,accessAddr] = bleIdealReceiver(waveform,Name,Value) также задает опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'Mode','LE2M' задает физический режим передачи слоя (PHY) желаемой формы волны BLE.

Примеры

свернуть все

Создайте вектор-столбец входного сигнала длины 1000 содержащий случайные двоичные значения. Сгенерируйте форму волны передачи BLE от битов передачи при помощи bleWaveformGenerator функция.

txBits = randi([0 1],1000,1);
txWaveform = bleWaveformGenerator(txBits);

Передайте форму волны передачи через шумный канал и получите полученную форму волны.

snr = 30; % specified in dB
rxWaveform = awgn(txWaveform,snr);

Восстановите биты данных с полученной формы волны BLE с помощью bleIdealReceiver. Проверяйте на количество битовых ошибок в восстановленных битах. Возвращенное значение указывает, что форма волны BLE успешно декодировалась.

[rxBits,accessAddr] = bleIdealReceiver(rxWaveform);
numErr = biterr(txBits,rxBits)
numErr = 0

Задайте значения PHY генерация режима, индекса канала и выборок на символ (SPS).

phyMode = 'LE125K';
chanIndex = 2;
sps = 4;

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

txBits = randi([0 1],100,1);
txWaveform = bleWaveformGenerator(txBits,'Mode',phyMode,...
    'SamplesPerSymbol',sps,'ChannelIndex',chanIndex);

Восстановите биты данных, и затем сравните их с битами передачи. Результат показывает, что биты передачи совпадают с восстановленными битами данных, означая, что форма волны BLE успешно декодировалась.

rxBits = bleIdealReceiver(txWaveform,'Mode',phyMode,...
    'SamplesPerSymbol',sps,'ChannelIndex',chanIndex);
isequal(txBits,rxBits)
ans = logical
   1

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

свернуть все

Полученный сигнал временной области, заданный как сигнал с комплексным знаком с размером N s-1, где N s представляет количество полученных выборок. Значения N s зависят от 'Mode' и 'SamplesPerSymbol' (сверхзвуковые) пары "имя-значение", согласно ограничениям заданы в этой таблице. Например, если значение 'Mode' 'LE1M' и значение 'SamplesPerSymbol' 4 затем, значение N s должно быть больше или быть равно 160 и кратное 'SamplesPerSymbol'.

Значение 'Mode' Значение N sКратное
'LE1M'

≥40×sps

sps
'LE2M'

≥48×sps

sps
'LE500K'

≥376×sps

2×sps
'LE125K'

≥376×sps

8×sps

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

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

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

Пример: bleIdealReceiver(waveform,'Mode','LE2M','ChannelIndex',36)

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

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

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

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

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

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

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

свернуть все

Биты полезной нагрузки, возвращенные как вектор-столбец максимальной длины 260 байтов. Этот выход представляет восстановленные информационные биты.

Информация об указателе, возвращенная как 32-битный вектор-столбец. Этот выход используется более высокими слоями в проверке пакета.

Ссылки

[1] Bluetooth Hompage. https://www.bluetooth.com/.

[2] Специальная группа (SIG) Bluetooth. "Спецификация ядра Bluetooth". Версия 5.0.

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

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

Смотрите также

Функции

Введенный в R2019b