exponenta event banner

bluetoothIdealReceiver

Идеальный приемник для сигнала Bluetooth BR/EDR PHY

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

Описание

пример

[bits,decodedInfo] = bluetoothIdealReceiver(waveform,rxConfig) демодулирует и декодирует синхронизированный сигнал Bluetooth во временной области, waveform, генерируемый bluetoothWaveformGenerator функция для данного объекта конфигурации системы, rxConfig. Функция возвращает декодированные биты полезной нагрузки, bitsи декодированную информацию, decodedInfo.

пример

[___,pktValidStatus,decodedCRC] = bluetoothIdealReceiver(___) возвращает флаг, pktValidStatus, чтобы указать действительность принятого пакета Bluetooth BR/EDR. Функция также возвращает декодированный циклический избыточный контроль (CRC), decodedCRC, принятого пакета Bluetooth.

Примеры

свернуть все

Демодуляция и декодирование сигнала Bluetooth BR/EDR во временной области с использованием двух различных способов получения информации физического уровня (PHY). bluetoothIdealReceiver функции использует bluetoothPhyConfig объект или bluetoothWaveformConfig объект для извлечения информации PHY и декодирования формы сигнала BR/EDR Bluetooth.

Используйте bluetoothPhyConfig объект для получения информации PHY

Создайте объект конфигурации формы сигнала Bluetooth BR/EDR с настройками по умолчанию.

txconfig = bluetoothWaveformConfig;

Создайте случайный входной битовый вектор для генерации полезной нагрузки. Создание сигнала Bluetooth BR/EDR во временной области с использованием полезной нагрузки.

dataBits = randi([0 1],getPayloadLength(txconfig)*8,1);
waveform = bluetoothWaveformGenerator(dataBits,txconfig);

Создайте объект конфигурации для Bluetooth BR/EDR PHY с настройками по умолчанию. Этот объект передает информацию PHY идеальному получателю.

rxConfig = bluetoothPhyConfig;

Демодуляция и декодирование сигнала Bluetooth BR/EDR. Сгенерированный выходной сигнал отображает декодированные биты и структуру, содержащую декодированную информацию.

[bits,decodedInfo] = bluetoothIdealReceiver(waveform,rxConfig)
bits = 144×1

     1
     1
     0
     1
     1
     0
     0
     1
     1
     1
      ⋮

decodedInfo = struct with fields:
                        LAP: [24x1 double]
                 PacketType: 'FHS'
    LogicalTransportAddress: [3x1 double]
          HeaderControlBits: [3x1 double]
              PayloadLength: 18
                       LLID: [2x1 double]
              FlowIndicator: 0

Используйте bluetoothWaveformConfig объект для получения информации PHY

Создайте объект конфигурации формы сигнала Bluetooth BR/EDR с настройками по умолчанию. Задайте тип пакета как 'DM1'и длину полезной нагрузки до 10.

cfg = bluetoothWaveformConfig;
cfg.PacketType = 'DM1';
cfg.PayloadLength = 10;

Создайте случайный входной битовый вектор для генерации полезной нагрузки.

numBits = getPayloadLength(cfg)*8;
dataBits = randi([0 1],numBits,1);

Создание сигнала Bluetooth BR/EDR во временной области с использованием полезной нагрузки.

waveform = bluetoothWaveformGenerator(dataBits,cfg);

Получение информации PHY из bluetoothWaveformConfig функция объекта, getPhyConfigProperties.

rxConfig = getPhyConfigProperties(cfg);

Демодуляция и декодирование сигнала Bluetooth BR/EDR. Сгенерированный выходной сигнал отображает декодированные биты, структуру, содержащую декодированную информацию, состояние пакета и декодированный ЦИК.

[bits,decodedInfo,pktStatus,crc] = bluetoothIdealReceiver(waveform,rxConfig)
bits = 80×1

     0
     0
     0
     0
     0
     0
     0
     0
     1
     1
      ⋮

decodedInfo = struct with fields:
                        LAP: [24x1 double]
                 PacketType: 'DM1'
    LogicalTransportAddress: [3x1 double]
          HeaderControlBits: [3x1 double]
              PayloadLength: 10
                       LLID: [2x1 double]
              FlowIndicator: 1

pktStatus = logical
   1

