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

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

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

Описание

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

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

    количество  выходных битов = перекрывает (количество  входных битов/2)

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

    количество  выходных битов = перекрывает (количество  входных битов/2)

  • Выберите Range starting with most significant bit, чтобы вывести определенное число старших значащих битов входного сигнала. Задайте количество старших значащих битов, чтобы вывести в Количестве параметра битов.

  • Выберите Range ending with least significant bit, чтобы вывести определенное число младших значащих битов входного сигнала. Задайте количество младших значащих битов, чтобы вывести в Количестве параметра битов.

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

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

Порты

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

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

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

Примечание

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

Вывод

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Параметры

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

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

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

  • Если вы выбираете Upper half для Битов, чтобы извлечь параметр, выводом является 11011 в двоичном файле.

  • Если вы выбираете Lower half для Битов, чтобы извлечь параметр, выводом является 11001 в двоичном файле.

  • Если вы выбираете Range starting with most significant bit для Битов, чтобы извлечь параметр и задать 3 для Количества параметра битов, выводом является 110 в двоичном файле.

  • Если вы выбираете Range ending with least significant bit для Битов, чтобы извлечь параметр и задать 8 для Количества параметра битов, выводом является 10111001 в двоичном файле.

  • Если вы выбираете Range of bits для Битов, чтобы извлечь параметр и задать  [4 7] для Битного индексного параметра, выводом является 1011 в двоичном файле.

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

Блочный параметр: bitsToExtract
Ввод: символьный вектор
Значения: 'Верхняя половина' | 'Более низкая половина' | 'Область значений начиная со старшего значащего бита' | 'Область значений, заканчивающаяся младшим значащим битом' | 'Область значений битов'
Значение по умолчанию: 'Upper half'

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

Зависимости

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

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

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

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

Зависимости

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

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

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

Выберите масштабирующийся режим, чтобы использовать на выходном выборе бита:

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

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

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

Блочный параметр: outScalingMode
Ввод: символьный вектор
Значения: 'Сохраните масштабирование фиксированной точки' | 'Битовое поле обработки как целое число'
Значение по умолчанию: 'Preserve fixed-point scaling'

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point

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

No

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

No

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

No

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

No

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

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

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

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

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

Была ли эта тема полезной?