exponenta event banner

Распаковка битов

Деконструкция кадров данных

  • Библиотека:
  • Симулинк в реальном времени/Утилиты

  • Bit Unpacking block

Описание

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

Блок имеет один входной порт, который представляет объект кадра данных, из которого извлекаются сигналы и который оставляет блок на своих выходных портах. Количество выходных портов и тип данных каждого выходного порта зависят от настроек в диалоговом окне блока.

Бит распаковки четыре байта

В этом примере показано, как настроить блок наращивания битов следующим образом:

  • Получение 32-разрядного слова в качестве входных данных с использованием типа данных порта ввода uint32.

  • Распакуйте четыре 8-битных слова (байты) из входных данных с помощью битового шаблона.

  • Отправка четырех 8-разрядных слов в качестве выходных данных с использованием типа выходных данных uint8.

Image of Bit Unpacking block parameters dialog box

После конфигурирования параметров блока появляется блок Bit Upacking, как показано на рисунке.

Параметры

развернуть все

Укажите битовые шаблоны. Тип данных должен быть вектором массива ячеек MATLAB ®. Количество элементов в массиве ячеек определяет количество входных портов, отображаемых этим экземпляром блока. Элементы массива ячеек должны быть типа double array и определять положение каждого бита входящего значения (входной порт с типом данных) в исходящем двойном значении (кадр данных). С точки зрения типа данных блок ведет себя как блок приемника. Типы данных входного порта (упакованный) определяют тип данных входного порта.

Программное использование

Параметр блока: BitPatterns

В списке выберите тип данных входного порта (упакованный).

Программное использование

Параметр блока: PackDataType

Укажите размеры входного порта (упакованный). Введите это значение как вектор. Укажите размер порта с помощью формата, совместимого с MATLAB size команда.

Программное использование

Параметр блока: PackDataSize

Выходные порты (упакованные) могут быть произвольного типа данных. Количество элементов в массиве ячеек определяет количество выходных портов, отображаемых этим экземпляром блока. Типы данных:

  • double

  • single

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • boolean

Программное использование

Параметр блока: UnpackDataTypes

Укажите размеры каждого выходного порта (распакованный). Введите это значение в виде массива ячеек векторных размеров.

Программное использование

Параметр блока: UnpackDataSizes

Установите этот флажок, чтобы включить расширение подписи. Если установить этот флажок и распаковать кадр данных в подписанный тип (int8, int16, или int32), блок выполняет расширение знака. Например, если битовый шаблон [0:4], и тип данных: int8вы извлекаете 5 бит в 8-разрядный тип со знаком. В этом случае биты 5, 6 и 7 являются такими же, как биты 4, что приводит к расширению знака. Эта функция позволяет упаковывать и распаковывать отрицательные числа без потери точности.

Программное использование

Параметр блока: SignExtend

Примеры модели

Представлен в R2006a