exponenta event banner

Извлечь биты

Выходной выбор смежных битов из входного сигнала

  • Библиотека:
  • Операции Simulink/Logic и Bit

    Кодер HDL/логические и битовые операции

  • Extract Bits block

Описание

Блок Extract Bits позволяет выводить непрерывный выбор битов из сохраненного целого значения входного сигнала. Используйте параметр Bits для извлечения, чтобы определить метод выбора выходных битов.

  • Выбрать Upper half для вывода половины входных битов, содержащих старший бит. Если во входном сигнале имеется нечетное количество битов, то число выходных битов задается уравнением

    number of output bits = ceil(number of input bits/2)
  • Выбрать Lower half для вывода половины входных битов, которые содержат младший бит. Если во входном сигнале имеется нечетное количество битов, то число выходных битов задается уравнением

    number of output bits = ceil(number of input bits/2)
  • Выбрать Range starting with most significant bit для вывода некоторого числа старших битов входного сигнала. Укажите количество старших битов для вывода в параметре Number of bits.

  • Выбрать Range ending with least significant bit для вывода некоторого числа младших разрядов входного сигнала. Укажите количество младших значащих битов для вывода в параметре Number of bits.

  • Выбрать Range of bits для указания последовательности смежных битов входного сигнала для вывода в параметре Bit indices. Вы указываете диапазон в [start end] формат, и индексы входных битов маркируются непрерывно, начиная с 0 для младшего бита.

Этот блок не сообщает об предупреждениях о переполнении во время моделирования. Чтобы сообщить об этих предупреждениях, см. Simulink.restoreDiagnostic справочная страница. Блок сообщает об ошибках из-за переполнения.

Порты

Вход

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

Входной сигнал, заданный как скаляр, вектор, матрица или N-D массив. Входы с плавающей запятой проходят через блок без изменений. boolean входные данные рассматриваются как uint8 сигналы.

Примечание

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Продукция

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

Непрерывный выбор выделенных битов, заданных как скаляр, вектор, матрица или массив N-D. Входы с плавающей запятой проходят через блок без изменений.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Параметры

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

Выберите метод извлечения битов из входного сигнала.

Рассмотрим входной сигнал, который представлен в двоичном виде 110111001:

  • При выборе Upper half для параметра Bits to extract вывод: 11011 в двоичном формате.

  • При выборе Lower half для параметра Bits to extract вывод: 11001 в двоичном формате.

  • При выборе Range starting with most significant bit для параметра Bits to extract и укажите 3 для параметра Number of bits выход: 110 в двоичном формате.

  • При выборе Range ending with least significant bit для параметра Bits to extract и укажите 8 для параметра Number of bits выход: 10111001 в двоичном формате.

  • При выборе Range of bits для параметра Bits to extract и укажите [4 7] для параметра Bit indices выходной сигнал: 1011 в двоичном формате.

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

Параметр блока: bitsToExtract
Текст: символьный вектор
Значения: 'Upper half' | 'Lower half' | 'Range starting with most significant bit' | 'Range ending with least significant bit' | 'Range of bits'
По умолчанию: 'Upper half'

Выберите количество битов для вывода из входного сигнала. Подписанные целочисленные типы данных должны иметь не менее двух битов. Целочисленные типы данных без знака могут быть короче одного бита.

Зависимости

Чтобы включить этот параметр, установите Bits для извлечения в Range starting with most significant bit или Range ending with least significant bit.

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

Параметр блока: numBits
Текст: символьный вектор
Значения: положительное целое число
По умолчанию: '8'

Укажите непрерывный диапазон битов входного сигнала для вывода. Укажите диапазон в [start end] формат. Индексы присваиваются входным битам, начиная с 0 в младшем значащем бите.

Зависимости

Чтобы включить этот параметр, установите Bits для извлечения в Range of bits.

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

Параметр блока: bitIdxRange
Текст: символьный вектор
Значения: смежный диапазон
По умолчанию: '[0 7]'

Выберите режим масштабирования для использования при выборе выходного бита:

  • При выборе Preserve fixed-point scaling, масштабирование ввода с фиксированной точкой используется для определения масштабирования вывода во время преобразования типа данных.

  • При выборе Treat bit field as an integer, масштабирование ввода с фиксированной точкой игнорируется, и для вычисления типа выходных данных используется только сохраненное целое число.

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

Параметр блока: outScalingMode
Текст: символьный вектор
Значения: 'Preserve fixed-point scaling' | 'Treat bit field as an integer'
По умолчанию: 'Preserve fixed-point scaling'

Характеристики блока

Типы данных

Boolean | double | fixed point | integer | single

Прямой проход

yes

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

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

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

.

Создание кода ПЛК
Создание структурированного текстового кода с помощью Coder™ Simulink ® PLC

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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