Документация Engee

Extract Bits

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

Тип: Extract Bits

Путь в библиотеке:

/Basic/Logic and Bit Operations/Extract Bits

Описание

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

Значения для выбора в параметре Bits to extract:

  • Upper half — вывод половины входных битов, содержащих старший бит.

  • Lower half — вывод половины входных битов, содержащих наименьший значащий бит.

  • 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 для наименее значимого бита.

Порты

Вход

# IN_1 — входной сигнал
скаляр | вектор | матрица | N-мерный массив

Details

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

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

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Выход

# OUT_1 — извлеченные биты
скаляр | вектор | матрица | N-мерный массив

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Параметры

Основные

# Bits to extract — метод извлечения битов
Upper half | Lower half | Range starting with most significant bit | Range ending with least significant bit | Range of bits

Details

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

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

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

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

  • Если выбрано значение Range starting with most significant bit — вывод определенного количества старших битов входного сигнала, а количество битов в параметре Number of bits задано 3, то на выходе будет 110 в двоичном виде.

  • Если выбрано значение Range ending with least significant bit — вывод определенного количества младших значащих битов входного сигнала, а количество битов в параметре Number of bits задано 8, то на выходе будет 10111001 в двоичном виде.

  • Если выбрано значение Range of bits и указан ряд [4, 7] смежных битов входного сигнала для вывода в параметре Bit indices, то на выходе получится 1011 в двоичном виде.

Значения

Upper half | Lower half | Range starting with most significant bit | Range ending with least significant bit | Range of bits

Значение по умолчанию

Upper half

Имя для программного использования

bitsToExtract

Настраиваемый

Нет

Вычисляемый

Нет

# Number of bits — количество битов для вывода
Int64 integer

Details

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

Зависимости

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

Значение по умолчанию

8

Имя для программного использования

numBits

Настраиваемый

Нет

Вычисляемый

Да

# Bit indices — диапазон последовательных битов для вывода

Details

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

Зависимости

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

Значение по умолчанию

[0, 7]

Имя для программного использования

bitIdxRange

Настраиваемый

Нет

Вычисляемый

Да

# Output scaling mode — режим масштабирования выходных данных
Preserve fixed-point scaling | Treat bit field as an integer

Details

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

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

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

Значения

Preserve fixed-point scaling | Treat bit field as an integer

Значение по умолчанию

Preserve fixed-point scaling

Имя для программного использования

outScalingMode

Настраиваемый

Нет

Вычисляемый

Нет