Извлеките биты

Выведите выбор непрерывных битов от входного сигнала

  • Библиотека:
  • Simulink / Логика и Битовые операции

    HDL Coder / Логика и Битовые операции

Описание

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

  • Выберите 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 | uint8 | uint16 | uint32 | Boolean | fixed point

Вывод

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | 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 to extract на Range starting with most significant bit или Range ending with least significant bit.

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

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

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

Зависимости

Чтобы включить этот параметр, установите Bits to extract на 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

Прямое сквозное соединение

no

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

no

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

no

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

no

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

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

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

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