crc = 16×1

     1
     1
     1
     1
     1
     1
     0
     0
     0
     0
      ⋮

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

свернуть все

Синхронизированная форма сигнала Bluetooth во временной области, заданная как вектор столбца с комплексными значениями.

Типы данных: double
Поддержка комплексного номера: Да

Объект конфигурации системы, указанный как bluetoothPhyConfig объект. Функция использует это значение для установки параметров конфигурации.

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

свернуть все

Декодированные биты полезной нагрузки, возвращаемые как вектор столбца с двоичным значением.

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

Декодированная информация, возвращенная в виде структуры, содержащей следующие поля:

ОбластьСтоимостьОписание
PacketType'ID', 'NULL', 'POLL', 'FHS', 'HV1', 'HV2', 'HV3', 'DV', 'EV3', 'EV4', 'EV5', 'AUX1', 'DM3', 'DM1', 'DH1', 'DM5', 'DH3', 'DH5', '2-DH1', '2-DH3', '2-DH5', '2-DH1', '2-DH3', '2-DH5', '2-EV3', '2-EV5', '3-EV3', или '3-EV5'

Тип принятого пакета Bluetooth BR/EDR

LAP

24-битный вектор столбца типа double.

Декодированная нижняя адресная часть (LAP) адреса устройства Bluetooth

PayloadLength

Скаляр типа double

Количество байтов полезной нагрузки в полученном пакете Bluetooth BR/EDR

LogicalTransportAddress

3-битный вектор типа double

Активный подчиненный узел назначения для пакета Bluetooth BR/EDR в слоте передачи ведущий-ведомый

HeaderControlBits

3-битный вектор типа double

Информация управления каналом связи, содержащая информацию управления потоком (FLOW), подтверждение успешного приема полезной нагрузки пакета Bluetooth BR/EDR (ARQN) и схему последовательности для принятых пакетов (SEQN)

LLID

2-разрядный двоичный вектор типа double

Идентификатор логического канала. Это поле применимо, только если значение PacketType поле является одним из следующих: 'DM1', 'DH1', 'DM3', 'DH3', 'DM5', 'DH5', 'AUX1', 'DV', '2-DH1', '2-DH3', '2-DH5', '3-DH1', '3-DH3', или '3-DH5'.

FlowIndicator

Скаляр типа double

Индикатор потока управляющих данных по логическим каналам. Это поле применимо, только если значение PacketType поле является одним из следующих: 'DM1', 'DH1', 'DM3', 'DH3', 'DM5', 'DH5', 'AUX1', 'DV', '2-DH1', '2-DH3', '2-DH5', '3-DH1', '3-DH3', или '3-DH5'

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

Флаг, указывающий на действительность принятого пакета Bluetooth BR/EDR, возвращенного как 1 или 0 типа данных logical. Достоверность основана на проверке ошибок заголовка пакета Bluetooth BR/EDR (HEC) и проверке циклическим избыточным кодом (CRC). Значение этого аргумента имеет значение true, только если оба параметра, HEC и CRC имеют значение true.

Зависимости

Чтобы включить этот выходной аргумент, установите PacketType значение поля выходного аргумента decodedInfo для любого из следующих параметров: 'NULL', 'POLL', 'FHS', 'HV1', 'HV2', 'HV3', 'DV', 'EV3', 'EV4', 'EV5', 'AUX1', 'DM3', 'DM1', 'DH1', 'DM5', 'DH3', 'DH5', '2-DH1', '2-DH3', '2-DH5', '2-DH1', '2-DH3', '2-DH5', '2-EV3', '2-EV5', '3-EV3', или '3-EV5'.

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

Декодированный CRC, заданный как CRC принятого пакета Bluetooth BR/EDR.

Зависимости

Чтобы включить этот выходной аргумент, установите значение поля типа пакета для выходного аргумента декодированной информации в любое из следующих значений: 'FHS', 'DV', 'EV3', 'EV4', 'EV5', 'DM3', 'DM1', 'DH1', 'DM5', 'DH3', 'DH5', '2-DH1', '2-DH3', '2-DH5', '2-DH1', '2-DH3', '2-DH5', '2-EV3', '2-EV5', '3-EV3', или '3-EV5'.

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

Ссылки

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

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

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

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